@zackbart/connecta 0.8.0 → 0.8.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 (143) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/README.md +31 -55
  3. package/dist/activity.d.ts +0 -8
  4. package/dist/activity.d.ts.map +1 -1
  5. package/dist/activity.js +0 -1
  6. package/dist/activity.js.map +1 -1
  7. package/dist/auth/bearer.d.ts +1 -7
  8. package/dist/auth/bearer.d.ts.map +1 -1
  9. package/dist/auth/bearer.js +2 -23
  10. package/dist/auth/bearer.js.map +1 -1
  11. package/dist/auth/clerk.d.ts +2 -11
  12. package/dist/auth/clerk.d.ts.map +1 -1
  13. package/dist/auth/clerk.js +31 -46
  14. package/dist/auth/clerk.js.map +1 -1
  15. package/dist/call-admission.d.ts.map +1 -1
  16. package/dist/call-admission.js +0 -1
  17. package/dist/call-admission.js.map +1 -1
  18. package/dist/catalog-service.d.ts +1 -2
  19. package/dist/catalog-service.d.ts.map +1 -1
  20. package/dist/catalog-service.js +12 -18
  21. package/dist/catalog-service.js.map +1 -1
  22. package/dist/catalog.d.ts +6 -0
  23. package/dist/catalog.d.ts.map +1 -1
  24. package/dist/catalog.js +51 -0
  25. package/dist/catalog.js.map +1 -1
  26. package/dist/connectors/remote-mcp.d.ts.map +1 -1
  27. package/dist/connectors/remote-mcp.js +9 -22
  28. package/dist/connectors/remote-mcp.js.map +1 -1
  29. package/dist/errors.d.ts +18 -0
  30. package/dist/errors.d.ts.map +1 -1
  31. package/dist/errors.js.map +1 -1
  32. package/dist/execute.d.ts +1 -8
  33. package/dist/execute.d.ts.map +1 -1
  34. package/dist/execute.js +3 -13
  35. package/dist/execute.js.map +1 -1
  36. package/dist/executor-result.js +1 -1
  37. package/dist/executor-result.js.map +1 -1
  38. package/dist/index.d.ts +3 -82
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +17 -90
  41. package/dist/index.js.map +1 -1
  42. package/dist/invocation.d.ts +5 -0
  43. package/dist/invocation.d.ts.map +1 -1
  44. package/dist/invocation.js +46 -10
  45. package/dist/invocation.js.map +1 -1
  46. package/dist/meta-tools.d.ts +3 -11
  47. package/dist/meta-tools.d.ts.map +1 -1
  48. package/dist/meta-tools.js +105 -157
  49. package/dist/meta-tools.js.map +1 -1
  50. package/dist/operator-ui/generated.d.ts +2 -2
  51. package/dist/operator-ui/generated.d.ts.map +1 -1
  52. package/dist/operator-ui/generated.js +2 -2
  53. package/dist/operator-ui/generated.js.map +1 -1
  54. package/dist/operator-ui/model.d.ts +1 -22
  55. package/dist/operator-ui/model.d.ts.map +1 -1
  56. package/dist/operator-ui/model.js.map +1 -1
  57. package/dist/registry.d.ts +11 -178
  58. package/dist/registry.d.ts.map +1 -1
  59. package/dist/registry.js +52 -330
  60. package/dist/registry.js.map +1 -1
  61. package/dist/retired-toolkits.d.ts +3 -0
  62. package/dist/retired-toolkits.d.ts.map +1 -0
  63. package/dist/retired-toolkits.js +9 -0
  64. package/dist/retired-toolkits.js.map +1 -0
  65. package/dist/routes/activity.d.ts.map +1 -1
  66. package/dist/routes/activity.js +2 -5
  67. package/dist/routes/activity.js.map +1 -1
  68. package/dist/routes/credentials.d.ts.map +1 -1
  69. package/dist/routes/credentials.js +1 -12
  70. package/dist/routes/credentials.js.map +1 -1
  71. package/dist/routes/mcp.d.ts.map +1 -1
  72. package/dist/routes/mcp.js +32 -145
  73. package/dist/routes/mcp.js.map +1 -1
  74. package/dist/routes/oauth.d.ts.map +1 -1
  75. package/dist/routes/oauth.js +2 -7
  76. package/dist/routes/oauth.js.map +1 -1
  77. package/dist/routes/shared.d.ts +7 -28
  78. package/dist/routes/shared.d.ts.map +1 -1
  79. package/dist/routes/shared.js +10 -69
  80. package/dist/routes/shared.js.map +1 -1
  81. package/dist/routes/ui.d.ts.map +1 -1
  82. package/dist/routes/ui.js +4 -10
  83. package/dist/routes/ui.js.map +1 -1
  84. package/dist/server.d.ts.map +1 -1
  85. package/dist/server.js +1 -31
  86. package/dist/server.js.map +1 -1
  87. package/dist/skills.d.ts +3 -6
  88. package/dist/skills.d.ts.map +1 -1
  89. package/dist/skills.js +9 -38
  90. package/dist/skills.js.map +1 -1
  91. package/dist/timeout.d.ts.map +1 -1
  92. package/dist/timeout.js +2 -4
  93. package/dist/timeout.js.map +1 -1
  94. package/dist/types.d.ts +2 -59
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/ui.d.ts +1 -2
  97. package/dist/ui.d.ts.map +1 -1
  98. package/dist/ui.js +5 -35
  99. package/dist/ui.js.map +1 -1
  100. package/dist/version.d.ts +1 -1
  101. package/dist/version.js +1 -1
  102. package/package.json +1 -1
  103. package/src/activity.ts +0 -9
  104. package/src/auth/bearer.ts +3 -32
  105. package/src/auth/clerk.ts +35 -48
  106. package/src/call-admission.ts +0 -1
  107. package/src/catalog-service.ts +23 -23
  108. package/src/catalog.ts +55 -0
  109. package/src/connectors/remote-mcp.ts +11 -23
  110. package/src/errors.ts +20 -0
  111. package/src/execute.ts +3 -18
  112. package/src/executor-result.ts +1 -1
  113. package/src/index.ts +24 -208
  114. package/src/invocation.ts +63 -10
  115. package/src/meta-tools.ts +122 -174
  116. package/src/operator-ui/browser.css +1 -54
  117. package/src/operator-ui/browser.ts +16 -150
  118. package/src/operator-ui/generated.ts +2 -2
  119. package/src/operator-ui/model.ts +1 -23
  120. package/src/registry.ts +59 -429
  121. package/src/retired-toolkits.ts +14 -0
  122. package/src/routes/activity.ts +1 -6
  123. package/src/routes/credentials.ts +0 -12
  124. package/src/routes/mcp.ts +40 -186
  125. package/src/routes/oauth.ts +1 -7
  126. package/src/routes/shared.ts +8 -98
  127. package/src/routes/ui.ts +2 -12
  128. package/src/server.ts +1 -31
  129. package/src/skills.ts +9 -38
  130. package/src/timeout.ts +2 -4
  131. package/src/types.ts +1 -60
  132. package/src/ui.ts +9 -46
  133. package/src/version.ts +1 -1
  134. package/dist/credential-health.d.ts +0 -205
  135. package/dist/credential-health.d.ts.map +0 -1
  136. package/dist/credential-health.js +0 -610
  137. package/dist/credential-health.js.map +0 -1
  138. package/dist/toolkits.d.ts +0 -124
  139. package/dist/toolkits.d.ts.map +0 -1
  140. package/dist/toolkits.js +0 -322
  141. package/dist/toolkits.js.map +0 -1
  142. package/src/credential-health.ts +0 -835
  143. package/src/toolkits.ts +0 -461
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { boundedDiscoveryText, CatalogService, DiscoveryPolicyError, groupedSearchResult, MAX_DESCRIBE_ADDRESSES, MAX_DISCOVERY_RESULT_BYTES, MAX_SEARCH_LIMIT, } from "./catalog-service.js";
2
+ import { boundedDiscoveryText, CatalogService, DEFAULT_SEARCH_LIMIT, DiscoveryPolicyError, groupedSearchResult, MAX_DESCRIBE_ADDRESSES, MAX_DISCOVERY_RESULT_BYTES, MAX_SEARCH_LIMIT, } from "./catalog-service.js";
3
3
  import { mapSettledWithConcurrency, resolveDiscoveryConcurrency, } from "./concurrency.js";
4
4
  import { closeConnectorScope, } from "./connector-scope.js";
5
5
  import { classifyCallError, messageLooksRetryable, } from "./errors.js";
@@ -7,14 +7,13 @@ import { InvocationService, MAX_RETRY_BACKOFF_MS, retryBackoffMs, } from "./invo
7
7
  import { isValidMaxResultBytes, MIN_MAX_RESULT_BYTES, resolveMaxResultBytes, } from "./registry.js";
8
8
  import { hasConnectorGuides, listSkills, resolveSkill, } from "./skills.js";
9
9
  import { DEFAULT_PROBE_TIMEOUT_MS, normalizeTimeoutMs, withAbortableTimeout, } from "./timeout.js";
10
- import { credentialVerdictApplies } from "./credential-health.js";
11
- export { MAX_DESCRIBE_ADDRESSES, MAX_DISCOVERY_RESULT_BYTES, MAX_RETRY_BACKOFF_MS, MAX_SEARCH_LIMIT, DiscoveryPolicyError, retryBackoffMs, };
10
+ export { MAX_DESCRIBE_ADDRESSES, MAX_DISCOVERY_RESULT_BYTES, MAX_RETRY_BACKOFF_MS, MAX_SEARCH_LIMIT, retryBackoffMs, };
12
11
  const RESULT_TTL_SECONDS = 900;
13
12
  const enc = new TextEncoder();
14
13
  const dec = new TextDecoder();
15
14
  export function jsonResult(obj) {
16
15
  return {
17
- content: [{ type: "text", text: JSON.stringify(obj, null, 2) }],
16
+ content: [{ type: "text", text: JSON.stringify(obj) }],
18
17
  ...(obj !== null && typeof obj === "object" && !Array.isArray(obj)
19
18
  ? { structuredContent: obj }
20
19
  : {}),
@@ -40,8 +39,9 @@ function discoveryErrorResult(error) {
40
39
  result.isError = true;
41
40
  return result;
42
41
  }
43
- function discoveryResult(value, hint) {
42
+ async function discoveryResult(operation, hint) {
44
43
  try {
44
+ const value = await operation();
45
45
  const text = boundedDiscoveryText(value, hint);
46
46
  return {
47
47
  content: [{ type: "text", text }],
@@ -174,7 +174,7 @@ function applyFieldsToContent(content, fields) {
174
174
  catch {
175
175
  return b;
176
176
  }
177
- return { ...b, text: JSON.stringify(applyFields(parsed, fields), null, 2) };
177
+ return { ...b, text: JSON.stringify(applyFields(parsed, fields)) };
178
178
  });
179
179
  }
180
180
  // --- result-size guard + get_result (feature 1) ---------------------------
@@ -194,7 +194,7 @@ function applyFieldsToContent(content, fields) {
194
194
  * at all (a BigInt) still throws, as before, and is reported as a failure.
195
195
  */
196
196
  function serializeResultText(value) {
197
- const serialized = JSON.stringify(value, null, 2);
197
+ const serialized = JSON.stringify(value);
198
198
  return serialized === undefined ? String(value) : serialized;
199
199
  }
200
200
  /**
@@ -275,7 +275,7 @@ async function guardValue(value, results, cap) {
275
275
  async function guardContent(content, results, cap) {
276
276
  let text;
277
277
  try {
278
- text = JSON.stringify(content, null, 2);
278
+ text = JSON.stringify(content);
279
279
  }
280
280
  catch {
281
281
  // A block carrying a BigInt or a cycle cannot be serialized, so it cannot
@@ -373,16 +373,21 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
373
373
  },
374
374
  });
375
375
  if (!outcome.ok) {
376
+ const failedResult = outcome.error.code === "auth_required" ||
377
+ call.resultMode === "value"
378
+ ? jsonResult({
379
+ ok: false,
380
+ error: outcome.error,
381
+ durationMs: outcome.durationMs,
382
+ attempts: outcome.attempts,
383
+ ...(call.diagnostics ? { timing: outcome.timing } : {}),
384
+ })
385
+ : errorResult(outcome.error.message);
386
+ if (outcome.error.code === "auth_required") {
387
+ failedResult.isError = true;
388
+ }
376
389
  return {
377
- toolResult: call.resultMode === "value"
378
- ? jsonResult({
379
- ok: false,
380
- error: outcome.error,
381
- durationMs: outcome.durationMs,
382
- attempts: outcome.attempts,
383
- ...(call.diagnostics ? { timing: outcome.timing } : {}),
384
- })
385
- : errorResult(outcome.error.message),
390
+ toolResult: failedResult,
386
391
  durationMs: outcome.durationMs,
387
392
  attempts: outcome.attempts,
388
393
  timing: outcome.timing,
@@ -438,9 +443,12 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
438
443
  const inspect = async (c) => {
439
444
  const statusStarted = Date.now();
440
445
  const observed = registry.healthFor(c.id);
441
- const verdict = await registry.credentialHealthFor(c.id);
446
+ const drift = await registry.credentialDriftFor(c.id);
442
447
  let status;
443
- if (probe) {
448
+ if (drift) {
449
+ status = { state: "auth_required", message: drift };
450
+ }
451
+ else if (probe) {
444
452
  try {
445
453
  status = await withProbeDeadline(`list_connectors probe of "${c.id}"`, (options) => registry.statusFor(c.id, baseUrl, scope, options));
446
454
  }
@@ -451,73 +459,20 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
451
459
  status = { state: "error", message: msg(err) };
452
460
  }
453
461
  }
454
- else if (verdict &&
455
- // Deployment-wide, deliberately, like `hasObservedSuccess` beside
456
- // it: a sibling toolkit's successful call proves the shared
457
- // credential works, and a verdict retired for one view but not
458
- // another would make the same connector read differently per scope
459
- // for a reason that has nothing to do with scope.
460
- credentialVerdictApplies(verdict, registry.observedSuccessAt(c.id))) {
461
- // The proactive layer (issue #24): a liveness check already found
462
- // the stored credential dead, so say so on the cheap path instead of
463
- // waiting for an agent's real call to discover it. Only while it is
464
- // the freshest evidence — a successful call since then retires it.
465
- status = {
466
- state: verdict.state,
467
- ...(verdict.message ? { message: verdict.message } : {}),
468
- ...(verdict.authorizationUrl
469
- ? { authorizationUrl: verdict.authorizationUrl }
470
- : {}),
471
- };
472
- }
473
462
  else {
474
- // "error" comes from THIS view's own observations — a sibling
475
- // toolkit's failure is not this session's experience — while
476
- // ok/unknown may lean on the deployment-wide success signal, since
477
- // "the connector answers at all" is a fact about the connector.
478
- // Unscoped, the two are the same log, so this is unchanged there.
479
463
  const derived = observed?.consecutiveFailures && observed.consecutiveFailures > 0
480
464
  ? "error"
481
465
  : registry.hasObservedSuccess(c.id) || c.kind === "api"
482
466
  ? "ok"
483
467
  : "unknown";
484
468
  status = {
485
- // A successful liveness check upgrades "unknown" — nothing has
486
- // been called yet, but the credential was verified, which is how
487
- // re-authorization shows up here as ok rather than as an absence
488
- // of evidence. It never DOWNgrades an observed failure: a real
489
- // call that failed is stronger evidence than a background check.
490
- state: derived === "unknown" && verdict?.state === "ok"
491
- ? "ok"
492
- : derived,
469
+ state: derived,
493
470
  ...(observed?.lastError ? { message: observed.lastError } : {}),
494
471
  };
495
472
  }
496
- // Stamped where the observation actually happened after the status
497
- // probe, not before it. A 30-second probe stamped at its start would
498
- // report a verdict older than it is, and would lose the race against a
499
- // real call that succeeded WHILE it ran (that success must retire the
500
- // verdict, and only an honest timestamp says so).
473
+ // Stamped after any live probe so the response reports when its
474
+ // observation completed, not when a potentially slow request began.
501
475
  const checkedAt = new Date().toISOString();
502
- // A live status probe IS a liveness observation of the stored
503
- // credential, so it updates the same verdict a background check
504
- // writes: the cached read afterwards agrees with what the operator
505
- // just saw, and they are not swept again moments later. Recorded from
506
- // the STATUS phase only, and only when the connector actually answered
507
- // — a catalog refresh below is not a credential check (the sweep never
508
- // fetches one), it is already counted in the health log, and letting
509
- // its failure land here would spend the freshness budget on it. The
510
- // registry ignores this for connectors storing no credential of ours.
511
- if (probe && (status.state === "ok" || status.state === "auth_required")) {
512
- await registry.recordCredentialHealth(c.id, {
513
- state: status.state,
514
- checkedAt,
515
- ...(status.message ? { message: status.message } : {}),
516
- ...("authorizationUrl" in status && status.authorizationUrl
517
- ? { authorizationUrl: status.authorizationUrl }
518
- : {}),
519
- });
520
- }
521
476
  let tools = registry.peekTools(c.id);
522
477
  // An auth_required status may have just started OAuth. A second
523
478
  // listTools probe would overwrite its state/verifier while returning
@@ -545,15 +500,6 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
545
500
  state: "auth_required",
546
501
  message: details.message,
547
502
  };
548
- await registry.recordCredentialHealth(c.id, {
549
- state: "auth_required",
550
- checkedAt,
551
- ...(status.message && { message: status.message }),
552
- ...("authorizationUrl" in status &&
553
- status.authorizationUrl
554
- ? { authorizationUrl: status.authorizationUrl }
555
- : {}),
556
- });
557
503
  }
558
504
  else {
559
505
  status = { state: "error", message: msg(err) };
@@ -563,9 +509,6 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
563
509
  }
564
510
  const latencyMs = Date.now() - statusStarted;
565
511
  const latestObserved = registry.healthFor(c.id);
566
- const credentialCheck = probe
567
- ? await registry.credentialHealthFor(c.id)
568
- : verdict;
569
512
  return {
570
513
  id: c.id,
571
514
  ...(c.title ? { title: c.title } : {}),
@@ -576,7 +519,6 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
576
519
  latencyMs,
577
520
  probe,
578
521
  ...(latestObserved ?? observed),
579
- ...(credentialCheck ? { credentialCheck } : {}),
580
522
  ...("authorizationUrl" in status &&
581
523
  status.authorizationUrl && {
582
524
  authorizationUrl: status.authorizationUrl,
@@ -596,26 +538,10 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
596
538
  return jsonResult({ connectors: out });
597
539
  },
598
540
  async searchTools(args) {
599
- try {
600
- return discoveryResult(groupedSearchResult(await catalog.search(args)), "Request a smaller limit, omit fullDescriptions, or use compact schemas.");
601
- }
602
- catch (err) {
603
- if (err instanceof DiscoveryPolicyError) {
604
- return discoveryErrorResult(err);
605
- }
606
- throw err;
607
- }
541
+ return discoveryResult(async () => groupedSearchResult(await catalog.search(args)), "Request a smaller limit, omit fullDescriptions, or use compact schemas.");
608
542
  },
609
543
  async describeTools(args) {
610
- try {
611
- return discoveryResult({ tools: await catalog.describe(args) }, 'Split the address list or use format: "compact".');
612
- }
613
- catch (err) {
614
- if (err instanceof DiscoveryPolicyError) {
615
- return discoveryErrorResult(err);
616
- }
617
- throw err;
618
- }
544
+ return discoveryResult(async () => ({ tools: await catalog.describe(args) }), 'Split the address list or use format: "compact".');
619
545
  },
620
546
  async callTool(args) {
621
547
  return (await runCall(args, "call_tool")).toolResult;
@@ -773,6 +699,21 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
773
699
  ...(details.retryAfterMs !== undefined
774
700
  ? { retryAfterMs: details.retryAfterMs }
775
701
  : {}),
702
+ ...(details.connector !== undefined
703
+ ? { connector: batchSummaryString(details.connector) }
704
+ : {}),
705
+ ...(details.operation !== undefined
706
+ ? { operation: batchSummaryString(details.operation) }
707
+ : {}),
708
+ ...(details.recovery !== undefined
709
+ ? { recovery: details.recovery }
710
+ : {}),
711
+ ...(details.nextAction !== undefined
712
+ ? { nextAction: details.nextAction }
713
+ : {}),
714
+ ...(details.retry !== undefined
715
+ ? { retry: batchSummaryString(details.retry) }
716
+ : {}),
776
717
  },
777
718
  };
778
719
  }),
@@ -786,28 +727,58 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
786
727
  return errorResult(`Unknown connector "${args.connector}"`);
787
728
  }
788
729
  if (!connector.startAuth) {
789
- return errorResult(`Connector "${args.connector}" does not use downstream OAuth — its auth is static (headers/none), so there is nothing to authorize.`);
730
+ if (!connector.credential) {
731
+ return jsonResult({
732
+ connector: connector.id,
733
+ recovery: "unavailable",
734
+ message: `Connector "${connector.id}" declares neither downstream OAuth ` +
735
+ "nor an operator-managed credential slot. Update the connector " +
736
+ "or deployment configuration before retrying.",
737
+ });
738
+ }
739
+ const ctx = registry.contextFor(connector.id, baseUrl, requestScope);
740
+ if (!ctx.credential) {
741
+ return jsonResult({
742
+ connector: connector.id,
743
+ recovery: "unavailable",
744
+ message: "Credential storage is not configured. Configure " +
745
+ "credentials.encryptionKey, redeploy, then call " +
746
+ "authorize_connector again.",
747
+ });
748
+ }
749
+ const fields = connector.credential.fields?.map((field) => ({
750
+ name: field.name,
751
+ guidance: field.description ?? field.label,
752
+ })) ?? [
753
+ {
754
+ name: "value",
755
+ guidance: connector.credential.description ??
756
+ connector.credential.label,
757
+ },
758
+ ];
759
+ return jsonResult({
760
+ connector: connector.id,
761
+ recovery: "operator_config",
762
+ credential: {
763
+ label: connector.credential.label,
764
+ fields,
765
+ },
766
+ operatorUrl: new URL("/credentials", baseUrl).toString(),
767
+ instructions: "Have the operator open operatorUrl, set and test the credential, " +
768
+ "then retry the original call. No redeploy is needed. Credential " +
769
+ "mutation requires a Clerk-authenticated operator.",
770
+ });
790
771
  }
791
772
  const ctx = registry.contextFor(connector.id, baseUrl, requestScope);
792
773
  try {
793
774
  const status = await connector.startAuth(ctx, args.force !== undefined ? { force: args.force } : {});
794
- // startAuth just spoke to the downstream about this exact credential, so
795
- // its answer replaces any older liveness verdict — including the stale
796
- // `auth_required` that sent the agent here, once it reports ok.
797
- await registry.recordCredentialHealth(connector.id, {
798
- state: status.state,
799
- checkedAt: new Date().toISOString(),
800
- ...(status.message ? { message: status.message } : {}),
801
- ...(status.authorizationUrl
802
- ? { authorizationUrl: status.authorizationUrl }
803
- : {}),
804
- });
805
775
  if (status.state === "auth_required" && !status.authorizationUrl) {
806
776
  // auth_required with nothing to open is a dead end for the operator.
807
777
  return errorResult(`Connector "${connector.id}": authorization required but no URL is available — retry authorize_connector.`);
808
778
  }
809
779
  return jsonResult({
810
780
  connector: connector.id,
781
+ recovery: "oauth",
811
782
  status: status.state,
812
783
  ...(status.authorizationUrl
813
784
  ? {
@@ -830,13 +801,13 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
830
801
  };
831
802
  }
832
803
  const LIST_DESC = "List connectors with status, cached tool count, and recent real-call health. Use probe=false for a fast inventory; use probe=true (default) only to diagnose live health or authorization.";
833
- const SEARCH_DESC = `Start here when a tool address is unknown. Exact/name matches rank above description matches; an empty query browses all. Pages contain at most ${MAX_SEARCH_LIMIT} tools. includeSchemas="compact" usually removes the describe_tools round trip.`;
804
+ const SEARCH_DESC = `Start here when a tool address is unknown. Exact/name matches rank above description matches; an empty query browses all. The default page has ${DEFAULT_SEARCH_LIMIT} tools; explicit limit can request up to ${MAX_SEARCH_LIMIT}. includeSchemas="compact" usually removes the describe_tools round trip.`;
834
805
  const DESCRIBE_DESC = `Inspect up to ${MAX_DESCRIBE_ADDRESSES} known tool addresses when search_tools did not include a sufficient schema. Returns descriptions, input/output schemas, and behavior annotations; format "compact" is the default.`;
835
806
  const CALL_DESC = 'Use for one tool explicitly annotated readOnlyHint: true. For 2–10 independent read-only calls use batch_call; for dependent steps or data reduction use execute_code when available. Unannotated, write-capable, and destructive tools are refused and require call_destructive_tool. fields selects JSON dot-paths, resultMode "value" unwraps results, timeoutMs sets a deadline, safe maxRetries are annotation-gated, diagnostics adds timing, and large results page through get_result.';
836
807
  const CALL_DESTRUCTIVE_DESC = "Invoke any tool that is not explicitly annotated readOnlyHint: true, including unannotated, write-capable, or destructive tools. The MCP destructiveHint on this meta-tool lets the host request human approval before execution. Use only after reviewing the downstream tool schema and consequences.";
837
808
  const GET_RESULT_DESC = "Page a truncated result stashed by call_tool/batch_call. Input { id, offset?, maxBytes? } → { text, offset, nextOffset?, totalBytes } sliced by byte offset. maxBytes is a whole number of bytes >= 1 (omit for the deployment default) and offset a whole number of bytes >= 0; an offset inside a multi-byte character is moved back to that character's first byte and the offset served is returned. Unknown/expired id is an error.";
838
809
  const BATCH_DESC = "Use for 2–10 independent tools explicitly annotated readOnlyHint: true. Calls run in parallel with shared request-scoped clients; use execute_code when available instead for dependencies or in-sandbox reduction. Unannotated, write-capable, and destructive tools are refused. Batch timeout, safe retry, result mode, and diagnostics defaults may be overridden per call. An oversized final envelope returns ordered outcome summaries plus a get_result page handle.";
839
- const AUTHORIZE_DESC = "Use after a connector reports auth_required. Starts downstream OAuth and returns an authorizationUrl for the operator to open. force=true wipes stored credentials first and restarts consent.";
810
+ const AUTHORIZE_DESC = "Use after auth_required. Returns an OAuth or operator-credential handoff, or reports required deployment configuration. force=true restarts OAuth only; this tool never accepts credentials.";
840
811
  const SKILLS_DESC = 'List or fetch concise guidance for choosing among Connecta meta-tools. Call skills({ name: "usage" }) once when the routing workflow is unfamiliar; do not refetch it in the same task.';
841
812
  /**
842
813
  * Sentences appended to a meta-tool description only when this connection
@@ -844,10 +815,7 @@ const SKILLS_DESC = 'List or fetch concise guidance for choosing among Connecta
844
815
  * so a deployment with no guides gets every base description unchanged rather
845
816
  * than paying for text about a feature it does not use.
846
817
  *
847
- * Registration is per connection and reads the connection's own registry view,
848
- * so under a toolkit these sentences reflect the SCOPED connector set: a scoped
849
- * session whose connectors carry no guides sees the base descriptions, and
850
- * never learns from a tool description that guides exist out of scope.
818
+ * Registration is per connection and reads the configured connector set.
851
819
  */
852
820
  const GUIDE_NOTES = {
853
821
  skills: ' skills({}) also lists this deployment\'s per-connector usage guides as "connector:<connectorId>"; fetch the guide for a connector before working with it for the first time.',
@@ -878,6 +846,15 @@ const READ_ONLY_LOCAL = {
878
846
  idempotentHint: true,
879
847
  openWorldHint: false,
880
848
  };
849
+ const CALL_INPUT_SCHEMA = {
850
+ address: z.string(),
851
+ args: z.record(z.string(), z.unknown()).optional(),
852
+ fields: z.array(z.string()).optional(),
853
+ resultMode: z.enum(["mcp", "value"]).optional(),
854
+ timeoutMs: z.number().int().positive().optional(),
855
+ maxRetries: z.number().int().min(0).max(2).optional(),
856
+ diagnostics: z.boolean().optional(),
857
+ };
881
858
  /** Register the nine meta-tools onto an McpServer instance. */
882
859
  export function registerMetaTools(server, registry, ctx) {
883
860
  const mt = createMetaTools(registry, ctx.baseUrl, {
@@ -899,12 +876,7 @@ export function registerMetaTools(server, registry, ctx) {
899
876
  server.registerTool("skills", {
900
877
  description: describedFor(registry, SKILLS_DESC, "skills"),
901
878
  inputSchema: { name: z.string().optional() },
902
- annotations: {
903
- readOnlyHint: true,
904
- destructiveHint: false,
905
- idempotentHint: true,
906
- openWorldHint: false,
907
- },
879
+ annotations: READ_ONLY_LOCAL,
908
880
  }, async (args) => mt.skills(args));
909
881
  server.registerTool("list_connectors", {
910
882
  description: LIST_DESC,
@@ -934,30 +906,14 @@ export function registerMetaTools(server, registry, ctx) {
934
906
  }, async (args) => mt.describeTools(args));
935
907
  server.registerTool("call_tool", {
936
908
  description: CALL_DESC,
937
- inputSchema: {
938
- address: z.string(),
939
- args: z.record(z.string(), z.unknown()).optional(),
940
- fields: z.array(z.string()).optional(),
941
- resultMode: z.enum(["mcp", "value"]).optional(),
942
- timeoutMs: z.number().int().positive().optional(),
943
- maxRetries: z.number().int().min(0).max(2).optional(),
944
- diagnostics: z.boolean().optional(),
945
- },
909
+ inputSchema: CALL_INPUT_SCHEMA,
946
910
  // call_tool admits only tools that are themselves explicitly read-only;
947
911
  // anything else is refused and routed to call_destructive_tool.
948
912
  annotations: READ_ONLY_REMOTE,
949
913
  }, async (args) => mt.callTool(args));
950
914
  server.registerTool("call_destructive_tool", {
951
915
  description: CALL_DESTRUCTIVE_DESC,
952
- inputSchema: {
953
- address: z.string(),
954
- args: z.record(z.string(), z.unknown()).optional(),
955
- fields: z.array(z.string()).optional(),
956
- resultMode: z.enum(["mcp", "value"]).optional(),
957
- timeoutMs: z.number().int().positive().optional(),
958
- maxRetries: z.number().int().min(0).max(2).optional(),
959
- diagnostics: z.boolean().optional(),
960
- },
916
+ inputSchema: CALL_INPUT_SCHEMA,
961
917
  annotations: {
962
918
  destructiveHint: true,
963
919
  readOnlyHint: false,
@@ -995,15 +951,7 @@ export function registerMetaTools(server, registry, ctx) {
995
951
  description: BATCH_DESC,
996
952
  inputSchema: {
997
953
  calls: z
998
- .array(z.object({
999
- address: z.string(),
1000
- args: z.record(z.string(), z.unknown()).optional(),
1001
- fields: z.array(z.string()).optional(),
1002
- resultMode: z.enum(["mcp", "value"]).optional(),
1003
- timeoutMs: z.number().int().positive().optional(),
1004
- maxRetries: z.number().int().min(0).max(2).optional(),
1005
- diagnostics: z.boolean().optional(),
1006
- }))
954
+ .array(z.object(CALL_INPUT_SCHEMA))
1007
955
  .min(1)
1008
956
  .max(10),
1009
957
  resultMode: z.enum(["mcp", "value"]).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tools.js","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-tools.js","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}