@zackbart/connecta 0.28.0 → 0.29.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/CHANGELOG.md +961 -5
- package/README.md +62 -39
- package/bin/connecta.mjs +110 -139
- package/bin/meta-tool-names.d.mts +2 -0
- package/bin/meta-tool-names.mjs +9 -0
- package/bin/version.mjs +3 -0
- package/dist/access-tokens.js +53 -63
- package/dist/activity-request.js +8 -0
- package/dist/activity.d.ts +76 -42
- package/dist/activity.js +110 -42
- package/dist/auth/clerk-sdk/client.d.ts +65 -0
- package/dist/auth/clerk-sdk/client.js +5 -0
- package/dist/auth/clerk-sdk/generated.js +1845 -0
- package/dist/auth/clerk-transport.js +19 -0
- package/dist/auth/clerk.d.ts +17 -7
- package/dist/auth/clerk.js +189 -107
- package/dist/auth/cloudflare-access.js +25 -26
- package/dist/auth/downstream-client-metadata.d.ts +29 -0
- package/dist/auth/downstream-client-metadata.js +133 -0
- package/dist/auth/downstream-oauth.js +1632 -1509
- package/dist/auth/downstream-revocation.js +106 -0
- package/dist/auth/oauth-token-response.js +231 -0
- package/dist/auth/oauth-v2-migration.js +116 -0
- package/dist/auth/static-oauth.js +526 -0
- package/dist/auth-elicitation.js +283 -0
- package/dist/branding.d.ts +8 -16
- package/dist/branding.js +26 -59
- package/dist/byte-read-response.js +39 -0
- package/dist/call-admission.js +12 -16
- package/dist/catalog-cache.js +739 -0
- package/dist/catalog-drift.d.ts +50 -15
- package/dist/catalog-drift.js +365 -128
- package/dist/catalog-fingerprint.js +2 -4
- package/dist/catalog-freshness.js +13 -0
- package/dist/catalog-limits.js +2 -2
- package/dist/catalog-service.js +368 -224
- package/dist/catalog.js +43 -84
- package/dist/concurrency.js +3 -4
- package/dist/config-defaults.d.ts +39 -0
- package/dist/config-defaults.js +46 -0
- package/dist/config-schema.d.ts +181 -0
- package/dist/config-schema.js +435 -0
- package/dist/config-value-sources.js +102 -0
- package/dist/config.d.ts +631 -0
- package/dist/config.js +503 -0
- package/dist/connector-access.d.ts +1 -0
- package/dist/connector-access.js +13 -15
- package/dist/connector-caller.d.ts +8 -0
- package/dist/connector-caller.js +15 -6
- package/dist/connector-scope.js +1 -1
- package/dist/connectors/api-connector.d.ts +220 -0
- package/dist/connectors/api-connector.js +214 -0
- package/dist/connectors/api.d.ts +8 -71
- package/dist/connectors/api.js +13 -99
- package/dist/connectors/guarded-fetch.d.ts +144 -0
- package/dist/connectors/guarded-fetch.js +108 -25
- package/dist/connectors/negotiation-cache.js +46 -0
- package/dist/connectors/option-shapes.js +27 -0
- package/dist/connectors/remote-mcp.d.ts +30 -4
- package/dist/connectors/remote-mcp.js +1780 -351
- package/dist/connectors/resource-uri.js +335 -0
- package/dist/credential-contract.d.ts +10 -0
- package/dist/credential-rules.js +1 -3
- package/dist/credential-url.js +108 -0
- package/dist/credentials.d.ts +6 -1
- package/dist/credentials.js +27 -18
- package/dist/d1.d.ts +130 -0
- package/dist/d1.js +290 -0
- package/dist/describe-config.d.ts +165 -0
- package/dist/describe-config.js +315 -0
- package/dist/described.js +106 -0
- package/dist/downstream-input-context.js +119 -0
- package/dist/downstream-input.js +323 -0
- package/dist/errors.d.ts +97 -20
- package/dist/errors.js +158 -80
- package/dist/execute.js +453 -305
- package/dist/executor-admission.d.ts +1 -0
- package/dist/executor-admission.js +11 -15
- package/dist/executor-contract.d.ts +20 -0
- package/dist/executor-contract.js +48 -0
- package/dist/executor-result.js +24 -9
- package/dist/executors/quickjs-child.js +3 -4
- package/dist/executors/quickjs-runtime.js +147 -59
- package/dist/executors/quickjs.js +29 -35
- package/dist/favicon.js +1 -2
- package/dist/fix-prompt.js +1 -3
- package/dist/guest-runtime.js +188 -0
- package/dist/guest-types.d.ts +176 -0
- package/dist/guest-types.js +1 -0
- package/dist/html-security.js +24 -0
- package/dist/identity.js +1 -3
- package/dist/inbound-credential.js +52 -0
- package/dist/index.d.ts +25 -257
- package/dist/index.js +65 -478
- package/dist/invocation-auth.js +69 -0
- package/dist/invocation.js +230 -73
- package/dist/json-schema.d.ts +1 -1
- package/dist/mcp-client-context.js +35 -0
- package/dist/mcp-result.js +11 -7
- package/dist/meta-output.js +76 -0
- package/dist/meta-tool-names.d.ts +2 -0
- package/dist/meta-tool-names.js +3 -0
- package/dist/meta-tools.js +285 -209
- package/dist/module-contracts.d.ts +8 -23
- package/dist/node.d.ts +0 -2
- package/dist/node.js +2 -2
- package/dist/oauth-callback-outcome.js +1 -3
- package/dist/oauth-handoff.js +117 -0
- package/dist/oauth-partition.js +17 -0
- package/dist/oauth-sealing.js +20 -0
- package/dist/operator-record.d.ts +137 -0
- package/dist/operator-record.js +420 -0
- package/dist/operator-ui/assets.js +31 -0
- package/dist/operator-ui/contract.d.ts +72 -0
- package/dist/operator-ui/contract.js +1 -0
- package/dist/operator-ui/fix-prompts.d.ts +18 -0
- package/dist/operator-ui/generated.js +5 -4
- package/dist/operator-ui/model.d.ts +12 -87
- package/dist/operator-ui/model.js +2 -9
- package/dist/operator-ui/setup-commands.js +1 -3
- package/dist/operator-ui/view.d.ts +323 -0
- package/dist/operator-ui/view.js +62 -189
- package/dist/page-styles.js +2 -3
- package/dist/program-source.js +14 -2
- package/dist/{exempt-writes.js → program-writes.js} +55 -18
- package/dist/provider.d.ts +142 -0
- package/dist/provider.js +187 -0
- package/dist/providers/_shared/google/result-size.js +57 -0
- package/dist/providers/_shared/google/service-account.d.ts +58 -0
- package/dist/providers/_shared/google/service-account.js +500 -0
- package/dist/providers/_shared/google/workspace.d.ts +276 -0
- package/dist/providers/_shared/google/workspace.js +518 -0
- package/dist/providers/basecamp/index.d.ts +43 -0
- package/dist/providers/basecamp/index.js +997 -0
- package/dist/providers/basecamp/skill.generated.js +9 -0
- package/dist/providers/breeze/index.d.ts +34 -0
- package/dist/providers/breeze/index.js +1446 -0
- package/dist/providers/breeze/skill.generated.js +9 -0
- package/dist/providers/ccb/index.d.ts +103 -0
- package/dist/providers/ccb/index.js +1725 -0
- package/dist/providers/ccb/skill.generated.js +9 -0
- package/dist/providers/{cloudflare.d.ts → cloudflare/index.d.ts} +8 -7
- package/dist/providers/{cloudflare.js → cloudflare/index.js} +171 -738
- package/dist/providers/cloudflare/skill.generated.js +10 -0
- package/dist/providers/docs/index.d.ts +54 -0
- package/dist/providers/docs/index.js +1237 -0
- package/dist/providers/docs/skill.generated.js +9 -0
- package/dist/providers/drive/index.d.ts +53 -0
- package/dist/providers/drive/index.js +1523 -0
- package/dist/providers/drive/skill.generated.js +9 -0
- package/dist/providers/forms/index.d.ts +54 -0
- package/dist/providers/forms/index.js +1217 -0
- package/dist/providers/forms/skill.generated.js +11 -0
- package/dist/providers/github/auth.d.ts +32 -0
- package/dist/providers/github/auth.js +361 -0
- package/dist/providers/github/hosted.js +218 -0
- package/dist/providers/github/index.d.ts +13 -0
- package/dist/providers/github/index.js +140 -0
- package/dist/providers/github/key.js +100 -0
- package/dist/providers/github/rest.js +321 -0
- package/dist/providers/github/scope.d.ts +29 -0
- package/dist/providers/github/scope.js +124 -0
- package/dist/providers/github/skill.generated.js +8 -0
- package/dist/providers/gmail/index.d.ts +51 -0
- package/dist/providers/gmail/index.js +1436 -0
- package/dist/providers/gmail/skill.generated.js +9 -0
- package/dist/providers/{linear.d.ts → linear/index.d.ts} +11 -14
- package/dist/providers/linear/index.js +352 -0
- package/dist/providers/linear/skill.generated.js +8 -0
- package/dist/providers/{mixpanel.d.ts → mixpanel/index.d.ts} +5 -10
- package/dist/providers/mixpanel/index.js +416 -0
- package/dist/providers/mixpanel/skill.generated.js +9 -0
- package/dist/providers/{notion.d.ts → notion/index.d.ts} +8 -8
- package/dist/providers/{notion.js → notion/index.js} +226 -239
- package/dist/providers/notion/skill.generated.js +10 -0
- package/dist/providers/overflow/index.d.ts +60 -0
- package/dist/providers/overflow/index.js +1535 -0
- package/dist/providers/overflow/skill.generated.js +8 -0
- package/dist/providers/planning-center/index.d.ts +59 -0
- package/dist/providers/planning-center/index.js +2199 -0
- package/dist/providers/planning-center/skill.generated.js +10 -0
- package/dist/providers/{revenuecat.d.ts → revenuecat/index.d.ts} +5 -10
- package/dist/providers/revenuecat/index.js +557 -0
- package/dist/providers/revenuecat/skill.generated.js +11 -0
- package/dist/providers/sheets/index.d.ts +54 -0
- package/dist/providers/sheets/index.js +1237 -0
- package/dist/providers/sheets/skill.generated.js +10 -0
- package/dist/providers/slides/index.d.ts +53 -0
- package/dist/providers/slides/index.js +2645 -0
- package/dist/providers/slides/skill.generated.js +9 -0
- package/dist/providers/{stripe.d.ts → stripe/index.d.ts} +5 -12
- package/dist/providers/stripe/index.js +266 -0
- package/dist/providers/stripe/skill.generated.js +11 -0
- package/dist/providers/tithely/index.d.ts +49 -0
- package/dist/providers/tithely/index.js +1003 -0
- package/dist/providers/tithely/skill.generated.js +8 -0
- package/dist/providers/{vercel.d.ts → vercel/index.d.ts} +8 -8
- package/dist/providers/vercel/index.js +1038 -0
- package/dist/providers/vercel/mcp-ownership.js +212 -0
- package/dist/providers/vercel/skill.generated.js +11 -0
- package/dist/registry.d.ts +108 -171
- package/dist/registry.js +513 -925
- package/dist/request-state.js +21 -0
- package/dist/resource-read.js +100 -0
- package/dist/result-shapes.js +17 -49
- package/dist/retired-toolkits.js +1 -1
- package/dist/routes/access-tokens.js +3 -6
- package/dist/routes/activity-context.js +21 -0
- package/dist/routes/activity-disclosure.js +40 -0
- package/dist/routes/activity.js +59 -21
- package/dist/routes/actor-labels.js +3 -50
- package/dist/routes/connect.js +221 -0
- package/dist/routes/credentials.js +15 -27
- package/dist/routes/mcp.js +356 -130
- package/dist/routes/oauth-client-metadata.js +15 -0
- package/dist/routes/oauth-management.js +45 -107
- package/dist/routes/oauth.js +136 -57
- package/dist/routes/operator.js +3 -3
- package/dist/routes/shared.d.ts +25 -64
- package/dist/routes/shared.js +160 -80
- package/dist/routes/skills.js +30 -0
- package/dist/routes/ui-config.js +225 -0
- package/dist/routes/ui-data.js +40 -35
- package/dist/routes/ui.js +66 -56
- package/dist/runtime/admission.js +4 -2
- package/dist/runtime/call-admission.js +3 -1
- package/dist/runtime/connector-scope.js +1 -4
- package/dist/runtime/run.js +10 -39
- package/dist/runtime/services.js +12 -117
- package/dist/runtime/shared-read.js +1 -3
- package/dist/runtime/storage.js +8 -1
- package/dist/sent-secrets.d.ts +52 -0
- package/dist/sent-secrets.js +474 -0
- package/dist/server.js +28 -71
- package/dist/skills.js +406 -174
- package/dist/sqlite.d.ts +48 -0
- package/dist/sqlite.js +166 -0
- package/dist/storage/keys.js +428 -0
- package/dist/storage/memory.js +7 -0
- package/dist/storage/sql.d.ts +66 -0
- package/dist/storage/sql.js +534 -0
- package/dist/timeout.js +4 -2
- package/dist/tool-name.js +17 -0
- package/dist/tool-safety.d.ts +9 -35
- package/dist/tool-safety.js +20 -40
- package/dist/types.d.ts +320 -54
- package/dist/types.js +0 -1
- package/dist/ui.d.ts +7 -19
- package/dist/ui.js +76 -90
- package/dist/url-safety.js +3 -6
- package/dist/usage-guide.js +137 -0
- package/dist/validate.d.ts +7 -0
- package/dist/validate.js +309 -47
- package/dist/version.d.ts +1 -7
- package/dist/version.js +3 -7
- package/dist/worker.d.ts +11 -0
- package/dist/worker.js +434 -0
- package/documentation/architecture.md +665 -230
- package/documentation/auth.md +962 -458
- package/documentation/code-mode.md +501 -312
- package/documentation/meta-tools.md +449 -200
- package/documentation/operator-tests.md +93 -0
- package/documentation/provider-migration-0.29.md +60 -0
- package/examples/worker/AGENTS.md +34 -12
- package/examples/worker/README.md +286 -255
- package/examples/worker/kv-to-d1.wrangler.jsonc +26 -0
- package/examples/worker/scripts/copy-kv-to-d1.mjs +162 -0
- package/examples/worker/src/connecta.config.ts +151 -0
- package/examples/worker/src/index.ts +14 -197
- package/examples/worker/wrangler.jsonc +15 -35
- package/package.json +125 -35
- package/templates/node/.dockerignore +1 -2
- package/templates/node/.env.example +20 -21
- package/templates/node/AGENTS.md +21 -17
- package/templates/node/Dockerfile +3 -5
- package/templates/node/README.md +133 -58
- package/templates/node/docker-compose.yml +11 -12
- package/templates/node/package.json +4 -2
- package/templates/node/src/connecta.config.ts +119 -0
- package/templates/node/src/index.ts +9 -154
- package/templates/node/src/provision-token.ts +17 -0
- package/AGENTS.md +0 -170
- package/dist/artifacts/connector.d.ts +0 -58
- package/dist/artifacts/connector.js +0 -730
- package/dist/artifacts/document.js +0 -86
- package/dist/artifacts/guide.js +0 -140
- package/dist/artifacts/html-scan.js +0 -329
- package/dist/artifacts/json.js +0 -78
- package/dist/artifacts/kv-store.d.ts +0 -20
- package/dist/artifacts/kv-store.js +0 -140
- package/dist/artifacts/markdown.js +0 -478
- package/dist/artifacts/module.d.ts +0 -37
- package/dist/artifacts/module.js +0 -66
- package/dist/artifacts/operations.d.ts +0 -197
- package/dist/artifacts/operations.js +0 -1002
- package/dist/artifacts/refresh.d.ts +0 -55
- package/dist/artifacts/refresh.js +0 -236
- package/dist/artifacts/routes.js +0 -206
- package/dist/artifacts/types.d.ts +0 -214
- package/dist/artifacts/types.js +0 -22
- package/dist/artifacts/validate.d.ts +0 -62
- package/dist/artifacts/validate.js +0 -651
- package/dist/artifacts.d.ts +0 -6
- package/dist/artifacts.js +0 -9
- package/dist/auth/bearer.d.ts +0 -11
- package/dist/auth/bearer.js +0 -50
- package/dist/providers/linear.js +0 -217
- package/dist/providers/mixpanel.js +0 -247
- package/dist/providers/revenuecat.js +0 -317
- package/dist/providers/stripe.js +0 -253
- package/dist/providers/vercel.js +0 -1253
- package/dist/storage/file.d.ts +0 -15
- package/dist/storage/file.js +0 -455
- package/ethos.md +0 -93
- package/examples/worker/src/cloudflare-kv.ts +0 -43
- package/examples/worker/src/d1-activity-row.ts +0 -155
- package/examples/worker/src/d1-activity.ts +0 -147
- package/examples/worker/src/d1-storage.ts +0 -138
- package/examples/worker/src/r2-artifact-blobs.ts +0 -29
- package/templates/node/src/file-activity.ts +0 -182
package/dist/index.d.ts
CHANGED
|
@@ -1,276 +1,44 @@
|
|
|
1
|
-
import type { CredentialVault } from "./credential-contract.js";
|
|
2
1
|
import { Registry } from "./registry.js";
|
|
3
|
-
import type
|
|
4
|
-
import
|
|
5
|
-
export
|
|
2
|
+
import { type ConnectaConfig } from "./config.js";
|
|
3
|
+
import { type ConnectaConfigDescription } from "./describe-config.js";
|
|
4
|
+
export { customExecutor, type CustomExecutorOptions } from "./executor-contract.js";
|
|
5
|
+
export type { AccessTokensModule, ActivityModule, OperatorSurface } from "./module-contracts.js";
|
|
6
6
|
export type { CredentialVault, CredentialMetadata } from "./credential-contract.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
/**
|
|
11
|
-
* Maximum connector catalogs/status probes fetched at once by discovery
|
|
12
|
-
* operations. Default 4.
|
|
13
|
-
*/
|
|
14
|
-
concurrency?: number;
|
|
15
|
-
/** Tool-list cache TTL (seconds). Default 300. */
|
|
16
|
-
catalogTtlSeconds?: number;
|
|
17
|
-
/**
|
|
18
|
-
* Persist serializable remote tool catalogs in storage so cold isolates can
|
|
19
|
-
* discover tools without a downstream handshake. Default true.
|
|
20
|
-
*/
|
|
21
|
-
persistCatalog?: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* How long an expired persisted catalog remains available as a fallback
|
|
24
|
-
* when a live refresh fails. Default 3600 seconds.
|
|
25
|
-
*/
|
|
26
|
-
staleCatalogSeconds?: number;
|
|
27
|
-
/**
|
|
28
|
-
* Deadline (ms) for each downstream probe/catalog call fanned out by
|
|
29
|
-
* `search_tools` and by `connecta.search`/`connecta.describe` inside
|
|
30
|
-
* `execute_code`. Defaults to 30_000. A timed-out connector degrades
|
|
31
|
-
* independently; this does not apply to tool calls. Catalog walks receive the
|
|
32
|
-
* same cancellation signal, which aborts an in-flight page where supported and
|
|
33
|
-
* prevents another from starting.
|
|
34
|
-
*/
|
|
35
|
-
probeTimeoutMs?: number;
|
|
36
|
-
}
|
|
37
|
-
/** Deployment-wide call deadlines and inline-result paging thresholds. */
|
|
38
|
-
export interface ConnectaCallsConfig {
|
|
39
|
-
/**
|
|
40
|
-
* Deadline (ms) for `call_tool`/`call_destructive_tool` calls that pass no
|
|
41
|
-
* `timeoutMs`. An explicit per-call value wins. Opt-in: unset by default, so
|
|
42
|
-
* existing long-running calls gain no surprise deadline.
|
|
43
|
-
*
|
|
44
|
-
* Each call makes one attempt. `execute_code` host calls are
|
|
45
|
-
* unaffected because they already carry their own bound.
|
|
46
|
-
*/
|
|
47
|
-
defaultTimeoutMs?: number;
|
|
48
|
-
/**
|
|
49
|
-
* Max inline result size (bytes) before truncation and `get_result` paging.
|
|
50
|
-
* Must be a finite whole number >= 1; invalid values warn and fall back to
|
|
51
|
-
* 24_000. Connectors may override it individually.
|
|
52
|
-
*/
|
|
53
|
-
maxResultBytes?: number;
|
|
54
|
-
}
|
|
55
|
-
/** Runtime-wide bounds for transient direct-call result paging. */
|
|
56
|
-
export interface ConnectaResultsConfig {
|
|
57
|
-
/** Stored bytes, including the paging envelope. Default 8 MiB. Zero disables stashing. */
|
|
58
|
-
maxStashBytes?: number;
|
|
59
|
-
/** Stored or in-flight entries. Default 64. Zero disables stashing. */
|
|
60
|
-
maxStashEntries?: number;
|
|
61
|
-
}
|
|
62
|
-
/** Budgets for execute_code programs: host calls and rich output (`connecta.emit`). */
|
|
63
|
-
export interface ConnectaExecuteConfig {
|
|
64
|
-
/**
|
|
65
|
-
* Aggregate serialized bytes `connecta.emit` accepts per run. Default
|
|
66
|
-
* 4_000_000 — a transport bound, not a context bound: emitted image/audio
|
|
67
|
-
* blocks reach the model as media, not base64 text. Invalid values fall
|
|
68
|
-
* back to the default.
|
|
69
|
-
*/
|
|
70
|
-
maxEmittedBytes?: number;
|
|
71
|
-
/** Content blocks `connecta.emit` accepts per run. Default 32. */
|
|
72
|
-
maxEmittedBlocks?: number;
|
|
73
|
-
/**
|
|
74
|
-
* Host calls one program may make. Default 20. Invalid values fall back to
|
|
75
|
-
* the default.
|
|
76
|
-
*/
|
|
77
|
-
maxHostCalls?: number;
|
|
78
|
-
/**
|
|
79
|
-
* Deadline for each host call a program makes, in milliseconds. Default
|
|
80
|
-
* 15_000. Raise it for providers whose legitimate calls run longer, such as
|
|
81
|
-
* analytics queries; `call_tool`'s own `timeoutMs` is unaffected. Invalid
|
|
82
|
-
* values fall back to the default.
|
|
83
|
-
*/
|
|
84
|
-
hostCallTimeoutMs?: number;
|
|
85
|
-
/**
|
|
86
|
-
* Hard ceiling on one execution, in milliseconds, enforced outside the
|
|
87
|
-
* sandbox. Default 120_000, above both executors' own deadlines (QuickJS
|
|
88
|
-
* 30_000, the Dynamic Worker 60_000), so it only ends a run whose executor
|
|
89
|
-
* never settled; that run fails as unresponsive and its admission slot is
|
|
90
|
-
* released. Keep it above any raised executor deadline. Invalid values
|
|
91
|
-
* fall back to the default.
|
|
92
|
-
*/
|
|
93
|
-
watchdogMs?: number;
|
|
94
|
-
/**
|
|
95
|
-
* Config-exempt writes one program may send, on top of the host-call
|
|
96
|
-
* budget every call already spends. Default 10. Invalid values fall back
|
|
97
|
-
* to the default.
|
|
98
|
-
*/
|
|
99
|
-
maxWrites?: number;
|
|
100
|
-
/**
|
|
101
|
-
* Which writes a program may make without asking. A program runs only
|
|
102
|
-
* explicitly read-only tools and these; every other write is refused and
|
|
103
|
-
* goes through `call_destructive_tool`, where the host asks. Keys are
|
|
104
|
-
* connector ids (all of that connector's tools) or `connector.tool`
|
|
105
|
-
* addresses (that tool); values are `"never"` (never ask) or `"ask"`. The
|
|
106
|
-
* most specific key wins, and `"ask"` switches off a connector's own
|
|
107
|
-
* default. An exempt write still spends the write budget and is recorded
|
|
108
|
-
* in activity; it is never read-only anywhere else — discovery still lists
|
|
109
|
-
* it as approval-required and `call_tool` still refuses it. An unknown
|
|
110
|
-
* connector id, or an `api()` address its tools do not include, refuses to
|
|
111
|
-
* construct; a remote connector's tool names load later, so an address
|
|
112
|
-
* naming one it never serves simply never matches.
|
|
113
|
-
*/
|
|
114
|
-
approval?: Readonly<Record<string, "never" | "ask">>;
|
|
115
|
-
}
|
|
116
|
-
export interface AdmissionPoolConfig {
|
|
117
|
-
/** Simultaneous work admitted to this pool. */
|
|
118
|
-
concurrency?: number;
|
|
119
|
-
/** Callers allowed to wait behind active work. Set zero to fail fast. */
|
|
120
|
-
maxQueueSize?: number;
|
|
121
|
-
/** Maximum queue wait in milliseconds. */
|
|
122
|
-
queueTimeoutMs?: number;
|
|
123
|
-
/** Retry hint returned with overload failures, in milliseconds. */
|
|
124
|
-
retryAfterMs?: number;
|
|
125
|
-
}
|
|
126
|
-
export interface RequestAdmissionConfig extends AdmissionPoolConfig {
|
|
127
|
-
/** Hard lifetime of an admitted /mcp request. Default 300,000 ms. */
|
|
128
|
-
maxDurationMs?: number;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Runtime-portable server-memory boundaries. `/health` and operator routes do
|
|
132
|
-
* not consume these permits, so they remain responsive during MCP saturation.
|
|
133
|
-
*/
|
|
134
|
-
export interface ConnectaAdmissionConfig {
|
|
135
|
-
/**
|
|
136
|
-
* The `/mcp` request boundary. Defaults to 16 active, 32 queued, and a
|
|
137
|
-
* 5-second maximum wait.
|
|
138
|
-
*/
|
|
139
|
-
requests?: RequestAdmissionConfig;
|
|
140
|
-
/**
|
|
141
|
-
* Fallback pool for an `executor` that does not implement its own `acquire`.
|
|
142
|
-
* Defaults to 2 active, 8 queued, and a 5-second maximum wait. Bounded
|
|
143
|
-
* executors (including `quickJsExecutor`) keep their own tighter pool.
|
|
144
|
-
*/
|
|
145
|
-
code?: AdmissionPoolConfig;
|
|
146
|
-
}
|
|
147
|
-
/** Config-owned identity rules for one deployment and tenant. */
|
|
148
|
-
export type ConnectorPermission = "all" | "none" | readonly string[];
|
|
149
|
-
export interface ConnectaIdentityConfig {
|
|
150
|
-
/**
|
|
151
|
-
* What this admitted identity may discover and call: `"all"`, or a list
|
|
152
|
-
* whose entries are connector ids (the whole connector) and `connector.tool`
|
|
153
|
-
* addresses (that tool only), or `{ tool: "connector.tool",
|
|
154
|
-
* requireReadOnly: true }` for an exact tool only while its loaded catalog
|
|
155
|
-
* explicitly classifies it read-only. Grants are additive: an unrestricted
|
|
156
|
-
* connector or address grant wins over the guarded form. An address naming
|
|
157
|
-
* a tool the catalog lacks is unreachable and warned once, never widened.
|
|
158
|
-
*/
|
|
159
|
-
connectorAccess?(identity: Readonly<AuthenticatedIdentity>): "all" | readonly ConnectorGrant[] | Promise<"all" | readonly ConnectorGrant[]>;
|
|
160
|
-
/** Global payload-free activity reads. Defaults to interactive humans. */
|
|
161
|
-
activityAccess?(principal: Readonly<IdentityReference>): boolean | Promise<boolean>;
|
|
162
|
-
/** Shared credential and OAuth administration. Defaults to none. */
|
|
163
|
-
credentialAdministration?(identity: Readonly<AuthenticatedIdentity>): ConnectorPermission | Promise<ConnectorPermission>;
|
|
164
|
-
/** Client-token lifecycle management by interactive humans. Defaults to false. */
|
|
165
|
-
accessTokenManagement?(identity: Readonly<AuthenticatedIdentity>): boolean | Promise<boolean>;
|
|
166
|
-
/** Connecting or changing the caller's personal account. Defaults to none. */
|
|
167
|
-
personalConnection?(identity: Readonly<AuthenticatedIdentity>): ConnectorPermission | Promise<ConnectorPermission>;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* A named tool pool served at `/mcp/<name>`. The pool is the slice a client
|
|
171
|
-
* pointed at that endpoint may see; the identity's own `connectorAccess`
|
|
172
|
-
* remains its ceiling and the pool can only narrow it.
|
|
173
|
-
*/
|
|
174
|
-
export interface ConnectaPoolConfig {
|
|
175
|
-
/** Connector ids and exact `connector.tool` addresses in this pool. */
|
|
176
|
-
tools: readonly string[];
|
|
177
|
-
/**
|
|
178
|
-
* Whether this admitted identity may open the pool. Denied by default:
|
|
179
|
-
* a pool with no grant serves nobody. A false return, a throw, and an
|
|
180
|
-
* undeclared pool name are the same 404.
|
|
181
|
-
*/
|
|
182
|
-
grant?(identity: Readonly<AuthenticatedIdentity>): boolean | Promise<boolean>;
|
|
183
|
-
}
|
|
184
|
-
export interface ConnectaConfig {
|
|
185
|
-
connectors: Connector[];
|
|
186
|
-
/** Inbound auth adapters. Includes bearerToken(...); omit for open (dev). */
|
|
187
|
-
auth?: InboundAuth | InboundAuth[];
|
|
188
|
-
/** Code-derived connection visibility and independent management permissions. */
|
|
189
|
-
identity?: ConnectaIdentityConfig;
|
|
190
|
-
/** Named tool pools, each served at `/mcp/<name>` to identities its grant admits. */
|
|
191
|
-
pools?: Record<string, ConnectaPoolConfig>;
|
|
192
|
-
/** KVStorage impl. Defaults to memoryStorage(). */
|
|
193
|
-
storage?: KVStorage;
|
|
194
|
-
/**
|
|
195
|
-
* Public base URL. Defaults to the request origin per-request. Configuring an
|
|
196
|
-
* HTTPS URL also redirects matching inbound HTTP requests to HTTPS.
|
|
197
|
-
*/
|
|
198
|
-
publicUrl?: string;
|
|
199
|
-
/**
|
|
200
|
-
* Exact browser MCP origins, or "*". Defaults to publicUrl's origin and
|
|
201
|
-
* HTTP(S) loopback origins at any port. Originless clients are admitted.
|
|
202
|
-
*/
|
|
203
|
-
allowedOrigins?: readonly string[] | "*";
|
|
204
|
-
/** Optional recorder and reader, created by activityHistory() from /activity. */
|
|
205
|
-
activity?: ActivityModule;
|
|
206
|
-
/** Replaceable owner-partitioned credential storage. Omit for config-owned secrets. */
|
|
207
|
-
vault?: CredentialVault;
|
|
208
|
-
/** Optional connection UI, created by operatorUi() from /ui. */
|
|
209
|
-
ui?: OperatorSurface;
|
|
210
|
-
/**
|
|
211
|
-
* Optional team pages over stored data, created by artifacts() from
|
|
212
|
-
* /artifacts. Adds the built-in `artifacts` connector; needs `publicUrl`,
|
|
213
|
-
* because the links it hands out are shared.
|
|
214
|
-
*/
|
|
215
|
-
artifacts?: ArtifactsModule;
|
|
216
|
-
/** Optional managed client tokens, created by accessTokens() from /auth/access-tokens. */
|
|
217
|
-
accessTokens?: AccessTokensModule;
|
|
218
|
-
/** Optional dedicated HTTPS origin that serves only artifact pages and their library. */
|
|
219
|
-
artifactOrigin?: string;
|
|
220
|
-
/** Tool-catalog caching, persistence, stale fallback, and probe deadlines. */
|
|
221
|
-
discovery?: ConnectaDiscoveryConfig;
|
|
222
|
-
/** Deployment-wide call deadlines and result paging threshold. */
|
|
223
|
-
calls?: ConnectaCallsConfig;
|
|
224
|
-
/** Runtime-wide transient result stash limits, shared across subjects. */
|
|
225
|
-
results?: ConnectaResultsConfig;
|
|
226
|
-
/** Budgets for the `connecta.emit` rich-output channel in execute_code. */
|
|
227
|
-
execute?: ConnectaExecuteConfig;
|
|
228
|
-
/** Bounded MCP and fallback code-mode admission. */
|
|
229
|
-
admission?: ConnectaAdmissionConfig;
|
|
230
|
-
/** Diagnostic output. Use "silent" to disable all diagnostic logging. */
|
|
231
|
-
logger?: Logger | "silent";
|
|
232
|
-
serverInfo?: {
|
|
233
|
-
name?: string;
|
|
234
|
-
version?: string;
|
|
235
|
-
/** Human-readable name clients may show instead of `name`. */
|
|
236
|
-
title?: string;
|
|
237
|
-
/** Homepage clients may link from the server listing. */
|
|
238
|
-
websiteUrl?: string;
|
|
239
|
-
/** MCP icons-spec entries; clients render these instead of a scraped favicon. */
|
|
240
|
-
icons?: Array<{
|
|
241
|
-
src: string;
|
|
242
|
-
mimeType?: string;
|
|
243
|
-
sizes?: string[];
|
|
244
|
-
}>;
|
|
245
|
-
};
|
|
246
|
-
/** Deployment metadata exposed by /health (for example a Worker version). */
|
|
247
|
-
deploymentInfo?: Record<string, unknown>;
|
|
248
|
-
/**
|
|
249
|
-
* Required sandbox for `execute_code`. Workers use
|
|
250
|
-
* `new DynamicWorkerExecutor({ loader: env.LOADER })` from
|
|
251
|
-
* `@cloudflare/codemode`; Node uses `quickJsExecutor()` from
|
|
252
|
-
* `@zackbart/connecta/quickjs`.
|
|
253
|
-
*/
|
|
254
|
-
executor: Executor;
|
|
255
|
-
}
|
|
7
|
+
export { defineConfig } from "./config.js";
|
|
8
|
+
export type { AdmissionPoolConfig, ConnectaAdmissionConfig, ConnectaCallsConfig, ConnectaConfig, ConnectaDiscoveryConfig, ConnectaExecuteConfig, ConnectaIdentityConfig, ConnectaPoolConfig, ConnectaResultsConfig, ConnectorPermission, RequestAdmissionConfig, } from "./config.js";
|
|
9
|
+
export type { ConfigValueSource, ConnectaConfigDescription, DescribedConnector, DescribedLimit, } from "./describe-config.js";
|
|
256
10
|
export interface Connecta {
|
|
257
11
|
/** Web-standard fetch handler. Usable as `export default { fetch: connecta.fetch }`. */
|
|
258
12
|
fetch: (request: Request, env?: unknown, ctx?: unknown) => Promise<Response>;
|
|
259
13
|
registry: Registry;
|
|
14
|
+
/**
|
|
15
|
+
* A secret-free snapshot of the configuration this deployment runs with,
|
|
16
|
+
* built once at construction: limits and where each came from, auth
|
|
17
|
+
* providers, identity rules, pools, modules, and every connector's source,
|
|
18
|
+
* endpoint, auth mode, and static tools. Header values, keys, client
|
|
19
|
+
* secrets, credentials, and functions never appear. The same object is
|
|
20
|
+
* returned on every call.
|
|
21
|
+
*/
|
|
22
|
+
describeConfig: () => ConnectaConfigDescription;
|
|
260
23
|
/** Drain and release configured executor resources. Idempotent. */
|
|
261
24
|
close: () => Promise<void>;
|
|
262
25
|
}
|
|
263
26
|
export declare function createConnecta(config: ConnectaConfig): Connecta;
|
|
264
27
|
export { remoteMcp } from "./connectors/remote-mcp.js";
|
|
265
28
|
export { api } from "./connectors/api.js";
|
|
29
|
+
export { keys, optionsOf, array, opaque, instance, strings, variants } from "./config-schema.js";
|
|
30
|
+
export { defineProvider, PROVIDER_COMMON } from "./provider.js";
|
|
31
|
+
export type { ProviderContext, ProviderDefinition, ProviderFactory, ProviderGuideInput, ProviderKind, ProviderOptions, ProviderSkill, } from "./provider.js";
|
|
266
32
|
export { ConnectorCallError } from "./errors.js";
|
|
267
33
|
export type { ConnectorCallErrorCode, CallErrorDetails } from "./errors.js";
|
|
268
34
|
export { validateToolInput } from "./validate.js";
|
|
269
35
|
export type { ValidateToolInputOptions } from "./validate.js";
|
|
270
36
|
export { memoryStorage } from "./storage/memory.js";
|
|
271
37
|
export { CONNECTA_VERSION } from "./version.js";
|
|
38
|
+
export type { GuestApi, GuestResourceResult, GuestResult, GuestResultPage, GuestBlock } from "./guest-types.js";
|
|
272
39
|
export type { Registry } from "./registry.js";
|
|
273
|
-
export type { RemoteMcpOptions, RemoteMcpAuth, RemoteMcpRedirectPolicy
|
|
274
|
-
export type { ApiOptions, ApiTool } from "./connectors/api.js";
|
|
275
|
-
export type { CatalogDriftCounts, CatalogDriftReport, ConnectaBranding, ConnectaTheme, Connector, ConnectorCallAdmissionInput, ConnectorCallAdmissionPolicy, ConnectorCallAdmissionRule, ConnectorRollingWindowBudget, ConnectorCredentialAccess, ConnectorCredentialConfig, ConnectorCredentialFieldConfig, ConnectorCredentialValues, ConnectorContext, ConnectorUsageGuide, ConnectorStatus, CredentialTestResult, AdmittingExecutor, AdmissionSnapshot, ExecuteResult, Executor, ExecutorLease, ExecutorProvider, InboundAuth, InboundAuthRuntimeContext, UiAuthConfig, AuthResult, AuthenticatedIdentity, IdentityReference, JsonSchema, KVStorage, Logger, ToolDef, ToolAnnotations, } from "./types.js";
|
|
276
|
-
export type { ActivityActor, ActivityCallSource, ActivityOutcome, ActivityPage, ActivityReadActor, ActivityReadEvent, ActivityReader, ActivityReadGate, ActivityReadPage, ActivitySink, ActivityStore, AgentFriction,
|
|
40
|
+
export type { RemoteMcpOptions, RemoteMcpAuth, RemoteMcpRedirectPolicy } from "./connectors/remote-mcp.js";
|
|
41
|
+
export type { ApiHandlerContext, ApiOAuthAccess, ApiOAuthClientAuthentication, ApiOAuthConfig, ApiOptions, ApiTool, } from "./connectors/api.js";
|
|
42
|
+
export type { CatalogDriftCounts, CatalogDriftReport, ConnectaBranding, ConnectaTheme, Connector, ConnectorCallAdmissionInput, ConnectorCallAdmissionPolicy, ConnectorCallAdmissionRule, ConnectorRollingWindowBudget, ConnectorCredentialAccess, ConnectorCredentialConfig, ConnectorCredentialFieldConfig, ConnectorCredentialValues, ConnectorContext, ConnectorAuthDescription, ConnectorDescription, ConnectorToolDescription, ConnectorUsageGuide, ConnectorSkill, ConnectorSkillResourceContents, DescribedEndpoint, ConnectorStatus, CredentialTestResult, AdmittingExecutor, AdmissionSnapshot, ExecuteResult, Executor, ExecutorLease, ExecutorProvider, InboundAuth, InboundAuthRuntimeContext, UiAuthConfig, AuthResult, AuthenticatedIdentity, IdentityReference, JsonSchema, KVStorage, Logger, ReviewedTool, ToolClassification, ToolDef, ToolAnnotations, ToolVerdict, } from "./types.js";
|
|
43
|
+
export type { ActivityActor, ActivityCatalogChange, ActivityCallSource, ActivityOutcome, ActivityPage, ActivityReadActor, ActivityReadEvent, ActivityReader, ActivityReadGate, ActivityReadPage, ActivitySink, ActivityStore, AgentFriction, ToolCallActivityEvent, } from "./activity.js";
|
|
44
|
+
export { META_TOOL_NAMES } from "./meta-tool-names.js";
|