@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/README.md +13 -9
- package/dist/{chunk-DIJ3I66K.js → chunk-L6WBPDUP.js} +4 -4
- package/dist/chunk-L6WBPDUP.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +227 -13
- package/dist/index.js.map +1 -1
- package/dist/specs.d.ts +113 -6
- package/dist/specs.js +1 -1
- package/docs/adapter-triage.md +10 -9
- package/docs/catalog-registry.md +1 -1
- package/docs/generated-integration-coverage-checklist.md +3 -3
- package/docs/integration-coverage-checklist.md +7 -7
- package/docs/provider-decision-matrix.md +6 -6
- package/docs/repo-structure.md +4 -4
- package/docs/third-party/activepieces.md +7 -7
- package/package.json +1 -1
- package/dist/chunk-DIJ3I66K.js.map +0 -1
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
|
|
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
|
|
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
package/docs/adapter-triage.md
CHANGED
|
@@ -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
|
-
##
|
|
51
|
+
## Tangle Catalog Execution Path
|
|
52
52
|
|
|
53
|
-
The repo does not need
|
|
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
|
-
|
|
58
|
+
createTangleCatalogExecutorProvider,
|
|
59
|
+
createTangleCatalogHttpExecutor,
|
|
59
60
|
IntegrationHub,
|
|
60
61
|
} from '@tangle-network/agent-integrations'
|
|
61
62
|
|
|
62
|
-
const provider =
|
|
63
|
-
executeAction:
|
|
63
|
+
const provider = createTangleCatalogExecutorProvider({
|
|
64
|
+
executeAction: createTangleCatalogHttpExecutor({
|
|
64
65
|
endpoint: 'https://id.tangle.tools/integration-runtime',
|
|
65
|
-
secret: process.env.
|
|
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
|
|
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
|
-
|
|
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.
|
package/docs/catalog-registry.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
- first-party adapters
|
|
6
6
|
- generated setup specs
|
|
7
7
|
- gateway catalogs
|
|
8
|
-
-
|
|
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 /
|
|
139
|
-
- [ ] tier_1 / workflow /
|
|
140
|
-
- [ ] tier_1 / workflow /
|
|
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
|
|
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+
|
|
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
|
|
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]
|
|
29
|
-
- [x]
|
|
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,
|
|
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
|
|
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
|
|
6
|
-
|
|
7
|
-
first-party
|
|
8
|
-
forever. The goal is to get broad connector coverage quickly while
|
|
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
|
|
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 |
|
package/docs/repo-structure.md
CHANGED
|
@@ -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/
|
|
26
|
-
|
|
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
|
-
-
|
|
31
|
-
|
|
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
|
-
`
|
|
4
|
-
|
|
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
|
|
14
|
-
not vendor the Activepieces runtime or execute Activepieces
|
|
15
|
-
|
|
16
|
-
promote selected entries to first-party adapters
|
|
17
|
-
|
|
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.
|
|
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": {
|