@tangle-network/agent-integrations 0.17.0 → 0.19.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 +12 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +270 -5
- package/dist/index.js.map +1 -1
- package/dist/specs.d.ts +111 -4
- package/docs/adapter-triage.md +12 -17
- package/docs/catalog-registry.md +1 -1
- package/docs/generated-integration-coverage-checklist.md +3 -3
- package/docs/integration-coverage-checklist.md +7 -6
- package/docs/provider-decision-matrix.md +5 -5
- package/docs/repo-structure.md +4 -4
- package/docs/third-party/activepieces.md +7 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@ software that need user-authorized access to external systems.
|
|
|
5
5
|
|
|
6
6
|
The package standardizes connector catalogs, user connections, scoped sandbox
|
|
7
7
|
capabilities, action invocation, trigger events, provider adapters, and
|
|
8
|
-
first-party connector adapters. Product code can route through
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
first-party connector adapters. Product code can route through hosted gateways,
|
|
9
|
+
custom runtimes, or first-party adapters without changing the agent-facing tool
|
|
10
|
+
contract.
|
|
11
11
|
|
|
12
12
|
## Contents
|
|
13
13
|
|
|
@@ -32,8 +32,8 @@ agent-facing tool contract.
|
|
|
32
32
|
- Policy checks for read/write/destructive actions.
|
|
33
33
|
- Invocation-envelope validation before sandbox tool calls reach the hub.
|
|
34
34
|
- A generic HTTP provider boundary for hosted integration gateways.
|
|
35
|
-
- A gateway catalog provider for
|
|
36
|
-
|
|
35
|
+
- A gateway catalog provider for hosted integration gateways, executor-style
|
|
36
|
+
runtimes, and internal connector registries.
|
|
37
37
|
- A first-party `ConnectorAdapter` boundary for direct provider execution.
|
|
38
38
|
- A declarative REST adapter factory for promoting REST APIs from reviewed specs.
|
|
39
39
|
- A broad coverage catalog for planning hundreds of integrations without
|
|
@@ -108,6 +108,10 @@ pnpm add @tangle-network/agent-integrations
|
|
|
108
108
|
| `buildDefaultIntegrationRegistry` | Composes setup specs and vendored catalog metadata into one deduplicated connector registry. |
|
|
109
109
|
| `composeIntegrationRegistry` | Merges arbitrary catalog sources with explicit aliases, precedence, support tiers, and conflict diagnostics. |
|
|
110
110
|
| `buildIntegrationCoverageConnectors` | Planning catalog for 100+ high-value integrations. |
|
|
111
|
+
| `buildTangleIntegrationCatalogConnectors` | Broad normalized Tangle Integrations Catalog inventory for long-tail connection discovery. |
|
|
112
|
+
| `createTangleCatalogExecutorProvider` | Promotes catalog entries to gateway-executable only when a runtime executor is explicitly supplied. |
|
|
113
|
+
| `createTangleCatalogHttpExecutor` | Signed HTTP executor client for Tangle-hosted catalog runtimes. |
|
|
114
|
+
| `auditTangleIntegrationCatalogFreshness` | Release gate for catalog breadth, executable promotion, registry conflicts, and stale external ingestion. |
|
|
111
115
|
| `createGatewayCatalogProvider` | Normalizes 500+ gateway-backed connectors into the same provider contract. |
|
|
112
116
|
| `buildIntegrationInvocationEnvelope` | Sandbox-safe action envelope. |
|
|
113
117
|
| `validateIntegrationInvocationEnvelope` | Runtime validation for tool/action consistency and input limits. |
|
|
@@ -120,9 +124,9 @@ pnpm add @tangle-network/agent-integrations
|
|
|
120
124
|
|
|
121
125
|
## Catalog Registry
|
|
122
126
|
|
|
123
|
-
Catalog breadth and runtime execution are separate.
|
|
124
|
-
the package broad connector inventory; first-party adapters and
|
|
125
|
-
which connectors can actually run.
|
|
127
|
+
Catalog breadth and runtime execution are separate. The Tangle Integrations
|
|
128
|
+
Catalog gives the package broad connector inventory; first-party adapters and
|
|
129
|
+
explicitly configured runtimes decide which connectors can actually run.
|
|
126
130
|
|
|
127
131
|
Use `buildDefaultIntegrationRegistry()` before creating tool catalogs or
|
|
128
132
|
connection pickers. It produces one canonical connector per integration,
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as ACTIVEPIECES_OVERRIDES, a as ActivepiecesCatalogEntry, b as ActivepiecesExecutorInvocation, c as ActivepiecesExecutorProviderOptions, d as ActivepiecesPieceOverride, ApiKeyAuthSpec, e as ApprovalBackedPolicyEngine, f as ApprovalBackedPolicyOptions, g as AuthSpec, C as CANONICAL_INTEGRATION_ACTIONS, h as CASStrategy, i as CanonicalIntegrationActionId, j as CanonicalLaunchConnectorOptions, k as Capability, l as CapabilityClass, m as CapabilityMutation, n as CapabilityMutationResult, o as CapabilityParameterSchema, p as CapabilityRead, q as CapabilityReadResult, r as CatalogExecutorInvocation, s as CatalogExecutorProviderOptions, t as CompleteAuthRequest, u as ComposeIntegrationRegistryOptions, v as ConnectionCredentialResolverOptions, w as ConnectorAdapter, x as ConnectorAdapterProviderOptions, y as ConnectorCredentials, z as ConnectorInvocation, B as ConnectorManifest, D as ConnectorManifestValidationIssue, E as ConnectorManifestValidationResult, F as ConsentSummary, G as ConsistencyModel, ConsoleStep, CredentialFieldSpec, CredentialValidationInput, CredentialValidationResult, H as CredentialsExpired, CustomAuthSpec, I as DEFAULT_INTEGRATION_BRIDGE_ENV, J as DEFAULT_SIGNATURE_TOLERANCE_SECONDS, K as DataSourceMetadata, L as DefaultIntegrationActionGuard, M as EventHandlerResult, N as ExchangeCodeInput, O as GatewayCatalogAction, P as GatewayCatalogEntry, Q as GatewayCatalogProviderOptions, R as GatewayCatalogTrigger, S as GenericHmacVerifyOptions, T as GoogleCalendarOptions, U as GoogleSheetsOptions, V as GraphqlOperationSpec, HealthcheckPlan, HealthcheckSpec, HmacAuthSpec, W as HttpIntegrationProviderOptions, X as HubSpotOptions, INTEGRATION_FAMILIES, Y as ImportCatalogOptions, Z as InMemoryConnectionStore, _ as InMemoryIntegrationApprovalStore, $ as InMemoryIntegrationAuditStore, a0 as InMemoryIntegrationEventStore, a1 as InMemoryIntegrationGrantStore, a2 as InMemoryIntegrationHealthcheckStore, a3 as InMemoryIntegrationIdempotencyStore, a4 as InMemoryIntegrationSecretStore, a5 as InMemoryIntegrationWorkflowStore, a6 as InMemoryOAuthFlowStore, a7 as InboundEvent, a8 as InferIntegrationRequirementsOptions, a9 as InstalledIntegrationWorkflow, aa as IntegrationActionGuard, ab as IntegrationActionPack, ac as IntegrationActionRequest, ad as IntegrationActionResult, ae as IntegrationActionRisk, af as IntegrationActor, ag as IntegrationApprovalFilter, ah as IntegrationApprovalRecord, ai as IntegrationApprovalRequest, aj as IntegrationApprovalResolution, ak as IntegrationApprovalStatus, al as IntegrationApprovalStore, am as IntegrationAuditEvent, an as IntegrationAuditEventType, ao as IntegrationAuditFilter, ap as IntegrationAuditSink, aq as IntegrationAuditStore, IntegrationAuthMode, IntegrationAuthSpec, ar as IntegrationBridgePayload, as as IntegrationBridgeToolBinding, at as IntegrationCapability, au as IntegrationCapabilityBinding, av as IntegrationCatalogSource, aw as IntegrationConnection, ax as IntegrationConnectionStore, ay as IntegrationConnector, az as IntegrationConnectorAction, aA as IntegrationConnectorCategory, aB as IntegrationConnectorTrigger, aC as IntegrationCoveragePriority, aD as IntegrationCoverageSpec, aE as IntegrationDataClass, aF as IntegrationError, aG as IntegrationErrorCode, aH as IntegrationEventStore, IntegrationFamilyId, IntegrationFamilySpec, aI as IntegrationGrant, aJ as IntegrationGrantStore, aK as IntegrationGuardContext, aL as IntegrationHealthcheckCheck, aM as IntegrationHealthcheckResult, aN as IntegrationHealthcheckStatus, aO as IntegrationHealthcheckStore, aP as IntegrationHub, aQ as IntegrationHubOptions, aR as IntegrationIdempotencyRecord, aS as IntegrationIdempotencyStore, aT as IntegrationInvocationEnvelope, aU as IntegrationInvocationEnvelopeValidationOptions, IntegrationLifecycleSpec, aV as IntegrationManifest, aW as IntegrationManifestResolution, IntegrationPlannerHints, aX as IntegrationPolicyDecision, aY as IntegrationPolicyEffect, aZ as IntegrationPolicyEngine, a_ as IntegrationPolicyRule, a$ as IntegrationProvider, b0 as IntegrationProviderKind, b1 as IntegrationRateLimitDecision, b2 as IntegrationRateLimiter, b3 as IntegrationRegistry, b4 as IntegrationRegistryConflict, b5 as IntegrationRegistryEntry, b6 as IntegrationRegistrySourceRef, b7 as IntegrationRegistrySummary, b8 as IntegrationRequirement, b9 as IntegrationRequirementMode, ba as IntegrationRequirementResolution, bb as IntegrationRequirementStatus, bc as IntegrationRuntime, bd as IntegrationRuntimeError, be as IntegrationRuntimeHub, bf as IntegrationRuntimeOptions, bg as IntegrationSandboxBundle, bh as IntegrationSandboxHost, bi as IntegrationSandboxHostHub, bj as IntegrationSandboxHostOptions, bk as IntegrationSecretStore, IntegrationSetupSpec, IntegrationSpec, IntegrationSpecStatus, IntegrationSpecValidationIssue, IntegrationSpecValidationResult, bl as IntegrationSupportTier, bm as IntegrationToolDefinition, bn as IntegrationToolSearchFilters, bo as IntegrationToolSearchResult, bp as IntegrationTriggerEvent, bq as IntegrationTriggerSubscription, br as IntegrationUserAction, bs as IntegrationWebhookReceiverResult, bt as IntegrationWorkflowDefinition, bu as IntegrationWorkflowRuntime, bv as IntegrationWorkflowRuntimeHub, bw as IntegrationWorkflowRuntimeOptions, bx as IntegrationWorkflowStore, by as InvokeWithCapabilityRequest, bz as IssueCapabilityRequest, bA as IssuedIntegrationCapability, bB as ManifestValidationIssue, bC as ManifestValidationResult, bD as McpCatalog, bE as McpCatalogTool, bF as McpToolDefinition, bG as MicrosoftCalendarOptions, bH as MissingRequirementExplanation, NoneAuthSpec, bI as NormalizedIntegrationError, bJ as NormalizedIntegrationResult, NormalizedPermission, bK as NotionDatabaseOptions, OAuth2AuthSpec, bL as OAuthFlowStore, bM as OAuthTokens, bN as OpenApiDocument, bO as OpenApiOperation, bP as PROVIDER_PASSTHROUGH_ACTION, bQ as ParsedStripeSignatureHeader, bR as PendingOAuthFlow, PermissionDescriptor, bS as PlatformIntegrationPolicyPresetOptions, PostSetupCheck, bT as ProviderHttpRequestInput, bU as ProviderPassthroughPolicy, Quirk, bV as RateLimitSpec, bW as RefreshInput, bX as RenderConsentOptions, RenderSpecOptions, RenderedConsoleStep, bY as ResolvedDataSource, bZ as ResourceContention, b_ as RestConnectorSpec, b$ as RestCredentialPlacement, c0 as RestOperationSpec, c1 as RestRequestSpec, ScopeDescriptor, c2 as SecretRef, c3 as SlackOptions, c4 as SlackVerifyOptions, c5 as StartAuthRequest, c6 as StartAuthResult, c7 as StartOAuthInput, c8 as StartOAuthOutput, c9 as StaticIntegrationPolicyEngine, ca as StaticIntegrationPolicyOptions, cb as StoredIntegrationEvent, cc as StripeVerifyOptions, cd as TangleIntegrationInvokeInput, ce as TangleIntegrationInvokeResult, cf as TangleIntegrationsClient, cg as TangleIntegrationsClientOptions, ch as TwilioVerifyOptions, ci as _resetPendingFlowsForTests, cj as adapterManifestsToConnectors, ck as airtableConnector, cl as asanaConnector, cm as assertValidConnectorManifest, cn as assertValidIntegrationManifest, assertValidIntegrationSpec, co as buildActivepiecesConnectors, cp as buildApprovalRequest, cq as buildCanonicalLaunchConnectors, cr as buildDefaultIntegrationRegistry, buildHealthcheckPlan, cs as buildIntegrationBridgeEnvironment, ct as buildIntegrationBridgePayload, cu as buildIntegrationCoverageConnectors, cv as buildIntegrationInvocationEnvelope, cw as buildIntegrationToolCatalog, cx as calendarExercisePlannerManifest, cy as canonicalActionConnectorId, cz as canonicalConnectorId, cA as composeIntegrationRegistry, consoleStepsToText, cB as consumePendingFlow, cC as createActivepiecesExecutorProvider, cD as createApprovalBackedPolicyEngine, cE as createAuditingActionGuard, cF as createCatalogExecutorProvider, cG as createConnectionCredentialResolver, cH as createConnectorAdapterCatalogSource, cI as createConnectorAdapterProvider, cJ as createCredentialBackedAdapterProvider, cK as createDefaultIntegrationActionGuard, cL as createDefaultIntegrationPolicyEngine, cM as createGatewayCatalogProvider, cN as createHttpIntegrationProvider, cO as createIntegrationAuditEvent, cP as createIntegrationRuntime, cQ as createIntegrationWorkflowRuntime, cR as createMockIntegrationProvider, cS as createPlatformIntegrationPolicyPreset, cT as createTangleIntegrationsClient, cU as declarativeRestConnector, cV as decodeIntegrationBridgePayload, cW as dispatchIntegrationInvocation, cX as encodeIntegrationBridgePayload, cY as exchangeAuthorizationCode, cZ as explainMissingRequirements, c_ as firstHeader, c$ as getActivepiecesOverride, getIntegrationFamily, getIntegrationSpec, d0 as githubConnector, d1 as gitlabConnector, d2 as googleCalendar, d3 as googleSheets, d4 as healthcheckRequest, d5 as hubspot, d6 as importGraphqlConnector, d7 as importMcpConnector, d8 as importOpenApiConnector, d9 as inferIntegrationManifestFromTools, da as inferIntegrationSupportTier, db as integrationCoverageChecklistMarkdown, integrationSpecToConnector, dc as integrationToolName, dd as invocationRequestFromEnvelope, de as listActivepiecesCatalogEntries, listExecutableIntegrationSpecs, df as listIntegrationCoverageSpecs, listIntegrationSpecs, dg as manifestToConnector, dh as microsoftCalendar, di as normalizeGatewayCatalog, dj as normalizeIntegrationError, dk as normalizeIntegrationResult, dl as notionDatabase, dm as parseIntegrationBridgeEnvironment, dn as parseIntegrationToolName, dp as parseStripeSignatureHeader, dq as receiveIntegrationWebhook, dr as redactApprovalRequest, ds as redactCapability, dt as redactIntegrationBridgePayload, du as redactInvocationEnvelope, dv as refreshAccessToken, renderAgentToolDescription, dw as renderApprovalCopy, dx as renderConsentSummary, renderConsoleSteps, renderRunbookMarkdown, dy as resolveConnectionCredentials, dz as resolveIntegrationApproval, dA as revokeConnection, dB as runIntegrationHealthcheck, dC as runIntegrationHealthchecks, dD as salesforceConnector, dE as sanitizeAuditConnection, dF as sanitizeConnection, dG as searchIntegrationTools, dH as signCapability, dI as slack, dJ as slackEventsConnector, specAuthToConnectorAuth, dK as startOAuthFlow, dL as statusForCode, dM as storedEventToTriggerEvent, dN as stripePackConnector, dO as stripeWebhookReceiverConnector, dP as summarizeIntegrationRegistry, dQ as toMcpTools, dR as twilioSmsConnector, dS as validateConnectorManifest, validateCredentialFormat, validateCredentialSet, dT as validateIntegrationInvocationEnvelope, dU as validateIntegrationManifest, validateIntegrationSpec, dV as validateProviderPassthroughRequest, dW as verifyCapabilityToken, dX as verifyHmacSignature, dY as verifySlackSignature, dZ as verifyStripeSignature, d_ as verifyTwilioSignature, d$ as webhookConnector } from './specs.js';
|
|
1
|
+
export { A as ACTIVEPIECES_OVERRIDES, a as ACTIVEPIECES_PUBLIC_CATALOG_URL, b as ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER, c as ActivepiecesCatalogEntry, d as ActivepiecesExecutorInvocation, e as ActivepiecesExecutorProviderOptions, f as ActivepiecesHttpExecutorOptions, g as ActivepiecesPieceOverride, h as ActivepiecesRuntimeRequest, ApiKeyAuthSpec, i as ApprovalBackedPolicyEngine, j as ApprovalBackedPolicyOptions, k as AuthSpec, C as CANONICAL_INTEGRATION_ACTIONS, l as CASStrategy, m as CanonicalIntegrationActionId, n as CanonicalLaunchConnectorOptions, o as Capability, p as CapabilityClass, q as CapabilityMutation, r as CapabilityMutationResult, s as CapabilityParameterSchema, t as CapabilityRead, u as CapabilityReadResult, v as CatalogExecutorInvocation, w as CatalogExecutorProviderOptions, x as CompleteAuthRequest, y as ComposeIntegrationRegistryOptions, z as ConnectionCredentialResolverOptions, B as ConnectorAdapter, D as ConnectorAdapterProviderOptions, E as ConnectorCredentials, F as ConnectorInvocation, G as ConnectorManifest, H as ConnectorManifestValidationIssue, I as ConnectorManifestValidationResult, J as ConsentSummary, K as ConsistencyModel, ConsoleStep, CredentialFieldSpec, CredentialValidationInput, CredentialValidationResult, L as CredentialsExpired, CustomAuthSpec, M as DEFAULT_INTEGRATION_BRIDGE_ENV, N as DEFAULT_SIGNATURE_TOLERANCE_SECONDS, O as DataSourceMetadata, P as DefaultIntegrationActionGuard, Q as EventHandlerResult, R as ExchangeCodeInput, S as GatewayCatalogAction, T as GatewayCatalogEntry, U as GatewayCatalogProviderOptions, V as GatewayCatalogTrigger, W as GenericHmacVerifyOptions, X as GoogleCalendarOptions, Y as GoogleSheetsOptions, Z as GraphqlOperationSpec, HealthcheckPlan, HealthcheckSpec, HmacAuthSpec, _ as HttpIntegrationProviderOptions, $ as HubSpotOptions, INTEGRATION_FAMILIES, a0 as ImportCatalogOptions, a1 as InMemoryConnectionStore, a2 as InMemoryIntegrationApprovalStore, a3 as InMemoryIntegrationAuditStore, a4 as InMemoryIntegrationEventStore, a5 as InMemoryIntegrationGrantStore, a6 as InMemoryIntegrationHealthcheckStore, a7 as InMemoryIntegrationIdempotencyStore, a8 as InMemoryIntegrationSecretStore, a9 as InMemoryIntegrationWorkflowStore, aa as InMemoryOAuthFlowStore, ab as InboundEvent, ac as InferIntegrationRequirementsOptions, ad as InstalledIntegrationWorkflow, ae as IntegrationActionGuard, af as IntegrationActionPack, ag as IntegrationActionRequest, ah as IntegrationActionResult, ai as IntegrationActionRisk, aj as IntegrationActor, ak as IntegrationApprovalFilter, al as IntegrationApprovalRecord, am as IntegrationApprovalRequest, an as IntegrationApprovalResolution, ao as IntegrationApprovalStatus, ap as IntegrationApprovalStore, aq as IntegrationAuditEvent, ar as IntegrationAuditEventType, as as IntegrationAuditFilter, at as IntegrationAuditSink, au as IntegrationAuditStore, IntegrationAuthMode, IntegrationAuthSpec, av as IntegrationBridgePayload, aw as IntegrationBridgeToolBinding, ax as IntegrationCapability, ay as IntegrationCapabilityBinding, az as IntegrationCatalogFreshnessOptions, aA as IntegrationCatalogFreshnessResult, aB as IntegrationCatalogSource, aC as IntegrationConnection, aD as IntegrationConnectionStore, aE as IntegrationConnector, aF as IntegrationConnectorAction, aG as IntegrationConnectorCategory, aH as IntegrationConnectorTrigger, aI as IntegrationCoveragePriority, aJ as IntegrationCoverageSpec, aK as IntegrationDataClass, aL as IntegrationError, aM as IntegrationErrorCode, aN as IntegrationEventStore, IntegrationFamilyId, IntegrationFamilySpec, aO as IntegrationGrant, aP as IntegrationGrantStore, aQ as IntegrationGuardContext, aR as IntegrationHealthcheckCheck, aS as IntegrationHealthcheckResult, aT as IntegrationHealthcheckStatus, aU as IntegrationHealthcheckStore, aV as IntegrationHub, aW as IntegrationHubOptions, aX as IntegrationIdempotencyRecord, aY as IntegrationIdempotencyStore, aZ as IntegrationInvocationEnvelope, a_ as IntegrationInvocationEnvelopeValidationOptions, IntegrationLifecycleSpec, a$ as IntegrationManifest, b0 as IntegrationManifestResolution, IntegrationPlannerHints, b1 as IntegrationPolicyDecision, b2 as IntegrationPolicyEffect, b3 as IntegrationPolicyEngine, b4 as IntegrationPolicyRule, b5 as IntegrationProvider, b6 as IntegrationProviderKind, b7 as IntegrationRateLimitDecision, b8 as IntegrationRateLimiter, b9 as IntegrationRegistry, ba as IntegrationRegistryConflict, bb as IntegrationRegistryEntry, bc as IntegrationRegistrySourceRef, bd as IntegrationRegistrySummary, be as IntegrationRequirement, bf as IntegrationRequirementMode, bg as IntegrationRequirementResolution, bh as IntegrationRequirementStatus, bi as IntegrationRuntime, bj as IntegrationRuntimeError, bk as IntegrationRuntimeHub, bl as IntegrationRuntimeOptions, bm as IntegrationSandboxBundle, bn as IntegrationSandboxHost, bo as IntegrationSandboxHostHub, bp as IntegrationSandboxHostOptions, bq as IntegrationSecretStore, IntegrationSetupSpec, IntegrationSpec, IntegrationSpecStatus, IntegrationSpecValidationIssue, IntegrationSpecValidationResult, br as IntegrationSupportTier, bs as IntegrationToolDefinition, bt as IntegrationToolSearchFilters, bu as IntegrationToolSearchResult, bv as IntegrationTriggerEvent, bw as IntegrationTriggerSubscription, bx as IntegrationUserAction, by as IntegrationWebhookReceiverResult, bz as IntegrationWorkflowDefinition, bA as IntegrationWorkflowRuntime, bB as IntegrationWorkflowRuntimeHub, bC as IntegrationWorkflowRuntimeOptions, bD as IntegrationWorkflowStore, bE as InvokeWithCapabilityRequest, bF as IssueCapabilityRequest, bG as IssuedIntegrationCapability, bH as ManifestValidationIssue, bI as ManifestValidationResult, bJ as McpCatalog, bK as McpCatalogTool, bL as McpToolDefinition, bM as MicrosoftCalendarOptions, bN as MissingRequirementExplanation, NoneAuthSpec, bO as NormalizedIntegrationError, bP as NormalizedIntegrationResult, NormalizedPermission, bQ as NotionDatabaseOptions, OAuth2AuthSpec, bR as OAuthFlowStore, bS as OAuthTokens, bT as OpenApiDocument, bU as OpenApiOperation, bV as PROVIDER_PASSTHROUGH_ACTION, bW as ParsedStripeSignatureHeader, bX as PendingOAuthFlow, PermissionDescriptor, bY as PlatformIntegrationPolicyPresetOptions, PostSetupCheck, bZ as ProviderHttpRequestInput, b_ as ProviderPassthroughPolicy, Quirk, b$ as RateLimitSpec, c0 as RefreshInput, c1 as RenderConsentOptions, RenderSpecOptions, RenderedConsoleStep, c2 as ResolvedDataSource, c3 as ResourceContention, c4 as RestConnectorSpec, c5 as RestCredentialPlacement, c6 as RestOperationSpec, c7 as RestRequestSpec, ScopeDescriptor, c8 as SecretRef, c9 as SlackOptions, ca as SlackVerifyOptions, cb as StartAuthRequest, cc as StartAuthResult, cd as StartOAuthInput, ce as StartOAuthOutput, cf as StaticIntegrationPolicyEngine, cg as StaticIntegrationPolicyOptions, ch as StoredIntegrationEvent, ci as StripeVerifyOptions, cj as TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER, ck as TangleCatalogExecutorInvocation, cl as TangleCatalogExecutorProviderOptions, cm as TangleCatalogHttpExecutorOptions, cn as TangleCatalogRuntimeRequest, co as TangleIntegrationCatalogEntry, cp as TangleIntegrationCatalogFreshnessOptions, cq as TangleIntegrationCatalogFreshnessResult, cr as TangleIntegrationInvokeInput, cs as TangleIntegrationInvokeResult, ct as TangleIntegrationsClient, cu as TangleIntegrationsClientOptions, cv as TwilioVerifyOptions, cw as _resetPendingFlowsForTests, cx as adapterManifestsToConnectors, cy as airtableConnector, cz as asanaConnector, cA as assertValidConnectorManifest, cB as assertValidIntegrationManifest, assertValidIntegrationSpec, cC as auditIntegrationCatalogFreshness, cD as auditTangleIntegrationCatalogFreshness, cE as buildActivepiecesConnectors, cF as buildActivepiecesRuntimeRequest, cG as buildApprovalRequest, cH as buildCanonicalLaunchConnectors, cI as buildDefaultIntegrationRegistry, buildHealthcheckPlan, cJ as buildIntegrationBridgeEnvironment, cK as buildIntegrationBridgePayload, cL as buildIntegrationCoverageConnectors, cM as buildIntegrationInvocationEnvelope, cN as buildIntegrationToolCatalog, cO as buildTangleCatalogRuntimeRequest, cP as buildTangleIntegrationCatalogConnectors, cQ as calendarExercisePlannerManifest, cR as canonicalActionConnectorId, cS as canonicalConnectorId, cT as composeIntegrationRegistry, consoleStepsToText, cU as consumePendingFlow, cV as createActivepiecesExecutorProvider, cW as createActivepiecesHttpExecutor, cX as createApprovalBackedPolicyEngine, cY as createAuditingActionGuard, cZ as createCatalogExecutorProvider, c_ as createConnectionCredentialResolver, c$ as createConnectorAdapterCatalogSource, d0 as createConnectorAdapterProvider, d1 as createCredentialBackedAdapterProvider, d2 as createDefaultIntegrationActionGuard, d3 as createDefaultIntegrationPolicyEngine, d4 as createGatewayCatalogProvider, d5 as createHttpIntegrationProvider, d6 as createIntegrationAuditEvent, d7 as createIntegrationRuntime, d8 as createIntegrationWorkflowRuntime, d9 as createMockIntegrationProvider, da as createPlatformIntegrationPolicyPreset, db as createTangleCatalogExecutorProvider, dc as createTangleCatalogHttpExecutor, dd as createTangleIntegrationsClient, de as declarativeRestConnector, df as decodeIntegrationBridgePayload, dg as dispatchIntegrationInvocation, dh as encodeIntegrationBridgePayload, di as exchangeAuthorizationCode, dj as explainMissingRequirements, dk as extractActivepiecesPublicPieceCount, dl as extractExternalCatalogPublicCount, dm as firstHeader, dn as getActivepiecesOverride, getIntegrationFamily, getIntegrationSpec, dp as githubConnector, dq as gitlabConnector, dr as googleCalendar, ds as googleSheets, dt as healthcheckRequest, du as hubspot, dv as importGraphqlConnector, dw as importMcpConnector, dx as importOpenApiConnector, dy as inferIntegrationManifestFromTools, dz as inferIntegrationSupportTier, dA as integrationCoverageChecklistMarkdown, integrationSpecToConnector, dB as integrationToolName, dC as invocationRequestFromEnvelope, dD as listActivepiecesCatalogEntries, listExecutableIntegrationSpecs, dE as listIntegrationCoverageSpecs, listIntegrationSpecs, dF as listTangleIntegrationCatalogEntries, dG as manifestToConnector, dH as microsoftCalendar, dI as normalizeGatewayCatalog, dJ as normalizeIntegrationError, dK as normalizeIntegrationResult, dL as notionDatabase, dM as parseIntegrationBridgeEnvironment, dN as parseIntegrationToolName, dO as parseStripeSignatureHeader, dP as receiveIntegrationWebhook, dQ as redactApprovalRequest, dR as redactCapability, dS as redactIntegrationBridgePayload, dT as redactInvocationEnvelope, dU as refreshAccessToken, renderAgentToolDescription, dV as renderApprovalCopy, dW as renderConsentSummary, renderConsoleSteps, renderRunbookMarkdown, dX as resolveConnectionCredentials, dY as resolveIntegrationApproval, dZ as revokeConnection, d_ as runIntegrationHealthcheck, d$ as runIntegrationHealthchecks, e0 as salesforceConnector, e1 as sanitizeAuditConnection, e2 as sanitizeConnection, e3 as searchIntegrationTools, e4 as signActivepiecesRuntimeRequest, e5 as signCapability, e6 as signTangleCatalogRuntimeRequest, e7 as slack, e8 as slackEventsConnector, specAuthToConnectorAuth, e9 as startOAuthFlow, ea as statusForCode, eb as storedEventToTriggerEvent, ec as stripePackConnector, ed as stripeWebhookReceiverConnector, ee as summarizeIntegrationRegistry, ef as toMcpTools, eg as twilioSmsConnector, eh as validateConnectorManifest, validateCredentialFormat, validateCredentialSet, ei as validateIntegrationInvocationEnvelope, ej as validateIntegrationManifest, validateIntegrationSpec, ek as validateProviderPassthroughRequest, el as verifyActivepiecesRuntimeSignature, em as verifyCapabilityToken, en as verifyHmacSignature, eo as verifySlackSignature, ep as verifyStripeSignature, eq as verifyTangleCatalogRuntimeSignature, er as verifyTwilioSignature, es as webhookConnector } from './specs.js';
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-DIJ3I66K.js";
|
|
22
22
|
|
|
23
23
|
// src/index.ts
|
|
24
|
-
import { createHmac as
|
|
24
|
+
import { createHmac as createHmac4, randomUUID as randomUUID4, timingSafeEqual as timingSafeEqual3 } from "crypto";
|
|
25
25
|
|
|
26
26
|
// src/activepieces-catalog.ts
|
|
27
27
|
import { readFileSync } from "fs";
|
|
@@ -223,7 +223,7 @@ function defaultActions(id, scopes, dataClass) {
|
|
|
223
223
|
dataClass,
|
|
224
224
|
approvalRequired: true,
|
|
225
225
|
inputSchema: { type: "object", additionalProperties: true, properties: {} },
|
|
226
|
-
description: `Create or update a ${id} record through
|
|
226
|
+
description: `Create or update a ${id} record through a catalog-backed connector.`
|
|
227
227
|
}
|
|
228
228
|
];
|
|
229
229
|
}
|
|
@@ -5817,6 +5817,253 @@ function createActivepiecesExecutorProvider(options) {
|
|
|
5817
5817
|
});
|
|
5818
5818
|
}
|
|
5819
5819
|
|
|
5820
|
+
// src/activepieces-runtime.ts
|
|
5821
|
+
import { createHmac as createHmac3, randomUUID as randomUUID3, timingSafeEqual as timingSafeEqual2 } from "crypto";
|
|
5822
|
+
var ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER = "x-tangle-activepieces-signature";
|
|
5823
|
+
var TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER = "x-tangle-catalog-signature";
|
|
5824
|
+
function createActivepiecesHttpExecutor(options) {
|
|
5825
|
+
const endpoint = options.endpoint.replace(/\/$/, "");
|
|
5826
|
+
const path = options.path ?? "/v1/activepieces/actions/invoke";
|
|
5827
|
+
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
|
|
5828
|
+
const signatureHeader = options.signatureHeader ?? ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER;
|
|
5829
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
5830
|
+
const requestId = options.requestId ?? (() => `apexec_${randomUUID3()}`);
|
|
5831
|
+
return async (invocation) => {
|
|
5832
|
+
const body = buildActivepiecesRuntimeRequest(invocation, requestId());
|
|
5833
|
+
const serialized = JSON.stringify(body);
|
|
5834
|
+
const response = await fetchImpl(`${endpoint}${normalizedPath}`, {
|
|
5835
|
+
method: "POST",
|
|
5836
|
+
headers: {
|
|
5837
|
+
"content-type": "application/json",
|
|
5838
|
+
...options.headers,
|
|
5839
|
+
...options.secret ? { [signatureHeader]: signActivepiecesRuntimeRequest(serialized, options.secret) } : {}
|
|
5840
|
+
},
|
|
5841
|
+
body: serialized,
|
|
5842
|
+
signal: AbortSignal.timeout(options.timeoutMs ?? 3e4)
|
|
5843
|
+
});
|
|
5844
|
+
const parsed = await response.json().catch(() => void 0);
|
|
5845
|
+
if (!response.ok) {
|
|
5846
|
+
return parsed ?? {
|
|
5847
|
+
ok: false,
|
|
5848
|
+
action: invocation.request.action,
|
|
5849
|
+
output: { message: `Activepieces runtime returned HTTP ${response.status}.` }
|
|
5850
|
+
};
|
|
5851
|
+
}
|
|
5852
|
+
return parsed ?? {
|
|
5853
|
+
ok: false,
|
|
5854
|
+
action: invocation.request.action,
|
|
5855
|
+
output: { message: "Activepieces runtime returned an empty response." }
|
|
5856
|
+
};
|
|
5857
|
+
};
|
|
5858
|
+
}
|
|
5859
|
+
function buildActivepiecesRuntimeRequest(invocation, requestId = `apexec_${randomUUID3()}`) {
|
|
5860
|
+
return {
|
|
5861
|
+
version: 1,
|
|
5862
|
+
requestId,
|
|
5863
|
+
providerId: invocation.connection.providerId,
|
|
5864
|
+
connection: invocation.connection,
|
|
5865
|
+
connector: {
|
|
5866
|
+
id: invocation.connector.id,
|
|
5867
|
+
title: invocation.connector.title,
|
|
5868
|
+
auth: invocation.connector.auth,
|
|
5869
|
+
scopes: invocation.connector.scopes,
|
|
5870
|
+
metadata: invocation.connector.metadata
|
|
5871
|
+
},
|
|
5872
|
+
piece: invocation.piece,
|
|
5873
|
+
action: {
|
|
5874
|
+
id: invocation.request.action,
|
|
5875
|
+
input: invocation.request.input,
|
|
5876
|
+
idempotencyKey: invocation.request.idempotencyKey,
|
|
5877
|
+
dryRun: invocation.request.dryRun,
|
|
5878
|
+
metadata: invocation.request.metadata
|
|
5879
|
+
}
|
|
5880
|
+
};
|
|
5881
|
+
}
|
|
5882
|
+
function signActivepiecesRuntimeRequest(serializedBody, secret) {
|
|
5883
|
+
return `sha256=${createHmac3("sha256", secret).update(serializedBody).digest("hex")}`;
|
|
5884
|
+
}
|
|
5885
|
+
function verifyActivepiecesRuntimeSignature(serializedBody, signature, secret) {
|
|
5886
|
+
if (!signature) return false;
|
|
5887
|
+
const expected = signActivepiecesRuntimeRequest(serializedBody, secret);
|
|
5888
|
+
const left = Buffer.from(signature);
|
|
5889
|
+
const right = Buffer.from(expected);
|
|
5890
|
+
return left.length === right.length && timingSafeEqual2(left, right);
|
|
5891
|
+
}
|
|
5892
|
+
function createTangleCatalogHttpExecutor(options) {
|
|
5893
|
+
return createActivepiecesHttpExecutor({
|
|
5894
|
+
...options,
|
|
5895
|
+
path: options.path ?? "/v1/integration-catalog/actions/invoke",
|
|
5896
|
+
signatureHeader: options.signatureHeader ?? TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER
|
|
5897
|
+
});
|
|
5898
|
+
}
|
|
5899
|
+
var buildTangleCatalogRuntimeRequest = buildActivepiecesRuntimeRequest;
|
|
5900
|
+
var signTangleCatalogRuntimeRequest = signActivepiecesRuntimeRequest;
|
|
5901
|
+
var verifyTangleCatalogRuntimeSignature = verifyActivepiecesRuntimeSignature;
|
|
5902
|
+
|
|
5903
|
+
// src/catalog-freshness.ts
|
|
5904
|
+
var ACTIVEPIECES_PUBLIC_CATALOG_URL = "https://www.activepieces.com/pieces";
|
|
5905
|
+
function parseCount(value) {
|
|
5906
|
+
if (!value) return void 0;
|
|
5907
|
+
const parsed = Number.parseInt(value.replace(/,/g, ""), 10);
|
|
5908
|
+
return Number.isFinite(parsed) ? parsed : void 0;
|
|
5909
|
+
}
|
|
5910
|
+
function extractActivepiecesPublicPieceCount(html) {
|
|
5911
|
+
const showingMatch = html.match(/Showing\s+([0-9,]+)\s+pieces/i);
|
|
5912
|
+
const integrationMatch = html.match(/([0-9,]+)\+?\s+Integrations/i);
|
|
5913
|
+
return parseCount(showingMatch?.[1]) ?? parseCount(integrationMatch?.[1]);
|
|
5914
|
+
}
|
|
5915
|
+
async function auditIntegrationCatalogFreshness(options = {}) {
|
|
5916
|
+
const minActivepiecesConnectors = options.minActivepiecesConnectors ?? 600;
|
|
5917
|
+
const staleConnectorDelta = options.staleConnectorDelta ?? 25;
|
|
5918
|
+
const activepiecesEntries = listActivepiecesCatalogEntries();
|
|
5919
|
+
const activepiecesConnectors = buildActivepiecesConnectors({
|
|
5920
|
+
includeCatalogActions: true
|
|
5921
|
+
});
|
|
5922
|
+
const executableActivepiecesProvider = createActivepiecesExecutorProvider({
|
|
5923
|
+
executeAction: () => ({ ok: true, action: "audit.noop" })
|
|
5924
|
+
});
|
|
5925
|
+
const executableActivepiecesConnectors = await executableActivepiecesProvider.listConnectors();
|
|
5926
|
+
const executableRegistry = composeIntegrationRegistry([
|
|
5927
|
+
{
|
|
5928
|
+
id: executableActivepiecesProvider.id,
|
|
5929
|
+
connectors: executableActivepiecesConnectors
|
|
5930
|
+
}
|
|
5931
|
+
]);
|
|
5932
|
+
const executableTools = buildIntegrationToolCatalog(executableRegistry.connectors);
|
|
5933
|
+
const unsupportedExecutableConnectorIds = executableActivepiecesConnectors.filter((connector) => connector.actions.length === 0).map((connector) => connector.id);
|
|
5934
|
+
const registry = buildDefaultIntegrationRegistry({
|
|
5935
|
+
includeSpecs: true,
|
|
5936
|
+
includeActivepieces: true
|
|
5937
|
+
});
|
|
5938
|
+
const warnings = [];
|
|
5939
|
+
if (activepiecesConnectors.length < minActivepiecesConnectors) {
|
|
5940
|
+
warnings.push(
|
|
5941
|
+
`Activepieces catalog has ${activepiecesConnectors.length} connectors, below floor ${minActivepiecesConnectors}.`
|
|
5942
|
+
);
|
|
5943
|
+
}
|
|
5944
|
+
if (unsupportedExecutableConnectorIds.length > 0) {
|
|
5945
|
+
warnings.push(
|
|
5946
|
+
`Activepieces executable provider has ${unsupportedExecutableConnectorIds.length} connectors without actions.`
|
|
5947
|
+
);
|
|
5948
|
+
}
|
|
5949
|
+
if (executableTools.length < activepiecesEntries.length) {
|
|
5950
|
+
warnings.push(
|
|
5951
|
+
`Activepieces executable provider produced only ${executableTools.length} tool definitions for ${activepiecesEntries.length} entries.`
|
|
5952
|
+
);
|
|
5953
|
+
}
|
|
5954
|
+
let upstream;
|
|
5955
|
+
if (options.liveActivepieces) {
|
|
5956
|
+
upstream = await checkActivepiecesPublicCatalog({
|
|
5957
|
+
localConnectorCount: activepiecesConnectors.length,
|
|
5958
|
+
staleConnectorDelta,
|
|
5959
|
+
fetchImpl: options.fetchImpl,
|
|
5960
|
+
warnings
|
|
5961
|
+
});
|
|
5962
|
+
}
|
|
5963
|
+
return {
|
|
5964
|
+
ok: warnings.length === 0,
|
|
5965
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
5966
|
+
local: {
|
|
5967
|
+
activepiecesEntries: activepiecesEntries.length,
|
|
5968
|
+
activepiecesConnectors: activepiecesConnectors.length,
|
|
5969
|
+
activepiecesActions: activepiecesConnectors.reduce(
|
|
5970
|
+
(sum, connector) => sum + connector.actions.length,
|
|
5971
|
+
0
|
|
5972
|
+
),
|
|
5973
|
+
activepiecesTriggers: activepiecesConnectors.reduce(
|
|
5974
|
+
(sum, connector) => sum + (connector.triggers?.length ?? 0),
|
|
5975
|
+
0
|
|
5976
|
+
),
|
|
5977
|
+
executableActivepiecesConnectors: executableActivepiecesConnectors.length,
|
|
5978
|
+
executableActivepiecesActions: executableActivepiecesConnectors.reduce(
|
|
5979
|
+
(sum, connector) => sum + connector.actions.length,
|
|
5980
|
+
0
|
|
5981
|
+
),
|
|
5982
|
+
executableActivepiecesTriggers: executableActivepiecesConnectors.reduce(
|
|
5983
|
+
(sum, connector) => sum + (connector.triggers?.length ?? 0),
|
|
5984
|
+
0
|
|
5985
|
+
),
|
|
5986
|
+
executableToolDefinitions: executableTools.length,
|
|
5987
|
+
unsupportedExecutableConnectorIds,
|
|
5988
|
+
registryEntries: registry.entries.length,
|
|
5989
|
+
registrySummary: summarizeIntegrationRegistry(registry),
|
|
5990
|
+
conflictSamples: registry.entries.flatMap((entry) => entry.conflicts).slice(0, 10)
|
|
5991
|
+
},
|
|
5992
|
+
upstream,
|
|
5993
|
+
warnings
|
|
5994
|
+
};
|
|
5995
|
+
}
|
|
5996
|
+
async function checkActivepiecesPublicCatalog(input) {
|
|
5997
|
+
try {
|
|
5998
|
+
const res = await (input.fetchImpl ?? fetch)(ACTIVEPIECES_PUBLIC_CATALOG_URL, {
|
|
5999
|
+
headers: { accept: "text/html" },
|
|
6000
|
+
signal: AbortSignal.timeout(15e3)
|
|
6001
|
+
});
|
|
6002
|
+
if (!res.ok) {
|
|
6003
|
+
const warning = `Activepieces freshness request failed with HTTP ${res.status}.`;
|
|
6004
|
+
input.warnings.push(warning);
|
|
6005
|
+
return {
|
|
6006
|
+
checkedUrl: ACTIVEPIECES_PUBLIC_CATALOG_URL,
|
|
6007
|
+
warning
|
|
6008
|
+
};
|
|
6009
|
+
}
|
|
6010
|
+
const activepiecesPieces = extractActivepiecesPublicPieceCount(await res.text());
|
|
6011
|
+
const activepiecesDelta = activepiecesPieces === void 0 ? void 0 : activepiecesPieces - input.localConnectorCount;
|
|
6012
|
+
if (activepiecesDelta !== void 0 && activepiecesDelta > input.staleConnectorDelta) {
|
|
6013
|
+
input.warnings.push(
|
|
6014
|
+
`Activepieces upstream appears ${activepiecesDelta} connectors ahead of the vendored package catalog.`
|
|
6015
|
+
);
|
|
6016
|
+
}
|
|
6017
|
+
return {
|
|
6018
|
+
activepiecesPieces,
|
|
6019
|
+
activepiecesDelta,
|
|
6020
|
+
checkedUrl: ACTIVEPIECES_PUBLIC_CATALOG_URL,
|
|
6021
|
+
warning: activepiecesPieces === void 0 ? "Could not parse upstream piece count." : void 0
|
|
6022
|
+
};
|
|
6023
|
+
} catch (error) {
|
|
6024
|
+
const warning = error instanceof Error ? error.message : "Activepieces freshness request failed.";
|
|
6025
|
+
input.warnings.push(warning);
|
|
6026
|
+
return {
|
|
6027
|
+
checkedUrl: ACTIVEPIECES_PUBLIC_CATALOG_URL,
|
|
6028
|
+
warning
|
|
6029
|
+
};
|
|
6030
|
+
}
|
|
6031
|
+
}
|
|
6032
|
+
|
|
6033
|
+
// src/tangle-catalog.ts
|
|
6034
|
+
var listTangleIntegrationCatalogEntries = listActivepiecesCatalogEntries;
|
|
6035
|
+
var buildTangleIntegrationCatalogConnectors = buildActivepiecesConnectors;
|
|
6036
|
+
var createTangleCatalogExecutorProvider = createActivepiecesExecutorProvider;
|
|
6037
|
+
var extractExternalCatalogPublicCount = extractActivepiecesPublicPieceCount;
|
|
6038
|
+
async function auditTangleIntegrationCatalogFreshness(options = {}) {
|
|
6039
|
+
const result = await auditIntegrationCatalogFreshness(options);
|
|
6040
|
+
return {
|
|
6041
|
+
ok: result.ok,
|
|
6042
|
+
generatedAt: result.generatedAt,
|
|
6043
|
+
local: {
|
|
6044
|
+
catalogEntries: result.local.activepiecesEntries,
|
|
6045
|
+
catalogConnectors: result.local.activepiecesConnectors,
|
|
6046
|
+
catalogActions: result.local.activepiecesActions,
|
|
6047
|
+
catalogTriggers: result.local.activepiecesTriggers,
|
|
6048
|
+
executableCatalogConnectors: result.local.executableActivepiecesConnectors,
|
|
6049
|
+
executableCatalogActions: result.local.executableActivepiecesActions,
|
|
6050
|
+
executableCatalogTriggers: result.local.executableActivepiecesTriggers,
|
|
6051
|
+
executableToolDefinitions: result.local.executableToolDefinitions,
|
|
6052
|
+
unsupportedExecutableConnectorIds: result.local.unsupportedExecutableConnectorIds,
|
|
6053
|
+
registryEntries: result.local.registryEntries,
|
|
6054
|
+
registrySummary: result.local.registrySummary,
|
|
6055
|
+
conflictSamples: result.local.conflictSamples
|
|
6056
|
+
},
|
|
6057
|
+
upstream: result.upstream ? {
|
|
6058
|
+
externalEntries: result.upstream.activepiecesPieces,
|
|
6059
|
+
externalDelta: result.upstream.activepiecesDelta,
|
|
6060
|
+
checkedUrl: result.upstream.checkedUrl,
|
|
6061
|
+
warning: result.upstream.warning
|
|
6062
|
+
} : void 0,
|
|
6063
|
+
warnings: result.warnings.map((warning) => warning.replaceAll("Activepieces", "Tangle Integrations Catalog"))
|
|
6064
|
+
};
|
|
6065
|
+
}
|
|
6066
|
+
|
|
5820
6067
|
// src/runtime.ts
|
|
5821
6068
|
var InMemoryIntegrationGrantStore = class {
|
|
5822
6069
|
grants = /* @__PURE__ */ new Map();
|
|
@@ -6187,7 +6434,7 @@ var IntegrationHub = class {
|
|
|
6187
6434
|
assertScopes(connection, request.scopes);
|
|
6188
6435
|
const now = this.now();
|
|
6189
6436
|
const capability = {
|
|
6190
|
-
id: `cap_${
|
|
6437
|
+
id: `cap_${randomUUID4()}`,
|
|
6191
6438
|
subject: request.subject,
|
|
6192
6439
|
connectionId: request.connectionId,
|
|
6193
6440
|
scopes: unique8(request.scopes),
|
|
@@ -6424,12 +6671,12 @@ function assertScopes(connection, requiredScopes2) {
|
|
|
6424
6671
|
if (missing2.length > 0) throw new IntegrationError(`Missing integration scopes: ${missing2.join(", ")}`, "scope_denied");
|
|
6425
6672
|
}
|
|
6426
6673
|
function hmac(payload, secret) {
|
|
6427
|
-
return
|
|
6674
|
+
return createHmac4("sha256", secret).update(payload).digest("base64url");
|
|
6428
6675
|
}
|
|
6429
6676
|
function constantTimeEqual(a, b) {
|
|
6430
6677
|
const left = Buffer.from(a);
|
|
6431
6678
|
const right = Buffer.from(b);
|
|
6432
|
-
return left.length === right.length &&
|
|
6679
|
+
return left.length === right.length && timingSafeEqual3(left, right);
|
|
6433
6680
|
}
|
|
6434
6681
|
function base64UrlEncode(value) {
|
|
6435
6682
|
return Buffer.from(value, "utf8").toString("base64url");
|
|
@@ -6442,6 +6689,8 @@ function unique8(values) {
|
|
|
6442
6689
|
}
|
|
6443
6690
|
export {
|
|
6444
6691
|
ACTIVEPIECES_OVERRIDES,
|
|
6692
|
+
ACTIVEPIECES_PUBLIC_CATALOG_URL,
|
|
6693
|
+
ACTIVEPIECES_RUNTIME_SIGNATURE_HEADER,
|
|
6445
6694
|
ApprovalBackedPolicyEngine,
|
|
6446
6695
|
CANONICAL_INTEGRATION_ACTIONS,
|
|
6447
6696
|
CredentialsExpired,
|
|
@@ -6468,6 +6717,7 @@ export {
|
|
|
6468
6717
|
PROVIDER_PASSTHROUGH_ACTION,
|
|
6469
6718
|
ResourceContention,
|
|
6470
6719
|
StaticIntegrationPolicyEngine,
|
|
6720
|
+
TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER,
|
|
6471
6721
|
TangleIntegrationsClient,
|
|
6472
6722
|
_resetPendingFlowsForTests,
|
|
6473
6723
|
adapterManifestsToConnectors,
|
|
@@ -6476,7 +6726,10 @@ export {
|
|
|
6476
6726
|
assertValidConnectorManifest,
|
|
6477
6727
|
assertValidIntegrationManifest,
|
|
6478
6728
|
assertValidIntegrationSpec,
|
|
6729
|
+
auditIntegrationCatalogFreshness,
|
|
6730
|
+
auditTangleIntegrationCatalogFreshness,
|
|
6479
6731
|
buildActivepiecesConnectors,
|
|
6732
|
+
buildActivepiecesRuntimeRequest,
|
|
6480
6733
|
buildApprovalRequest,
|
|
6481
6734
|
buildCanonicalLaunchConnectors,
|
|
6482
6735
|
buildDefaultIntegrationRegistry,
|
|
@@ -6486,6 +6739,8 @@ export {
|
|
|
6486
6739
|
buildIntegrationCoverageConnectors,
|
|
6487
6740
|
buildIntegrationInvocationEnvelope,
|
|
6488
6741
|
buildIntegrationToolCatalog,
|
|
6742
|
+
buildTangleCatalogRuntimeRequest,
|
|
6743
|
+
buildTangleIntegrationCatalogConnectors,
|
|
6489
6744
|
calendarExercisePlannerManifest,
|
|
6490
6745
|
canonicalActionConnectorId,
|
|
6491
6746
|
canonicalConnectorId,
|
|
@@ -6493,6 +6748,7 @@ export {
|
|
|
6493
6748
|
consoleStepsToText,
|
|
6494
6749
|
consumePendingFlow,
|
|
6495
6750
|
createActivepiecesExecutorProvider,
|
|
6751
|
+
createActivepiecesHttpExecutor,
|
|
6496
6752
|
createApprovalBackedPolicyEngine,
|
|
6497
6753
|
createAuditingActionGuard,
|
|
6498
6754
|
createCatalogExecutorProvider,
|
|
@@ -6509,6 +6765,8 @@ export {
|
|
|
6509
6765
|
createIntegrationWorkflowRuntime,
|
|
6510
6766
|
createMockIntegrationProvider,
|
|
6511
6767
|
createPlatformIntegrationPolicyPreset,
|
|
6768
|
+
createTangleCatalogExecutorProvider,
|
|
6769
|
+
createTangleCatalogHttpExecutor,
|
|
6512
6770
|
createTangleIntegrationsClient,
|
|
6513
6771
|
declarativeRestConnector,
|
|
6514
6772
|
decodeIntegrationBridgePayload,
|
|
@@ -6516,6 +6774,8 @@ export {
|
|
|
6516
6774
|
encodeIntegrationBridgePayload,
|
|
6517
6775
|
exchangeAuthorizationCode,
|
|
6518
6776
|
explainMissingRequirements,
|
|
6777
|
+
extractActivepiecesPublicPieceCount,
|
|
6778
|
+
extractExternalCatalogPublicCount,
|
|
6519
6779
|
firstHeader,
|
|
6520
6780
|
getActivepiecesOverride,
|
|
6521
6781
|
getIntegrationFamily,
|
|
@@ -6539,6 +6799,7 @@ export {
|
|
|
6539
6799
|
listExecutableIntegrationSpecs,
|
|
6540
6800
|
listIntegrationCoverageSpecs,
|
|
6541
6801
|
listIntegrationSpecs,
|
|
6802
|
+
listTangleIntegrationCatalogEntries,
|
|
6542
6803
|
manifestToConnector,
|
|
6543
6804
|
microsoftCalendar,
|
|
6544
6805
|
normalizeGatewayCatalog,
|
|
@@ -6568,7 +6829,9 @@ export {
|
|
|
6568
6829
|
sanitizeAuditConnection,
|
|
6569
6830
|
sanitizeConnection,
|
|
6570
6831
|
searchIntegrationTools,
|
|
6832
|
+
signActivepiecesRuntimeRequest,
|
|
6571
6833
|
signCapability,
|
|
6834
|
+
signTangleCatalogRuntimeRequest,
|
|
6572
6835
|
slack,
|
|
6573
6836
|
slackEventsConnector,
|
|
6574
6837
|
specAuthToConnectorAuth,
|
|
@@ -6587,10 +6850,12 @@ export {
|
|
|
6587
6850
|
validateIntegrationManifest,
|
|
6588
6851
|
validateIntegrationSpec,
|
|
6589
6852
|
validateProviderPassthroughRequest,
|
|
6853
|
+
verifyActivepiecesRuntimeSignature,
|
|
6590
6854
|
verifyCapabilityToken,
|
|
6591
6855
|
verifyHmacSignature,
|
|
6592
6856
|
verifySlackSignature,
|
|
6593
6857
|
verifyStripeSignature,
|
|
6858
|
+
verifyTangleCatalogRuntimeSignature,
|
|
6594
6859
|
verifyTwilioSignature,
|
|
6595
6860
|
webhookConnector
|
|
6596
6861
|
};
|