@tangle-network/agent-integrations 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/specs.d.ts CHANGED
@@ -46,6 +46,8 @@ interface ComposeIntegrationRegistryOptions {
46
46
  }
47
47
  declare function buildDefaultIntegrationRegistry(options?: {
48
48
  includeSpecs?: boolean;
49
+ includeTangleCatalog?: boolean;
50
+ /** @deprecated Use includeTangleCatalog. */
49
51
  includeActivepieces?: boolean;
50
52
  }): IntegrationRegistry;
51
53
  declare function composeIntegrationRegistry(sources: IntegrationCatalogSource[], options?: ComposeIntegrationRegistryOptions): IntegrationRegistry;
@@ -452,7 +454,7 @@ declare function renderApprovalCopy(input: {
452
454
  *
453
455
  * IntegrationHub — vendor-neutral facade (../index.ts)
454
456
  * ↓
455
- * IntegrationProvider — one per vendor (Nango/Composio/first-party)
457
+ * IntegrationProvider — one per gateway or first-party provider
456
458
  * ↓
457
459
  * ConnectorAdapter (this file) — one per integration (Google Calendar, ...)
458
460
  * ↓
@@ -1282,6 +1284,8 @@ interface ExchangeCodeInput {
1282
1284
  code: string;
1283
1285
  codeVerifier: string;
1284
1286
  redirectUri: string;
1287
+ fetchImpl?: typeof fetch;
1288
+ signal?: AbortSignal;
1285
1289
  }
1286
1290
  interface OAuthTokens {
1287
1291
  accessToken: string;
@@ -1299,6 +1303,8 @@ interface RefreshInput {
1299
1303
  clientId: string;
1300
1304
  clientSecret: string;
1301
1305
  refreshToken: string;
1306
+ fetchImpl?: typeof fetch;
1307
+ signal?: AbortSignal;
1302
1308
  }
1303
1309
  /** Refresh an access token. Returns the new tokens — the connector layer
1304
1310
  * is responsible for re-encrypting + persisting the envelope. */
@@ -1927,7 +1933,7 @@ declare function importMcpConnector(catalog: McpCatalog, options: ImportCatalogO
1927
1933
 
1928
1934
  interface GatewayCatalogProviderOptions {
1929
1935
  id: string;
1930
- kind: Extract<IntegrationProviderKind, 'nango' | 'pipedream' | 'activepieces' | 'zapier' | 'executor' | 'custom'>;
1936
+ kind: Extract<IntegrationProviderKind, 'nango' | 'pipedream' | 'activepieces' | 'tangle_catalog' | 'zapier' | 'executor' | 'custom'>;
1931
1937
  fetchCatalog: () => Promise<GatewayCatalogEntry[]> | GatewayCatalogEntry[];
1932
1938
  startAuth?: (request: StartAuthRequest) => Promise<StartAuthResult> | StartAuthResult;
1933
1939
  completeAuth?: (request: CompleteAuthRequest) => Promise<IntegrationConnection> | IntegrationConnection;
@@ -2041,6 +2047,7 @@ interface ActivepiecesExecutorProviderOptions {
2041
2047
  declare function createActivepiecesExecutorProvider(options: ActivepiecesExecutorProviderOptions): IntegrationProvider;
2042
2048
 
2043
2049
  declare const ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER = "x-tangle-activepieces-signature";
2050
+ declare const TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER = "x-tangle-catalog-signature";
2044
2051
  interface ActivepiecesRuntimeRequest {
2045
2052
  version: 1;
2046
2053
  requestId: string;
@@ -2058,6 +2065,8 @@ interface ActivepiecesRuntimeRequest {
2058
2065
  }
2059
2066
  interface ActivepiecesHttpExecutorOptions {
2060
2067
  endpoint: string;
2068
+ path?: string;
2069
+ signatureHeader?: string;
2061
2070
  secret?: string;
2062
2071
  fetchImpl?: typeof fetch;
2063
2072
  headers?: Record<string, string>;
@@ -2068,6 +2077,30 @@ declare function createActivepiecesHttpExecutor(options: ActivepiecesHttpExecuto
2068
2077
  declare function buildActivepiecesRuntimeRequest(invocation: ActivepiecesExecutorInvocation, requestId?: string): ActivepiecesRuntimeRequest;
2069
2078
  declare function signActivepiecesRuntimeRequest(serializedBody: string, secret: string): string;
2070
2079
  declare function verifyActivepiecesRuntimeSignature(serializedBody: string, signature: string | null | undefined, secret: string): boolean;
2080
+ interface TangleCatalogRuntimeRequest {
2081
+ version: 1;
2082
+ requestId: string;
2083
+ providerId: string;
2084
+ connection: IntegrationConnection;
2085
+ connector: Pick<IntegrationConnector, 'id' | 'title' | 'auth' | 'scopes' | 'metadata'>;
2086
+ piece: TangleCatalogHttpExecutorInvocation['piece'];
2087
+ action: ActivepiecesRuntimeRequest['action'];
2088
+ }
2089
+ type TangleCatalogHttpExecutorOptions = ActivepiecesHttpExecutorOptions;
2090
+ interface TangleCatalogHttpExecutorInvocation extends Omit<ActivepiecesExecutorInvocation, 'catalogEntry' | 'piece'> {
2091
+ catalogEntry: unknown;
2092
+ piece: {
2093
+ id: string;
2094
+ packageName?: string;
2095
+ version?: string;
2096
+ actionId: string;
2097
+ upstreamActionName?: string;
2098
+ };
2099
+ }
2100
+ declare function createTangleCatalogHttpExecutor(options: TangleCatalogHttpExecutorOptions): (invocation: TangleCatalogHttpExecutorInvocation) => ReturnType<ActivepiecesExecutorProviderOptions['executeAction']>;
2101
+ declare function buildTangleCatalogRuntimeRequest(invocation: TangleCatalogHttpExecutorInvocation, requestId?: string): TangleCatalogRuntimeRequest;
2102
+ declare const signTangleCatalogRuntimeRequest: typeof signActivepiecesRuntimeRequest;
2103
+ declare const verifyTangleCatalogRuntimeSignature: typeof verifyActivepiecesRuntimeSignature;
2071
2104
 
2072
2105
  interface IntegrationCatalogFreshnessOptions {
2073
2106
  liveActivepieces?: boolean;
@@ -2104,6 +2137,81 @@ declare const ACTIVEPIECES_PUBLIC_CATALOG_URL = "https://www.activepieces.com/pi
2104
2137
  declare function extractActivepiecesPublicPieceCount(html: string): number | undefined;
2105
2138
  declare function auditIntegrationCatalogFreshness(options?: IntegrationCatalogFreshnessOptions): Promise<IntegrationCatalogFreshnessResult>;
2106
2139
 
2140
+ declare const TANGLE_INTEGRATIONS_CATALOG_PROVIDER_ID = "tangle-catalog";
2141
+ declare const TANGLE_INTEGRATIONS_CATALOG_SOURCE = "tangle-integrations-catalog";
2142
+ interface TangleIntegrationCatalogEntry {
2143
+ id: string;
2144
+ title: string;
2145
+ description: string;
2146
+ category: IntegrationConnector['category'];
2147
+ auth: IntegrationConnector['auth'];
2148
+ domains: string[];
2149
+ actions: Array<{
2150
+ id: string;
2151
+ title: string;
2152
+ risk: IntegrationConnector['actions'][number]['risk'];
2153
+ }>;
2154
+ triggers: Array<{
2155
+ id: string;
2156
+ title: string;
2157
+ }>;
2158
+ }
2159
+ interface TangleCatalogExecutorInvocation {
2160
+ connection: IntegrationConnection;
2161
+ request: IntegrationActionRequest;
2162
+ connector: IntegrationConnector;
2163
+ catalogEntry: TangleIntegrationCatalogEntry;
2164
+ piece: {
2165
+ id: string;
2166
+ packageName?: string;
2167
+ version?: string;
2168
+ actionId: string;
2169
+ upstreamActionName?: string;
2170
+ };
2171
+ }
2172
+ interface TangleCatalogExecutorProviderOptions {
2173
+ id?: string;
2174
+ connectors?: IntegrationConnector[];
2175
+ startAuth?: (request: StartAuthRequest) => Promise<StartAuthResult> | StartAuthResult;
2176
+ completeAuth?: (request: CompleteAuthRequest) => Promise<IntegrationConnection> | IntegrationConnection;
2177
+ executeAction: (invocation: TangleCatalogExecutorInvocation) => Promise<IntegrationActionResult> | IntegrationActionResult;
2178
+ }
2179
+ type TangleIntegrationCatalogFreshnessOptions = IntegrationCatalogFreshnessOptions;
2180
+ interface TangleIntegrationCatalogFreshnessResult {
2181
+ ok: boolean;
2182
+ generatedAt: string;
2183
+ local: {
2184
+ catalogEntries: number;
2185
+ catalogConnectors: number;
2186
+ catalogActions: number;
2187
+ catalogTriggers: number;
2188
+ executableCatalogConnectors: number;
2189
+ executableCatalogActions: number;
2190
+ executableCatalogTriggers: number;
2191
+ executableToolDefinitions: number;
2192
+ unsupportedExecutableConnectorIds: string[];
2193
+ registryEntries: number;
2194
+ registrySummary: Awaited<ReturnType<typeof auditIntegrationCatalogFreshness>>['local']['registrySummary'];
2195
+ conflictSamples: Awaited<ReturnType<typeof auditIntegrationCatalogFreshness>>['local']['conflictSamples'];
2196
+ };
2197
+ upstream?: {
2198
+ externalEntries?: number;
2199
+ externalDelta?: number;
2200
+ checkedUrl: string;
2201
+ warning?: string;
2202
+ };
2203
+ warnings: string[];
2204
+ }
2205
+ declare function listTangleIntegrationCatalogEntries(): TangleIntegrationCatalogEntry[];
2206
+ declare function buildTangleIntegrationCatalogConnectors(options?: {
2207
+ providerId?: string;
2208
+ includeCatalogActions?: boolean;
2209
+ executable?: boolean;
2210
+ }): IntegrationConnector[];
2211
+ declare function createTangleCatalogExecutorProvider(options: TangleCatalogExecutorProviderOptions): IntegrationProvider;
2212
+ declare const extractExternalCatalogPublicCount: typeof extractActivepiecesPublicPieceCount;
2213
+ declare function auditTangleIntegrationCatalogFreshness(options?: TangleIntegrationCatalogFreshnessOptions): Promise<TangleIntegrationCatalogFreshnessResult>;
2214
+
2107
2215
  type IntegrationCoveragePriority = 'tier_0' | 'tier_1' | 'tier_2' | 'long_tail';
2108
2216
  interface IntegrationCoverageSpec {
2109
2217
  id: string;
@@ -2309,7 +2417,7 @@ declare function assertValidIntegrationSpec(spec: IntegrationSpec): void;
2309
2417
  declare function validateCredentialFormat(field: CredentialFieldSpec, value: string): CredentialValidationResult;
2310
2418
  declare function validateCredentialSet(spec: IntegrationSpec, values: Record<string, string>): CredentialValidationResult[];
2311
2419
 
2312
- type IntegrationProviderKind = 'first_party' | 'nango' | 'pipedream' | 'zapier' | 'activepieces' | 'executor' | 'custom';
2420
+ type IntegrationProviderKind = 'first_party' | 'nango' | 'pipedream' | 'zapier' | 'activepieces' | 'tangle_catalog' | 'executor' | 'custom';
2313
2421
  type IntegrationConnectorCategory = 'email' | 'calendar' | 'chat' | 'crm' | 'storage' | 'docs' | 'database' | 'webhook' | 'workflow' | 'internal' | 'other';
2314
2422
  type IntegrationActionRisk = 'read' | 'write' | 'destructive';
2315
2423
  type IntegrationDataClass = 'public' | 'internal' | 'private' | 'sensitive' | 'secret';
@@ -2476,8 +2584,7 @@ interface IssuedIntegrationCapability {
2476
2584
  * result directly) or pass through (call `proceed()` to invoke the provider).
2477
2585
  *
2478
2586
  * Why this hook exists: production deployments need conflict-resolution
2479
- * guarantees that span every provider — first-party, Nango, Composio,
2480
- * webhook receivers — and providers shouldn't re-implement them. The
2587
+ * guarantees that span every provider, gateway, and webhook receiver. The
2481
2588
  * canonical implementation is a "MutationGuard" that:
2482
2589
  * 1. Short-circuits on a known idempotency key (returns recorded response).
2483
2590
  * 2. Refuses same-key-different-args (drift detection).
@@ -2607,4 +2714,4 @@ declare function createHttpIntegrationProvider(options: HttpIntegrationProviderO
2607
2714
  declare function signCapability(capability: IntegrationCapability, secret: string): string;
2608
2715
  declare function verifyCapabilityToken(token: string, secret: string): IntegrationCapability;
2609
2716
 
2610
- export { type HubSpotOptions as $, ACTIVEPIECES_OVERRIDES as A, type ApiKeyAuthSpec, type ConnectorAdapter as B, CANONICAL_INTEGRATION_ACTIONS as C, type ConsoleStep, type CredentialFieldSpec, type CredentialValidationInput, type CredentialValidationResult, type CustomAuthSpec, type ConnectorAdapterProviderOptions as D, type ConnectorCredentials as E, type ConnectorInvocation as F, type ConnectorManifest as G, type ConnectorManifestValidationIssue as H, type HealthcheckPlan, type HealthcheckSpec, type HmacAuthSpec, type ConnectorManifestValidationResult as I, INTEGRATION_FAMILIES, type IntegrationAuthMode, type IntegrationAuthSpec, type IntegrationFamilyId, type IntegrationFamilySpec, type IntegrationLifecycleSpec, type IntegrationPlannerHints, type IntegrationSetupSpec, type IntegrationSpec, type IntegrationSpecStatus, type IntegrationSpecValidationIssue, type IntegrationSpecValidationResult, type ConsentSummary as J, type ConsistencyModel as K, CredentialsExpired as L, DEFAULT_INTEGRATION_BRIDGE_ENV as M, DEFAULT_SIGNATURE_TOLERANCE_SECONDS as N, type NoneAuthSpec, type NormalizedPermission, type DataSourceMetadata as O, type OAuth2AuthSpec, DefaultIntegrationActionGuard as P, type PermissionDescriptor, type PostSetupCheck, type EventHandlerResult as Q, type Quirk, type ExchangeCodeInput as R, type RenderSpecOptions, type RenderedConsoleStep, type GatewayCatalogAction as S, type ScopeDescriptor, type GatewayCatalogEntry as T, type GatewayCatalogProviderOptions as U, type GatewayCatalogTrigger as V, type GenericHmacVerifyOptions as W, type GoogleCalendarOptions as X, type GoogleSheetsOptions as Y, type GraphqlOperationSpec as Z, type HttpIntegrationProviderOptions as _, ACTIVEPIECES_PUBLIC_CATALOG_URL as a, type IntegrationManifest as a$, type ImportCatalogOptions as a0, InMemoryConnectionStore as a1, InMemoryIntegrationApprovalStore as a2, InMemoryIntegrationAuditStore as a3, InMemoryIntegrationEventStore as a4, InMemoryIntegrationGrantStore as a5, InMemoryIntegrationHealthcheckStore as a6, InMemoryIntegrationIdempotencyStore as a7, InMemoryIntegrationSecretStore as a8, InMemoryIntegrationWorkflowStore as a9, type IntegrationCatalogFreshnessResult as aA, type IntegrationCatalogSource as aB, type IntegrationConnection as aC, type IntegrationConnectionStore as aD, type IntegrationConnector as aE, type IntegrationConnectorAction as aF, type IntegrationConnectorCategory as aG, type IntegrationConnectorTrigger as aH, type IntegrationCoveragePriority as aI, type IntegrationCoverageSpec as aJ, type IntegrationDataClass as aK, IntegrationError as aL, type IntegrationErrorCode as aM, type IntegrationEventStore as aN, type IntegrationGrant as aO, type IntegrationGrantStore as aP, type IntegrationGuardContext as aQ, type IntegrationHealthcheckCheck as aR, type IntegrationHealthcheckResult as aS, type IntegrationHealthcheckStatus as aT, type IntegrationHealthcheckStore as aU, IntegrationHub as aV, type IntegrationHubOptions as aW, type IntegrationIdempotencyRecord as aX, type IntegrationIdempotencyStore as aY, type IntegrationInvocationEnvelope as aZ, type IntegrationInvocationEnvelopeValidationOptions as a_, InMemoryOAuthFlowStore as aa, type InboundEvent as ab, type InferIntegrationRequirementsOptions as ac, type InstalledIntegrationWorkflow as ad, type IntegrationActionGuard as ae, type IntegrationActionPack as af, type IntegrationActionRequest as ag, type IntegrationActionResult as ah, type IntegrationActionRisk as ai, type IntegrationActor as aj, type IntegrationApprovalFilter as ak, type IntegrationApprovalRecord as al, type IntegrationApprovalRequest as am, type IntegrationApprovalResolution as an, type IntegrationApprovalStatus as ao, type IntegrationApprovalStore as ap, type IntegrationAuditEvent as aq, type IntegrationAuditEventType as ar, type IntegrationAuditFilter as as, assertValidIntegrationSpec, type IntegrationAuditSink as at, type IntegrationAuditStore as au, type IntegrationBridgePayload as av, type IntegrationBridgeToolBinding as aw, type IntegrationCapability as ax, type IntegrationCapabilityBinding as ay, type IntegrationCatalogFreshnessOptions as az, ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER as b, type RateLimitSpec as b$, type IntegrationManifestResolution as b0, type IntegrationPolicyDecision as b1, type IntegrationPolicyEffect as b2, type IntegrationPolicyEngine as b3, type IntegrationPolicyRule as b4, type IntegrationProvider as b5, type IntegrationProviderKind as b6, type IntegrationRateLimitDecision as b7, type IntegrationRateLimiter as b8, type IntegrationRegistry as b9, IntegrationWorkflowRuntime as bA, type IntegrationWorkflowRuntimeHub as bB, type IntegrationWorkflowRuntimeOptions as bC, type IntegrationWorkflowStore as bD, type InvokeWithCapabilityRequest as bE, type IssueCapabilityRequest as bF, type IssuedIntegrationCapability as bG, type ManifestValidationIssue as bH, type ManifestValidationResult as bI, type McpCatalog as bJ, type McpCatalogTool as bK, type McpToolDefinition as bL, type MicrosoftCalendarOptions as bM, type MissingRequirementExplanation as bN, type NormalizedIntegrationError as bO, type NormalizedIntegrationResult as bP, type NotionDatabaseOptions as bQ, type OAuthFlowStore as bR, type OAuthTokens as bS, type OpenApiDocument as bT, type OpenApiOperation as bU, PROVIDER_PASSTHROUGH_ACTION as bV, type ParsedStripeSignatureHeader as bW, type PendingOAuthFlow as bX, type PlatformIntegrationPolicyPresetOptions as bY, type ProviderHttpRequestInput as bZ, type ProviderPassthroughPolicy as b_, type IntegrationRegistryConflict as ba, type IntegrationRegistryEntry as bb, type IntegrationRegistrySourceRef as bc, type IntegrationRegistrySummary as bd, type IntegrationRequirement as be, type IntegrationRequirementMode as bf, type IntegrationRequirementResolution as bg, type IntegrationRequirementStatus as bh, IntegrationRuntime as bi, IntegrationRuntimeError as bj, type IntegrationRuntimeHub as bk, type IntegrationRuntimeOptions as bl, type IntegrationSandboxBundle as bm, IntegrationSandboxHost as bn, type IntegrationSandboxHostHub as bo, type IntegrationSandboxHostOptions as bp, type IntegrationSecretStore as bq, type IntegrationSupportTier as br, type IntegrationToolDefinition as bs, type IntegrationToolSearchFilters as bt, type IntegrationToolSearchResult as bu, buildHealthcheckPlan, type IntegrationTriggerEvent as bv, type IntegrationTriggerSubscription as bw, type IntegrationUserAction as bx, type IntegrationWebhookReceiverResult as by, type IntegrationWorkflowDefinition as bz, type ActivepiecesCatalogEntry as c, createPlatformIntegrationPolicyPreset as c$, type RefreshInput as c0, type RenderConsentOptions as c1, type ResolvedDataSource as c2, ResourceContention as c3, type RestConnectorSpec as c4, type RestCredentialPlacement as c5, type RestOperationSpec as c6, type RestRequestSpec as c7, type SecretRef as c8, type SlackOptions as c9, buildIntegrationBridgeEnvironment as cA, buildIntegrationBridgePayload as cB, buildIntegrationCoverageConnectors as cC, buildIntegrationInvocationEnvelope as cD, buildIntegrationToolCatalog as cE, calendarExercisePlannerManifest as cF, canonicalActionConnectorId as cG, canonicalConnectorId as cH, composeIntegrationRegistry as cI, consumePendingFlow as cJ, createActivepiecesExecutorProvider as cK, createActivepiecesHttpExecutor as cL, createApprovalBackedPolicyEngine as cM, createAuditingActionGuard as cN, createCatalogExecutorProvider as cO, createConnectionCredentialResolver as cP, createConnectorAdapterCatalogSource as cQ, createConnectorAdapterProvider as cR, createCredentialBackedAdapterProvider as cS, createDefaultIntegrationActionGuard as cT, createDefaultIntegrationPolicyEngine as cU, createGatewayCatalogProvider as cV, createHttpIntegrationProvider as cW, createIntegrationAuditEvent as cX, createIntegrationRuntime as cY, createIntegrationWorkflowRuntime as cZ, createMockIntegrationProvider as c_, type SlackVerifyOptions as ca, type StartAuthRequest as cb, type StartAuthResult as cc, type StartOAuthInput as cd, type StartOAuthOutput as ce, StaticIntegrationPolicyEngine as cf, type StaticIntegrationPolicyOptions as cg, type StoredIntegrationEvent as ch, type StripeVerifyOptions as ci, type TangleIntegrationInvokeInput as cj, type TangleIntegrationInvokeResult as ck, TangleIntegrationsClient as cl, type TangleIntegrationsClientOptions as cm, type TwilioVerifyOptions as cn, _resetPendingFlowsForTests as co, consoleStepsToText, adapterManifestsToConnectors as cp, airtableConnector as cq, asanaConnector as cr, assertValidConnectorManifest as cs, assertValidIntegrationManifest as ct, auditIntegrationCatalogFreshness as cu, buildActivepiecesConnectors as cv, buildActivepiecesRuntimeRequest as cw, buildApprovalRequest as cx, buildCanonicalLaunchConnectors as cy, buildDefaultIntegrationRegistry as cz, type ActivepiecesExecutorInvocation as d, toMcpTools as d$, createTangleIntegrationsClient as d0, declarativeRestConnector as d1, decodeIntegrationBridgePayload as d2, dispatchIntegrationInvocation as d3, encodeIntegrationBridgePayload as d4, exchangeAuthorizationCode as d5, explainMissingRequirements as d6, extractActivepiecesPublicPieceCount as d7, firstHeader as d8, getActivepiecesOverride as d9, receiveIntegrationWebhook as dA, redactApprovalRequest as dB, redactCapability as dC, redactIntegrationBridgePayload as dD, redactInvocationEnvelope as dE, refreshAccessToken as dF, renderApprovalCopy as dG, renderConsentSummary as dH, resolveConnectionCredentials as dI, resolveIntegrationApproval as dJ, revokeConnection as dK, runIntegrationHealthcheck as dL, runIntegrationHealthchecks as dM, salesforceConnector as dN, sanitizeAuditConnection as dO, sanitizeConnection as dP, searchIntegrationTools as dQ, signActivepiecesRuntimeRequest as dR, signCapability as dS, slack as dT, slackEventsConnector as dU, startOAuthFlow as dV, statusForCode as dW, storedEventToTriggerEvent as dX, stripePackConnector as dY, stripeWebhookReceiverConnector as dZ, summarizeIntegrationRegistry as d_, githubConnector as da, gitlabConnector as db, googleCalendar as dc, googleSheets as dd, healthcheckRequest as de, hubspot as df, importGraphqlConnector as dg, importMcpConnector as dh, importOpenApiConnector as di, inferIntegrationManifestFromTools as dj, inferIntegrationSupportTier as dk, integrationCoverageChecklistMarkdown as dl, integrationToolName as dm, invocationRequestFromEnvelope as dn, listActivepiecesCatalogEntries as dp, listIntegrationCoverageSpecs as dq, manifestToConnector as dr, microsoftCalendar as ds, normalizeGatewayCatalog as dt, normalizeIntegrationError as du, normalizeIntegrationResult as dv, notionDatabase as dw, parseIntegrationBridgeEnvironment as dx, parseIntegrationToolName as dy, parseStripeSignatureHeader as dz, type ActivepiecesExecutorProviderOptions as e, twilioSmsConnector as e0, validateConnectorManifest as e1, validateIntegrationInvocationEnvelope as e2, validateIntegrationManifest as e3, validateProviderPassthroughRequest as e4, verifyActivepiecesRuntimeSignature as e5, verifyCapabilityToken as e6, verifyHmacSignature as e7, verifySlackSignature as e8, verifyStripeSignature as e9, verifyTwilioSignature as ea, webhookConnector as eb, type ActivepiecesHttpExecutorOptions as f, type ActivepiecesPieceOverride as g, getIntegrationFamily, getIntegrationSpec, type ActivepiecesRuntimeRequest as h, ApprovalBackedPolicyEngine as i, integrationSpecToConnector, type ApprovalBackedPolicyOptions as j, type AuthSpec as k, type CASStrategy as l, listExecutableIntegrationSpecs, listIntegrationSpecs, type CanonicalIntegrationActionId as m, type CanonicalLaunchConnectorOptions as n, type Capability as o, type CapabilityClass as p, type CapabilityMutation as q, type CapabilityMutationResult as r, renderAgentToolDescription, renderConsoleSteps, renderRunbookMarkdown, type CapabilityParameterSchema as s, specAuthToConnectorAuth, type CapabilityRead as t, type CapabilityReadResult as u, type CatalogExecutorInvocation as v, validateCredentialFormat, validateCredentialSet, validateIntegrationSpec, type CatalogExecutorProviderOptions as w, type CompleteAuthRequest as x, type ComposeIntegrationRegistryOptions as y, type ConnectionCredentialResolverOptions as z };
2717
+ export { type HubSpotOptions as $, ACTIVEPIECES_OVERRIDES as A, type ApiKeyAuthSpec, type ConnectorAdapter as B, CANONICAL_INTEGRATION_ACTIONS as C, type ConsoleStep, type CredentialFieldSpec, type CredentialValidationInput, type CredentialValidationResult, type CustomAuthSpec, type ConnectorAdapterProviderOptions as D, type ConnectorCredentials as E, type ConnectorInvocation as F, type ConnectorManifest as G, type ConnectorManifestValidationIssue as H, type HealthcheckPlan, type HealthcheckSpec, type HmacAuthSpec, type ConnectorManifestValidationResult as I, INTEGRATION_FAMILIES, type IntegrationAuthMode, type IntegrationAuthSpec, type IntegrationFamilyId, type IntegrationFamilySpec, type IntegrationLifecycleSpec, type IntegrationPlannerHints, type IntegrationSetupSpec, type IntegrationSpec, type IntegrationSpecStatus, type IntegrationSpecValidationIssue, type IntegrationSpecValidationResult, type ConsentSummary as J, type ConsistencyModel as K, CredentialsExpired as L, DEFAULT_INTEGRATION_BRIDGE_ENV as M, DEFAULT_SIGNATURE_TOLERANCE_SECONDS as N, type NoneAuthSpec, type NormalizedPermission, type DataSourceMetadata as O, type OAuth2AuthSpec, DefaultIntegrationActionGuard as P, type PermissionDescriptor, type PostSetupCheck, type EventHandlerResult as Q, type Quirk, type ExchangeCodeInput as R, type RenderSpecOptions, type RenderedConsoleStep, type GatewayCatalogAction as S, type ScopeDescriptor, type GatewayCatalogEntry as T, type GatewayCatalogProviderOptions as U, type GatewayCatalogTrigger as V, type GenericHmacVerifyOptions as W, type GoogleCalendarOptions as X, type GoogleSheetsOptions as Y, type GraphqlOperationSpec as Z, type HttpIntegrationProviderOptions as _, ACTIVEPIECES_PUBLIC_CATALOG_URL as a, type IntegrationManifest as a$, type ImportCatalogOptions as a0, InMemoryConnectionStore as a1, InMemoryIntegrationApprovalStore as a2, InMemoryIntegrationAuditStore as a3, InMemoryIntegrationEventStore as a4, InMemoryIntegrationGrantStore as a5, InMemoryIntegrationHealthcheckStore as a6, InMemoryIntegrationIdempotencyStore as a7, InMemoryIntegrationSecretStore as a8, InMemoryIntegrationWorkflowStore as a9, type IntegrationCatalogFreshnessResult as aA, type IntegrationCatalogSource as aB, type IntegrationConnection as aC, type IntegrationConnectionStore as aD, type IntegrationConnector as aE, type IntegrationConnectorAction as aF, type IntegrationConnectorCategory as aG, type IntegrationConnectorTrigger as aH, type IntegrationCoveragePriority as aI, type IntegrationCoverageSpec as aJ, type IntegrationDataClass as aK, IntegrationError as aL, type IntegrationErrorCode as aM, type IntegrationEventStore as aN, type IntegrationGrant as aO, type IntegrationGrantStore as aP, type IntegrationGuardContext as aQ, type IntegrationHealthcheckCheck as aR, type IntegrationHealthcheckResult as aS, type IntegrationHealthcheckStatus as aT, type IntegrationHealthcheckStore as aU, IntegrationHub as aV, type IntegrationHubOptions as aW, type IntegrationIdempotencyRecord as aX, type IntegrationIdempotencyStore as aY, type IntegrationInvocationEnvelope as aZ, type IntegrationInvocationEnvelopeValidationOptions as a_, InMemoryOAuthFlowStore as aa, type InboundEvent as ab, type InferIntegrationRequirementsOptions as ac, type InstalledIntegrationWorkflow as ad, type IntegrationActionGuard as ae, type IntegrationActionPack as af, type IntegrationActionRequest as ag, type IntegrationActionResult as ah, type IntegrationActionRisk as ai, type IntegrationActor as aj, type IntegrationApprovalFilter as ak, type IntegrationApprovalRecord as al, type IntegrationApprovalRequest as am, type IntegrationApprovalResolution as an, type IntegrationApprovalStatus as ao, type IntegrationApprovalStore as ap, type IntegrationAuditEvent as aq, type IntegrationAuditEventType as ar, type IntegrationAuditFilter as as, assertValidIntegrationSpec, type IntegrationAuditSink as at, type IntegrationAuditStore as au, type IntegrationBridgePayload as av, type IntegrationBridgeToolBinding as aw, type IntegrationCapability as ax, type IntegrationCapabilityBinding as ay, type IntegrationCatalogFreshnessOptions as az, ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER as b, type RateLimitSpec as b$, type IntegrationManifestResolution as b0, type IntegrationPolicyDecision as b1, type IntegrationPolicyEffect as b2, type IntegrationPolicyEngine as b3, type IntegrationPolicyRule as b4, type IntegrationProvider as b5, type IntegrationProviderKind as b6, type IntegrationRateLimitDecision as b7, type IntegrationRateLimiter as b8, type IntegrationRegistry as b9, IntegrationWorkflowRuntime as bA, type IntegrationWorkflowRuntimeHub as bB, type IntegrationWorkflowRuntimeOptions as bC, type IntegrationWorkflowStore as bD, type InvokeWithCapabilityRequest as bE, type IssueCapabilityRequest as bF, type IssuedIntegrationCapability as bG, type ManifestValidationIssue as bH, type ManifestValidationResult as bI, type McpCatalog as bJ, type McpCatalogTool as bK, type McpToolDefinition as bL, type MicrosoftCalendarOptions as bM, type MissingRequirementExplanation as bN, type NormalizedIntegrationError as bO, type NormalizedIntegrationResult as bP, type NotionDatabaseOptions as bQ, type OAuthFlowStore as bR, type OAuthTokens as bS, type OpenApiDocument as bT, type OpenApiOperation as bU, PROVIDER_PASSTHROUGH_ACTION as bV, type ParsedStripeSignatureHeader as bW, type PendingOAuthFlow as bX, type PlatformIntegrationPolicyPresetOptions as bY, type ProviderHttpRequestInput as bZ, type ProviderPassthroughPolicy as b_, type IntegrationRegistryConflict as ba, type IntegrationRegistryEntry as bb, type IntegrationRegistrySourceRef as bc, type IntegrationRegistrySummary as bd, type IntegrationRequirement as be, type IntegrationRequirementMode as bf, type IntegrationRequirementResolution as bg, type IntegrationRequirementStatus as bh, IntegrationRuntime as bi, IntegrationRuntimeError as bj, type IntegrationRuntimeHub as bk, type IntegrationRuntimeOptions as bl, type IntegrationSandboxBundle as bm, IntegrationSandboxHost as bn, type IntegrationSandboxHostHub as bo, type IntegrationSandboxHostOptions as bp, type IntegrationSecretStore as bq, type IntegrationSupportTier as br, type IntegrationToolDefinition as bs, type IntegrationToolSearchFilters as bt, type IntegrationToolSearchResult as bu, buildHealthcheckPlan, type IntegrationTriggerEvent as bv, type IntegrationTriggerSubscription as bw, type IntegrationUserAction as bx, type IntegrationWebhookReceiverResult as by, type IntegrationWorkflowDefinition as bz, type ActivepiecesCatalogEntry as c, createAuditingActionGuard as c$, type RefreshInput as c0, type RenderConsentOptions as c1, type ResolvedDataSource as c2, ResourceContention as c3, type RestConnectorSpec as c4, type RestCredentialPlacement as c5, type RestOperationSpec as c6, type RestRequestSpec as c7, type SecretRef as c8, type SlackOptions as c9, adapterManifestsToConnectors as cA, airtableConnector as cB, asanaConnector as cC, assertValidConnectorManifest as cD, assertValidIntegrationManifest as cE, auditIntegrationCatalogFreshness as cF, auditTangleIntegrationCatalogFreshness as cG, buildActivepiecesConnectors as cH, buildActivepiecesRuntimeRequest as cI, buildApprovalRequest as cJ, buildCanonicalLaunchConnectors as cK, buildDefaultIntegrationRegistry as cL, buildIntegrationBridgeEnvironment as cM, buildIntegrationBridgePayload as cN, buildIntegrationCoverageConnectors as cO, buildIntegrationInvocationEnvelope as cP, buildIntegrationToolCatalog as cQ, buildTangleCatalogRuntimeRequest as cR, buildTangleIntegrationCatalogConnectors as cS, calendarExercisePlannerManifest as cT, canonicalActionConnectorId as cU, canonicalConnectorId as cV, composeIntegrationRegistry as cW, consumePendingFlow as cX, createActivepiecesExecutorProvider as cY, createActivepiecesHttpExecutor as cZ, createApprovalBackedPolicyEngine as c_, type SlackVerifyOptions as ca, type StartAuthRequest as cb, type StartAuthResult as cc, type StartOAuthInput as cd, type StartOAuthOutput as ce, StaticIntegrationPolicyEngine as cf, type StaticIntegrationPolicyOptions as cg, type StoredIntegrationEvent as ch, type StripeVerifyOptions as ci, TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER as cj, TANGLE_INTEGRATIONS_CATALOG_PROVIDER_ID as ck, TANGLE_INTEGRATIONS_CATALOG_SOURCE as cl, type TangleCatalogExecutorInvocation as cm, type TangleCatalogExecutorProviderOptions as cn, type TangleCatalogHttpExecutorInvocation as co, consoleStepsToText, type TangleCatalogHttpExecutorOptions as cp, type TangleCatalogRuntimeRequest as cq, type TangleIntegrationCatalogEntry as cr, type TangleIntegrationCatalogFreshnessOptions as cs, type TangleIntegrationCatalogFreshnessResult as ct, type TangleIntegrationInvokeInput as cu, type TangleIntegrationInvokeResult as cv, TangleIntegrationsClient as cw, type TangleIntegrationsClientOptions as cx, type TwilioVerifyOptions as cy, _resetPendingFlowsForTests as cz, type ActivepiecesExecutorInvocation as d, resolveIntegrationApproval as d$, createCatalogExecutorProvider as d0, createConnectionCredentialResolver as d1, createConnectorAdapterCatalogSource as d2, createConnectorAdapterProvider as d3, createCredentialBackedAdapterProvider as d4, createDefaultIntegrationActionGuard as d5, createDefaultIntegrationPolicyEngine as d6, createGatewayCatalogProvider as d7, createHttpIntegrationProvider as d8, createIntegrationAuditEvent as d9, importOpenApiConnector as dA, inferIntegrationManifestFromTools as dB, inferIntegrationSupportTier as dC, integrationCoverageChecklistMarkdown as dD, integrationToolName as dE, invocationRequestFromEnvelope as dF, listActivepiecesCatalogEntries as dG, listIntegrationCoverageSpecs as dH, listTangleIntegrationCatalogEntries as dI, manifestToConnector as dJ, microsoftCalendar as dK, normalizeGatewayCatalog as dL, normalizeIntegrationError as dM, normalizeIntegrationResult as dN, notionDatabase as dO, parseIntegrationBridgeEnvironment as dP, parseIntegrationToolName as dQ, parseStripeSignatureHeader as dR, receiveIntegrationWebhook as dS, redactApprovalRequest as dT, redactCapability as dU, redactIntegrationBridgePayload as dV, redactInvocationEnvelope as dW, refreshAccessToken as dX, renderApprovalCopy as dY, renderConsentSummary as dZ, resolveConnectionCredentials as d_, createIntegrationRuntime as da, createIntegrationWorkflowRuntime as db, createMockIntegrationProvider as dc, createPlatformIntegrationPolicyPreset as dd, createTangleCatalogExecutorProvider as de, createTangleCatalogHttpExecutor as df, createTangleIntegrationsClient as dg, declarativeRestConnector as dh, decodeIntegrationBridgePayload as di, dispatchIntegrationInvocation as dj, encodeIntegrationBridgePayload as dk, exchangeAuthorizationCode as dl, explainMissingRequirements as dm, extractActivepiecesPublicPieceCount as dn, extractExternalCatalogPublicCount as dp, firstHeader as dq, getActivepiecesOverride as dr, githubConnector as ds, gitlabConnector as dt, googleCalendar as du, googleSheets as dv, healthcheckRequest as dw, hubspot as dx, importGraphqlConnector as dy, importMcpConnector as dz, type ActivepiecesExecutorProviderOptions as e, revokeConnection as e0, runIntegrationHealthcheck as e1, runIntegrationHealthchecks as e2, salesforceConnector as e3, sanitizeAuditConnection as e4, sanitizeConnection as e5, searchIntegrationTools as e6, signActivepiecesRuntimeRequest as e7, signCapability as e8, signTangleCatalogRuntimeRequest as e9, slack as ea, slackEventsConnector as eb, startOAuthFlow as ec, statusForCode as ed, storedEventToTriggerEvent as ee, stripePackConnector as ef, stripeWebhookReceiverConnector as eg, summarizeIntegrationRegistry as eh, toMcpTools as ei, twilioSmsConnector as ej, validateConnectorManifest as ek, validateIntegrationInvocationEnvelope as el, validateIntegrationManifest as em, validateProviderPassthroughRequest as en, verifyActivepiecesRuntimeSignature as eo, verifyCapabilityToken as ep, verifyHmacSignature as eq, verifySlackSignature as er, verifyStripeSignature as es, verifyTangleCatalogRuntimeSignature as et, verifyTwilioSignature as eu, webhookConnector as ev, type ActivepiecesHttpExecutorOptions as f, type ActivepiecesPieceOverride as g, getIntegrationFamily, getIntegrationSpec, type ActivepiecesRuntimeRequest as h, ApprovalBackedPolicyEngine as i, integrationSpecToConnector, type ApprovalBackedPolicyOptions as j, type AuthSpec as k, type CASStrategy as l, listExecutableIntegrationSpecs, listIntegrationSpecs, type CanonicalIntegrationActionId as m, type CanonicalLaunchConnectorOptions as n, type Capability as o, type CapabilityClass as p, type CapabilityMutation as q, type CapabilityMutationResult as r, renderAgentToolDescription, renderConsoleSteps, renderRunbookMarkdown, type CapabilityParameterSchema as s, specAuthToConnectorAuth, type CapabilityRead as t, type CapabilityReadResult as u, type CatalogExecutorInvocation as v, validateCredentialFormat, validateCredentialSet, validateIntegrationSpec, type CatalogExecutorProviderOptions as w, type CompleteAuthRequest as x, type ComposeIntegrationRegistryOptions as y, type ConnectionCredentialResolverOptions as z };
package/dist/specs.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  validateCredentialFormat,
16
16
  validateCredentialSet,
17
17
  validateIntegrationSpec
18
- } from "./chunk-DIJ3I66K.js";
18
+ } from "./chunk-L6WBPDUP.js";
19
19
  export {
20
20
  INTEGRATION_FAMILIES,
21
21
  assertValidIntegrationSpec,
@@ -48,28 +48,29 @@ Aliases matter when comparing coverage:
48
48
  - `stripe` maps to `stripe-pack` for outbound payment actions.
49
49
  - `twilio` maps to `twilio-sms`.
50
50
 
51
- ## 600+ Catalog Execution Path
51
+ ## Tangle Catalog Execution Path
52
52
 
53
- The repo does not need 600 hand-written adapter files. Long-tail execution uses
54
- one strict catalog executor:
53
+ The repo does not need hundreds of hand-written adapter files. Long-tail
54
+ execution uses one strict catalog executor:
55
55
 
56
56
  ```ts
57
57
  import {
58
- createActivepiecesExecutorProvider,
58
+ createTangleCatalogExecutorProvider,
59
+ createTangleCatalogHttpExecutor,
59
60
  IntegrationHub,
60
61
  } from '@tangle-network/agent-integrations'
61
62
 
62
- const provider = createActivepiecesExecutorProvider({
63
- executeAction: createActivepiecesHttpExecutor({
63
+ const provider = createTangleCatalogExecutorProvider({
64
+ executeAction: createTangleCatalogHttpExecutor({
64
65
  endpoint: 'https://id.tangle.tools/integration-runtime',
65
- secret: process.env.ACTIVEPIECES_RUNTIME_SECRET,
66
+ secret: process.env.TANGLE_CATALOG_RUNTIME_SECRET,
66
67
  }),
67
68
  })
68
69
 
69
70
  const hub = new IntegrationHub({ providers: [provider], store, capabilitySecret })
70
71
  ```
71
72
 
72
- This promotes all vendored Activepieces community entries to
73
+ This promotes normalized Tangle Integrations Catalog entries to
73
74
  `gatewayExecutable` only when a caller supplies an executor. The default catalog
74
75
  remains `catalogOnly`, so generated apps cannot accidentally call metadata.
75
76
 
@@ -195,6 +196,6 @@ Before any product says an integration is “supported” for real users:
195
196
  - Include first-party adapter catalogs in registry composition when a consumer
196
197
  provides adapter instances.
197
198
  - Add a generated triage command that compares coverage specs, setup specs,
198
- active catalog entries, and adapter manifests.
199
+ imported catalog entries, and adapter manifests.
199
200
  - Promote Gmail, Drive, Outlook Mail, Linear, Jira, Zendesk, Intercom, Shopify,
200
201
  QuickBooks, S3, and Postgres first.
@@ -5,7 +5,7 @@
5
5
  - first-party adapters
6
6
  - generated setup specs
7
7
  - gateway catalogs
8
- - vendored Activepieces metadata
8
+ - imported Tangle Integrations Catalog metadata
9
9
  - planning coverage stubs
10
10
 
11
11
  Those sources intentionally overlap. The public product surface should not.
@@ -135,9 +135,9 @@ Generated from `listIntegrationCoverageSpecs()`. Catalog presence means the prod
135
135
  - [ ] tier_1 / database / Qdrant (qdrant) - vector, database, ai
136
136
  - [ ] tier_1 / workflow / Zapier (zapier) - automation, workflow
137
137
  - [ ] tier_1 / workflow / Make (make) - automation, workflow
138
- - [ ] tier_1 / workflow / Nango (nango) - integration-platform, oauth
139
- - [ ] tier_1 / workflow / Pipedream (pipedream) - integration-platform, workflow
140
- - [ ] tier_1 / workflow / Activepieces (activepieces) - automation, workflow, open-source
138
+ - [ ] tier_1 / workflow / Hosted Integration Gateway (hosted-integration-gateway) - integration-platform, oauth
139
+ - [ ] tier_1 / workflow / Workflow Runtime Gateway (workflow-runtime-gateway) - integration-platform, workflow
140
+ - [ ] tier_1 / workflow / Open Automation Catalog (open-automation-catalog) - automation, workflow, open-source
141
141
  - [ ] tier_0 / webhook / Generic Webhook (webhook) - webhook, http, events
142
142
  - [ ] tier_0 / workflow / HTTP Request (http) - http, api, webhook
143
143
  - [ ] tier_1 / webhook / RSS (rss) - feeds, content
@@ -5,7 +5,7 @@ Goal: cover the integrations that make agents useful for 99% of practical produc
5
5
  ## Strategy
6
6
 
7
7
  - Use `buildIntegrationCoverageConnectors()` for broad planning/catalog coverage.
8
- - Use vendor gateways such as Nango, Pipedream, Activepieces, and custom HTTP providers for long-tail OAuth/API coverage.
8
+ - Use hosted gateways, imported connector catalogs, and custom HTTP providers for long-tail OAuth/API coverage.
9
9
  - Promote high-volume, sensitive, or moat-critical connectors into first-party `ConnectorAdapter`s.
10
10
  - Do not claim a connector is executable until it has auth, scope, action, error, rate-limit, idempotency, and approval-path tests.
11
11
  - Keep every connector behind `IntegrationHub`, capability tokens, policy checks, and sandbox invocation envelopes.
@@ -17,16 +17,16 @@ Goal: cover the integrations that make agents useful for 99% of practical produc
17
17
  - [x] Coverage catalog for 100+ high-value integrations.
18
18
  - [x] Builder API consumes the coverage catalog for app planning.
19
19
  - [x] Declarative REST adapter factory for fast first-party promotion of REST-shaped APIs.
20
- - [x] Provider gateway catalog adapter can normalize 500+ Nango/Pipedream/Activepieces-style connectors.
20
+ - [x] Provider gateway catalog adapter can normalize 500+ external catalog connectors.
21
21
  - [x] Canonical registry dedupes overlapping catalogs, aliases, support tiers, and conflict diagnostics.
22
22
  - [ ] Generated sandbox apps can request missing connections from the catalog.
23
23
  - [ ] Live smoke credentials exist for Tier 0 connectors.
24
24
  - [ ] Tier 0 connector failures are classified by auth, scope, rate-limit, provider outage, validation, approval, and conflict.
25
25
  - [ ] Tier 0 write actions have idempotency and approval tests.
26
- - [x] Provider gateway adapters can import/sync catalog metadata from Nango/Pipedream/Activepieces registries.
26
+ - [x] Provider gateway adapters can import/sync catalog metadata from external registries.
27
27
  - [x] Adapter execution triage is documented in [`adapter-triage.md`](./adapter-triage.md).
28
- - [x] Activepieces community catalog can be promoted to executable actions through `createActivepiecesExecutorProvider`.
29
- - [x] Activepieces executable actions can dispatch through a signed HTTP runtime executor protocol.
28
+ - [x] Tangle Integrations Catalog entries can be promoted to executable actions through `createTangleCatalogExecutorProvider`.
29
+ - [x] Tangle Integrations Catalog executable actions can dispatch through a signed HTTP runtime executor protocol.
30
30
 
31
31
  ## Tier 0 First-Party Promotion Queue
32
32
 
@@ -80,7 +80,7 @@ The exhaustive checklist is generated from `integrationCoverageChecklistMarkdown
80
80
  - Marketing and social: Mailchimp, Klaviyo, Marketo, Braze, Facebook Pages, Instagram Business, LinkedIn, X, YouTube.
81
81
  - Data and infra: Snowflake, BigQuery, Redshift, Postgres, MySQL, MongoDB, Supabase, Firebase, S3, Cloudflare.
82
82
  - HR/legal/signature: Workday, BambooHR, Greenhouse, Lever, Gusto, Rippling, DocuSign, Ironclad, Clio.
83
- - AI/vector/workflow: OpenAI, Anthropic, Gemini, Hugging Face, Pinecone, Weaviate, Qdrant, Zapier, Make, Nango, Pipedream, Activepieces.
83
+ - AI/vector/workflow: OpenAI, Anthropic, Gemini, Hugging Face, Pinecone, Weaviate, Qdrant, Zapier, Make, hosted gateways, and imported automation catalogs.
84
84
 
85
85
  ## Remaining Work
86
86
 
@@ -92,4 +92,4 @@ The exhaustive checklist is generated from `integrationCoverageChecklistMarkdown
92
92
  - [x] Add Airtable, GitLab, and Asana via declarative REST.
93
93
  - [x] Add generated integration setup specs, renderers, validation, and healthcheck plans.
94
94
  - [ ] Add live smoke-test harness that skips only when explicit credentials are absent.
95
- - [ ] Add gateway sync job for Nango/Pipedream/Activepieces metadata.
95
+ - [ ] Add gateway sync job for external catalog metadata.
@@ -2,11 +2,11 @@
2
2
 
3
3
  Status date: 2026-05-04
4
4
 
5
- `agent-integrations` should keep product code independent from Nango,
6
- Pipedream, Zapier, Activepieces, Composio, executor-style services, and our own
7
- first-party connectors. The strategic goal is not to outsource integrations
8
- forever. The goal is to get broad connector coverage quickly while preserving a
9
- clean path to bring important connectors in-house.
5
+ `agent-integrations` should keep product code independent from any hosted
6
+ integration gateway, imported catalog source, executor-style service, or
7
+ first-party connector implementation. The strategic goal is not to outsource
8
+ integrations forever. The goal is to get broad connector coverage quickly while
9
+ preserving a clean path to bring important connectors in-house.
10
10
 
11
11
  ## Default Strategy
12
12
 
@@ -29,7 +29,7 @@ priority.
29
29
 
30
30
  | Criterion | 1 | 3 | 5 |
31
31
  | --- | --- | --- | --- |
32
- | User demand | Rarely requested | Common in one vertical | Needed across many products/agents |
32
+ | User demand | Rarely requested | Common in one domain | Needed across many products/agents |
33
33
  | Workflow criticality | Nice-to-have read path | Useful but recoverable | Blocks core product value |
34
34
  | Data sensitivity | Public/low-risk | Private business data | Regulated, financial, legal, health, secrets |
35
35
  | Write risk | Read-only | Reversible writes | Money movement, external comms, destructive writes |
@@ -22,13 +22,13 @@ This repo intentionally separates catalog breadth from executable runtime code.
22
22
  - `src/connectors/` contains first-party adapter contracts and implementations.
23
23
  - `src/specs/` is the structured OAuth/setup/runbook source of truth.
24
24
  - `src/registry.ts`, `src/gateway-catalog.ts`, `src/coverage-catalog.ts`, and
25
- `src/activepieces-catalog.ts` compose broad connector catalogs without
26
- pretending catalog-only entries are executable.
25
+ `src/tangle-catalog.ts` compose broad connector catalogs without pretending
26
+ catalog-only entries are executable.
27
27
 
28
28
  ## Data
29
29
 
30
- - `data/activepieces-catalog.json` is large by design. It is lazy-loaded and
31
- keeps long-tail discovery out of TypeScript source so `tsc --watch` does not
30
+ - Imported catalog JSON is large by design. It is lazy-loaded and keeps
31
+ long-tail discovery out of TypeScript source so `tsc --watch` does not
32
32
  re-check a generated 40k-line module. It is catalog metadata, not executable
33
33
  support.
34
34
 
@@ -1,7 +1,7 @@
1
1
  # Activepieces Community Catalog Attribution
2
2
 
3
- `src/activepieces-catalog.generated.ts` is generated from the Activepieces
4
- Community pieces catalog:
3
+ `data/activepieces-catalog.json` is generated from the Activepieces Community
4
+ pieces catalog:
5
5
 
6
6
  - Source repository: https://github.com/activepieces/activepieces
7
7
  - Source path: `packages/pieces/community`
@@ -10,11 +10,11 @@ Community pieces catalog:
10
10
  versions, high-level action names, trigger names, auth shape hints, and
11
11
  category/domain metadata.
12
12
 
13
- The generated catalog is connector metadata for `agent-integrations`; it does
14
- not vendor the Activepieces runtime or execute Activepieces piece code directly.
15
- Consumers can run these connectors through an Activepieces-backed provider,
16
- promote selected entries to first-party adapters, or use the metadata for
17
- planning and connection setup.
13
+ The generated file is ingestion/provenance data for the Tangle Integrations
14
+ Catalog. It does not vendor the Activepieces runtime or execute Activepieces
15
+ piece code directly. Consumers should use the Tangle-named catalog APIs and can
16
+ promote selected entries to first-party adapters or route them through a signed
17
+ Tangle catalog runtime.
18
18
 
19
19
  Regenerate after checking out Activepieces:
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/agent-integrations",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "Vendor-neutral integration contracts and runtime helpers for sandbox and agent apps.",
5
5
  "homepage": "https://github.com/tangle-network/agent-integrations#readme",
6
6
  "repository": {