@zackbart/connecta 0.5.0 → 0.6.1

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +505 -0
  2. package/README.md +159 -267
  3. package/dist/auth/bearer.d.ts +10 -3
  4. package/dist/auth/bearer.d.ts.map +1 -1
  5. package/dist/auth/bearer.js +21 -0
  6. package/dist/auth/bearer.js.map +1 -1
  7. package/dist/auth/clerk.d.ts +28 -3
  8. package/dist/auth/clerk.d.ts.map +1 -1
  9. package/dist/auth/clerk.js +161 -4
  10. package/dist/auth/clerk.js.map +1 -1
  11. package/dist/connectors/remote-mcp.d.ts.map +1 -1
  12. package/dist/connectors/remote-mcp.js +8 -0
  13. package/dist/connectors/remote-mcp.js.map +1 -1
  14. package/dist/credential-health.d.ts +220 -0
  15. package/dist/credential-health.d.ts.map +1 -0
  16. package/dist/credential-health.js +551 -0
  17. package/dist/credential-health.js.map +1 -0
  18. package/dist/credentials.d.ts +35 -1
  19. package/dist/credentials.d.ts.map +1 -1
  20. package/dist/credentials.js +42 -0
  21. package/dist/credentials.js.map +1 -1
  22. package/dist/execute.d.ts.map +1 -1
  23. package/dist/execute.js +16 -4
  24. package/dist/execute.js.map +1 -1
  25. package/dist/index.d.ts +46 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +118 -15
  28. package/dist/index.js.map +1 -1
  29. package/dist/meta-tools.d.ts +56 -5
  30. package/dist/meta-tools.d.ts.map +1 -1
  31. package/dist/meta-tools.js +249 -92
  32. package/dist/meta-tools.js.map +1 -1
  33. package/dist/registry.d.ts +62 -0
  34. package/dist/registry.d.ts.map +1 -1
  35. package/dist/registry.js +85 -1
  36. package/dist/registry.js.map +1 -1
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +305 -40
  39. package/dist/server.js.map +1 -1
  40. package/dist/skills.d.ts +1 -1
  41. package/dist/skills.d.ts.map +1 -1
  42. package/dist/skills.js +3 -3
  43. package/dist/skills.js.map +1 -1
  44. package/dist/timeout.d.ts +16 -0
  45. package/dist/timeout.d.ts.map +1 -0
  46. package/dist/timeout.js +38 -0
  47. package/dist/timeout.js.map +1 -0
  48. package/dist/toolkits.d.ts +95 -1
  49. package/dist/toolkits.d.ts.map +1 -1
  50. package/dist/toolkits.js +190 -5
  51. package/dist/toolkits.js.map +1 -1
  52. package/dist/types.d.ts +81 -0
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/ui.d.ts +52 -0
  55. package/dist/ui.d.ts.map +1 -1
  56. package/dist/ui.js +144 -13
  57. package/dist/ui.js.map +1 -1
  58. package/dist/version.d.ts +1 -1
  59. package/dist/version.js +1 -1
  60. package/package.json +1 -1
  61. package/src/auth/bearer.ts +35 -1
  62. package/src/auth/clerk.ts +204 -7
  63. package/src/connectors/remote-mcp.ts +9 -0
  64. package/src/credential-health.ts +753 -0
  65. package/src/credentials.ts +71 -1
  66. package/src/execute.ts +28 -4
  67. package/src/index.ts +204 -22
  68. package/src/meta-tools.ts +286 -109
  69. package/src/registry.ts +125 -1
  70. package/src/server.ts +366 -38
  71. package/src/skills.ts +3 -3
  72. package/src/timeout.ts +49 -0
  73. package/src/toolkits.ts +241 -6
  74. package/src/types.ts +87 -1
  75. package/src/ui.ts +156 -14
  76. package/src/version.ts +1 -1
@@ -3,6 +3,48 @@ const IV_BYTES = 12;
3
3
  const MAX_CREDENTIAL_BYTES = 16_384;
4
4
  const encoder = new TextEncoder();
5
5
  const decoder = new TextDecoder();
6
+ /**
7
+ * The one rule deciding whether a connector's credential can be tested — read
8
+ * by /ui's `testable` flag, by the `POST /ui/credentials/<id>/test` route when
9
+ * it picks a hook, and by the construction-time mismatch warning, so those
10
+ * three cannot drift apart.
11
+ *
12
+ * The declared credential *shape* selects the hook: named `credential.fields`
13
+ * are tested as a set by `testCredentials`, a single-value `credential` by
14
+ * `testCredential` on the vault's reserved `value` field. The other hook is
15
+ * never substituted — it would be handed a shape the connector never declared —
16
+ * so a connector implementing only the mismatched hook is not testable, and
17
+ * says so at construction rather than under an operator's click.
18
+ */
19
+ export function credentialTestRule(connector) {
20
+ if (!connector.credential)
21
+ return { mode: null };
22
+ if (connector.credential.fields?.length) {
23
+ if (connector.testCredentials)
24
+ return { mode: "multiple" };
25
+ return connector.testCredential
26
+ ? { mode: null, mismatch: { shape: "multiple", hook: "testCredential" } }
27
+ : { mode: null };
28
+ }
29
+ if (connector.testCredential)
30
+ return { mode: "single" };
31
+ return connector.testCredentials
32
+ ? { mode: null, mismatch: { shape: "single", hook: "testCredentials" } }
33
+ : { mode: null };
34
+ }
35
+ /**
36
+ * One clause naming a mismatch, shared by the startup warning and the test
37
+ * route's 400 so an operator reads the same explanation in both places.
38
+ */
39
+ export function describeCredentialTestMismatch(mismatch) {
40
+ return mismatch.shape === "multiple"
41
+ ? "it declares named credential fields, which only " +
42
+ "`testCredentials(values, ctx)` can test, but implements " +
43
+ "`testCredential`"
44
+ : "it declares a single-value credential, which only " +
45
+ "`testCredential(value, ctx)` can test, but implements " +
46
+ "`testCredentials`";
47
+ }
6
48
  function storageKey(connectorId) {
7
49
  return `conn:${connectorId}:credential:v1`;
8
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EAEP,MAAM,YAAY,CAAC;AAKpB,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,4BAA4B,QAAS,CAAC;AA+CnD,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,EACjC,MAAM,GAAE;IACN,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA2U7B;AAmBD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,IAEnB,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,UAAU,CAAC,CA4C/D;AAeD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC,GACA,IAAI,CA2BN"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EAEP,MAAM,YAAY,CAAC;AAKpB,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,4BAA4B,QAAS,CAAC;AA+CnD,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,EACjC,MAAM,GAAE;IACN,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6V7B;AAoBD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,IAEnB,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,UAAU,CAAC,CA4C/D;AAeD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC,GACA,IAAI,CA2BN"}
package/dist/execute.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { compactSchema, rankTools, summarizeDescription } from "./catalog.js";
3
3
  import { recordToolActivity } from "./activity.js";
4
- import { errorResult, jsonResult } from "./meta-tools.js";
4
+ import { errorResult, jsonResult, serializeResultText, } from "./meta-tools.js";
5
5
  import { classifyCallError, ConnectorCallError } from "./errors.js";
6
6
  import { unwrapMcpResult } from "./mcp-result.js";
7
7
  /** ~6k tokens. Sandbox code should filter data down before returning. */
@@ -100,6 +100,7 @@ export async function buildSandboxProviders(registry, baseUrl, logger, activity,
100
100
  "__log",
101
101
  ]);
102
102
  const connectors = registry.listConnectors();
103
+ const catalogStarted = Date.now();
103
104
  const loaded = await Promise.allSettled(connectors.map((connector) => registry.getTools(connector.id, baseUrl, requestScope)));
104
105
  const catalogs = new Map();
105
106
  const callAddress = async (address, args) => {
@@ -188,7 +189,17 @@ export async function buildSandboxProviders(registry, baseUrl, logger, activity,
188
189
  }
189
190
  const loadedTools = loaded[i];
190
191
  if (loadedTools.status === "rejected") {
191
- logger.warn(`[connecta] execute_code: connector "${connector.id}" skipped: ${msg(loadedTools.reason)}`);
192
+ // Same health accounting as the call_tool catalog catch: a connector whose
193
+ // catalog cannot be fetched is unusable, and dropping its namespace with
194
+ // only a warn would leave the cheap `list_connectors({ probe: false })`
195
+ // signal clean for a code-mode deployment whose downstream grant was
196
+ // revoked. Recorded through `registry` — this run's view — so a
197
+ // toolkit-scoped execute_code lands in that toolkit's log as well.
198
+ registry.recordFailure(connector.id, Date.now() - catalogStarted, loadedTools.reason);
199
+ // classifyCallError so a typed auth_required thrown while listing tools
200
+ // keeps its code where an operator can see it; health stores the message.
201
+ const details = classifyCallError(loadedTools.reason, "catalog_lookup_failed");
202
+ logger.warn(`[connecta] execute_code: connector "${connector.id}" skipped (${details.code}): ${msg(loadedTools.reason)}`);
192
203
  continue;
193
204
  }
194
205
  const tools = loadedTools.value;
@@ -351,8 +362,9 @@ function truncate(text, max) {
351
362
  return `${text.slice(0, max)}\n--- TRUNCATED (${text.length} chars total) — filter/map/slice data inside your code and return only what you need ---`;
352
363
  }
353
364
  function guardResultValue(value) {
354
- const serialized = JSON.stringify(value, null, 2);
355
- const text = serialized === undefined ? String(value) : serialized;
365
+ // Same serialization the call_tool guards measure, so a program returning
366
+ // nothing is rendered one way across every result path (issue #42).
367
+ const text = serializeResultText(value);
356
368
  if (text.length <= MAX_RESULT_CHARS)
357
369
  return value;
358
370
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Registry } from "./registry.js";
2
2
  import { type ToolkitConfig } from "./toolkits.js";
3
3
  import type { ActivityReadGate, ActivityStore } from "./activity.js";
4
+ import type { CredentialCheckResult, CredentialHealthConfig } from "./credential-health.js";
4
5
  import type { Connector, ConnectaBranding, Executor, InboundAuth, KVStorage, Logger } from "./types.js";
5
6
  export interface ConnectaConfig {
6
7
  connectors: Connector[];
@@ -25,9 +26,11 @@ export interface ConnectaConfig {
25
26
  * adding toolkits changes nothing for connections that don't ask for one; an
26
27
  * unknown name is an error, never a silent fallback.
27
28
  *
28
- * Toolkits scope VISIBILITY, not identity: they do not decide *which* team
29
- * member may select which toolkit. Gate that in `auth` (per-member binding is
30
- * a follow-up).
29
+ * Selection is self-service until a toolkit is BOUND to an inbound identity:
30
+ * pass `toolkits` to an auth adapter `bearerToken(secret, { toolkits:
31
+ * ["support"] })` — and that credential may open only those toolkits, and may
32
+ * not connect unscoped unless it also passes `unscoped: true`. An unbound
33
+ * identity keeps the self-service behavior.
31
34
  *
32
35
  * Definitions are validated at construction: an unknown connector id, an
33
36
  * empty connector selection, an empty `includeTools`, a malformed tool
@@ -114,6 +117,19 @@ export interface ConnectaConfig {
114
117
  * real cancellation of the downstream request is a deferred follow-up.
115
118
  */
116
119
  probeTimeoutMs?: number;
120
+ /**
121
+ * Tuning for the proactive credential liveness checks (issue #24) that let a
122
+ * connector's status flip to `auth_required` *before* an agent's call fails.
123
+ * Defaults are safe to leave alone: at most one check per connector per 15
124
+ * minutes, four in flight, 30 s each, triggered opportunistically by inbound
125
+ * authenticated traffic. Only connectors holding a credential connecta stores
126
+ * — an operator-managed `credential`, or a downstream-OAuth grant — are ever
127
+ * checked, and a check never calls a downstream tool.
128
+ *
129
+ * `Connecta.checkCredentials()` is the same check on demand, for a Worker cron
130
+ * trigger or a Node interval.
131
+ */
132
+ credentialHealth?: CredentialHealthConfig;
117
133
  serverInfo?: {
118
134
  name?: string;
119
135
  version?: string;
@@ -142,6 +158,29 @@ export interface Connecta {
142
158
  /** Web-standard fetch handler. Usable as `export default { fetch: connecta.fetch }`. */
143
159
  fetch: (request: Request, env?: unknown, ctx?: unknown) => Promise<Response>;
144
160
  registry: Registry;
161
+ /**
162
+ * Check the stored downstream credentials now — the scheduler-facing half of
163
+ * credential health (issue #24). Wire it to whatever timer the runtime has:
164
+ *
165
+ * ```ts
166
+ * // Cloudflare Workers (wrangler.jsonc: "triggers": { "crons": ["*\/15 * * * *"] })
167
+ * async scheduled(_c, env, ctx) { ctx.waitUntil(build(env).checkCredentials()); }
168
+ * // Node
169
+ * setInterval(() => void connecta.checkCredentials(), 15 * 60_000).unref();
170
+ * ```
171
+ *
172
+ * Returns one outcome per connector considered, including why a connector was
173
+ * skipped (`fresh` is the rate limit: a connector checked less than
174
+ * `credentialHealth.intervalSeconds` ago is not re-checked unless `force`).
175
+ * Never rejects on a connector failure — a broken connector becomes an `error`
176
+ * verdict. Needs a base URL for connector contexts: `publicUrl` supplies it,
177
+ * or pass one.
178
+ */
179
+ checkCredentials: (opts?: {
180
+ baseUrl?: string;
181
+ force?: boolean;
182
+ ids?: string[];
183
+ }) => Promise<CredentialCheckResult[]>;
145
184
  }
146
185
  export declare function createConnecta(config: ConnectaConfig): Connecta;
147
186
  export { remoteMcp } from "./connectors/remote-mcp.js";
@@ -151,13 +190,15 @@ export type { ConnectorCallErrorCode, CallErrorDetails } from "./errors.js";
151
190
  export { validateToolInput } from "./validate.js";
152
191
  export type { ValidateToolInputOptions } from "./validate.js";
153
192
  export { bearerToken } from "./auth/bearer.js";
193
+ export type { BearerTokenOptions } from "./auth/bearer.js";
154
194
  export { memoryStorage } from "./storage/memory.js";
155
195
  export { CONNECTA_VERSION } from "./version.js";
156
196
  export type { Registry } from "./registry.js";
157
- export type { ToolkitConfig, ToolkitDefinition } from "./toolkits.js";
197
+ export type { ToolkitBindingOptions, ToolkitConfig, ToolkitDefinition, } from "./toolkits.js";
198
+ export type { CredentialCheckResult, CredentialCheckSkip, CredentialCheckState, CredentialHealthConfig, CredentialHealthRecord, } from "./credential-health.js";
158
199
  export type { RemoteMcpOptions, RemoteMcpAuth } from "./connectors/remote-mcp.js";
159
200
  export type { ApiOptions, ApiTool } from "./connectors/api.js";
160
- export type { Connector, ConnectaBranding, ConnectorCredentialAccess, ConnectorCredentialConfig, ConnectorCredentialFieldConfig, ConnectorCredentialValues, ConnectorContext, ConnectorStatus, CredentialTestResult, ExecuteResult, Executor, ExecutorProvider, InboundAuth, UiAuthConfig, AuthResult, JsonSchema, KVStorage, Logger, ToolDef, ToolAnnotations, } from "./types.js";
201
+ export type { Connector, ConnectaBranding, ConnectorCredentialAccess, ConnectorCredentialConfig, ConnectorCredentialFieldConfig, ConnectorCredentialValues, ConnectorContext, ConnectorStatus, CredentialTestResult, ExecuteResult, Executor, ExecutorProvider, InboundAuth, ToolkitBinding, UiAuthConfig, AuthResult, JsonSchema, KVStorage, Logger, ToolDef, ToolAnnotations, } from "./types.js";
161
202
  export type { ActivityActor, ActivityCallSource, ActivityOutcome, ActivityPage, ActivityReader, ActivityReadGate, ActivitySink, ActivityStore, ToolCallActivityEvent, } from "./activity.js";
162
203
  export { InvalidActivityCursorError } from "./activity.js";
163
204
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { CredentialVault } from "./credentials.js";
1
+ import { CredentialVault, credentialTestRule, describeCredentialTestMismatch, } from "./credentials.js";
2
2
  import { Registry } from "./registry.js";
3
3
  import { createFetchHandler } from "./server.js";
4
- import { droppedBrandingUrls } from "./ui.js";
5
- import { resolveToolkits } from "./toolkits.js";
4
+ import { droppedBrandingUrls, droppedUiAuthUrls } from "./ui.js";
5
+ import { resolveToolkits, validateToolkitBindings, } from "./toolkits.js";
6
6
  import { memoryStorage } from "./storage/memory.js";
7
7
  import { CONNECTA_VERSION } from "./version.js";
8
8
  function defaultLogger() {
@@ -24,9 +24,10 @@ function normalizeAuth(auth) {
24
24
  /**
25
25
  * One-time construction warnings for deployment shapes that run fine but are
26
26
  * usually unintended. Warning-only — never throws and never changes behavior;
27
- * each condition emits at most one `logger.warn`. Iterates connectors once.
27
+ * each deployment-wide condition emits at most one `logger.warn`, and each
28
+ * per-connector condition at most one per connector it names.
28
29
  */
29
- function warnInsecureConfig(config, inboundAuth, logger) {
30
+ function warnInsecureConfig(config, inboundAuth, toolkits, logger) {
30
31
  const oauthConnectors = config.connectors.filter((c) => c.finishAuth);
31
32
  const hasCredentialConnector = config.connectors.some((c) => c.credential);
32
33
  // Open mode (no inbound auth) with connectors that expose credentials or
@@ -46,15 +47,58 @@ function warnInsecureConfig(config, inboundAuth, logger) {
46
47
  "it at their own host and capture the authorization code. Set " +
47
48
  "`publicUrl` to a fixed https origin.");
48
49
  }
49
- // Toolkits with no inbound auth: a toolkit is a scoped VIEW selected by the
50
- // caller, not an authentication boundary. With nothing gating /mcp, any
51
- // caller picks any toolkitor omits the parameter and sees everything.
52
- if (inboundAuth.length === 0 && config.toolkits) {
53
- logger.warn("[connecta] toolkits are configured but there is no inbound " +
54
- "authentication: a toolkit is a scoped view a client selects with " +
55
- "?toolkit=, not an access check, so any caller can choose any toolkit " +
56
- "or omit the parameter and see every connector. Configure `auth` " +
57
- "(for example bearerToken(...) or Clerk).");
50
+ // Toolkits that nothing binds to an identity: selection is then self-service,
51
+ // and the boundary organizes the surface rather than protecting it. Three
52
+ // distinct shapes, so three distinct warnings an operator can only act on
53
+ // the one they are actually in.
54
+ //
55
+ // All are keyed off the RESOLVED toolkits, which is the same map `?toolkit=`
56
+ // resolves against, rather than the presence of the config key: `toolkits: {}`
57
+ // is a truthy object that resolves to nothing selectable, so warning about a
58
+ // choice no caller can make would name a risk that does not exist.
59
+ if (toolkits) {
60
+ const unbound = inboundAuth.filter((provider) => !provider.toolkitBinding);
61
+ if (inboundAuth.length === 0) {
62
+ // No auth at all ⇒ no identity exists to bind, so binding is not even the
63
+ // fix here. The open-mode warning above covers the wider exposure.
64
+ logger.warn("[connecta] toolkits are configured but there is no inbound " +
65
+ "authentication: with no identity to bind a toolkit to, any caller " +
66
+ "can choose any toolkit or omit ?toolkit= and see every connector. " +
67
+ "Configure `auth` (for example bearerToken(...) or Clerk), then bind " +
68
+ "each credential with `toolkits: [...]`.");
69
+ }
70
+ else if (unbound.length === inboundAuth.length) {
71
+ // Authenticated, but every credential may still select every view. This is
72
+ // the shape issue #37 exists to close, and it is invisible without a line
73
+ // saying so: nothing fails, the teams are simply not separated.
74
+ logger.warn("[connecta] toolkits are configured but no inbound identity is bound " +
75
+ "to one: every credential `auth` admits can select any toolkit, or " +
76
+ "omit ?toolkit= and see the whole deployment, so a token handed to " +
77
+ "one team also opens the others' views. Bind each credential with " +
78
+ "`toolkits: [...]` on its auth adapter (add `unscoped: true` for an " +
79
+ "operator credential that should still see everything).");
80
+ }
81
+ else if (unbound.length > 0) {
82
+ // The dangerous middle: SOME credentials are bound, which is exactly when
83
+ // an operator believes the deployment is separated — while one forgotten
84
+ // provider still opens every view and the whole deployment-wide surface.
85
+ // Naming the unbound providers is the point; an intentionally unrestricted
86
+ // credential says so with `unscoped: true` and stops appearing here.
87
+ const counted = new Map();
88
+ for (const provider of unbound) {
89
+ counted.set(provider.kind, (counted.get(provider.kind) ?? 0) + 1);
90
+ }
91
+ const named = [...counted]
92
+ .map(([kind, count]) => (count > 1 ? `${kind} x${count}` : kind))
93
+ .join(", ");
94
+ logger.warn(`[connecta] toolkits are bound on some inbound auth providers but not ` +
95
+ `all: ${named} ${unbound.length === 1 ? "declares" : "declare"} no ` +
96
+ "binding, so a caller that provider admits can still select any " +
97
+ "toolkit, connect unscoped, and read the deployment-wide operator " +
98
+ "surfaces — whatever the bound credentials beside it allow. Bind it " +
99
+ "too, or declare the exemption with `toolkits: [...], unscoped: true` " +
100
+ "if it is meant to be an operator credential.");
101
+ }
58
102
  }
59
103
  // Branding URLs that failed their scheme gate. Rendering silently falls back
60
104
  // (a bad URL must not take the page down), so this warning is the only way an
@@ -65,6 +109,41 @@ function warnInsecureConfig(config, inboundAuth, logger) {
65
109
  "used as an href, so it must be an absolute http(s) URL (favicon.href " +
66
110
  "may also be a root-relative path). The default is rendered instead.");
67
111
  }
112
+ // /ui renders exactly one provider's browser sign-in config — the first that
113
+ // offers one, which is the same `find` the /ui route performs — and that
114
+ // provider's URLs reach the browser: frontendApiUrl as the loader's
115
+ // `<script src>`, signInUrl/signUpUrl as the addresses ClerkJS navigates to.
116
+ // Gate-or-drop like a branding href: rendering drops a rejected value and the
117
+ // dashboard then either reports that Clerk could not load or quietly signs in
118
+ // through Clerk's defaults — both confusing symptoms without this line naming
119
+ // the cause. Checking only the rendered provider keeps the claim true — a
120
+ // later provider's uiAuth never reaches the page, so there is nothing there
121
+ // to warn about.
122
+ const uiAuthProvider = inboundAuth.find((provider) => provider.uiAuth);
123
+ const droppedUiAuth = droppedUiAuthUrls(uiAuthProvider?.uiAuth);
124
+ if (uiAuthProvider && droppedUiAuth.length > 0) {
125
+ logger.warn(`[connecta] inbound auth provider "${uiAuthProvider.kind}" had ` +
126
+ `${droppedUiAuth.join(", ")} dropped: every uiAuth URL reaches the ` +
127
+ "browser — as the sign-in loader's source, or as a place Clerk sends " +
128
+ "the operator — so each must be an absolute https URL. A dropped " +
129
+ "value reaches no part of the page: without frontendApiUrl /ui renders " +
130
+ "no loader and cannot start a sign-in, and without signInUrl/signUpUrl " +
131
+ "it signs in through Clerk's defaults.");
132
+ }
133
+ // A credential test hook that cannot test the declared credential shape.
134
+ // The shape picks the hook (see `credentialTestRule`) and the other one is
135
+ // never substituted, so the connector is simply not testable: /ui offers no
136
+ // Test action and the route answers 400. Without this line the only way to
137
+ // discover the mistake is to click a button that isn't there.
138
+ for (const connector of config.connectors) {
139
+ const { mismatch } = credentialTestRule(connector);
140
+ if (!mismatch)
141
+ continue;
142
+ logger.warn(`[connecta] connector "${connector.id}" cannot test its credential: ` +
143
+ `${describeCredentialTestMismatch(mismatch)}. /ui offers no Test ` +
144
+ `action and POST /ui/credentials/${connector.id}/test answers 400 ` +
145
+ "until the matching hook is implemented.");
146
+ }
68
147
  // OAuth connectors whose callback performs no state/CSRF check: the public
69
148
  // /oauth/callback/<id> route would exchange any delivered code.
70
149
  for (const connector of oauthConnectors) {
@@ -94,6 +173,7 @@ export function createConnecta(config) {
94
173
  persistToolCatalog: config.persistToolCatalog,
95
174
  toolCatalogStaleSeconds: config.toolCatalogStaleSeconds,
96
175
  maxResultBytes: config.maxResultBytes,
176
+ credentialHealth: config.credentialHealth,
97
177
  });
98
178
  // Throws on every structural mistake it can see (see resolveToolkits): a
99
179
  // typo must not become a scope the operator never wrote. Note this is about
@@ -101,7 +181,11 @@ export function createConnecta(config) {
101
181
  // scopes visibility, and `auth` remains the thing deciding who gets in.
102
182
  const toolkits = resolveToolkits(config.toolkits, config.connectors);
103
183
  const inboundAuth = normalizeAuth(config.auth);
104
- warnInsecureConfig(config, inboundAuth, logger);
184
+ // Same contract for the identity half: a binding that names a toolkit this
185
+ // deployment does not declare would deny that credential every connection,
186
+ // with a 403 its client reports as a transport failure. Throw here instead.
187
+ validateToolkitBindings(inboundAuth, toolkits);
188
+ warnInsecureConfig(config, inboundAuth, toolkits, logger);
105
189
  const handler = createFetchHandler({
106
190
  registry,
107
191
  auth: inboundAuth,
@@ -128,6 +212,25 @@ export function createConnecta(config) {
128
212
  ? ctx
129
213
  : undefined),
130
214
  registry,
215
+ checkCredentials: (opts = {}) => {
216
+ // A scheduled check has no inbound request to derive an origin from, and
217
+ // a connector context without one would mint OAuth redirect URIs against
218
+ // a guess. Say so instead: the fix is one config line.
219
+ const baseUrl = opts.baseUrl ?? config.publicUrl;
220
+ if (!baseUrl) {
221
+ // Rejected, not thrown: the callers this is written for are
222
+ // `ctx.waitUntil(...)` and `.catch(...)` on the returned promise, and a
223
+ // synchronous throw escapes both — it would take down a scheduled
224
+ // handler instead of being reported by it.
225
+ return Promise.reject(new Error("checkCredentials() needs a base URL: set `publicUrl` on the " +
226
+ "config (recommended — it is also what downstream OAuth " +
227
+ "callbacks use) or pass checkCredentials({ baseUrl })."));
228
+ }
229
+ return registry.checkCredentialHealth(baseUrl, {
230
+ ...(opts.force !== undefined ? { force: opts.force } : {}),
231
+ ...(opts.ids ? { ids: opts.ids } : {}),
232
+ });
233
+ },
131
234
  };
132
235
  }
133
236
  export { remoteMcp } from "./connectors/remote-mcp.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAsB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAsJhD,SAAS,aAAa;IACpB,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChD,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,SAAS,aAAa,CAAC,IAA4B;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,MAAsB,EACtB,WAA0B,EAC1B,MAAc;IAEd,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE3E,yEAAyE;IACzE,wEAAwE;IACxE,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,sBAAsB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EACtD,CAAC;QACD,MAAM,CAAC,IAAI,CACT,oEAAoE;YAClE,mEAAmE;YACnE,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CACT,uEAAuE;YACrE,oEAAoE;YACpE,yEAAyE;YACzE,+DAA+D;YAC/D,sCAAsC,CACzC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CACT,6DAA6D;YAC3D,mEAAmE;YACnE,uEAAuE;YACvE,kEAAkE;YAClE,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,sDAAsD;IACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACT,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;YACrE,uEAAuE;YACvE,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,gEAAgE;IAChE,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT,yBAAyB,SAAS,CAAC,EAAE,kCAAkC;gBACrE,qCAAqC,SAAS,CAAC,EAAE,qBAAqB;gBACtE,iEAAiE;gBACjE,0BAA0B,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,iEAAiE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpH,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,uBAAuB;QACpD,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,uBAAuB,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QAC/C,OAAO;QACP,MAAM;QACN,eAAe;QACf,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IACH,yEAAyE;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,QAAQ;QACR,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE;YACV,GAAG,MAAM,CAAC,UAAU;YACpB,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,UAAU;YAC3C,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,gBAAgB;SACxD;QACD,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,eAAe;QACf,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC5B,OAAO,CACL,OAAO,EACP,GAAG,IAAI,OAAQ,GAA+B,CAAC,SAAS,KAAK,UAAU;YACrE,CAAC,CAAE,GAAsD;YACzD,CAAC,CAAC,SAAS,CACd;QACH,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,yEAAyE;AACzE,4EAA4E;AAC5E,qDAAqD;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA4ChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}