@tangle-network/agent-integrations 0.21.0 → 0.22.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 CHANGED
@@ -112,6 +112,7 @@ pnpm add @tangle-network/agent-integrations
112
112
  | `createTangleCatalogExecutorProvider` | Promotes catalog entries to gateway-executable only when a runtime executor is explicitly supplied. |
113
113
  | `createTangleCatalogHttpExecutor` | Signed HTTP executor client for Tangle-hosted catalog runtimes. |
114
114
  | `createTangleCatalogRuntimeHandler` | Server-side `/v1/integration-catalog/actions/invoke` handler with signature, connector, and action validation. |
115
+ | `createTangleCatalogInstalledPackageExecutor` | Runtime-side dispatcher for installed long-tail connector packages with explicit action aliasing and credential resolution hooks. |
115
116
  | `auditTangleIntegrationCatalogFreshness` | Release gate for catalog breadth, executable promotion, registry conflicts, and stale external ingestion. |
116
117
  | `createGatewayCatalogProvider` | Normalizes 500+ gateway-backed connectors into the same provider contract. |
117
118
  | `buildIntegrationInvocationEnvelope` | Sandbox-safe action envelope. |
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
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 TANGLE_INTEGRATIONS_CATALOG_PROVIDER_ID, cl as TANGLE_INTEGRATIONS_CATALOG_SOURCE, cm as TangleCatalogExecutorInvocation, cn as TangleCatalogExecutorProviderOptions, co as TangleCatalogHttpExecutorInvocation, cp as TangleCatalogHttpExecutorOptions, cq as TangleCatalogRuntimeHandlerOptions, cr as TangleCatalogRuntimeHttpRequest, cs as TangleCatalogRuntimeHttpResponse, ct as TangleCatalogRuntimeInvocation, cu as TangleCatalogRuntimeRequest, cv as TangleIntegrationCatalogEntry, cw as TangleIntegrationCatalogFreshnessOptions, cx as TangleIntegrationCatalogFreshnessResult, cy as TangleIntegrationInvokeInput, cz as TangleIntegrationInvokeResult, cA as TangleIntegrationsClient, cB as TangleIntegrationsClientOptions, cC as TwilioVerifyOptions, cD as _resetPendingFlowsForTests, cE as adapterManifestsToConnectors, cF as airtableConnector, cG as asanaConnector, cH as assertValidConnectorManifest, cI as assertValidIntegrationManifest, assertValidIntegrationSpec, cJ as auditIntegrationCatalogFreshness, cK as auditTangleIntegrationCatalogFreshness, cL as buildActivepiecesConnectors, cM as buildActivepiecesRuntimeRequest, cN as buildApprovalRequest, cO as buildCanonicalLaunchConnectors, cP as buildDefaultIntegrationRegistry, buildHealthcheckPlan, cQ as buildIntegrationBridgeEnvironment, cR as buildIntegrationBridgePayload, cS as buildIntegrationCoverageConnectors, cT as buildIntegrationInvocationEnvelope, cU as buildIntegrationToolCatalog, cV as buildTangleCatalogRuntimeRequest, cW as buildTangleIntegrationCatalogConnectors, cX as calendarExercisePlannerManifest, cY as canonicalActionConnectorId, cZ as canonicalConnectorId, c_ as composeIntegrationRegistry, consoleStepsToText, c$ as consumePendingFlow, d0 as createActivepiecesExecutorProvider, d1 as createActivepiecesHttpExecutor, d2 as createApprovalBackedPolicyEngine, d3 as createAuditingActionGuard, d4 as createCatalogExecutorProvider, d5 as createConnectionCredentialResolver, d6 as createConnectorAdapterCatalogSource, d7 as createConnectorAdapterProvider, d8 as createCredentialBackedAdapterProvider, d9 as createDefaultIntegrationActionGuard, da as createDefaultIntegrationPolicyEngine, db as createGatewayCatalogProvider, dc as createHttpIntegrationProvider, dd as createIntegrationAuditEvent, de as createIntegrationRuntime, df as createIntegrationWorkflowRuntime, dg as createMockIntegrationProvider, dh as createPlatformIntegrationPolicyPreset, di as createTangleCatalogExecutorProvider, dj as createTangleCatalogHttpExecutor, dk as createTangleCatalogRuntimeHandler, dl as createTangleIntegrationsClient, dm as declarativeRestConnector, dn as decodeIntegrationBridgePayload, dp as dispatchIntegrationInvocation, dq as encodeIntegrationBridgePayload, dr as exchangeAuthorizationCode, ds as explainMissingRequirements, dt as extractActivepiecesPublicPieceCount, du as extractExternalCatalogPublicCount, dv as firstHeader, dw as getActivepiecesOverride, getIntegrationFamily, getIntegrationSpec, dx as githubConnector, dy as gitlabConnector, dz as googleCalendar, dA as googleSheets, dB as healthcheckRequest, dC as hubspot, dD as importGraphqlConnector, dE as importMcpConnector, dF as importOpenApiConnector, dG as inferIntegrationManifestFromTools, dH as inferIntegrationSupportTier, dI as integrationCoverageChecklistMarkdown, integrationSpecToConnector, dJ as integrationToolName, dK as invocationRequestFromEnvelope, dL as listActivepiecesCatalogEntries, listExecutableIntegrationSpecs, dM as listIntegrationCoverageSpecs, listIntegrationSpecs, dN as listTangleIntegrationCatalogEntries, dO as manifestToConnector, dP as microsoftCalendar, dQ as normalizeGatewayCatalog, dR as normalizeIntegrationError, dS as normalizeIntegrationResult, dT as notionDatabase, dU as parseIntegrationBridgeEnvironment, dV as parseIntegrationToolName, dW as parseStripeSignatureHeader, dX as receiveIntegrationWebhook, dY as redactApprovalRequest, dZ as redactCapability, d_ as redactIntegrationBridgePayload, d$ as redactInvocationEnvelope, e0 as refreshAccessToken, renderAgentToolDescription, e1 as renderApprovalCopy, e2 as renderConsentSummary, renderConsoleSteps, renderRunbookMarkdown, e3 as resolveConnectionCredentials, e4 as resolveIntegrationApproval, e5 as revokeConnection, e6 as runIntegrationHealthcheck, e7 as runIntegrationHealthchecks, e8 as salesforceConnector, e9 as sanitizeAuditConnection, ea as sanitizeConnection, eb as searchIntegrationTools, ec as signActivepiecesRuntimeRequest, ed as signCapability, ee as signTangleCatalogRuntimeRequest, ef as slack, eg as slackEventsConnector, specAuthToConnectorAuth, eh as startOAuthFlow, ei as statusForCode, ej as storedEventToTriggerEvent, ek as stripePackConnector, el as stripeWebhookReceiverConnector, em as summarizeIntegrationRegistry, en as toMcpTools, eo as twilioSmsConnector, ep as validateConnectorManifest, validateCredentialFormat, validateCredentialSet, eq as validateIntegrationInvocationEnvelope, er as validateIntegrationManifest, validateIntegrationSpec, es as validateProviderPassthroughRequest, et as verifyActivepiecesRuntimeSignature, eu as verifyCapabilityToken, ev as verifyHmacSignature, ew as verifySlackSignature, ex as verifyStripeSignature, ey as verifyTangleCatalogRuntimeSignature, ez as verifyTwilioSignature, eA 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 TANGLE_INTEGRATIONS_CATALOG_PROVIDER_ID, cl as TANGLE_INTEGRATIONS_CATALOG_SOURCE, cm as TangleCatalogExecutorInvocation, cn as TangleCatalogExecutorProviderOptions, co as TangleCatalogHttpExecutorInvocation, cp as TangleCatalogHttpExecutorOptions, cq as TangleCatalogInstalledPackageExecutorOptions, cr as TangleCatalogRuntimeHandlerOptions, cs as TangleCatalogRuntimeHttpRequest, ct as TangleCatalogRuntimeHttpResponse, cu as TangleCatalogRuntimeInvocation, cv as TangleCatalogRuntimeModuleAction, cw as TangleCatalogRuntimeRequest, cx as TangleIntegrationCatalogEntry, cy as TangleIntegrationCatalogFreshnessOptions, cz as TangleIntegrationCatalogFreshnessResult, cA as TangleIntegrationInvokeInput, cB as TangleIntegrationInvokeResult, cC as TangleIntegrationsClient, cD as TangleIntegrationsClientOptions, cE as TwilioVerifyOptions, cF as _resetPendingFlowsForTests, cG as adapterManifestsToConnectors, cH as airtableConnector, cI as asanaConnector, cJ as assertValidConnectorManifest, cK as assertValidIntegrationManifest, assertValidIntegrationSpec, cL as auditIntegrationCatalogFreshness, cM as auditTangleIntegrationCatalogFreshness, cN as buildActivepiecesConnectors, cO as buildActivepiecesRuntimeRequest, 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 buildTangleCatalogRuntimeRequest, cY as buildTangleIntegrationCatalogConnectors, cZ as calendarExercisePlannerManifest, c_ as canonicalActionConnectorId, c$ as canonicalConnectorId, d0 as composeIntegrationRegistry, consoleStepsToText, d1 as consumePendingFlow, d2 as createActivepiecesExecutorProvider, d3 as createActivepiecesHttpExecutor, d4 as createApprovalBackedPolicyEngine, d5 as createAuditingActionGuard, d6 as createCatalogExecutorProvider, d7 as createConnectionCredentialResolver, d8 as createConnectorAdapterCatalogSource, d9 as createConnectorAdapterProvider, da as createCredentialBackedAdapterProvider, db as createDefaultIntegrationActionGuard, dc as createDefaultIntegrationPolicyEngine, dd as createGatewayCatalogProvider, de as createHttpIntegrationProvider, df as createIntegrationAuditEvent, dg as createIntegrationRuntime, dh as createIntegrationWorkflowRuntime, di as createMockIntegrationProvider, dj as createPlatformIntegrationPolicyPreset, dk as createTangleCatalogExecutorProvider, dl as createTangleCatalogHttpExecutor, dm as createTangleCatalogInstalledPackageExecutor, dn as createTangleCatalogRuntimeHandler, dp as createTangleIntegrationsClient, dq as declarativeRestConnector, dr as decodeIntegrationBridgePayload, ds as dispatchIntegrationInvocation, dt as encodeIntegrationBridgePayload, du as exchangeAuthorizationCode, dv as explainMissingRequirements, dw as extractActivepiecesPublicPieceCount, dx as extractExternalCatalogPublicCount, dy as firstHeader, dz as getActivepiecesOverride, getIntegrationFamily, getIntegrationSpec, dA as githubConnector, dB as gitlabConnector, dC as googleCalendar, dD as googleSheets, dE as healthcheckRequest, dF as hubspot, dG as importGraphqlConnector, dH as importMcpConnector, dI as importOpenApiConnector, dJ as inferIntegrationManifestFromTools, dK as inferIntegrationSupportTier, dL as integrationCoverageChecklistMarkdown, integrationSpecToConnector, dM as integrationToolName, dN as invocationRequestFromEnvelope, dO as listActivepiecesCatalogEntries, listExecutableIntegrationSpecs, dP as listIntegrationCoverageSpecs, listIntegrationSpecs, dQ as listTangleIntegrationCatalogEntries, dR as manifestToConnector, dS as microsoftCalendar, dT as normalizeGatewayCatalog, dU as normalizeIntegrationError, dV as normalizeIntegrationResult, dW as notionDatabase, dX as parseIntegrationBridgeEnvironment, dY as parseIntegrationToolName, dZ as parseStripeSignatureHeader, d_ as receiveIntegrationWebhook, d$ as redactApprovalRequest, e0 as redactCapability, e1 as redactIntegrationBridgePayload, e2 as redactInvocationEnvelope, e3 as refreshAccessToken, renderAgentToolDescription, e4 as renderApprovalCopy, e5 as renderConsentSummary, renderConsoleSteps, renderRunbookMarkdown, e6 as resolveConnectionCredentials, e7 as resolveIntegrationApproval, e8 as revokeConnection, e9 as runIntegrationHealthcheck, ea as runIntegrationHealthchecks, eb as salesforceConnector, ec as sanitizeAuditConnection, ed as sanitizeConnection, ee as searchIntegrationTools, ef as signActivepiecesRuntimeRequest, eg as signCapability, eh as signTangleCatalogRuntimeRequest, ei as slack, ej as slackEventsConnector, specAuthToConnectorAuth, ek as startOAuthFlow, el as statusForCode, em as storedEventToTriggerEvent, en as stripePackConnector, eo as stripeWebhookReceiverConnector, ep as summarizeIntegrationRegistry, eq as toMcpTools, er as twilioSmsConnector, es as validateConnectorManifest, validateCredentialFormat, validateCredentialSet, et as validateIntegrationInvocationEnvelope, eu as validateIntegrationManifest, validateIntegrationSpec, ev as validateProviderPassthroughRequest, ew as verifyActivepiecesRuntimeSignature, ex as verifyCapabilityToken, ey as verifyHmacSignature, ez as verifySlackSignature, eA as verifyStripeSignature, eB as verifyTangleCatalogRuntimeSignature, eC as verifyTwilioSignature, eD as webhookConnector } from './specs.js';
package/dist/index.js CHANGED
@@ -6272,11 +6272,108 @@ function createTangleCatalogRuntimeHandler(options) {
6272
6272
  };
6273
6273
  };
6274
6274
  }
6275
+ function createTangleCatalogInstalledPackageExecutor(options = {}) {
6276
+ const packageByConnector = new Map(
6277
+ listActivepiecesCatalogEntries().filter((entry) => entry.npmPackage).map((entry) => [entry.id, entry.npmPackage])
6278
+ );
6279
+ const moduleCache = /* @__PURE__ */ new Map();
6280
+ return async (invocation) => {
6281
+ await options.beforeRun?.(invocation);
6282
+ const packageName = packageByConnector.get(invocation.connector.id);
6283
+ if (!packageName) {
6284
+ return runtimeFailure(invocation.action.id, "runtime_not_available", `No installed runtime package is known for connector ${invocation.connector.id}.`);
6285
+ }
6286
+ const loaded = await loadRuntimeModule(packageName, options.moduleLoader, moduleCache);
6287
+ if (!loaded.ok) {
6288
+ return runtimeFailure(invocation.action.id, "runtime_not_installed", loaded.message);
6289
+ }
6290
+ const piece = findPieceExport(loaded.module, invocation.connector.id);
6291
+ if (!piece) {
6292
+ return runtimeFailure(invocation.action.id, "runtime_invalid", `Runtime package ${packageName} does not export a recognizable piece for ${invocation.connector.id}.`);
6293
+ }
6294
+ const action = findRuntimeAction(piece, invocation, options.actionAliases);
6295
+ if (!action?.run) {
6296
+ return runtimeFailure(invocation.action.id, "action_not_implemented", `Runtime package ${packageName} does not expose executable action ${invocation.action.id}.`);
6297
+ }
6298
+ try {
6299
+ const output = await action.run({
6300
+ auth: await options.resolveAuth?.(invocation.connection),
6301
+ propsValue: invocation.request.action.input,
6302
+ input: invocation.request.action.input,
6303
+ connection: invocation.connection,
6304
+ request: invocation.request
6305
+ });
6306
+ return {
6307
+ ok: true,
6308
+ action: invocation.action.id,
6309
+ output
6310
+ };
6311
+ } catch (error) {
6312
+ return runtimeFailure(
6313
+ invocation.action.id,
6314
+ "runtime_action_failed",
6315
+ error instanceof Error ? error.message : "Runtime action failed."
6316
+ );
6317
+ }
6318
+ };
6319
+ }
6275
6320
  function serializeBody(body) {
6276
6321
  if (typeof body === "string") return body;
6277
6322
  if (body instanceof Uint8Array) return new TextDecoder().decode(body);
6278
6323
  return JSON.stringify(body);
6279
6324
  }
6325
+ async function loadRuntimeModule(packageName, moduleLoader, moduleCache) {
6326
+ try {
6327
+ const load = moduleLoader ?? ((name) => import(name));
6328
+ const promise = moduleCache.get(packageName) ?? Promise.resolve(load(packageName));
6329
+ moduleCache.set(packageName, promise);
6330
+ return { ok: true, module: await promise };
6331
+ } catch (error) {
6332
+ return {
6333
+ ok: false,
6334
+ message: error instanceof Error ? `Runtime package ${packageName} could not be loaded: ${error.message}` : `Runtime package ${packageName} could not be loaded.`
6335
+ };
6336
+ }
6337
+ }
6338
+ function findPieceExport(moduleValue, connectorId) {
6339
+ const mod = moduleValue && typeof moduleValue === "object" ? moduleValue : {};
6340
+ const values = [
6341
+ mod.default,
6342
+ mod[camel(connectorId)],
6343
+ mod[connectorId],
6344
+ ...Object.values(mod)
6345
+ ];
6346
+ return values.find((value) => Boolean(value) && typeof value === "object" && Array.isArray(value.actions));
6347
+ }
6348
+ function findRuntimeAction(piece, invocation, aliases = {}) {
6349
+ const actions = (piece.actions ?? []).filter((action) => Boolean(action) && typeof action === "object");
6350
+ const explicit = aliases[invocation.connector.id]?.[invocation.action.id];
6351
+ const candidates = new Set([
6352
+ invocation.action.id,
6353
+ invocation.action.title,
6354
+ invocation.request.piece.upstreamActionName,
6355
+ explicit
6356
+ ].filter((value) => Boolean(value)));
6357
+ for (const action of actions) {
6358
+ const names = [action.name, action.displayName].filter((value) => Boolean(value));
6359
+ if (names.some((name) => candidates.has(name))) return action;
6360
+ if (names.some((name) => [...candidates].some((candidate) => comparable(name) === comparable(candidate)))) return action;
6361
+ }
6362
+ return void 0;
6363
+ }
6364
+ function runtimeFailure(action, code, message) {
6365
+ return {
6366
+ ok: false,
6367
+ action,
6368
+ output: { code, message }
6369
+ };
6370
+ }
6371
+ function comparable(value) {
6372
+ return value.toLowerCase().replace(/[^a-z0-9]/g, "");
6373
+ }
6374
+ function camel(value) {
6375
+ return value.replace(/[-_.]+([a-z0-9])/g, (_, char) => char.toUpperCase());
6376
+ }
6280
6377
  function parseRuntimeRequest(serialized) {
6281
6378
  try {
6282
6379
  const request = JSON.parse(serialized);
@@ -7019,6 +7116,7 @@ export {
7019
7116
  createPlatformIntegrationPolicyPreset,
7020
7117
  createTangleCatalogExecutorProvider,
7021
7118
  createTangleCatalogHttpExecutor,
7119
+ createTangleCatalogInstalledPackageExecutor,
7022
7120
  createTangleCatalogRuntimeHandler,
7023
7121
  createTangleIntegrationsClient,
7024
7122
  declarativeRestConnector,