@j0hanz/cortex-mcp 1.2.0 → 1.3.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 (66) hide show
  1. package/README.md +2 -2
  2. package/dist/engine/config.d.ts +2 -1
  3. package/dist/engine/config.d.ts.map +1 -1
  4. package/dist/engine/config.js +7 -3
  5. package/dist/engine/config.js.map +1 -1
  6. package/dist/engine/context.d.ts +4 -4
  7. package/dist/engine/context.d.ts.map +1 -1
  8. package/dist/engine/context.js +3 -0
  9. package/dist/engine/context.js.map +1 -1
  10. package/dist/engine/events.d.ts +8 -9
  11. package/dist/engine/events.d.ts.map +1 -1
  12. package/dist/engine/events.js +6 -3
  13. package/dist/engine/events.js.map +1 -1
  14. package/dist/engine/reasoner.d.ts.map +1 -1
  15. package/dist/engine/reasoner.js +62 -33
  16. package/dist/engine/reasoner.js.map +1 -1
  17. package/dist/engine/session-store.d.ts +12 -1
  18. package/dist/engine/session-store.d.ts.map +1 -1
  19. package/dist/engine/session-store.js +109 -78
  20. package/dist/engine/session-store.js.map +1 -1
  21. package/dist/index.js +14 -7
  22. package/dist/index.js.map +1 -1
  23. package/dist/instructions.md +13 -13
  24. package/dist/lib/errors.d.ts.map +1 -1
  25. package/dist/lib/errors.js +16 -7
  26. package/dist/lib/errors.js.map +1 -1
  27. package/dist/lib/formatting.d.ts.map +1 -1
  28. package/dist/lib/formatting.js +32 -24
  29. package/dist/lib/formatting.js.map +1 -1
  30. package/dist/lib/instructions.d.ts.map +1 -1
  31. package/dist/lib/instructions.js +20 -4
  32. package/dist/lib/instructions.js.map +1 -1
  33. package/dist/lib/text.d.ts.map +1 -1
  34. package/dist/lib/text.js +23 -17
  35. package/dist/lib/text.js.map +1 -1
  36. package/dist/lib/tool-response.d.ts.map +1 -1
  37. package/dist/lib/tool-response.js +9 -6
  38. package/dist/lib/tool-response.js.map +1 -1
  39. package/dist/lib/types.d.ts +22 -12
  40. package/dist/lib/types.d.ts.map +1 -1
  41. package/dist/lib/validators.d.ts.map +1 -1
  42. package/dist/lib/validators.js +12 -10
  43. package/dist/lib/validators.js.map +1 -1
  44. package/dist/prompts/index.d.ts.map +1 -1
  45. package/dist/prompts/index.js +49 -75
  46. package/dist/prompts/index.js.map +1 -1
  47. package/dist/resources/index.d.ts.map +1 -1
  48. package/dist/resources/index.js +66 -65
  49. package/dist/resources/index.js.map +1 -1
  50. package/dist/schemas/inputs.d.ts.map +1 -1
  51. package/dist/schemas/inputs.js +27 -48
  52. package/dist/schemas/inputs.js.map +1 -1
  53. package/dist/schemas/outputs.d.ts.map +1 -1
  54. package/dist/schemas/outputs.js +46 -24
  55. package/dist/schemas/outputs.js.map +1 -1
  56. package/dist/server.d.ts.map +1 -1
  57. package/dist/server.js +69 -53
  58. package/dist/server.js.map +1 -1
  59. package/dist/tools/index.d.ts +0 -3
  60. package/dist/tools/index.d.ts.map +1 -1
  61. package/dist/tools/index.js +4 -4
  62. package/dist/tools/index.js.map +1 -1
  63. package/dist/tools/reasoning-think.d.ts.map +1 -1
  64. package/dist/tools/reasoning-think.js +105 -77
  65. package/dist/tools/reasoning-think.js.map +1 -1
  66. package/package.json +10 -7
@@ -1,13 +1,19 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { LEVEL_CONFIGS } from './config.js';
3
+ import { getLevelConfig } from './config.js';
4
4
  import { engineEvents } from './events.js';
5
5
  const DEFAULT_TTL_MS = 30 * 60 * 1000; // 30 minutes
6
6
  const DEFAULT_MAX_SESSIONS = 100;
7
7
  const DEFAULT_MAX_TOTAL_TOKENS = 500_000;
8
+ const TOKEN_ESTIMATE_DIVISOR = 4;
9
+ const MIN_SWEEP_INTERVAL_MS = 10;
10
+ const MAX_SWEEP_INTERVAL_MS = 60_000;
8
11
  function estimateTokens(text) {
9
12
  const byteLength = Buffer.byteLength(text, 'utf8');
10
- return Math.max(1, Math.ceil(byteLength / 4));
13
+ return Math.max(1, Math.ceil(byteLength / TOKEN_ESTIMATE_DIVISOR));
14
+ }
15
+ function resolveSweepInterval(ttlMs) {
16
+ return Math.max(MIN_SWEEP_INTERVAL_MS, Math.min(MAX_SWEEP_INTERVAL_MS, ttlMs));
11
17
  }
12
18
  export class SessionStore {
13
19
  sessions = new Map();
@@ -24,7 +30,7 @@ export class SessionStore {
24
30
  this.ttlMs = ttlMs;
25
31
  this.maxSessions = maxSessions;
26
32
  this.maxTotalTokens = maxTotalTokens;
27
- const sweepInterval = Math.max(10, Math.min(60_000, ttlMs));
33
+ const sweepInterval = resolveSweepInterval(ttlMs);
28
34
  this.cleanupInterval = setInterval(() => {
29
35
  this.sweep();
30
36
  }, sweepInterval);
@@ -32,7 +38,7 @@ export class SessionStore {
32
38
  }
33
39
  create(level, totalThoughts) {
34
40
  this.evictIfAtCapacity();
35
- const config = LEVEL_CONFIGS[level];
41
+ const config = getLevelConfig(level);
36
42
  const now = Date.now();
37
43
  const session = {
38
44
  id: randomUUID(),
@@ -56,10 +62,13 @@ export class SessionStore {
56
62
  const session = this.sessions.get(id);
57
63
  return session ? this.snapshotSession(session) : undefined;
58
64
  }
65
+ getSummary(id) {
66
+ const session = this.sessions.get(id);
67
+ return session ? this.snapshotSessionSummary(session) : undefined;
68
+ }
59
69
  list() {
60
- this.sortedSessionIdsCache ??= this.buildSortedSessionIdsCache();
61
70
  const sessions = [];
62
- for (const sessionId of this.sortedSessionIdsCache) {
71
+ for (const sessionId of this.getSessionIdsForIteration()) {
63
72
  const session = this.sessions.get(sessionId);
64
73
  if (session) {
65
74
  sessions.push(this.snapshotSession(session));
@@ -67,6 +76,20 @@ export class SessionStore {
67
76
  }
68
77
  return sessions;
69
78
  }
79
+ listSessionIds() {
80
+ this.sortedSessionIdsCache ??= this.buildSortedSessionIdsCache();
81
+ return [...this.sortedSessionIdsCache];
82
+ }
83
+ listSummaries() {
84
+ const summaries = [];
85
+ for (const sessionId of this.getSessionIdsForIteration()) {
86
+ const session = this.sessions.get(sessionId);
87
+ if (session) {
88
+ summaries.push(this.snapshotSessionSummary(session));
89
+ }
90
+ }
91
+ return summaries;
92
+ }
70
93
  getTtlMs() {
71
94
  return this.ttlMs;
72
95
  }
@@ -86,8 +109,7 @@ export class SessionStore {
86
109
  return false;
87
110
  }
88
111
  engineEvents.emit('session:deleted', { sessionId: id });
89
- this.emitSessionsListChanged();
90
- this.emitSessionsResourceUpdated();
112
+ this.emitSessionsCollectionUpdated();
91
113
  return true;
92
114
  }
93
115
  addThought(sessionId, content) {
@@ -105,10 +127,7 @@ export class SessionStore {
105
127
  session.thoughts.push(thought);
106
128
  session.tokensUsed += tokens;
107
129
  this.totalTokens += tokens;
108
- session.updatedAt = Date.now();
109
- this.touchOrder(session.id);
110
- this.sortedSessionIdsCache = null;
111
- this.emitSessionResourcesUpdated(sessionId);
130
+ this.markSessionTouched(session);
112
131
  return this.snapshotThought(thought);
113
132
  }
114
133
  reviseThought(sessionId, thoughtIndex, content) {
@@ -134,30 +153,20 @@ export class SessionStore {
134
153
  session.thoughts[thoughtIndex] = revised;
135
154
  session.tokensUsed = session.tokensUsed - oldTokens + newTokens;
136
155
  this.totalTokens += delta;
137
- session.updatedAt = Date.now();
138
- this.touchOrder(session.id);
139
- this.sortedSessionIdsCache = null;
140
- this.emitSessionResourcesUpdated(sessionId);
156
+ this.markSessionTouched(session);
141
157
  return this.snapshotThought(revised);
142
158
  }
143
159
  markCompleted(sessionId) {
144
- const session = this.sessions.get(sessionId);
145
- if (session?.status === 'active') {
146
- session.status = 'completed';
147
- session.updatedAt = Date.now();
148
- this.touchOrder(session.id);
149
- this.sortedSessionIdsCache = null;
150
- this.emitSessionResourcesUpdated(sessionId);
151
- }
160
+ this.updateSessionStatus(sessionId, 'completed');
152
161
  }
153
162
  markCancelled(sessionId) {
163
+ this.updateSessionStatus(sessionId, 'cancelled');
164
+ }
165
+ updateSessionStatus(sessionId, status) {
154
166
  const session = this.sessions.get(sessionId);
155
167
  if (session?.status === 'active') {
156
- session.status = 'cancelled';
157
- session.updatedAt = Date.now();
158
- this.touchOrder(session.id);
159
- this.sortedSessionIdsCache = null;
160
- this.emitSessionResourcesUpdated(sessionId);
168
+ session.status = status;
169
+ this.markSessionTouched(session);
161
170
  }
162
171
  }
163
172
  evictIfAtCapacity() {
@@ -166,12 +175,7 @@ export class SessionStore {
166
175
  if (!oldest)
167
176
  break;
168
177
  this.deleteSessionInternal(oldest.id);
169
- engineEvents.emit('session:evicted', {
170
- sessionId: oldest.id,
171
- reason: 'max_sessions',
172
- });
173
- this.emitSessionsListChanged();
174
- this.emitSessionsResourceUpdated();
178
+ this.emitSessionEvicted(oldest.id, 'max_sessions');
175
179
  }
176
180
  }
177
181
  evictForTokenHeadroom(neededTokens, protectedSessionId) {
@@ -181,12 +185,7 @@ export class SessionStore {
181
185
  if (!oldest)
182
186
  break;
183
187
  this.deleteSessionInternal(oldest.id);
184
- engineEvents.emit('session:evicted', {
185
- sessionId: oldest.id,
186
- reason: 'max_total_tokens',
187
- });
188
- this.emitSessionsListChanged();
189
- this.emitSessionsResourceUpdated();
188
+ this.emitSessionEvicted(oldest.id, 'max_total_tokens');
190
189
  }
191
190
  }
192
191
  findOldestSession(excludeId) {
@@ -201,23 +200,26 @@ export class SessionStore {
201
200
  }
202
201
  sweep() {
203
202
  const now = Date.now();
204
- const expiredSessionIds = [];
205
203
  let changed = false;
206
- for (const session of this.sessions.values()) {
207
- if (session.updatedAt + this.ttlMs < now) {
208
- expiredSessionIds.push(session.id);
209
- }
210
- }
211
- for (const sessionId of expiredSessionIds) {
212
- if (!this.deleteSessionInternal(sessionId)) {
204
+ let currentId = this.oldestSessionId;
205
+ while (currentId) {
206
+ const nextId = this.sessionOrder.get(currentId)?.nextId;
207
+ const session = this.sessions.get(currentId);
208
+ if (!session) {
209
+ currentId = nextId;
213
210
  continue;
214
211
  }
215
- engineEvents.emit('session:expired', { sessionId });
216
- changed = true;
212
+ if (session.updatedAt + this.ttlMs >= now) {
213
+ break;
214
+ }
215
+ if (this.deleteSessionInternal(currentId)) {
216
+ engineEvents.emit('session:expired', { sessionId: currentId });
217
+ changed = true;
218
+ }
219
+ currentId = nextId;
217
220
  }
218
221
  if (changed) {
219
- this.emitSessionsListChanged();
220
- this.emitSessionsResourceUpdated();
222
+ this.emitSessionsCollectionUpdated();
221
223
  }
222
224
  }
223
225
  buildSortedSessionIdsCache() {
@@ -238,10 +240,7 @@ export class SessionStore {
238
240
  }
239
241
  const node = { prevId: undefined, nextId: undefined };
240
242
  if (this.newestSessionId) {
241
- const newest = this.sessionOrder.get(this.newestSessionId);
242
- if (newest) {
243
- newest.nextId = sessionId;
244
- }
243
+ this.setNextId(this.newestSessionId, sessionId);
245
244
  node.prevId = this.newestSessionId;
246
245
  }
247
246
  else {
@@ -261,27 +260,18 @@ export class SessionStore {
261
260
  }
262
261
  const { prevId, nextId } = node;
263
262
  if (prevId) {
264
- const previous = this.sessionOrder.get(prevId);
265
- if (previous) {
266
- previous.nextId = nextId;
267
- }
263
+ this.setNextId(prevId, nextId);
268
264
  }
269
265
  else {
270
266
  this.oldestSessionId = nextId;
271
267
  }
272
268
  if (nextId) {
273
- const next = this.sessionOrder.get(nextId);
274
- if (next) {
275
- next.prevId = prevId;
276
- }
269
+ this.setPrevId(nextId, prevId);
277
270
  }
278
271
  node.prevId = this.newestSessionId;
279
272
  node.nextId = undefined;
280
273
  if (this.newestSessionId) {
281
- const newest = this.sessionOrder.get(this.newestSessionId);
282
- if (newest) {
283
- newest.nextId = sessionId;
284
- }
274
+ this.setNextId(this.newestSessionId, sessionId);
285
275
  }
286
276
  else {
287
277
  this.oldestSessionId = sessionId;
@@ -295,25 +285,31 @@ export class SessionStore {
295
285
  }
296
286
  const { prevId, nextId } = node;
297
287
  if (prevId) {
298
- const previous = this.sessionOrder.get(prevId);
299
- if (previous) {
300
- previous.nextId = nextId;
301
- }
288
+ this.setNextId(prevId, nextId);
302
289
  }
303
290
  else {
304
291
  this.oldestSessionId = nextId;
305
292
  }
306
293
  if (nextId) {
307
- const next = this.sessionOrder.get(nextId);
308
- if (next) {
309
- next.prevId = prevId;
310
- }
294
+ this.setPrevId(nextId, prevId);
311
295
  }
312
296
  else {
313
297
  this.newestSessionId = prevId;
314
298
  }
315
299
  this.sessionOrder.delete(sessionId);
316
300
  }
301
+ setNextId(sessionId, nextId) {
302
+ const node = this.sessionOrder.get(sessionId);
303
+ if (node) {
304
+ node.nextId = nextId;
305
+ }
306
+ }
307
+ setPrevId(sessionId, prevId) {
308
+ const node = this.sessionOrder.get(sessionId);
309
+ if (node) {
310
+ node.prevId = prevId;
311
+ }
312
+ }
317
313
  deleteSessionInternal(id) {
318
314
  const session = this.sessions.get(id);
319
315
  if (!session) {
@@ -325,6 +321,16 @@ export class SessionStore {
325
321
  this.sortedSessionIdsCache = null;
326
322
  return session;
327
323
  }
324
+ markSessionTouched(session) {
325
+ session.updatedAt = Date.now();
326
+ this.touchOrder(session.id);
327
+ this.sortedSessionIdsCache = null;
328
+ this.emitSessionResourcesUpdated(session.id);
329
+ }
330
+ getSessionIdsForIteration() {
331
+ this.sortedSessionIdsCache ??= this.buildSortedSessionIdsCache();
332
+ return this.sortedSessionIdsCache;
333
+ }
328
334
  snapshotThought(thought) {
329
335
  return {
330
336
  index: thought.index,
@@ -333,11 +339,25 @@ export class SessionStore {
333
339
  };
334
340
  }
335
341
  snapshotSession(session) {
342
+ const thoughts = session.thoughts.map((thought) => this.snapshotThought(thought));
336
343
  return {
337
344
  id: session.id,
338
345
  level: session.level,
339
346
  status: session.status,
340
- thoughts: session.thoughts.map((thought) => this.snapshotThought(thought)),
347
+ thoughts,
348
+ totalThoughts: session.totalThoughts,
349
+ tokenBudget: session.tokenBudget,
350
+ tokensUsed: session.tokensUsed,
351
+ createdAt: session.createdAt,
352
+ updatedAt: session.updatedAt,
353
+ };
354
+ }
355
+ snapshotSessionSummary(session) {
356
+ return {
357
+ id: session.id,
358
+ level: session.level,
359
+ status: session.status,
360
+ generatedThoughts: session.thoughts.length,
341
361
  totalThoughts: session.totalThoughts,
342
362
  tokenBudget: session.tokenBudget,
343
363
  tokensUsed: session.tokensUsed,
@@ -351,6 +371,17 @@ export class SessionStore {
351
371
  emitSessionsResourceUpdated() {
352
372
  engineEvents.emit('resource:updated', { uri: 'reasoning://sessions' });
353
373
  }
374
+ emitSessionsCollectionUpdated() {
375
+ this.emitSessionsListChanged();
376
+ this.emitSessionsResourceUpdated();
377
+ }
378
+ emitSessionEvicted(sessionId, reason) {
379
+ engineEvents.emit('session:evicted', {
380
+ sessionId,
381
+ reason,
382
+ });
383
+ this.emitSessionsCollectionUpdated();
384
+ }
354
385
  emitSessionResourcesUpdated(sessionId) {
355
386
  engineEvents.emit('resource:updated', {
356
387
  uri: `reasoning://sessions/${sessionId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/engine/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/engine/session-store.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,6 +2,8 @@
2
2
  import { isMainThread, threadId } from 'node:worker_threads';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { createServer } from './server.js';
5
+ const FATAL_SHUTDOWN_REASON = 'fatal error';
6
+ const SHUTDOWN_SIGNALS = ['SIGTERM', 'SIGINT'];
5
7
  let activeServer;
6
8
  let shutdownPromise;
7
9
  function assertMainThread() {
@@ -16,6 +18,11 @@ async function main() {
16
18
  const transport = new StdioServerTransport();
17
19
  await activeServer.connect(transport);
18
20
  }
21
+ function registerShutdownSignals() {
22
+ for (const signal of SHUTDOWN_SIGNALS) {
23
+ registerShutdownSignal(signal);
24
+ }
25
+ }
19
26
  async function shutdown(exitCode, reason) {
20
27
  if (shutdownPromise) {
21
28
  return shutdownPromise;
@@ -35,14 +42,14 @@ async function shutdown(exitCode, reason) {
35
42
  })();
36
43
  return shutdownPromise;
37
44
  }
45
+ function registerShutdownSignal(signal) {
46
+ process.once(signal, () => {
47
+ void shutdown(0, signal);
48
+ });
49
+ }
50
+ registerShutdownSignals();
38
51
  main().catch((err) => {
39
52
  console.error('Fatal error:', err);
40
- void shutdown(1, 'fatal error');
41
- });
42
- process.once('SIGTERM', () => {
43
- void shutdown(0, 'SIGTERM');
44
- });
45
- process.once('SIGINT', () => {
46
- void shutdown(0, 'SIGINT');
53
+ void shutdown(1, FATAL_SHUTDOWN_REASON);
47
54
  });
48
55
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,IAAI,YAAyD,CAAC;AAC9D,IAAI,eAA0C,CAAC;AAE/C,SAAS,gBAAgB;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,gBAAgB,EAAE,CAAC;IACnB,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,MAAc;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,YAAY,GAAG,QAAQ,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IAC3B,KAAK,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC1B,KAAK,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAE5C,MAAM,gBAAgB,GAA8B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAE1E,IAAI,YAAyD,CAAC;AAC9D,IAAI,eAA0C,CAAC;AAE/C,SAAS,gBAAgB;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,gBAAgB,EAAE,CAAC;IACnB,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB;IAC9B,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,MAAc;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,YAAY,GAAG,QAAQ,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACxB,KAAK,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uBAAuB,EAAE,CAAC;AAE1B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,QAAQ,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC"}
@@ -8,7 +8,7 @@ These instructions are available as a resource (internal://instructions) or prom
8
8
 
9
9
  - Domain: Multi-level reasoning engine that decomposes queries into structured thought chains at configurable depth levels (basic, normal, high).
10
10
  - Primary Resources: Reasoning sessions (in-memory, 30-minute TTL), thought chains, progress notifications.
11
- - Tools: `reasoning.think` (WRITE — creates/extends sessions with LLM-authored thoughts).
11
+ - Tools: `reasoning_think` (WRITE — creates/extends sessions with LLM-authored thoughts).
12
12
 
13
13
  ---
14
14
 
@@ -40,7 +40,7 @@ These instructions are available as a resource (internal://instructions) or prom
40
40
  ## PROGRESS & TASKS
41
41
 
42
42
  - Include `_meta.progressToken` in requests to receive `notifications/progress` updates during reasoning.
43
- - Task-augmented tool calls are supported for `reasoning.think`:
43
+ - Task-augmented tool calls are supported for `reasoning_think`:
44
44
  - `execution.taskSupport: "optional"` — invoke normally or as a task.
45
45
  - Send `tools/call` with `task` to get a task id.
46
46
  - Poll `tasks/get` and fetch results via `tasks/result`.
@@ -54,7 +54,7 @@ These instructions are available as a resource (internal://instructions) or prom
54
54
 
55
55
  ### WORKFLOW A: Sequential Reasoning (Most Common)
56
56
 
57
- 1. Call `reasoning.think` with `{ query: "...", level: "basic", thought: "Your detailed reasoning for step 1..." }`.
57
+ 1. Call `reasoning_think` with `{ query: "...", level: "basic", thought: "Your detailed reasoning for step 1..." }`.
58
58
  2. Read the response — note the `sessionId` and `remainingThoughts` fields.
59
59
  3. **You MUST continue**: Call again with `{ sessionId: "<from response>", level: "<same level>", thought: "Your next reasoning step..." }`.
60
60
  4. Repeat step 3 until the response shows `status: "completed"` or `remainingThoughts: 0`.
@@ -62,20 +62,20 @@ These instructions are available as a resource (internal://instructions) or prom
62
62
 
63
63
  ### WORKFLOW B: Multi-Turn Reasoning (Session Continuation)
64
64
 
65
- 1. Call `reasoning.think` with `{ query: "initial question", level: "normal", thought: "Your first reasoning step..." }` — note the returned `sessionId`.
66
- 2. Call `reasoning.think` with `{ sessionId: "<id>", level: "normal", thought: "Your next reasoning step..." }` (optional: add `query` for follow-up context).
65
+ 1. Call `reasoning_think` with `{ query: "initial question", level: "normal", thought: "Your first reasoning step..." }` — note the returned `sessionId`.
66
+ 2. Call `reasoning_think` with `{ sessionId: "<id>", level: "normal", thought: "Your next reasoning step..." }` (optional: add `query` for follow-up context).
67
67
  3. Repeat until `status: "completed"` or `remainingThoughts: 0`, then read `reasoning://sessions/{sessionId}` for the full chain.
68
- NOTE: The `level` MUST match the original session level. Mismatches return `E_SESSION_LEVEL_MISMATCH`.
68
+ NOTE: The `level` parameter is optional when continuing; if provided and mismatched, the session level is used.
69
69
 
70
70
  ### WORKFLOW C: Controlled Depth Reasoning
71
71
 
72
- 1. Call `reasoning.think` with `{ query: "...", level: "normal", targetThoughts: 8, thought: "Your reasoning..." }` to set the session's planned step count.
72
+ 1. Call `reasoning_think` with `{ query: "...", level: "normal", targetThoughts: 8, thought: "Your reasoning..." }` to set the session's planned step count.
73
73
  2. Repeat calls with the returned `sessionId` and your next `thought` until `result.totalThoughts` is reached.
74
74
  NOTE: `targetThoughts` must fall within the level range (basic: 3–5, normal: 6–10, high: 15–25). Out-of-range values return `E_INVALID_THOUGHT_COUNT`.
75
75
 
76
76
  ### WORKFLOW D: Async Task Execution
77
77
 
78
- 1. Call `reasoning.think` as a task (send `tools/call` with `task` field) for long-running `high`-level reasoning.
78
+ 1. Call `reasoning_think` as a task (send `tools/call` with `task` field) for long-running `high`-level reasoning.
79
79
  2. Poll `tasks/get` until status is `completed` or `failed`.
80
80
  3. Retrieve the result via `tasks/result`.
81
81
  4. Use `tasks/cancel` to abort if needed.
@@ -90,7 +90,7 @@ These instructions are available as a resource (internal://instructions) or prom
90
90
 
91
91
  ## TOOL NUANCES & GOTCHAS
92
92
 
93
- `reasoning.think`
93
+ `reasoning_think`
94
94
 
95
95
  - Purpose: Generate a multi-step reasoning chain for a given query at a specified depth level.
96
96
  - Input:
@@ -99,7 +99,7 @@ These instructions are available as a resource (internal://instructions) or prom
99
99
  - `runMode` (enum: `step` | `run_to_completion`, optional): Execution mode. Defaults to `step`.
100
100
  - `thought` (string, 1–100,000 chars, **required**): Your full reasoning content for this step. The server stores this text verbatim as the thought in the session trace. Write your complete analysis, observations, and conclusions here — this is what appears in trace.md.
101
101
  - `thoughts` (array of string, optional): Additional thought inputs consumed in order when `runMode` is `run_to_completion`.
102
- - `targetThoughts` (int, 1–25, optional): Override automatic step count. Must fit within the level range.
102
+ - `targetThoughts` (int, 1–25, optional): Override automatic step count. Must fit within the level's min/max range.
103
103
  - `sessionId` (string, 1–128 chars, optional): Continue an existing session. Level must match.
104
104
  - Output: `{ ok, result: { sessionId, level, status, thoughts[], generatedThoughts, requestedThoughts, totalThoughts, remainingThoughts, tokenBudget, tokensUsed, ttlMs, expiresAt, createdAt, updatedAt, summary } }`
105
105
  - Side effects: Creates or modifies an in-memory session. Sessions expire after 30 minutes of inactivity.
@@ -117,9 +117,9 @@ These instructions are available as a resource (internal://instructions) or prom
117
117
 
118
118
  ## CROSS-FEATURE RELATIONSHIPS
119
119
 
120
- - Use `reasoning.basic` / `reasoning.normal` / `reasoning.high` prompts to construct a correctly parameterized `reasoning.think` call.
120
+ - Use `reasoning.basic` / `reasoning.normal` / `reasoning.high` prompts to construct a correctly parameterized `reasoning_think` call.
121
121
  - Use `reasoning.continue` prompt to construct a session-continuation call — it enforces `sessionId` and `level` pairing.
122
- - After calling `reasoning.think`, read `reasoning://sessions/{sessionId}` to retrieve the full session state including all accumulated thoughts.
122
+ - After calling `reasoning_think`, read `reasoning://sessions/{sessionId}` to retrieve the full session state including all accumulated thoughts.
123
123
  - Use `reasoning://sessions` to discover active sessions before attempting continuation — avoids `E_SESSION_NOT_FOUND`.
124
124
 
125
125
  ---
@@ -140,9 +140,9 @@ These instructions are available as a resource (internal://instructions) or prom
140
140
  ## ERROR HANDLING STRATEGY
141
141
 
142
142
  - `E_SESSION_NOT_FOUND`: Session expired or never existed. Call `reasoning://sessions` to list active sessions, or start a new session without `sessionId`.
143
- - `E_SESSION_LEVEL_MISMATCH`: Requested level differs from the existing session. Use the same level as the original session, or start a new session.
144
143
  - `E_INVALID_THOUGHT_COUNT`: `targetThoughts` is outside the level range. Check ranges: basic (3–5), normal (6–10), high (15–25).
145
144
  - `E_INSUFFICIENT_THOUGHTS`: In `run_to_completion`, the request did not provide enough thought inputs for planned remaining steps.
146
145
  - `E_INVALID_RUN_MODE_ARGS`: Invalid `runMode` argument combination (for example, missing `targetThoughts` when starting a new run-to-completion session).
147
146
  - `E_ABORTED`: Reasoning was cancelled via abort signal or task cancellation. Retry with a new request if needed.
147
+ - `E_SERVER_BUSY`: Too many concurrent task-mode reasoning calls (default cap: 32). Retry after a short delay, or use normal (non-task) invocation.
148
148
  - `E_REASONING`: Unexpected engine error. Check the error `message` field for details and retry.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAOA,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3E,OAAO,EAAE,IAAI,CAAC;CACf;AAWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiBtD;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,aAAa,CAOf"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3E,OAAO,EAAE,IAAI,CAAC;CACf;AAuBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAetD;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,aAAa,CAQf"}
@@ -3,6 +3,10 @@ const INSPECT_OPTIONS = {
3
3
  depth: 3,
4
4
  breakLength: 120,
5
5
  };
6
+ const UNKNOWN_ERROR_MESSAGE = 'Unknown error';
7
+ function isRecord(value) {
8
+ return typeof value === 'object' && value !== null;
9
+ }
6
10
  function stringifyUnknown(value) {
7
11
  try {
8
12
  return JSON.stringify(value);
@@ -12,6 +16,12 @@ function stringifyUnknown(value) {
12
16
  }
13
17
  return inspect(value, INSPECT_OPTIONS);
14
18
  }
19
+ function getMessageFromErrorLike(value) {
20
+ if (!isRecord(value)) {
21
+ return undefined;
22
+ }
23
+ return typeof value.message === 'string' ? value.message : undefined;
24
+ }
15
25
  export function getErrorMessage(error) {
16
26
  if (typeof error === 'string') {
17
27
  return error;
@@ -20,20 +30,19 @@ export function getErrorMessage(error) {
20
30
  return error.message;
21
31
  }
22
32
  if (error === null || error === undefined) {
23
- return 'Unknown error';
33
+ return UNKNOWN_ERROR_MESSAGE;
24
34
  }
25
- if (typeof error === 'object') {
26
- const maybeError = error;
27
- if (typeof maybeError.message === 'string') {
28
- return maybeError.message;
29
- }
35
+ const errorLikeMessage = getMessageFromErrorLike(error);
36
+ if (errorLikeMessage !== undefined) {
37
+ return errorLikeMessage;
30
38
  }
31
39
  return stringifyUnknown(error);
32
40
  }
33
41
  export function createErrorResponse(code, message) {
34
42
  const structured = { ok: false, error: { code, message } };
43
+ const text = JSON.stringify(structured);
35
44
  return {
36
- content: [{ type: 'text', text: JSON.stringify(structured) }],
45
+ content: [{ type: 'text', text }],
37
46
  structuredContent: structured,
38
47
  isError: true,
39
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,GAAG;CACR,CAAC;AASX,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAA8B,CAAC;QAClD,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe;IAEf,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,iBAAiB,EAAE,UAAU;QAC7B,OAAO,EAAE,IAAa;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,GAAG;CACR,CAAC;AACX,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAS9C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe;IAEf,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;QAC1C,iBAAiB,EAAE,UAAU;QAC7B,OAAO,EAAE,IAAa;KACvB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/lib/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,SAAS,aAAa,EAAE,CAwC1B;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,KAAK,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CAuCR"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/lib/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,SAAS,aAAa,EAAE,CAwC1B;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,KAAK,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CA+BR"}