@cogitator-ai/core 0.24.0 → 0.26.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 (182) hide show
  1. package/README.md +531 -167
  2. package/dist/agent-tool.d.ts +4 -3
  3. package/dist/agent-tool.d.ts.map +1 -1
  4. package/dist/agent-tool.js +15 -2
  5. package/dist/agent-tool.js.map +1 -1
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +3 -1
  8. package/dist/agent.js.map +1 -1
  9. package/dist/cache/cache-key.d.ts +1 -0
  10. package/dist/cache/cache-key.d.ts.map +1 -1
  11. package/dist/cache/cache-key.js +2 -1
  12. package/dist/cache/cache-key.js.map +1 -1
  13. package/dist/cache/storage/memory.d.ts +8 -1
  14. package/dist/cache/storage/memory.d.ts.map +1 -1
  15. package/dist/cache/storage/memory.js +8 -1
  16. package/dist/cache/storage/memory.js.map +1 -1
  17. package/dist/cache/storage/redis.d.ts +4 -0
  18. package/dist/cache/storage/redis.d.ts.map +1 -1
  19. package/dist/cache/storage/redis.js +17 -18
  20. package/dist/cache/storage/redis.js.map +1 -1
  21. package/dist/cache/tool-cache.d.ts +2 -0
  22. package/dist/cache/tool-cache.d.ts.map +1 -1
  23. package/dist/cache/tool-cache.js +4 -2
  24. package/dist/cache/tool-cache.js.map +1 -1
  25. package/dist/causal/inference/counterfactual.d.ts +2 -0
  26. package/dist/causal/inference/counterfactual.d.ts.map +1 -1
  27. package/dist/causal/inference/counterfactual.js +24 -3
  28. package/dist/causal/inference/counterfactual.js.map +1 -1
  29. package/dist/causal/inference/expression.d.ts +19 -0
  30. package/dist/causal/inference/expression.d.ts.map +1 -0
  31. package/dist/causal/inference/expression.js +177 -0
  32. package/dist/causal/inference/expression.js.map +1 -0
  33. package/dist/cogitator/initializers.d.ts +4 -3
  34. package/dist/cogitator/initializers.d.ts.map +1 -1
  35. package/dist/cogitator/initializers.js +100 -46
  36. package/dist/cogitator/initializers.js.map +1 -1
  37. package/dist/cogitator/message-builder.d.ts.map +1 -1
  38. package/dist/cogitator/message-builder.js +5 -1
  39. package/dist/cogitator/message-builder.js.map +1 -1
  40. package/dist/cogitator/prompts.d.ts.map +1 -1
  41. package/dist/cogitator/prompts.js +5 -1
  42. package/dist/cogitator/prompts.js.map +1 -1
  43. package/dist/cogitator/response-format.d.ts +7 -2
  44. package/dist/cogitator/response-format.d.ts.map +1 -1
  45. package/dist/cogitator/response-format.js +45 -7
  46. package/dist/cogitator/response-format.js.map +1 -1
  47. package/dist/cogitator/run-limiter.d.ts.map +1 -1
  48. package/dist/cogitator/run-limiter.js +5 -1
  49. package/dist/cogitator/run-limiter.js.map +1 -1
  50. package/dist/cogitator/tool-executor.d.ts +8 -2
  51. package/dist/cogitator/tool-executor.d.ts.map +1 -1
  52. package/dist/cogitator/tool-executor.js +54 -5
  53. package/dist/cogitator/tool-executor.js.map +1 -1
  54. package/dist/constitutional/constitutional-ai.d.ts +7 -0
  55. package/dist/constitutional/constitutional-ai.d.ts.map +1 -1
  56. package/dist/constitutional/constitutional-ai.js +11 -0
  57. package/dist/constitutional/constitutional-ai.js.map +1 -1
  58. package/dist/constitutional/tool-guard.d.ts +9 -0
  59. package/dist/constitutional/tool-guard.d.ts.map +1 -1
  60. package/dist/constitutional/tool-guard.js +25 -20
  61. package/dist/constitutional/tool-guard.js.map +1 -1
  62. package/dist/cost-routing/cost-estimator.d.ts.map +1 -1
  63. package/dist/cost-routing/cost-estimator.js +5 -1
  64. package/dist/cost-routing/cost-estimator.js.map +1 -1
  65. package/dist/cost-routing/cost-router.d.ts +13 -0
  66. package/dist/cost-routing/cost-router.d.ts.map +1 -1
  67. package/dist/cost-routing/cost-router.js +22 -1
  68. package/dist/cost-routing/cost-router.js.map +1 -1
  69. package/dist/cost-routing/model-selector.d.ts +13 -0
  70. package/dist/cost-routing/model-selector.d.ts.map +1 -1
  71. package/dist/cost-routing/model-selector.js +25 -16
  72. package/dist/cost-routing/model-selector.js.map +1 -1
  73. package/dist/index.d.ts +3 -3
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +2 -2
  76. package/dist/index.js.map +1 -1
  77. package/dist/learning/ab-testing.d.ts +1 -1
  78. package/dist/learning/ab-testing.d.ts.map +1 -1
  79. package/dist/learning/ab-testing.js +6 -28
  80. package/dist/learning/ab-testing.js.map +1 -1
  81. package/dist/learning/agent-optimizer.d.ts +2 -0
  82. package/dist/learning/agent-optimizer.d.ts.map +1 -1
  83. package/dist/learning/agent-optimizer.js +20 -2
  84. package/dist/learning/agent-optimizer.js.map +1 -1
  85. package/dist/learning/auto-optimizer.d.ts +11 -0
  86. package/dist/learning/auto-optimizer.d.ts.map +1 -1
  87. package/dist/learning/auto-optimizer.js +47 -16
  88. package/dist/learning/auto-optimizer.js.map +1 -1
  89. package/dist/learning/metrics.d.ts +8 -1
  90. package/dist/learning/metrics.d.ts.map +1 -1
  91. package/dist/learning/metrics.js +48 -16
  92. package/dist/learning/metrics.js.map +1 -1
  93. package/dist/learning/postgres-trace-store.d.ts +3 -1
  94. package/dist/learning/postgres-trace-store.d.ts.map +1 -1
  95. package/dist/learning/postgres-trace-store.js +27 -4
  96. package/dist/learning/postgres-trace-store.js.map +1 -1
  97. package/dist/learning/prompt-logger.d.ts +2 -2
  98. package/dist/learning/prompt-logger.d.ts.map +1 -1
  99. package/dist/learning/prompt-logger.js.map +1 -1
  100. package/dist/learning/trace-builder.d.ts.map +1 -1
  101. package/dist/learning/trace-builder.js +1 -0
  102. package/dist/learning/trace-builder.js.map +1 -1
  103. package/dist/llm/anthropic.d.ts +1 -0
  104. package/dist/llm/anthropic.d.ts.map +1 -1
  105. package/dist/llm/anthropic.js +6 -1
  106. package/dist/llm/anthropic.js.map +1 -1
  107. package/dist/llm/base.d.ts +2 -2
  108. package/dist/llm/base.d.ts.map +1 -1
  109. package/dist/llm/bedrock.d.ts.map +1 -1
  110. package/dist/llm/bedrock.js +3 -1
  111. package/dist/llm/bedrock.js.map +1 -1
  112. package/dist/llm/debug.d.ts +2 -2
  113. package/dist/llm/debug.d.ts.map +1 -1
  114. package/dist/llm/debug.js.map +1 -1
  115. package/dist/llm/google.d.ts.map +1 -1
  116. package/dist/llm/google.js +56 -6
  117. package/dist/llm/google.js.map +1 -1
  118. package/dist/llm/openai-compatible-base.d.ts +4 -0
  119. package/dist/llm/openai-compatible-base.d.ts.map +1 -1
  120. package/dist/llm/openai-compatible-base.js +38 -13
  121. package/dist/llm/openai-compatible-base.js.map +1 -1
  122. package/dist/llm/openai-responses.js +1 -1
  123. package/dist/llm/openai-responses.js.map +1 -1
  124. package/dist/llm/retry.d.ts +2 -2
  125. package/dist/llm/retry.d.ts.map +1 -1
  126. package/dist/llm/retry.js.map +1 -1
  127. package/dist/logger.d.ts +11 -2
  128. package/dist/logger.d.ts.map +1 -1
  129. package/dist/logger.js +35 -6
  130. package/dist/logger.js.map +1 -1
  131. package/dist/observability/langfuse.d.ts +1 -0
  132. package/dist/observability/langfuse.d.ts.map +1 -1
  133. package/dist/observability/langfuse.js.map +1 -1
  134. package/dist/observability/opentelemetry.d.ts +1 -0
  135. package/dist/observability/opentelemetry.d.ts.map +1 -1
  136. package/dist/observability/opentelemetry.js.map +1 -1
  137. package/dist/reasoning/thought-tree.d.ts +28 -4
  138. package/dist/reasoning/thought-tree.d.ts.map +1 -1
  139. package/dist/reasoning/thought-tree.js +173 -110
  140. package/dist/reasoning/thought-tree.js.map +1 -1
  141. package/dist/runtime.d.ts +39 -5
  142. package/dist/runtime.d.ts.map +1 -1
  143. package/dist/runtime.js +158 -50
  144. package/dist/runtime.js.map +1 -1
  145. package/dist/security/pii.d.ts +2 -2
  146. package/dist/security/pii.d.ts.map +1 -1
  147. package/dist/security/pii.js.map +1 -1
  148. package/dist/time-travel/checkpoint-store.d.ts +6 -1
  149. package/dist/time-travel/checkpoint-store.d.ts.map +1 -1
  150. package/dist/time-travel/checkpoint-store.js +15 -18
  151. package/dist/time-travel/checkpoint-store.js.map +1 -1
  152. package/dist/time-travel/replayer.d.ts +0 -1
  153. package/dist/time-travel/replayer.d.ts.map +1 -1
  154. package/dist/time-travel/replayer.js +12 -19
  155. package/dist/time-travel/replayer.js.map +1 -1
  156. package/dist/time-travel/time-travel.d.ts +0 -1
  157. package/dist/time-travel/time-travel.d.ts.map +1 -1
  158. package/dist/time-travel/time-travel.js +15 -14
  159. package/dist/time-travel/time-travel.js.map +1 -1
  160. package/dist/tool.d.ts +7 -0
  161. package/dist/tool.d.ts.map +1 -1
  162. package/dist/tool.js +10 -0
  163. package/dist/tool.js.map +1 -1
  164. package/dist/tools/index.d.ts +3 -416
  165. package/dist/tools/index.d.ts.map +1 -1
  166. package/dist/tools/index.js +1 -0
  167. package/dist/tools/index.js.map +1 -1
  168. package/dist/tools/memory-tools.d.ts +4 -4
  169. package/dist/tools/memory-tools.d.ts.map +1 -1
  170. package/dist/tools/memory-tools.js +2 -2
  171. package/dist/tools/memory-tools.js.map +1 -1
  172. package/dist/tools/scheduler-tools.d.ts +4 -4
  173. package/dist/tools/scheduler-tools.d.ts.map +1 -1
  174. package/dist/tools/scheduler-tools.js +2 -2
  175. package/dist/tools/scheduler-tools.js.map +1 -1
  176. package/dist/tools/sql-query.d.ts.map +1 -1
  177. package/dist/tools/sql-query.js +2 -1
  178. package/dist/tools/sql-query.js.map +1 -1
  179. package/dist/tools/vector-search.d.ts.map +1 -1
  180. package/dist/tools/vector-search.js +12 -3
  181. package/dist/tools/vector-search.js.map +1 -1
  182. package/package.json +6 -6
@@ -1,19 +1,32 @@
1
1
  import { nanoid } from 'nanoid';
2
2
  import { DEFAULT_TOT_CONFIG } from '@cogitator-ai/types';
3
+ import { calculateCost } from '@cogitator-ai/models';
4
+ import { parseModel } from '../llm/index.js';
3
5
  import { BranchGenerator } from './branch-generator.js';
4
6
  import { BranchEvaluator } from './branch-evaluator.js';
5
7
  import { buildSynthesisPrompt } from './prompts.js';
6
8
  function generateId() {
7
9
  return `node_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 9)}`;
8
10
  }
11
+ function branchScore(node) {
12
+ return node.branch.score?.composite ?? 0;
13
+ }
14
+ function pendingFirst(a, b) {
15
+ return Number(b.status === 'pending') - Number(a.status === 'pending');
16
+ }
9
17
  export class ThoughtTreeExecutor {
10
18
  cogitator;
11
19
  config;
12
20
  branchGenerator;
13
21
  branchEvaluator;
14
- currentModel = '';
22
+ llm;
23
+ model = '';
24
+ modelString = '';
15
25
  nodes = new Map();
26
+ open = [];
27
+ queued = new Set();
16
28
  stats = this.createInitialStats();
29
+ cost = 0;
17
30
  constructor(cogitator, config = {}) {
18
31
  this.cogitator = cogitator;
19
32
  this.config = { ...DEFAULT_TOT_CONFIG, ...config };
@@ -22,87 +35,59 @@ export class ThoughtTreeExecutor {
22
35
  const runId = `tot_${nanoid(12)}`;
23
36
  const startTime = Date.now();
24
37
  this.nodes.clear();
38
+ this.open = [];
39
+ this.queued.clear();
25
40
  this.stats = this.createInitialStats();
26
- const llm = await this.getLLMBackend(agent);
27
- this.cachedLLM = llm;
28
- this.currentModel = this.cogitator.resolveModel(agent);
29
- this.branchGenerator = new BranchGenerator(llm, this.currentModel);
41
+ this.cost = 0;
42
+ this.modelString = this.cogitator.resolveModel(agent);
43
+ const route = this.cogitator.route(this.modelString, agent.config.provider);
44
+ this.model = route.model;
45
+ this.llm = this.trackUsage(route.backend);
46
+ this.branchGenerator = new BranchGenerator(this.llm, this.model);
30
47
  this.branchEvaluator = new BranchEvaluator({
31
- llm,
32
- model: this.currentModel,
48
+ llm: this.llm,
49
+ model: this.model,
33
50
  reflectionEngine: this.getReflectionEngine(),
34
51
  });
35
52
  const context = this.buildAgentContext(agent, goal);
53
+ const branchAgent = this.createBranchAgent(agent);
36
54
  const root = this.createRootNode(goal);
37
55
  this.nodes.set(root.id, root);
38
- let frontier = [root];
56
+ this.enqueue([root]);
39
57
  let bestNode = null;
40
- let bestScore = -Infinity;
41
- const timeoutAt = options.timeout ? startTime + options.timeout : null;
58
+ const timeout = options.timeout ?? this.config.timeout;
59
+ const timeoutAt = timeout ? startTime + timeout : null;
42
60
  const abortSignal = options.abortSignal;
43
- while (frontier.length > 0) {
61
+ while (this.open.length > 0) {
44
62
  if (abortSignal?.aborted) {
45
63
  break;
46
64
  }
47
65
  if (timeoutAt && Date.now() > timeoutAt) {
48
66
  break;
49
67
  }
50
- if (this.stats.totalNodes >= this.config.maxTotalNodes) {
68
+ if (this.stats.exploredNodes >= this.config.maxTotalNodes) {
51
69
  break;
52
70
  }
53
- const node = frontier.shift();
54
- node.status = 'exploring';
55
- node.exploredAt = Date.now();
56
- if (node.depth >= this.config.maxDepth) {
57
- node.status = 'pruned';
58
- this.stats.prunedNodes++;
59
- continue;
60
- }
61
- const branches = await this.branchGenerator.generate(node.depth === 0 ? null : node, goal, this.config.branchFactor, context, this.getExploredThoughts());
62
- this.stats.llmCalls++;
63
- this.config.onBranchGenerated?.(node, branches);
64
- const scores = await this.branchEvaluator.evaluateBatch(branches, goal, context);
65
- this.stats.llmCalls++;
66
- for (const branch of branches) {
67
- const score = scores.get(branch.id);
68
- if (score) {
69
- branch.score = score;
70
- this.config.onBranchEvaluated?.(branch, score);
71
+ const node = this.dequeue();
72
+ if (node.parentId !== null && node.status === 'pending') {
73
+ const status = await this.executeNode(node, branchAgent, goal);
74
+ if (status === 'completed' &&
75
+ (!bestNode || node.cumulativeScore > bestNode.cumulativeScore)) {
76
+ bestNode = node;
71
77
  }
72
- }
73
- const validBranches = branches
74
- .filter((b) => b.score && b.score.composite >= this.config.confidenceThreshold)
75
- .sort((a, b) => (b.score?.composite ?? 0) - (a.score?.composite ?? 0))
76
- .slice(0, this.config.beamWidth);
77
- if (validBranches.length === 0) {
78
- const backtrackTarget = this.backtrack(node);
79
- if (backtrackTarget) {
80
- frontier.unshift(backtrackTarget);
81
- }
82
- continue;
83
- }
84
- for (const branch of validBranches) {
85
- const childNode = await this.expandNode(branch, node, agent, goal);
86
- this.stats.exploredNodes++;
87
- this.config.onNodeExplored?.(childNode);
88
- if (childNode.cumulativeScore > bestScore) {
89
- bestScore = childNode.cumulativeScore;
90
- bestNode = childNode;
78
+ if (this.shouldTerminate(node)) {
79
+ return this.createResult(runId, goal, agent.id, node, startTime);
91
80
  }
92
- if (this.shouldTerminate(childNode)) {
93
- return this.createResult(runId, goal, agent.id, childNode, startTime);
81
+ if (status === 'failed') {
82
+ this.backtrack(node);
94
83
  }
95
- if (childNode.status === 'completed') {
96
- frontier.push(childNode);
97
- }
98
- else if (childNode.status === 'failed') {
99
- const backtrackTarget = this.backtrack(childNode);
100
- if (backtrackTarget) {
101
- frontier.unshift(backtrackTarget);
102
- }
84
+ else if (node.depth < this.config.maxDepth) {
85
+ this.enqueue([node]);
103
86
  }
104
87
  }
105
- frontier.sort((a, b) => b.cumulativeScore - a.cumulativeScore);
88
+ else {
89
+ await this.expandNode(node, goal, context);
90
+ }
106
91
  options.onProgress?.(this.stats);
107
92
  }
108
93
  const resultNode = bestNode ?? this.findBestNode();
@@ -128,47 +113,111 @@ export class ThoughtTreeExecutor {
128
113
  createdAt: Date.now(),
129
114
  };
130
115
  }
131
- async expandNode(branch, parent, agent, goal) {
132
- const nodeId = generateId();
116
+ /**
117
+ * Generates and scores the candidate approaches from `node`. Every candidate
118
+ * at or above `confidenceThreshold` becomes a pending child; the best
119
+ * `beamWidth` of them are queued, the rest stay as alternatives to backtrack to.
120
+ */
121
+ async expandNode(node, goal, context) {
122
+ if (node.status === 'pending') {
123
+ node.status = 'exploring';
124
+ node.exploredAt = Date.now();
125
+ }
126
+ const branches = await this.branchGenerator.generate(node.parentId === null ? null : node, goal, this.config.branchFactor, context, this.getExploredThoughts());
127
+ this.config.onBranchGenerated?.(node, branches);
128
+ const scores = await this.branchEvaluator.evaluateBatch(branches, goal, context);
129
+ for (const branch of branches) {
130
+ const score = scores.get(branch.id);
131
+ if (score) {
132
+ branch.score = score;
133
+ this.config.onBranchEvaluated?.(branch, score);
134
+ }
135
+ }
136
+ const candidates = branches
137
+ .filter((b) => b.score && b.score.composite >= this.config.confidenceThreshold)
138
+ .sort((a, b) => (b.score?.composite ?? 0) - (a.score?.composite ?? 0));
139
+ this.stats.prunedNodes += branches.length - candidates.length;
140
+ if (candidates.length === 0) {
141
+ this.backtrack(node);
142
+ return;
143
+ }
144
+ const children = candidates.map((branch) => this.addChild(branch, node));
145
+ this.enqueue(children.slice(0, this.config.beamWidth));
146
+ }
147
+ addChild(branch, parent) {
133
148
  const node = {
134
- id: nodeId,
149
+ id: generateId(),
135
150
  parentId: parent.id,
136
151
  depth: parent.depth + 1,
137
152
  branch: { ...branch, parentId: parent.id },
138
153
  messages: [...branch.messagesSnapshot],
139
- status: 'exploring',
154
+ status: 'pending',
140
155
  cumulativeScore: parent.cumulativeScore + (branch.score?.composite ?? 0),
141
156
  children: [],
142
157
  createdAt: Date.now(),
143
158
  };
144
- parent.children.push(nodeId);
145
- this.nodes.set(nodeId, node);
159
+ parent.children.push(node.id);
160
+ this.nodes.set(node.id, node);
146
161
  this.stats.totalNodes++;
162
+ return node;
163
+ }
164
+ async executeNode(node, agent, goal) {
165
+ node.status = 'exploring';
166
+ this.stats.exploredNodes++;
147
167
  this.stats.maxDepthReached = Math.max(this.stats.maxDepthReached, node.depth);
148
- if (branch.proposedAction.type === 'response') {
149
- node.result = { response: branch.proposedAction.content };
150
- node.status = 'completed';
151
- node.exploredAt = Date.now();
152
- return node;
168
+ const action = node.branch.proposedAction;
169
+ let status = 'completed';
170
+ if (action.type === 'response') {
171
+ node.result = { response: action.content };
153
172
  }
154
- const input = this.buildNodePrompt(branch, goal);
155
- try {
156
- const result = await this.cogitator.run(agent, {
157
- input,
158
- useMemory: false,
159
- });
160
- this.stats.tokenUsage.input += result.usage.inputTokens;
161
- this.stats.tokenUsage.output += result.usage.outputTokens;
162
- node.result = { response: result.output };
163
- node.messages = [...result.messages];
164
- node.status = 'completed';
165
- node.exploredAt = Date.now();
173
+ else {
174
+ try {
175
+ const result = await this.cogitator.run(agent, {
176
+ input: this.buildNodePrompt(node.branch, goal),
177
+ useMemory: false,
178
+ });
179
+ this.stats.tokenUsage.input += result.usage.inputTokens;
180
+ this.stats.tokenUsage.output += result.usage.outputTokens;
181
+ this.cost += result.usage.cost;
182
+ node.result = { response: result.output };
183
+ node.messages = [...result.messages];
184
+ }
185
+ catch (error) {
186
+ node.result = { error: error instanceof Error ? error.message : String(error) };
187
+ status = 'failed';
188
+ }
166
189
  }
167
- catch (error) {
168
- node.result = { error: error instanceof Error ? error.message : String(error) };
169
- node.status = 'failed';
170
- node.exploredAt = Date.now();
190
+ node.status = status;
191
+ node.exploredAt = Date.now();
192
+ this.config.onNodeExplored?.(node);
193
+ return status;
194
+ }
195
+ enqueue(nodes) {
196
+ const ordered = this.config.explorationStrategy === 'dfs' ? [...nodes].reverse() : nodes;
197
+ for (const node of ordered) {
198
+ this.open.push(node);
199
+ this.queued.add(node.id);
171
200
  }
201
+ }
202
+ /**
203
+ * Takes the next node off the frontier: the most recently queued one for
204
+ * `dfs`, the one whose own branch scored highest for `best-first`, and the
205
+ * shallowest one for `beam`, so a whole level runs before the next is generated.
206
+ */
207
+ dequeue() {
208
+ let index = this.open.length - 1;
209
+ if (this.config.explorationStrategy !== 'dfs') {
210
+ const compare = this.config.explorationStrategy === 'beam'
211
+ ? (a, b) => a.depth - b.depth || pendingFirst(a, b) || b.cumulativeScore - a.cumulativeScore
212
+ : (a, b) => branchScore(b) - branchScore(a) || pendingFirst(a, b);
213
+ index = 0;
214
+ for (let i = 1; i < this.open.length; i++) {
215
+ if (compare(this.open[i], this.open[index]) < 0)
216
+ index = i;
217
+ }
218
+ }
219
+ const [node] = this.open.splice(index, 1);
220
+ this.queued.delete(node.id);
172
221
  return node;
173
222
  }
174
223
  buildNodePrompt(branch, goal) {
@@ -196,19 +245,18 @@ export class ThoughtTreeExecutor {
196
245
  const parent = this.nodes.get(current.parentId);
197
246
  if (!parent)
198
247
  break;
199
- const unexplored = parent.children
248
+ const alternative = parent.children
200
249
  .map((id) => this.nodes.get(id))
201
- .filter((n) => n?.status === 'pending' &&
202
- (n.branch.score?.composite ?? 0) >= this.config.confidenceThreshold)
203
- .sort((a, b) => (b.branch.score?.composite ?? 0) - (a.branch.score?.composite ?? 0));
204
- if (unexplored.length > 0) {
205
- this.config.onBacktrack?.(from, unexplored[0]);
206
- return unexplored[0];
250
+ .filter((n) => n?.status === 'pending' && !this.queued.has(n.id))
251
+ .sort((a, b) => b.cumulativeScore - a.cumulativeScore)[0];
252
+ if (alternative) {
253
+ this.enqueue([alternative]);
254
+ this.config.onBacktrack?.(from, alternative);
255
+ return;
207
256
  }
208
257
  current = parent;
209
258
  }
210
259
  this.config.onBacktrack?.(from, null);
211
- return null;
212
260
  }
213
261
  findBestNode() {
214
262
  let best = null;
@@ -244,13 +292,9 @@ export class ThoughtTreeExecutor {
244
292
  output = bestNode.result.response;
245
293
  }
246
294
  else if (bestPath.length > 0) {
247
- const llm = await this.getLLMBackendFromCache();
248
- if (llm) {
249
- output = await this.synthesizeOutput(llm, goal, bestPath);
250
- }
251
- else {
252
- output = this.fallbackSynthesis(bestPath);
253
- }
295
+ output = this.llm
296
+ ? await this.synthesizeOutput(this.llm, goal, bestPath)
297
+ : this.fallbackSynthesis(bestPath);
254
298
  }
255
299
  const root = this.nodes.values().next().value;
256
300
  const tree = {
@@ -275,7 +319,7 @@ export class ThoughtTreeExecutor {
275
319
  inputTokens: this.stats.tokenUsage.input,
276
320
  outputTokens: this.stats.tokenUsage.output,
277
321
  totalTokens: this.stats.tokenUsage.input + this.stats.tokenUsage.output,
278
- cost: 0,
322
+ cost: this.cost,
279
323
  duration,
280
324
  },
281
325
  };
@@ -284,12 +328,11 @@ export class ThoughtTreeExecutor {
284
328
  const prompt = buildSynthesisPrompt(goal, path);
285
329
  try {
286
330
  const response = await llm.chat({
287
- model: this.currentModel,
331
+ model: this.model,
288
332
  messages: [{ role: 'user', content: prompt }],
289
333
  temperature: 0.5,
290
334
  maxTokens: 1000,
291
335
  });
292
- this.stats.llmCalls++;
293
336
  return response.content;
294
337
  }
295
338
  catch {
@@ -319,12 +362,32 @@ export class ThoughtTreeExecutor {
319
362
  previousActions: [],
320
363
  };
321
364
  }
322
- async getLLMBackend(agent) {
323
- return this.cogitator.getLLMBackend(this.cogitator.resolveModel(agent));
365
+ /**
366
+ * Runs of a branch are capped at `maxIterationsPerBranch` iterations, or at
367
+ * the agent's own `maxIterations` when that is lower.
368
+ */
369
+ createBranchAgent(agent) {
370
+ const own = agent.config.maxIterations;
371
+ const maxIterations = Math.min(own ?? Infinity, this.config.maxIterationsPerBranch);
372
+ return maxIterations === own ? agent : agent.clone({ id: agent.id, maxIterations });
373
+ }
374
+ /** The executor's own model calls, counted into the stats, token usage and cost. */
375
+ trackUsage(backend) {
376
+ return {
377
+ provider: backend.provider,
378
+ chat: async (request) => {
379
+ this.stats.llmCalls++;
380
+ const response = await backend.chat(request);
381
+ this.recordUsage(response.usage);
382
+ return response;
383
+ },
384
+ chatStream: (request) => backend.chatStream(request),
385
+ };
324
386
  }
325
- cachedLLM;
326
- async getLLMBackendFromCache() {
327
- return this.cachedLLM;
387
+ recordUsage(usage) {
388
+ this.stats.tokenUsage.input += usage.inputTokens;
389
+ this.stats.tokenUsage.output += usage.outputTokens;
390
+ this.cost += calculateCost(parseModel(this.modelString).model, usage) ?? 0;
328
391
  }
329
392
  getReflectionEngine() {
330
393
  return this.cogitator.reflectionEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"thought-tree.js","sourceRoot":"","sources":["../../src/reasoning/thought-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thought-tree.js","sourceRoot":"","sources":["../../src/reasoning/thought-tree.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -61,7 +61,9 @@ export declare class Cogitator {
61
61
  private state;
62
62
  private costEstimator?;
63
63
  private initPromise?;
64
+ private memoryInit?;
64
65
  private runLimiter?;
66
+ private constitution?;
65
67
  /**
66
68
  * Create a new Cogitator runtime.
67
69
  *
@@ -72,6 +74,8 @@ export declare class Cogitator {
72
74
  * @param config.reflection - Reflection engine settings
73
75
  * @param config.guardrails - Constitutional AI settings
74
76
  * @param config.costRouting - Cost-aware routing settings
77
+ * @param config.logging - Level, format and destination of the process-wide
78
+ * logger (`getLogger()`); the last runtime created with `logging` sets it
75
79
  */
76
80
  constructor(config?: CogitatorConfig);
77
81
  /**
@@ -162,6 +166,13 @@ export declare class Cogitator {
162
166
  resolveModel(agent: Agent): string;
163
167
  private initializeAll;
164
168
  private _doInitializeAll;
169
+ /**
170
+ * Builds the guardrails once their model is known: `guardrails.model`, else
171
+ * the model of the agent being run, else `llm.defaultModel` — so they exist
172
+ * before the first run whenever one of the configured models names them.
173
+ */
174
+ private ensureGuardrails;
175
+ private ensureCostRouting;
165
176
  private getBackend;
166
177
  /**
167
178
  * The backend a model string runs on, and the model name to send it.
@@ -172,6 +183,14 @@ export declare class Cogitator {
172
183
  * An explicit provider keeps the model string as it is.
173
184
  */
174
185
  route(modelString: string, explicitProvider?: string): ModelRoute;
186
+ private resolveRoute;
187
+ /**
188
+ * Whether runs can be sent to `provider`: a backend in `llm.backends`, a
189
+ * registered plugin, `llm.defaultProvider`, the provider the agent's own
190
+ * model runs on, or a built-in provider configured in `llm.providers` with
191
+ * the credentials it needs.
192
+ */
193
+ private servesProvider;
175
194
  private knowsProvider;
176
195
  private backendFor;
177
196
  private createBackend;
@@ -199,14 +218,21 @@ export declare class Cogitator {
199
218
  /**
200
219
  * Get the constitutional AI guardrails instance.
201
220
  *
202
- * @returns ConstitutionalAI instance, undefined if guardrails not enabled
221
+ * Built on first use from `guardrails.model` or `llm.defaultModel`; when
222
+ * neither is set, the first run builds it with its agent's model.
223
+ *
224
+ * @returns ConstitutionalAI instance, undefined if guardrails are not
225
+ * configured (or are disabled), or no model for them is known yet
203
226
  */
204
227
  getGuardrails(): import("./constitutional/index.js").ConstitutionalAI | undefined;
205
228
  /**
206
229
  * Set or update the constitution for guardrails.
207
230
  *
208
231
  * The constitution defines principles and rules that the agent
209
- * must follow, filtering both input and output.
232
+ * must follow, filtering both input and output. It takes effect at once,
233
+ * or — when the guardrails are built later — as soon as they are, and
234
+ * stays in force after {@link close}. Has no effect without `guardrails`
235
+ * in the config.
210
236
  *
211
237
  * @param constitution - New constitution to apply
212
238
  */
@@ -214,7 +240,8 @@ export declare class Cogitator {
214
240
  /**
215
241
  * Get cost tracking summary across all runs.
216
242
  *
217
- * @returns Cost summary with total spent, runs count, and per-model breakdown
243
+ * @returns Cost summary with total spent, runs count, and per-model breakdown,
244
+ * undefined if cost routing is not enabled
218
245
  */
219
246
  getCostSummary(): CostSummary | undefined;
220
247
  /**
@@ -261,8 +288,15 @@ export declare class Cogitator {
261
288
  model?: string;
262
289
  }): Promise<CostEstimate>;
263
290
  /**
264
- * Get the memory adapter if configured and initialized.
265
- * Returns undefined if memory is not configured or not yet initialized.
291
+ * The memory adapter, connecting it on first use when `memory` is
292
+ * configured, so threads can be read before any agent has run. `undefined`
293
+ * when memory is not configured or could not connect (it is tried again
294
+ * on the next call).
295
+ */
296
+ getMemory(): Promise<MemoryAdapter | undefined>;
297
+ /**
298
+ * The memory adapter once connected: by a run, by {@link getMemory}, or
299
+ * set here. `undefined` before then — use `getMemory()` to connect it.
266
300
  */
267
301
  get memory(): MemoryAdapter | undefined;
268
302
  set memory(adapter: MemoryAdapter | undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}