@animalabs/agent-framework 0.27.0 → 0.29.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 (344) hide show
  1. package/README.md +145 -41
  2. package/dist/src/agent.d.ts +29 -2
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +73 -12
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/mcp-server-core.d.ts.map +1 -1
  7. package/dist/src/api/mcp-server-core.js +3 -12
  8. package/dist/src/api/mcp-server-core.js.map +1 -1
  9. package/dist/src/api/server.d.ts.map +1 -1
  10. package/dist/src/api/server.js +11 -5
  11. package/dist/src/api/server.js.map +1 -1
  12. package/dist/src/auto-continue.d.ts +5 -2
  13. package/dist/src/auto-continue.d.ts.map +1 -1
  14. package/dist/src/auto-continue.js +9 -5
  15. package/dist/src/auto-continue.js.map +1 -1
  16. package/dist/src/code-execution/isolate/runner.d.ts +7 -5
  17. package/dist/src/code-execution/isolate/runner.d.ts.map +1 -1
  18. package/dist/src/code-execution/isolate/runner.js +7 -5
  19. package/dist/src/code-execution/isolate/runner.js.map +1 -1
  20. package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
  21. package/dist/src/code-execution/isolate/scripts.js +3 -2
  22. package/dist/src/code-execution/isolate/scripts.js.map +1 -1
  23. package/dist/src/cut-off-round.d.ts +24 -0
  24. package/dist/src/cut-off-round.d.ts.map +1 -0
  25. package/dist/src/cut-off-round.js +87 -0
  26. package/dist/src/cut-off-round.js.map +1 -0
  27. package/dist/src/framework.d.ts +468 -125
  28. package/dist/src/framework.d.ts.map +1 -1
  29. package/dist/src/framework.js +3651 -1111
  30. package/dist/src/framework.js.map +1 -1
  31. package/dist/src/gate/event-gate.d.ts +133 -13
  32. package/dist/src/gate/event-gate.d.ts.map +1 -1
  33. package/dist/src/gate/event-gate.js +654 -59
  34. package/dist/src/gate/event-gate.js.map +1 -1
  35. package/dist/src/gate/index.d.ts +3 -2
  36. package/dist/src/gate/index.d.ts.map +1 -1
  37. package/dist/src/gate/index.js +2 -1
  38. package/dist/src/gate/index.js.map +1 -1
  39. package/dist/src/gate/reply-judge.d.ts +116 -0
  40. package/dist/src/gate/reply-judge.d.ts.map +1 -0
  41. package/dist/src/gate/reply-judge.js +467 -0
  42. package/dist/src/gate/reply-judge.js.map +1 -0
  43. package/dist/src/gate/types.d.ts +173 -2
  44. package/dist/src/gate/types.d.ts.map +1 -1
  45. package/dist/src/heartbeat/heartbeat.d.ts +202 -0
  46. package/dist/src/heartbeat/heartbeat.d.ts.map +1 -0
  47. package/dist/src/heartbeat/heartbeat.js +778 -0
  48. package/dist/src/heartbeat/heartbeat.js.map +1 -0
  49. package/dist/src/heartbeat/reminder-time.d.ts +5 -0
  50. package/dist/src/heartbeat/reminder-time.d.ts.map +1 -0
  51. package/dist/src/heartbeat/reminder-time.js +107 -0
  52. package/dist/src/heartbeat/reminder-time.js.map +1 -0
  53. package/dist/src/held-writes.d.ts +3 -3
  54. package/dist/src/held-writes.js +3 -3
  55. package/dist/src/host-presentation.d.ts +170 -0
  56. package/dist/src/host-presentation.d.ts.map +1 -0
  57. package/dist/src/host-presentation.js +561 -0
  58. package/dist/src/host-presentation.js.map +1 -0
  59. package/dist/src/index.d.ts +5 -1
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +3 -1
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/line-reader.d.ts +4 -0
  64. package/dist/src/line-reader.d.ts.map +1 -0
  65. package/dist/src/line-reader.js +59 -0
  66. package/dist/src/line-reader.js.map +1 -0
  67. package/dist/src/mcpl/capability-mask.d.ts.map +1 -1
  68. package/dist/src/mcpl/capability-mask.js +3 -2
  69. package/dist/src/mcpl/capability-mask.js.map +1 -1
  70. package/dist/src/mcpl/channel-registry.d.ts +34 -6
  71. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  72. package/dist/src/mcpl/channel-registry.js +133 -54
  73. package/dist/src/mcpl/channel-registry.js.map +1 -1
  74. package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
  75. package/dist/src/mcpl/conversation-router.js +2 -1
  76. package/dist/src/mcpl/conversation-router.js.map +1 -1
  77. package/dist/src/mcpl/convert-block.d.ts +1 -0
  78. package/dist/src/mcpl/convert-block.d.ts.map +1 -1
  79. package/dist/src/mcpl/convert-block.js +16 -4
  80. package/dist/src/mcpl/convert-block.js.map +1 -1
  81. package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
  82. package/dist/src/mcpl/hook-orchestrator.js +4 -3
  83. package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
  84. package/dist/src/mcpl/inbound-source.d.ts +29 -11
  85. package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
  86. package/dist/src/mcpl/inbound-source.js +43 -70
  87. package/dist/src/mcpl/inbound-source.js.map +1 -1
  88. package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
  89. package/dist/src/mcpl/modern-connection.js +11 -7
  90. package/dist/src/mcpl/modern-connection.js.map +1 -1
  91. package/dist/src/mcpl/protocol-family.d.ts +3 -2
  92. package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
  93. package/dist/src/mcpl/protocol-family.js +25 -3
  94. package/dist/src/mcpl/protocol-family.js.map +1 -1
  95. package/dist/src/mcpl/push-handler.js +2 -2
  96. package/dist/src/mcpl/push-handler.js.map +1 -1
  97. package/dist/src/mcpl/references.d.ts +12 -40
  98. package/dist/src/mcpl/references.d.ts.map +1 -1
  99. package/dist/src/mcpl/references.js +29 -23
  100. package/dist/src/mcpl/references.js.map +1 -1
  101. package/dist/src/mcpl/server-connection.d.ts +18 -8
  102. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  103. package/dist/src/mcpl/server-connection.js +70 -30
  104. package/dist/src/mcpl/server-connection.js.map +1 -1
  105. package/dist/src/mcpl/skip-reply-wake.d.ts +25 -0
  106. package/dist/src/mcpl/skip-reply-wake.d.ts.map +1 -1
  107. package/dist/src/mcpl/skip-reply-wake.js +25 -0
  108. package/dist/src/mcpl/skip-reply-wake.js.map +1 -1
  109. package/dist/src/mcpl/tags.d.ts +9 -2
  110. package/dist/src/mcpl/tags.d.ts.map +1 -1
  111. package/dist/src/mcpl/tags.js +12 -2
  112. package/dist/src/mcpl/tags.js.map +1 -1
  113. package/dist/src/mcpl/tool-presence.d.ts +66 -14
  114. package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
  115. package/dist/src/mcpl/tool-presence.js +150 -80
  116. package/dist/src/mcpl/tool-presence.js.map +1 -1
  117. package/dist/src/mcpl/tool-signature.d.ts +10 -3
  118. package/dist/src/mcpl/tool-signature.d.ts.map +1 -1
  119. package/dist/src/mcpl/tool-signature.js +60 -30
  120. package/dist/src/mcpl/tool-signature.js.map +1 -1
  121. package/dist/src/mcpl/toolset-host.d.ts +88 -55
  122. package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
  123. package/dist/src/mcpl/toolset-host.js +220 -111
  124. package/dist/src/mcpl/toolset-host.js.map +1 -1
  125. package/dist/src/mcpl/toolsets-module.d.ts +27 -35
  126. package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
  127. package/dist/src/mcpl/toolsets-module.js +313 -91
  128. package/dist/src/mcpl/toolsets-module.js.map +1 -1
  129. package/dist/src/mcpl/transport.d.ts +1 -1
  130. package/dist/src/mcpl/transport.d.ts.map +1 -1
  131. package/dist/src/mcpl/transport.js +16 -16
  132. package/dist/src/mcpl/transport.js.map +1 -1
  133. package/dist/src/mcpl/types.d.ts +31 -13
  134. package/dist/src/mcpl/types.d.ts.map +1 -1
  135. package/dist/src/mcpl/types.js.map +1 -1
  136. package/dist/src/module-registry.d.ts +10 -8
  137. package/dist/src/module-registry.d.ts.map +1 -1
  138. package/dist/src/module-registry.js +15 -9
  139. package/dist/src/module-registry.js.map +1 -1
  140. package/dist/src/modules/api/index.d.ts.map +1 -1
  141. package/dist/src/modules/api/index.js +4 -2
  142. package/dist/src/modules/api/index.js.map +1 -1
  143. package/dist/src/modules/discord/index.d.ts.map +1 -1
  144. package/dist/src/modules/discord/index.js +33 -25
  145. package/dist/src/modules/discord/index.js.map +1 -1
  146. package/dist/src/modules/history/index.d.ts.map +1 -1
  147. package/dist/src/modules/history/index.js +30 -17
  148. package/dist/src/modules/history/index.js.map +1 -1
  149. package/dist/src/modules/sender-name.d.ts +7 -0
  150. package/dist/src/modules/sender-name.d.ts.map +1 -0
  151. package/dist/src/modules/sender-name.js +10 -0
  152. package/dist/src/modules/sender-name.js.map +1 -0
  153. package/dist/src/modules/workspace/answers.d.ts +26 -0
  154. package/dist/src/modules/workspace/answers.d.ts.map +1 -0
  155. package/dist/src/modules/workspace/answers.js +138 -0
  156. package/dist/src/modules/workspace/answers.js.map +1 -0
  157. package/dist/src/modules/workspace/branch-intent.d.ts +5 -3
  158. package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
  159. package/dist/src/modules/workspace/branch-intent.js +6 -2
  160. package/dist/src/modules/workspace/branch-intent.js.map +1 -1
  161. package/dist/src/modules/workspace/direct-write.d.ts +3 -0
  162. package/dist/src/modules/workspace/direct-write.d.ts.map +1 -1
  163. package/dist/src/modules/workspace/direct-write.js +59 -24
  164. package/dist/src/modules/workspace/direct-write.js.map +1 -1
  165. package/dist/src/modules/workspace/disk-agreement.d.ts +33 -11
  166. package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
  167. package/dist/src/modules/workspace/disk-agreement.js +48 -17
  168. package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
  169. package/dist/src/modules/workspace/edit-text.d.ts +2 -1
  170. package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
  171. package/dist/src/modules/workspace/edit-text.js +4 -2
  172. package/dist/src/modules/workspace/edit-text.js.map +1 -1
  173. package/dist/src/modules/workspace/effects.d.ts +4 -2
  174. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  175. package/dist/src/modules/workspace/effects.js +67 -50
  176. package/dist/src/modules/workspace/effects.js.map +1 -1
  177. package/dist/src/modules/workspace/index.d.ts +63 -51
  178. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  179. package/dist/src/modules/workspace/index.js +980 -547
  180. package/dist/src/modules/workspace/index.js.map +1 -1
  181. package/dist/src/modules/workspace/observe.d.ts +125 -82
  182. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  183. package/dist/src/modules/workspace/observe.js +465 -241
  184. package/dist/src/modules/workspace/observe.js.map +1 -1
  185. package/dist/src/modules/workspace/read-page.d.ts.map +1 -1
  186. package/dist/src/modules/workspace/read-page.js +7 -1
  187. package/dist/src/modules/workspace/read-page.js.map +1 -1
  188. package/dist/src/modules/workspace/reconcile.d.ts +7 -1
  189. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  190. package/dist/src/modules/workspace/reconcile.js +156 -50
  191. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  192. package/dist/src/modules/workspace/result-text.d.ts +1 -0
  193. package/dist/src/modules/workspace/result-text.d.ts.map +1 -1
  194. package/dist/src/modules/workspace/result-text.js.map +1 -1
  195. package/dist/src/modules/workspace/sync.d.ts +9 -0
  196. package/dist/src/modules/workspace/sync.d.ts.map +1 -1
  197. package/dist/src/modules/workspace/sync.js +14 -0
  198. package/dist/src/modules/workspace/sync.js.map +1 -1
  199. package/dist/src/modules/workspace/types.d.ts +96 -43
  200. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  201. package/dist/src/modules/workspace/types.js.map +1 -1
  202. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  203. package/dist/src/modules/workspace/watcher.js +8 -3
  204. package/dist/src/modules/workspace/watcher.js.map +1 -1
  205. package/dist/src/notice-tags.d.ts +79 -0
  206. package/dist/src/notice-tags.d.ts.map +1 -0
  207. package/dist/src/notice-tags.js +83 -0
  208. package/dist/src/notice-tags.js.map +1 -0
  209. package/dist/src/prose-drafts.d.ts +4 -3
  210. package/dist/src/prose-drafts.d.ts.map +1 -1
  211. package/dist/src/prose-drafts.js +3 -2
  212. package/dist/src/prose-drafts.js.map +1 -1
  213. package/dist/src/reasoning-loss-notice.d.ts +23 -0
  214. package/dist/src/reasoning-loss-notice.d.ts.map +1 -0
  215. package/dist/src/reasoning-loss-notice.js +52 -0
  216. package/dist/src/reasoning-loss-notice.js.map +1 -0
  217. package/dist/src/reasoning-loss.d.ts +24 -0
  218. package/dist/src/reasoning-loss.d.ts.map +1 -0
  219. package/dist/src/reasoning-loss.js +102 -0
  220. package/dist/src/reasoning-loss.js.map +1 -0
  221. package/dist/src/send-tools.d.ts +3 -2
  222. package/dist/src/send-tools.d.ts.map +1 -1
  223. package/dist/src/send-tools.js +3 -2
  224. package/dist/src/send-tools.js.map +1 -1
  225. package/dist/src/sent-rows.js +1 -1
  226. package/dist/src/silent-heartbeat.d.ts +1 -53
  227. package/dist/src/silent-heartbeat.d.ts.map +1 -1
  228. package/dist/src/silent-heartbeat.js +56 -3
  229. package/dist/src/silent-heartbeat.js.map +1 -1
  230. package/dist/src/supplied-text.d.ts +35 -0
  231. package/dist/src/supplied-text.d.ts.map +1 -0
  232. package/dist/src/supplied-text.js +141 -0
  233. package/dist/src/supplied-text.js.map +1 -0
  234. package/dist/src/thinking-drops.d.ts +4 -11
  235. package/dist/src/thinking-drops.d.ts.map +1 -1
  236. package/dist/src/thinking-drops.js +7 -14
  237. package/dist/src/thinking-drops.js.map +1 -1
  238. package/dist/src/tool-args.d.ts +12 -0
  239. package/dist/src/tool-args.d.ts.map +1 -1
  240. package/dist/src/tool-args.js +39 -4
  241. package/dist/src/tool-args.js.map +1 -1
  242. package/dist/src/tool-image-ledger.d.ts.map +1 -1
  243. package/dist/src/tool-image-ledger.js +2 -1
  244. package/dist/src/tool-image-ledger.js.map +1 -1
  245. package/dist/src/tool-presentation.d.ts.map +1 -1
  246. package/dist/src/tool-presentation.js +5 -4
  247. package/dist/src/tool-presentation.js.map +1 -1
  248. package/dist/src/tool-result-guard.d.ts +8 -4
  249. package/dist/src/tool-result-guard.d.ts.map +1 -1
  250. package/dist/src/tool-result-guard.js +23 -11
  251. package/dist/src/tool-result-guard.js.map +1 -1
  252. package/dist/src/tune-out/coordinator.d.ts +3 -2
  253. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  254. package/dist/src/tune-out/coordinator.js +24 -26
  255. package/dist/src/tune-out/coordinator.js.map +1 -1
  256. package/dist/src/tune-out/tools.d.ts +4 -1
  257. package/dist/src/tune-out/tools.d.ts.map +1 -1
  258. package/dist/src/types/agent.d.ts +63 -18
  259. package/dist/src/types/agent.d.ts.map +1 -1
  260. package/dist/src/types/events.d.ts +18 -8
  261. package/dist/src/types/events.d.ts.map +1 -1
  262. package/dist/src/types/framework.d.ts +58 -0
  263. package/dist/src/types/framework.d.ts.map +1 -1
  264. package/dist/src/types/module.d.ts +27 -13
  265. package/dist/src/types/module.d.ts.map +1 -1
  266. package/dist/src/types/trace.d.ts +34 -1
  267. package/dist/src/types/trace.d.ts.map +1 -1
  268. package/package.json +3 -3
  269. package/src/agent.ts +76 -12
  270. package/src/api/mcp-server-core.ts +3 -14
  271. package/src/api/server.ts +11 -5
  272. package/src/auto-continue.ts +12 -5
  273. package/src/code-execution/isolate/runner.ts +7 -5
  274. package/src/code-execution/isolate/scripts.ts +3 -2
  275. package/src/cut-off-round.ts +98 -0
  276. package/src/framework.ts +3772 -1138
  277. package/src/gate/event-gate.ts +705 -60
  278. package/src/gate/index.ts +9 -1
  279. package/src/gate/reply-judge.ts +512 -0
  280. package/src/gate/types.ts +176 -3
  281. package/src/heartbeat/heartbeat.ts +843 -0
  282. package/src/heartbeat/reminder-time.ts +107 -0
  283. package/src/held-writes.ts +3 -3
  284. package/src/host-presentation.ts +605 -0
  285. package/src/index.ts +5 -1
  286. package/src/line-reader.ts +58 -0
  287. package/src/mcpl/capability-mask.ts +3 -2
  288. package/src/mcpl/channel-registry.ts +139 -53
  289. package/src/mcpl/conversation-router.ts +2 -1
  290. package/src/mcpl/convert-block.ts +17 -4
  291. package/src/mcpl/hook-orchestrator.ts +4 -3
  292. package/src/mcpl/inbound-source.ts +45 -70
  293. package/src/mcpl/modern-connection.ts +11 -7
  294. package/src/mcpl/protocol-family.ts +24 -3
  295. package/src/mcpl/push-handler.ts +2 -2
  296. package/src/mcpl/references.ts +31 -23
  297. package/src/mcpl/server-connection.ts +76 -34
  298. package/src/mcpl/skip-reply-wake.ts +35 -0
  299. package/src/mcpl/tags.ts +13 -2
  300. package/src/mcpl/tool-presence.ts +149 -82
  301. package/src/mcpl/tool-signature.ts +64 -32
  302. package/src/mcpl/toolset-host.ts +212 -110
  303. package/src/mcpl/toolsets-module.ts +277 -91
  304. package/src/mcpl/transport.ts +18 -14
  305. package/src/mcpl/types.ts +32 -13
  306. package/src/module-registry.ts +14 -9
  307. package/src/modules/api/index.ts +4 -2
  308. package/src/modules/discord/index.ts +37 -25
  309. package/src/modules/history/index.ts +30 -18
  310. package/src/modules/sender-name.ts +9 -0
  311. package/src/modules/workspace/answers.ts +151 -0
  312. package/src/modules/workspace/branch-intent.ts +10 -5
  313. package/src/modules/workspace/direct-write.ts +59 -23
  314. package/src/modules/workspace/disk-agreement.ts +52 -21
  315. package/src/modules/workspace/edit-text.ts +7 -5
  316. package/src/modules/workspace/effects.ts +69 -50
  317. package/src/modules/workspace/index.ts +966 -556
  318. package/src/modules/workspace/observe.ts +497 -242
  319. package/src/modules/workspace/read-page.ts +7 -1
  320. package/src/modules/workspace/reconcile.ts +184 -49
  321. package/src/modules/workspace/result-text.ts +2 -0
  322. package/src/modules/workspace/sync.ts +16 -0
  323. package/src/modules/workspace/types.ts +96 -43
  324. package/src/modules/workspace/watcher.ts +8 -3
  325. package/src/notice-tags.ts +84 -0
  326. package/src/prose-drafts.ts +4 -3
  327. package/src/reasoning-loss-notice.ts +64 -0
  328. package/src/reasoning-loss.ts +120 -0
  329. package/src/send-tools.ts +3 -2
  330. package/src/sent-rows.ts +1 -1
  331. package/src/silent-heartbeat.ts +4 -3
  332. package/src/supplied-text.ts +154 -0
  333. package/src/thinking-drops.ts +10 -16
  334. package/src/tool-args.ts +38 -4
  335. package/src/tool-image-ledger.ts +2 -1
  336. package/src/tool-presentation.ts +5 -4
  337. package/src/tool-result-guard.ts +26 -11
  338. package/src/tune-out/coordinator.ts +25 -27
  339. package/src/tune-out/tools.ts +4 -1
  340. package/src/types/agent.ts +63 -18
  341. package/src/types/events.ts +18 -8
  342. package/src/types/framework.ts +59 -0
  343. package/src/types/module.ts +28 -13
  344. package/src/types/trace.ts +36 -1
@@ -25,7 +25,7 @@
25
25
  *
26
26
  * Ported from mcpl-cc-bridge's presence.ts, the reference host.
27
27
  */
28
- import { type HintedTool } from './tool-signature.js';
28
+ import { type HintedTool, type Shown } from './tool-signature.js';
29
29
  export interface ToolsetDecl {
30
30
  title?: string;
31
31
  summary?: string;
@@ -90,10 +90,16 @@ export interface ChangeSet {
90
90
  changes: Change[];
91
91
  suggest: Suggestion[];
92
92
  notes: string[];
93
+ /** Ended records' notes, by id: rendered while the id is untold, told once the set reaches an agent (markTold). */
94
+ ended?: Array<{
95
+ id: string;
96
+ note: string;
97
+ }>;
98
+ /** false when its taker showed the change without its blocks (a look that restates the present shows the live catalog instead): told() then counts none of its definitions shown, while a notice that tells it still shows them. */
99
+ blocksShown?: false;
93
100
  }
94
101
  export declare const emptyChange: () => ChangeSet;
95
102
  export declare const isEmptyChange: (c: ChangeSet) => boolean;
96
- export declare const joinChanges: (...sets: ChangeSet[]) => ChangeSet;
97
103
  /**
98
104
  * RFC-014 §6.1: revs on a connection are consecutive (1, 2, 3 …), and changes
99
105
  * apply in rev order, which on stdio and WebSocket is arrival order.
@@ -106,6 +112,7 @@ export interface ApplyOutcome {
106
112
  skipped: boolean;
107
113
  behind: boolean;
108
114
  suggest: Suggestion[];
115
+ unlisted: boolean;
109
116
  }
110
117
  /** What a hint `definition` may change (RFC §6.1): everything else stays the listed tool's. */
111
118
  interface DefOverride {
@@ -123,6 +130,8 @@ export declare class ToolPresence {
123
130
  private readonly allowed;
124
131
  /** How a static tool is named in the API tool list, for `look`. */
125
132
  private readonly listedName;
133
+ /** Where the model's published tool list last put a tool, if it's there (shownAs). */
134
+ private readonly published;
126
135
  /** Hints are in effect on the current connection: the host advertised toolHints and the server did too. */
127
136
  active: boolean;
128
137
  declared: Record<string, ToolsetDecl>;
@@ -138,10 +147,10 @@ export declare class ToolPresence {
138
147
  private visible;
139
148
  /** Definition overrides from hints: per key (an instance's own, or a toolset's), per tool. */
140
149
  private defs;
141
- /** `ended` ids told to the agent: once per id, across reconnects (RFC §5.3). */
150
+ /** `ended` ids told to the agent, kept while the server still reports them (RFC §5.3). */
142
151
  private toldEnded;
152
+ /** Moves a tools/list made that the model's tool list doesn't show yet: told once a rebuild has published them. */
143
153
  private pendingMoves;
144
- private moved;
145
154
  /** Digests of definitions the model has been shown with their first sentence. */
146
155
  readonly shown: Set<string>;
147
156
  constructor(server: string,
@@ -150,7 +159,9 @@ export declare class ToolPresence {
150
159
  /** The host's tool policy (enabledTools/disabledTools): a tool it refuses is as if unlisted. */
151
160
  allowed?: (tool: string) => boolean,
152
161
  /** How a static tool is named in the API tool list, for `look`. */
153
- listedName?: (tool: string) => string);
162
+ listedName?: (tool: string) => string,
163
+ /** Where the model's published tool list last put a tool, if it's there (shownAs). */
164
+ published?: (tool: string) => Presence | undefined);
154
165
  /** A new connection: revs start over; hints count only when both sides advertised toolHints. */
155
166
  beginConnection(mcpl: Record<string, unknown> | null | undefined, hostHints: boolean): void;
156
167
  /** Toolset declarations and the surface hint, from initialize or a manifest re-fetch. */
@@ -164,8 +175,14 @@ export declare class ToolPresence {
164
175
  get allTools(): HintedTool[];
165
176
  tool(name: string): HintedTool | undefined;
166
177
  toolsetOf(name: string): string | undefined;
167
- /** static unless hinted dynamic; a toolset wins over any "static" (RFC §4.1); a move applies only at a boundary (applyMoves). */
178
+ /** As the list states it: a toolset's tool is dynamic whatever a hint says (RFC §4.1). */
168
179
  presenceOf(name: string): Presence;
180
+ /** RFC §4.2: "Until it applies the move, the tool keeps working where it
181
+ * is." Whether a tool is at `place` in the tool list last published, or
182
+ * in the server's latest tools/list (its presence). Until a rebuild
183
+ * applies a move the two differ, and a call is taken at either. */
184
+ shownAs(name: string, place: Presence): boolean;
185
+ private listedPresence;
169
186
  isDeclared(toolset: string): boolean;
170
187
  /** Undeclared toolset names the server's tools are tagged with (RFC §5.4). */
171
188
  get undeclaredGroups(): string[];
@@ -215,17 +232,39 @@ export declare class ToolPresence {
215
232
  ended: Ended[];
216
233
  suggest: Suggestion[];
217
234
  skipped: boolean;
235
+ unlisted: boolean;
218
236
  };
219
237
  /**
220
238
  * What the agent should hear about an adoption: what ended while it was
221
- * away, each `ended` id once however often the server repeats it (RFC
222
- * §5.3), and what is closed now.
239
+ * away, each `ended` id until it has been told (RFC §5.3; markTold), and
240
+ * what is closed now. An ended record with an id is in `ended`, rendered
241
+ * while its id is untold.
223
242
  */
224
- adoptionNotes(lost: OpenRecord[], ended: Ended[]): string[];
243
+ adoptionNotes(lost: OpenRecord[], ended: Ended[]): {
244
+ notes: string[];
245
+ ended: Array<{
246
+ id: string;
247
+ note: string;
248
+ }>;
249
+ };
250
+ /** The agent has been told these ended records (a notice written, a result it reads); the next statement forgets any it no longer reports. */
251
+ markTold(ended: ChangeSet['ended']): void;
252
+ /** The definitions a change set's tool blocks describe have reached the model. */
253
+ markShown(cs: ChangeSet): void;
254
+ /** A set's ended notes whose ids are still untold, each once. */
255
+ untoldNotes(cs: ChangeSet): string[];
225
256
  openGroup(g: string): void;
226
257
  closeGroup(g: string): void;
227
- /** Apply pending static↔dynamic moves (RFC §4.2) at a boundary the host chooses. Returns what moved. */
228
- applyMoves(): Array<{
258
+ /** The static↔dynamic moves the lists made since the last rebuild, still to be shown. */
259
+ moves(): Array<{
260
+ name: string;
261
+ to: Presence;
262
+ }>;
263
+ /** At a rebuild of the model's tool list (RFC §4.2): those of `moves` still pending, now shown. */
264
+ applyMoves(moves?: {
265
+ name: string;
266
+ to: Presence;
267
+ }[]): Array<{
229
268
  name: string;
230
269
  to: Presence;
231
270
  }>;
@@ -239,10 +278,19 @@ export declare class ToolPresence {
239
278
  describeAll?: boolean;
240
279
  headed?: boolean;
241
280
  title?: string;
281
+ seen?: Shown;
242
282
  }): string[];
243
- /** What the model reads for a change set. `bare`: a key whose header the caller already printed. */
283
+ /**
284
+ * What the model reads for a change set. `bare`: a key whose header the
285
+ * caller already printed. `mark: false` renders without counting the
286
+ * definitions it describes as shown, for text that may not reach the model
287
+ * (markShown counts them once it has). `describeAll`: every tool with its
288
+ * first sentence, as for a result that may reach no agent.
289
+ */
244
290
  render(cs: ChangeSet, opts?: {
245
291
  bare?: string;
292
+ mark?: boolean;
293
+ describeAll?: boolean;
246
294
  }): string;
247
295
  /** RFC §6.2: a suggestion is shown, never acted on. */
248
296
  renderSuggestion(s: Suggestion): string;
@@ -250,8 +298,12 @@ export declare class ToolPresence {
250
298
  openKeys(): string[];
251
299
  /** RFC §8.3 reminder: what is open, its current tools (described), how to call and close it. Null when nothing is open. */
252
300
  reminder(): string | null;
253
- /** look naming this server: what is open (with tools) and what can be opened. */
254
- catalog(): string;
301
+ /** look naming this server: what is open (with tools) and what can be
302
+ * opened. `mark: false`, as for render, for a look whose result may
303
+ * reach no agent. */
304
+ catalog(opts?: {
305
+ mark?: boolean;
306
+ }): string;
255
307
  /** Where a tool can be called from now, for `look` naming it. */
256
308
  toolStatus(tool: string): string;
257
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-presence.d.ts","sourceRoot":"","sources":["../../../src/mcpl/tool-presence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-presence.d.ts","sourceRoot":"","sources":["../../../src/mcpl/tool-presence.ts"],"names":[],"mappings":"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"}