@zackbart/connecta 0.6.1 → 0.7.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +256 -0
  2. package/README.md +24 -20
  3. package/dist/auth/bearer.d.ts +4 -3
  4. package/dist/auth/bearer.d.ts.map +1 -1
  5. package/dist/auth/bearer.js +10 -8
  6. package/dist/auth/bearer.js.map +1 -1
  7. package/dist/auth/clerk.d.ts +8 -7
  8. package/dist/auth/clerk.d.ts.map +1 -1
  9. package/dist/auth/clerk.js +27 -8
  10. package/dist/auth/clerk.js.map +1 -1
  11. package/dist/connector-scope.d.ts +13 -0
  12. package/dist/connector-scope.d.ts.map +1 -0
  13. package/dist/connector-scope.js +35 -0
  14. package/dist/connector-scope.js.map +1 -0
  15. package/dist/connectors/api.d.ts +5 -5
  16. package/dist/connectors/api.d.ts.map +1 -1
  17. package/dist/connectors/remote-mcp.d.ts +3 -3
  18. package/dist/connectors/remote-mcp.d.ts.map +1 -1
  19. package/dist/connectors/remote-mcp.js +309 -10
  20. package/dist/connectors/remote-mcp.js.map +1 -1
  21. package/dist/credential-health.d.ts +8 -5
  22. package/dist/credential-health.d.ts.map +1 -1
  23. package/dist/credential-health.js +99 -51
  24. package/dist/credential-health.js.map +1 -1
  25. package/dist/credentials.d.ts +51 -2
  26. package/dist/credentials.d.ts.map +1 -1
  27. package/dist/credentials.js +68 -3
  28. package/dist/credentials.js.map +1 -1
  29. package/dist/index.d.ts +83 -82
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +74 -24
  32. package/dist/index.js.map +1 -1
  33. package/dist/meta-tools.d.ts +3 -3
  34. package/dist/meta-tools.d.ts.map +1 -1
  35. package/dist/meta-tools.js +16 -7
  36. package/dist/meta-tools.js.map +1 -1
  37. package/dist/registry.d.ts +3 -2
  38. package/dist/registry.d.ts.map +1 -1
  39. package/dist/registry.js +4 -3
  40. package/dist/registry.js.map +1 -1
  41. package/dist/server.d.ts +1 -1
  42. package/dist/server.d.ts.map +1 -1
  43. package/dist/server.js +144 -52
  44. package/dist/server.js.map +1 -1
  45. package/dist/toolkits.js +1 -1
  46. package/dist/types.d.ts +41 -27
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/ui.d.ts +24 -10
  49. package/dist/ui.d.ts.map +1 -1
  50. package/dist/ui.js +594 -172
  51. package/dist/ui.js.map +1 -1
  52. package/dist/version.d.ts +1 -1
  53. package/dist/version.js +1 -1
  54. package/package.json +3 -2
  55. package/src/auth/bearer.ts +10 -8
  56. package/src/auth/clerk.ts +28 -9
  57. package/src/connector-scope.ts +41 -0
  58. package/src/connectors/api.ts +5 -5
  59. package/src/connectors/remote-mcp.ts +348 -25
  60. package/src/credential-health.ts +120 -57
  61. package/src/credentials.ts +96 -3
  62. package/src/index.ts +169 -106
  63. package/src/meta-tools.ts +22 -7
  64. package/src/registry.ts +4 -3
  65. package/src/server.ts +183 -70
  66. package/src/toolkits.ts +1 -1
  67. package/src/types.ts +41 -27
  68. package/src/ui.ts +631 -170
  69. package/src/version.ts +1 -1
package/dist/server.js CHANGED
@@ -4,11 +4,11 @@ import { registerExecuteTool } from "./execute.js";
4
4
  import { registerMetaTools } from "./meta-tools.js";
5
5
  import { CONNECTA_INSTRUCTIONS } from "./skills.js";
6
6
  import { InvalidActivityCursorError } from "./activity.js";
7
- import { credentialTestRule, describeCredentialTestMismatch, } from "./credentials.js";
7
+ import { credentialTestRule, describeCredentialTestMismatch, storedCredentialShape, } from "./credentials.js";
8
8
  import { ScopedRegistry } from "./registry.js";
9
9
  import { resolveIdentityBinding, TOOLKIT_NAME_RE, } from "./toolkits.js";
10
10
  import { CONNECTA_FAVICON_ICO } from "./favicon.js";
11
- import { buildUiData, CONNECTA_FAVICON_SVG, resolveBranding, renderUiHtml, } from "./ui.js";
11
+ import { buildUiData, CONNECTA_FAVICON_SVG, credentialManagementCapability, operatorPageForPath, resolveBranding, renderUiHtml, } from "./ui.js";
12
12
  const CORS_HEADERS = {
13
13
  "Access-Control-Allow-Origin": "*",
14
14
  "Access-Control-Allow-Methods": "GET, POST, DELETE, OPTIONS",
@@ -44,7 +44,7 @@ const INERT_ICON_HEADERS = {
44
44
  function msg(err) {
45
45
  return err instanceof Error ? err.message : String(err);
46
46
  }
47
- /** Per-request base64 nonce for the /ui page's inline scripts (Node 20+ and Workers). */
47
+ /** Per-request base64 nonce for an operator shell's scripts (Node 20+ and Workers). */
48
48
  function uiScriptNonce() {
49
49
  const bytes = crypto.getRandomValues(new Uint8Array(16));
50
50
  let binary = "";
@@ -121,7 +121,7 @@ function html(body, status = 200, branding) {
121
121
  <h1>Connection status</h1>
122
122
  <div class="copy">
123
123
  <p>${escapeHtml(body)}</p>
124
- <p><a href="/ui">Return to ${escapeHtml(brand.productName)}</a></p>
124
+ <p><a href="/">Return to ${escapeHtml(brand.productName)}</a></p>
125
125
  </div>
126
126
  </main>
127
127
  </body>
@@ -212,10 +212,10 @@ function withSecurityHeaders(response, requestUrl, path) {
212
212
  if (requestUrl.protocol === "https:") {
213
213
  headers.set("Strict-Transport-Security", "max-age=31536000");
214
214
  }
215
- if (path === "/ui") {
216
- // The /ui GET response ships its own nonce-based script CSP (which already
217
- // includes frame-ancestors 'none'); only fall back to the framing-only
218
- // directive when no CSP is present (e.g. HTTPS redirects, error responses).
215
+ if (operatorPageForPath(path) || path === "/ui") {
216
+ // Operator HTML responses ship their own nonce-based script CSP (which
217
+ // already includes frame-ancestors 'none'); only fall back to the
218
+ // framing-only directive when no CSP is present (for example redirects).
219
219
  if (!headers.has("Content-Security-Policy")) {
220
220
  headers.set("Content-Security-Policy", "frame-ancestors 'none'");
221
221
  }
@@ -234,11 +234,11 @@ async function authorizeUiAdmin(request, baseUrl, auth, logger) {
234
234
  //
235
235
  // EVERY Clerk provider gets a turn, the way the /mcp gate does, because the
236
236
  // documented per-team pattern is several `clerkAuth(...)`s that differ only in
237
- // `gate` and `toolkits` (§16). Stopping at the first would make admission
238
- // depend on config order: the team-bound provider listed first would refuse
239
- // the operator outright, and a refusal here — a failed gate, a missing user, a
240
- // toolkit-bound identity — is exactly the case where a later provider is the
241
- // one meant to admit. The last refusal is returned if none do.
237
+ // `gate` and `toolkits` (docs/toolkits.md). Stopping at the first would make
238
+ // admission depend on config order: the team-bound provider listed first
239
+ // would refuse the operator outright, and a refusal here — a failed gate, a
240
+ // missing user, a toolkit-bound identity — is exactly the case where a later
241
+ // provider is the one meant to admit. The last refusal is returned if none do.
242
242
  const providers = auth.filter((candidate) => candidate.uiAuth?.kind === "clerk");
243
243
  if (providers.length === 0) {
244
244
  return {
@@ -372,8 +372,8 @@ async function handleCredentialRequest(request, connectorId, action, opts, baseU
372
372
  if (request.method !== "POST") {
373
373
  return privateJson({ error: "method not allowed" }, { status: 405 });
374
374
  }
375
- // The declared credential shape picks the hook — the same single rule /ui
376
- // asks for its Test affordance, so a shown button always reaches a hook
375
+ // The declared credential shape picks the hook — the same single rule the
376
+ // Credentials page asks for its Test affordance, so a shown button reaches
377
377
  // that reads the shape the credential was stored in.
378
378
  const rule = credentialTestRule(connector);
379
379
  if (!rule.mode) {
@@ -385,24 +385,29 @@ async function handleCredentialRequest(request, connectorId, action, opts, baseU
385
385
  }, { status: 400 });
386
386
  }
387
387
  try {
388
+ const values = await opts.credentialVault.getAll(connectorId);
389
+ const shape = storedCredentialShape(connector.credential, values);
390
+ if (shape.state === "missing") {
391
+ return privateJson({
392
+ error: rule.mode === "multiple"
393
+ ? "configure the credentials before testing them"
394
+ : "configure the credential before testing it",
395
+ }, { status: 409 });
396
+ }
397
+ if (shape.state === "mismatch") {
398
+ return privateJson({ error: shape.message }, { status: 409 });
399
+ }
400
+ const storedValues = values;
388
401
  const ctx = opts.registry.contextFor(connectorId, baseUrl);
389
402
  let result;
390
403
  if (rule.mode === "multiple") {
391
- const values = await opts.credentialVault.getAll(connectorId);
392
- if (!values) {
393
- return privateJson({ error: "configure the credentials before testing them" }, { status: 409 });
394
- }
395
- result = await connector.testCredentials(values, ctx);
404
+ result = await connector.testCredentials(storedValues, ctx);
396
405
  }
397
406
  else {
398
- const value = await opts.credentialVault.get(connectorId);
399
- if (!value) {
400
- return privateJson({ error: "configure the credential before testing it" }, { status: 409 });
401
- }
402
- result = await connector.testCredential(value, ctx);
407
+ result = await connector.testCredential(storedValues.value, ctx);
403
408
  }
404
409
  // The operator just ran the very check the liveness sweep runs; record it
405
- // so the cached status surfaces agree with what /ui just showed them.
410
+ // so cached status surfaces agree with what the operator page showed.
406
411
  await opts.registry.recordCredentialHealth(connectorId, {
407
412
  state: result.ok ? "ok" : "auth_required",
408
413
  checkedAt: new Date().toISOString(),
@@ -453,12 +458,12 @@ async function handleCredentialRequest(request, connectorId, action, opts, baseU
453
458
  const MAX_ECHOED_TOOLKIT_NAME = 64;
454
459
  /**
455
460
  * Bounded, escaped form of a caller-influenced value (a rejected toolkit name,
456
- * an identity id) for the operator log. Goes through JSON.stringify so a
457
- * caller-controlled newline or control character cannot forge a log line, plus a
458
- * hand-rolled escape for U+2028/U+2029, which JSON.stringify leaves raw even
459
- * though a log reader treats them as line terminators. Truncated to the same
460
- * length the response body echoes at, so an oversized value cannot flood the log
461
- * either.
461
+ * identity id, or OAuth callback connector id) for the operator log. Goes
462
+ * through JSON.stringify so a caller-controlled newline or control character
463
+ * cannot forge a log line, plus a hand-rolled escape for U+2028/U+2029, which
464
+ * JSON.stringify leaves raw even though a log reader treats them as line
465
+ * terminators. Truncated to a small shared cap (also the toolkit response's echo
466
+ * limit), so an oversized value cannot flood the log either.
462
467
  */
463
468
  function loggableValue(requested) {
464
469
  const bounded = requested.slice(0, MAX_ECHOED_TOOLKIT_NAME);
@@ -500,7 +505,7 @@ function identityLabel(actor) {
500
505
  }
501
506
  /**
502
507
  * Resolve `?toolkit=<name>` into the registry view this connection may see,
503
- * enforcing the caller's toolkit binding (§16) on the way.
508
+ * enforcing the caller's toolkit binding (docs/toolkits.md) on the way.
504
509
  *
505
510
  * For an UNBOUND identity (no binding configured — the pre-#37 shape):
506
511
  *
@@ -658,28 +663,91 @@ async function serveMcp(request, opts, baseUrl, actor, scope, runtimeContext) {
658
663
  await server.connect(transport);
659
664
  return transport.handleRequest(request);
660
665
  }
661
- async function handleOAuthCallback(url, registry, baseUrl, branding) {
662
- const id = url.pathname.slice("/oauth/callback/".length);
663
- const connector = registry.getConnector(id);
664
- if (!connector || !connector.finishAuth) {
665
- return html(`Unknown connector "${id}".`, 404, branding);
666
+ /**
667
+ * Pay the storage read a real downstream-OAuth refusal pays, on the refusal
668
+ * paths that would otherwise pay nothing.
669
+ *
670
+ * Identical bodies do not hide a connector id if the clock still sorts them.
671
+ * `KvOAuthProvider.verifyState` reads `oauth:state` before it can fail, so a
672
+ * configured id costs one storage round trip — on the Workers deployment shape
673
+ * that is a real KV read, tens of milliseconds cold — while an id that names
674
+ * nothing used to return having touched no I/O at all. That gap is an oracle:
675
+ * sample the two and a wordlist recovers the connector list the flat 400 was
676
+ * meant to withhold. So the zero-I/O refusals read the same key in the same
677
+ * `conn:<id>:` namespace, which for an unconfigured id is simply a miss.
678
+ *
679
+ * This is deliberately *not* a constant-time claim, and docs/connectors.md says
680
+ * so in prose: a hit and a miss are not identical in a KV store, and a connector
681
+ * shipping its own `verifyState` may do more or less work than one read. What it
682
+ * removes is the order-of-magnitude "no I/O versus a round trip" difference,
683
+ * which is the only part of the signal that makes enumeration cheap.
684
+ *
685
+ * A throwing read is swallowed: the refusal is the answer either way, and
686
+ * turning it into a 500 would hand back exactly the distinguishable response
687
+ * this whole path exists to deny.
688
+ */
689
+ async function equalizeRefusalCost(context) {
690
+ try {
691
+ await context.storage.get("oauth:state");
666
692
  }
693
+ catch {
694
+ // Deliberately ignored — see above.
695
+ }
696
+ }
697
+ async function handleOAuthCallback(url, registry, baseUrl, logger, branding) {
667
698
  const error = url.searchParams.get("error");
668
699
  if (error)
669
700
  return html(`Authorization denied: ${error}`, 400, branding);
670
701
  const code = url.searchParams.get("code");
671
702
  if (!code)
672
703
  return html("Missing authorization code.", 400, branding);
704
+ const id = url.pathname.slice("/oauth/callback/".length);
705
+ const connector = registry.getConnector(id);
706
+ // Safe to build before we know the id names anything: `contextFor` is a pure
707
+ // constructor — a namespaced storage view over `conn:<id>:` and, only for a
708
+ // connector that declares one, a lazy credential accessor. It neither throws
709
+ // nor touches storage for an unknown id, which is what lets the refusals
710
+ // below borrow it to equalize their cost.
673
711
  const context = registry.contextFor(id, baseUrl);
712
+ const refused = () => html("Authorization could not be completed. Re-run authorization from " +
713
+ "connecta and try again.", 400, branding);
714
+ if (!connector || !connector.finishAuth) {
715
+ await equalizeRefusalCost(context);
716
+ return refused();
717
+ }
674
718
  // CSRF / login-fixation guard: this route is intentionally public, so verify
675
719
  // the `state` matches the flow connecta started BEFORE exchanging the code.
676
- if (connector.verifyState) {
677
- const state = url.searchParams.get("state");
678
- const ok = await connector.verifyState(state, context);
679
- if (!ok) {
680
- return html("Authorization state mismatch this callback did not originate from " +
681
- "a flow started by connecta. Re-run authorization and try again.", 400, branding);
682
- }
720
+ if (!connector.verifyState) {
721
+ await equalizeRefusalCost(context);
722
+ logger.warn(`[connecta] refused an OAuth callback for connector ` +
723
+ `${loggableValue(id)} with 400: it implements finishAuth but no ` +
724
+ "verifyState, so connecta cannot establish that it started this flow. " +
725
+ "No authorization code was exchanged. Implement verifyState before " +
726
+ "trying again.");
727
+ return refused();
728
+ }
729
+ const state = url.searchParams.get("state");
730
+ let stateMatches;
731
+ try {
732
+ stateMatches = await connector.verifyState(state, context);
733
+ }
734
+ catch (err) {
735
+ logger.warn(`[connecta] refused an OAuth callback for connector ` +
736
+ `${loggableValue(id)} with 400: verifyState threw ` +
737
+ `${loggableValue(msg(err))}. No authorization code was exchanged. ` +
738
+ "Re-run authorization from connecta and check the verifier if it " +
739
+ "fails again.");
740
+ return refused();
741
+ }
742
+ if (!stateMatches) {
743
+ logger.warn(`[connecta] refused an OAuth callback for connector ` +
744
+ `${loggableValue(id)} with 400: ` +
745
+ (state === null
746
+ ? "the state parameter was missing"
747
+ : "the state did not match the pending authorization flow") +
748
+ ". No authorization code was exchanged. Re-run authorization from " +
749
+ "connecta and try again.");
750
+ return refused();
683
751
  }
684
752
  try {
685
753
  await connector.finishAuth(code, context);
@@ -740,7 +808,10 @@ export function createFetchHandler(opts) {
740
808
  path !== "/health" &&
741
809
  new URL(publicUrl).protocol === "https:" &&
742
810
  url.protocol === "http:") {
743
- const target = new URL(`${url.pathname}${url.search}`, publicUrl);
811
+ // Canonicalize the legacy bookmark while upgrading it so an old /ui URL
812
+ // reaches the new Connections entry point in one permanent redirect.
813
+ const targetPath = path === "/ui" ? "/" : url.pathname;
814
+ const target = new URL(`${targetPath}${url.search}`, publicUrl);
744
815
  return withSecurityHeaders(new Response(null, {
745
816
  status: 308,
746
817
  headers: { Location: target.toString() },
@@ -785,7 +856,7 @@ export function createFetchHandler(opts) {
785
856
  });
786
857
  }
787
858
  if (path.startsWith("/oauth/callback/")) {
788
- return handleOAuthCallback(url, registry, baseUrl, opts.branding);
859
+ return handleOAuthCallback(url, registry, baseUrl, opts.logger, opts.branding);
789
860
  }
790
861
  if (request.method === "GET" && path === "/favicon.svg") {
791
862
  return new Response(opts.branding?.favicon?.svg ?? CONNECTA_FAVICON_SVG, {
@@ -806,7 +877,22 @@ export function createFetchHandler(opts) {
806
877
  });
807
878
  }
808
879
  if (path === "/ui") {
809
- // Open shell carries no data; data comes only from the gated /ui/data.
880
+ if (request.method !== "GET") {
881
+ return privateJson({ error: "method not allowed" }, { status: 405 });
882
+ }
883
+ const target = new URL(`/${url.search}`, baseUrl);
884
+ return new Response(null, {
885
+ status: 308,
886
+ headers: { Location: target.toString() },
887
+ });
888
+ }
889
+ const operatorPage = operatorPageForPath(path);
890
+ if (operatorPage) {
891
+ if (request.method !== "GET") {
892
+ return privateJson({ error: "method not allowed" }, { status: 405 });
893
+ }
894
+ // Open shell — carries no operator data; everything comes from the
895
+ // authenticated /ui/* APIs after the browser establishes a session.
810
896
  const uiAuth = auth.find((provider) => provider.uiAuth)?.uiAuth;
811
897
  const mcpUrl = new URL("/mcp", baseUrl).toString();
812
898
  // Nonce the page's inline script (and the Clerk loader). 'strict-dynamic'
@@ -816,7 +902,7 @@ export function createFetchHandler(opts) {
816
902
  // style/font/network needs and the page's inline <style> stay unrestricted
817
903
  // — only script execution, the XSS sink, is gated.
818
904
  const nonce = uiScriptNonce();
819
- return new Response(renderUiHtml(uiAuth, mcpUrl, opts.branding, nonce), {
905
+ return new Response(renderUiHtml(uiAuth, mcpUrl, opts.branding, nonce, operatorPage), {
820
906
  status: 200,
821
907
  headers: {
822
908
  "Content-Type": "text/html; charset=utf-8",
@@ -836,12 +922,18 @@ export function createFetchHandler(opts) {
836
922
  // After the restriction check, not before: an identity that may not
837
923
  // read this surface should not get to trigger background work from it.
838
924
  sweepCredentials();
925
+ const eligibleClerkOperator = authz.providerKind === "clerk" && Boolean(authz.userId);
926
+ const credentialManagement = credentialManagementCapability({
927
+ eligibleClerkOperator,
928
+ hasCredentialSlots: registry
929
+ .listConnectors()
930
+ .some((connector) => Boolean(connector.credential)),
931
+ hasCredentialVault: Boolean(opts.credentialVault),
932
+ });
839
933
  const data = await buildUiData(registry, baseUrl, serverInfo,
840
934
  // The static headless bearer may read connector health, but only a
841
935
  // Clerk-authenticated operator receives credential metadata.
842
- authz.providerKind === "clerk" && authz.userId
843
- ? opts.credentialVault
844
- : undefined, Boolean(opts.activity?.list));
936
+ eligibleClerkOperator ? opts.credentialVault : undefined, Boolean(opts.activity?.list), credentialManagement);
845
937
  return privateJson(data);
846
938
  }
847
939
  if (path === "/ui/activity") {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/toolkits.js CHANGED
@@ -75,7 +75,7 @@ function toolFilter(name, addresses, connectorIds, staticTools, field) {
75
75
  * an allowlist is a scope the operator did not write, and a scope nobody wrote
76
76
  * is not one an operator can reason about. (A definition scopes visibility only;
77
77
  * WHICH identity may select it is the separate binding below — see the module
78
- * header and documentation.md §16.) Tool names are checked only for connectors that expose
78
+ * header and docs/toolkits.md.) Tool names are checked only for connectors that expose
79
79
  * `staticTools` (i.e. `api()`); a remote connector's catalog is fetched lazily
80
80
  * over the network and is unknown at construction time.
81
81
  */