@j0hanz/cortex-mcp 1.3.0 → 1.4.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 (94) hide show
  1. package/dist/engine/config.d.ts +1 -1
  2. package/dist/engine/config.js +8 -1
  3. package/dist/engine/context.d.ts +0 -1
  4. package/dist/engine/context.js +0 -1
  5. package/dist/engine/events.d.ts +0 -1
  6. package/dist/engine/events.js +0 -1
  7. package/dist/engine/reasoner.d.ts +7 -2
  8. package/dist/engine/reasoner.js +21 -7
  9. package/dist/engine/session-store.d.ts +2 -2
  10. package/dist/engine/session-store.js +25 -2
  11. package/dist/index.d.ts +0 -1
  12. package/dist/index.js +0 -1
  13. package/dist/lib/errors.d.ts +0 -1
  14. package/dist/lib/errors.js +0 -1
  15. package/dist/lib/formatting.d.ts +0 -1
  16. package/dist/lib/formatting.js +0 -1
  17. package/dist/lib/prompt-contracts.d.ts +14 -0
  18. package/dist/lib/prompt-contracts.js +124 -0
  19. package/dist/lib/text.d.ts +0 -1
  20. package/dist/lib/text.js +0 -1
  21. package/dist/lib/tool-contracts.d.ts +15 -0
  22. package/dist/lib/tool-contracts.js +92 -0
  23. package/dist/lib/tool-response.d.ts +0 -1
  24. package/dist/lib/tool-response.js +0 -1
  25. package/dist/lib/types.d.ts +1 -1
  26. package/dist/lib/types.js +0 -1
  27. package/dist/lib/validators.d.ts +0 -1
  28. package/dist/lib/validators.js +0 -1
  29. package/dist/prompts/index.d.ts +0 -1
  30. package/dist/prompts/index.js +60 -48
  31. package/dist/resources/index.d.ts +0 -1
  32. package/dist/resources/index.js +26 -3
  33. package/dist/resources/instructions.d.ts +1 -0
  34. package/dist/resources/instructions.js +95 -0
  35. package/dist/resources/tool-catalog.d.ts +1 -0
  36. package/dist/resources/tool-catalog.js +20 -0
  37. package/dist/resources/tool-info.d.ts +2 -0
  38. package/dist/resources/tool-info.js +35 -0
  39. package/dist/resources/workflows.d.ts +1 -0
  40. package/dist/resources/workflows.js +60 -0
  41. package/dist/schemas/inputs.d.ts +7 -2
  42. package/dist/schemas/inputs.js +37 -2
  43. package/dist/schemas/outputs.d.ts +3 -1
  44. package/dist/schemas/outputs.js +4 -1
  45. package/dist/server.d.ts +0 -1
  46. package/dist/server.js +2 -3
  47. package/dist/tools/index.d.ts +0 -1
  48. package/dist/tools/index.js +0 -1
  49. package/dist/tools/reasoning-think.d.ts +0 -1
  50. package/dist/tools/reasoning-think.js +169 -33
  51. package/package.json +9 -10
  52. package/dist/engine/config.d.ts.map +0 -1
  53. package/dist/engine/config.js.map +0 -1
  54. package/dist/engine/context.d.ts.map +0 -1
  55. package/dist/engine/context.js.map +0 -1
  56. package/dist/engine/events.d.ts.map +0 -1
  57. package/dist/engine/events.js.map +0 -1
  58. package/dist/engine/reasoner.d.ts.map +0 -1
  59. package/dist/engine/reasoner.js.map +0 -1
  60. package/dist/engine/session-store.d.ts.map +0 -1
  61. package/dist/engine/session-store.js.map +0 -1
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js.map +0 -1
  64. package/dist/instructions.md +0 -148
  65. package/dist/lib/errors.d.ts.map +0 -1
  66. package/dist/lib/errors.js.map +0 -1
  67. package/dist/lib/formatting.d.ts.map +0 -1
  68. package/dist/lib/formatting.js.map +0 -1
  69. package/dist/lib/instructions.d.ts +0 -5
  70. package/dist/lib/instructions.d.ts.map +0 -1
  71. package/dist/lib/instructions.js +0 -30
  72. package/dist/lib/instructions.js.map +0 -1
  73. package/dist/lib/text.d.ts.map +0 -1
  74. package/dist/lib/text.js.map +0 -1
  75. package/dist/lib/tool-response.d.ts.map +0 -1
  76. package/dist/lib/tool-response.js.map +0 -1
  77. package/dist/lib/types.d.ts.map +0 -1
  78. package/dist/lib/types.js.map +0 -1
  79. package/dist/lib/validators.d.ts.map +0 -1
  80. package/dist/lib/validators.js.map +0 -1
  81. package/dist/prompts/index.d.ts.map +0 -1
  82. package/dist/prompts/index.js.map +0 -1
  83. package/dist/resources/index.d.ts.map +0 -1
  84. package/dist/resources/index.js.map +0 -1
  85. package/dist/schemas/inputs.d.ts.map +0 -1
  86. package/dist/schemas/inputs.js.map +0 -1
  87. package/dist/schemas/outputs.d.ts.map +0 -1
  88. package/dist/schemas/outputs.js.map +0 -1
  89. package/dist/server.d.ts.map +0 -1
  90. package/dist/server.js.map +0 -1
  91. package/dist/tools/index.d.ts.map +0 -1
  92. package/dist/tools/index.js.map +0 -1
  93. package/dist/tools/reasoning-think.d.ts.map +0 -1
  94. package/dist/tools/reasoning-think.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { getLevelDescriptionString } from '../engine/config.js';
1
2
  import { reason, sessionStore } from '../engine/reasoner.js';
2
3
  import { ReasoningThinkInputSchema, } from '../schemas/inputs.js';
3
4
  import { ReasoningThinkToolOutputSchema } from '../schemas/outputs.js';
@@ -5,6 +6,7 @@ import { createErrorResponse, getErrorMessage } from '../lib/errors.js';
5
6
  import { formatThoughtsToMarkdown } from '../lib/formatting.js';
6
7
  import { createToolResponse } from '../lib/tool-response.js';
7
8
  const DEFAULT_MAX_ACTIVE_REASONING_TASKS = 32;
9
+ // Use explicit server busy error code for better client handling
8
10
  const TASK_OVERLOAD_MESSAGE = 'Server busy: too many active reasoning tasks';
9
11
  function buildTraceResource(session) {
10
12
  return {
@@ -155,10 +157,15 @@ function mapReasoningErrorCode(message) {
155
157
  }
156
158
  }
157
159
  function shouldEmitProgress(progress, total, level) {
158
- if (progress <= 1 || progress >= total || level !== 'high') {
160
+ if (progress <= 1 || progress >= total) {
159
161
  return true;
160
162
  }
161
- return progress % 2 === 0;
163
+ // High level: emit every 2 steps to reduce noise
164
+ if (level === 'high') {
165
+ return progress % 2 === 0;
166
+ }
167
+ // Basic/Normal: emit every step
168
+ return true;
162
169
  }
163
170
  function resolveRunMode(params) {
164
171
  return params.runMode ?? 'step';
@@ -166,7 +173,9 @@ function resolveRunMode(params) {
166
173
  function buildThoughtInputs(params) {
167
174
  const primary = Array.isArray(params.thought)
168
175
  ? params.thought
169
- : [params.thought];
176
+ : params.thought
177
+ ? [params.thought]
178
+ : [];
170
179
  return [...primary, ...(params.thoughts ?? [])];
171
180
  }
172
181
  function getStartingThoughtCount(sessionId) {
@@ -182,21 +191,50 @@ function shouldStopReasoningLoop(session, runMode) {
182
191
  session.tokensUsed >= session.tokenBudget);
183
192
  }
184
193
  async function executeReasoningSteps(args) {
185
- const { taskStore, taskId, controller, queryText, level, sessionId, targetThoughts, runMode, thoughtInputs, onProgress, } = args;
194
+ const { taskStore, taskId, controller, queryText, level, sessionId, targetThoughts, runMode, thoughtInputs, onProgress, observation, hypothesis, evaluation, stepSummary, isConclusion, rollbackToStep, } = args;
186
195
  let activeSessionId = sessionId;
187
196
  let session;
188
- const maxSteps = runMode === 'step' ? 1 : thoughtInputs.length;
197
+ let maxSteps = runMode === 'step' ? 1 : thoughtInputs.length;
198
+ if (maxSteps === 0 &&
199
+ (observation ||
200
+ hypothesis ||
201
+ evaluation ||
202
+ isConclusion ||
203
+ rollbackToStep !== undefined)) {
204
+ maxSteps = 1;
205
+ }
189
206
  for (let index = 0; index < maxSteps; index++) {
190
207
  await ensureTaskIsActive(taskStore, taskId, controller);
191
208
  const inputThought = thoughtInputs[index];
192
- if (inputThought === undefined) {
209
+ // Break if no thought and no structured input (only valid for first step if structured)
210
+ if (inputThought === undefined &&
211
+ (index > 0 ||
212
+ (!observation &&
213
+ !hypothesis &&
214
+ !evaluation &&
215
+ !isConclusion &&
216
+ rollbackToStep === undefined))) {
193
217
  break;
194
218
  }
195
219
  const reasonOptions = {
196
- thought: inputThought,
220
+ ...(inputThought !== undefined ? { thought: inputThought } : {}),
197
221
  abortSignal: controller.signal,
198
222
  onProgress,
199
223
  };
224
+ if (index === 0) {
225
+ if (observation !== undefined)
226
+ reasonOptions.observation = observation;
227
+ if (hypothesis !== undefined)
228
+ reasonOptions.hypothesis = hypothesis;
229
+ if (evaluation !== undefined)
230
+ reasonOptions.evaluation = evaluation;
231
+ if (stepSummary !== undefined)
232
+ reasonOptions.stepSummary = stepSummary;
233
+ if (isConclusion !== undefined)
234
+ reasonOptions.isConclusion = isConclusion;
235
+ if (rollbackToStep !== undefined)
236
+ reasonOptions.rollbackToStep = rollbackToStep;
237
+ }
200
238
  if (activeSessionId !== undefined) {
201
239
  reasonOptions.sessionId = activeSessionId;
202
240
  }
@@ -247,8 +285,24 @@ function buildSummary(session, remainingThoughts) {
247
285
  if (session.status === 'cancelled') {
248
286
  return `Session cancelled at thought ${String(session.thoughts.length)}/${String(session.totalThoughts)}. Session ${session.id}.`;
249
287
  }
250
- return (`CONTINUE: Call reasoning_think with { sessionId: "${session.id}", level: "${session.level}", thought: "<your next reasoning step>" }. ` +
251
- `Progress: ${String(session.thoughts.length)}/${String(session.totalThoughts)} thoughts, ${String(remainingThoughts)} remaining.`);
288
+ const recentSummaries = session.thoughts
289
+ .filter((t) => t.stepSummary)
290
+ .slice(-3)
291
+ .map((t) => `Step ${t.index + 1}: ${t.stepSummary ?? ''}`)
292
+ .join('; ');
293
+ const summaryText = recentSummaries
294
+ ? `Summary so far: ${recentSummaries}. `
295
+ : '';
296
+ const progress = session.thoughts.length / session.totalThoughts;
297
+ let prompt = 'Synthesize your findings toward a final conclusion.';
298
+ if (progress < 0.3) {
299
+ prompt = 'Focus on gathering facts and identifying unknowns.';
300
+ }
301
+ else if (progress < 0.7) {
302
+ prompt = 'Formulate and critique hypotheses based on the facts.';
303
+ }
304
+ return (`CONTINUE: ${prompt} Call reasoning_think with { sessionId: "${session.id}", level: "${session.level}", thought: "<your next reasoning step>" }. ` +
305
+ `${summaryText}Progress: ${String(session.thoughts.length)}/${String(session.totalThoughts)} thoughts, ${String(remainingThoughts)} remaining.`);
252
306
  }
253
307
  async function emitLog(server, level, data, sessionId) {
254
308
  try {
@@ -293,22 +347,38 @@ async function ensureTaskIsActive(taskStore, taskId, controller) {
293
347
  }
294
348
  }
295
349
  function createProgressHandler(args) {
296
- const { server, taskStore, taskId, level, progressToken, controller } = args;
350
+ const { server, taskStore, taskId, level, progressToken, controller, startingCount, batchTotal, } = args;
297
351
  return async (progress, total) => {
298
352
  await ensureTaskIsActive(taskStore, taskId, controller);
299
- if (progressToken === undefined ||
300
- !shouldEmitProgress(progress, total, level)) {
353
+ if (progressToken === undefined) {
301
354
  return;
302
355
  }
303
- await server.server.notification({
304
- method: 'notifications/progress',
305
- params: {
306
- progressToken,
307
- progress,
308
- total,
309
- message: `𖦹 Thought [${String(progress)}/${String(total)}]`,
310
- },
311
- });
356
+ const currentBatchIndex = Math.max(0, progress - startingCount);
357
+ // Ensure we don't exceed batchTotal for the progress bar (though technically logic shouldn't)
358
+ const displayProgress = Math.min(currentBatchIndex, batchTotal);
359
+ const isTerminal = displayProgress >= batchTotal;
360
+ // We must emit if it's the terminal update for this batch,
361
+ // otherwise we respect the session-level skipping rules.
362
+ if (!isTerminal && !shouldEmitProgress(progress, total, level)) {
363
+ return;
364
+ }
365
+ const message = isTerminal
366
+ ? `.𖦹°‧ reasoning_think: [${String(total)}/${String(total)}] • done`
367
+ : `.𖦹°‧ reasoning_think: [${String(progress)}/${String(total)}]`;
368
+ try {
369
+ await server.server.notification({
370
+ method: 'notifications/progress',
371
+ params: {
372
+ progressToken,
373
+ progress: displayProgress,
374
+ total: batchTotal,
375
+ message,
376
+ },
377
+ });
378
+ }
379
+ catch {
380
+ // Ignore notification errors
381
+ }
312
382
  };
313
383
  }
314
384
  async function storeTaskFailure(taskStore, taskId, response) {
@@ -355,10 +425,25 @@ function assertRunToCompletionInputCount(params, thoughtInputs) {
355
425
  throw new Error(`run_to_completion requires at least ${String(requiredInputs)} thought inputs; received ${String(thoughtInputs.length)}`);
356
426
  }
357
427
  }
428
+ function getActionableMessage(errorCode, originalMessage) {
429
+ switch (errorCode) {
430
+ case 'E_SESSION_LEVEL_MISMATCH':
431
+ return `${originalMessage} ACTION REQUIRED: Re-call reasoning_think with the correct level matching the session.`;
432
+ case 'E_INVALID_THOUGHT_COUNT':
433
+ return `${originalMessage} ACTION REQUIRED: Ensure targetThoughts is within the level's range.`;
434
+ case 'E_INSUFFICIENT_THOUGHTS':
435
+ return `${originalMessage} ACTION REQUIRED: Provide enough thoughts for run_to_completion or switch to step mode.`;
436
+ case 'E_INVALID_RUN_MODE_ARGS':
437
+ return `${originalMessage} ACTION REQUIRED: Provide targetThoughts when starting a new session in run_to_completion mode.`;
438
+ default:
439
+ return originalMessage;
440
+ }
441
+ }
358
442
  async function handleTaskFailure(args) {
359
443
  const { server, taskStore, taskId, sessionId, error } = args;
360
- const message = getErrorMessage(error);
361
- const errorCode = mapReasoningErrorCode(message);
444
+ const originalMessage = getErrorMessage(error);
445
+ const errorCode = mapReasoningErrorCode(originalMessage);
446
+ const message = getActionableMessage(errorCode, originalMessage);
362
447
  const response = createErrorResponse(errorCode, message);
363
448
  if (await isTaskCancelled(taskStore, taskId)) {
364
449
  await emitLog(server, 'notice', { event: 'task_cancelled', taskId, reason: message }, sessionId);
@@ -398,12 +483,41 @@ async function runReasoningTask(args) {
398
483
  assertRunToCompletionInputCount(params, thoughtInputs);
399
484
  }
400
485
  const startingCount = getStartingThoughtCount(params.sessionId);
486
+ let batchTotal = runMode === 'step' ? 1 : thoughtInputs.length;
487
+ if (batchTotal === 0 &&
488
+ (params.observation !== undefined ||
489
+ params.hypothesis !== undefined ||
490
+ params.evaluation !== undefined ||
491
+ params.is_conclusion !== undefined ||
492
+ params.rollback_to_step !== undefined)) {
493
+ batchTotal = 1;
494
+ }
495
+ if (progressToken !== undefined) {
496
+ try {
497
+ await server.server.notification({
498
+ method: 'notifications/progress',
499
+ params: {
500
+ progressToken,
501
+ progress: 0,
502
+ total: Math.max(1, batchTotal),
503
+ message: level !== undefined
504
+ ? `reasoning_think: starting [${level}]`
505
+ : 'reasoning_think: continuing session',
506
+ },
507
+ });
508
+ }
509
+ catch {
510
+ // Ignore notification errors
511
+ }
512
+ }
401
513
  const progressArgs = {
402
514
  server,
403
515
  taskStore,
404
516
  taskId,
405
517
  level,
406
518
  controller,
519
+ startingCount,
520
+ batchTotal: Math.max(1, batchTotal),
407
521
  };
408
522
  if (progressToken !== undefined) {
409
523
  progressArgs.progressToken = progressToken;
@@ -425,6 +539,18 @@ async function runReasoningTask(args) {
425
539
  if (targetThoughts !== undefined) {
426
540
  executeArgs.targetThoughts = targetThoughts;
427
541
  }
542
+ if (params.observation !== undefined)
543
+ executeArgs.observation = params.observation;
544
+ if (params.hypothesis !== undefined)
545
+ executeArgs.hypothesis = params.hypothesis;
546
+ if (params.evaluation !== undefined)
547
+ executeArgs.evaluation = params.evaluation;
548
+ if (params.step_summary !== undefined)
549
+ executeArgs.stepSummary = params.step_summary;
550
+ if (params.is_conclusion !== undefined)
551
+ executeArgs.isConclusion = params.is_conclusion;
552
+ if (params.rollback_to_step !== undefined)
553
+ executeArgs.rollbackToStep = params.rollback_to_step;
428
554
  const session = await executeReasoningSteps(executeArgs);
429
555
  if (await isTaskCancelled(taskStore, taskId)) {
430
556
  await emitLog(server, 'notice', { event: 'task_cancelled_before_result', taskId }, sessionId);
@@ -468,25 +594,36 @@ function withIconMeta(iconMeta) {
468
594
  export function registerReasoningThinkTool(server, iconMeta) {
469
595
  server.experimental.tasks.registerToolTask(TOOL_NAME, {
470
596
  title: 'Reasoning Think',
471
- description: 'Structured multi-step reasoning tool. Decomposes analysis into sequential thought steps stored in a persistent session trace.\n\n' +
472
- 'USAGE PATTERN:\n' +
473
- '1. Start: { query: "...", level: "basic"|"normal"|"high", thought: "your analysis..." }\n' +
474
- '2. Continue: { sessionId: "<from response>", level: "<same level>", thought: "next step..." }\n' +
475
- '3. Repeat step 2 until response shows status: "completed"\n\n' +
476
- 'IMPORTANT: You MUST pass the returned sessionId on every continuation call, and use the same level throughout.\n' +
477
- 'The thought parameter stores YOUR reasoning verbatim — write thorough analysis in each step.\n\n' +
478
- 'Levels: basic (3–5 steps, 2K budget), normal (6–10, 8K), high (15–25, 32K).\n' +
479
- 'Alternative: Use runMode="run_to_completion" with thought + thoughts[] to submit all steps in one call.',
597
+ description: `Structured multi-step reasoning tool. Decomposes analysis into sequential thought steps stored in a persistent session trace.
598
+
599
+ USAGE PATTERN:
600
+ 1. Start: { query: "...", level: "basic"|"normal"|"high", thought: "your analysis..." }
601
+ 2. Continue: { sessionId: "<from response>", level: "<same level>", thought: "next step..." }
602
+ 3. Repeat step 2 until response shows status: "completed"
603
+
604
+ IMPORTANT: You MUST pass the returned sessionId on every continuation call, and use the same level throughout.
605
+ The thought parameter stores YOUR reasoning verbatim write thorough analysis in each step.
606
+ Use step_summary to record a 1-sentence conclusion per step — these accumulate in the summary field for context.
607
+
608
+ Levels: ${getLevelDescriptionString()}.
609
+ Alternative: Use runMode="run_to_completion" with thought + thoughts[] to submit all steps in one call.
610
+ Alternative input: Use observation/hypothesis/evaluation fields instead of thought for structured reasoning.
611
+ Error recovery: If E_SESSION_NOT_FOUND, the session expired — start a new session. If E_INVALID_THOUGHT_COUNT, check level ranges.`,
480
612
  inputSchema: ReasoningThinkInputSchema,
481
613
  outputSchema: ReasoningThinkToolOutputSchema,
482
614
  annotations: {
483
615
  readOnlyHint: false,
484
616
  idempotentHint: false,
617
+ destructiveHint: false,
618
+ openWorldHint: false,
485
619
  },
486
620
  execution: { taskSupport: 'optional' },
487
621
  ...(withIconMeta(iconMeta) ?? {}),
488
622
  }, {
489
623
  async createTask(rawParams, rawExtra) {
624
+ // Enforce fail-fast for budget before creating tasks if possible,
625
+ // but session check requires sessionId which might not be present (new session).
626
+ // So we rely on reason() logic.
490
627
  const parseResult = ReasoningThinkInputSchema.safeParse(rawParams);
491
628
  if (!parseResult.success) {
492
629
  throw new Error(`Invalid reasoning_think params: ${parseResult.error.message}`);
@@ -539,4 +676,3 @@ export function registerReasoningThinkTool(server, iconMeta) {
539
676
  },
540
677
  });
541
678
  }
542
- //# sourceMappingURL=reasoning-think.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@j0hanz/cortex-mcp",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "mcpName": "io.github.j0hanz/cortex-mcp",
5
5
  "author": "Johanz",
6
6
  "license": "MIT",
@@ -38,7 +38,6 @@
38
38
  ],
39
39
  "scripts": {
40
40
  "clean": "node scripts/tasks.mjs clean",
41
- "validate:instructions": "node scripts/tasks.mjs validate:instructions",
42
41
  "build": "node scripts/tasks.mjs build",
43
42
  "copy:assets": "node scripts/tasks.mjs copy:assets",
44
43
  "prepare": "npm run build",
@@ -47,20 +46,20 @@
47
46
  "start": "node dist/index.js",
48
47
  "format": "prettier --write .",
49
48
  "type-check": "node scripts/tasks.mjs type-check",
50
- "type-check:tests": "tsc --noEmit -p tsconfig.tests.json",
49
+ "type-check:src": "node node_modules/typescript/bin/tsc -p tsconfig.json --noEmit",
50
+ "type-check:tests": "node node_modules/typescript/bin/tsc -p tsconfig.test.json --noEmit",
51
51
  "type-check:diagnostics": "tsc --noEmit --extendedDiagnostics",
52
52
  "type-check:trace": "node -e \"require('fs').rmSync('.ts-trace',{recursive:true,force:true})\" && tsc --noEmit --generateTrace .ts-trace",
53
53
  "lint": "eslint .",
54
- "lint:tests": "eslint --no-ignore src/__tests__/**/*.test.ts",
54
+ "lint:tests": "eslint src/__tests__",
55
55
  "lint:fix": "eslint . --fix",
56
- "check:docs:mcp": "node scripts/check-mcp-docs-quality.mjs",
57
56
  "test": "node scripts/tasks.mjs test",
58
- "test:fast": "node --test --import tsx/esm src/__tests__/**/*.test.ts",
57
+ "test:fast": "node --test --import tsx/esm src/__tests__/**/*.test.ts node-tests/**/*.test.ts",
59
58
  "test:coverage": "node scripts/tasks.mjs test --coverage",
60
59
  "knip": "knip",
61
60
  "knip:fix": "knip --fix",
62
- "inspector": "npm run build && npx -y @modelcontextprotocol/inspector node dist/index.js ${workspaceFolder}",
63
- "prepublishOnly": "npm run lint && npm run lint:tests && npm run type-check && npm run type-check:tests && npm run build"
61
+ "inspector": "npm run build && npx -y @modelcontextprotocol/inspector node dist/index.js",
62
+ "prepublishOnly": "npm run lint && npm run type-check && npm run build"
64
63
  },
65
64
  "dependencies": {
66
65
  "@modelcontextprotocol/sdk": "^1.26.0",
@@ -68,14 +67,14 @@
68
67
  },
69
68
  "devDependencies": {
70
69
  "@eslint/js": "^10.0.1",
71
- "eslint": "^10.0.0",
70
+ "eslint": "^10.0.1",
72
71
  "@trivago/prettier-plugin-sort-imports": "^6.0.2",
73
72
  "@types/node": "^24",
74
73
  "eslint-config-prettier": "^10.1.8",
75
74
  "eslint-plugin-de-morgan": "^2.0.0",
76
75
  "eslint-plugin-depend": "^1.4.0",
77
76
  "eslint-plugin-unused-imports": "^4.4.1",
78
- "knip": "^5.84.1",
77
+ "knip": "^5.85.0",
79
78
  "prettier": "^3.8.1",
80
79
  "tsx": "^4.19.0",
81
80
  "typescript": "^5.9.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/engine/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGnE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAI8B,CAAC;AAEzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAEjE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,cAAc,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAON"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/engine/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;IAC5D,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9D,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;CACR,CAAC;AAEzD,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAqB,EACrB,cAAsB;IAEtB,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAID,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEpE;AAED,wBAAgB,UAAU,IAAI,aAAa,GAAG,SAAS,CAEtD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOrD,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAiB,CAAC;AAEvD,MAAM,UAAU,cAAc,CAAI,GAAkB,EAAE,EAAW;IAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/engine/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKtD,UAAU,6BAA6B;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,YAAY;IACpB,eAAe,EAAE,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,iBAAiB,EAAE;QACjB;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;KACxE,CAAC;IACF,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,CAAC;IAC5D,iBAAiB,EAAE,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,iBAAiB,EAAE,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,iBAAiB,EAAE,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,mBAAmB,EAAE,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;CAClB;AAED,UAAU,YAAY,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACzE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAClB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,GACjE,IAAI,CAAC;IACR,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EACnB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,GACjE,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EACpB,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAC7C,OAAO,CAAC;CACZ;AAED,eAAO,MAAM,YAAY,EAEnB,YAAY,CAAC,YAAY,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/engine/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAC3C,MAAM,8BAA8B,GAAG,GAAG,uBAAuB,GAAG,CAAC;AAwCrE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;IAC3C,iBAAiB,EAAE,IAAI;CACxB,CAA+B,CAAC;AAEjC,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,8BAA8B,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAC7D,CAAC;AACJ,CAAC;AAED,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reasoner.d.ts","sourceRoot":"","sources":["../../src/engine/reasoner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,cAAc,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBlD,QAAA,MAAM,YAAY,cAIjB,CAAC;AAKF,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,cAAc,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CA6D5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../src/engine/reasoner.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/engine/session-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,cAAc,EACd,OAAO,EACP,cAAc,EACd,OAAO,EACR,MAAM,iBAAiB,CAAC;AAsCzB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,WAAW,CAAK;gBAGtB,KAAK,GAAE,MAAuB,EAC9B,WAAW,GAAE,MAA6B,EAC1C,cAAc,GAAE,MAAiC;IAYnD,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;IAuBxE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;IAK9C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS;IAK5D,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;IAW3B,cAAc,IAAI,SAAS,MAAM,EAAE;IAKnC,aAAa,IAAI,SAAS,cAAc,EAAE;IAW1C,QAAQ,IAAI,MAAM;IAIlB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQnD,kBAAkB,IAAI,MAAM;IAI5B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU3B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAmBvD,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO;IA6BV,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,KAAK;IA2Bb,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,UAAU;IAkClB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,2BAA2B;CAMpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/engine/session-store.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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"}
@@ -1,148 +0,0 @@
1
- # CORTEX-MCP INSTRUCTIONS
2
-
3
- These instructions are available as a resource (internal://instructions) or prompt (get-help). Load them when unsure about tool usage.
4
-
5
- ---
6
-
7
- ## CORE CAPABILITY
8
-
9
- - Domain: Multi-level reasoning engine that decomposes queries into structured thought chains at configurable depth levels (basic, normal, high).
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).
12
-
13
- ---
14
-
15
- ## PROMPTS
16
-
17
- - `get-help`: Returns these instructions for quick recall.
18
- - `reasoning.basic`: Prepare a basic-depth reasoning request (3–5 thoughts).
19
- - `reasoning.normal`: Prepare a normal-depth reasoning request (6–10 thoughts).
20
- - `reasoning.high`: Prepare a high-depth reasoning request (15–25 thoughts).
21
- - `reasoning.continue`: Continue an existing reasoning session (follow-up query optional).
22
- - `reasoning.retry`: Retry a failed reasoning task with modified parameters.
23
-
24
- ---
25
-
26
- ## RESOURCES & RESOURCE LINKS
27
-
28
- - `internal://instructions`: This document.
29
- - `reasoning://sessions`: List all active reasoning sessions with metadata (JSON).
30
- - `reasoning://sessions/{sessionId}`: Inspect a specific session's thoughts and metadata (JSON). Supports auto-completion on `sessionId`.
31
- - `file:///cortex/sessions/{sessionId}/trace.md`: Full Markdown trace of a session. Supports auto-completion on `sessionId`.
32
- - `file:///cortex/sessions/{sessionId}/{thoughtName}.md`: Markdown content of a single thought (e.g., `Thought-1.md`). Supports auto-completion on `sessionId` and `thoughtName`.
33
- - The server supports `resources/subscribe` for real-time change notifications on individual resources.
34
- - Subscribe to `reasoning://sessions/{sessionId}` to receive `notifications/resources/updated` when thoughts are added, revised, or status changes.
35
- - Subscribe to `reasoning://sessions` to receive aggregate updates as session content and statuses evolve.
36
- - Use subscriptions to monitor session progress without polling.
37
-
38
- ---
39
-
40
- ## PROGRESS & TASKS
41
-
42
- - Include `_meta.progressToken` in requests to receive `notifications/progress` updates during reasoning.
43
- - Task-augmented tool calls are supported for `reasoning_think`:
44
- - `execution.taskSupport: "optional"` — invoke normally or as a task.
45
- - Send `tools/call` with `task` to get a task id.
46
- - Poll `tasks/get` and fetch results via `tasks/result`.
47
- - Use `tasks/cancel` to abort a running task.
48
- - For `high` level, progress is emitted every 2 steps to reduce noise; `basic` and `normal` emit after every step.
49
- - Use `runMode: "run_to_completion"` with `thought` + `thoughts[]` to execute multiple reasoning steps in one request.
50
-
51
- ---
52
-
53
- ## THE "GOLDEN PATH" WORKFLOWS (CRITICAL)
54
-
55
- ### WORKFLOW A: Sequential Reasoning (Most Common)
56
-
57
- 1. Call `reasoning_think` with `{ query: "...", level: "basic", thought: "Your detailed reasoning for step 1..." }`.
58
- 2. Read the response — note the `sessionId` and `remainingThoughts` fields.
59
- 3. **You MUST continue**: Call again with `{ sessionId: "<from response>", level: "<same level>", thought: "Your next reasoning step..." }`.
60
- 4. Repeat step 3 until the response shows `status: "completed"` or `remainingThoughts: 0`.
61
- NOTE: The `summary` field contains the exact continuation call you should make next.
62
-
63
- ### WORKFLOW B: Multi-Turn Reasoning (Session Continuation)
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).
67
- 3. Repeat until `status: "completed"` or `remainingThoughts: 0`, then read `reasoning://sessions/{sessionId}` for the full chain.
68
- NOTE: The `level` parameter is optional when continuing; if provided and mismatched, the session level is used.
69
-
70
- ### WORKFLOW C: Controlled Depth Reasoning
71
-
72
- 1. Call `reasoning_think` with `{ query: "...", level: "normal", targetThoughts: 8, thought: "Your reasoning..." }` to set the session's planned step count.
73
- 2. Repeat calls with the returned `sessionId` and your next `thought` until `result.totalThoughts` is reached.
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
-
76
- ### WORKFLOW D: Async Task Execution
77
-
78
- 1. Call `reasoning_think` as a task (send `tools/call` with `task` field) for long-running `high`-level reasoning.
79
- 2. Poll `tasks/get` until status is `completed` or `failed`.
80
- 3. Retrieve the result via `tasks/result`.
81
- 4. Use `tasks/cancel` to abort if needed.
82
-
83
- ### WORKFLOW E: Batched Run-To-Completion
84
-
85
- 1. Start a new session with explicit `targetThoughts` and `runMode: "run_to_completion"`.
86
- 2. Provide one `thought` plus additional `thoughts[]` entries to cover the planned step count.
87
- 3. The server consumes thought inputs in order until completion, token budget exhaustion, or cancellation.
88
-
89
- ---
90
-
91
- ## TOOL NUANCES & GOTCHAS
92
-
93
- `reasoning_think`
94
-
95
- - Purpose: Generate a multi-step reasoning chain for a given query at a specified depth level.
96
- - Input:
97
- - `query` (string, 1–10,000 chars): The question or problem to reason about. Required when creating a new session; optional when `sessionId` is provided.
98
- - `level` (enum: `basic` | `normal` | `high`): Controls reasoning depth and token budget.
99
- - `runMode` (enum: `step` | `run_to_completion`, optional): Execution mode. Defaults to `step`.
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
- - `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's min/max range.
103
- - `sessionId` (string, 1–128 chars, optional): Continue an existing session. Level must match.
104
- - Output: `{ ok, result: { sessionId, level, status, thoughts[], generatedThoughts, requestedThoughts, totalThoughts, remainingThoughts, tokenBudget, tokensUsed, ttlMs, expiresAt, createdAt, updatedAt, summary } }`
105
- - Side effects: Creates or modifies an in-memory session. Sessions expire after 30 minutes of inactivity.
106
- - Gotcha: When `status` is `"active"`, the `summary` field contains the exact next call you should make — follow it to continue the session.
107
- - Gotcha: `remainingThoughts` tells you how many more calls are needed. When it reaches 0, the session is complete.
108
- - Gotcha: `runMode="step"` appends one thought per call. `runMode="run_to_completion"` can append multiple thoughts in one call using `thought` + `thoughts[]`.
109
- - Gotcha: The `thought` content is stored verbatim — the trace shows exactly what you write. Write thorough, structured reasoning for useful traces.
110
- - Gotcha: `requestedThoughts` is the effective requested count for this run: it equals `targetThoughts` when provided, otherwise `totalThoughts`.
111
- - Gotcha: For new sessions in `runMode="run_to_completion"`, provide `targetThoughts` and enough thought inputs to match planned steps.
112
- - Gotcha: Token counting is approximate (UTF-8 byte length ÷ 4), not true tokenization.
113
- - Gotcha: Without `targetThoughts`, the planned step count (`totalThoughts`) is determined by a heuristic based on query length and structural complexity (punctuation markers, keywords like "compare", "analyse", "trade-off").
114
- - Limits: Level ranges — basic: 3–5 thoughts (2K token budget), normal: 6–10 (8K), high: 15–25 (32K).
115
-
116
- ---
117
-
118
- ## CROSS-FEATURE RELATIONSHIPS
119
-
120
- - Use `reasoning.basic` / `reasoning.normal` / `reasoning.high` prompts to construct a correctly parameterized `reasoning_think` call.
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.
123
- - Use `reasoning://sessions` to discover active sessions before attempting continuation — avoids `E_SESSION_NOT_FOUND`.
124
-
125
- ---
126
-
127
- ## CONSTRAINTS & LIMITATIONS
128
-
129
- - Sessions are in-memory — all data is lost on process restart.
130
- - Session TTL: 30 minutes from last update. Expired sessions cannot be recovered.
131
- - Maximum query length: 10,000 characters.
132
- - Token budget enforcement is approximate (character-based proxy, not true tokenization).
133
- - stdio transport only — no HTTP endpoint available.
134
- - Every thought in the trace contains LLM-authored reasoning content provided via the `thought` parameter.
135
- - `targetThoughts` must be an integer within the level's min/max range.
136
- - Session store limits are configurable via `CORTEX_SESSION_TTL_MS`, `CORTEX_MAX_SESSIONS`, and `CORTEX_MAX_TOTAL_TOKENS`.
137
-
138
- ---
139
-
140
- ## ERROR HANDLING STRATEGY
141
-
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_INVALID_THOUGHT_COUNT`: `targetThoughts` is outside the level range. Check ranges: basic (3–5), normal (6–10), high (15–25).
144
- - `E_INSUFFICIENT_THOUGHTS`: In `run_to_completion`, the request did not provide enough thought inputs for planned remaining steps.
145
- - `E_INVALID_RUN_MODE_ARGS`: Invalid `runMode` argument combination (for example, missing `targetThoughts` when starting a new run-to-completion session).
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
- - `E_REASONING`: Unexpected engine error. Check the error `message` field for details and retry.
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}