@zackbart/connecta 0.8.0 → 0.9.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 (151) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/README.md +31 -55
  3. package/SECURITY.md +5 -11
  4. package/dist/activity.d.ts +0 -8
  5. package/dist/activity.d.ts.map +1 -1
  6. package/dist/activity.js +0 -1
  7. package/dist/activity.js.map +1 -1
  8. package/dist/auth/bearer.d.ts +1 -7
  9. package/dist/auth/bearer.d.ts.map +1 -1
  10. package/dist/auth/bearer.js +2 -23
  11. package/dist/auth/bearer.js.map +1 -1
  12. package/dist/auth/clerk.d.ts +2 -11
  13. package/dist/auth/clerk.d.ts.map +1 -1
  14. package/dist/auth/clerk.js +31 -46
  15. package/dist/auth/clerk.js.map +1 -1
  16. package/dist/auth/downstream-oauth.d.ts +15 -6
  17. package/dist/auth/downstream-oauth.d.ts.map +1 -1
  18. package/dist/auth/downstream-oauth.js +60 -11
  19. package/dist/auth/downstream-oauth.js.map +1 -1
  20. package/dist/call-admission.d.ts.map +1 -1
  21. package/dist/call-admission.js +0 -1
  22. package/dist/call-admission.js.map +1 -1
  23. package/dist/catalog-service.d.ts +1 -2
  24. package/dist/catalog-service.d.ts.map +1 -1
  25. package/dist/catalog-service.js +12 -18
  26. package/dist/catalog-service.js.map +1 -1
  27. package/dist/catalog.d.ts +6 -0
  28. package/dist/catalog.d.ts.map +1 -1
  29. package/dist/catalog.js +51 -0
  30. package/dist/catalog.js.map +1 -1
  31. package/dist/connectors/remote-mcp.d.ts +1 -1
  32. package/dist/connectors/remote-mcp.d.ts.map +1 -1
  33. package/dist/connectors/remote-mcp.js +73 -71
  34. package/dist/connectors/remote-mcp.js.map +1 -1
  35. package/dist/errors.d.ts +19 -1
  36. package/dist/errors.d.ts.map +1 -1
  37. package/dist/errors.js +1 -0
  38. package/dist/errors.js.map +1 -1
  39. package/dist/execute.d.ts +4 -9
  40. package/dist/execute.d.ts.map +1 -1
  41. package/dist/execute.js +41 -20
  42. package/dist/execute.js.map +1 -1
  43. package/dist/executor-result.js +1 -1
  44. package/dist/executor-result.js.map +1 -1
  45. package/dist/index.d.ts +3 -82
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +17 -90
  48. package/dist/index.js.map +1 -1
  49. package/dist/invocation.d.ts +5 -0
  50. package/dist/invocation.d.ts.map +1 -1
  51. package/dist/invocation.js +46 -10
  52. package/dist/invocation.js.map +1 -1
  53. package/dist/meta-tools.d.ts +4 -12
  54. package/dist/meta-tools.d.ts.map +1 -1
  55. package/dist/meta-tools.js +119 -169
  56. package/dist/meta-tools.js.map +1 -1
  57. package/dist/operator-ui/generated.d.ts +2 -2
  58. package/dist/operator-ui/generated.d.ts.map +1 -1
  59. package/dist/operator-ui/generated.js +2 -2
  60. package/dist/operator-ui/generated.js.map +1 -1
  61. package/dist/operator-ui/model.d.ts +1 -22
  62. package/dist/operator-ui/model.d.ts.map +1 -1
  63. package/dist/operator-ui/model.js.map +1 -1
  64. package/dist/registry.d.ts +11 -178
  65. package/dist/registry.d.ts.map +1 -1
  66. package/dist/registry.js +52 -330
  67. package/dist/registry.js.map +1 -1
  68. package/dist/retired-toolkits.d.ts +3 -0
  69. package/dist/retired-toolkits.d.ts.map +1 -0
  70. package/dist/retired-toolkits.js +9 -0
  71. package/dist/retired-toolkits.js.map +1 -0
  72. package/dist/routes/activity.d.ts.map +1 -1
  73. package/dist/routes/activity.js +2 -5
  74. package/dist/routes/activity.js.map +1 -1
  75. package/dist/routes/credentials.d.ts.map +1 -1
  76. package/dist/routes/credentials.js +1 -12
  77. package/dist/routes/credentials.js.map +1 -1
  78. package/dist/routes/mcp.d.ts.map +1 -1
  79. package/dist/routes/mcp.js +94 -188
  80. package/dist/routes/mcp.js.map +1 -1
  81. package/dist/routes/oauth.d.ts.map +1 -1
  82. package/dist/routes/oauth.js +3 -8
  83. package/dist/routes/oauth.js.map +1 -1
  84. package/dist/routes/shared.d.ts +9 -30
  85. package/dist/routes/shared.d.ts.map +1 -1
  86. package/dist/routes/shared.js +10 -69
  87. package/dist/routes/shared.js.map +1 -1
  88. package/dist/routes/ui.d.ts.map +1 -1
  89. package/dist/routes/ui.js +4 -10
  90. package/dist/routes/ui.js.map +1 -1
  91. package/dist/server.d.ts.map +1 -1
  92. package/dist/server.js +1 -31
  93. package/dist/server.js.map +1 -1
  94. package/dist/skills.d.ts +3 -6
  95. package/dist/skills.d.ts.map +1 -1
  96. package/dist/skills.js +9 -38
  97. package/dist/skills.js.map +1 -1
  98. package/dist/timeout.d.ts.map +1 -1
  99. package/dist/timeout.js +2 -4
  100. package/dist/timeout.js.map +1 -1
  101. package/dist/types.d.ts +8 -61
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/ui.d.ts +1 -2
  104. package/dist/ui.d.ts.map +1 -1
  105. package/dist/ui.js +5 -35
  106. package/dist/ui.js.map +1 -1
  107. package/dist/version.d.ts +1 -1
  108. package/dist/version.js +1 -1
  109. package/package.json +3 -2
  110. package/src/activity.ts +0 -9
  111. package/src/auth/bearer.ts +3 -32
  112. package/src/auth/clerk.ts +35 -48
  113. package/src/auth/downstream-oauth.ts +106 -24
  114. package/src/call-admission.ts +0 -1
  115. package/src/catalog-service.ts +23 -23
  116. package/src/catalog.ts +55 -0
  117. package/src/connectors/remote-mcp.ts +106 -86
  118. package/src/errors.ts +22 -0
  119. package/src/execute.ts +43 -24
  120. package/src/executor-result.ts +1 -1
  121. package/src/index.ts +24 -208
  122. package/src/invocation.ts +63 -10
  123. package/src/meta-tools.ts +139 -187
  124. package/src/operator-ui/browser.css +1 -54
  125. package/src/operator-ui/browser.ts +16 -150
  126. package/src/operator-ui/generated.ts +2 -2
  127. package/src/operator-ui/model.ts +1 -23
  128. package/src/registry.ts +59 -429
  129. package/src/retired-toolkits.ts +14 -0
  130. package/src/routes/activity.ts +1 -6
  131. package/src/routes/credentials.ts +0 -12
  132. package/src/routes/mcp.ts +110 -230
  133. package/src/routes/oauth.ts +2 -8
  134. package/src/routes/shared.ts +10 -100
  135. package/src/routes/ui.ts +2 -12
  136. package/src/server.ts +1 -31
  137. package/src/skills.ts +9 -38
  138. package/src/timeout.ts +2 -4
  139. package/src/types.ts +11 -62
  140. package/src/ui.ts +9 -46
  141. package/src/version.ts +1 -1
  142. package/dist/credential-health.d.ts +0 -205
  143. package/dist/credential-health.d.ts.map +0 -1
  144. package/dist/credential-health.js +0 -610
  145. package/dist/credential-health.js.map +0 -1
  146. package/dist/toolkits.d.ts +0 -124
  147. package/dist/toolkits.d.ts.map +0 -1
  148. package/dist/toolkits.js +0 -322
  149. package/dist/toolkits.js.map +0 -1
  150. package/src/credential-health.ts +0 -835
  151. package/src/toolkits.ts +0 -461
package/dist/registry.js CHANGED
@@ -1,18 +1,30 @@
1
1
  import { storedCredentialShape, } from "./credentials.js";
2
2
  import { ConnectorCallError } from "./errors.js";
3
- import { CredentialHealthChecker, } from "./credential-health.js";
4
3
  import { ConnectorCallAdmissionController, } from "./call-admission.js";
5
4
  import { fingerprintSerializedCatalog, snapshotCatalog, } from "./catalog-fingerprint.js";
6
5
  import { MAX_CATALOG_CHUNK_BYTES, MAX_CATALOG_TOOLS, MAX_SERIALIZED_CATALOG_BYTES, } from "./catalog-limits.js";
7
6
  import { mapSettledWithConcurrency } from "./concurrency.js";
8
- import { splitAddress } from "./toolkits.js";
9
7
  const ID_RE = /^[a-z0-9_-]+$/;
10
8
  const DEFAULT_TTL_SECONDS = 300;
11
9
  const DEFAULT_STALE_SECONDS = 3600;
12
10
  const CATALOG_CHUNK_TTL_GRACE_SECONDS = 300;
13
11
  const DEFAULT_MAX_RESULT_BYTES = 50_000;
12
+ const encoder = new TextEncoder();
14
13
  /** Independent final-envelope boundary for `batch_call`. */
15
14
  const DEFAULT_MAX_BATCH_RESULT_BYTES = 100_000;
15
+ /**
16
+ * Split `"<connectorId>.<toolName>"` on the first dot. Connector ids contain
17
+ * no dots, so a downstream tool name may.
18
+ */
19
+ function splitAddress(address) {
20
+ const dot = address.indexOf(".");
21
+ if (dot <= 0 || dot === address.length - 1)
22
+ return null;
23
+ return {
24
+ connectorId: address.slice(0, dot),
25
+ toolName: address.slice(dot + 1),
26
+ };
27
+ }
16
28
  /**
17
29
  * Smallest accepted inline-result cap. One byte is pathological but harmless:
18
30
  * `alignEndToCharBoundary` widens a window narrower than the codepoint at the
@@ -50,17 +62,9 @@ export function resolveMaxResultBytes(value, inherited) {
50
62
  }
51
63
  const CATALOG_CHUNK_IO_CONCURRENCY = 4;
52
64
  /**
53
- * Recent real-call outcomes per connector, as observed by ONE view.
54
- *
55
- * The deployment keeps one log, and each toolkit keeps its own. That split is a
56
- * scope boundary, not bookkeeping: `lastError` is a downstream error string
57
- * that routinely names the tool that failed, and `list_connectors` returns the
58
- * observation verbatim. Sharing one log would let a toolkit read back the tools
59
- * and failures of a sibling toolkit through a connector they happen to share —
60
- * and let a sibling's failures flip this view's reported status. A scoped view
61
- * reads back only the calls it made itself.
65
+ * Recent real-call outcomes per connector.
62
66
  */
63
- export class HealthLog {
67
+ class HealthLog {
64
68
  observations = new Map();
65
69
  recordSuccess(id, latencyMs) {
66
70
  const previous = this.observations.get(id);
@@ -98,35 +102,6 @@ function namespaced(storage, prefix) {
98
102
  function msg(err) {
99
103
  return err instanceof Error ? err.message : String(err);
100
104
  }
101
- /** WHATWG TextEncoder byte length without allocating another full buffer. */
102
- function utf8ByteLength(value) {
103
- let bytes = 0;
104
- for (let index = 0; index < value.length; index++) {
105
- const code = value.charCodeAt(index);
106
- if (code <= 0x7f) {
107
- bytes++;
108
- }
109
- else if (code <= 0x7ff) {
110
- bytes += 2;
111
- }
112
- else if (code >= 0xd800 &&
113
- code <= 0xdbff &&
114
- index + 1 < value.length) {
115
- const next = value.charCodeAt(index + 1);
116
- if (next >= 0xdc00 && next <= 0xdfff) {
117
- bytes += 4;
118
- index++;
119
- }
120
- else {
121
- bytes += 3;
122
- }
123
- }
124
- else {
125
- bytes += 3;
126
- }
127
- }
128
- return bytes;
129
- }
130
105
  /**
131
106
  * Holds the connector set, resolves addresses, and caches per-connector tool
132
107
  * lists in memory with a TTL. Connector failures are isolated: a broken
@@ -153,8 +128,6 @@ export class Registry {
153
128
  maxResultBytes;
154
129
  /** Final batch envelope cap threaded to the meta-tools. */
155
130
  maxBatchResultBytes;
156
- /** Proactive liveness checks over stored downstream credentials (issue #24). */
157
- credentialHealth;
158
131
  constructor(connectors, opts) {
159
132
  this.opts = opts;
160
133
  this.ttlMs =
@@ -178,16 +151,6 @@ export class Registry {
178
151
  }
179
152
  this.checkConventions(opts.logger);
180
153
  this.checkResultCaps(opts.logger, opts.maxResultBytes, opts.maxBatchResultBytes);
181
- this.credentialHealth = new CredentialHealthChecker({
182
- listConnectors: () => this.listConnectors(),
183
- getConnector: (id) => this.getConnector(id),
184
- contextFor: (id, baseUrl, requestScope) => this.contextFor(id, baseUrl, requestScope),
185
- storage: opts.storage,
186
- logger: opts.logger,
187
- ...(opts.credentialVault !== undefined
188
- ? { credentialVault: opts.credentialVault }
189
- : {}),
190
- }, opts.credentialHealth);
191
154
  }
192
155
  /**
193
156
  * Warn once per unusable result cap, at construction time — the same
@@ -446,7 +409,7 @@ export class Registry {
446
409
  this.opts.logger.warn(`[connecta] connector "${id}" catalog chunk ${index + 1}/${manifest.chunkCount} is missing; ignoring persisted catalog.`);
447
410
  return null;
448
411
  }
449
- const byteLength = utf8ByteLength(chunk);
412
+ const byteLength = encoder.encode(chunk).byteLength;
450
413
  chunkBytes += byteLength;
451
414
  if (byteLength > MAX_CATALOG_CHUNK_BYTES ||
452
415
  chunkBytes > manifest.byteCount) {
@@ -736,67 +699,28 @@ export class Registry {
736
699
  healthFor(id) {
737
700
  return this.health.get(id);
738
701
  }
739
- /**
740
- * Whether ANY view of this deployment has seen a successful call to `id` —
741
- * a bare boolean, never the observation. Connector liveness (reachable,
742
- * credentials still valid) is a deployment-level fact, not a per-view one, so
743
- * `list_connectors` may classify a connector as ok/unknown from it. The
744
- * observation itself — `lastError` above all, which names the tool that
745
- * failed — stays strictly per view.
746
- */
702
+ /** Whether this deployment has seen a successful call to `id`. */
747
703
  hasObservedSuccess(id) {
748
704
  return this.observedSuccessAt(id) !== undefined;
749
705
  }
750
- /**
751
- * The timestamp behind `hasObservedSuccess`, on the same deployment-wide
752
- * terms and for the same reason: it says only *when* the connector last
753
- * answered, never what was called or what failed. Credential health reads it
754
- * to decide whether a failed verdict has been overtaken by real traffic.
755
- */
706
+ /** The timestamp behind `hasObservedSuccess`. */
756
707
  observedSuccessAt(id) {
757
708
  return this.health.get(id)?.lastSuccessAt;
758
709
  }
759
- /**
760
- * The last credential-liveness verdict for `id` — the layer that lets a cached
761
- * status read report `auth_required` before a real call discovers it. Read
762
- * from storage (mirrored in memory for a few seconds) rather than held in
763
- * memory alone, because on Workers the isolate that ran the check is usually
764
- * not the isolate answering this read.
765
- */
766
- credentialHealthFor(id) {
767
- return this.credentialHealth.healthFor(id);
768
- }
769
- recordCredentialHealth(id, record) {
770
- return this.credentialHealth.record(id, record);
771
- }
772
- /**
773
- * Check stored downstream credentials now and return one outcome per
774
- * connector considered. THE operator-facing entry point behind
775
- * `Connecta.checkCredentials()`: wire it to a Worker cron trigger or a Node
776
- * interval. Never rejects; connectors checked recently are reported as
777
- * `fresh` unless `force` is set.
778
- */
779
- checkCredentialHealth(baseUrl, opts, defer) {
780
- return this.credentialHealth.check(baseUrl, opts, defer);
781
- }
782
- /**
783
- * The traffic-triggered sweep: a promise for the caller to defer (Workers:
784
- * `ctx.waitUntil`), or `undefined` when nothing is due — which is the common
785
- * case and costs no I/O. Called by the server after an authenticated request;
786
- * the checker owns the rate limiting.
787
- */
788
- sweepCredentialHealthIfDue(baseUrl, defer) {
789
- return this.credentialHealth.sweepIfDue(baseUrl, defer);
790
- }
791
- /**
792
- * Drop a connector's liveness verdict, because its credential just changed
793
- * under us (OAuth callback completed, credential stored or removed on
794
- * /credentials). A
795
- * stale `auth_required` must not outlive the re-authorization that fixed it —
796
- * that is the difference between recovery working and needing a restart.
797
- */
798
- clearCredentialHealth(id) {
799
- return this.credentialHealth.clear(id);
710
+ async credentialDriftFor(id) {
711
+ const credential = this.connectors.get(id)?.credential;
712
+ const vault = this.opts.credentialVault;
713
+ if (!credential || !vault)
714
+ return undefined;
715
+ try {
716
+ const values = await vault.getAll(id);
717
+ const shape = storedCredentialShape(credential, values);
718
+ return shape.state === "mismatch" ? shape.message : undefined;
719
+ }
720
+ catch (error) {
721
+ this.opts.logger.warn(`[connecta] connector "${id}" credential shape read failed: ${msg(error)}`);
722
+ return undefined;
723
+ }
800
724
  }
801
725
  /** Best-effort connector status for list_connectors. */
802
726
  async statusFor(id, baseUrl, requestScope = {}, callOptions = {}) {
@@ -820,234 +744,32 @@ export class Registry {
820
744
  return { state: "error", message: msg(err) };
821
745
  }
822
746
  }
823
- /** Drop a connector's cached tool list (e.g. after auth completes). */
824
- invalidate(id) {
825
- this.advanceCatalogGeneration(id);
826
- this.cache.delete(id);
827
- this.invalidated.add(id);
828
- if (this.persistToolCatalog) {
829
- void this.enqueueCatalogMutation(id, async () => {
830
- try {
831
- await this.deleteCatalog(id);
832
- }
833
- catch (err) {
834
- this.opts.logger.warn(`[connecta] connector "${id}" catalog invalidation failed: ${msg(err)}`);
835
- }
836
- });
837
- }
838
- }
839
- /** Drop both in-memory and persisted tool catalogs. */
840
- async invalidateStored(id) {
747
+ markCatalogInvalid(id) {
841
748
  this.advanceCatalogGeneration(id);
842
749
  this.cache.delete(id);
843
750
  this.invalidated.add(id);
844
- if (this.persistToolCatalog) {
845
- await this.enqueueCatalogMutation(id, async () => {
846
- try {
847
- await this.deleteCatalog(id);
848
- }
849
- catch (err) {
850
- this.opts.logger.warn(`[connecta] connector "${id}" catalog invalidation failed: ${msg(err)}`);
851
- }
852
- });
853
- }
854
- }
855
- }
856
- /**
857
- * Per-toolkit HealthLogs, keyed by registry and then by toolkit name.
858
- *
859
- * Module-scoped rather than a `Registry` member on purpose: `Registry`'s type
860
- * is part of the public API surface (`Connecta.registry`), and this is internal
861
- * factoring only `ScopedRegistry` may touch. The WeakMap keeps the logs alive
862
- * exactly as long as their registry, and the inner map is bounded by the
863
- * number of configured toolkits.
864
- */
865
- const toolkitHealthLogs = new WeakMap();
866
- /** The long-lived log one toolkit records into; created on first use. */
867
- function toolkitHealthLog(base, toolkitName) {
868
- let logs = toolkitHealthLogs.get(base);
869
- if (!logs) {
870
- logs = new Map();
871
- toolkitHealthLogs.set(base, logs);
872
- }
873
- let log = logs.get(toolkitName);
874
- if (!log) {
875
- log = new HealthLog();
876
- logs.set(toolkitName, log);
877
- }
878
- return log;
879
- }
880
- /**
881
- * THE toolkit enforcement point (issue #22).
882
- *
883
- * A filtered VIEW of one long-lived `Registry`: same connectors, same tool
884
- * caches, same health — narrowed to the connectors and tool addresses one
885
- * toolkit selects. `serveMcp` builds it once per scoped connection and hands it
886
- * to `registerMetaTools`/`registerExecuteTool`, so `list_connectors`,
887
- * `search_tools`, `describe_tools`, `call_tool`, `call_destructive_tool`,
888
- * `batch_call`, `authorize_connector`, `get_result`, `skills`, and the
889
- * `execute_code` host bridge all inherit the boundary from here instead of
890
- * re-implementing nine checks.
891
- *
892
- * Two invariants make it reviewable:
893
- *
894
- * 1. **Indistinguishability.** Out-of-scope input fails through the SAME code
895
- * path, with the same error class and message, as input naming something
896
- * that does not exist at all. An out-of-scope CONNECTOR disappears from
897
- * `resolveAddress`/`getConnector` (→ `Unknown address` / `Unknown
898
- * connector`); an out-of-scope TOOL disappears from the catalog this view
899
- * returns (→ `Unknown tool "<t>" on connector "<c>"`), which is exactly the
900
- * error a misspelled tool name already produced. Scoping deliberately does
901
- * NOT reject at `resolveAddress` for tools: that would answer with the
902
- * connector-level message and make "hidden here" distinguishable from
903
- * "never existed".
904
- * 2. **It filters views, never state.** Every read delegates to the shared
905
- * registry and filters the returned array, so the tool cache, the persisted
906
- * catalog, and the health map stay whole and shared across scopes.
907
- */
908
- export class ScopedRegistry {
909
- base;
910
- toolkit;
911
- /** This toolkit's own health observations — see HealthLog. */
912
- health;
913
- constructor(base, toolkit) {
914
- this.base = base;
915
- this.toolkit = toolkit;
916
- this.health = toolkitHealthLog(base, toolkit.name);
917
- }
918
- get maxResultBytes() {
919
- return this.base.maxResultBytes;
920
- }
921
- get maxBatchResultBytes() {
922
- return this.base.maxBatchResultBytes;
923
- }
924
- /** In scope AND actually registered. */
925
- visible(id) {
926
- return (this.toolkit.hasConnector(id) && this.base.getConnector(id) !== undefined);
927
- }
928
- /** Byte-identical to what the unscoped registry throws for an unknown id. */
929
- unknownConnector(id) {
930
- return new Error(`Unknown connector "${id}"`);
931
- }
932
- inScopeTools(id, tools) {
933
- return tools.filter((tool) => this.toolkit.hasTool(id, tool.name));
934
- }
935
- listConnectors() {
936
- return this.base
937
- .listConnectors()
938
- .filter((connector) => this.toolkit.hasConnector(connector.id));
939
- }
940
- getConnector(id) {
941
- return this.visible(id) ? this.base.getConnector(id) : undefined;
942
- }
943
- resolveAddress(address) {
944
- const resolved = this.base.resolveAddress(address);
945
- if (!resolved)
946
- return null;
947
- // Connector-level only — see invariant 1 above.
948
- return this.toolkit.hasConnector(resolved.connector.id) ? resolved : null;
949
- }
950
- async getTools(id, baseUrl, requestScope, callOptions = {}) {
951
- if (!this.visible(id))
952
- throw this.unknownConnector(id);
953
- return this.inScopeTools(id, await this.base.getTools(id, baseUrl, requestScope, callOptions));
954
- }
955
- async refreshTools(id, baseUrl, requestScope, callOptions = {}) {
956
- if (!this.visible(id))
957
- throw this.unknownConnector(id);
958
- return this.inScopeTools(id, await this.base.refreshTools(id, baseUrl, requestScope, callOptions));
959
- }
960
- peekTools(id) {
961
- if (!this.visible(id))
962
- return undefined;
963
- const tools = this.base.peekTools(id);
964
- return tools ? this.inScopeTools(id, tools) : undefined;
965
- }
966
- contextFor(id, baseUrl, requestScope = {}, callOptions = {}) {
967
- // Unreachable through the meta-tools (they resolve first), so a throw here
968
- // is a loud backstop rather than a silent grant of connector storage and
969
- // credentials to a scope that may not see the connector.
970
- if (!this.visible(id))
971
- throw this.unknownConnector(id);
972
- return this.base.contextFor(id, baseUrl, requestScope, callOptions);
973
- }
974
- admitCall(id, input) {
975
- if (!this.visible(id))
976
- return Promise.reject(this.unknownConnector(id));
977
- return this.base.admitCall(id, input);
978
- }
979
- /**
980
- * Stashed oversized results are bound to the scope that produced them: a
981
- * scoped session cannot page a result it could not have produced, and an id
982
- * from another scope reads back as the ordinary "Unknown or expired result
983
- * id". Unscoped sessions keep the historical `results:` prefix untouched.
984
- */
985
- resultsStorage() {
986
- return namespaced(this.base.resultsStorage(), `toolkit:${this.toolkit.name}:`);
987
751
  }
988
- // Outcomes are recorded twice on purpose: the deployment-wide log keeps the
989
- // operator surfaces complete, while the toolkit's own log is the ONLY one
990
- // this view reads back — so `list_connectors` here never reports a sibling
991
- // toolkit's failures, or the tool names their error strings carry.
992
- recordSuccess(id, latencyMs) {
993
- if (!this.visible(id))
994
- return;
995
- this.base.recordSuccess(id, latencyMs);
996
- this.health.recordSuccess(id, latencyMs);
997
- }
998
- recordFailure(id, latencyMs, error) {
999
- if (!this.visible(id))
1000
- return;
1001
- this.base.recordFailure(id, latencyMs, error);
1002
- this.health.recordFailure(id, latencyMs, error);
1003
- }
1004
- healthFor(id) {
1005
- return this.visible(id) ? this.health.get(id) : undefined;
1006
- }
1007
- /**
1008
- * Deliberately NOT per view: whether the connector has ever answered is a
1009
- * fact about the connector, not about a team's traffic, and withholding it
1010
- * would report every remote connector as "unknown" to a scoped session that
1011
- * has not called it yet. It carries no tool name, error text, or count — the
1012
- * per-view isolation of those, above, is unchanged.
1013
- */
1014
- hasObservedSuccess(id) {
1015
- return this.visible(id) ? this.base.hasObservedSuccess(id) : false;
1016
- }
1017
- /** Deployment-wide for the same reason as `hasObservedSuccess` above. */
1018
- observedSuccessAt(id) {
1019
- return this.visible(id) ? this.base.observedSuccessAt(id) : undefined;
1020
- }
1021
- /**
1022
- * Also deliberately NOT per view, for the same reason as
1023
- * `hasObservedSuccess`: whether the credential connecta stores for a connector
1024
- * still works is a fact about the deployment's credential, not about a team's
1025
- * traffic. Withholding it would leave a scoped session unable to see that the
1026
- * connector it shares needs re-authorization. The verdict carries the
1027
- * connector's own connector-level reason — never a tool name — so the per-view
1028
- * isolation of `lastError` above is unchanged.
1029
- */
1030
- credentialHealthFor(id) {
1031
- return this.visible(id)
1032
- ? this.base.credentialHealthFor(id)
1033
- : Promise.resolve(undefined);
1034
- }
1035
- async recordCredentialHealth(id, record) {
1036
- if (!this.visible(id))
1037
- return;
1038
- await this.base.recordCredentialHealth(id, record);
752
+ deleteStoredCatalog(id) {
753
+ return this.enqueueCatalogMutation(id, async () => {
754
+ try {
755
+ await this.deleteCatalog(id);
756
+ }
757
+ catch (err) {
758
+ this.opts.logger.warn(`[connecta] connector "${id}" catalog invalidation failed: ${msg(err)}`);
759
+ }
760
+ });
1039
761
  }
1040
- async statusFor(id, baseUrl, requestScope = {}, callOptions = {}) {
1041
- // Same shape the unscoped registry returns for an unregistered id.
1042
- if (!this.visible(id)) {
1043
- return { state: "error", message: "Unknown connector" };
1044
- }
1045
- return this.base.statusFor(id, baseUrl, requestScope, callOptions);
762
+ /** Drop a connector's cached tool list (e.g. after auth completes). */
763
+ invalidate(id) {
764
+ this.markCatalogInvalid(id);
765
+ if (this.persistToolCatalog)
766
+ void this.deleteStoredCatalog(id);
1046
767
  }
768
+ /** Drop both in-memory and persisted tool catalogs. */
1047
769
  async invalidateStored(id) {
1048
- if (!this.visible(id))
1049
- return;
1050
- await this.base.invalidateStored(id);
770
+ this.markCatalogInvalid(id);
771
+ if (this.persistToolCatalog)
772
+ await this.deleteStoredCatalog(id);
1051
773
  }
1052
774
  }
1053
775
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Fail loudly when JavaScript callers pass the retired audience-scoping keys. */
2
+ export declare function assertNoRetiredToolkitOptions(source: string, options: object): void;
3
+ //# sourceMappingURL=retired-toolkits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retired-toolkits.d.ts","sourceRoot":"","sources":["../src/retired-toolkits.ts"],"names":[],"mappings":"AAGA,kFAAkF;AAClF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAMN"}
@@ -0,0 +1,9 @@
1
+ const hasOwn = (value, key) => Object.prototype.hasOwnProperty.call(value, key);
2
+ /** Fail loudly when JavaScript callers pass the retired audience-scoping keys. */
3
+ export function assertNoRetiredToolkitOptions(source, options) {
4
+ if (!hasOwn(options, "toolkits") && !hasOwn(options, "unscoped"))
5
+ return;
6
+ throw new Error(`${source} options \`toolkits\` and \`unscoped\` were removed in issue ` +
7
+ "#178. Deploy one connecta instance per audience instead; see ethos.md.");
8
+ }
9
+ //# sourceMappingURL=retired-toolkits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retired-toolkits.js","sourceRoot":"","sources":["../src/retired-toolkits.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,GAAgB,EAAW,EAAE,CAC1D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEnD,kFAAkF;AAClF,MAAM,UAAU,6BAA6B,CAC3C,MAAc,EACd,OAAe;IAEf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;QAAE,OAAO;IACzE,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,+DAA+D;QACtE,wEAAwE,CAC3E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/routes/activity.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AA4JrB,wBAAsB,aAAa,CACjC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA+C1B"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/routes/activity.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AA4JrB,wBAAsB,aAAa,CACjC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA4C1B"}
@@ -1,5 +1,5 @@
1
1
  import { InvalidActivityCursorError, } from "../activity.js";
2
- import { activityActorNamespace, authorize, isToolkitRestricted, privateJson, restrictedOperatorSurface, } from "./shared.js";
2
+ import { activityActorNamespace, authorize, privateJson, } from "./shared.js";
3
3
  const ACTIVITY_LABEL_CONCURRENCY = 8;
4
4
  const ACTIVITY_LABEL_PAGE_BUDGET_MS = 1_500;
5
5
  const ACTIVITY_LABEL_MAX_LENGTH = 160;
@@ -134,12 +134,9 @@ export async function routeActivity(context) {
134
134
  if (request.method !== "GET") {
135
135
  return privateJson({ error: "method not allowed" }, { status: 405 });
136
136
  }
137
- const authz = await authorize(request, baseUrl, opts.auth, opts.logger);
137
+ const authz = await authorize(request, baseUrl, opts.auth);
138
138
  if (!authz.ok)
139
139
  return authz.response;
140
- if (isToolkitRestricted(authz.toolkitBinding)) {
141
- return restrictedOperatorSurface();
142
- }
143
140
  if (opts.activityReadGate &&
144
141
  !(await opts.activityReadGate(authz.actor))) {
145
142
  return privateJson({ error: "forbidden" }, { status: 403 });