agentfootprint 11.3.0 → 11.5.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 (227) hide show
  1. package/CAPABILITIES.md +4 -1
  2. package/dist/adapters/mcp/agentcoreRuntime/invoke.js +7 -6
  3. package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  4. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +36 -2
  5. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  6. package/dist/adapters/mcp/agentcoreRuntime/transport.js +3 -1
  7. package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  8. package/dist/answer-account/account.js +15 -3
  9. package/dist/answer-account/account.js.map +1 -1
  10. package/dist/answer-account/facts/howSure.js +10 -22
  11. package/dist/answer-account/facts/howSure.js.map +1 -1
  12. package/dist/core/Agent.js +26 -3
  13. package/dist/core/Agent.js.map +1 -1
  14. package/dist/core/agent/AgentBuilder.js +69 -12
  15. package/dist/core/agent/AgentBuilder.js.map +1 -1
  16. package/dist/core/agent/assessment/assess.js +15 -4
  17. package/dist/core/agent/assessment/assess.js.map +1 -1
  18. package/dist/core/agent/assessment/compose.js +153 -15
  19. package/dist/core/agent/assessment/compose.js.map +1 -1
  20. package/dist/core/agent/assessment/reasons.js +35 -1
  21. package/dist/core/agent/assessment/reasons.js.map +1 -1
  22. package/dist/core/agent/assessment/sources.js +205 -0
  23. package/dist/core/agent/assessment/sources.js.map +1 -0
  24. package/dist/core/agent/assessment/stage.js +15 -4
  25. package/dist/core/agent/assessment/stage.js.map +1 -1
  26. package/dist/core/agent/buildAgentChart.js.map +1 -1
  27. package/dist/core/agent/buildToolRegistry.js +3 -0
  28. package/dist/core/agent/buildToolRegistry.js.map +1 -1
  29. package/dist/core/agent/evidence/numberPrecision.js.map +1 -1
  30. package/dist/core/agent/honesty/mounts.js.map +1 -1
  31. package/dist/core/agent/stages/prepareFinal.js +33 -17
  32. package/dist/core/agent/stages/prepareFinal.js.map +1 -1
  33. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +7 -6
  34. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +7 -6
  35. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  36. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +32 -1
  37. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +35 -1
  38. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  39. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +4 -2
  40. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  41. package/dist/esm/answer-account/account.js +16 -4
  42. package/dist/esm/answer-account/account.js.map +1 -1
  43. package/dist/esm/answer-account/facts/howSure.js +10 -22
  44. package/dist/esm/answer-account/facts/howSure.js.map +1 -1
  45. package/dist/esm/core/Agent.d.ts +2 -1
  46. package/dist/esm/core/Agent.js +26 -3
  47. package/dist/esm/core/Agent.js.map +1 -1
  48. package/dist/esm/core/agent/AgentBuilder.d.ts +22 -1
  49. package/dist/esm/core/agent/AgentBuilder.js +69 -12
  50. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  51. package/dist/esm/core/agent/assessment/assess.js +15 -4
  52. package/dist/esm/core/agent/assessment/assess.js.map +1 -1
  53. package/dist/esm/core/agent/assessment/compose.d.ts +82 -5
  54. package/dist/esm/core/agent/assessment/compose.js +148 -14
  55. package/dist/esm/core/agent/assessment/compose.js.map +1 -1
  56. package/dist/esm/core/agent/assessment/reasons.d.ts +17 -1
  57. package/dist/esm/core/agent/assessment/reasons.js +35 -1
  58. package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
  59. package/dist/esm/core/agent/assessment/sources.d.ts +66 -0
  60. package/dist/esm/core/agent/assessment/sources.js +201 -0
  61. package/dist/esm/core/agent/assessment/sources.js.map +1 -0
  62. package/dist/esm/core/agent/assessment/stage.d.ts +17 -4
  63. package/dist/esm/core/agent/assessment/stage.js +16 -5
  64. package/dist/esm/core/agent/assessment/stage.js.map +1 -1
  65. package/dist/esm/core/agent/assessment/types.d.ts +37 -0
  66. package/dist/esm/core/agent/buildAgentChart.d.ts +8 -0
  67. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  68. package/dist/esm/core/agent/buildToolRegistry.js +4 -1
  69. package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
  70. package/dist/esm/core/agent/evidence/numberPrecision.d.ts +3 -2
  71. package/dist/esm/core/agent/evidence/numberPrecision.js.map +1 -1
  72. package/dist/esm/core/agent/honesty/mounts.d.ts +11 -2
  73. package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
  74. package/dist/esm/core/agent/stages/prepareFinal.d.ts +19 -3
  75. package/dist/esm/core/agent/stages/prepareFinal.js +33 -17
  76. package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
  77. package/dist/esm/core/agent/types.d.ts +16 -2
  78. package/dist/esm/events/payloads.d.ts +137 -27
  79. package/dist/esm/lib/displayName.d.ts +81 -0
  80. package/dist/esm/lib/displayName.js +119 -0
  81. package/dist/esm/lib/displayName.js.map +1 -0
  82. package/dist/esm/mcp/callLifetime.d.ts +57 -14
  83. package/dist/esm/mcp/callLifetime.js +67 -19
  84. package/dist/esm/mcp/callLifetime.js.map +1 -1
  85. package/dist/esm/mcp/callMarker.d.ts +43 -0
  86. package/dist/esm/mcp/callMarker.js +69 -0
  87. package/dist/esm/mcp/callMarker.js.map +1 -0
  88. package/dist/esm/mcp/connectionRefusals.js +7 -0
  89. package/dist/esm/mcp/connectionRefusals.js.map +1 -1
  90. package/dist/esm/mcp/index.d.ts +2 -0
  91. package/dist/esm/mcp/index.js +3 -0
  92. package/dist/esm/mcp/index.js.map +1 -1
  93. package/dist/esm/mcp/mcpClient.js +93 -26
  94. package/dist/esm/mcp/mcpClient.js.map +1 -1
  95. package/dist/esm/mcp/replay.d.ts +283 -0
  96. package/dist/esm/mcp/replay.js +401 -0
  97. package/dist/esm/mcp/replay.js.map +1 -0
  98. package/dist/esm/mcp/replayUnavailable.d.ts +55 -0
  99. package/dist/esm/mcp/replayUnavailable.js +74 -0
  100. package/dist/esm/mcp/replayUnavailable.js.map +1 -0
  101. package/dist/esm/mcp/requestLedger.d.ts +115 -32
  102. package/dist/esm/mcp/requestLedger.js +193 -52
  103. package/dist/esm/mcp/requestLedger.js.map +1 -1
  104. package/dist/esm/mcp/seriesEvidence.d.ts +73 -15
  105. package/dist/esm/mcp/seriesEvidence.js +114 -21
  106. package/dist/esm/mcp/seriesEvidence.js.map +1 -1
  107. package/dist/esm/mcp/throttleRetry.d.ts +86 -42
  108. package/dist/esm/mcp/throttleRetry.js +158 -50
  109. package/dist/esm/mcp/throttleRetry.js.map +1 -1
  110. package/dist/esm/mcp/toolResult.d.ts +6 -0
  111. package/dist/esm/mcp/toolResult.js +15 -0
  112. package/dist/esm/mcp/toolResult.js.map +1 -1
  113. package/dist/esm/mcp/types.d.ts +70 -8
  114. package/dist/esm/redaction/knownStrings.js +14 -0
  115. package/dist/esm/redaction/knownStrings.js.map +1 -1
  116. package/dist/esm/semantics/coverage/answer.d.ts +9 -1
  117. package/dist/esm/semantics/coverage/answer.js +50 -10
  118. package/dist/esm/semantics/coverage/answer.js.map +1 -1
  119. package/dist/esm/tool-providers/index.d.ts +2 -2
  120. package/dist/esm/tool-providers/index.js +4 -0
  121. package/dist/esm/tool-providers/index.js.map +1 -1
  122. package/dist/esm/tools/requestEvidence.js +60 -0
  123. package/dist/esm/tools/requestEvidence.js.map +1 -1
  124. package/dist/esm/tools/tools.d.ts +30 -0
  125. package/dist/esm/tools/tools.js +16 -0
  126. package/dist/esm/tools/tools.js.map +1 -1
  127. package/dist/lib/displayName.js +125 -0
  128. package/dist/lib/displayName.js.map +1 -0
  129. package/dist/mcp/callLifetime.js +66 -18
  130. package/dist/mcp/callLifetime.js.map +1 -1
  131. package/dist/mcp/callMarker.js +74 -0
  132. package/dist/mcp/callMarker.js.map +1 -0
  133. package/dist/mcp/connectionRefusals.js +7 -0
  134. package/dist/mcp/connectionRefusals.js.map +1 -1
  135. package/dist/mcp/index.js +5 -1
  136. package/dist/mcp/index.js.map +1 -1
  137. package/dist/mcp/mcpClient.js +91 -24
  138. package/dist/mcp/mcpClient.js.map +1 -1
  139. package/dist/mcp/replay.js +411 -0
  140. package/dist/mcp/replay.js.map +1 -0
  141. package/dist/mcp/replayUnavailable.js +79 -0
  142. package/dist/mcp/replayUnavailable.js.map +1 -0
  143. package/dist/mcp/requestLedger.js +193 -52
  144. package/dist/mcp/requestLedger.js.map +1 -1
  145. package/dist/mcp/seriesEvidence.js +116 -22
  146. package/dist/mcp/seriesEvidence.js.map +1 -1
  147. package/dist/mcp/throttleRetry.js +160 -51
  148. package/dist/mcp/throttleRetry.js.map +1 -1
  149. package/dist/mcp/toolResult.js +17 -1
  150. package/dist/mcp/toolResult.js.map +1 -1
  151. package/dist/redaction/knownStrings.js +14 -0
  152. package/dist/redaction/knownStrings.js.map +1 -1
  153. package/dist/semantics/coverage/answer.js +49 -9
  154. package/dist/semantics/coverage/answer.js.map +1 -1
  155. package/dist/tool-providers/index.js +5 -1
  156. package/dist/tool-providers/index.js.map +1 -1
  157. package/dist/tools/requestEvidence.js +60 -0
  158. package/dist/tools/requestEvidence.js.map +1 -1
  159. package/dist/tools/tools.js +18 -1
  160. package/dist/tools/tools.js.map +1 -1
  161. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +7 -6
  162. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
  163. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +32 -1
  164. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -1
  165. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  166. package/dist/types/answer-account/account.d.ts.map +1 -1
  167. package/dist/types/answer-account/facts/howSure.d.ts.map +1 -1
  168. package/dist/types/core/Agent.d.ts +2 -1
  169. package/dist/types/core/Agent.d.ts.map +1 -1
  170. package/dist/types/core/agent/AgentBuilder.d.ts +22 -1
  171. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  172. package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
  173. package/dist/types/core/agent/assessment/compose.d.ts +82 -5
  174. package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
  175. package/dist/types/core/agent/assessment/reasons.d.ts +17 -1
  176. package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
  177. package/dist/types/core/agent/assessment/sources.d.ts +67 -0
  178. package/dist/types/core/agent/assessment/sources.d.ts.map +1 -0
  179. package/dist/types/core/agent/assessment/stage.d.ts +17 -4
  180. package/dist/types/core/agent/assessment/stage.d.ts.map +1 -1
  181. package/dist/types/core/agent/assessment/types.d.ts +37 -0
  182. package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
  183. package/dist/types/core/agent/buildAgentChart.d.ts +8 -0
  184. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  185. package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
  186. package/dist/types/core/agent/evidence/numberPrecision.d.ts +3 -2
  187. package/dist/types/core/agent/evidence/numberPrecision.d.ts.map +1 -1
  188. package/dist/types/core/agent/honesty/mounts.d.ts +11 -2
  189. package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
  190. package/dist/types/core/agent/stages/prepareFinal.d.ts +19 -3
  191. package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
  192. package/dist/types/core/agent/types.d.ts +16 -2
  193. package/dist/types/core/agent/types.d.ts.map +1 -1
  194. package/dist/types/events/payloads.d.ts +137 -27
  195. package/dist/types/events/payloads.d.ts.map +1 -1
  196. package/dist/types/lib/displayName.d.ts +82 -0
  197. package/dist/types/lib/displayName.d.ts.map +1 -0
  198. package/dist/types/mcp/callLifetime.d.ts +57 -14
  199. package/dist/types/mcp/callLifetime.d.ts.map +1 -1
  200. package/dist/types/mcp/callMarker.d.ts +44 -0
  201. package/dist/types/mcp/callMarker.d.ts.map +1 -0
  202. package/dist/types/mcp/index.d.ts +2 -0
  203. package/dist/types/mcp/index.d.ts.map +1 -1
  204. package/dist/types/mcp/mcpClient.d.ts.map +1 -1
  205. package/dist/types/mcp/replay.d.ts +284 -0
  206. package/dist/types/mcp/replay.d.ts.map +1 -0
  207. package/dist/types/mcp/replayUnavailable.d.ts +56 -0
  208. package/dist/types/mcp/replayUnavailable.d.ts.map +1 -0
  209. package/dist/types/mcp/requestLedger.d.ts +115 -32
  210. package/dist/types/mcp/requestLedger.d.ts.map +1 -1
  211. package/dist/types/mcp/seriesEvidence.d.ts +73 -15
  212. package/dist/types/mcp/seriesEvidence.d.ts.map +1 -1
  213. package/dist/types/mcp/throttleRetry.d.ts +86 -42
  214. package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
  215. package/dist/types/mcp/toolResult.d.ts +6 -0
  216. package/dist/types/mcp/toolResult.d.ts.map +1 -1
  217. package/dist/types/mcp/types.d.ts +70 -8
  218. package/dist/types/mcp/types.d.ts.map +1 -1
  219. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  220. package/dist/types/semantics/coverage/answer.d.ts +9 -1
  221. package/dist/types/semantics/coverage/answer.d.ts.map +1 -1
  222. package/dist/types/tool-providers/index.d.ts +2 -2
  223. package/dist/types/tool-providers/index.d.ts.map +1 -1
  224. package/dist/types/tools/requestEvidence.d.ts.map +1 -1
  225. package/dist/types/tools/tools.d.ts +30 -0
  226. package/dist/types/tools/tools.d.ts.map +1 -1
  227. package/package.json +1 -1
@@ -117,8 +117,27 @@ const REASONS = {
117
117
  'no-time-left': true,
118
118
  'not-replayable': true,
119
119
  'not-retryable': true,
120
+ 'not-permitted': true,
121
+ 'changes-without-key': true,
120
122
  cancelled: true,
121
123
  };
124
+ const EFFECTS = {
125
+ none: true,
126
+ unknown: true,
127
+ applied: true,
128
+ };
129
+ const PERMITTED_BY = {
130
+ declaration: true,
131
+ adapter: true,
132
+ compatibility: true,
133
+ };
134
+ const REPLAY_KINDS = {
135
+ throttle: true,
136
+ network: true,
137
+ };
138
+ const ASSUMPTIONS = {
139
+ 'refused-before-execution': true,
140
+ };
122
141
  const KINDS = {
123
142
  throttle: true,
124
143
  'session-busy': true,
@@ -148,6 +167,9 @@ const ATTEMPT_FIELDS = new Set([
148
167
  'retryAfterMs',
149
168
  'error',
150
169
  'remote',
170
+ 'effect',
171
+ 'permission',
172
+ 'durationMs',
151
173
  ]);
152
174
  const END_FIELDS = new Set([
153
175
  'outcome',
@@ -158,7 +180,11 @@ const END_FIELDS = new Set([
158
180
  'during',
159
181
  'error',
160
182
  'remote',
183
+ 'attempts',
184
+ 'effect',
185
+ 'mayHaveRun',
161
186
  ]);
187
+ const PERMISSION_FIELDS = new Set(['by', 'on', 'assumes', 'deduplicated']);
162
188
  const EVIDENCE_FIELDS = new Set(['endpoint', 'origin', 'attempts', 'omitted', 'end']);
163
189
  /** Thrown inside the walk when a filing leaves the allow-list; caught at its root. */
164
190
  class Refused extends Error {
@@ -204,6 +230,9 @@ function servedAttempt(raw) {
204
230
  ...(row.retryAfterMs !== undefined && { retryAfterMs: duration(row.retryAfterMs) }),
205
231
  ...(row.error !== undefined && { error: servedError(row.error) }),
206
232
  ...(row.remote !== undefined && { remote: word(REMOTE, row.remote) }),
233
+ ...(row.effect !== undefined && { effect: word(EFFECTS, row.effect) }),
234
+ ...(row.permission !== undefined && { permission: servedPermission(row.permission) }),
235
+ ...(row.durationMs !== undefined && { durationMs: duration(row.durationMs) }),
207
236
  };
208
237
  }
209
238
  function servedEnd(raw) {
@@ -217,8 +246,39 @@ function servedEnd(raw) {
217
246
  ...(end.during !== undefined && { during: word(DURING, end.during) }),
218
247
  ...(end.error !== undefined && { error: servedError(end.error) }),
219
248
  ...(end.remote !== undefined && { remote: word(REMOTE, end.remote) }),
249
+ ...(end.attempts !== undefined && { attempts: count(end.attempts) }),
250
+ ...(end.effect !== undefined && { effect: word(EFFECTS, end.effect) }),
251
+ ...(end.mayHaveRun !== undefined && { mayHaveRun: exactlyTrue(end.mayHaveRun) }),
252
+ };
253
+ }
254
+ /**
255
+ * What permitted a repeat: who, and the one detail that belongs to who — the
256
+ * declared kind for `declaration`, the assumption for `adapter` and
257
+ * `compatibility` (a policy states what it assumes). A detail beside the wrong
258
+ * `by`, or a policy without its assumption, is refused, never dropped.
259
+ */
260
+ function servedPermission(raw) {
261
+ const permission = record(raw, PERMISSION_FIELDS);
262
+ const by = word(PERMITTED_BY, permission.by);
263
+ if ((by === 'declaration') !== (permission.on !== undefined))
264
+ throw new Refused();
265
+ if ((by !== 'declaration') !== (permission.assumes !== undefined))
266
+ throw new Refused();
267
+ return {
268
+ by,
269
+ ...(permission.on !== undefined && { on: word(REPLAY_KINDS, permission.on) }),
270
+ ...(permission.assumes !== undefined && { assumes: word(ASSUMPTIONS, permission.assumes) }),
271
+ ...(permission.deduplicated !== undefined && {
272
+ deduplicated: exactlyTrue(permission.deduplicated),
273
+ }),
220
274
  };
221
275
  }
276
+ /** The literal `true` — a flag that is either set or absent. */
277
+ function exactlyTrue(value) {
278
+ if (value === true)
279
+ return true;
280
+ throw new Refused();
281
+ }
222
282
  function servedError(raw) {
223
283
  const error = record(raw, new Set(['message', 'code']));
224
284
  return { message: word(SENTENCES, error.message), code: word(CATEGORIES, error.code) };
@@ -1 +1 @@
1
- {"version":3,"file":"requestEvidence.js","sourceRoot":"","sources":["../../../src/tools/requestEvidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestEvidence.js","sourceRoot":"","sources":["../../../src/tools/requestEvidence.ts"],"names":[],"mappings":"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"}
@@ -416,8 +416,35 @@ export interface Tool<TArgs = Record<string, unknown>, TResult = unknown> {
416
416
  * byte-identical.
417
417
  */
418
418
  readonly effects?: 'read';
419
+ /**
420
+ * THE APP'S OWN WORDS for what a call of this tool does — "loading the
421
+ * attached data" — read by a PERSON. The registered name (`schema.name`) is
422
+ * the model's vocabulary, and an app may forbid showing it, so the standing
423
+ * line (`.answerLayer({ standingLine: true })`) names a reason's calls ONLY
424
+ * by this — "Not sure — loading the attached data reported no matching
425
+ * results" — and uses it in its assumed clause; the limits block marks the
426
+ * items this call declared with it and names its `Period:` / "In progress"
427
+ * lines by it. A call whose tool declares none is counted ("and 1 other
428
+ * call"), never named there. Not every surface uses it yet: the time
429
+ * layer's limits lines and the answer account's rows still print the
430
+ * registered name (a known follow-up).
431
+ *
432
+ * One plain line of at most 60 characters (`lib/displayName.ts` — no control,
433
+ * line separator or invisible format character), stored trimmed; refused at
434
+ * `defineTool` and again at registration. Write it to read as the subject of
435
+ * a sentence ("loading the attached data", "the order lookup"). It names the
436
+ * call and changes nothing else: not the standing, not what the model sees.
437
+ * Omitted → byte-identical.
438
+ */
439
+ readonly displayName?: string;
419
440
  execute(args: TArgs, ctx: ToolExecutionContext): Promise<TResult> | TResult;
420
441
  }
442
+ /**
443
+ * Refuse a `displayName` a person should not read, at definition time — the
444
+ * rule (`lib/displayName.ts` · `displayNameProblem`) asked for a tool built by
445
+ * `defineTool` and, at registration, for one assembled by hand.
446
+ */
447
+ export declare function assertDisplayName(toolName: string, displayName: unknown): void;
421
448
  /**
422
449
  * Whether the APP declared this tool read-only: `effects: 'read'` written in
423
450
  * `defineTool`, on a local tool (no `source`). Tool metadata, an MCP
@@ -889,6 +916,9 @@ export interface DefineToolOptions<TArgs, TResult> {
889
916
  /** `'read'` — this tool changes nothing (see {@link Tool.effects}). Omitted →
890
917
  * byte-identical. */
891
918
  readonly effects?: 'read';
919
+ /** The app's own words for what a call of this tool does, read by a person
920
+ * (see {@link Tool.displayName}). Omitted → byte-identical. */
921
+ readonly displayName?: string;
892
922
  execute(args: TArgs, ctx: ToolExecutionContext): Promise<TResult> | TResult;
893
923
  }
894
924
  /**
@@ -11,11 +11,24 @@ import { RESULT_CLASSES } from '../semantics/types.js';
11
11
  import { assertResultColumns, COLUMN_TYPES, } from '../integrity/column-types/types.js';
12
12
  import { assertAskComponent } from './askComponent.js';
13
13
  import { warnIfInvalidToolName } from '../lib/toolName.js';
14
+ import { displayNameProblem } from '../lib/displayName.js';
14
15
  import { assertAskOrAssume } from './declare.js';
15
16
  import { assertToolSearch, freezeSearch, periodArgumentsOf, } from '../semantics/coverage/search/declaration.js';
16
17
  import { searchReviewItems } from '../semantics/coverage/search/review.js';
17
18
  import { rememberSearch } from './searchOf.js';
18
19
  import { isDevMode } from 'footprintjs';
20
+ /**
21
+ * Refuse a `displayName` a person should not read, at definition time — the
22
+ * rule (`lib/displayName.ts` · `displayNameProblem`) asked for a tool built by
23
+ * `defineTool` and, at registration, for one assembled by hand.
24
+ */
25
+ export function assertDisplayName(toolName, displayName) {
26
+ if (displayName === undefined)
27
+ return;
28
+ const problem = displayNameProblem(`defineTool('${toolName}'): \`displayName\``, displayName);
29
+ if (problem !== undefined)
30
+ throw new Error(problem);
31
+ }
19
32
  /** The tools whose `effects: 'read'` was written in `defineTool` — the app's own word. */
20
33
  const DECLARED_READ_ONLY = new WeakSet();
21
34
  /**
@@ -339,6 +352,8 @@ export function defineTool(options) {
339
352
  });
340
353
  warnSearchReview(options.name, options.search);
341
354
  assertToolEffects(options.name, options.effects);
355
+ // The app's words reach a person verbatim — refused HERE, naming the tool.
356
+ assertDisplayName(options.name, options.displayName);
342
357
  const tool = {
343
358
  schema: {
344
359
  name: options.name,
@@ -368,6 +383,7 @@ export function defineTool(options) {
368
383
  // Stored frozen, its value words a null-prototype map (`freezeSearch`).
369
384
  ...(options.search !== undefined && { search: freezeSearch(options.search) }),
370
385
  ...(options.effects !== undefined && { effects: options.effects }),
386
+ ...(options.displayName !== undefined && { displayName: options.displayName.trim() }),
371
387
  execute: options.execute,
372
388
  };
373
389
  // The app's own word — the one `effects: 'read'` a later check may honour.
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * displayName — the ONE rule for a tool's `displayName` (the app's own words
4
+ * for what a call of the tool does, read by a person), and the ONE way the
5
+ * library names a set of calls in those words: the declared ones named, the
6
+ * rest counted.
7
+ *
8
+ * Pattern: two pure functions and one small reader, no state.
9
+ * Role: Leaf. Asked for the RULE by `tools/tools.ts` · `defineTool` and by
10
+ * the registration funnel (`core/agent/buildToolRegistry.ts`), and for
11
+ * the NAMING by the two texts the library appends after an answer —
12
+ * the standing line (`core/agent/assessment/compose.ts`) and the
13
+ * limits block (`semantics/coverage/answer.ts`). Those two cannot
14
+ * import each other, so the naming lives here and they cannot name
15
+ * the same calls in two different ways.
16
+ * Emits: N/A.
17
+ *
18
+ * ## Why only the app's words
19
+ *
20
+ * A tool's registered name is the MODEL's vocabulary (`load_attachment`), and
21
+ * an app may forbid showing it to the people it serves. This module never
22
+ * prints it: a call is named only by the words its tool declared, and a call
23
+ * whose tool declared none is counted ("and 1 other call"), never named. A
24
+ * caller that gets `undefined` back says what it always said. Not every
25
+ * surface asks this module yet — the time layer's limits lines and the
26
+ * answer account's rows still print the registered name (a known follow-up).
27
+ *
28
+ * ## Why the plain-line rule
29
+ *
30
+ * The words reach a person verbatim, after an answer, so they are held to the
31
+ * rule every declared label a report prints is held to (`lib/plainLine.ts` ·
32
+ * `plainLineProblem`: no control, line or paragraph separator, or invisible
33
+ * format character — a bidi override would reverse what the person reads),
34
+ * judged BEFORE the length, and capped at the 60 characters a skill's `title`
35
+ * and an account label are capped at.
36
+ */
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.namedCalls = exports.readDisplayName = exports.displayNameProblem = exports.MAX_NAMED_CALLS = exports.MAX_DISPLAY_NAME_CHARS = void 0;
39
+ const plainLine_js_1 = require("./plainLine.js");
40
+ /** The longest display name a person reads — the cap every declared label a report prints has. */
41
+ exports.MAX_DISPLAY_NAME_CHARS = 60;
42
+ /**
43
+ * At most this many declared names in one phrase; any further call is counted
44
+ * with the calls whose tools declared none. A line for a person, not a list.
45
+ */
46
+ exports.MAX_NAMED_CALLS = 3;
47
+ /**
48
+ * Why `value` is not a display name, or `undefined` when it is — judged on the
49
+ * trimmed text (the text a person would read). `label` names the field in the
50
+ * sentence, so a refusal says where it was written.
51
+ */
52
+ function displayNameProblem(label, value) {
53
+ if (typeof value !== 'string' || value.trim().length === 0) {
54
+ return (`${label} must be a non-empty string — the app's own words for what a call of this ` +
55
+ `tool does, read by a person (got ${typeof value === 'string' ? JSON.stringify(value) : typeof value}). Omit it to ` +
56
+ 'leave the call unnamed.');
57
+ }
58
+ const text = value.trim();
59
+ const notPlain = (0, plainLine_js_1.plainLineProblem)(label, text);
60
+ if (notPlain !== undefined)
61
+ return notPlain;
62
+ if (text.length > exports.MAX_DISPLAY_NAME_CHARS) {
63
+ return `${label} is ${text.length} characters; the limit is ${exports.MAX_DISPLAY_NAME_CHARS}.`;
64
+ }
65
+ return undefined;
66
+ }
67
+ exports.displayNameProblem = displayNameProblem;
68
+ /**
69
+ * The display name a person may read — trimmed — or `undefined`. A value the
70
+ * rule refuses is never printed: a tool assembled by hand, or served by a
71
+ * ToolProvider after the agent was built, is read through this too.
72
+ */
73
+ function readDisplayName(value) {
74
+ return displayNameProblem('displayName', value) === undefined
75
+ ? value.trim()
76
+ : undefined;
77
+ }
78
+ exports.readDisplayName = readDisplayName;
79
+ /**
80
+ * The calls, named in the app's words — each distinct declared name once, in
81
+ * the calls' order, at most {@link MAX_NAMED_CALLS}; every other call counted,
82
+ * with `alsoUnnamed` (calls the record does not name at all). `calls` holds one
83
+ * entry per CALL (the caller has already said each call once), each with its
84
+ * tool's registered name — the key a declared name is looked up by, never
85
+ * printed:
86
+ *
87
+ * - `loading the attached data`
88
+ * - `loading the attached data and searching the catalog`
89
+ * - `loading the attached data and 1 other call`
90
+ *
91
+ * `undefined` when no call's tool declared a name: the caller then says what
92
+ * it always said — the registered name is never the fallback.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * namedCalls(
97
+ * [{ toolCallId: 'c1', toolName: 'load_attachment' }, { toolCallId: 'c2', toolName: 'list_runs' }],
98
+ * 0,
99
+ * (tool) => (tool === 'load_attachment' ? 'loading the attached data' : undefined),
100
+ * ); // 'loading the attached data and 1 other call'
101
+ * ```
102
+ */
103
+ function namedCalls(calls, alsoUnnamed, displayNameOf) {
104
+ const named = [];
105
+ let rest = alsoUnnamed;
106
+ for (const call of calls) {
107
+ const words = displayNameOf(call.toolName);
108
+ if (words === undefined)
109
+ rest += 1;
110
+ else if (named.includes(words))
111
+ continue;
112
+ else if (named.length < exports.MAX_NAMED_CALLS)
113
+ named.push(words);
114
+ else
115
+ rest += 1;
116
+ }
117
+ if (named.length === 0)
118
+ return undefined;
119
+ const parts = rest > 0 ? [...named, `${rest} other ${rest === 1 ? 'call' : 'calls'}`] : named;
120
+ return parts.length === 1
121
+ ? parts[0]
122
+ : `${parts.slice(0, -1).join(', ')} and ${parts[parts.length - 1]}`;
123
+ }
124
+ exports.namedCalls = namedCalls;
125
+ //# sourceMappingURL=displayName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayName.js","sourceRoot":"","sources":["../../src/lib/displayName.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,iDAAkD;AAElD,kGAAkG;AACrF,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;GAGG;AACU,QAAA,eAAe,GAAG,CAAC,CAAC;AAEjC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,KAAa,EAAE,KAAc;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,CACL,GAAG,KAAK,4EAA4E;YACpF,oCACE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAC7D,gBAAgB;YAChB,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,8BAAsB,EAAE,CAAC;QACzC,OAAO,GAAG,KAAK,OAAO,IAAI,CAAC,MAAM,6BAA6B,8BAAsB,GAAG,CAAC;IAC1F,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAjBD,gDAiBC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,SAAS;QAC3D,CAAC,CAAE,KAAgB,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAJD,0CAIC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,UAAU,CACxB,KAA+C,EAC/C,WAAmB,EACnB,aAAuD;IAEvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,WAAW,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,IAAI,CAAC,CAAC;aAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;aACpC,IAAI,KAAK,CAAC,MAAM,GAAG,uBAAe;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YACtD,IAAI,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAnBD,gCAmBC"}
@@ -16,29 +16,55 @@
16
16
  * the call. The link is undone when the call settles: the SDK keeps its
17
17
  * abort listener on the signal it was given, and a link that outlived the
18
18
  * call would cancel a request that had already finished.
19
- * 2. ITS TICKET is issued, when the call carries the run's evidence port and
20
- * the connection has a ledger, keyed by the request's params object.
19
+ * 2. ITS MARKER is issued when the connection has a ledger, with its ticket
20
+ * when the call carries the run's evidence port: a library-private string
21
+ * in the request's `_meta` (`callMarker.ts`), which ties the request to
22
+ * the call even when the SDK copies the params, and which the transport
23
+ * takes out before anything is sent.
21
24
  * 3. ITS SETTLING ENDS ITS SERIES. However `callTool` settles — answered,
22
25
  * failed, or given up by the SDK (its own timeout) — a retry series still
23
26
  * sending the request is cut there and then, inside the call: it files
24
27
  * `cancelled` before the call's result is read, and sends nothing more.
28
+ * 4. ITS VERDICT REACHES ITS RECORD. A series that has ended waits for the
29
+ * call to settle before it files, because only the call can say whether
30
+ * the answer completed — a 200 can carry a tool error. The call leaves its
31
+ * verdict in the request's shared replay facts (`replay.ts` ·
32
+ * `RequestReplay`) before it settles the series' wait.
33
+ * 5. "MAY HAVE RUN" IS RAISED HERE — footprintjs's law, under the
34
+ * `'app-authorized'` policy (`replay.ts` · `RequestReplay`, its
35
+ * `uncertain`). A received refusal or error is preserved: a 429, a 503,
36
+ * a JSON-RPC or tool error — or a chain in which every attempt received
37
+ * one — keeps the server's error as it came, its effect still `unknown`.
38
+ * A call that genuinely lacked an answer somewhere — an attempt with no
39
+ * response at all, or a request the HTTP layer accepted whose JSON-RPC
40
+ * answer never came — and then fails, fails with footprintjs's
41
+ * `UnknownEffectError`, its final error (a later refusal's, or the
42
+ * timeout) as the `cause`: that error alone would read as "failed, try
43
+ * again". A call that completes returns normally. Under `'compatibility'`
44
+ * the caller sees the error it always did; the record still says the
45
+ * effect is unknown. A cancellation never raises it: a call its caller
46
+ * cancelled ends with the caller's reason, as it always did.
25
47
  *
26
- * In dev mode, a ticket that no request was bound to by the time the call
27
- * settled, when a `tools/call` request DID go out, is named once per connection: the SDK copied
28
- * the params, so the call's attempts could not be matched to it. Its
29
- * cancellation still reached the request (1, and the ledger's own watch on
30
- * `notifications/cancelled`).
48
+ * In dev mode, a ticket that no request was matched to by the time the call
49
+ * settled, when a `tools/call` request DID go out, is named once per
50
+ * connection: the SDK rebuilt the params without the marker, so the call's
51
+ * attempts could not be matched to it. Its cancellation still reached the
52
+ * request (1, and the ledger's own watch on `notifications/cancelled`). Under
53
+ * `'app-authorized'` such a request is never sent at all
54
+ * (`replayUnavailable.ts`).
31
55
  */
32
56
  Object.defineProperty(exports, "__esModule", { value: true });
33
57
  exports.openCall = void 0;
34
58
  const footprintjs_1 = require("footprintjs");
35
59
  const abort_js_1 = require("../lib/abort.js");
36
60
  const requestEvidence_js_1 = require("../tools/requestEvidence.js");
61
+ const callMarker_js_1 = require("./callMarker.js");
37
62
  /**
38
63
  * Open one call.
39
64
  *
40
- * @param params the request's params object — the SDK hands this very object to
41
- * the transport, which is how the ledger knows the request is this call's.
65
+ * @param params the request's params. The call sends them marked
66
+ * (`OpenCall.params`): the marker, not the object, is how the ledger knows
67
+ * the request is this call's — it survives an SDK that copies the params.
42
68
  * @param ctx the call's context: its signal, and the run's evidence port if any.
43
69
  * @param clientSignal the client's own `signal` (`McpClientOptions.signal`).
44
70
  * @param ledger the connection's ledger, when the library built its transport.
@@ -54,15 +80,37 @@ function openCall(params, ctx, clientSignal, ledger, server) {
54
80
  ? undefined
55
81
  : { sink, signal: (0, abort_js_1.eitherSignal)(signal, settled?.signal) };
56
82
  const sentBefore = ledger?.toolCallsSent ?? 0;
57
- if (ticket !== undefined)
58
- ledger?.issue(params, ticket);
83
+ // Every call on a watched connection gets a marker, ticket or not: under
84
+ // 'app-authorized' its request must be matched to it either way. The call
85
+ // holds its entry, so what it reads survives the connection closing.
86
+ const issued = ledger?.issue(ticket);
87
+ let mayHaveRun = false;
59
88
  return {
89
+ params: issued === undefined ? params : (0, callMarker_js_1.markParams)(params, issued.marker),
60
90
  ...(signal !== undefined && { signal }),
61
- close: () => {
91
+ failed: (error, verdict) => {
92
+ // A call its caller cancelled ends with the caller's reason, whatever its
93
+ // series did; the record still says what is known of its effect.
94
+ if (verdict === 'completed' || signal?.aborted === true)
95
+ return error;
96
+ const replay = issued?.request?.replay;
97
+ if (replay === undefined || !replay.uncertain)
98
+ return error;
99
+ mayHaveRun = true;
100
+ // The key, when one was sent, is an argument VALUE: it stays with the
101
+ // caller, who sent it, and never rides an error a run may record.
102
+ return new footprintjs_1.UnknownEffectError({ system: server, attempts: replay.sent, cause: error });
103
+ },
104
+ close: (verdict) => {
105
+ // The verdict first: settling the series' wait files its record.
106
+ issued?.request?.replay.settle(verdict, mayHaveRun);
107
+ // By its own entry, never the params object: a copy cannot keep a watch alive.
108
+ if (issued !== undefined)
109
+ ledger?.settle(issued);
62
110
  settled?.abort(callSettled());
63
111
  link?.unlink();
64
112
  if (ticket !== undefined && ledger !== undefined) {
65
- noteUnbound(ledger, ticket, sentBefore, server);
113
+ noteUnbound(ledger, issued?.request !== undefined, sentBefore, server);
66
114
  }
67
115
  },
68
116
  };
@@ -89,15 +137,15 @@ function callSettled() {
89
137
  });
90
138
  }
91
139
  /** Dev mode, once per connection: a request went out for this call, but the ledger never matched it. */
92
- function noteUnbound(ledger, ticket, sentBefore, server) {
93
- if (!(0, footprintjs_1.isDevMode)() || ledger.wasBound(ticket) || ledger.toolCallsSent <= sentBefore)
140
+ function noteUnbound(ledger, matched, sentBefore, server) {
141
+ if (!(0, footprintjs_1.isDevMode)() || matched || ledger.toolCallsSent <= sentBefore)
94
142
  return;
95
143
  if (!ledger.firstUnbound())
96
144
  return;
97
145
  // eslint-disable-next-line no-console
98
146
  console.warn(`[agentfootprint] mcpClient[${server}]: a tool call's request could not be matched to ` +
99
- 'the call, so its retry attempts were not recorded in the run. The MCP SDK copied the ' +
100
- "request's params before sending them. The call itself is unaffected, and its " +
101
- 'cancellation still reached the request.');
147
+ 'the call, so its retry attempts were not recorded in the run. The MCP SDK sent the ' +
148
+ "request without the call's `_meta` marker: it rebuilt the request's params. The call " +
149
+ 'itself is unaffected, and its cancellation still reached the request.');
102
150
  }
103
151
  //# sourceMappingURL=callLifetime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callLifetime.js","sourceRoot":"","sources":["../../src/mcp/callLifetime.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;AAEH,6CAAwC;AAExC,8CAAiE;AACjE,oEAAgE;AAWhE;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CACtB,MAAc,EACd,GAAY,EACZ,YAAqC,EACrC,MAAiC,EACjC,MAAc;IAEd,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,2BAAgB,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,IAAI,YAAY,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,sCAAiB,EAAC,GAAG,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;IACvE,MAAM,MAAM,GACV,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAA,uBAAY,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAgB,EAAE,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,EAAE,aAAa,IAAI,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;QACvC,KAAK,EAAE,GAAG,EAAE;YACV,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AA5BD,4BA4BC;AAED,kEAAkE;AAClE,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAI,GAAqC,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW;IAClB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,EAAE;QAC1F,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;AACL,CAAC;AAED,wGAAwG;AACxG,SAAS,WAAW,CAClB,MAAqB,EACrB,MAAqB,EACrB,UAAkB,EAClB,MAAc;IAEd,IAAI,CAAC,IAAA,uBAAS,GAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,IAAI,UAAU;QAAE,OAAO;IAC1F,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QAAE,OAAO;IACnC,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,8BAA8B,MAAM,mDAAmD;QACrF,uFAAuF;QACvF,+EAA+E;QAC/E,yCAAyC,CAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"callLifetime.js","sourceRoot":"","sources":["../../src/mcp/callLifetime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * callMarker — a library-private marker that ties one MCP tool call to the one
4
+ * request the SDK sends for it, whatever the SDK copies on the way.
5
+ *
6
+ * Pattern: mark at the call, take at the transport.
7
+ * Role: The correlation hop of the request ledger (`requestLedger.ts`). The
8
+ * call puts its marker in the request's own `_meta` bag
9
+ * (`markParams`); the MCP SDK carries `_meta` through to the
10
+ * transport — the very object, or a copy of it (`structuredClone`, a
11
+ * spread) — and the ledger's watched `send` takes the marker out again
12
+ * (`takeMarker`) before the transport serializes the request. The
13
+ * server receives the bytes it always did: the marker never leaves the
14
+ * client.
15
+ *
16
+ * An object's identity does not survive a copy; a string inside it does. So an
17
+ * SDK that copies the params still delivers the marker, and the request is
18
+ * matched to its call by the call's own word, never by guessing from content
19
+ * (two calls with the same arguments are the case content matching gets wrong).
20
+ * An SDK that rebuilds the params and drops `_meta` delivers nothing: the
21
+ * request then matches no call, and the ledger says so (`requestLedger.ts`).
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.takeMarker = exports.markParams = exports.CALL_MARKER_KEY = void 0;
25
+ /** The `_meta` key the marker rides under. Never sent: `takeMarker` removes it. */
26
+ exports.CALL_MARKER_KEY = 'agentfootprint/call-ref';
27
+ /**
28
+ * `params` with `marker` added to its `_meta` bag: a new object, with every
29
+ * other key in its place; `params` itself is not changed. A `_meta` that was
30
+ * absent is added, after the other keys, so `takeMarker` can remove it whole.
31
+ */
32
+ function markParams(params, marker) {
33
+ const meta = recordOf(params._meta) ?? {};
34
+ return { ...params, _meta: { ...meta, [exports.CALL_MARKER_KEY]: marker } };
35
+ }
36
+ exports.markParams = markParams;
37
+ /**
38
+ * The marker a JSON-RPC message carries in `params._meta`, and the message
39
+ * without it. The message is never changed in place: the SDK's object stays
40
+ * the SDK's. Without the marker, the params are what they were before
41
+ * `markParams`: a `_meta` the marker alone filled is removed, and any other
42
+ * entry, the SDK's own included, keeps its place.
43
+ */
44
+ function takeMarker(message) {
45
+ const fields = recordOf(message);
46
+ const params = recordOf(fields?.['params']);
47
+ const meta = recordOf(params?.['_meta']);
48
+ if (fields === undefined ||
49
+ params === undefined ||
50
+ meta === undefined ||
51
+ !Object.prototype.hasOwnProperty.call(meta, exports.CALL_MARKER_KEY)) {
52
+ return { message };
53
+ }
54
+ const { [exports.CALL_MARKER_KEY]: marker, ...rest } = meta;
55
+ // A copy keeps every key in its place: `_meta` is replaced where it stood, or
56
+ // removed when the marker alone filled it.
57
+ const unmarked = { ...params };
58
+ if (Object.keys(rest).length > 0)
59
+ unmarked['_meta'] = rest;
60
+ else
61
+ delete unmarked['_meta'];
62
+ return {
63
+ ...(typeof marker === 'string' && { marker }),
64
+ message: { ...fields, params: unmarked },
65
+ };
66
+ }
67
+ exports.takeMarker = takeMarker;
68
+ /** A plain object's own fields, or `undefined` for anything else. */
69
+ function recordOf(value) {
70
+ return value !== null && typeof value === 'object' && !Array.isArray(value)
71
+ ? value
72
+ : undefined;
73
+ }
74
+ //# sourceMappingURL=callMarker.js.map