@framers/agentos 0.1.121 → 0.1.123
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.
- package/dist/api/TextToolCallParser.d.ts +61 -0
- package/dist/api/TextToolCallParser.d.ts.map +1 -0
- package/dist/api/TextToolCallParser.js +137 -0
- package/dist/api/TextToolCallParser.js.map +1 -0
- package/dist/api/agent.d.ts +7 -0
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +1 -0
- package/dist/api/agent.js.map +1 -1
- package/dist/api/generateText.d.ts +105 -0
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +191 -2
- package/dist/api/generateText.js.map +1 -1
- package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMI.js +27 -1
- package/dist/cognitive_substrate/GMI.js.map +1 -1
- package/dist/cognitive_substrate/IGMI.d.ts +5 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/IGMI.js.map +1 -1
- package/dist/emergent/AdaptPersonalityTool.d.ts +142 -0
- package/dist/emergent/AdaptPersonalityTool.d.ts.map +1 -0
- package/dist/emergent/AdaptPersonalityTool.js +198 -0
- package/dist/emergent/AdaptPersonalityTool.js.map +1 -0
- package/dist/emergent/CreateWorkflowTool.d.ts +182 -0
- package/dist/emergent/CreateWorkflowTool.d.ts.map +1 -0
- package/dist/emergent/CreateWorkflowTool.js +330 -0
- package/dist/emergent/CreateWorkflowTool.js.map +1 -0
- package/dist/emergent/EmergentCapabilityEngine.d.ts +68 -0
- package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/emergent/EmergentCapabilityEngine.js +99 -0
- package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/emergent/ManageSkillsTool.d.ts +154 -0
- package/dist/emergent/ManageSkillsTool.d.ts.map +1 -0
- package/dist/emergent/ManageSkillsTool.js +241 -0
- package/dist/emergent/ManageSkillsTool.js.map +1 -0
- package/dist/emergent/PersonalityMutationStore.d.ts +183 -0
- package/dist/emergent/PersonalityMutationStore.d.ts.map +1 -0
- package/dist/emergent/PersonalityMutationStore.js +222 -0
- package/dist/emergent/PersonalityMutationStore.js.map +1 -0
- package/dist/emergent/SelfEvaluateTool.d.ts +199 -0
- package/dist/emergent/SelfEvaluateTool.d.ts.map +1 -0
- package/dist/emergent/SelfEvaluateTool.js +410 -0
- package/dist/emergent/SelfEvaluateTool.js.map +1 -0
- package/dist/emergent/SelfImprovementConfig.d.ts +177 -0
- package/dist/emergent/SelfImprovementConfig.d.ts.map +1 -0
- package/dist/emergent/SelfImprovementConfig.js +43 -0
- package/dist/emergent/SelfImprovementConfig.js.map +1 -0
- package/dist/emergent/index.d.ts +8 -0
- package/dist/emergent/index.d.ts.map +1 -1
- package/dist/emergent/index.js +6 -0
- package/dist/emergent/index.js.map +1 -1
- package/dist/emergent/types.d.ts +9 -0
- package/dist/emergent/types.d.ts.map +1 -1
- package/dist/emergent/types.js.map +1 -1
- package/dist/memory/AgentMemory.d.ts +2 -2
- package/dist/memory/AgentMemory.d.ts.map +1 -1
- package/dist/memory/AgentMemory.js +4 -3
- package/dist/memory/AgentMemory.js.map +1 -1
- package/dist/memory/consolidation/ConsolidationLoop.d.ts +31 -4
- package/dist/memory/consolidation/ConsolidationLoop.d.ts.map +1 -1
- package/dist/memory/consolidation/ConsolidationLoop.js +112 -69
- package/dist/memory/consolidation/ConsolidationLoop.js.map +1 -1
- package/dist/memory/facade/Memory.d.ts +12 -6
- package/dist/memory/facade/Memory.d.ts.map +1 -1
- package/dist/memory/facade/Memory.js +216 -212
- package/dist/memory/facade/Memory.js.map +1 -1
- package/dist/memory/facade/types.d.ts +11 -1
- package/dist/memory/facade/types.d.ts.map +1 -1
- package/dist/memory/feedback/RetrievalFeedbackSignal.d.ts +7 -10
- package/dist/memory/feedback/RetrievalFeedbackSignal.d.ts.map +1 -1
- package/dist/memory/feedback/RetrievalFeedbackSignal.js +40 -36
- package/dist/memory/feedback/RetrievalFeedbackSignal.js.map +1 -1
- package/dist/memory/io/ChatGptImporter.d.ts.map +1 -1
- package/dist/memory/io/ChatGptImporter.js +24 -18
- package/dist/memory/io/ChatGptImporter.js.map +1 -1
- package/dist/memory/io/CsvImporter.d.ts.map +1 -1
- package/dist/memory/io/CsvImporter.js +21 -8
- package/dist/memory/io/CsvImporter.js.map +1 -1
- package/dist/memory/io/JsonExporter.d.ts.map +1 -1
- package/dist/memory/io/JsonExporter.js +6 -17
- package/dist/memory/io/JsonExporter.js.map +1 -1
- package/dist/memory/io/JsonImporter.d.ts +3 -0
- package/dist/memory/io/JsonImporter.d.ts.map +1 -1
- package/dist/memory/io/JsonImporter.js +58 -29
- package/dist/memory/io/JsonImporter.js.map +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownExporter.js +1 -4
- package/dist/memory/io/MarkdownExporter.js.map +1 -1
- package/dist/memory/io/MarkdownImporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownImporter.js +12 -7
- package/dist/memory/io/MarkdownImporter.js.map +1 -1
- package/dist/memory/io/ObsidianExporter.d.ts +14 -9
- package/dist/memory/io/ObsidianExporter.d.ts.map +1 -1
- package/dist/memory/io/ObsidianExporter.js +35 -23
- package/dist/memory/io/ObsidianExporter.js.map +1 -1
- package/dist/memory/io/ObsidianImporter.d.ts.map +1 -1
- package/dist/memory/io/ObsidianImporter.js +34 -27
- package/dist/memory/io/ObsidianImporter.js.map +1 -1
- package/dist/memory/io/SqliteExporter.d.ts +1 -2
- package/dist/memory/io/SqliteExporter.d.ts.map +1 -1
- package/dist/memory/io/SqliteExporter.js +2 -3
- package/dist/memory/io/SqliteExporter.js.map +1 -1
- package/dist/memory/io/SqliteImporter.d.ts +3 -0
- package/dist/memory/io/SqliteImporter.d.ts.map +1 -1
- package/dist/memory/io/SqliteImporter.js +62 -27
- package/dist/memory/io/SqliteImporter.js.map +1 -1
- package/dist/memory/store/SqliteBrain.d.ts +84 -24
- package/dist/memory/store/SqliteBrain.d.ts.map +1 -1
- package/dist/memory/store/SqliteBrain.js +139 -55
- package/dist/memory/store/SqliteBrain.js.map +1 -1
- package/dist/memory/store/SqliteKnowledgeGraph.d.ts +6 -2
- package/dist/memory/store/SqliteKnowledgeGraph.d.ts.map +1 -1
- package/dist/memory/store/SqliteKnowledgeGraph.js +94 -120
- package/dist/memory/store/SqliteKnowledgeGraph.js.map +1 -1
- package/dist/memory/store/SqliteMemoryGraph.d.ts +4 -5
- package/dist/memory/store/SqliteMemoryGraph.d.ts.map +1 -1
- package/dist/memory/store/SqliteMemoryGraph.js +31 -41
- package/dist/memory/store/SqliteMemoryGraph.js.map +1 -1
- package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryAddTool.js +12 -16
- package/dist/memory/tools/MemoryAddTool.js.map +1 -1
- package/dist/memory/tools/MemoryDeleteTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryDeleteTool.js +1 -3
- package/dist/memory/tools/MemoryDeleteTool.js.map +1 -1
- package/dist/memory/tools/MemoryMergeTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryMergeTool.js +13 -22
- package/dist/memory/tools/MemoryMergeTool.js.map +1 -1
- package/dist/memory/tools/MemorySearchTool.js +4 -4
- package/dist/memory/tools/MemorySearchTool.js.map +1 -1
- package/dist/memory/tools/MemoryUpdateTool.d.ts.map +1 -1
- package/dist/memory/tools/MemoryUpdateTool.js +10 -18
- package/dist/memory/tools/MemoryUpdateTool.js.map +1 -1
- package/dist/orchestration/runtime/LoopController.d.ts +7 -0
- package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
- package/dist/orchestration/runtime/LoopController.js +7 -0
- package/dist/orchestration/runtime/LoopController.js.map +1 -1
- package/package.json +1 -1
package/dist/api/generateText.js
CHANGED
|
@@ -6,12 +6,138 @@
|
|
|
6
6
|
* variables or caller-supplied overrides, and invokes the provider's completion
|
|
7
7
|
* endpoint. Multi-step tool calling is supported: the loop continues until the
|
|
8
8
|
* model produces a plain-text reply or `maxSteps` is exhausted.
|
|
9
|
+
*
|
|
10
|
+
* When `planning` is enabled, an upfront LLM call decomposes the user's request
|
|
11
|
+
* into numbered steps before the tool loop starts. The plan is injected into
|
|
12
|
+
* the system prompt so the tool loop executes with awareness of the strategy.
|
|
9
13
|
*/
|
|
10
14
|
import { resolveModelOption, resolveProvider, createProviderManager } from './model.js';
|
|
11
15
|
import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
|
|
12
16
|
import { adaptTools } from './toolAdapter.js';
|
|
13
17
|
import { recordAgentOSUsage } from './usageLedger.js';
|
|
18
|
+
import { parseToolCallsFromText } from './TextToolCallParser.js';
|
|
14
19
|
import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability/otel.js';
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Chain-of-thought helpers
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
/**
|
|
24
|
+
* Default chain-of-thought instruction prepended to the system prompt when
|
|
25
|
+
* tools are available and `chainOfThought` is enabled. Encourages the model
|
|
26
|
+
* to reason explicitly before selecting a tool or crafting a response.
|
|
27
|
+
*/
|
|
28
|
+
export const DEFAULT_COT_INSTRUCTION = `Before choosing an action, briefly reason about what you need to do and why. Consider:
|
|
29
|
+
1. What information do you already have?
|
|
30
|
+
2. What information do you need?
|
|
31
|
+
3. Which tool is most appropriate and why?
|
|
32
|
+
Then proceed with your tool call or response.`;
|
|
33
|
+
/**
|
|
34
|
+
* Resolves the chain-of-thought instruction from the `chainOfThought` option.
|
|
35
|
+
*
|
|
36
|
+
* @param cot - The `chainOfThought` option value.
|
|
37
|
+
* @returns The resolved CoT instruction string, or `undefined` if disabled.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export function resolveChainOfThought(cot) {
|
|
42
|
+
if (!cot)
|
|
43
|
+
return undefined;
|
|
44
|
+
if (typeof cot === 'string')
|
|
45
|
+
return cot;
|
|
46
|
+
return DEFAULT_COT_INSTRUCTION;
|
|
47
|
+
}
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
// Planning helpers
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
/**
|
|
52
|
+
* Default system prompt used when planning is enabled without a custom prompt.
|
|
53
|
+
* Instructs the model to decompose the user's request into a numbered JSON plan.
|
|
54
|
+
*/
|
|
55
|
+
const DEFAULT_PLANNING_SYSTEM_PROMPT = `You are planning how to accomplish the user's request. Break it into numbered steps.
|
|
56
|
+
Describe what tools you'll need for each step. Output a JSON plan:
|
|
57
|
+
{"steps": [{"description": "...", "tool": "tool_name_or_null", "reasoning": "..."}]}
|
|
58
|
+
Return ONLY the JSON object — no markdown fences, no commentary.`;
|
|
59
|
+
/**
|
|
60
|
+
* Makes a single LLM call to create an execution plan before the tool loop.
|
|
61
|
+
*
|
|
62
|
+
* The plan is a lightweight JSON object containing ordered steps. It is
|
|
63
|
+
* injected into the system prompt for the subsequent tool loop so the model
|
|
64
|
+
* executes with full awareness of the strategy.
|
|
65
|
+
*
|
|
66
|
+
* @param provider - The resolved LLM provider instance.
|
|
67
|
+
* @param modelId - Model identifier to use for the planning call.
|
|
68
|
+
* @param userMessages - The user-supplied messages that describe the task.
|
|
69
|
+
* @param toolNames - Names of available tools (informational context for the planner).
|
|
70
|
+
* @param config - Optional planning configuration overrides.
|
|
71
|
+
* @param totalUsage - Mutable usage aggregator — the planning call's tokens are added here.
|
|
72
|
+
* @returns The parsed {@link Plan}, or `undefined` if parsing fails gracefully.
|
|
73
|
+
*
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
export async function createPlan(provider, modelId, userMessages, toolNames, config, totalUsage) {
|
|
77
|
+
const systemPrompt = config?.systemPrompt ?? DEFAULT_PLANNING_SYSTEM_PROMPT;
|
|
78
|
+
const temperature = config?.temperature ?? 0.2;
|
|
79
|
+
const maxTokens = config?.maxTokens ?? 2048;
|
|
80
|
+
// Build the planning conversation: system prompt + user context
|
|
81
|
+
const planMessages = [
|
|
82
|
+
{ role: 'system', content: systemPrompt },
|
|
83
|
+
];
|
|
84
|
+
// Inject available tool names so the planner knows what's available
|
|
85
|
+
if (toolNames.length > 0) {
|
|
86
|
+
planMessages.push({
|
|
87
|
+
role: 'system',
|
|
88
|
+
content: `Available tools: ${toolNames.join(', ')}`,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
// Append the user messages so the planner can see the actual request
|
|
92
|
+
for (const msg of userMessages) {
|
|
93
|
+
planMessages.push(msg);
|
|
94
|
+
}
|
|
95
|
+
const response = await provider.generateCompletion(modelId, planMessages, {
|
|
96
|
+
temperature,
|
|
97
|
+
maxTokens,
|
|
98
|
+
});
|
|
99
|
+
// Accumulate planning call usage
|
|
100
|
+
if (response.usage) {
|
|
101
|
+
totalUsage.promptTokens += response.usage.promptTokens ?? 0;
|
|
102
|
+
totalUsage.completionTokens += response.usage.completionTokens ?? 0;
|
|
103
|
+
totalUsage.totalTokens += response.usage.totalTokens ?? 0;
|
|
104
|
+
if (typeof response.usage.costUSD === 'number') {
|
|
105
|
+
totalUsage.costUSD = (totalUsage.costUSD ?? 0) + response.usage.costUSD;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const rawContent = response.choices?.[0]?.message?.content;
|
|
109
|
+
const planText = typeof rawContent === 'string' ? rawContent : '';
|
|
110
|
+
try {
|
|
111
|
+
const parsed = JSON.parse(planText);
|
|
112
|
+
if (Array.isArray(parsed.steps)) {
|
|
113
|
+
return {
|
|
114
|
+
steps: parsed.steps.map((s) => ({
|
|
115
|
+
description: String(s.description ?? ''),
|
|
116
|
+
tool: s.tool ?? null,
|
|
117
|
+
reasoning: String(s.reasoning ?? ''),
|
|
118
|
+
})),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// If the model returns malformed JSON, fall through gracefully —
|
|
124
|
+
// the tool loop will still proceed, just without an explicit plan.
|
|
125
|
+
}
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Formats a {@link Plan} into a human-readable string suitable for injection
|
|
130
|
+
* into the system prompt of the tool-calling loop.
|
|
131
|
+
*
|
|
132
|
+
* @param plan - The plan to format.
|
|
133
|
+
* @returns A multi-line string with numbered steps.
|
|
134
|
+
*
|
|
135
|
+
* @internal
|
|
136
|
+
*/
|
|
137
|
+
function formatPlanForPrompt(plan) {
|
|
138
|
+
const lines = plan.steps.map((s, i) => `${i + 1}. ${s.description}${s.tool ? ` [tool: ${s.tool}]` : ''}`);
|
|
139
|
+
return `Follow this plan:\n${lines.join('\n')}`;
|
|
140
|
+
}
|
|
15
141
|
/**
|
|
16
142
|
* Stateless text generation with optional multi-step tool calling.
|
|
17
143
|
*
|
|
@@ -20,6 +146,9 @@ import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability
|
|
|
20
146
|
* assembled result. Provider credentials are resolved from environment
|
|
21
147
|
* variables unless overridden in `opts`.
|
|
22
148
|
*
|
|
149
|
+
* When `planning` is enabled, an upfront LLM call produces a step-by-step plan
|
|
150
|
+
* that is then injected into the system prompt for the tool loop.
|
|
151
|
+
*
|
|
23
152
|
* @param opts - Generation options including model, prompt/messages, and optional tools.
|
|
24
153
|
* @returns A promise that resolves to the final text, token usage, tool call log, and finish reason.
|
|
25
154
|
*
|
|
@@ -55,8 +184,21 @@ export async function generateText(opts) {
|
|
|
55
184
|
span?.setAttribute('llm.model', resolved.modelId);
|
|
56
185
|
// Build messages
|
|
57
186
|
const messages = [];
|
|
58
|
-
|
|
187
|
+
// --- Chain-of-thought injection ---
|
|
188
|
+
// When CoT is enabled and tools are provided, prepend a reasoning
|
|
189
|
+
// instruction to the system prompt so the model explicitly reasons
|
|
190
|
+
// before selecting a tool or composing a response.
|
|
191
|
+
const cotInstruction = resolveChainOfThought(opts.chainOfThought);
|
|
192
|
+
const hasTools = !!(opts.tools && (Array.isArray(opts.tools) ? opts.tools.length > 0 : Object.keys(opts.tools).length > 0));
|
|
193
|
+
if (cotInstruction && hasTools) {
|
|
194
|
+
const systemContent = opts.system
|
|
195
|
+
? `${cotInstruction}\n\n${opts.system}`
|
|
196
|
+
: cotInstruction;
|
|
197
|
+
messages.push({ role: 'system', content: systemContent });
|
|
198
|
+
}
|
|
199
|
+
else if (opts.system) {
|
|
59
200
|
messages.push({ role: 'system', content: opts.system });
|
|
201
|
+
}
|
|
60
202
|
if (opts.messages) {
|
|
61
203
|
for (const m of opts.messages)
|
|
62
204
|
messages.push({ role: m.role, content: m.content });
|
|
@@ -78,6 +220,31 @@ export async function generateText(opts) {
|
|
|
78
220
|
const totalUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
|
|
79
221
|
const maxSteps = opts.maxSteps ?? 1;
|
|
80
222
|
span?.setAttribute('agentos.api.max_steps', maxSteps);
|
|
223
|
+
// -----------------------------------------------------------------
|
|
224
|
+
// Planning phase (optional)
|
|
225
|
+
// When `opts.planning` is truthy, make one LLM call to decompose the
|
|
226
|
+
// task into a numbered step list. The plan is injected into the
|
|
227
|
+
// message array as a system message so the tool loop is plan-aware.
|
|
228
|
+
// -----------------------------------------------------------------
|
|
229
|
+
let resolvedPlan;
|
|
230
|
+
const planningEnabled = !!opts.planning;
|
|
231
|
+
span?.setAttribute('agentos.api.planning_enabled', planningEnabled);
|
|
232
|
+
if (planningEnabled) {
|
|
233
|
+
const planConfig = typeof opts.planning === 'object' ? opts.planning : undefined;
|
|
234
|
+
// Collect only user-role messages for the planner
|
|
235
|
+
const userMessages = messages.filter((m) => m.role === 'user');
|
|
236
|
+
const toolNames = tools.map((t) => t.name);
|
|
237
|
+
resolvedPlan = await createPlan(provider, resolved.modelId, userMessages, toolNames, planConfig, totalUsage);
|
|
238
|
+
if (resolvedPlan) {
|
|
239
|
+
// Inject the plan as a system message right after any existing
|
|
240
|
+
// system messages so the tool loop executes plan-aware.
|
|
241
|
+
const planPrompt = formatPlanForPrompt(resolvedPlan);
|
|
242
|
+
const firstNonSystem = messages.findIndex((m) => m.role !== 'system');
|
|
243
|
+
const insertIdx = firstNonSystem === -1 ? messages.length : firstNonSystem;
|
|
244
|
+
messages.splice(insertIdx, 0, { role: 'system', content: planPrompt });
|
|
245
|
+
span?.setAttribute('agentos.api.plan_steps', resolvedPlan.steps.length);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
81
248
|
for (let step = 0; step < maxSteps; step++) {
|
|
82
249
|
const response = await withAgentOSSpan('agentos.api.generate_text.step', async (stepSpan) => {
|
|
83
250
|
stepSpan?.setAttribute('llm.provider', resolved.providerId);
|
|
@@ -110,7 +277,26 @@ export async function generateText(opts) {
|
|
|
110
277
|
break;
|
|
111
278
|
const content = choice.message?.content;
|
|
112
279
|
const textContent = typeof content === 'string' ? content : (content?.text ?? '');
|
|
113
|
-
|
|
280
|
+
let toolCallsInChoice = choice.message?.tool_calls ?? [];
|
|
281
|
+
// --- Text-based tool-call fallback ---
|
|
282
|
+
// When the provider returns no native tool_calls but tools were
|
|
283
|
+
// provided and the response text contains structured tool
|
|
284
|
+
// invocations, parse them from the text so models that lack native
|
|
285
|
+
// function-calling support (some Ollama / open-source models) still
|
|
286
|
+
// participate in the tool loop.
|
|
287
|
+
if (toolCallsInChoice.length === 0 && tools.length > 0 && textContent) {
|
|
288
|
+
const parsed = parseToolCallsFromText(textContent);
|
|
289
|
+
if (parsed.length > 0) {
|
|
290
|
+
toolCallsInChoice = parsed.map((p, idx) => ({
|
|
291
|
+
id: `text-tc-${step}-${idx}`,
|
|
292
|
+
type: 'function',
|
|
293
|
+
function: {
|
|
294
|
+
name: p.name,
|
|
295
|
+
arguments: JSON.stringify(p.arguments),
|
|
296
|
+
},
|
|
297
|
+
}));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
114
300
|
if (textContent && toolCallsInChoice.length === 0) {
|
|
115
301
|
metricUsage = totalUsage;
|
|
116
302
|
span?.setAttribute('agentos.api.finish_reason', choice.finishReason ?? 'stop');
|
|
@@ -123,6 +309,7 @@ export async function generateText(opts) {
|
|
|
123
309
|
usage: totalUsage,
|
|
124
310
|
toolCalls: allToolCalls,
|
|
125
311
|
finishReason: (choice.finishReason ?? 'stop'),
|
|
312
|
+
plan: resolvedPlan,
|
|
126
313
|
};
|
|
127
314
|
}
|
|
128
315
|
if (toolCallsInChoice.length > 0) {
|
|
@@ -183,6 +370,7 @@ export async function generateText(opts) {
|
|
|
183
370
|
usage: totalUsage,
|
|
184
371
|
toolCalls: allToolCalls,
|
|
185
372
|
finishReason: (choice.finishReason ?? 'stop'),
|
|
373
|
+
plan: resolvedPlan,
|
|
186
374
|
};
|
|
187
375
|
}
|
|
188
376
|
const lastAssistant = messages.filter((m) => m.role === 'assistant').pop();
|
|
@@ -197,6 +385,7 @@ export async function generateText(opts) {
|
|
|
197
385
|
usage: totalUsage,
|
|
198
386
|
toolCalls: allToolCalls,
|
|
199
387
|
finishReason: 'tool-calls',
|
|
388
|
+
plan: resolvedPlan,
|
|
200
389
|
};
|
|
201
390
|
});
|
|
202
391
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateText.js","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generateText.js","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../src/cognitive_substrate/GMI.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../src/cognitive_substrate/GMI.ts"],"names":[],"mappings":"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"}
|
|
@@ -628,8 +628,34 @@ export class GMI {
|
|
|
628
628
|
await this.analyzeTurnSentiment(turnId, userInputText);
|
|
629
629
|
}
|
|
630
630
|
}
|
|
631
|
+
// -------------------------------------------------------------------
|
|
632
|
+
// Main tool-calling loop (ReAct-style).
|
|
633
|
+
//
|
|
634
|
+
// NOTE: This loop duplicates the general-purpose LoopController
|
|
635
|
+
// (src/orchestration/runtime/LoopController.ts) but carries
|
|
636
|
+
// GMI-specific concerns that prevent a simple drop-in replacement:
|
|
637
|
+
//
|
|
638
|
+
// - RAG retrieval + cognitive memory assembly on each iteration
|
|
639
|
+
// - Full prompt reconstruction via PromptEngine per iteration
|
|
640
|
+
// - Tool orchestration through IToolOrchestrator with persona-scoped
|
|
641
|
+
// ToolExecutionRequestDetails (gmiId, capabilities, sessionData)
|
|
642
|
+
// - GMIPrimeState transitions (PROCESSING <-> AWAITING_TOOL_RESULT)
|
|
643
|
+
// - Streaming via provider.generateCompletionStream() rather than
|
|
644
|
+
// the LoopController's AsyncGenerator<LoopChunk> abstraction
|
|
645
|
+
// - Capability discovery tool filtering per iteration
|
|
646
|
+
// - GMIError-based fail_closed semantics with structured error codes
|
|
647
|
+
//
|
|
648
|
+
// Future refactor path: extract the RAG + prompt-build phase into a
|
|
649
|
+
// pre-iteration callback and the tool-dispatch phase into a
|
|
650
|
+
// LoopContext adapter, then delegate the iteration/termination logic
|
|
651
|
+
// to LoopController.execute(). This would unify the safety-break,
|
|
652
|
+
// parallel-tools, and fail_open/fail_closed policies. For now the
|
|
653
|
+
// configurable maxToolLoopIterations (GMIBaseConfig) keeps the safety
|
|
654
|
+
// break in sync with LoopController's maxIterations concept.
|
|
655
|
+
// -------------------------------------------------------------------
|
|
631
656
|
let safetyBreak = 0;
|
|
632
|
-
|
|
657
|
+
const maxToolLoopIterations = this.config.maxToolLoopIterations ?? 5;
|
|
658
|
+
main_processing_loop: while (safetyBreak < maxToolLoopIterations) {
|
|
633
659
|
safetyBreak++;
|
|
634
660
|
let augmentedContextFromRAG = "";
|
|
635
661
|
const injectedLongTermMemoryContext = typeof turnInput.metadata?.longTermMemoryContext === 'string'
|