@animalabs/agent-framework 0.27.0 → 0.28.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 (234) hide show
  1. package/README.md +56 -15
  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 +69 -11
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/server.d.ts.map +1 -1
  7. package/dist/src/api/server.js +4 -2
  8. package/dist/src/api/server.js.map +1 -1
  9. package/dist/src/auto-continue.d.ts +3 -2
  10. package/dist/src/auto-continue.d.ts.map +1 -1
  11. package/dist/src/auto-continue.js +4 -3
  12. package/dist/src/auto-continue.js.map +1 -1
  13. package/dist/src/cut-off-round.d.ts +24 -0
  14. package/dist/src/cut-off-round.d.ts.map +1 -0
  15. package/dist/src/cut-off-round.js +87 -0
  16. package/dist/src/cut-off-round.js.map +1 -0
  17. package/dist/src/framework.d.ts +304 -89
  18. package/dist/src/framework.d.ts.map +1 -1
  19. package/dist/src/framework.js +2577 -678
  20. package/dist/src/framework.js.map +1 -1
  21. package/dist/src/gate/event-gate.d.ts +99 -3
  22. package/dist/src/gate/event-gate.d.ts.map +1 -1
  23. package/dist/src/gate/event-gate.js +538 -13
  24. package/dist/src/gate/event-gate.js.map +1 -1
  25. package/dist/src/gate/index.d.ts +2 -1
  26. package/dist/src/gate/index.d.ts.map +1 -1
  27. package/dist/src/gate/index.js +1 -0
  28. package/dist/src/gate/index.js.map +1 -1
  29. package/dist/src/gate/reply-judge.d.ts +116 -0
  30. package/dist/src/gate/reply-judge.d.ts.map +1 -0
  31. package/dist/src/gate/reply-judge.js +467 -0
  32. package/dist/src/gate/reply-judge.js.map +1 -0
  33. package/dist/src/gate/types.d.ts +161 -0
  34. package/dist/src/gate/types.d.ts.map +1 -1
  35. package/dist/src/heartbeat/heartbeat.d.ts +184 -0
  36. package/dist/src/heartbeat/heartbeat.d.ts.map +1 -0
  37. package/dist/src/heartbeat/heartbeat.js +752 -0
  38. package/dist/src/heartbeat/heartbeat.js.map +1 -0
  39. package/dist/src/heartbeat/reminder-time.d.ts +5 -0
  40. package/dist/src/heartbeat/reminder-time.d.ts.map +1 -0
  41. package/dist/src/heartbeat/reminder-time.js +107 -0
  42. package/dist/src/heartbeat/reminder-time.js.map +1 -0
  43. package/dist/src/index.d.ts +4 -0
  44. package/dist/src/index.d.ts.map +1 -1
  45. package/dist/src/index.js +2 -0
  46. package/dist/src/index.js.map +1 -1
  47. package/dist/src/mcpl/capability-mask.d.ts.map +1 -1
  48. package/dist/src/mcpl/capability-mask.js +3 -2
  49. package/dist/src/mcpl/capability-mask.js.map +1 -1
  50. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  51. package/dist/src/mcpl/channel-registry.js +2 -1
  52. package/dist/src/mcpl/channel-registry.js.map +1 -1
  53. package/dist/src/mcpl/inbound-source.d.ts +26 -10
  54. package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
  55. package/dist/src/mcpl/inbound-source.js +40 -69
  56. package/dist/src/mcpl/inbound-source.js.map +1 -1
  57. package/dist/src/mcpl/server-connection.d.ts +18 -8
  58. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  59. package/dist/src/mcpl/server-connection.js +50 -10
  60. package/dist/src/mcpl/server-connection.js.map +1 -1
  61. package/dist/src/mcpl/tags.d.ts +9 -2
  62. package/dist/src/mcpl/tags.d.ts.map +1 -1
  63. package/dist/src/mcpl/tags.js +12 -2
  64. package/dist/src/mcpl/tags.js.map +1 -1
  65. package/dist/src/mcpl/tool-presence.d.ts +66 -14
  66. package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
  67. package/dist/src/mcpl/tool-presence.js +134 -65
  68. package/dist/src/mcpl/tool-presence.js.map +1 -1
  69. package/dist/src/mcpl/tool-signature.d.ts +10 -3
  70. package/dist/src/mcpl/tool-signature.d.ts.map +1 -1
  71. package/dist/src/mcpl/tool-signature.js +47 -18
  72. package/dist/src/mcpl/tool-signature.js.map +1 -1
  73. package/dist/src/mcpl/toolset-host.d.ts +88 -37
  74. package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
  75. package/dist/src/mcpl/toolset-host.js +207 -108
  76. package/dist/src/mcpl/toolset-host.js.map +1 -1
  77. package/dist/src/mcpl/toolsets-module.d.ts +14 -11
  78. package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
  79. package/dist/src/mcpl/toolsets-module.js +141 -49
  80. package/dist/src/mcpl/toolsets-module.js.map +1 -1
  81. package/dist/src/mcpl/types.d.ts +3 -1
  82. package/dist/src/mcpl/types.d.ts.map +1 -1
  83. package/dist/src/mcpl/types.js.map +1 -1
  84. package/dist/src/module-registry.d.ts +4 -1
  85. package/dist/src/module-registry.d.ts.map +1 -1
  86. package/dist/src/module-registry.js +9 -2
  87. package/dist/src/module-registry.js.map +1 -1
  88. package/dist/src/modules/history/index.d.ts.map +1 -1
  89. package/dist/src/modules/history/index.js +22 -11
  90. package/dist/src/modules/history/index.js.map +1 -1
  91. package/dist/src/modules/workspace/answers.d.ts +22 -0
  92. package/dist/src/modules/workspace/answers.d.ts.map +1 -0
  93. package/dist/src/modules/workspace/answers.js +123 -0
  94. package/dist/src/modules/workspace/answers.js.map +1 -0
  95. package/dist/src/modules/workspace/branch-intent.d.ts +5 -3
  96. package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
  97. package/dist/src/modules/workspace/branch-intent.js +6 -2
  98. package/dist/src/modules/workspace/branch-intent.js.map +1 -1
  99. package/dist/src/modules/workspace/direct-write.d.ts +3 -0
  100. package/dist/src/modules/workspace/direct-write.d.ts.map +1 -1
  101. package/dist/src/modules/workspace/direct-write.js +57 -24
  102. package/dist/src/modules/workspace/direct-write.js.map +1 -1
  103. package/dist/src/modules/workspace/disk-agreement.d.ts +33 -11
  104. package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
  105. package/dist/src/modules/workspace/disk-agreement.js +48 -17
  106. package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
  107. package/dist/src/modules/workspace/edit-text.d.ts +2 -1
  108. package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
  109. package/dist/src/modules/workspace/edit-text.js +4 -2
  110. package/dist/src/modules/workspace/edit-text.js.map +1 -1
  111. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  112. package/dist/src/modules/workspace/effects.js +20 -13
  113. package/dist/src/modules/workspace/effects.js.map +1 -1
  114. package/dist/src/modules/workspace/index.d.ts +62 -51
  115. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  116. package/dist/src/modules/workspace/index.js +934 -531
  117. package/dist/src/modules/workspace/index.js.map +1 -1
  118. package/dist/src/modules/workspace/observe.d.ts +75 -63
  119. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  120. package/dist/src/modules/workspace/observe.js +366 -180
  121. package/dist/src/modules/workspace/observe.js.map +1 -1
  122. package/dist/src/modules/workspace/read-page.d.ts.map +1 -1
  123. package/dist/src/modules/workspace/read-page.js +7 -1
  124. package/dist/src/modules/workspace/read-page.js.map +1 -1
  125. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  126. package/dist/src/modules/workspace/reconcile.js +26 -16
  127. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  128. package/dist/src/modules/workspace/result-text.d.ts +1 -0
  129. package/dist/src/modules/workspace/result-text.d.ts.map +1 -1
  130. package/dist/src/modules/workspace/result-text.js.map +1 -1
  131. package/dist/src/modules/workspace/sync.d.ts +9 -0
  132. package/dist/src/modules/workspace/sync.d.ts.map +1 -1
  133. package/dist/src/modules/workspace/sync.js +14 -0
  134. package/dist/src/modules/workspace/sync.js.map +1 -1
  135. package/dist/src/modules/workspace/types.d.ts +96 -43
  136. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  137. package/dist/src/modules/workspace/types.js.map +1 -1
  138. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  139. package/dist/src/modules/workspace/watcher.js +8 -3
  140. package/dist/src/modules/workspace/watcher.js.map +1 -1
  141. package/dist/src/prose-drafts.d.ts +4 -3
  142. package/dist/src/prose-drafts.d.ts.map +1 -1
  143. package/dist/src/prose-drafts.js +3 -2
  144. package/dist/src/prose-drafts.js.map +1 -1
  145. package/dist/src/reasoning-loss-notice.d.ts +23 -0
  146. package/dist/src/reasoning-loss-notice.d.ts.map +1 -0
  147. package/dist/src/reasoning-loss-notice.js +50 -0
  148. package/dist/src/reasoning-loss-notice.js.map +1 -0
  149. package/dist/src/reasoning-loss.d.ts +24 -0
  150. package/dist/src/reasoning-loss.d.ts.map +1 -0
  151. package/dist/src/reasoning-loss.js +102 -0
  152. package/dist/src/reasoning-loss.js.map +1 -0
  153. package/dist/src/send-tools.d.ts +3 -2
  154. package/dist/src/send-tools.d.ts.map +1 -1
  155. package/dist/src/send-tools.js +3 -2
  156. package/dist/src/send-tools.js.map +1 -1
  157. package/dist/src/sent-rows.js +1 -1
  158. package/dist/src/thinking-drops.d.ts +4 -11
  159. package/dist/src/thinking-drops.d.ts.map +1 -1
  160. package/dist/src/thinking-drops.js +7 -14
  161. package/dist/src/thinking-drops.js.map +1 -1
  162. package/dist/src/tool-args.d.ts +12 -0
  163. package/dist/src/tool-args.d.ts.map +1 -1
  164. package/dist/src/tool-args.js +35 -1
  165. package/dist/src/tool-args.js.map +1 -1
  166. package/dist/src/tool-result-guard.d.ts +8 -4
  167. package/dist/src/tool-result-guard.d.ts.map +1 -1
  168. package/dist/src/tool-result-guard.js +23 -11
  169. package/dist/src/tool-result-guard.js.map +1 -1
  170. package/dist/src/tune-out/tools.d.ts +4 -1
  171. package/dist/src/tune-out/tools.d.ts.map +1 -1
  172. package/dist/src/types/agent.d.ts +40 -9
  173. package/dist/src/types/agent.d.ts.map +1 -1
  174. package/dist/src/types/events.d.ts +18 -8
  175. package/dist/src/types/events.d.ts.map +1 -1
  176. package/dist/src/types/framework.d.ts +15 -0
  177. package/dist/src/types/framework.d.ts.map +1 -1
  178. package/dist/src/types/module.d.ts +5 -2
  179. package/dist/src/types/module.d.ts.map +1 -1
  180. package/dist/src/types/trace.d.ts +34 -1
  181. package/dist/src/types/trace.d.ts.map +1 -1
  182. package/package.json +3 -3
  183. package/src/agent.ts +72 -11
  184. package/src/api/server.ts +4 -2
  185. package/src/auto-continue.ts +4 -3
  186. package/src/cut-off-round.ts +98 -0
  187. package/src/framework.ts +2694 -700
  188. package/src/gate/event-gate.ts +579 -15
  189. package/src/gate/index.ts +8 -0
  190. package/src/gate/reply-judge.ts +512 -0
  191. package/src/gate/types.ts +164 -1
  192. package/src/heartbeat/heartbeat.ts +804 -0
  193. package/src/heartbeat/reminder-time.ts +107 -0
  194. package/src/index.ts +4 -0
  195. package/src/mcpl/capability-mask.ts +3 -2
  196. package/src/mcpl/channel-registry.ts +2 -1
  197. package/src/mcpl/inbound-source.ts +42 -69
  198. package/src/mcpl/server-connection.ts +56 -16
  199. package/src/mcpl/tags.ts +13 -2
  200. package/src/mcpl/tool-presence.ts +133 -67
  201. package/src/mcpl/tool-signature.ts +51 -20
  202. package/src/mcpl/toolset-host.ts +197 -107
  203. package/src/mcpl/toolsets-module.ts +143 -49
  204. package/src/mcpl/types.ts +3 -1
  205. package/src/module-registry.ts +8 -2
  206. package/src/modules/history/index.ts +22 -12
  207. package/src/modules/workspace/answers.ts +133 -0
  208. package/src/modules/workspace/branch-intent.ts +10 -5
  209. package/src/modules/workspace/direct-write.ts +58 -23
  210. package/src/modules/workspace/disk-agreement.ts +52 -21
  211. package/src/modules/workspace/edit-text.ts +7 -5
  212. package/src/modules/workspace/effects.ts +21 -12
  213. package/src/modules/workspace/index.ts +927 -541
  214. package/src/modules/workspace/observe.ts +381 -177
  215. package/src/modules/workspace/read-page.ts +7 -1
  216. package/src/modules/workspace/reconcile.ts +27 -15
  217. package/src/modules/workspace/result-text.ts +2 -0
  218. package/src/modules/workspace/sync.ts +16 -0
  219. package/src/modules/workspace/types.ts +96 -43
  220. package/src/modules/workspace/watcher.ts +8 -3
  221. package/src/prose-drafts.ts +4 -3
  222. package/src/reasoning-loss-notice.ts +62 -0
  223. package/src/reasoning-loss.ts +120 -0
  224. package/src/send-tools.ts +3 -2
  225. package/src/sent-rows.ts +1 -1
  226. package/src/thinking-drops.ts +10 -16
  227. package/src/tool-args.ts +34 -1
  228. package/src/tool-result-guard.ts +26 -11
  229. package/src/tune-out/tools.ts +4 -1
  230. package/src/types/agent.ts +40 -9
  231. package/src/types/events.ts +18 -8
  232. package/src/types/framework.ts +15 -0
  233. package/src/types/module.ts +5 -2
  234. package/src/types/trace.ts +36 -1
@@ -1,22 +1,35 @@
1
1
  /**
2
2
  * How a dynamic tool reads to a model when it reaches the conversation
3
3
  * instead of the tool list (MCPL RFC-014 §8.3): a compact signature, its
4
- * first sentence the first time a definition is shown, the whole definition
5
- * on request. Also the host's own argument check against a tool's current
6
- * definition (RFC-014 §6.1: "the host checks arguments for that instance
7
- * against it").
4
+ * first sentence the first time a definition is shown, and on request its
5
+ * description, input schema and class. Also the host's own argument check
6
+ * against a tool's current definition (RFC-014 §6.1: "the host checks
7
+ * arguments for that instance against it").
8
8
  *
9
9
  * Ported from mcpl-cc-bridge's tool-render.ts and schema-check.ts, the
10
10
  * reference host of RFC-014. Dependency-free.
11
11
  */
12
12
  import { createHash } from 'node:crypto';
13
13
  const isObj = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
14
+ /** How deep a server's value may nest and still be written out, the same on every runtime. */
15
+ const DEEPEST = 64;
16
+ function nestsWithin(value, depth = 0) {
17
+ if (value === null || typeof value !== 'object')
18
+ return true;
19
+ return depth <= DEEPEST && Object.values(value).every((v) => nestsWithin(v, depth + 1));
20
+ }
21
+ /** A schema's literal value (an enum's, a const or a default) as JSON, or … where it's nested too deeply to write. */
22
+ function literal(value) {
23
+ return nestsWithin(value) ? JSON.stringify(value) ?? 'null' : '…';
24
+ }
14
25
  function typeSig(schema, depth = 0) {
15
26
  if (!schema || typeof schema !== 'object')
16
27
  return 'any';
28
+ if (depth > 8)
29
+ return '…';
17
30
  if (Array.isArray(schema.enum)) {
18
31
  // The enum is often the menu (a decision's options): all of it unless it is long.
19
- const vals = schema.enum.map((v) => JSON.stringify(v));
32
+ const vals = schema.enum.map(literal);
20
33
  if (vals.length <= 8 || vals.join('|').length <= 400)
21
34
  return vals.join('|');
22
35
  let shown = 0;
@@ -28,11 +41,13 @@ function typeSig(schema, depth = 0) {
28
41
  return `${vals.slice(0, Math.max(shown, 4)).join('|')}|…(${vals.length} in all)`;
29
42
  }
30
43
  if (schema.const !== undefined)
31
- return JSON.stringify(schema.const);
44
+ return literal(schema.const);
32
45
  const alts = (schema.oneOf ?? schema.anyOf);
33
46
  if (Array.isArray(alts))
34
47
  return alts.map((s) => typeSig(s, depth + 1)).join(' | ');
35
- const t = Array.isArray(schema.type) ? schema.type.join('|') : schema.type;
48
+ // Only text names a type: entries that aren't text are left out, and a type with none reads as no type.
49
+ const types = (Array.isArray(schema.type) ? schema.type : [schema.type]).filter((x) => typeof x === 'string');
50
+ const t = types.length ? types.join('|') : undefined;
36
51
  switch (t) {
37
52
  case 'integer':
38
53
  case 'number': {
@@ -75,7 +90,7 @@ export function signature(tool) {
75
90
  const props = (isObj(s.properties) ? s.properties : {});
76
91
  const req = new Set(Array.isArray(s.required) ? s.required : []);
77
92
  const params = Object.entries(props).map(([k, v]) => {
78
- const def = isObj(v) && v.default !== undefined ? ` =${JSON.stringify(v.default)}` : '';
93
+ const def = isObj(v) && v.default !== undefined ? ` =${literal(v.default)}` : '';
79
94
  return `${k}${req.has(k) ? '' : '?'}: ${typeSig(v, 1)}${def}`;
80
95
  });
81
96
  return `${tool.name}(${params.join(', ')})`;
@@ -87,22 +102,24 @@ export function objectSignature(schema) {
87
102
  }
88
103
  /** First sentence of a description, bounded. */
89
104
  export function firstSentence(text, max = 140) {
90
- const t = (text ?? '').trim().replace(/\s+/g, ' ');
105
+ const t = (typeof text === 'string' ? text : '').trim().replace(/\s+/g, ' ');
91
106
  // A sentence ends at . ! ? followed by a capital, a bracket, or the end, so "e.g. \"D4\"" does not end it.
92
107
  const m = t.match(/^(.+?[.!?])(?=\s+[A-Z([]|$)/);
93
- const s = m ? m[1] : t;
94
- return s.length > max ? s.slice(0, max - 1) + '…' : s;
108
+ const s = [...(m ? m[1] : t)];
109
+ return s.length > max ? s.slice(0, max - 1).join('') + '…' : s.join('');
95
110
  }
96
- function canonicalJson(value) {
111
+ function canonicalJson(value, depth = 0) {
97
112
  if (value === null || typeof value !== 'object')
98
113
  return JSON.stringify(value) ?? 'null';
114
+ if (depth > DEEPEST)
115
+ return '"…"';
99
116
  if (Array.isArray(value))
100
- return `[${value.map(canonicalJson).join(',')}]`;
117
+ return `[${value.map((v) => canonicalJson(v, depth + 1)).join(',')}]`;
101
118
  const obj = value;
102
119
  return `{${Object.keys(obj)
103
120
  .sort()
104
121
  .filter((k) => obj[k] !== undefined)
105
- .map((k) => `${JSON.stringify(k)}:${canonicalJson(obj[k])}`)
122
+ .map((k) => `${JSON.stringify(k)}:${canonicalJson(obj[k], depth + 1)}`)
106
123
  .join(',')}}`;
107
124
  }
108
125
  /** Identity of a definition as the model reads it (name, description, schema). */
@@ -127,15 +144,27 @@ export function renderToolLines(tools, shown, opts = {}) {
127
144
  return `${indent}${signature(t)}${sentence ? ` — ${sentence}` : ''}`;
128
145
  });
129
146
  }
130
- /** The whole definition, for `look` naming a tool. */
147
+ /** A server's value as JSON, or a note where it's nested too deeply, or too long, to show. */
148
+ export function jsonText(value, space) {
149
+ if (!nestsWithin(value))
150
+ return '(nested too deeply to show)';
151
+ try {
152
+ return JSON.stringify(value, null, space) ?? '';
153
+ }
154
+ catch {
155
+ return '(too long to show)';
156
+ }
157
+ }
158
+ /** A tool's signature, description, class and input schema, for `look` naming a tool. */
131
159
  export function renderToolDefinition(tool) {
132
160
  const cls = tool._meta?.['mcpl/class'];
161
+ const classes = Array.isArray(cls) ? cls.filter((c) => typeof c === 'string') : [];
133
162
  return [
134
163
  signature(tool),
135
- tool.description ?? '',
136
- ...(Array.isArray(cls) ? [`class: ${cls.join(', ')}`] : []),
164
+ typeof tool.description === 'string' ? tool.description : '',
165
+ ...(classes.length ? [`class: ${classes.join(', ')}`] : []),
137
166
  'inputSchema:',
138
- JSON.stringify(tool.inputSchema ?? {}, null, 2),
167
+ jsonText(tool.inputSchema ?? {}, 2),
139
168
  ]
140
169
  .filter((l) => l !== '')
141
170
  .join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"tool-signature.js","sourceRoot":"","sources":["../../../src/mcpl/tool-signature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-signature.js","sourceRoot":"","sources":["../../../src/mcpl/tool-signature.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,14 @@
5
5
  * what changed; and the hub that holds every server's controller for the
6
6
  * meta-tools (toolsets-module.ts) and for reminders.
7
7
  *
8
- * Hint changes apply as their message is read (RFC §6.1): the connection's
9
- * read tap hands the controller every result of a hinted request (awaited or
10
- * not), every push/event and every tools/hints, of the current transport,
11
- * synchronously and in arrival order, before anything routes the message.
8
+ * Hint changes apply as their message is read (RFC §6.1); a static↔dynamic
9
+ * move takes effect when a tools/list states it (§4.1), and the model's tool
10
+ * list shows it at its next rebuild; until then the tool is called at either
11
+ * place (§4.2). The connection's read tap hands
12
+ * the controller every result of a hinted request (awaited or not, while no
13
+ * more than 1,000 hinted requests await an answer), each tools/list whole, every push/event and every tools/hints, of the
14
+ * current transport, synchronously and in arrival order, before anything
15
+ * routes the message or anything read after it is handled.
12
16
  * What a message's changes did to the model's view is kept by the object
13
17
  * that carried them (`readChanges`), so whoever later handles that object
14
18
  * (the tool result, the push, the meta-tool) renders it next to the content.
@@ -20,13 +24,13 @@
20
24
  * which the toolsets module gathers at its next start as a stored
21
25
  * `afterUser` injection.
22
26
  */
23
- import type { McplServerConnection } from './server-connection.js';
27
+ import { type McplServerConnection } from './server-connection.js';
24
28
  import type { McplServerConfig } from './types.js';
25
- import { ToolPresence, type ChangeSet, type MetaToolNames } from './tool-presence.js';
29
+ import { ToolPresence, type ChangeSet, type MetaToolNames, type Presence } from './tool-presence.js';
26
30
  /** The meta-tools' module, whose tools are `toolsets--open` and so on. */
27
31
  export declare const TOOLSETS_MODULE = "toolsets";
28
32
  export declare const META_TOOL_NAMES: MetaToolNames;
29
- /** How long an open, close or call is waited for. A late result still applies when it's read. */
33
+ /** How long an open or close is waited for. A late result still applies when it's read. */
30
34
  export declare const TOOLSET_REQUEST_TIMEOUT_MS = 60000;
31
35
  export interface ToolsetHostDeps {
32
36
  /** A standalone notice into the conversation: a tools/hints change, a late
@@ -34,15 +38,23 @@ export interface ToolsetHostDeps {
34
38
  * open. The host applies its usual rules for events. */
35
39
  notify(serverId: string, text: string, opts: {
36
40
  invite: boolean;
37
- }): void;
41
+ }): boolean;
42
+ /** Whether the server's changes may be put into the conversation unasked
43
+ * (its `pushEvents` grant): notices and reminders. */
44
+ canNotify(serverId: string): boolean;
38
45
  /** The operator's log. */
39
46
  log(line: string): void;
40
47
  /** How a static tool is named in the tool list (`prefix--tool`). */
41
48
  listedName(serverId: string, tool: string): string;
49
+ /** Where the model's published tool list last put a server's tool:
50
+ * offered in it (static), listed but not offered (dynamic), or undefined
51
+ * where it isn't published. RFC §4.2: until its move applies, a tool
52
+ * keeps working where it is. */
53
+ published?(serverId: string, tool: string): Presence | undefined;
42
54
  }
43
55
  /** One server's RFC-014 state and traffic. Lives as long as the server's
44
- * configuration, across reconnects and restarts (its `ended` ids and what
45
- * the model was shown carry over). */
56
+ * configuration, across reconnects and the server's restarts (its `ended`
57
+ * ids and what the model was shown carry over), in memory only. */
46
58
  export declare class ToolsetController {
47
59
  readonly serverId: string;
48
60
  private config;
@@ -53,25 +65,22 @@ export declare class ToolsetController {
53
65
  private epoch;
54
66
  /** What applying a message's hints changed, by the object that carried them. */
55
67
  private readonly readChanges;
56
- /** Results whose change no one has rendered yet (tellUnlessClaimed). */
68
+ /** Results whose change no one has taken yet, in the order they were read, with their method (tellUnlessClaimed). */
57
69
  private readonly unclaimed;
58
70
  /** eventIds of pushes read on this transport (bounded): a repeat's hints are ignored (RFC §6.1). */
59
71
  private seenEvents;
60
- /** A paged tools/list being read. */
61
- private listPages;
62
- /** Lists this controller asked for itself, whose change it delivers. */
63
- private ownLists;
64
- /** What lists read while one of its own was out changed, for it to tell. */
65
- private ownListChange;
66
72
  private recoveryTimer;
67
73
  private recovering;
68
74
  private recoverAgain;
69
75
  constructor(serverId: string, config: McplServerConfig, deps: ToolsetHostDeps);
70
76
  private log;
77
+ private field;
78
+ private failure;
71
79
  /** A restart can bring a new configuration under the same id. */
72
80
  setConfig(config: McplServerConfig): void;
73
81
  /** Tap this connection (a connect or a restart's new one). */
74
82
  attach(connection: McplServerConnection): void;
83
+ release(): void;
75
84
  /** The server's connection is gone for good (disconnected, removed). */
76
85
  detach(connection: McplServerConnection): void;
77
86
  /** Whether the meta-tools speak for this server now. */
@@ -96,13 +105,25 @@ export declare class ToolsetController {
96
105
  private readToolList;
97
106
  /** toolsets/list, as read: a full statement of dynamic-tool state under its own rev (RFC §5.3, §6.1). */
98
107
  private readToolsetList;
99
- /** A change with nothing else to ride on, told as a notice. */
108
+ /** A change with nothing else to ride on, told as a notice, after every result's change still unclaimed. */
100
109
  private deliver;
110
+ /**
111
+ * Unclaimed carriers' changes, told as notices in the order they were read,
112
+ * through `upTo` when given. When no notice can be written, a push keeps its
113
+ * change for the framework's push path, which takes it when the push gets
114
+ * there; a result's is dropped, whether or not its caller is still to
115
+ * resume.
116
+ */
117
+ private tellUnclaimed;
118
+ /** Whether a notice was written, there was nothing left to tell (`empty`), or one couldn't be written (`refused`). */
119
+ private notice;
101
120
  /**
102
121
  * A dynamic tool called by its namespaced name, as if it were listed (a
103
122
  * model imitating an earlier call, a module): refused, so every call into
104
123
  * a toolset goes through act, which knows its instance and gates closed
105
- * groups (RFC §5.4, §5.5). Null for any other tool.
124
+ * groups (RFC §5.4, §5.5). Null for any other tool, including one the tool
125
+ * list last published or the server's latest tools/list puts as static
126
+ * (shownAs: RFC §4.2, until its move applies).
106
127
  */
107
128
  dynamicCallRefusal(tool: string, calledAs: string): string | null;
108
129
  /**
@@ -112,23 +133,37 @@ export declare class ToolsetController {
112
133
  * run (the next macrotask), such as the result of a call the framework makes
113
134
  * itself (a reaction, a send, an accounted side effect), is told as a notice
114
135
  * instead, as a standalone tools/hints is (RFC §6.1: every change reaches the
115
- * agent once).
136
+ * agent once), or dropped as tellUnclaimed says when none can be written.
116
137
  */
117
138
  private tellUnlessClaimed;
118
- /** What applying `carrier`'s hints changed (a tool result, a push's params),
119
- * rendered, for its handler to show with it; '' for nothing. Taking it
120
- * means it's told there, not as a notice. */
121
- changeText(carrier: unknown): string;
122
- /** The change a carrier's hints made, or an empty one; taken as changeText's is. */
123
- changeOf(carrier: unknown): ChangeSet;
139
+ /**
140
+ * The change a carrier's hints made (a tool result, a push's params), taken
141
+ * by a caller that shows it to an agent with the carrier: it isn't told as a
142
+ * notice, and the caller says when it has reached an agent (told). Call it
143
+ * synchronously as the carrier is read, before the next macrotask, when an
144
+ * unclaimed carrier's change goes out as a notice instead (tellUnclaimed
145
+ * says what happens when none can be written). A change already gone that
146
+ * way is empty here. Unclaimed carriers read before this one
147
+ * are told first, as notices, so no later change is shown before them.
148
+ */
149
+ takeChange(carrier: unknown): ChangeSet;
150
+ /** A change its taker showed to an agent: its ended records count as told, and the definitions it describes as shown, unless the taker showed it without its blocks (`blocksShown: false`). */
151
+ told(cs: ChangeSet): void;
152
+ /** A change its taker couldn't show, told as a notice instead, or dropped when none can be written. */
153
+ tell(cs: ChangeSet): void;
154
+ private changeOf;
124
155
  private scheduleRecovery;
125
156
  /**
126
157
  * Recovering: re-read tools/list (presence, declared definitions), then
127
158
  * toolsets/list (dynamic-tool state in full), so every tool the statement
128
- * names is already known; each applies where it's read. What changed is
129
- * told. (stdio and WebSocket deliver in order, so no early rev is held.)
159
+ * names is already known, unless tools/list failed: a tool the last list
160
+ * lacks then stays unknown until a later change or list starts a recovery.
161
+ * Each applies where it's read. What
162
+ * changed is told. (stdio and WebSocket deliver in order, so no early rev is
163
+ * held.)
130
164
  */
131
165
  private recover;
166
+ /** The tap applies the list and tells its change as it's read. */
132
167
  private ownToolList;
133
168
  private ownToolsetList;
134
169
  /**
@@ -141,12 +176,21 @@ export declare class ToolsetController {
141
176
  connected(connection: McplServerConnection): Promise<void>;
142
177
  /**
143
178
  * Re-read what the server holds open (titles, visibility) without telling
144
- * it: for look, which restates everything anyway. Returns notes for what
145
- * the server no longer holds.
179
+ * it, for look. Returns what the re-read changed, taken from the notice it
180
+ * would otherwise get when `shown` (its result reaches an agent): look then
181
+ * either shows it (told) or hands it back (tell). Otherwise the change is
182
+ * left to its notice, and returned to be shown to the caller alone. Null
183
+ * when nothing was read.
146
184
  */
147
- refreshOpen(): Promise<string[]>;
148
- /** toolsets/open (RFC §5.2). The server's refusal rejects. */
149
- open(toolset: string, instance: string | undefined, options: Record<string, unknown> | undefined): Promise<{
185
+ refreshOpen(opts: {
186
+ shown: boolean;
187
+ }): Promise<ChangeSet | null>;
188
+ /** toolsets/open (RFC §5.2). The server's refusal rejects. Its change is
189
+ * taken when `shown` (its result reaches an agent), else left to its
190
+ * notice and returned for the caller alone; close's is the same. */
191
+ open(toolset: string, instance: string | undefined, options: Record<string, unknown> | undefined, opts: {
192
+ shown: boolean;
193
+ }): Promise<{
150
194
  key: string;
151
195
  title?: string;
152
196
  content: unknown[];
@@ -154,7 +198,9 @@ export declare class ToolsetController {
154
198
  adopted: boolean;
155
199
  }>;
156
200
  /** toolsets/close (RFC §5.2). */
157
- close(toolset: string, instance: string | undefined): Promise<{
201
+ close(toolset: string, instance: string | undefined, opts: {
202
+ shown: boolean;
203
+ }): Promise<{
158
204
  content: unknown[];
159
205
  change: ChangeSet;
160
206
  }>;
@@ -166,8 +212,11 @@ export declare class ToolsetController {
166
212
  * that withdraws toolHints is hint-less from then on. What changed is told.
167
213
  */
168
214
  manifestChanged(declarations: Record<string, unknown> | null): void;
169
- /** Apply pending static↔dynamic moves (RFC §4.2) at a tool-list boundary, and say where they went. */
170
- applyMoves(): string[];
215
+ /** At a rebuild of the model's tool list (RFC §4.2), tell where the tools it moved went: `moves`, those still pending, or every one pending. A move a list has undone since the rebuild listed the server isn't told; the next rebuild publishes the undoing. */
216
+ applyMoves(moves?: Array<{
217
+ name: string;
218
+ to: Presence;
219
+ }>): void;
171
220
  }
172
221
  /** Every server's controller, for the meta-tools and reminders. */
173
222
  export declare class ToolsetHub {
@@ -180,7 +229,9 @@ export declare class ToolsetHub {
180
229
  /** The controller for a server, made at its first connect. */
181
230
  controllerFor(config: McplServerConfig): ToolsetController;
182
231
  get(serverId: string): ToolsetController | undefined;
183
- /** A server's configuration went (removed): forget its controller. */
232
+ /** A server's configuration went (removed): its controller lets go of the
233
+ * connection it holds, and is forgotten, so a server added later under
234
+ * the same id starts from nothing. */
184
235
  forget(serverId: string): void;
185
236
  all(): ToolsetController[];
186
237
  /** The servers the meta-tools speak for now. */
@@ -1 +1 @@
1
- {"version":3,"file":"toolset-host.d.ts","sourceRoot":"","sources":["../../../src/mcpl/toolset-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolset-host.d.ts","sourceRoot":"","sources":["../../../src/mcpl/toolset-host.ts"],"names":[],"mappings":"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"}