@bowenqt/qiniu-ai-sdk 0.10.0 → 0.13.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 (149) hide show
  1. package/README.md +225 -0
  2. package/dist/ai/agent-graph.d.ts +99 -0
  3. package/dist/ai/agent-graph.d.ts.map +1 -0
  4. package/dist/ai/agent-graph.js +321 -0
  5. package/dist/ai/agent-graph.js.map +1 -0
  6. package/dist/ai/agent-graph.mjs +317 -0
  7. package/dist/ai/generate-text.d.ts +51 -0
  8. package/dist/ai/generate-text.d.ts.map +1 -1
  9. package/dist/ai/generate-text.js +132 -0
  10. package/dist/ai/generate-text.js.map +1 -1
  11. package/dist/ai/generate-text.mjs +131 -0
  12. package/dist/ai/graph/checkpointer.d.ts +112 -0
  13. package/dist/ai/graph/checkpointer.d.ts.map +1 -0
  14. package/dist/ai/graph/checkpointer.js +131 -0
  15. package/dist/ai/graph/checkpointer.js.map +1 -0
  16. package/dist/ai/graph/checkpointer.mjs +126 -0
  17. package/dist/ai/graph/index.d.ts +13 -0
  18. package/dist/ai/graph/index.d.ts.map +1 -0
  19. package/dist/ai/graph/index.js +22 -0
  20. package/dist/ai/graph/index.js.map +1 -0
  21. package/dist/ai/graph/index.mjs +12 -0
  22. package/dist/ai/graph/postgres-checkpointer.d.ts +54 -0
  23. package/dist/ai/graph/postgres-checkpointer.d.ts.map +1 -0
  24. package/dist/ai/graph/postgres-checkpointer.js +134 -0
  25. package/dist/ai/graph/postgres-checkpointer.js.map +1 -0
  26. package/dist/ai/graph/postgres-checkpointer.mjs +130 -0
  27. package/dist/ai/graph/redis-checkpointer.d.ts +51 -0
  28. package/dist/ai/graph/redis-checkpointer.d.ts.map +1 -0
  29. package/dist/ai/graph/redis-checkpointer.js +124 -0
  30. package/dist/ai/graph/redis-checkpointer.js.map +1 -0
  31. package/dist/ai/graph/redis-checkpointer.mjs +120 -0
  32. package/dist/ai/graph/state-graph.d.ts +41 -0
  33. package/dist/ai/graph/state-graph.d.ts.map +1 -0
  34. package/dist/ai/graph/state-graph.js +149 -0
  35. package/dist/ai/graph/state-graph.js.map +1 -0
  36. package/dist/ai/graph/state-graph.mjs +144 -0
  37. package/dist/ai/graph/types.d.ts +41 -0
  38. package/dist/ai/graph/types.d.ts.map +1 -0
  39. package/dist/ai/graph/types.js +10 -0
  40. package/dist/ai/graph/types.js.map +1 -0
  41. package/dist/ai/graph/types.mjs +7 -0
  42. package/dist/ai/internal-types.d.ts +109 -0
  43. package/dist/ai/internal-types.d.ts.map +1 -0
  44. package/dist/ai/internal-types.js +28 -0
  45. package/dist/ai/internal-types.js.map +1 -0
  46. package/dist/ai/internal-types.mjs +23 -0
  47. package/dist/ai/nodes/execute-node.d.ts +27 -0
  48. package/dist/ai/nodes/execute-node.d.ts.map +1 -0
  49. package/dist/ai/nodes/execute-node.js +118 -0
  50. package/dist/ai/nodes/execute-node.js.map +1 -0
  51. package/dist/ai/nodes/execute-node.mjs +114 -0
  52. package/dist/ai/nodes/index.d.ts +8 -0
  53. package/dist/ai/nodes/index.d.ts.map +1 -0
  54. package/dist/ai/nodes/index.js +16 -0
  55. package/dist/ai/nodes/index.js.map +1 -0
  56. package/dist/ai/nodes/index.mjs +7 -0
  57. package/dist/ai/nodes/memory-node.d.ts +34 -0
  58. package/dist/ai/nodes/memory-node.d.ts.map +1 -0
  59. package/dist/ai/nodes/memory-node.js +164 -0
  60. package/dist/ai/nodes/memory-node.js.map +1 -0
  61. package/dist/ai/nodes/memory-node.mjs +158 -0
  62. package/dist/ai/nodes/predict-node.d.ts +42 -0
  63. package/dist/ai/nodes/predict-node.d.ts.map +1 -0
  64. package/dist/ai/nodes/predict-node.js +89 -0
  65. package/dist/ai/nodes/predict-node.js.map +1 -0
  66. package/dist/ai/nodes/predict-node.mjs +86 -0
  67. package/dist/ai/nodes/types.d.ts +44 -0
  68. package/dist/ai/nodes/types.d.ts.map +1 -0
  69. package/dist/ai/nodes/types.js +6 -0
  70. package/dist/ai/nodes/types.js.map +1 -0
  71. package/dist/ai/nodes/types.mjs +5 -0
  72. package/dist/index.d.ts +23 -0
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +80 -1
  75. package/dist/index.js.map +1 -1
  76. package/dist/index.mjs +34 -0
  77. package/dist/lib/otel-tracer.d.ts +47 -0
  78. package/dist/lib/otel-tracer.d.ts.map +1 -0
  79. package/dist/lib/otel-tracer.js +79 -0
  80. package/dist/lib/otel-tracer.js.map +1 -0
  81. package/dist/lib/otel-tracer.mjs +75 -0
  82. package/dist/lib/token-estimator.d.ts +62 -0
  83. package/dist/lib/token-estimator.d.ts.map +1 -0
  84. package/dist/lib/token-estimator.js +106 -0
  85. package/dist/lib/token-estimator.js.map +1 -0
  86. package/dist/lib/token-estimator.mjs +100 -0
  87. package/dist/lib/tool-registry.d.ts +103 -0
  88. package/dist/lib/tool-registry.d.ts.map +1 -0
  89. package/dist/lib/tool-registry.js +159 -0
  90. package/dist/lib/tool-registry.js.map +1 -0
  91. package/dist/lib/tool-registry.mjs +154 -0
  92. package/dist/lib/tracer.d.ts +85 -0
  93. package/dist/lib/tracer.d.ts.map +1 -0
  94. package/dist/lib/tracer.js +170 -0
  95. package/dist/lib/tracer.js.map +1 -0
  96. package/dist/lib/tracer.mjs +161 -0
  97. package/dist/lib/types.d.ts +11 -0
  98. package/dist/lib/types.d.ts.map +1 -1
  99. package/dist/modules/mcp/adapter.d.ts +23 -0
  100. package/dist/modules/mcp/adapter.d.ts.map +1 -0
  101. package/dist/modules/mcp/adapter.js +63 -0
  102. package/dist/modules/mcp/adapter.js.map +1 -0
  103. package/dist/modules/mcp/adapter.mjs +58 -0
  104. package/dist/modules/mcp/client.d.ts +75 -0
  105. package/dist/modules/mcp/client.d.ts.map +1 -0
  106. package/dist/modules/mcp/client.js +300 -0
  107. package/dist/modules/mcp/client.js.map +1 -0
  108. package/dist/modules/mcp/client.mjs +295 -0
  109. package/dist/modules/mcp/http-transport.d.ts +51 -0
  110. package/dist/modules/mcp/http-transport.d.ts.map +1 -0
  111. package/dist/modules/mcp/http-transport.js +146 -0
  112. package/dist/modules/mcp/http-transport.js.map +1 -0
  113. package/dist/modules/mcp/http-transport.mjs +141 -0
  114. package/dist/modules/mcp/index.d.ts +11 -0
  115. package/dist/modules/mcp/index.d.ts.map +1 -0
  116. package/dist/modules/mcp/index.js +34 -0
  117. package/dist/modules/mcp/index.js.map +1 -0
  118. package/dist/modules/mcp/index.mjs +14 -0
  119. package/dist/modules/mcp/oauth.d.ts +101 -0
  120. package/dist/modules/mcp/oauth.d.ts.map +1 -0
  121. package/dist/modules/mcp/oauth.js +347 -0
  122. package/dist/modules/mcp/oauth.js.map +1 -0
  123. package/dist/modules/mcp/oauth.mjs +304 -0
  124. package/dist/modules/mcp/token-store.d.ts +69 -0
  125. package/dist/modules/mcp/token-store.d.ts.map +1 -0
  126. package/dist/modules/mcp/token-store.js +174 -0
  127. package/dist/modules/mcp/token-store.js.map +1 -0
  128. package/dist/modules/mcp/token-store.mjs +135 -0
  129. package/dist/modules/mcp/types.d.ts +91 -0
  130. package/dist/modules/mcp/types.d.ts.map +1 -0
  131. package/dist/modules/mcp/types.js +14 -0
  132. package/dist/modules/mcp/types.js.map +1 -0
  133. package/dist/modules/mcp/types.mjs +11 -0
  134. package/dist/modules/skills/index.d.ts +7 -0
  135. package/dist/modules/skills/index.d.ts.map +1 -0
  136. package/dist/modules/skills/index.js +14 -0
  137. package/dist/modules/skills/index.js.map +1 -0
  138. package/dist/modules/skills/index.mjs +6 -0
  139. package/dist/modules/skills/loader.d.ts +51 -0
  140. package/dist/modules/skills/loader.d.ts.map +1 -0
  141. package/dist/modules/skills/loader.js +237 -0
  142. package/dist/modules/skills/loader.js.map +1 -0
  143. package/dist/modules/skills/loader.mjs +198 -0
  144. package/dist/modules/skills/types.d.ts +60 -0
  145. package/dist/modules/skills/types.d.ts.map +1 -0
  146. package/dist/modules/skills/types.js +20 -0
  147. package/dist/modules/skills/types.js.map +1 -0
  148. package/dist/modules/skills/types.mjs +17 -0
  149. package/package.json +4 -1
@@ -0,0 +1,317 @@
1
+ /**
2
+ * AgentGraph - High-level agent execution wrapper.
3
+ * Encapsulates predict→execute→memory loop with event bridging.
4
+ *
5
+ * IMPORTANT: All compaction uses estimateMessageTokens from token-estimator.ts
6
+ */
7
+ import { StateGraph, END } from './graph.mjs';
8
+ import { predict } from './nodes/predict-node.mjs';
9
+ import { executeTools, toolResultsToMessages } from './nodes/execute-node.mjs';
10
+ import { compactMessages } from './nodes/memory-node.mjs';
11
+ import { estimateMessageTokens } from '../lib/token-estimator.mjs';
12
+ import { stripMeta } from './internal-types.mjs';
13
+ import { getGlobalTracer } from '../lib/tracer.mjs';
14
+ /**
15
+ * AgentGraph class for agent execution.
16
+ */
17
+ export class AgentGraph {
18
+ constructor(options) {
19
+ this.steps = [];
20
+ /** Compaction tracking */
21
+ this.compactionOccurred = false;
22
+ this.droppedSkills = [];
23
+ this.droppedMessages = 0;
24
+ this.options = options;
25
+ this.graph = this.buildGraph();
26
+ }
27
+ /**
28
+ * Compact messages if needed based on maxContextTokens.
29
+ * Uses estimateMessageTokens from token-estimator.ts for all estimation.
30
+ */
31
+ compactIfNeeded(state) {
32
+ const { maxContextTokens, tokenEstimatorConfig } = this.options;
33
+ // Skip if no budget specified
34
+ if (!maxContextTokens) {
35
+ return state;
36
+ }
37
+ // Build compaction config using estimateMessageTokens
38
+ const config = {
39
+ maxTokens: maxContextTokens,
40
+ estimateTokens: (msgs) => {
41
+ return msgs.reduce((sum, msg) => sum + estimateMessageTokens(msg, tokenEstimatorConfig), 0);
42
+ },
43
+ };
44
+ // Get current skills from _meta
45
+ const currentSkills = this.getInjectedSkillsFromMessages(state.messages);
46
+ // Perform compaction
47
+ const result = compactMessages(state.messages, config, currentSkills);
48
+ // Track compaction results
49
+ if (result.occurred) {
50
+ this.compactionOccurred = true;
51
+ this.droppedSkills.push(...result.droppedSkills);
52
+ this.droppedMessages += result.droppedMessages;
53
+ }
54
+ return {
55
+ ...state,
56
+ messages: result.messages,
57
+ skills: this.getInjectedSkillsFromMessages(result.messages),
58
+ };
59
+ }
60
+ /**
61
+ * Get injected skills from message _meta.
62
+ * Priority is derived from skill name ASCII order, not message order.
63
+ */
64
+ getInjectedSkillsFromMessages(messages) {
65
+ const skills = messages
66
+ .map((msg, idx) => ({ msg, idx }))
67
+ .filter(({ msg }) => msg._meta?.skillId && msg._meta?.droppable)
68
+ .map(({ msg, idx }) => ({
69
+ name: msg._meta.skillId,
70
+ priority: msg._meta.priority ?? 0,
71
+ messageIndex: idx,
72
+ tokenCount: estimateMessageTokens(msg, this.options.tokenEstimatorConfig),
73
+ }));
74
+ // Sort by name for stable priority
75
+ return skills.sort((a, b) => a.name.localeCompare(b.name))
76
+ .map((s, idx) => ({ ...s, priority: idx }));
77
+ }
78
+ /**
79
+ * Execute the agent graph.
80
+ */
81
+ async invoke(messages) {
82
+ const tracer = getGlobalTracer();
83
+ return tracer.withSpan('agent_graph.invoke', async (span) => {
84
+ span.setAttribute('model', this.options.model);
85
+ span.setAttribute('max_steps', this.options.maxSteps ?? 10);
86
+ span.setAttribute('message_count', messages.length);
87
+ // Reset steps and compaction tracking
88
+ this.steps = [];
89
+ this.compactionOccurred = false;
90
+ this.droppedSkills = [];
91
+ this.droppedMessages = 0;
92
+ // Build tools map
93
+ const toolsMap = new Map();
94
+ if (this.options.tools) {
95
+ for (const [name, tool] of Object.entries(this.options.tools)) {
96
+ toolsMap.set(name, { ...tool, name });
97
+ }
98
+ }
99
+ // Initialize state
100
+ const initialState = {
101
+ messages: [...messages],
102
+ skills: [],
103
+ tools: toolsMap,
104
+ stepCount: 0,
105
+ maxSteps: this.options.maxSteps ?? 10,
106
+ done: false,
107
+ output: '',
108
+ reasoning: '',
109
+ finishReason: null,
110
+ abortSignal: this.options.abortSignal,
111
+ };
112
+ // Inject skills if provided
113
+ if (this.options.skills?.length) {
114
+ const injected = this.injectSkills(initialState.messages, this.options.skills);
115
+ initialState.messages = injected.messages;
116
+ initialState.skills = injected.skills;
117
+ span.setAttribute('skills_injected', this.options.skills.length);
118
+ }
119
+ // Execute graph
120
+ const finalState = await this.graph.invoke(initialState, {
121
+ maxSteps: this.options.maxSteps ? this.options.maxSteps * 3 : 30,
122
+ });
123
+ span.setAttribute('final_step_count', finalState.stepCount);
124
+ span.setAttribute('finish_reason', finalState.finishReason ?? 'unknown');
125
+ if (this.compactionOccurred) {
126
+ span.setAttribute('compaction_occurred', true);
127
+ span.setAttribute('dropped_skills', this.droppedSkills.length);
128
+ span.setAttribute('dropped_messages', this.droppedMessages);
129
+ }
130
+ return {
131
+ text: finalState.output,
132
+ reasoning: finalState.reasoning || undefined,
133
+ steps: this.steps,
134
+ usage: finalState.usage,
135
+ finishReason: finalState.finishReason,
136
+ compaction: this.compactionOccurred ? {
137
+ occurred: true,
138
+ droppedSkills: this.droppedSkills,
139
+ droppedMessages: this.droppedMessages,
140
+ } : undefined,
141
+ };
142
+ });
143
+ }
144
+ /**
145
+ * Build the internal state graph.
146
+ */
147
+ buildGraph() {
148
+ const graph = new StateGraph()
149
+ .addNode('predict', async (state) => this.predictNode(state))
150
+ .addNode('execute', async (state) => this.executeNode(state))
151
+ .addConditionalEdge('predict', (state) => {
152
+ if (state.done)
153
+ return END;
154
+ return 'execute';
155
+ })
156
+ .addEdge('execute', 'predict')
157
+ .setEntryPoint('predict');
158
+ return graph.compile();
159
+ }
160
+ /**
161
+ * Predict node - calls LLM.
162
+ */
163
+ async predictNode(state) {
164
+ const tracer = getGlobalTracer();
165
+ const { events } = this.options;
166
+ return tracer.withSpan('agent_graph.predict', async (span) => {
167
+ span.setAttribute('step_count', state.stepCount);
168
+ span.setAttribute('message_count', state.messages.length);
169
+ // Notify node entry
170
+ events?.onNodeEnter?.('predict');
171
+ // Check step limit
172
+ if (state.stepCount >= state.maxSteps) {
173
+ events?.onNodeExit?.('predict');
174
+ return { done: true };
175
+ }
176
+ // Compact messages before prediction (if needed)
177
+ const compactedState = this.compactIfNeeded(state);
178
+ // Strip metadata before API call
179
+ const apiMessages = stripMeta(compactedState.messages);
180
+ // Execute prediction
181
+ const result = await predict({
182
+ client: this.options.client,
183
+ model: this.options.model,
184
+ messages: apiMessages,
185
+ tools: Array.from(state.tools.values()),
186
+ temperature: this.options.temperature,
187
+ topP: this.options.topP,
188
+ maxTokens: this.options.maxTokens,
189
+ responseFormat: this.options.responseFormat,
190
+ toolChoice: this.options.toolChoice,
191
+ abortSignal: state.abortSignal,
192
+ });
193
+ // Build step result
194
+ const textStep = {
195
+ type: 'text',
196
+ content: result.message.content || '',
197
+ reasoning: result.reasoning,
198
+ toolCalls: result.message.tool_calls,
199
+ };
200
+ this.steps.push(textStep);
201
+ events?.onStepFinish?.(textStep);
202
+ // Check if done - use hasToolCalls as primary gate
203
+ // High fix: finishReason can be null/missing, but tool_calls presence is reliable
204
+ const hasToolCalls = (result.message.tool_calls?.length ?? 0) > 0;
205
+ const isDone = !hasToolCalls;
206
+ // Update state with compacted messages
207
+ const newMessages = [
208
+ ...compactedState.messages,
209
+ { ...result.message },
210
+ ];
211
+ events?.onNodeExit?.('predict');
212
+ return {
213
+ messages: newMessages,
214
+ skills: compactedState.skills, // Preserve updated skill list
215
+ stepCount: state.stepCount + 1,
216
+ output: isDone ? (result.message.content || state.output) : state.output,
217
+ reasoning: (state.reasoning || '') + (result.reasoning || ''),
218
+ finishReason: result.finishReason,
219
+ usage: result.usage,
220
+ done: isDone,
221
+ };
222
+ });
223
+ }
224
+ /**
225
+ * Execute node - runs tools.
226
+ */
227
+ async executeNode(state) {
228
+ const tracer = getGlobalTracer();
229
+ const { events } = this.options;
230
+ return tracer.withSpan('agent_graph.execute', async (span) => {
231
+ // Notify node entry
232
+ events?.onNodeEnter?.('execute');
233
+ // Get last message with tool calls
234
+ const lastMessage = state.messages[state.messages.length - 1];
235
+ const toolCalls = lastMessage.tool_calls;
236
+ if (!toolCalls?.length) {
237
+ events?.onNodeExit?.('execute');
238
+ return {};
239
+ }
240
+ // Create tool call steps
241
+ for (const tc of toolCalls) {
242
+ const callStep = {
243
+ type: 'tool_call',
244
+ content: tc.function.arguments,
245
+ toolCalls: [tc],
246
+ };
247
+ this.steps.push(callStep);
248
+ events?.onStepFinish?.(callStep);
249
+ }
250
+ // Execute tools
251
+ const results = await executeTools(toolCalls, state.tools, {
252
+ messages: stripMeta(state.messages),
253
+ abortSignal: state.abortSignal,
254
+ });
255
+ // Create tool result steps and messages
256
+ const toolMessages = toolResultsToMessages(results);
257
+ for (const result of results) {
258
+ const resultStep = {
259
+ type: 'tool_result',
260
+ content: result.result,
261
+ toolResults: [{ toolCallId: result.toolCallId, result: result.result }],
262
+ };
263
+ this.steps.push(resultStep);
264
+ events?.onStepFinish?.(resultStep);
265
+ }
266
+ events?.onNodeExit?.('execute');
267
+ // Build new messages with tool results
268
+ const newMessages = [...state.messages, ...toolMessages.map(m => m)];
269
+ // Compact after execute if needed (tool results can be large)
270
+ const postExecuteState = this.compactIfNeeded({ ...state, messages: newMessages });
271
+ return {
272
+ messages: postExecuteState.messages,
273
+ skills: postExecuteState.skills,
274
+ };
275
+ });
276
+ }
277
+ /**
278
+ * Inject skills into messages.
279
+ * Each skill becomes a separate system message with _meta.
280
+ */
281
+ injectSkills(messages, skills) {
282
+ // Sort skills by name (ASCII order)
283
+ const sortedSkills = [...skills].sort((a, b) => a.name.localeCompare(b.name));
284
+ // Find insertion point (after first system message, or at start)
285
+ let insertIndex = 0;
286
+ for (let i = 0; i < messages.length; i++) {
287
+ if (messages[i].role === 'system') {
288
+ insertIndex = i + 1;
289
+ break;
290
+ }
291
+ }
292
+ // Create skill messages
293
+ const skillMessages = sortedSkills.map((skill, idx) => ({
294
+ role: 'system',
295
+ content: skill.content,
296
+ _meta: {
297
+ skillId: skill.name,
298
+ droppable: true,
299
+ },
300
+ }));
301
+ // Build injected skill metadata
302
+ const injectedSkills = sortedSkills.map((skill, idx) => ({
303
+ name: skill.name,
304
+ priority: idx, // Lower index = lower priority = drop first
305
+ messageIndex: insertIndex + idx,
306
+ tokenCount: skill.tokenCount,
307
+ }));
308
+ // Insert skill messages
309
+ const newMessages = [
310
+ ...messages.slice(0, insertIndex),
311
+ ...skillMessages,
312
+ ...messages.slice(insertIndex),
313
+ ];
314
+ return { messages: newMessages, skills: injectedSkills };
315
+ }
316
+ }
317
+ //# sourceMappingURL=agent-graph.js.map
@@ -60,4 +60,55 @@ export interface GenerateTextResult {
60
60
  }
61
61
  export declare function generateText(options: GenerateTextOptions): Promise<GenerateTextResult>;
62
62
  export declare function serializeToolResult(result: unknown): string;
63
+ import type { Skill } from '../modules/skills';
64
+ /**
65
+ * Extended options for graph-based generation.
66
+ */
67
+ export interface GenerateTextWithGraphOptions extends GenerateTextOptions {
68
+ /** Skills to inject into the conversation */
69
+ skills?: Skill[];
70
+ /** Context token budget for compaction */
71
+ maxContextTokens?: number;
72
+ /** Event handler for node entry */
73
+ onNodeEnter?: (nodeName: string) => void;
74
+ /** Event handler for node exit */
75
+ onNodeExit?: (nodeName: string) => void;
76
+ }
77
+ /**
78
+ * Extended result with graph-specific information.
79
+ */
80
+ export interface GenerateTextWithGraphResult extends GenerateTextResult {
81
+ /** Graph execution details */
82
+ graphInfo?: {
83
+ nodesVisited: string[];
84
+ skillsInjected: string[];
85
+ /** Compaction information */
86
+ compaction?: {
87
+ occurred: boolean;
88
+ droppedSkills: string[];
89
+ droppedMessages: number;
90
+ };
91
+ };
92
+ }
93
+ /**
94
+ * Generate text using the AgentGraph runtime.
95
+ *
96
+ * Benefits over generateText:
97
+ * - Skills injection with automatic compaction
98
+ * - Node-level event hooks (onNodeEnter/onNodeExit)
99
+ * - Consistent event ordering (text→tool_call→tool_result)
100
+ * - JSON mode non-streaming fallback
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const result = await generateTextWithGraph({
105
+ * client,
106
+ * model: 'deepseek-v3',
107
+ * messages: [{ role: 'user', content: 'Hello' }],
108
+ * skills: [await skillLoader.load('my-skill')],
109
+ * onStepFinish: (step) => console.log(step),
110
+ * });
111
+ * ```
112
+ */
113
+ export declare function generateTextWithGraph(options: GenerateTextWithGraphOptions): Promise<GenerateTextWithGraphResult>;
63
114
  //# sourceMappingURL=generate-text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-text.d.ts","sourceRoot":"","sources":["../../src/ai/generate-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAyB,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAIjG,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,IAAI;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC1F;AAED,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACnF;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiG5F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAc3D"}
1
+ {"version":3,"file":"generate-text.d.ts","sourceRoot":"","sources":["../../src/ai/generate-text.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateText = generateText;
4
4
  exports.serializeToolResult = serializeToolResult;
5
+ exports.generateTextWithGraph = generateTextWithGraph;
5
6
  const errors_1 = require("../lib/errors");
6
7
  async function generateText(options) {
7
8
  const { client, model, tools, maxSteps = 1, onStepFinish, abortSignal, temperature, topP, maxTokens, responseFormat, toolChoice, } = options;
@@ -308,4 +309,135 @@ function parseToolArguments(payload) {
308
309
  return payload;
309
310
  }
310
311
  }
312
+ // ============================================================================
313
+ // G2/G4: Graph-based generateText implementation
314
+ // ============================================================================
315
+ const agent_graph_1 = require("./agent-graph");
316
+ /**
317
+ * Generate text using the AgentGraph runtime.
318
+ *
319
+ * Benefits over generateText:
320
+ * - Skills injection with automatic compaction
321
+ * - Node-level event hooks (onNodeEnter/onNodeExit)
322
+ * - Consistent event ordering (text→tool_call→tool_result)
323
+ * - JSON mode non-streaming fallback
324
+ *
325
+ * @example
326
+ * ```typescript
327
+ * const result = await generateTextWithGraph({
328
+ * client,
329
+ * model: 'deepseek-v3',
330
+ * messages: [{ role: 'user', content: 'Hello' }],
331
+ * skills: [await skillLoader.load('my-skill')],
332
+ * onStepFinish: (step) => console.log(step),
333
+ * });
334
+ * ```
335
+ */
336
+ async function generateTextWithGraph(options) {
337
+ const { client, model, tools, skills, maxSteps = 10, maxContextTokens, onStepFinish, onNodeEnter, onNodeExit, abortSignal, temperature, topP, maxTokens, responseFormat, toolChoice, } = options;
338
+ // Normalize messages
339
+ const messages = normalizeMessages(options);
340
+ // Track current messages for tool context (will be updated during execution)
341
+ let currentMessages = [...messages];
342
+ // Convert tools to RegisteredTool format
343
+ // High fix: use convertToolParameters for Zod support and preserve required fields
344
+ const registeredTools = {};
345
+ if (tools) {
346
+ for (const [name, tool] of Object.entries(tools)) {
347
+ // Convert parameters using same logic as generateText
348
+ const convertedParams = convertToolParameters(tool.parameters);
349
+ registeredTools[name] = {
350
+ name,
351
+ description: tool.description || '',
352
+ parameters: {
353
+ type: 'object',
354
+ properties: convertedParams.properties || convertedParams,
355
+ required: convertedParams.required,
356
+ },
357
+ source: { type: 'user', namespace: 'generateText' },
358
+ execute: tool.execute
359
+ ? async (args, execContext) => {
360
+ // Use context from execute-node (has real toolCallId), fallback to currentMessages
361
+ const context = execContext
362
+ ? {
363
+ toolCallId: execContext.toolCallId,
364
+ messages: execContext.messages,
365
+ abortSignal: execContext.abortSignal,
366
+ }
367
+ : {
368
+ toolCallId: '',
369
+ messages: currentMessages,
370
+ abortSignal,
371
+ };
372
+ return tool.execute(args, context);
373
+ }
374
+ : undefined,
375
+ };
376
+ }
377
+ }
378
+ // Track nodes visited
379
+ const nodesVisited = [];
380
+ // Create AgentGraph
381
+ const graph = new agent_graph_1.AgentGraph({
382
+ client,
383
+ model,
384
+ tools: registeredTools,
385
+ skills,
386
+ maxSteps,
387
+ maxContextTokens, // Pass through for compaction
388
+ temperature,
389
+ topP,
390
+ maxTokens,
391
+ responseFormat,
392
+ toolChoice,
393
+ abortSignal,
394
+ events: {
395
+ onStepFinish: (step) => {
396
+ if (onStepFinish) {
397
+ // Convert internal StepResult to public StepResult
398
+ const publicStep = {
399
+ type: step.type,
400
+ content: step.content,
401
+ reasoning: step.reasoning,
402
+ toolCalls: step.toolCalls,
403
+ toolResults: step.toolResults?.map(r => ({
404
+ toolCallId: r.toolCallId,
405
+ result: r.result,
406
+ })),
407
+ };
408
+ onStepFinish(publicStep);
409
+ }
410
+ },
411
+ onNodeEnter: (nodeName) => {
412
+ nodesVisited.push(nodeName);
413
+ onNodeEnter?.(nodeName);
414
+ },
415
+ onNodeExit: onNodeExit,
416
+ },
417
+ });
418
+ // Execute graph
419
+ const graphResult = await graph.invoke(messages);
420
+ // Build result
421
+ return {
422
+ text: graphResult.text,
423
+ reasoning: graphResult.reasoning,
424
+ steps: graphResult.steps.map(s => ({
425
+ type: s.type,
426
+ content: s.content,
427
+ reasoning: s.reasoning,
428
+ toolCalls: s.toolCalls,
429
+ toolResults: s.toolResults?.map(r => ({
430
+ toolCallId: r.toolCallId,
431
+ result: r.result,
432
+ })),
433
+ })),
434
+ usage: graphResult.usage,
435
+ finishReason: graphResult.finishReason,
436
+ graphInfo: {
437
+ nodesVisited,
438
+ skillsInjected: skills?.map(s => s.name) || [],
439
+ compaction: graphResult.compaction,
440
+ },
441
+ };
442
+ }
311
443
  //# sourceMappingURL=generate-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-text.js","sourceRoot":"","sources":["../../src/ai/generate-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-text.js","sourceRoot":"","sources":["../../src/ai/generate-text.ts"],"names":[],"mappings":"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"}