@zackbart/connecta 0.34.1 → 0.36.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 +418 -0
- package/README.md +65 -105
- package/SECURITY.md +3 -2
- package/bin/connecta.mjs +41 -16
- package/bin/version.mjs +1 -1
- package/dist/access-tokens.d.ts +2 -1
- package/dist/access-tokens.js +66 -30
- package/dist/activity.d.ts +1 -1
- package/dist/activity.js +2 -0
- package/dist/agent-config.d.ts +23 -0
- package/dist/agent-config.js +59 -0
- package/dist/agent-description.js +16 -0
- package/dist/agent-identity.js +4 -4
- package/dist/agent-observation.js +39 -0
- package/dist/auth/clerk-sdk/client.d.ts +2 -0
- package/dist/auth/clerk-sdk/generated.js +554 -563
- package/dist/auth/clerk-transport.js +70 -3
- package/dist/auth/clerk.d.ts +13 -0
- package/dist/auth/clerk.js +653 -246
- package/dist/auth/cloudflare-access.js +46 -42
- package/dist/auth/downstream-client-metadata.js +2 -2
- package/dist/auth/downstream-oauth.js +2044 -1161
- package/dist/auth/downstream-revocation.js +88 -88
- package/dist/auth/native-call.js +20 -0
- package/dist/auth/native.js +184 -0
- package/dist/auth/oauth-start-reset.js +11 -5
- package/dist/auth/oauth-token-response.js +121 -102
- package/dist/auth/oauth-v2-migration.js +97 -78
- package/dist/auth/renewable-grant.js +10 -0
- package/dist/auth/static-oauth.js +751 -281
- package/dist/auth/vercel-agent.js +266 -0
- package/dist/auth-admission.js +204 -0
- package/dist/auth-elicitation.js +350 -241
- package/dist/authorization-handoff.js +164 -90
- package/dist/call-admission-context.js +3 -10
- package/dist/call-admission.js +2 -0
- package/dist/call-classification.js +9 -0
- package/dist/call-recovery.js +32 -13
- package/dist/canonical-json.js +8 -0
- package/dist/catalog-cache.js +369 -213
- package/dist/catalog-service.js +659 -530
- package/dist/catalog.js +5 -1
- package/dist/concurrency.js +0 -25
- package/dist/config-defaults.d.ts +1 -0
- package/dist/config-defaults.js +1 -0
- package/dist/config-schema.d.ts +3 -1
- package/dist/config-schema.js +13 -3
- package/dist/config.d.ts +40 -6
- package/dist/config.js +40 -26
- package/dist/connector-caller.d.ts +4 -0
- package/dist/connector-caller.js +17 -4
- package/dist/connectors/api-connector.d.ts +29 -7
- package/dist/connectors/api-connector.js +145 -57
- package/dist/connectors/guarded-fetch.d.ts +51 -17
- package/dist/connectors/guarded-fetch.js +215 -121
- package/dist/connectors/negotiation-cache.js +20 -10
- package/dist/connectors/remote-mcp.d.ts +10 -30
- package/dist/connectors/remote-mcp.js +955 -563
- package/dist/d1.js +10 -243
- package/dist/derived-context.js +5 -0
- package/dist/describe-config.d.ts +3 -1
- package/dist/describe-config.js +2 -0
- package/dist/downstream-input.js +347 -260
- package/dist/errors.d.ts +87 -6
- package/dist/errors.js +114 -4
- package/dist/execute.js +87 -50
- package/dist/executor-admission.js +3 -0
- package/dist/executors/quickjs.js +163 -112
- package/dist/guarded-transport.js +50 -0
- package/dist/guest-runtime.js +1 -1
- package/dist/http/client.js +439 -0
- package/dist/http/errors.js +558 -0
- package/dist/http/fields.js +49 -0
- package/dist/http/hatch-paging.js +318 -0
- package/dist/http/hatch.js +1279 -0
- package/dist/http/json-schema.js +267 -0
- package/dist/http/node-transport.js +241 -0
- package/dist/http/oauth.js +162 -0
- package/dist/http/paging.js +227 -0
- package/dist/http/provider.js +221 -0
- package/dist/http/safety.js +82 -0
- package/dist/http/services.js +79 -0
- package/dist/http/tools.js +379 -0
- package/dist/http/vendor-index.js +138 -0
- package/dist/http/vendor.js +448 -0
- package/dist/http/write-request.js +66 -0
- package/dist/http-policy.d.ts +11 -0
- package/dist/http-policy.js +45 -0
- package/dist/inbound-credential.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -0
- package/dist/invocation-auth.js +30 -19
- package/dist/invocation.js +218 -85
- package/dist/mcp-result.js +0 -4
- package/dist/membership.d.ts +4 -0
- package/dist/meta-output.js +1 -1
- package/dist/meta-tools.js +531 -406
- package/dist/native-recovery.js +52 -0
- package/dist/native-tools.js +382 -0
- package/dist/node.d.ts +4 -3
- package/dist/node.js +45 -8
- package/dist/oauth-handoff.js +177 -104
- package/dist/oauth-partition.js +6 -20
- package/dist/oauth-sealing.js +6 -7
- package/dist/operation-vocabulary.js +101 -0
- package/dist/operator-record.d.ts +2 -2
- package/dist/operator-record.js +17 -4
- package/dist/operator-ui/contract.d.ts +8 -3
- package/dist/operator-ui/generated.js +4 -4
- package/dist/operator-ui/model.d.ts +2 -3
- package/dist/program-writes.js +47 -26
- package/dist/provider-call-facts.d.ts +115 -0
- package/dist/provider-call-facts.js +182 -0
- package/dist/provider-call.d.ts +112 -0
- package/dist/provider-call.js +271 -0
- package/dist/provider.d.ts +65 -31
- package/dist/provider.js +116 -39
- package/dist/providers/_shared/google/hatch.js +91 -0
- package/dist/providers/_shared/google/kit.js +427 -0
- package/dist/providers/_shared/google/result-size.js +15 -2
- package/dist/providers/_shared/google/service-account.d.ts +2 -1
- package/dist/providers/_shared/google/service-account.js +8 -4
- package/dist/providers/_shared/google/workspace.d.ts +6 -210
- package/dist/providers/_shared/google/workspace.js +6 -425
- package/dist/providers/_shared/rest/compact-index.js +86 -0
- package/dist/providers/_shared/rest/kit.js +146 -0
- package/dist/providers/_shared/rest/operation-index.js +230 -14
- package/dist/providers/_shared/rest/response-media.js +11 -0
- package/dist/providers/_shared/rest/value-safety.js +353 -195
- package/dist/providers/_shared/sensitive-fields.js +27 -0
- package/dist/providers/breeze/api.js +584 -0
- package/dist/providers/breeze/index.d.ts +1 -3
- package/dist/providers/breeze/index.js +67 -1420
- package/dist/providers/breeze/openapi.generated.js +60 -0
- package/dist/providers/breeze/skill.generated.js +2 -6
- package/dist/providers/breeze/tools.js +696 -0
- package/dist/providers/ccb/api.js +496 -0
- package/dist/providers/ccb/index.d.ts +15 -37
- package/dist/providers/ccb/index.js +77 -1702
- package/dist/providers/ccb/lib/constants.d.ts +34 -0
- package/dist/providers/ccb/lib/constants.js +74 -0
- package/dist/providers/ccb/lib/guide.js +9 -0
- package/dist/providers/ccb/lib/verdicts.js +387 -0
- package/dist/providers/ccb/openapi.generated.js +397 -0
- package/dist/providers/ccb/safety.js +295 -0
- package/dist/providers/ccb/skill.generated.js +2 -6
- package/dist/providers/ccb/tools.js +853 -0
- package/dist/providers/cloudflare/api.js +1066 -0
- package/dist/providers/cloudflare/index.d.ts +5 -22
- package/dist/providers/cloudflare/index.js +79 -197
- package/dist/providers/cloudflare/lib/config.d.ts +16 -0
- package/dist/providers/cloudflare/lib/config.js +2 -0
- package/dist/providers/cloudflare/lib/discovery.js +29 -0
- package/dist/providers/cloudflare/{graphql.js → lib/graphql.js} +1 -1
- package/dist/providers/cloudflare/lib/hatch.js +103 -0
- package/dist/providers/cloudflare/lib/path-bounds.js +28 -0
- package/dist/providers/cloudflare/lib/response-media.js +75 -0
- package/dist/providers/cloudflare/openapi.generated.js +4 -3
- package/dist/providers/cloudflare/{value-safety.js → safety.js} +487 -0
- package/dist/providers/cloudflare/skill.generated.js +2 -10
- package/dist/providers/cloudflare/tools.js +360 -0
- package/dist/providers/docs/api.js +51 -0
- package/dist/providers/docs/index.d.ts +1 -12
- package/dist/providers/docs/index.js +53 -1165
- package/dist/providers/docs/lib/constants.d.ts +18 -0
- package/dist/providers/docs/lib/constants.js +18 -0
- package/dist/providers/docs/lib/discovery.js +26 -0
- package/dist/providers/docs/lib/requests.js +48 -0
- package/dist/providers/docs/lib/schemas.js +168 -0
- package/dist/providers/docs/openapi.generated.js +16 -0
- package/dist/providers/docs/safety.js +54 -0
- package/dist/providers/docs/skill.generated.js +2 -6
- package/dist/providers/docs/tools.js +801 -0
- package/dist/providers/drive/api.js +177 -0
- package/dist/providers/drive/index.d.ts +1 -12
- package/dist/providers/drive/index.js +38 -1448
- package/dist/providers/drive/lib/constants.d.ts +6 -0
- package/dist/providers/drive/lib/constants.js +6 -0
- package/dist/providers/drive/lib/contracts.js +532 -0
- package/dist/providers/drive/lib/hatch.js +197 -0
- package/dist/providers/drive/openapi.generated.js +77 -0
- package/dist/providers/drive/safety.js +90 -0
- package/dist/providers/drive/skill.generated.js +2 -6
- package/dist/providers/drive/tools.js +1290 -0
- package/dist/providers/forms/api.js +71 -0
- package/dist/providers/forms/index.d.ts +1 -12
- package/dist/providers/forms/index.js +49 -1145
- package/dist/providers/forms/lib/constants.d.ts +14 -0
- package/dist/providers/forms/lib/constants.js +19 -0
- package/dist/providers/forms/lib/hatch.js +72 -0
- package/dist/providers/forms/openapi.generated.js +23 -0
- package/dist/providers/forms/safety.js +34 -0
- package/dist/providers/forms/skill.generated.js +2 -8
- package/dist/providers/forms/tools.js +1023 -0
- package/dist/providers/github/api.js +150 -0
- package/dist/providers/github/index.d.ts +4 -5
- package/dist/providers/github/index.js +30 -87
- package/dist/providers/github/{auth.d.ts → lib/auth.d.ts} +5 -3
- package/dist/providers/github/{auth.js → lib/auth.js} +40 -43
- package/dist/providers/github/lib/discovery.js +132 -0
- package/dist/providers/github/lib/operations.js +58 -0
- package/dist/providers/github/{scope.d.ts → lib/scope.d.ts} +2 -0
- package/dist/providers/github/{scope.js → lib/scope.js} +25 -1
- package/dist/providers/github/openapi.generated.js +1216 -0
- package/dist/providers/github/safety.js +216 -0
- package/dist/providers/github/skill.generated.js +2 -5
- package/dist/providers/github/tools.js +506 -0
- package/dist/providers/gmail/api.js +114 -0
- package/dist/providers/gmail/index.d.ts +1 -12
- package/dist/providers/gmail/index.js +73 -1621
- package/dist/providers/gmail/lib/constants.d.ts +13 -0
- package/dist/providers/gmail/lib/constants.js +16 -0
- package/dist/providers/gmail/lib/index.js +173 -0
- package/dist/providers/gmail/lib/schemas.js +176 -0
- package/dist/providers/gmail/lib/threading.js +120 -0
- package/dist/providers/gmail/openapi.generated.js +92 -0
- package/dist/providers/gmail/safety.js +21 -0
- package/dist/providers/gmail/skill.generated.js +2 -6
- package/dist/providers/gmail/tools.js +1435 -0
- package/dist/providers/overflow/api.js +1008 -0
- package/dist/providers/overflow/index.d.ts +1 -17
- package/dist/providers/overflow/index.js +60 -1488
- package/dist/providers/overflow/skill.generated.js +2 -5
- package/dist/providers/overflow/tools.js +873 -0
- package/dist/providers/planning-center/api.js +467 -0
- package/dist/providers/planning-center/index.d.ts +4 -35
- package/dist/providers/planning-center/index.js +69 -2445
- package/dist/providers/planning-center/lib/constants.d.ts +58 -0
- package/dist/providers/planning-center/lib/constants.js +83 -0
- package/dist/providers/planning-center/lib/discovery.js +40 -0
- package/dist/providers/planning-center/lib/guide.js +39 -0
- package/dist/providers/planning-center/lib/json-api.js +83 -0
- package/dist/providers/planning-center/lib/verdicts.js +1758 -0
- package/dist/providers/planning-center/openapi.generated.js +1764 -0
- package/dist/providers/planning-center/safety.js +188 -0
- package/dist/providers/planning-center/skill.generated.js +2 -27
- package/dist/providers/planning-center/tools.js +1010 -0
- package/dist/providers/quickbooks/api.js +299 -0
- package/dist/providers/quickbooks/index.d.ts +13 -0
- package/dist/providers/quickbooks/index.js +93 -0
- package/dist/providers/quickbooks/lib/query.js +118 -0
- package/dist/providers/quickbooks/lib/writes.js +168 -0
- package/dist/providers/quickbooks/safety.js +222 -0
- package/dist/providers/quickbooks/skill.generated.js +5 -0
- package/dist/providers/quickbooks/tools.js +117 -0
- package/dist/providers/sheets/api.js +133 -0
- package/dist/providers/sheets/index.d.ts +4 -16
- package/dist/providers/sheets/index.js +61 -1172
- package/dist/providers/sheets/lib/constants.d.ts +14 -0
- package/dist/providers/sheets/lib/constants.js +14 -0
- package/dist/providers/sheets/lib/hatch.js +163 -0
- package/dist/providers/sheets/lib/requests.js +105 -0
- package/dist/providers/sheets/lib/schemas.js +138 -0
- package/dist/providers/sheets/openapi.generated.js +30 -0
- package/dist/providers/sheets/safety.js +27 -0
- package/dist/providers/sheets/skill.generated.js +2 -7
- package/dist/providers/sheets/tools.js +733 -0
- package/dist/providers/slides/api.js +147 -0
- package/dist/providers/slides/index.d.ts +2 -10
- package/dist/providers/slides/index.js +48 -2555
- package/dist/providers/slides/lib/constants.d.ts +11 -0
- package/dist/providers/slides/lib/constants.js +11 -0
- package/dist/providers/slides/lib/requests.js +60 -0
- package/dist/providers/slides/lib/schemas.js +565 -0
- package/dist/providers/slides/openapi.generated.js +18 -0
- package/dist/providers/slides/skill.generated.js +2 -6
- package/dist/providers/slides/tools.js +1968 -0
- package/dist/providers/stripe/api.js +401 -0
- package/dist/providers/stripe/index.d.ts +5 -27
- package/dist/providers/stripe/index.js +74 -210
- package/dist/providers/stripe/lib/config.d.ts +4 -0
- package/dist/providers/stripe/lib/config.js +2 -0
- package/dist/providers/stripe/openapi.generated.js +4 -3
- package/dist/providers/stripe/{value-safety.js → safety.js} +5 -5
- package/dist/providers/stripe/skill.generated.js +2 -11
- package/dist/providers/stripe/tools.js +77 -0
- package/dist/providers/tithely/api.js +531 -0
- package/dist/providers/tithely/index.d.ts +17 -0
- package/dist/providers/tithely/index.js +86 -965
- package/dist/providers/tithely/skill.generated.js +2 -5
- package/dist/providers/tithely/tools.js +426 -0
- package/dist/providers/vercel/api.js +551 -0
- package/dist/providers/vercel/index.d.ts +9 -25
- package/dist/providers/vercel/index.js +65 -260
- package/dist/providers/vercel/lib/config.d.ts +2 -0
- package/dist/providers/vercel/lib/config.js +2 -0
- package/dist/providers/vercel/lib/index.js +117 -0
- package/dist/providers/vercel/lib/logs.js +100 -0
- package/dist/providers/vercel/lib/pin.js +270 -0
- package/dist/providers/vercel/openapi.generated.js +10 -5
- package/dist/providers/vercel/{value-safety.js → safety.js} +247 -38
- package/dist/providers/vercel/skill.generated.js +2 -7
- package/dist/providers/vercel/tools.js +642 -0
- package/dist/redaction-identity.js +47 -0
- package/dist/redaction-marker.js +125 -0
- package/dist/registry.d.ts +21 -15
- package/dist/registry.js +409 -376
- package/dist/routes/access-tokens.js +1 -1
- package/dist/routes/actor-labels.js +1 -1
- package/dist/routes/connect.js +1 -1
- package/dist/routes/dispatch.js +103 -0
- package/dist/routes/mcp.js +170 -79
- package/dist/routes/oauth.js +6 -1
- package/dist/routes/operator.js +2 -2
- package/dist/routes/shared.d.ts +5 -4
- package/dist/routes/shared.js +244 -177
- package/dist/routes/skills.js +10 -8
- package/dist/routes/ui-config.js +27 -3
- package/dist/routes/ui-data.js +21 -20
- package/dist/routes/ui.js +1 -1
- package/dist/runtime/call-admission.js +0 -26
- package/dist/runtime/call-entry.js +30 -0
- package/dist/runtime/call.js +552 -0
- package/dist/runtime/connector-scope.js +7 -0
- package/dist/runtime/credential-probe.js +34 -0
- package/dist/runtime/executor.js +40 -0
- package/dist/runtime/native-storage.js +63 -0
- package/dist/runtime/registry.js +27 -0
- package/dist/runtime/request-scope.js +72 -0
- package/dist/runtime/run.js +15 -7
- package/dist/runtime/shared-read.js +34 -5
- package/dist/runtime/storage.js +34 -21
- package/dist/sent-secrets.d.ts +194 -37
- package/dist/sent-secrets.js +1743 -340
- package/dist/server.js +5 -56
- package/dist/skills.js +322 -223
- package/dist/sqlite.js +15 -14
- package/dist/storage/d1-copy.js +255 -0
- package/dist/storage/d1-driver.js +15 -0
- package/dist/storage/keys.js +28 -0
- package/dist/storage/sql-driver.js +88 -0
- package/dist/storage/sql-native.js +544 -0
- package/dist/storage/sql-schema.d.ts +6 -0
- package/dist/storage/sql-schema.js +15 -0
- package/dist/storage/sql.d.ts +14 -20
- package/dist/storage/sql.js +29 -535
- package/dist/timeout.js +0 -26
- package/dist/tool-safety.js +20 -10
- package/dist/types.d.ts +9 -109
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +0 -1
- package/dist/upward.js +3 -0
- package/dist/usage-guide.js +3 -1
- package/dist/validate.d.ts +4 -2
- package/dist/validate.js +86 -9
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worker.js +312 -292
- package/dist/workspace-subject.js +5 -1
- package/dist/write-outcome.js +454 -34
- package/documentation/README.md +28 -7
- package/documentation/architecture.md +2409 -255
- package/documentation/auth.md +867 -114
- package/documentation/code-mode.md +49 -16
- package/documentation/deploying.md +164 -20
- package/documentation/hosted-mcp-migration.md +460 -0
- package/documentation/integrating.md +129 -144
- package/documentation/meta-tools.md +409 -32
- package/documentation/operating.md +27 -3
- package/documentation/operator-tests.md +3 -0
- package/documentation/operator-ui.md +84 -48
- package/documentation/provider-auth-migration.md +16 -63
- package/documentation/provider-migration-0.29.md +10 -5
- package/documentation/provider-migration-0.35.md +975 -0
- package/documentation/providers.md +1347 -0
- package/examples/worker/AGENTS.md +23 -9
- package/examples/worker/README.md +254 -135
- package/examples/worker/alchemy.run.ts +116 -0
- package/examples/worker/gitignore +10 -0
- package/examples/worker/src/connecta.config.ts +23 -21
- package/examples/worker/wrangler.jsonc +14 -5
- package/guides/connecting-agents.md +157 -0
- package/guides/how-it-works.md +156 -0
- package/guides/safety-and-trust.md +153 -0
- package/package.json +30 -50
- package/templates/node/.env.example +3 -0
- package/templates/node/README.md +22 -2
- package/templates/node/docker-compose.yml +1 -0
- package/templates/node/package.json +3 -2
- package/templates/node/src/connecta.config.ts +8 -0
- package/dist/catalog-drift.d.ts +0 -138
- package/dist/catalog-drift.js +0 -578
- package/dist/operator-ui/agents.d.ts +0 -74
- package/dist/operator-ui/agents.js +0 -104
- package/dist/operator-ui/config-summary.js +0 -565
- package/dist/operator-ui/connection-map.js +0 -376
- package/dist/operator-ui/endpoints.js +0 -221
- package/dist/operator-ui/fix-prompts.d.ts +0 -18
- package/dist/operator-ui/fix-prompts.js +0 -87
- package/dist/operator-ui/health.js +0 -52
- package/dist/operator-ui/member-page.js +0 -97
- package/dist/operator-ui/overview.js +0 -123
- package/dist/operator-ui/setup-commands.js +0 -51
- package/dist/operator-ui/view.d.ts +0 -401
- package/dist/operator-ui/view.js +0 -705
- package/dist/providers/_shared/request-token.js +0 -83
- package/dist/providers/_shared/rest/dispatch.js +0 -41
- package/dist/providers/_shared/rest/operation-index.d.ts +0 -133
- package/dist/providers/_shared/rest/tools.d.ts +0 -141
- package/dist/providers/_shared/rest/tools.js +0 -569
- package/dist/providers/_shared/rest/value-safety.d.ts +0 -201
- package/dist/providers/basecamp/index.d.ts +0 -45
- package/dist/providers/basecamp/index.js +0 -997
- package/dist/providers/basecamp/skill.generated.js +0 -9
- package/dist/providers/cloudflare/rest.d.ts +0 -37
- package/dist/providers/cloudflare/rest.js +0 -1097
- package/dist/providers/github/hosted.js +0 -218
- package/dist/providers/github/rest.js +0 -321
- package/dist/providers/infisical/index.d.ts +0 -7
- package/dist/providers/infisical/index.js +0 -713
- package/dist/providers/infisical/skill.generated.js +0 -8
- package/dist/providers/intercom/index.d.ts +0 -24
- package/dist/providers/intercom/index.js +0 -121
- package/dist/providers/intercom/skill.generated.js +0 -8
- package/dist/providers/linear/index.d.ts +0 -55
- package/dist/providers/linear/index.js +0 -537
- package/dist/providers/linear/skill.generated.js +0 -8
- package/dist/providers/mixpanel/index.d.ts +0 -59
- package/dist/providers/mixpanel/index.js +0 -472
- package/dist/providers/mixpanel/operations.js +0 -20
- package/dist/providers/mixpanel/rest.js +0 -603
- package/dist/providers/mixpanel/skill.generated.js +0 -10
- package/dist/providers/mixpanel/value-safety.js +0 -16
- package/dist/providers/notion/index.d.ts +0 -67
- package/dist/providers/notion/index.js +0 -368
- package/dist/providers/notion/openapi.generated.js +0 -75
- package/dist/providers/notion/rest.d.ts +0 -24
- package/dist/providers/notion/rest.js +0 -1226
- package/dist/providers/notion/skill.generated.js +0 -11
- package/dist/providers/notion/value-safety.js +0 -56
- package/dist/providers/revenuecat/index.d.ts +0 -51
- package/dist/providers/revenuecat/index.js +0 -697
- package/dist/providers/revenuecat/skill.generated.js +0 -11
- package/dist/providers/stripe/rest.d.ts +0 -14
- package/dist/providers/stripe/rest.js +0 -402
- package/dist/providers/vercel/rest.d.ts +0 -20
- package/dist/providers/vercel/rest.js +0 -1020
- package/dist/providers/wispr-flow/index.d.ts +0 -14
- package/dist/providers/wispr-flow/index.js +0 -117
- package/dist/providers/wispr-flow/skill.generated.js +0 -8
- /package/dist/providers/github/{key.js → lib/key.js} +0 -0
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import type { Operation, OperationIndex } from "./operation-index.js";
|
|
2
|
-
/** What a removed secret reads as. */
|
|
3
|
-
export declare const REDACTED = "[redacted]";
|
|
4
|
-
/** Credential vocabulary over normalized names, matched anywhere; mirrors `scripts/value-safety.mjs`. */
|
|
5
|
-
export declare const CREDENTIAL_WORDS: string[];
|
|
6
|
-
/** Credential vocabulary matched at the end of a normalized name; mirrors the script. */
|
|
7
|
-
export declare const CREDENTIAL_SUFFIX: RegExp;
|
|
8
|
-
/** Suffixes of metadata about a credential (ids, prefixes, last four, counts, expiry, scopes); mirrors the script. */
|
|
9
|
-
export declare const METADATA_SUFFIXES: string[];
|
|
10
|
-
/** Exact metadata names that contain a credential word; mirrors the script. */
|
|
11
|
-
export declare const METADATA_NAMES: string[];
|
|
12
|
-
export type ValueSafetyVerdict = {
|
|
13
|
-
readonly verdict: "refuse";
|
|
14
|
-
readonly reason: string;
|
|
15
|
-
} | {
|
|
16
|
-
readonly verdict: "redact";
|
|
17
|
-
readonly reason: string;
|
|
18
|
-
/**
|
|
19
|
-
* Reviewed field paths into the data a tool returns: `a.b` (a list on
|
|
20
|
-
* the way is traversed item by item), `[]` for list items, `{}` or `*`
|
|
21
|
-
* for every value of a map, `@keys` for a map keyed by secrets (keys
|
|
22
|
-
* become placeholders), `[?env]` for list items whose `type` names an
|
|
23
|
-
* environment variable, `[?credential]` for list items labelled with a
|
|
24
|
-
* credential name, `[?header]` for header, cookie, or query rules. A
|
|
25
|
-
* `url:` prefix sanitizes a URL; an `origin:` prefix (or `#url` suffix)
|
|
26
|
-
* keeps only its scheme and host. Every other value at a path becomes
|
|
27
|
-
* `[redacted]`.
|
|
28
|
-
*/
|
|
29
|
-
readonly paths: readonly string[];
|
|
30
|
-
/** Reviewed metadata paths the key-name heuristic leaves (children are still checked). */
|
|
31
|
-
readonly keep?: readonly string[];
|
|
32
|
-
/** See the `safe` verdict. */
|
|
33
|
-
readonly errors?: "vendor";
|
|
34
|
-
} | {
|
|
35
|
-
readonly verdict: "safe";
|
|
36
|
-
readonly reason: string;
|
|
37
|
-
/** Reviewed metadata paths the key-name heuristic leaves (children are still checked). */
|
|
38
|
-
readonly keep?: readonly string[];
|
|
39
|
-
/**
|
|
40
|
-
* The error policy. By default a reviewed operation's failures carry the
|
|
41
|
-
* vendor's codes and statuses but never its text, which may echo a
|
|
42
|
-
* stored secret. `vendor` is a reviewed exception for operations whose
|
|
43
|
-
* errors cannot: the vendor's text passes (and still meets the
|
|
44
|
-
* sent-secrets matcher).
|
|
45
|
-
*/
|
|
46
|
-
readonly errors?: "vendor";
|
|
47
|
-
};
|
|
48
|
-
/** One field name reviewed for a whole vendor whose objects repeat across operations (Stripe's). */
|
|
49
|
-
interface FieldReview {
|
|
50
|
-
readonly verdict: "redact" | "keep";
|
|
51
|
-
readonly reason: string;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* A reviewed rule for one resource type, applied to every object whose
|
|
55
|
-
* discriminator names it wherever a response embeds it: the top level, a list,
|
|
56
|
-
* a search result, an expansion, an event's `data.object`. Operation verdicts
|
|
57
|
-
* review what an operation returns by shape; resource rules are the backstop
|
|
58
|
-
* for what expansions can put anywhere.
|
|
59
|
-
*/
|
|
60
|
-
/**
|
|
61
|
-
* When an object is provably unbound (a guest Checkout Session), stated as
|
|
62
|
-
* data so `providers:spec` can hold it to the pinned schema: every binding
|
|
63
|
-
* field the schema has must be listed, in `bindings` or, with a reason, in
|
|
64
|
-
* `unbound`.
|
|
65
|
-
*/
|
|
66
|
-
interface GuestCondition {
|
|
67
|
-
/**
|
|
68
|
-
* Fields that bind the object to an identity or its saved methods. Each
|
|
69
|
-
* must be absent, null, empty, or one of the listed values that bind
|
|
70
|
-
* nothing (`customer_creation: "if_required"`).
|
|
71
|
-
*/
|
|
72
|
-
readonly bindings: Readonly<Record<string, readonly string[]>>;
|
|
73
|
-
/** Identity-named fields that bind nothing (guest prefill or collected details), with the reason. */
|
|
74
|
-
readonly unbound: Readonly<Record<string, string>>;
|
|
75
|
-
/** Fields whose value must be one of these (a Checkout Session's `mode: "payment"`). */
|
|
76
|
-
readonly requires?: Readonly<Record<string, readonly string[]>>;
|
|
77
|
-
}
|
|
78
|
-
interface ResourceRule {
|
|
79
|
-
readonly reason: string;
|
|
80
|
-
/** Reviewed paths relative to the object, in the operation path language. */
|
|
81
|
-
readonly paths?: readonly string[];
|
|
82
|
-
/**
|
|
83
|
-
* Fields whose string is a payer-facing URL the resource exists to hand out
|
|
84
|
-
* (a guest Checkout page), returned without URL sanitizing: its fragment is
|
|
85
|
-
* opaque state the page needs. With `guest`, only while the object is
|
|
86
|
-
* provably a guest's; otherwise its `withheld` paths go.
|
|
87
|
-
*/
|
|
88
|
-
readonly verbatim?: readonly string[];
|
|
89
|
-
readonly guest?: GuestCondition;
|
|
90
|
-
readonly withheld?: readonly string[];
|
|
91
|
-
}
|
|
92
|
-
interface ResourceRules {
|
|
93
|
-
/** The field that names an object's type (Stripe's `object`). */
|
|
94
|
-
readonly key: string;
|
|
95
|
-
/** Sibling fields holding a partial copy of a discriminated object (an event's `previous_attributes`). */
|
|
96
|
-
readonly partials?: readonly string[];
|
|
97
|
-
readonly rules: Readonly<Record<string, ResourceRule>>;
|
|
98
|
-
}
|
|
99
|
-
export interface ValueSafetyTable {
|
|
100
|
-
/** Display name in refusals. */
|
|
101
|
-
readonly title: string;
|
|
102
|
-
/** Global signing names plus generic credential names only on these reviewed response paths. */
|
|
103
|
-
readonly embeddedUrls?: {
|
|
104
|
-
readonly operations?: Readonly<Record<string, readonly string[]>>;
|
|
105
|
-
/** Discriminated resources, wherever lists, expansions, or events embed them. */
|
|
106
|
-
readonly resources?: {
|
|
107
|
-
readonly key: string;
|
|
108
|
-
readonly partials?: readonly string[];
|
|
109
|
-
readonly paths: Readonly<Record<string, readonly string[]>>;
|
|
110
|
-
};
|
|
111
|
-
};
|
|
112
|
-
/** The reviewed verdict for every flagged operation, keyed `METHOD /path template`. */
|
|
113
|
-
readonly operations: Readonly<Record<string, ValueSafetyVerdict>>;
|
|
114
|
-
/**
|
|
115
|
-
* Field names reviewed once for the vendor: `redact` wherever the name
|
|
116
|
-
* appears, `keep` as metadata the heuristic leaves wherever it appears
|
|
117
|
-
* (children are still checked). Keyed by the exact field name.
|
|
118
|
-
*/
|
|
119
|
-
readonly fields?: Readonly<Record<string, FieldReview>>;
|
|
120
|
-
/** Operations whose whole body is environment variables: every value field goes, `key` or not. */
|
|
121
|
-
readonly envBodies?: RegExp;
|
|
122
|
-
/** Keys whose string-list values are permission scopes (action names under a resource), never secrets. */
|
|
123
|
-
readonly scopeMaps?: readonly string[];
|
|
124
|
-
/** Rules for resource types wherever they appear, for vendors whose objects carry a type discriminator. */
|
|
125
|
-
readonly resources?: ResourceRules;
|
|
126
|
-
}
|
|
127
|
-
export declare const refuse: (reason: string) => ValueSafetyVerdict;
|
|
128
|
-
export declare const redact: (reason: string, paths: readonly string[], keep?: readonly string[]) => ValueSafetyVerdict;
|
|
129
|
-
export declare const safe: (reason: string, keep?: readonly string[]) => ValueSafetyVerdict;
|
|
130
|
-
/** A verdict whose failures keep the vendor's text: reviewed, for operations whose errors echo no stored secret. */
|
|
131
|
-
export declare const vendorErrors: (verdict: ValueSafetyVerdict) => ValueSafetyVerdict;
|
|
132
|
-
/** Paths under each prefix; a `url:` or `origin:` directive stays in front. */
|
|
133
|
-
export declare function under(prefixes: readonly string[], paths: readonly string[]): string[];
|
|
134
|
-
/**
|
|
135
|
-
* Whether a key names a credential: a credential word anywhere in a name
|
|
136
|
-
* that is not metadata (Vercel's former rule), or a credential suffix
|
|
137
|
-
* (Cloudflare's).
|
|
138
|
-
*/
|
|
139
|
-
export declare function credentialName(name: string): boolean;
|
|
140
|
-
/** Where a vendor stores the files it signs. */
|
|
141
|
-
export interface FileHosts {
|
|
142
|
-
/** Hosts matched whole or as a parent domain: `file.notion.so` covers `img.file.notion.so`. */
|
|
143
|
-
readonly domains: readonly string[];
|
|
144
|
-
/** S3 buckets, virtual-hosted or as the first path segment on an S3 endpoint. Never all of S3. */
|
|
145
|
-
readonly buckets: readonly string[];
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* `text` with every pre-signed link withheld: at one of `hosts` (Notion's
|
|
149
|
-
* file storage, say), its whole query and fragment; anywhere, a signing
|
|
150
|
-
* parameter's value. Everything else comes back byte for byte.
|
|
151
|
-
*/
|
|
152
|
-
export declare function withholdSignedLinks(text: string, hosts: FileHosts): string;
|
|
153
|
-
/**
|
|
154
|
-
* Reviewed REST text policy: only credential-bearing URL queries/fragments
|
|
155
|
-
* change. Ordinary links, including external proxies, retain their bytes.
|
|
156
|
-
* Literal AWS/Google signing names are withheld anywhere, as in #818.
|
|
157
|
-
*/
|
|
158
|
-
export declare function withholdEmbeddedUrls(text: string): string;
|
|
159
|
-
/** Every string inside a JSON value through `withholdSignedLinks`; unchanged values keep their identity. */
|
|
160
|
-
export declare function withholdSignedLinksIn(value: unknown, hosts: FileHosts, depth?: number): unknown;
|
|
161
|
-
/** Apply the reviewed text policy to a selected value or vendor error body. */
|
|
162
|
-
export declare function withholdEmbeddedUrlsIn(value: unknown): unknown;
|
|
163
|
-
/**
|
|
164
|
-
* Whether a request value carries a link whose query or
|
|
165
|
-
* fragment holds the exact `[redacted]` placeholder, plain or encoded: a
|
|
166
|
-
* withheld read copied into a write, which would store the placeholder.
|
|
167
|
-
* Only the link's own destination is read: a Markdown link ends at its
|
|
168
|
-
* closing `)`, so `[f](…?a=1)[redacted]` is ordinary text after it.
|
|
169
|
-
* The word alone (`unredacted`) or the placeholder away from a file link is
|
|
170
|
-
* a person's text. When `hosts` is supplied, require its actual authority
|
|
171
|
-
* to match that policy, preserving Notion's external-proxy boundary.
|
|
172
|
-
*/
|
|
173
|
-
export declare function carriesWithheldLink(value: unknown, hosts?: FileHosts): boolean;
|
|
174
|
-
/** Refuse a withheld destination copied into customer data, before any dispatch. */
|
|
175
|
-
export declare function refuseWithheldLinks(value: unknown, title: string): void;
|
|
176
|
-
/** Upload admission inspects actual bytes, including base64-decoded files and multipart blobs. */
|
|
177
|
-
export declare function refuseWithheldUpload(body: BodyInit, title: string): Promise<void>;
|
|
178
|
-
/** Only for documented JSON fields the vendor decodes as base64, never arbitrary strings. */
|
|
179
|
-
export declare function refuseWithheldBase64(value: unknown, title: string, maxDecodedBytes?: number): Promise<void>;
|
|
180
|
-
/** Whether every segment of a reviewed path is in the path language; the harness checks each table. */
|
|
181
|
-
export declare function validPath(raw: string): boolean;
|
|
182
|
-
/** What a vendor's tools ask of its reviewed table. */
|
|
183
|
-
export interface ValueSafety {
|
|
184
|
-
readonly table: ValueSafetyTable;
|
|
185
|
-
/** The reviewed verdict for an operation, if it was flagged. */
|
|
186
|
-
verdict(method: string, template: string): ValueSafetyVerdict | undefined;
|
|
187
|
-
/** The refusal for a `refuse` verdict, before anything is sent. */
|
|
188
|
-
refusal(method: string, template: string): string | undefined;
|
|
189
|
-
/** One success body made value-safe: reviewed paths, environment bodies, resource rules, then the heuristic. */
|
|
190
|
-
redact(data: unknown, method: string, template: string): unknown;
|
|
191
|
-
/**
|
|
192
|
-
* Whether a failure's vendor text is withheld: any reviewed operation
|
|
193
|
-
* unless its verdict says `errors: "vendor"`, or an unreviewed one whose
|
|
194
|
-
* request accepts a credential-named field (an error may echo what was
|
|
195
|
-
* submitted). Codes and statuses still route.
|
|
196
|
-
*/
|
|
197
|
-
withholdsErrors(op: Operation): boolean;
|
|
198
|
-
}
|
|
199
|
-
/** A vendor's value-safety mechanism over its reviewed table and pinned index. */
|
|
200
|
-
export declare function valueSafety(table: ValueSafetyTable, index: () => OperationIndex): ValueSafety;
|
|
201
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { ConnectorCallAdmissionPolicy } from "../../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Basecamp's one hosted MCP endpoint, streamable HTTP.
|
|
4
|
-
*
|
|
5
|
-
* Live but undocumented: as of 2026-10-05 37signals has announced no MCP
|
|
6
|
-
* server, and basecamp.com/agents (where the endpoint's own 401 body points)
|
|
7
|
-
* describes the CLI and SDKs without naming it. What the server does publish is
|
|
8
|
-
* its OAuth discovery — protected-resource metadata naming
|
|
9
|
-
* `https://app.basecamp.com` as the authorization server — and that is what
|
|
10
|
-
* this provider is written against, beside a captured live `tools/list`.
|
|
11
|
-
*/
|
|
12
|
-
export declare const BASECAMP_MCP_ENDPOINT = "https://mcp.basecamp.com/mcp";
|
|
13
|
-
export interface BasecampOptions {
|
|
14
|
-
/** Human-readable display name; defaults to "Basecamp". */
|
|
15
|
-
title?: string;
|
|
16
|
-
/**
|
|
17
|
-
* Downstream auth ownership. Defaults to one shared deployment grant. With
|
|
18
|
-
* `"personal"` each principal authorizes separately and may pick a
|
|
19
|
-
* different Basecamp account at consent, which the guide says.
|
|
20
|
-
*/
|
|
21
|
-
authScope?: "shared" | "personal";
|
|
22
|
-
/** Which Basecamp account this is and what decisions it answers. */
|
|
23
|
-
purpose: string;
|
|
24
|
-
/** Optional external CIMD URL. Defaults to this deployment's public HTTPS document. */
|
|
25
|
-
clientMetadataUrl?: string;
|
|
26
|
-
/** Account-specific conventions appended to the maintained provider guide. */
|
|
27
|
-
instructions?: string;
|
|
28
|
-
/** Connector-specific inline result limit; omit to inherit the deployment. */
|
|
29
|
-
maxResultBytes?: number;
|
|
30
|
-
/** Serve only read-classified tools on every endpoint. Defaults to false. */
|
|
31
|
-
readOnly?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Optional per-runtime policy. There is no default: Basecamp's API documents
|
|
34
|
-
* several dynamically adjusted limits (GET versus POST, per second, hour,
|
|
35
|
-
* and day) and quotes only "currently 50 requests per 10 second period per
|
|
36
|
-
* IP address" for scale — metered at the IP that calls the API, which is
|
|
37
|
-
* Basecamp's own MCP server rather than this runtime. A per-runtime counter
|
|
38
|
-
* approximates none of that, so the operator picks (P12).
|
|
39
|
-
*/
|
|
40
|
-
callAdmission?: ConnectorCallAdmissionPolicy;
|
|
41
|
-
}
|
|
42
|
-
/** A maintained Basecamp hosted-MCP connection. */
|
|
43
|
-
export declare const basecamp: import("../../provider.js").ProviderFactory<BasecampOptions>;
|
|
44
|
-
/** @deprecated Read `basecamp.definition.classify` instead. Kept for existing imports. */
|
|
45
|
-
export declare const BASECAMP_VETTED_CATALOG: import("../../catalog-drift.js").VettedCatalog;
|