@zackbart/connecta 0.28.1 → 0.30.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 +855 -5
- package/README.md +125 -116
- package/bin/connecta.mjs +121 -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/argument-redaction.js +230 -0
- 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 +1584 -1580
- 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 +93 -71
- package/dist/auth-elicitation.js +288 -0
- package/dist/authorization-handoff.js +111 -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 +409 -225
- 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 +633 -0
- package/dist/config.js +508 -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 +59 -7
- package/dist/connectors/api-connector.js +106 -19
- package/dist/connectors/api.js +4 -1
- package/dist/connectors/guarded-fetch.d.ts +144 -0
- package/dist/connectors/guarded-fetch.js +87 -38
- 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 +1774 -320
- 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 +128 -0
- package/dist/downstream-input.js +325 -0
- package/dist/errors.d.ts +132 -31
- package/dist/errors.js +175 -87
- package/dist/execute.js +798 -318
- 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 +30 -13
- package/dist/executors/quickjs-child.js +15 -9
- package/dist/executors/quickjs-protocol.js +5 -6
- package/dist/executors/quickjs-runtime.js +152 -59
- package/dist/executors/quickjs.js +49 -39
- package/dist/favicon.js +1 -2
- package/dist/fix-prompt.js +1 -3
- package/dist/guest-runtime.js +238 -0
- package/dist/guest-types.d.ts +218 -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 +24 -256
- package/dist/index.js +65 -478
- package/dist/invocation-auth.js +69 -0
- package/dist/invocation.js +262 -79
- 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 +61 -0
- package/dist/meta-tool-names.d.ts +2 -0
- package/dist/meta-tool-names.js +3 -0
- package/dist/meta-tools.js +419 -272
- 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 +194 -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-result.js +5 -0
- package/dist/program-source.js +14 -2
- package/dist/{exempt-writes.js → program-writes.js} +60 -19
- 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/_shared/request-token.js +83 -0
- package/dist/providers/{basecamp.d.ts → basecamp/index.d.ts} +6 -28
- package/dist/providers/basecamp/index.js +997 -0
- package/dist/providers/basecamp/skill.generated.js +9 -0
- package/dist/providers/{breeze.d.ts → breeze/index.d.ts} +2 -2
- package/dist/providers/{breeze.js → breeze/index.js} +184 -140
- package/dist/providers/breeze/skill.generated.js +9 -0
- package/dist/providers/{ccb.d.ts → ccb/index.d.ts} +2 -2
- package/dist/providers/{ccb.js → ccb/index.js} +271 -116
- 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/infisical/index.d.ts +7 -0
- package/dist/providers/infisical/index.js +713 -0
- package/dist/providers/infisical/skill.generated.js +8 -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.d.ts → overflow/index.d.ts} +2 -2
- package/dist/providers/{overflow.js → overflow/index.js} +74 -111
- package/dist/providers/overflow/skill.generated.js +8 -0
- package/dist/providers/{planning-center.d.ts → planning-center/index.d.ts} +2 -2
- package/dist/providers/{planning-center.js → planning-center/index.js} +264 -104
- 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.d.ts → tithely/index.d.ts} +2 -2
- package/dist/providers/{tithely.js → tithely/index.js} +60 -91
- 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 +110 -171
- package/dist/registry.js +588 -927
- package/dist/request-state.js +21 -0
- package/dist/resource-read.js +103 -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 +365 -130
- package/dist/routes/oauth-client-metadata.js +15 -0
- package/dist/routes/oauth-management.js +45 -107
- package/dist/routes/oauth.js +110 -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 +93 -0
- package/dist/sent-secrets.js +1013 -0
- package/dist/server.js +28 -71
- package/dist/skills.js +416 -174
- package/dist/sqlite.d.ts +48 -0
- package/dist/sqlite.js +181 -0
- package/dist/storage/keys.js +443 -0
- package/dist/storage/memory.js +16 -4
- package/dist/storage/sql.d.ts +66 -0
- package/dist/storage/sql.js +543 -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 +336 -56
- 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 +146 -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 +435 -0
- package/documentation/README.md +63 -0
- package/documentation/architecture.md +696 -231
- package/documentation/auth.md +1069 -546
- package/documentation/code-mode.md +662 -356
- package/documentation/deploying.md +146 -0
- package/documentation/integrating.md +159 -0
- package/documentation/meta-tools.md +570 -216
- package/documentation/operating.md +135 -0
- package/documentation/operator-tests.md +97 -0
- package/documentation/operator-ui.md +132 -0
- package/documentation/provider-migration-0.29.md +65 -0
- package/examples/worker/AGENTS.md +34 -12
- package/examples/worker/README.md +293 -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 +126 -54
- 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 +140 -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/basecamp.js +0 -445
- 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/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zackbart/connecta",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
|
-
"description": "One MCP to rule them all — a single MCP endpoint aggregating many downstream connectors behind a code-first surface of
|
|
6
|
+
"description": "One MCP to rule them all — a single MCP endpoint aggregating many downstream connectors behind a code-first surface of six meta-tools.",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"engines": {
|
|
9
|
-
"node": ">=22.
|
|
9
|
+
"node": ">=22.13.0"
|
|
10
10
|
},
|
|
11
11
|
"publishConfig": {
|
|
12
12
|
"access": "public"
|
|
@@ -34,8 +34,6 @@
|
|
|
34
34
|
"documentation",
|
|
35
35
|
"examples/worker",
|
|
36
36
|
"templates",
|
|
37
|
-
"AGENTS.md",
|
|
38
|
-
"ethos.md",
|
|
39
37
|
"README.md",
|
|
40
38
|
"CHANGELOG.md",
|
|
41
39
|
"SECURITY.md",
|
|
@@ -51,6 +49,14 @@
|
|
|
51
49
|
"types": "./dist/node.d.ts",
|
|
52
50
|
"import": "./dist/node.js"
|
|
53
51
|
},
|
|
52
|
+
"./sqlite": {
|
|
53
|
+
"types": "./dist/sqlite.d.ts",
|
|
54
|
+
"import": "./dist/sqlite.js"
|
|
55
|
+
},
|
|
56
|
+
"./d1": {
|
|
57
|
+
"types": "./dist/d1.d.ts",
|
|
58
|
+
"import": "./dist/d1.js"
|
|
59
|
+
},
|
|
54
60
|
"./json-schema": {
|
|
55
61
|
"types": "./dist/json-schema.d.ts",
|
|
56
62
|
"import": "./dist/json-schema.js"
|
|
@@ -67,57 +73,89 @@
|
|
|
67
73
|
"types": "./dist/auth/cloudflare-access.d.ts",
|
|
68
74
|
"import": "./dist/auth/cloudflare-access.js"
|
|
69
75
|
},
|
|
76
|
+
"./providers/basecamp": {
|
|
77
|
+
"types": "./dist/providers/basecamp/index.d.ts",
|
|
78
|
+
"import": "./dist/providers/basecamp/index.js"
|
|
79
|
+
},
|
|
70
80
|
"./providers/breeze": {
|
|
71
|
-
"types": "./dist/providers/breeze.d.ts",
|
|
72
|
-
"import": "./dist/providers/breeze.js"
|
|
81
|
+
"types": "./dist/providers/breeze/index.d.ts",
|
|
82
|
+
"import": "./dist/providers/breeze/index.js"
|
|
73
83
|
},
|
|
74
|
-
"./providers/
|
|
75
|
-
"types": "./dist/providers/
|
|
76
|
-
"import": "./dist/providers/
|
|
84
|
+
"./providers/ccb": {
|
|
85
|
+
"types": "./dist/providers/ccb/index.d.ts",
|
|
86
|
+
"import": "./dist/providers/ccb/index.js"
|
|
77
87
|
},
|
|
78
88
|
"./providers/cloudflare": {
|
|
79
|
-
"types": "./dist/providers/cloudflare.d.ts",
|
|
80
|
-
"import": "./dist/providers/cloudflare.js"
|
|
89
|
+
"types": "./dist/providers/cloudflare/index.d.ts",
|
|
90
|
+
"import": "./dist/providers/cloudflare/index.js"
|
|
91
|
+
},
|
|
92
|
+
"./providers/docs": {
|
|
93
|
+
"types": "./dist/providers/docs/index.d.ts",
|
|
94
|
+
"import": "./dist/providers/docs/index.js"
|
|
95
|
+
},
|
|
96
|
+
"./providers/drive": {
|
|
97
|
+
"types": "./dist/providers/drive/index.d.ts",
|
|
98
|
+
"import": "./dist/providers/drive/index.js"
|
|
99
|
+
},
|
|
100
|
+
"./providers/forms": {
|
|
101
|
+
"types": "./dist/providers/forms/index.d.ts",
|
|
102
|
+
"import": "./dist/providers/forms/index.js"
|
|
103
|
+
},
|
|
104
|
+
"./providers/github": {
|
|
105
|
+
"types": "./dist/providers/github/index.d.ts",
|
|
106
|
+
"import": "./dist/providers/github/index.js"
|
|
107
|
+
},
|
|
108
|
+
"./providers/gmail": {
|
|
109
|
+
"types": "./dist/providers/gmail/index.d.ts",
|
|
110
|
+
"import": "./dist/providers/gmail/index.js"
|
|
111
|
+
},
|
|
112
|
+
"./providers/infisical": {
|
|
113
|
+
"types": "./dist/providers/infisical/index.d.ts",
|
|
114
|
+
"import": "./dist/providers/infisical/index.js"
|
|
81
115
|
},
|
|
82
116
|
"./providers/linear": {
|
|
83
|
-
"types": "./dist/providers/linear.d.ts",
|
|
84
|
-
"import": "./dist/providers/linear.js"
|
|
117
|
+
"types": "./dist/providers/linear/index.d.ts",
|
|
118
|
+
"import": "./dist/providers/linear/index.js"
|
|
85
119
|
},
|
|
86
120
|
"./providers/mixpanel": {
|
|
87
|
-
"types": "./dist/providers/mixpanel.d.ts",
|
|
88
|
-
"import": "./dist/providers/mixpanel.js"
|
|
121
|
+
"types": "./dist/providers/mixpanel/index.d.ts",
|
|
122
|
+
"import": "./dist/providers/mixpanel/index.js"
|
|
89
123
|
},
|
|
90
124
|
"./providers/notion": {
|
|
91
|
-
"types": "./dist/providers/notion.d.ts",
|
|
92
|
-
"import": "./dist/providers/notion.js"
|
|
125
|
+
"types": "./dist/providers/notion/index.d.ts",
|
|
126
|
+
"import": "./dist/providers/notion/index.js"
|
|
93
127
|
},
|
|
94
|
-
"./providers/
|
|
95
|
-
"types": "./dist/providers/
|
|
96
|
-
"import": "./dist/providers/
|
|
128
|
+
"./providers/overflow": {
|
|
129
|
+
"types": "./dist/providers/overflow/index.d.ts",
|
|
130
|
+
"import": "./dist/providers/overflow/index.js"
|
|
97
131
|
},
|
|
98
|
-
"./providers/
|
|
99
|
-
"types": "./dist/providers/
|
|
100
|
-
"import": "./dist/providers/
|
|
132
|
+
"./providers/planning-center": {
|
|
133
|
+
"types": "./dist/providers/planning-center/index.d.ts",
|
|
134
|
+
"import": "./dist/providers/planning-center/index.js"
|
|
101
135
|
},
|
|
102
|
-
"./providers/
|
|
103
|
-
"types": "./dist/providers/
|
|
104
|
-
"import": "./dist/providers/
|
|
136
|
+
"./providers/revenuecat": {
|
|
137
|
+
"types": "./dist/providers/revenuecat/index.d.ts",
|
|
138
|
+
"import": "./dist/providers/revenuecat/index.js"
|
|
105
139
|
},
|
|
106
|
-
"./providers/
|
|
107
|
-
"types": "./dist/providers/
|
|
108
|
-
"import": "./dist/providers/
|
|
140
|
+
"./providers/sheets": {
|
|
141
|
+
"types": "./dist/providers/sheets/index.d.ts",
|
|
142
|
+
"import": "./dist/providers/sheets/index.js"
|
|
109
143
|
},
|
|
110
|
-
"./providers/
|
|
111
|
-
"types": "./dist/providers/
|
|
112
|
-
"import": "./dist/providers/
|
|
144
|
+
"./providers/slides": {
|
|
145
|
+
"types": "./dist/providers/slides/index.d.ts",
|
|
146
|
+
"import": "./dist/providers/slides/index.js"
|
|
113
147
|
},
|
|
114
|
-
"./providers/
|
|
115
|
-
"types": "./dist/providers/
|
|
116
|
-
"import": "./dist/providers/
|
|
148
|
+
"./providers/stripe": {
|
|
149
|
+
"types": "./dist/providers/stripe/index.d.ts",
|
|
150
|
+
"import": "./dist/providers/stripe/index.js"
|
|
117
151
|
},
|
|
118
152
|
"./providers/tithely": {
|
|
119
|
-
"types": "./dist/providers/tithely.d.ts",
|
|
120
|
-
"import": "./dist/providers/tithely.js"
|
|
153
|
+
"types": "./dist/providers/tithely/index.d.ts",
|
|
154
|
+
"import": "./dist/providers/tithely/index.js"
|
|
155
|
+
},
|
|
156
|
+
"./providers/vercel": {
|
|
157
|
+
"types": "./dist/providers/vercel/index.d.ts",
|
|
158
|
+
"import": "./dist/providers/vercel/index.js"
|
|
121
159
|
},
|
|
122
160
|
"./ui": {
|
|
123
161
|
"types": "./dist/ui.d.ts",
|
|
@@ -131,28 +169,27 @@
|
|
|
131
169
|
"types": "./dist/activity.d.ts",
|
|
132
170
|
"import": "./dist/activity.js"
|
|
133
171
|
},
|
|
134
|
-
"./auth/bearer": {
|
|
135
|
-
"types": "./dist/auth/bearer.d.ts",
|
|
136
|
-
"import": "./dist/auth/bearer.js"
|
|
137
|
-
},
|
|
138
|
-
"./artifacts": {
|
|
139
|
-
"types": "./dist/artifacts.d.ts",
|
|
140
|
-
"import": "./dist/artifacts.js"
|
|
141
|
-
},
|
|
142
172
|
"./auth/access-tokens": {
|
|
143
173
|
"types": "./dist/access-tokens.d.ts",
|
|
144
174
|
"import": "./dist/access-tokens.js"
|
|
175
|
+
},
|
|
176
|
+
"./worker": {
|
|
177
|
+
"types": "./dist/worker.d.ts",
|
|
178
|
+
"import": "./dist/worker.js"
|
|
145
179
|
}
|
|
146
180
|
},
|
|
147
181
|
"scripts": {
|
|
148
182
|
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
149
183
|
"build:operator-ui": "node scripts/build-operator-ui.mjs",
|
|
150
184
|
"check:operator-ui": "node scripts/build-operator-ui.mjs --check",
|
|
151
|
-
"
|
|
185
|
+
"check:clerk-sdk": "node scripts/build-clerk-sdk.mjs --check",
|
|
186
|
+
"build": "npm run providers:generate && npm run clean && tsc -p tsconfig.build.json && node scripts/prune-declarations.mjs",
|
|
152
187
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.operator-ui.json --noEmit",
|
|
153
188
|
"test": "vitest run",
|
|
154
189
|
"test:browser:install": "playwright install chromium",
|
|
155
190
|
"test:browser": "playwright test",
|
|
191
|
+
"test:browser:snapshots": "node scripts/update-operator-snapshots.mjs",
|
|
192
|
+
"pretest:browser:snapshots": "npm run build:operator-ui",
|
|
156
193
|
"test:node": "vitest run --project node",
|
|
157
194
|
"test:workers": "vitest run --project workers",
|
|
158
195
|
"check:docs": "node scripts/check-doc-links.mjs",
|
|
@@ -170,15 +207,34 @@
|
|
|
170
207
|
"eval:smoke": "tsx eval/run-smoke.ts",
|
|
171
208
|
"eval:perf": "tsx eval/run-perf.ts",
|
|
172
209
|
"eval:report": "tsx eval/report.ts",
|
|
173
|
-
"check": "npm run check:docs && npm run check:operator-ui && npm run check:
|
|
210
|
+
"check:core": "npm run format:check && npm run check:providers-generated && npm run check:docs && npm run check:changes && npm run check:operator-ui && npm run check:clerk-sdk && npm run check:lint && npm run check:unused && npm run typecheck && npm run test && npm run build && npm run check:declarations && npm run check:bundle && npm run check:examples",
|
|
211
|
+
"check:fast": "node scripts/check-fast.mjs",
|
|
212
|
+
"check": "npm run check:core && npm run test:browser",
|
|
174
213
|
"release:check": "npm run check && npm run check:security && npm run check:package",
|
|
175
|
-
"prepack": "npm run check"
|
|
214
|
+
"prepack": "npm run check",
|
|
215
|
+
"check:changes": "node scripts/changelog.mjs --check && node scripts/check-node-suites.mjs && node --test scripts/changelog.test.mjs",
|
|
216
|
+
"changelog:assemble": "node scripts/changelog.mjs",
|
|
217
|
+
"providers:generate": "tsx scripts/generate-providers.mjs",
|
|
218
|
+
"check:providers-generated": "tsx scripts/generate-providers.mjs --check",
|
|
219
|
+
"prebuild": "node scripts/generate-version.mjs && npm run build:operator-ui",
|
|
220
|
+
"pretest": "node scripts/generate-version.mjs && npm run build:operator-ui",
|
|
221
|
+
"pretest:node": "node scripts/generate-version.mjs && npm run build:operator-ui",
|
|
222
|
+
"pretest:workers": "node scripts/generate-version.mjs && npm run build:operator-ui",
|
|
223
|
+
"pretest:browser": "npm run build:operator-ui",
|
|
224
|
+
"pretypecheck": "node scripts/generate-version.mjs && npm run build:operator-ui",
|
|
225
|
+
"precheck:bundle": "npm run build:operator-ui",
|
|
226
|
+
"precheck:fast": "npm run check:operator-ui",
|
|
227
|
+
"eval:regrade": "tsx eval/regrade.ts",
|
|
228
|
+
"eval:compare": "tsx eval/compare.ts",
|
|
229
|
+
"format": "oxfmt --write .",
|
|
230
|
+
"format:check": "oxfmt --check ."
|
|
176
231
|
},
|
|
177
232
|
"dependencies": {
|
|
178
233
|
"@cfworker/json-schema": "^4.1.1",
|
|
179
|
-
"@modelcontextprotocol/client": "2.
|
|
180
|
-
"@modelcontextprotocol/server": "2.
|
|
181
|
-
"
|
|
234
|
+
"@modelcontextprotocol/client": "2.3.1",
|
|
235
|
+
"@modelcontextprotocol/server": "2.3.1",
|
|
236
|
+
"acorn": "^8.19.0",
|
|
237
|
+
"effect": "^4.0.0",
|
|
182
238
|
"zod": "^4.4.3"
|
|
183
239
|
},
|
|
184
240
|
"peerDependencies": {
|
|
@@ -198,17 +254,33 @@
|
|
|
198
254
|
}
|
|
199
255
|
},
|
|
200
256
|
"devDependencies": {
|
|
201
|
-
"@clerk/backend": "
|
|
257
|
+
"@clerk/backend": "3.12.0",
|
|
202
258
|
"@cloudflare/codemode": "^0.5.0",
|
|
203
259
|
"@cloudflare/vitest-pool-workers": "^0.18.8",
|
|
204
260
|
"@cloudflare/workers-types": "^4.20250101.0 || ^5.0.0",
|
|
261
|
+
"@fontsource-variable/inter": "^5.3.0",
|
|
205
262
|
"@playwright/test": "^1.62.0",
|
|
263
|
+
"@radix-ui/react-dialog": "^1.2.0",
|
|
264
|
+
"@radix-ui/react-slot": "^1.4.0",
|
|
265
|
+
"@radix-ui/react-tabs": "^1.1.22",
|
|
266
|
+
"@tailwindcss/node": "^4.3.3",
|
|
267
|
+
"@tailwindcss/oxide": "^4.3.3",
|
|
268
|
+
"@tanstack/react-query": "^5.104.1",
|
|
269
|
+
"@tanstack/react-router": "^1.170.41",
|
|
270
|
+
"@tanstack/react-table": "^8.21.3",
|
|
206
271
|
"@types/node": "^22.0.0",
|
|
272
|
+
"@types/react": "^19.3.0",
|
|
273
|
+
"@types/react-dom": "^19.3.0",
|
|
274
|
+
"cmdk": "^1.1.1",
|
|
275
|
+
"commonmark": "^0.31.2",
|
|
207
276
|
"esbuild": "^0.28.0",
|
|
208
277
|
"knip": "^6.29.0",
|
|
278
|
+
"oxfmt": "0.72.0",
|
|
209
279
|
"oxlint": "^1.76.0",
|
|
210
|
-
"preact": "^10.29.8",
|
|
211
280
|
"quickjs-emscripten": "^0.32.0",
|
|
281
|
+
"react": "^19.3.0",
|
|
282
|
+
"react-dom": "^19.3.0",
|
|
283
|
+
"tailwindcss": "^4.3.3",
|
|
212
284
|
"tsx": "^4.23.1",
|
|
213
285
|
"typescript": "^5.9.3",
|
|
214
286
|
"vitest": "^4.1.6",
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
# of source control:
|
|
5
|
-
# node -e "console.log(crypto.randomBytes(32).toString('base64url'))"
|
|
1
|
+
# Client/doctor credential only. Provision a stored cta_ token with the trusted
|
|
2
|
+
# local command in README.md. This variable never configures server auth and
|
|
3
|
+
# is not passed to the container. An empty database refuses all machine clients.
|
|
6
4
|
CONNECTA_TOKEN=
|
|
7
5
|
|
|
8
6
|
# Optional. Defaults to 8787. Compose publishes this port on the host too.
|
|
@@ -13,30 +11,31 @@ PORT=8787
|
|
|
13
11
|
# <PUBLIC_URL>/oauth/callback/<connectorId>. Defaults to http://localhost:<PORT>.
|
|
14
12
|
PUBLIC_URL=
|
|
15
13
|
|
|
16
|
-
# Optional.
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
|
|
14
|
+
# Optional. The one SQLite file that holds every piece of state: downstream
|
|
15
|
+
# OAuth grants, sealed credentials, catalogs, access tokens, and activity.
|
|
16
|
+
# Defaults to ./.connecta.sqlite locally and /data/connecta.sqlite in the
|
|
17
|
+
# container — keep the container path under /data so state lands on the named
|
|
18
|
+
# volume and survives a rebuild.
|
|
19
|
+
CONNECTA_DATABASE=
|
|
21
20
|
|
|
22
|
-
# ---
|
|
23
|
-
# Each
|
|
24
|
-
#
|
|
21
|
+
# --- Optional modules ---------------------------------------------------
|
|
22
|
+
# Each switches on the matching module in src/connecta.config.ts when set and
|
|
23
|
+
# leaves it off when empty. Nothing here needs a source edit.
|
|
25
24
|
|
|
26
|
-
# Operator sign-in with Clerk. Only a signed-in operator
|
|
27
|
-
#
|
|
28
|
-
# Also run `npm install @clerk/backend` — it is an optional peer.
|
|
25
|
+
# Operator sign-in with Clerk. Set both, or neither. Only a signed-in operator
|
|
26
|
+
# may write a credential; machine access tokens grant no interactive authority.
|
|
29
27
|
CLERK_PUBLISHABLE_KEY=
|
|
30
28
|
CLERK_SECRET_KEY=
|
|
31
29
|
|
|
32
30
|
# Credential vault. Base64-encoded 32-byte AES key encrypting the values an
|
|
33
31
|
# operator saves inside a connection on /. Generate one with:
|
|
34
32
|
# node -e "console.log(crypto.randomBytes(32).toString('base64'))"
|
|
35
|
-
# Keep it here or in a secret store — never in the
|
|
33
|
+
# Keep it here or in a secret store — never in the database it protects, and
|
|
36
34
|
# never in source control. Losing it makes stored credentials unreadable.
|
|
37
35
|
CONNECTA_CREDENTIAL_KEY=
|
|
38
36
|
|
|
39
|
-
# Payload-free activity history
|
|
40
|
-
#
|
|
41
|
-
#
|
|
42
|
-
|
|
37
|
+
# Payload-free activity history at /activity, in the database above. Set to
|
|
38
|
+
# "on". Rows older than 90 days are pruned as new ones are written; change
|
|
39
|
+
# `retentionDays` in src/connecta.config.ts to keep more or less.
|
|
40
|
+
CONNECTA_ACTIVITY=
|
|
41
|
+
|
package/templates/node/AGENTS.md
CHANGED
|
@@ -2,36 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
This repository is deployment configuration, not a copy of Connecta itself.
|
|
4
4
|
|
|
5
|
-
- Edit `src/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
- Edit `src/connecta.config.ts` for connectors, authentication, storage, public
|
|
6
|
+
URL, and optional modules. `src/index.ts` only starts it.
|
|
7
|
+
- Keep `executor: quickJsExecutor()` for the prescribed six-tool code-first
|
|
8
|
+
surface. Root and named pools default to `trust: "read-only"`: programs
|
|
9
|
+
may read, and writes use `call_destructive_tool`. Explicit `trusted` pools
|
|
10
|
+
also permit program writes and annotate `execute_code` as a write. Approval
|
|
11
|
+
belongs to the MCP host. Do not configure the removed `execute.approval`.
|
|
10
12
|
- Keep credentials in environment variables or an external secret store.
|
|
11
|
-
Never commit `.env`, `.connecta
|
|
13
|
+
Never commit `.env`, `.connecta.sqlite` (and its `-wal`/`-shm` files),
|
|
12
14
|
tokens, or credential values.
|
|
13
15
|
- Add application logic only inside deliberate `api()` connector handlers.
|
|
14
16
|
Do not copy or modify Connecta package internals here.
|
|
15
17
|
- Prefer `api()` when the agent must see an exact reviewed capability surface;
|
|
16
18
|
`remoteMcp()` follows the downstream server's evolving tool catalog.
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
Follow README "Select optional modules". Auth management requires explicit
|
|
19
|
+
- Optional modules (Clerk sign-in, credential vault, activity history) are type-checked code in `src/connecta.config.ts`, switched on by
|
|
20
|
+
their environment variables. Follow README "Select optional modules". Auth management requires explicit
|
|
20
21
|
`credentialAdministration` or `personalConnection` permissions; visibility
|
|
21
|
-
alone never grants it.
|
|
22
|
-
|
|
23
|
-
`
|
|
22
|
+
alone never grants it. Clerk supplies human identity; `cta_` access tokens cover machine clients.
|
|
23
|
+
Keep `accessTokens(storage)` installed even before the first token exists.
|
|
24
|
+
Bootstrap machines with `npm run provision-token -- "machine-name"` against
|
|
25
|
+
the same database the server uses. `CONNECTA_TOKEN` is only for clients and
|
|
26
|
+
doctor; never add a configured static bearer or an open startup mode.
|
|
27
|
+
All state, activity included, lives in the one SQLite file `CONNECTA_DATABASE`
|
|
28
|
+
names, through `@zackbart/connecta/sqlite`.
|
|
24
29
|
- Brand the operator UI in `operatorUi({ branding })`: product and owner names,
|
|
25
30
|
description, favicon, and `theme` (`accent`, `radius`, `fontFamily`,
|
|
26
31
|
`monoFamily`, `colorScheme`). Ask the deployment's owner for their brand
|
|
27
|
-
rather than leaving the default.
|
|
28
|
-
|
|
29
|
-
modules" covers the rest.
|
|
32
|
+
rather than leaving the default. README "Select optional modules" shows the
|
|
33
|
+
shape.
|
|
30
34
|
- Run `npm run typecheck` after configuration changes. With the server running,
|
|
31
35
|
run `CONNECTA_TOKEN=... npm run doctor` before calling setup complete.
|
|
32
|
-
- `Dockerfile` and `docker-compose.yml` containerize
|
|
36
|
+
- `Dockerfile` and `docker-compose.yml` containerize _this_ source; they are
|
|
33
37
|
the same deployment, not a second one. Configuration belongs in `.env` and
|
|
34
|
-
`src/
|
|
38
|
+
`src/connecta.config.ts`, never in a divergent container entrypoint.
|
|
35
39
|
- Moving this deployment to a newer Connecta is its own procedure, and it is
|
|
36
40
|
not a re-`init` — `connecta init` refuses to merge into an existing path on
|
|
37
41
|
purpose. Bump the exact `@zackbart/connecta` pin in `package.json`, then read
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
# image installs @zackbart/connecta from the registry exactly like any other
|
|
3
3
|
# consumer, so nothing here depends on the Connecta repository.
|
|
4
4
|
#
|
|
5
|
-
#
|
|
5
|
+
# Provision a stored machine token on the volume first; README.md gives the
|
|
6
|
+
# exact build, provisioning, and startup commands. Empty storage is fail-closed.
|
|
6
7
|
FROM node:22-slim
|
|
7
8
|
|
|
8
9
|
WORKDIR /app
|
|
@@ -32,10 +33,7 @@ USER node
|
|
|
32
33
|
|
|
33
34
|
ENV NODE_ENV=production
|
|
34
35
|
ENV PORT=8787
|
|
35
|
-
ENV
|
|
36
|
-
# Read only once the activity block in src/index.ts is uncommented; defaulted
|
|
37
|
-
# here so history lands on the volume rather than inside the container layer.
|
|
38
|
-
ENV CONNECTA_ACTIVITY_FILE=/data/connecta-activity.jsonl
|
|
36
|
+
ENV CONNECTA_DATABASE=/data/connecta.sqlite
|
|
39
37
|
EXPOSE 8787
|
|
40
38
|
|
|
41
39
|
# /health is always open, so the probe never carries the bearer token and
|