Skip to content

[ENG-3857] Refactor: Providerinfo subscribe support config#352

Merged
jlimatampersand merged 3 commits intomainfrom
refactor/providerinfo-subscribe-config
Apr 24, 2026
Merged

[ENG-3857] Refactor: Providerinfo subscribe support config#352
jlimatampersand merged 3 commits intomainfrom
refactor/providerinfo-subscribe-config

Conversation

@jlimatampersand
Copy link
Copy Markdown
Contributor

These registration, maintenance, postprocess configs were in server repo, but we should move to provider info.

@linear
Copy link
Copy Markdown

linear Bot commented Apr 21, 2026

@jlimatampersand jlimatampersand changed the base branch from main to refactor/remove-subscribe-opts April 21, 2026 01:12
Base automatically changed from refactor/remove-subscribe-opts to main April 21, 2026 04:30
@jlimatampersand jlimatampersand force-pushed the refactor/providerinfo-subscribe-config branch from 4f03b42 to b03e301 Compare April 23, 2026 22:57
Copy link
Copy Markdown
Collaborator

@laurenzlong laurenzlong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SubscribeSupportConfig is not the best name because both support and config are confusing - support is used to track which features we support, config is about information provided by consumers, this is neither.

Comment thread catalog/catalog.yaml Outdated
Comment thread catalog/catalog.yaml
@jlimatampersand jlimatampersand enabled auto-merge (squash) April 24, 2026 00:05
Comment thread catalog/catalog.yaml
Comment on lines +647 to +668
SubscribeRequirements:
title: Subscribe Action Requirements
type: object
description: Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
properties:
registration:
type: boolean
description: >-
Whether the provider requires a one-time registration step that is shared across all subscribed objects.
The subscribe method is object-scoped, so if a separate API call is needed beyond per-object configuration
(e.g., registering a single webhook/endpoint that all object subscriptions hang off of), registration is required.
maintenance:
type: boolean
description: >-
Whether the subscription requires periodic maintenance. Some providers expire subscriptions/watches after
a fixed TTL, so the subscription must be renewed on a schedule to remain active.
postProcess:
type: boolean
description: >-
Whether subscribing requires a third-party setup step that the connector instance itself cannot perform.
Examples: Salesforce requires AWS EventBridge configuration; Gmail requires a Google Pub/Sub topic to be
configured. Any configuration that must happen outside the connector falls into post-process.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Schema name mismatch: The schema is defined as SubscribeRequirements but line 586 references SubscribeSupportConfig. This will cause schema resolution to fail.

# Change from:
SubscribeRequirements:
  title: Subscribe Action Requirements
  
# To:
SubscribeSupportConfig:
  title: Subscribe Support Config

The schema name must match the $ref target at line 586, or the reference must be updated to point to SubscribeRequirements. Based on the generated JSON files using SubscribeSupportConfig, the schema should be renamed to SubscribeSupportConfig.

Suggested change
SubscribeRequirements:
title: Subscribe Action Requirements
type: object
description: Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
properties:
registration:
type: boolean
description: >-
Whether the provider requires a one-time registration step that is shared across all subscribed objects.
The subscribe method is object-scoped, so if a separate API call is needed beyond per-object configuration
(e.g., registering a single webhook/endpoint that all object subscriptions hang off of), registration is required.
maintenance:
type: boolean
description: >-
Whether the subscription requires periodic maintenance. Some providers expire subscriptions/watches after
a fixed TTL, so the subscription must be renewed on a schedule to remain active.
postProcess:
type: boolean
description: >-
Whether subscribing requires a third-party setup step that the connector instance itself cannot perform.
Examples: Salesforce requires AWS EventBridge configuration; Gmail requires a Google Pub/Sub topic to be
configured. Any configuration that must happen outside the connector falls into post-process.
SubscribeSupportConfig:
title: Subscribe Support Config
type: object
description: Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
properties:
registration:
type: boolean
description: >-
Whether the provider requires a one-time registration step that is shared across all subscribed objects.
The subscribe method is object-scoped, so if a separate API call is needed beyond per-object configuration
(e.g., registering a single webhook/endpoint that all object subscriptions hang off of), registration is required.
maintenance:
type: boolean
description: >-
Whether the subscription requires periodic maintenance. Some providers expire subscriptions/watches after
a fixed TTL, so the subscription must be renewed on a schedule to remain active.
postProcess:
type: boolean
description: >-
Whether subscribing requires a third-party setup step that the connector instance itself cannot perform.
Examples: Salesforce requires AWS EventBridge configuration; Gmail requires a Google Pub/Sub topic to be
configured. Any configuration that must happen outside the connector falls into post-process.

Spotted by Graphite

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@jlimatampersand jlimatampersand force-pushed the refactor/providerinfo-subscribe-config branch from 7ef91a8 to 664a48e Compare April 24, 2026 00:09
@jlimatampersand jlimatampersand merged commit 61a1383 into main Apr 24, 2026
1 check passed
@jlimatampersand jlimatampersand deleted the refactor/providerinfo-subscribe-config branch April 24, 2026 00:09
dionlow pushed a commit to amp-labs/react that referenced this pull request Apr 30, 2026
Backend (amp-labs/server#3839) and OpenAPI spec
(amp-labs/openapi#354) now accept project name in addition to UUID
on /oauth-connect. Regenerate the SDK and pass projectIdOrName
straight from AmpersandProvider context, removing the unnecessary
useProjectQuery() round-trip in the OAuth flow.

The regenerated SDK also picks up unrelated providerInfo subscribe
changes from amp-labs/openapi#352.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dionlow added a commit to amp-labs/react that referenced this pull request Apr 30, 2026
Backend (amp-labs/server#3839) and OpenAPI spec
(amp-labs/openapi#354) now accept project name in addition to UUID
on /oauth-connect. Regenerate the SDK and pass projectIdOrName
straight from AmpersandProvider context, removing the unnecessary
useProjectQuery() round-trip in the OAuth flow.

The regenerated SDK also picks up unrelated providerInfo subscribe
changes from amp-labs/openapi#352.

Co-authored-by: Dion Low <dion@withampersand.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants