@tangle-network/agent-integrations 0.7.0 → 0.8.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
@@ -1,173 +1,163 @@
1
- # Agent Integrations
2
-
3
- `@tangle-network/agent-integrations` is a vendor-neutral integration layer for
4
- apps, sandboxes, and agents that need user-authorized connections such as email,
5
- calendar, Slack, CRM, storage, webhooks, and workflow triggers.
6
-
7
- The package does not pick a single integration vendor. Nango, Pipedream,
8
- Zapier-style platforms, Activepieces, executor services, and first-party
9
- connectors should all sit behind the same provider interface.
10
-
11
- ## Mental Model
1
+ # @tangle-network/agent-integrations
2
+
3
+ Vendor-neutral integration contracts for agent apps, sandboxes, and generated
4
+ software that need user-authorized access to external systems.
5
+
6
+ The package standardizes connector catalogs, user connections, scoped sandbox
7
+ capabilities, action invocation, trigger events, provider adapters, and
8
+ first-party connector adapters. Product code can route through Nango, Pipedream,
9
+ Activepieces, a custom gateway, or first-party adapters without changing the
10
+ agent-facing tool contract.
11
+
12
+ ## Contents
13
+
14
+ - [What It Provides](#what-it-provides)
15
+ - [Architecture](#architecture)
16
+ - [Install](#install)
17
+ - [Core Primitives](#core-primitives)
18
+ - [Provider Strategy](#provider-strategy)
19
+ - [Executable Coverage](#executable-coverage)
20
+ - [Examples](#examples)
21
+ - [Security Model](#security-model)
22
+ - [Development](#development)
23
+
24
+ ## What It Provides
25
+
26
+ - A normalized connector/action/trigger catalog.
27
+ - User-owned connection records that reference secrets without storing raw
28
+ credentials in public shapes.
29
+ - Short-lived capability tokens for sandbox-safe access to a subset of a user's
30
+ connection.
31
+ - Policy checks for read/write/destructive actions.
32
+ - Invocation-envelope validation before sandbox tool calls reach the hub.
33
+ - A generic HTTP provider boundary for hosted integration gateways.
34
+ - A first-party `ConnectorAdapter` boundary for direct provider execution.
35
+ - A declarative REST adapter factory for promoting REST APIs from reviewed specs.
36
+ - A broad coverage catalog for planning hundreds of integrations without
37
+ pretending every catalog item is executable.
38
+ - A generated `IntegrationSpec` registry used for setup docs, admin UI steps,
39
+ normalized permissions, healthcheck plans, and tool descriptions.
40
+
41
+ ## Architecture
12
42
 
13
43
  ```txt
14
- Connector catalog -> User connection -> Scoped capability -> Action or trigger
44
+ connector catalog
45
+ -> user connection
46
+ -> scoped capability
47
+ -> policy decision
48
+ -> provider/action invocation
49
+ -> audit-safe result or normalized trigger event
15
50
  ```
16
51
 
17
- - **Connectors** describe what can be connected: Gmail, Google Calendar, Slack,
18
- HubSpot, webhooks, internal tools.
19
- - **Connections** are user/team-owned grants. They carry secret references, not
20
- raw credentials.
21
- - **Capabilities** are short-lived, sandbox-safe tokens that authorize a subset
22
- of actions on a connection.
23
- - **Actions** are read/write/destructive operations.
24
- - **Triggers** normalize inbound events from providers into one event shape.
25
-
26
- ## Why This Exists
27
-
28
- Agent Builder and sandbox apps need to support prompts like:
29
-
30
- ```txt
31
- At Gmail, build me an app that summarizes unread support emails and drafts replies.
32
- ```
33
-
34
- The generated app should be able to request Gmail access, instantiate inside the
35
- user's sandbox, and let the agent read/write through a scoped integration
36
- capability. The sandbox should never receive reusable provider secrets.
37
-
38
- ## Core Usage
39
-
40
- ### Product Flow
52
+ Main boundaries:
41
53
 
42
- For Agent Builder and sandbox apps, the intended flow is:
54
+ - `IntegrationHub`: product-facing facade for catalogs, connections,
55
+ capabilities, and action invocation.
56
+ - `IntegrationProvider`: vendor or gateway implementation boundary.
57
+ - `ConnectorAdapter`: first-party connector boundary for direct API execution.
58
+ - `IntegrationActionGuard`: optional cross-cutting hook for idempotency,
59
+ approval, audit logging, rate limits, and conflict handling.
43
60
 
44
- ```txt
45
- generated app declares required tools
46
- -> app searches the integration catalog by intent
47
- -> user connects the missing accounts
48
- -> runtime issues a short-lived capability to the sandbox
49
- -> reads run immediately
50
- -> writes pause for policy approval
51
- -> every call returns an audit-safe result
52
- ```
61
+ ## Install
53
62
 
54
- The SDK surface for that flow is:
55
-
56
- - `buildIntegrationToolCatalog` and `searchIntegrationTools` for discoverable
57
- tool catalogs.
58
- - `buildIntegrationCoverageConnectors` for broad planning coverage across
59
- 100+ high-value integrations before each one has a first-party executor.
60
- - `toMcpTools` for MCP-compatible tool export.
61
- - `IntegrationHub.issueCapability` for scoped sandbox handoff.
62
- - `createDefaultIntegrationPolicyEngine` for allow / approval / deny decisions.
63
- - `buildIntegrationInvocationEnvelope` and
64
- `validateIntegrationInvocationEnvelope` for sandbox-safe tool calls with
65
- action/tool consistency, idempotency-key, metadata-shape, known-tool, and
66
- input-size checks.
67
- - `createConnectorAdapterProvider` to run first-party adapters through the hub.
68
- - `declarativeRestConnector` to promote REST-shaped providers from compact,
69
- reviewed specs instead of hand-writing one brittle adapter per API.
70
-
71
- ```ts
72
- import {
73
- InMemoryConnectionStore,
74
- IntegrationHub,
75
- buildIntegrationToolCatalog,
76
- createMockIntegrationProvider,
77
- searchIntegrationTools,
78
- } from '@tangle-network/agent-integrations'
79
-
80
- const provider = createMockIntegrationProvider()
81
- const hub = new IntegrationHub({
82
- providers: [provider],
83
- store: new InMemoryConnectionStore(),
84
- capabilitySecret: 'dev-secret',
85
- })
86
-
87
- const catalog = buildIntegrationToolCatalog(await hub.listConnectors())
88
- const tools = searchIntegrationTools(catalog, 'search unread gmail', { maxRisk: 'read' })
89
-
90
- const connection = await hub.upsertConnection({
91
- id: 'conn_1',
92
- owner: { type: 'user', id: 'user_1' },
93
- providerId: 'mock',
94
- connectorId: 'gmail',
95
- status: 'active',
96
- grantedScopes: ['email.read'],
97
- createdAt: new Date().toISOString(),
98
- updatedAt: new Date().toISOString(),
99
- })
100
-
101
- const capability = await hub.issueCapability({
102
- subject: { type: 'sandbox', id: 'sandbox_1' },
103
- connectionId: connection.id,
104
- scopes: ['email.read'],
105
- allowedActions: ['messages.search'],
106
- ttlMs: 60_000,
107
- })
108
-
109
- const result = await hub.invokeWithCapability(capability.token, {
110
- action: 'messages.search',
111
- input: { q: 'is:unread' },
112
- })
63
+ ```sh
64
+ pnpm add @tangle-network/agent-integrations
113
65
  ```
114
66
 
115
- ## Provider Boundary
116
-
117
- Providers implement OAuth, action execution, and optional triggers. Product code
118
- should depend on `IntegrationHub`, not on a vendor SDK.
119
-
120
- Provider adapters are expected to store raw credentials in their own secure
121
- vault or return secret references. Connection records should remain safe to log
122
- after sanitization.
123
-
124
- For a hosted integration gateway, use the generic HTTP adapter:
125
-
126
- ```ts
127
- import { createHttpIntegrationProvider } from '@tangle-network/agent-integrations'
128
-
129
- const provider = createHttpIntegrationProvider({
130
- id: 'gateway',
131
- kind: 'pipedream',
132
- baseUrl: 'https://integrations.example',
133
- bearer: process.env.INTEGRATION_GATEWAY_TOKEN,
134
- connectors: [/* normalized connector catalog */],
135
- })
67
+ ## Core Primitives
68
+
69
+ | Primitive | Purpose |
70
+ |---|---|
71
+ | `IntegrationConnector` | Normalized catalog entry for a provider connection. |
72
+ | `IntegrationConnection` | User/team/agent-owned grant with scopes and secret references. |
73
+ | `IntegrationHub` | Facade for provider catalogs, connection storage, capabilities, and invocation. |
74
+ | `IntegrationCapability` | Short-lived authorization for a specific subject, connection, scope set, and action set. |
75
+ | `buildIntegrationToolCatalog` | Converts connector actions into agent/tool definitions. |
76
+ | `searchIntegrationTools` | Intent search over normalized integration tools. |
77
+ | `buildIntegrationCoverageConnectors` | Planning catalog for 100+ high-value integrations. |
78
+ | `buildIntegrationInvocationEnvelope` | Sandbox-safe action envelope. |
79
+ | `validateIntegrationInvocationEnvelope` | Runtime validation for tool/action consistency and input limits. |
80
+ | `createHttpIntegrationProvider` | Adapter for hosted integration gateways. |
81
+ | `createConnectorAdapterProvider` | Runs first-party `ConnectorAdapter`s through the same provider contract. |
82
+ | `declarativeRestConnector` | Builds REST-backed first-party adapters from compact specs. |
83
+ | `listIntegrationSpecs` | Generates setup/execution specs from the coverage catalog and family defaults. |
84
+ | `renderRunbookMarkdown` / `renderConsoleSteps` | Render operator docs or admin UI steps from the same spec source. |
85
+ | `validateCredentialSet` / `buildHealthcheckPlan` | Validate setup input and describe the correct healthcheck path. |
86
+
87
+ ## Provider Strategy
88
+
89
+ The package deliberately avoids vendor lock-in.
90
+
91
+ - Use a hosted gateway when it compresses long-tail OAuth/API coverage.
92
+ - Promote high-volume, sensitive, or strategically important integrations to
93
+ first-party adapters.
94
+ - Keep product and sandbox code on `IntegrationHub` contracts so provider changes
95
+ do not alter generated apps or agent tool calls.
96
+ - Treat catalog coverage and executable coverage as different states.
97
+
98
+ See [Provider Decision Matrix](./docs/provider-decision-matrix.md).
99
+
100
+ ## Executable Coverage
101
+
102
+ Current first-party adapters:
103
+
104
+ - Google Calendar
105
+ - Microsoft Calendar
106
+ - Google Sheets
107
+ - Slack
108
+ - Slack Events
109
+ - HubSpot
110
+ - Notion database
111
+ - Stripe payments pack
112
+ - Stripe webhook receiver
113
+ - Twilio SMS
114
+ - Generic webhook
115
+ - GitHub
116
+ - GitLab
117
+ - Airtable
118
+ - Asana
119
+ - Salesforce
120
+
121
+ Broad planning coverage is generated from
122
+ `buildIntegrationCoverageConnectors()` and tracked in
123
+ [Integration Coverage Checklist](./docs/integration-coverage-checklist.md).
124
+
125
+ ## Examples
126
+
127
+ Runnable examples live in [`examples/`](./examples):
128
+
129
+ - [`examples/basic-hub.ts`](./examples/basic-hub.ts) - catalog search,
130
+ connection storage, capability issue, and action invocation.
131
+ - [`examples/first-party-adapter.ts`](./examples/first-party-adapter.ts) -
132
+ first-party adapter provider wiring.
133
+ - [`examples/declarative-rest.ts`](./examples/declarative-rest.ts) - compact
134
+ REST connector spec.
135
+
136
+ The README stays short; examples are separate so they can be copied and expanded
137
+ without obscuring the package contract.
138
+
139
+ ## Security Model
140
+
141
+ - Capability tokens expire.
142
+ - Capability tokens do not contain provider credentials.
143
+ - Connection records carry secret references, not raw secrets.
144
+ - Write and destructive actions can require approval.
145
+ - Invocation envelopes validate action/tool consistency, idempotency keys,
146
+ metadata shape, known tools, and input size.
147
+ - Action invocation checks ownership, connection status, scopes, allowed actions,
148
+ and expiration.
149
+ - `IntegrationActionGuard` can enforce idempotency, approval, audit logging,
150
+ conflict handling, and rate limits across all providers.
151
+
152
+ ## Development
153
+
154
+ ```sh
155
+ pnpm install
156
+ pnpm typecheck
157
+ pnpm test
158
+ pnpm build
136
159
  ```
137
160
 
138
- The HTTP adapter keeps product code stable while the backing provider can be
139
- Nango, Pipedream, Activepieces, a Zapier-style service, or an internal gateway.
140
-
141
- For first-party REST APIs, use the declarative adapter factory:
142
-
143
- ```ts
144
- import { createConnectorAdapterProvider, githubConnector } from '@tangle-network/agent-integrations'
145
-
146
- const provider = createConnectorAdapterProvider({
147
- adapters: [githubConnector],
148
- resolveDataSource: async (connection) => loadSourceAndCredentials(connection),
149
- })
150
- ```
161
+ ## License
151
162
 
152
- Current first-party adapters include Google Calendar, Microsoft Calendar,
153
- Google Sheets, Slack, HubSpot, Notion database, Stripe, Twilio, webhooks,
154
- GitHub, GitLab, Airtable, Asana, and Salesforce.
155
-
156
- See [Provider Decision Matrix](./docs/provider-decision-matrix.md) for the
157
- build-vs-buy policy. The short version: use a vendor gateway only to compress
158
- time-to-coverage, but keep all product and sandbox code on this package's
159
- contracts so high-volume or strategic connectors can be moved first-party
160
- without changing agent code.
161
-
162
- ## Security Defaults
163
-
164
- - Capabilities expire.
165
- - Capability tokens contain no provider credential.
166
- - Secret refs are redacted from public telemetry.
167
- - Write/destructive actions can be policy-gated.
168
- - Sandbox invocation envelopes are validated before conversion to hub requests.
169
- - Action invocation checks connection ownership, status, scopes, allowed
170
- actions, and expiration.
171
- - Optional `IntegrationActionGuard` wraps every action invocation for
172
- idempotency, audit logging, conflict detection, rate limits, and
173
- approval gates.
163
+ MIT
package/dist/index.d.ts CHANGED
@@ -1205,6 +1205,189 @@ declare function buildIntegrationCoverageConnectors(options?: {
1205
1205
  }): IntegrationConnector[];
1206
1206
  declare function integrationCoverageChecklistMarkdown(): string;
1207
1207
 
1208
+ type IntegrationAuthMode = 'oauth2' | 'api_key' | 'hmac' | 'none' | 'custom';
1209
+ type IntegrationSpecStatus = 'catalog' | 'executable' | 'deprecated';
1210
+ type IntegrationFamilyId = 'google' | 'microsoft-graph' | 'atlassian' | 'salesforce' | 'hubspot' | 'slack' | 'notion' | 'standard-oauth2' | 'api-key' | 'hmac' | 'none';
1211
+ type NormalizedPermission = `${string}.read` | `${string}.write` | `${string}.delete` | `${string}.admin`;
1212
+ interface IntegrationSpec {
1213
+ kind: string;
1214
+ title: string;
1215
+ category: IntegrationConnectorCategory;
1216
+ status: IntegrationSpecStatus;
1217
+ family: IntegrationFamilyId;
1218
+ auth: IntegrationAuthSpec;
1219
+ permissions: PermissionDescriptor[];
1220
+ actions: IntegrationConnectorAction[];
1221
+ triggers?: IntegrationConnectorTrigger[];
1222
+ setup: IntegrationSetupSpec;
1223
+ lifecycle?: IntegrationLifecycleSpec;
1224
+ plannerHints?: IntegrationPlannerHints;
1225
+ metadata?: Record<string, unknown>;
1226
+ }
1227
+ type IntegrationAuthSpec = OAuth2AuthSpec | ApiKeyAuthSpec | HmacAuthSpec | NoneAuthSpec | CustomAuthSpec;
1228
+ interface OAuth2AuthSpec {
1229
+ mode: 'oauth2';
1230
+ authorizationUrl: string;
1231
+ tokenUrl: string;
1232
+ clientIdEnv?: string;
1233
+ clientSecretEnv?: string;
1234
+ scopes: ScopeDescriptor[];
1235
+ extraAuthParams?: Record<string, string>;
1236
+ redirectUriTemplate: string;
1237
+ pkce?: 'required' | 'supported' | 'unsupported';
1238
+ }
1239
+ interface ApiKeyAuthSpec {
1240
+ mode: 'api_key';
1241
+ credential: CredentialFieldSpec;
1242
+ placement?: 'bearer' | 'header' | 'query' | 'basic';
1243
+ }
1244
+ interface HmacAuthSpec {
1245
+ mode: 'hmac';
1246
+ credential: CredentialFieldSpec;
1247
+ signatureHeader?: string;
1248
+ }
1249
+ interface NoneAuthSpec {
1250
+ mode: 'none';
1251
+ }
1252
+ interface CustomAuthSpec {
1253
+ mode: 'custom';
1254
+ description: string;
1255
+ }
1256
+ interface ScopeDescriptor {
1257
+ normalized: NormalizedPermission;
1258
+ providerScope: string;
1259
+ title: string;
1260
+ reason: string;
1261
+ risk: IntegrationActionRisk;
1262
+ dataClass: IntegrationDataClass;
1263
+ }
1264
+ interface PermissionDescriptor {
1265
+ normalized: NormalizedPermission;
1266
+ providerScopes: string[];
1267
+ title: string;
1268
+ risk: IntegrationActionRisk;
1269
+ dataClass: IntegrationDataClass;
1270
+ reason: string;
1271
+ }
1272
+ interface CredentialFieldSpec {
1273
+ label: string;
1274
+ description: string;
1275
+ env?: string;
1276
+ example?: string;
1277
+ regex?: string;
1278
+ secret: boolean;
1279
+ }
1280
+ interface ConsoleStep {
1281
+ id: string;
1282
+ title: string;
1283
+ detail: string;
1284
+ copyValue?: string;
1285
+ }
1286
+ interface Quirk {
1287
+ id: string;
1288
+ severity: 'info' | 'warning' | 'critical';
1289
+ message: string;
1290
+ }
1291
+ interface PostSetupCheck {
1292
+ id: string;
1293
+ title: string;
1294
+ detail: string;
1295
+ }
1296
+ interface HealthcheckSpec {
1297
+ id: string;
1298
+ level: 'client_config' | 'connection' | 'webhook' | 'static';
1299
+ method?: 'GET' | 'POST';
1300
+ url?: string;
1301
+ expectedStatus?: number[];
1302
+ description: string;
1303
+ }
1304
+ interface IntegrationSetupSpec {
1305
+ consoleUrl?: string;
1306
+ consoleSteps: ConsoleStep[];
1307
+ credentialFields: CredentialFieldSpec[];
1308
+ redirectUriTemplate?: string;
1309
+ knownQuirks?: Quirk[];
1310
+ postSetup?: PostSetupCheck[];
1311
+ healthcheck?: HealthcheckSpec;
1312
+ }
1313
+ interface IntegrationLifecycleSpec {
1314
+ supportsRefresh: boolean;
1315
+ supportsRevoke: boolean;
1316
+ supportsIncrementalAuth: boolean;
1317
+ recommendedHealthcheckIntervalHours?: number;
1318
+ freshnessSloMinutes?: number;
1319
+ }
1320
+ interface IntegrationPlannerHints {
1321
+ useFor: string[];
1322
+ avoidFor?: string[];
1323
+ dataFreshness: 'realtime' | 'near_realtime' | 'eventual' | 'manual';
1324
+ writeRisk: 'low' | 'medium' | 'high';
1325
+ }
1326
+ interface IntegrationFamilySpec {
1327
+ id: IntegrationFamilyId;
1328
+ title: string;
1329
+ authMode: IntegrationAuthMode;
1330
+ consoleUrl?: string;
1331
+ authorizationUrl?: string;
1332
+ tokenUrl?: string;
1333
+ redirectUriTemplate?: string;
1334
+ credentialFields: CredentialFieldSpec[];
1335
+ consoleSteps: ConsoleStep[];
1336
+ knownQuirks?: Quirk[];
1337
+ lifecycle: IntegrationLifecycleSpec;
1338
+ }
1339
+ interface IntegrationSpecValidationIssue {
1340
+ path: string;
1341
+ message: string;
1342
+ }
1343
+ interface IntegrationSpecValidationResult {
1344
+ ok: boolean;
1345
+ issues: IntegrationSpecValidationIssue[];
1346
+ }
1347
+ interface RenderSpecOptions {
1348
+ host: string;
1349
+ callbackPath?: string;
1350
+ }
1351
+ interface RenderedConsoleStep extends ConsoleStep {
1352
+ detail: string;
1353
+ copyValue?: string;
1354
+ }
1355
+ interface CredentialValidationInput {
1356
+ field: CredentialFieldSpec;
1357
+ value: string;
1358
+ }
1359
+ interface CredentialValidationResult {
1360
+ ok: boolean;
1361
+ field: string;
1362
+ message?: string;
1363
+ }
1364
+ interface HealthcheckPlan {
1365
+ kind: string;
1366
+ healthcheck: HealthcheckSpec;
1367
+ requires: Array<'client_id' | 'client_secret' | 'api_key' | 'hmac_secret' | 'connection_credentials'>;
1368
+ message: string;
1369
+ }
1370
+ declare function specAuthToConnectorAuth(auth: IntegrationAuthSpec): IntegrationConnector['auth'];
1371
+
1372
+ declare const INTEGRATION_FAMILIES: Record<IntegrationFamilyId, IntegrationFamilySpec>;
1373
+ declare function getIntegrationFamily(id: IntegrationFamilyId): IntegrationFamilySpec;
1374
+
1375
+ declare function listIntegrationSpecs(): IntegrationSpec[];
1376
+ declare function getIntegrationSpec(kind: string): IntegrationSpec | undefined;
1377
+ declare function listExecutableIntegrationSpecs(): IntegrationSpec[];
1378
+ declare function integrationSpecToConnector(spec: IntegrationSpec, providerId?: string): IntegrationConnector;
1379
+
1380
+ declare function renderConsoleSteps(spec: IntegrationSpec, options: RenderSpecOptions): RenderedConsoleStep[];
1381
+ declare function renderRunbookMarkdown(spec: IntegrationSpec, options: RenderSpecOptions): string;
1382
+ declare function renderAgentToolDescription(spec: IntegrationSpec): string;
1383
+ declare function buildHealthcheckPlan(spec: IntegrationSpec): HealthcheckPlan;
1384
+ declare function consoleStepsToText(steps: ConsoleStep[]): string;
1385
+
1386
+ declare function validateIntegrationSpec(spec: IntegrationSpec): IntegrationSpecValidationResult;
1387
+ declare function assertValidIntegrationSpec(spec: IntegrationSpec): void;
1388
+ declare function validateCredentialFormat(field: CredentialFieldSpec, value: string): CredentialValidationResult;
1389
+ declare function validateCredentialSet(spec: IntegrationSpec, values: Record<string, string>): CredentialValidationResult[];
1390
+
1208
1391
  type IntegrationProviderKind = 'first_party' | 'nango' | 'pipedream' | 'zapier' | 'activepieces' | 'executor' | 'custom';
1209
1392
  type IntegrationConnectorCategory = 'email' | 'calendar' | 'chat' | 'crm' | 'storage' | 'docs' | 'database' | 'webhook' | 'workflow' | 'internal' | 'other';
1210
1393
  type IntegrationActionRisk = 'read' | 'write' | 'destructive';
@@ -1501,4 +1684,4 @@ declare function createHttpIntegrationProvider(options: HttpIntegrationProviderO
1501
1684
  declare function signCapability(capability: IntegrationCapability, secret: string): string;
1502
1685
  declare function verifyCapabilityToken(token: string, secret: string): IntegrationCapability;
1503
1686
 
1504
- export { type AuthSpec, type CASStrategy, type Capability, type CapabilityClass, type CapabilityMutation, type CapabilityMutationResult, type CapabilityParameterSchema, type CapabilityRead, type CapabilityReadResult, type CompleteAuthRequest, type ConnectorAdapter, type ConnectorAdapterProviderOptions, type ConnectorCredentials, type ConnectorInvocation, type ConnectorManifest, type ConnectorManifestValidationIssue, type ConnectorManifestValidationResult, type ConsistencyModel, CredentialsExpired, DEFAULT_SIGNATURE_TOLERANCE_SECONDS, type DataSourceMetadata, type EventHandlerResult, type ExchangeCodeInput, type GenericHmacVerifyOptions, type GoogleCalendarOptions, type GoogleSheetsOptions, type GraphqlOperationSpec, type HttpIntegrationProviderOptions, type HubSpotOptions, type ImportCatalogOptions, InMemoryConnectionStore, InMemoryOAuthFlowStore, type InboundEvent, type IntegrationActionGuard, type IntegrationActionPack, type IntegrationActionRequest, type IntegrationActionResult, type IntegrationActionRisk, type IntegrationActor, type IntegrationApprovalRequest, type IntegrationApprovalResolution, type IntegrationCapability, type IntegrationConnection, type IntegrationConnectionStore, type IntegrationConnector, type IntegrationConnectorAction, type IntegrationConnectorCategory, type IntegrationConnectorTrigger, type IntegrationCoveragePriority, type IntegrationCoverageSpec, type IntegrationDataClass, IntegrationError, type IntegrationGuardContext, IntegrationHub, type IntegrationHubOptions, type IntegrationInvocationEnvelope, type IntegrationInvocationEnvelopeValidationOptions, type IntegrationPolicyDecision, type IntegrationPolicyEffect, type IntegrationPolicyEngine, type IntegrationPolicyRule, type IntegrationProvider, type IntegrationProviderKind, type IntegrationToolDefinition, type IntegrationToolSearchFilters, type IntegrationToolSearchResult, type IntegrationTriggerEvent, type IntegrationTriggerSubscription, type InvokeWithCapabilityRequest, type IssueCapabilityRequest, type IssuedIntegrationCapability, type McpCatalog, type McpCatalogTool, type McpToolDefinition, type MicrosoftCalendarOptions, type NormalizedIntegrationResult, type NotionDatabaseOptions, type OAuthFlowStore, type OAuthTokens, type OpenApiDocument, type OpenApiOperation, type ParsedStripeSignatureHeader, type PendingOAuthFlow, type RateLimitSpec, type RefreshInput, type ResolvedDataSource, ResourceContention, type RestConnectorSpec, type RestCredentialPlacement, type RestOperationSpec, type RestRequestSpec, type SecretRef, type SlackOptions, type SlackVerifyOptions, type StartAuthRequest, type StartAuthResult, type StartOAuthInput, type StartOAuthOutput, StaticIntegrationPolicyEngine, type StaticIntegrationPolicyOptions, type StripeVerifyOptions, type TwilioVerifyOptions, _resetPendingFlowsForTests, airtableConnector, asanaConnector, assertValidConnectorManifest, buildApprovalRequest, buildIntegrationCoverageConnectors, buildIntegrationInvocationEnvelope, buildIntegrationToolCatalog, consumePendingFlow, createConnectorAdapterProvider, createDefaultIntegrationPolicyEngine, createHttpIntegrationProvider, createMockIntegrationProvider, declarativeRestConnector, exchangeAuthorizationCode, firstHeader, githubConnector, gitlabConnector, googleCalendar, googleSheets, hubspot, importGraphqlConnector, importMcpConnector, importOpenApiConnector, integrationCoverageChecklistMarkdown, integrationToolName, invocationRequestFromEnvelope, listIntegrationCoverageSpecs, manifestToConnector, microsoftCalendar, normalizeIntegrationResult, notionDatabase, parseIntegrationToolName, parseStripeSignatureHeader, redactApprovalRequest, redactCapability, redactInvocationEnvelope, refreshAccessToken, salesforceConnector, sanitizeConnection, searchIntegrationTools, signCapability, slack, slackEventsConnector, startOAuthFlow, stripePackConnector, stripeWebhookReceiverConnector, toMcpTools, twilioSmsConnector, validateConnectorManifest, validateIntegrationInvocationEnvelope, verifyCapabilityToken, verifyHmacSignature, verifySlackSignature, verifyStripeSignature, verifyTwilioSignature, webhookConnector };
1687
+ export { type ApiKeyAuthSpec, type AuthSpec, type CASStrategy, type Capability, type CapabilityClass, type CapabilityMutation, type CapabilityMutationResult, type CapabilityParameterSchema, type CapabilityRead, type CapabilityReadResult, type CompleteAuthRequest, type ConnectorAdapter, type ConnectorAdapterProviderOptions, type ConnectorCredentials, type ConnectorInvocation, type ConnectorManifest, type ConnectorManifestValidationIssue, type ConnectorManifestValidationResult, type ConsistencyModel, type ConsoleStep, type CredentialFieldSpec, type CredentialValidationInput, type CredentialValidationResult, CredentialsExpired, type CustomAuthSpec, DEFAULT_SIGNATURE_TOLERANCE_SECONDS, type DataSourceMetadata, type EventHandlerResult, type ExchangeCodeInput, type GenericHmacVerifyOptions, type GoogleCalendarOptions, type GoogleSheetsOptions, type GraphqlOperationSpec, type HealthcheckPlan, type HealthcheckSpec, type HmacAuthSpec, type HttpIntegrationProviderOptions, type HubSpotOptions, INTEGRATION_FAMILIES, type ImportCatalogOptions, InMemoryConnectionStore, InMemoryOAuthFlowStore, type InboundEvent, type IntegrationActionGuard, type IntegrationActionPack, type IntegrationActionRequest, type IntegrationActionResult, type IntegrationActionRisk, type IntegrationActor, type IntegrationApprovalRequest, type IntegrationApprovalResolution, type IntegrationAuthMode, type IntegrationAuthSpec, type IntegrationCapability, type IntegrationConnection, type IntegrationConnectionStore, type IntegrationConnector, type IntegrationConnectorAction, type IntegrationConnectorCategory, type IntegrationConnectorTrigger, type IntegrationCoveragePriority, type IntegrationCoverageSpec, type IntegrationDataClass, IntegrationError, type IntegrationFamilyId, type IntegrationFamilySpec, type IntegrationGuardContext, IntegrationHub, type IntegrationHubOptions, type IntegrationInvocationEnvelope, type IntegrationInvocationEnvelopeValidationOptions, type IntegrationLifecycleSpec, type IntegrationPlannerHints, type IntegrationPolicyDecision, type IntegrationPolicyEffect, type IntegrationPolicyEngine, type IntegrationPolicyRule, type IntegrationProvider, type IntegrationProviderKind, type IntegrationSetupSpec, type IntegrationSpec, type IntegrationSpecStatus, type IntegrationSpecValidationIssue, type IntegrationSpecValidationResult, type IntegrationToolDefinition, type IntegrationToolSearchFilters, type IntegrationToolSearchResult, type IntegrationTriggerEvent, type IntegrationTriggerSubscription, type InvokeWithCapabilityRequest, type IssueCapabilityRequest, type IssuedIntegrationCapability, type McpCatalog, type McpCatalogTool, type McpToolDefinition, type MicrosoftCalendarOptions, type NoneAuthSpec, type NormalizedIntegrationResult, type NormalizedPermission, type NotionDatabaseOptions, type OAuth2AuthSpec, type OAuthFlowStore, type OAuthTokens, type OpenApiDocument, type OpenApiOperation, type ParsedStripeSignatureHeader, type PendingOAuthFlow, type PermissionDescriptor, type PostSetupCheck, type Quirk, type RateLimitSpec, type RefreshInput, type RenderSpecOptions, type RenderedConsoleStep, type ResolvedDataSource, ResourceContention, type RestConnectorSpec, type RestCredentialPlacement, type RestOperationSpec, type RestRequestSpec, type ScopeDescriptor, type SecretRef, type SlackOptions, type SlackVerifyOptions, type StartAuthRequest, type StartAuthResult, type StartOAuthInput, type StartOAuthOutput, StaticIntegrationPolicyEngine, type StaticIntegrationPolicyOptions, type StripeVerifyOptions, type TwilioVerifyOptions, _resetPendingFlowsForTests, airtableConnector, asanaConnector, assertValidConnectorManifest, assertValidIntegrationSpec, buildApprovalRequest, buildHealthcheckPlan, buildIntegrationCoverageConnectors, buildIntegrationInvocationEnvelope, buildIntegrationToolCatalog, consoleStepsToText, consumePendingFlow, createConnectorAdapterProvider, createDefaultIntegrationPolicyEngine, createHttpIntegrationProvider, createMockIntegrationProvider, declarativeRestConnector, exchangeAuthorizationCode, firstHeader, getIntegrationFamily, getIntegrationSpec, githubConnector, gitlabConnector, googleCalendar, googleSheets, hubspot, importGraphqlConnector, importMcpConnector, importOpenApiConnector, integrationCoverageChecklistMarkdown, integrationSpecToConnector, integrationToolName, invocationRequestFromEnvelope, listExecutableIntegrationSpecs, listIntegrationCoverageSpecs, listIntegrationSpecs, manifestToConnector, microsoftCalendar, normalizeIntegrationResult, notionDatabase, parseIntegrationToolName, parseStripeSignatureHeader, redactApprovalRequest, redactCapability, redactInvocationEnvelope, refreshAccessToken, renderAgentToolDescription, renderConsoleSteps, renderRunbookMarkdown, salesforceConnector, sanitizeConnection, searchIntegrationTools, signCapability, slack, slackEventsConnector, specAuthToConnectorAuth, startOAuthFlow, stripePackConnector, stripeWebhookReceiverConnector, toMcpTools, twilioSmsConnector, validateConnectorManifest, validateCredentialFormat, validateCredentialSet, validateIntegrationInvocationEnvelope, validateIntegrationSpec, verifyCapabilityToken, verifyHmacSignature, verifySlackSignature, verifyStripeSignature, verifyTwilioSignature, webhookConnector };