@framers/agentos 0.1.93 → 0.1.95
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/README.md +10 -0
- package/dist/api/AgentOS.d.ts +13 -0
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +36 -1
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/agent.d.ts +7 -0
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +34 -2
- package/dist/api/agent.js.map +1 -1
- package/dist/api/generateImage.d.ts +3 -0
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +95 -36
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateText.d.ts +9 -0
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +173 -101
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/observability.d.ts +16 -0
- package/dist/api/observability.d.ts.map +1 -0
- package/dist/api/observability.js +46 -0
- package/dist/api/observability.js.map +1 -0
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +93 -22
- package/dist/api/streamText.js.map +1 -1
- package/dist/api/usageLedger.d.ts +58 -0
- package/dist/api/usageLedger.d.ts.map +1 -0
- package/dist/api/usageLedger.js +151 -0
- package/dist/api/usageLedger.js.map +1 -0
- package/dist/core/tools/IToolOrchestrator.d.ts +38 -1
- package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.d.ts +58 -1
- package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.js +116 -1
- package/dist/core/tools/ToolOrchestrator.js.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts +19 -0
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js +54 -0
- package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
- package/dist/discovery/types.d.ts +8 -1
- package/dist/discovery/types.d.ts.map +1 -1
- package/dist/discovery/types.js.map +1 -1
- package/dist/emergent/ComposableToolBuilder.d.ts +125 -0
- package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -0
- package/dist/emergent/ComposableToolBuilder.js +318 -0
- package/dist/emergent/ComposableToolBuilder.js.map +1 -0
- package/dist/emergent/EmergentCapabilityEngine.d.ts +168 -0
- package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -0
- package/dist/emergent/EmergentCapabilityEngine.js +437 -0
- package/dist/emergent/EmergentCapabilityEngine.js.map +1 -0
- package/dist/emergent/EmergentJudge.d.ts +283 -0
- package/dist/emergent/EmergentJudge.d.ts.map +1 -0
- package/dist/emergent/EmergentJudge.js +463 -0
- package/dist/emergent/EmergentJudge.js.map +1 -0
- package/dist/emergent/EmergentToolRegistry.d.ts +286 -0
- package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -0
- package/dist/emergent/EmergentToolRegistry.js +546 -0
- package/dist/emergent/EmergentToolRegistry.js.map +1 -0
- package/dist/emergent/ForgeToolMetaTool.d.ts +124 -0
- package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -0
- package/dist/emergent/ForgeToolMetaTool.js +170 -0
- package/dist/emergent/ForgeToolMetaTool.js.map +1 -0
- package/dist/emergent/SandboxedToolForge.d.ts +185 -0
- package/dist/emergent/SandboxedToolForge.d.ts.map +1 -0
- package/dist/emergent/SandboxedToolForge.js +383 -0
- package/dist/emergent/SandboxedToolForge.js.map +1 -0
- package/dist/emergent/index.d.ts +25 -0
- package/dist/emergent/index.d.ts.map +1 -0
- package/dist/emergent/index.js +20 -0
- package/dist/emergent/index.js.map +1 -0
- package/dist/emergent/types.d.ts +596 -0
- package/dist/emergent/types.d.ts.map +1 -0
- package/dist/emergent/types.js +36 -0
- package/dist/emergent/types.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.js +53 -11
- package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
- package/package.json +1 -1
package/dist/api/streamText.js
CHANGED
|
@@ -8,8 +8,11 @@
|
|
|
8
8
|
* yielded inline before the next LLM step begins.
|
|
9
9
|
*/
|
|
10
10
|
import { resolveModelOption, resolveProvider, createProviderManager } from './model.js';
|
|
11
|
+
import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
|
|
11
12
|
import { adaptTools } from './toolAdapter.js';
|
|
13
|
+
import { recordAgentOSUsage } from './usageLedger.js';
|
|
12
14
|
import { StreamingReconstructor } from '../core/llm/streaming/StreamingReconstructor.js';
|
|
15
|
+
import { recordAgentOSTurnMetrics, startAgentOSSpan } from '../core/observability/otel.js';
|
|
13
16
|
/**
|
|
14
17
|
* Stateless streaming text generation with optional multi-step tool calling.
|
|
15
18
|
*
|
|
@@ -38,15 +41,24 @@ export function streamText(opts) {
|
|
|
38
41
|
const parts = [];
|
|
39
42
|
const allToolCalls = [];
|
|
40
43
|
async function* runStream() {
|
|
44
|
+
const startedAt = Date.now();
|
|
45
|
+
const rootSpan = startAgentOSSpan('agentos.api.stream_text');
|
|
41
46
|
const usage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
|
|
42
47
|
let finalText = '';
|
|
48
|
+
let metricStatus = 'ok';
|
|
49
|
+
let recordedProviderId;
|
|
50
|
+
let recordedModelId;
|
|
43
51
|
try {
|
|
44
52
|
const { providerId, modelId } = resolveModelOption(opts, 'text');
|
|
45
53
|
const resolved = resolveProvider(providerId, modelId, { apiKey: opts.apiKey, baseUrl: opts.baseUrl });
|
|
46
54
|
const manager = await createProviderManager(resolved);
|
|
55
|
+
recordedProviderId = resolved.providerId;
|
|
56
|
+
recordedModelId = resolved.modelId;
|
|
47
57
|
const provider = manager.getProvider(resolved.providerId);
|
|
48
58
|
if (!provider)
|
|
49
59
|
throw new Error(`Provider ${resolved.providerId} not available.`);
|
|
60
|
+
rootSpan?.setAttribute('llm.provider', resolved.providerId);
|
|
61
|
+
rootSpan?.setAttribute('llm.model', resolved.modelId);
|
|
50
62
|
const messages = [];
|
|
51
63
|
if (opts.system)
|
|
52
64
|
messages.push({ role: 'system', content: opts.system });
|
|
@@ -59,6 +71,7 @@ export function streamText(opts) {
|
|
|
59
71
|
const toolMap = new Map();
|
|
60
72
|
for (const tool of tools)
|
|
61
73
|
toolMap.set(tool.name, tool);
|
|
74
|
+
rootSpan?.setAttribute('agentos.api.tool_count', tools.length);
|
|
62
75
|
const toolSchemas = tools.length > 0
|
|
63
76
|
? tools.map((tool) => ({
|
|
64
77
|
type: 'function',
|
|
@@ -66,37 +79,61 @@ export function streamText(opts) {
|
|
|
66
79
|
}))
|
|
67
80
|
: undefined;
|
|
68
81
|
const maxSteps = opts.maxSteps ?? 1;
|
|
82
|
+
rootSpan?.setAttribute('agentos.api.max_steps', maxSteps);
|
|
69
83
|
for (let step = 0; step < maxSteps; step++) {
|
|
84
|
+
const stepSpan = startAgentOSSpan('agentos.api.stream_text.step', {
|
|
85
|
+
attributes: {
|
|
86
|
+
'llm.provider': resolved.providerId,
|
|
87
|
+
'llm.model': resolved.modelId,
|
|
88
|
+
'agentos.api.step': step + 1,
|
|
89
|
+
'agentos.api.tool_count': tools.length,
|
|
90
|
+
},
|
|
91
|
+
});
|
|
70
92
|
const stream = provider.generateCompletionStream(resolved.modelId, messages, {
|
|
71
93
|
tools: toolSchemas,
|
|
72
94
|
temperature: opts.temperature,
|
|
73
95
|
maxTokens: opts.maxTokens,
|
|
74
96
|
});
|
|
75
97
|
const reconstructor = new StreamingReconstructor();
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
try {
|
|
99
|
+
for await (const chunk of stream) {
|
|
100
|
+
reconstructor.push(chunk);
|
|
101
|
+
const textDelta = chunk.responseTextDelta ?? '';
|
|
102
|
+
if (textDelta) {
|
|
103
|
+
const part = { type: 'text', text: textDelta };
|
|
104
|
+
parts.push(part);
|
|
105
|
+
yield part;
|
|
106
|
+
}
|
|
107
|
+
if (chunk.error) {
|
|
108
|
+
const error = new Error(chunk.error.message);
|
|
109
|
+
const part = { type: 'error', error };
|
|
110
|
+
parts.push(part);
|
|
111
|
+
yield part;
|
|
112
|
+
metricStatus = 'error';
|
|
113
|
+
resolveText(finalText);
|
|
114
|
+
resolveUsage(usage);
|
|
115
|
+
resolveToolCalls(allToolCalls);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (chunk.isFinal && chunk.usage) {
|
|
119
|
+
usage.promptTokens += chunk.usage.promptTokens ?? 0;
|
|
120
|
+
usage.completionTokens += chunk.usage.completionTokens ?? 0;
|
|
121
|
+
usage.totalTokens += chunk.usage.totalTokens ?? 0;
|
|
122
|
+
if (typeof chunk.usage.costUSD === 'number') {
|
|
123
|
+
usage.costUSD = (usage.costUSD ?? 0) + chunk.usage.costUSD;
|
|
124
|
+
}
|
|
125
|
+
attachUsageAttributes(stepSpan, {
|
|
126
|
+
promptTokens: chunk.usage.promptTokens,
|
|
127
|
+
completionTokens: chunk.usage.completionTokens,
|
|
128
|
+
totalTokens: chunk.usage.totalTokens,
|
|
129
|
+
costUSD: chunk.usage.costUSD,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
98
132
|
}
|
|
99
133
|
}
|
|
134
|
+
finally {
|
|
135
|
+
stepSpan?.end();
|
|
136
|
+
}
|
|
100
137
|
const stepText = reconstructor.getFullText();
|
|
101
138
|
const finalChunk = reconstructor.getFinalChunk();
|
|
102
139
|
const streamedToolCalls = finalChunk?.choices?.[0]?.message?.tool_calls
|
|
@@ -112,6 +149,9 @@ export function streamText(opts) {
|
|
|
112
149
|
}));
|
|
113
150
|
if (!streamedToolCalls || streamedToolCalls.length === 0) {
|
|
114
151
|
finalText = stepText;
|
|
152
|
+
rootSpan?.setAttribute('agentos.api.finish_reason', 'stop');
|
|
153
|
+
rootSpan?.setAttribute('agentos.api.tool_calls', allToolCalls.length);
|
|
154
|
+
attachUsageAttributes(rootSpan, usage);
|
|
115
155
|
resolveText(finalText);
|
|
116
156
|
resolveUsage(usage);
|
|
117
157
|
resolveToolCalls(allToolCalls);
|
|
@@ -194,6 +234,7 @@ export function streamText(opts) {
|
|
|
194
234
|
resolveToolCalls(allToolCalls);
|
|
195
235
|
}
|
|
196
236
|
catch (err) {
|
|
237
|
+
metricStatus = 'error';
|
|
197
238
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
198
239
|
const part = { type: 'error', error };
|
|
199
240
|
parts.push(part);
|
|
@@ -202,6 +243,36 @@ export function streamText(opts) {
|
|
|
202
243
|
resolveUsage(usage);
|
|
203
244
|
resolveToolCalls(allToolCalls);
|
|
204
245
|
}
|
|
246
|
+
finally {
|
|
247
|
+
rootSpan?.setAttribute('agentos.api.tool_calls', allToolCalls.length);
|
|
248
|
+
if (metricStatus === 'error') {
|
|
249
|
+
rootSpan?.setAttribute('agentos.api.finish_reason', 'error');
|
|
250
|
+
}
|
|
251
|
+
else if (allToolCalls.length > 0 && !finalText) {
|
|
252
|
+
rootSpan?.setAttribute('agentos.api.finish_reason', 'tool-calls');
|
|
253
|
+
}
|
|
254
|
+
attachUsageAttributes(rootSpan, usage);
|
|
255
|
+
rootSpan?.end();
|
|
256
|
+
try {
|
|
257
|
+
await recordAgentOSUsage({
|
|
258
|
+
providerId: recordedProviderId,
|
|
259
|
+
modelId: recordedModelId,
|
|
260
|
+
usage,
|
|
261
|
+
options: {
|
|
262
|
+
...opts.usageLedger,
|
|
263
|
+
source: opts.usageLedger?.source ?? 'streamText',
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
// Helper-level usage persistence is best-effort and should not break streaming.
|
|
269
|
+
}
|
|
270
|
+
recordAgentOSTurnMetrics({
|
|
271
|
+
durationMs: Date.now() - startedAt,
|
|
272
|
+
status: metricStatus,
|
|
273
|
+
usage: toTurnMetricUsage(usage),
|
|
274
|
+
});
|
|
275
|
+
}
|
|
205
276
|
}
|
|
206
277
|
const fullStreamIterable = runStream();
|
|
207
278
|
const textStreamIterable = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamText.js","sourceRoot":"","sources":["../../src/api/streamText.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAqCzF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAyB;IAClD,IAAI,WAAgC,CAAC;IACrC,IAAI,YAAqC,CAAC;IAC1C,IAAI,gBAA+C,CAAC;IAEpD,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAI,OAAO,CAAa,CAAC,CAAC,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAmB,CAAC,CAAC,EAAE,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,KAAK,SAAS,CAAC,CAAC,SAAS;QACvB,MAAM,KAAK,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACnF,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,UAAU,iBAAiB,CAAC,CAAC;YAEjF,MAAM,QAAQ,GAAmC,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,QAAQ;gBAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtG,IAAI,IAAI,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEvD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnB,IAAI,EAAE,UAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;iBAC3F,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAEpC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAC9C,QAAQ,CAAC,OAAO,EAChB,QAAe,EACf;oBACE,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;iBACnB,CACT,CAAC;gBAEF,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBAEnD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1B,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBAChD,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wBAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,MAAM,IAAI,CAAC;oBACb,CAAC;oBAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC7C,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;wBAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,MAAM,IAAI,CAAC;wBACX,WAAY,CAAC,SAAS,CAAC,CAAC;wBACxB,YAAa,CAAC,KAAK,CAAC,CAAC;wBACrB,gBAAiB,CAAC,YAAY,CAAC,CAAC;wBAChC,OAAO;oBACT,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBACjC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;wBACpD,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;wBAC5D,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;gBACjD,MAAM,iBAAiB,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU;uBAClE,aAAa,CAAC,YAAY,EAAE;yBAC5B,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;yBAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAClB,EAAE,EAAE,QAAQ,CAAC,EAAG;wBAChB,IAAI,EAAE,UAAmB;wBACzB,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ,CAAC,IAAK;4BACpB,SAAS,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;yBAC7E;qBACF,CAAC,CAAC,CAAC;gBAER,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,SAAS,GAAG,QAAQ,CAAC;oBACrB,WAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,YAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,gBAAiB,CAAC,YAAY,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,QAAQ,IAAI,IAAI;oBACzB,UAAU,EAAE,iBAAiB;iBACvB,CAAC,CAAC;gBAEV,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC;oBACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;oBACrC,IAAI,UAAmB,CAAC;oBAExB,IAAI,CAAC;wBACH,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3E,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,GAAG,EAAE,CAAC;oBAClB,CAAC;oBAED,MAAM,cAAc,GAAmB;wBACrC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB,CAAC;oBACF,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;oBAC1F,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACxB,MAAM,WAAW,CAAC;oBAElB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,cAAc,CAAC,KAAK,GAAG,SAAS,MAAM,cAAc,CAAC;wBACrD,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;wBAClH,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM,UAAU,CAAC;wBACjB,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,YAAY,EAAE,UAAU;4BACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;yBAClD,CAAC,CAAC;wBACV,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAClC,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAiB,EAAE,EAAS,CAAC,CAAC;wBAChE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACtC,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBACjE,MAAM,UAAU,GAAe;4BAC7B,IAAI,EAAE,aAAa;4BACnB,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;yBACjD,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM,UAAU,CAAC;wBACjB,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,YAAY,EAAE,UAAU;4BACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,wBAAwB,EAAE,CAAC;yBACvF,CAAC,CAAC;oBACZ,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnD,MAAM,UAAU,GAAe;4BAC7B,IAAI,EAAE,aAAa;4BACnB,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE;yBACxC,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM,UAAU,CAAC;wBACjB,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,YAAY,EAAE,UAAU;4BACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;yBAClD,CAAC,CAAC;oBACZ,CAAC;oBAED,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,WAAY,CAAC,SAAS,CAAC,CAAC;YACxB,YAAa,CAAC,KAAK,CAAC,CAAC;YACrB,gBAAiB,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,IAAI,CAAC;YACX,WAAY,CAAC,SAAS,CAAC,CAAC;YACxB,YAAa,CAAC,KAAK,CAAC,CAAC;YACrB,gBAAiB,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAC;IAEvC,MAAM,kBAAkB,GAA0B;QAChD,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,KAAK,CAAC,IAAI;oBACR,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC3C,IAAI,IAAI;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;wBAClD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBACvE,CAAC;gBACH,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,kBAAkB;QAC9B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,gBAAgB;KAC5B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"streamText.js","sourceRoot":"","sources":["../../src/api/streamText.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface AgentOSUsageLedgerOptions {
|
|
2
|
+
/** Enable persistence using the shared default path under `~/.framers/usage-ledger.jsonl`. */
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
/** Explicit path to the append-only JSONL ledger file. */
|
|
5
|
+
path?: string;
|
|
6
|
+
/** Session identifier used to group related helper calls. Defaults to `"global"`. */
|
|
7
|
+
sessionId?: string;
|
|
8
|
+
/** Optional persona identifier for callers layering persona-specific usage views. */
|
|
9
|
+
personaId?: string;
|
|
10
|
+
/** Optional source label such as `"generateText"` or `"agent.session.stream"`. */
|
|
11
|
+
source?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AgentOSUsageEvent {
|
|
14
|
+
recordedAt: string;
|
|
15
|
+
sessionId: string;
|
|
16
|
+
personaId?: string;
|
|
17
|
+
providerId?: string;
|
|
18
|
+
modelId?: string;
|
|
19
|
+
userId?: string;
|
|
20
|
+
tenantId?: string;
|
|
21
|
+
source?: string;
|
|
22
|
+
promptTokens: number;
|
|
23
|
+
completionTokens: number;
|
|
24
|
+
totalTokens: number;
|
|
25
|
+
costUSD?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface AgentOSUsageAggregate {
|
|
28
|
+
sessionId?: string;
|
|
29
|
+
personaId?: string;
|
|
30
|
+
promptTokens: number;
|
|
31
|
+
completionTokens: number;
|
|
32
|
+
totalTokens: number;
|
|
33
|
+
costUSD: number;
|
|
34
|
+
calls: number;
|
|
35
|
+
}
|
|
36
|
+
export interface AgentOSUsageRecordInput {
|
|
37
|
+
providerId?: string;
|
|
38
|
+
modelId?: string;
|
|
39
|
+
userId?: string;
|
|
40
|
+
tenantId?: string;
|
|
41
|
+
usage?: {
|
|
42
|
+
promptTokens?: number;
|
|
43
|
+
completionTokens?: number;
|
|
44
|
+
totalTokens?: number;
|
|
45
|
+
costUSD?: number;
|
|
46
|
+
};
|
|
47
|
+
options?: AgentOSUsageLedgerOptions;
|
|
48
|
+
}
|
|
49
|
+
interface ReadAgentOSUsageOptions extends Pick<AgentOSUsageLedgerOptions, 'enabled' | 'path' | 'sessionId' | 'personaId'> {
|
|
50
|
+
}
|
|
51
|
+
export declare function getDefaultAgentOSUsageLedgerPath(): string;
|
|
52
|
+
export declare function resolveAgentOSUsageLedgerPath(options?: Pick<AgentOSUsageLedgerOptions, 'enabled' | 'path'>): string | undefined;
|
|
53
|
+
export declare function readRecordedAgentOSUsageEvents(options?: ReadAgentOSUsageOptions): Promise<AgentOSUsageEvent[]>;
|
|
54
|
+
export declare function recordAgentOSUsage(input: AgentOSUsageRecordInput): Promise<boolean>;
|
|
55
|
+
export declare function getRecordedAgentOSUsage(options?: ReadAgentOSUsageOptions): Promise<AgentOSUsageAggregate>;
|
|
56
|
+
export declare function clearRecordedAgentOSUsage(options?: Pick<AgentOSUsageLedgerOptions, 'enabled' | 'path'>): Promise<void>;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=usageLedger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageLedger.d.ts","sourceRoot":"","sources":["../../src/api/usageLedger.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,yBAAyB;IACxC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC;AAED,UAAU,uBAAwB,SAAQ,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;CAAG;AAK5H,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AA2DD,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAgB/H;AAED,wBAAsB,8BAA8B,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0BpH;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBzF;AAED,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAS/G;AAED,wBAAsB,yBAAyB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5H"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file usageLedger.ts
|
|
3
|
+
* Optional durable usage ledger for the lightweight AgentOS helper APIs.
|
|
4
|
+
*
|
|
5
|
+
* Library consumers can enable persistence explicitly per call/session or by
|
|
6
|
+
* setting `AGENTOS_USAGE_LEDGER_PATH` / `WUNDERLAND_USAGE_LEDGER_PATH`. When disabled, helper APIs keep their
|
|
7
|
+
* current behavior and do not write to disk.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'node:fs/promises';
|
|
10
|
+
import * as os from 'node:os';
|
|
11
|
+
import * as path from 'node:path';
|
|
12
|
+
import { UsageLedger } from '../core/usage/UsageLedger.js';
|
|
13
|
+
const DEFAULT_LEDGER_DIR = '.framers';
|
|
14
|
+
const DEFAULT_LEDGER_FILE = 'usage-ledger.jsonl';
|
|
15
|
+
export function getDefaultAgentOSUsageLedgerPath() {
|
|
16
|
+
return path.join(os.homedir(), DEFAULT_LEDGER_DIR, DEFAULT_LEDGER_FILE);
|
|
17
|
+
}
|
|
18
|
+
function hasMeaningfulUsage(usage) {
|
|
19
|
+
if (!usage)
|
|
20
|
+
return false;
|
|
21
|
+
return [
|
|
22
|
+
usage.promptTokens,
|
|
23
|
+
usage.completionTokens,
|
|
24
|
+
usage.totalTokens,
|
|
25
|
+
usage.costUSD,
|
|
26
|
+
].some((value) => typeof value === 'number' && Number.isFinite(value) && value > 0);
|
|
27
|
+
}
|
|
28
|
+
function toAggregate(events, requestedSessionId, requestedPersonaId) {
|
|
29
|
+
const ledger = new UsageLedger();
|
|
30
|
+
for (const event of events) {
|
|
31
|
+
ledger.ingestUsage({
|
|
32
|
+
sessionId: event.sessionId,
|
|
33
|
+
personaId: event.personaId,
|
|
34
|
+
providerId: event.providerId,
|
|
35
|
+
modelId: event.modelId,
|
|
36
|
+
}, {
|
|
37
|
+
promptTokens: event.promptTokens,
|
|
38
|
+
completionTokens: event.completionTokens,
|
|
39
|
+
totalTokens: event.totalTokens,
|
|
40
|
+
costUSD: event.costUSD,
|
|
41
|
+
modelId: event.modelId,
|
|
42
|
+
isFinal: true,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const summaries = requestedSessionId
|
|
46
|
+
? ledger.getSummariesBySession(requestedSessionId)
|
|
47
|
+
: ledger.listAllSummaries();
|
|
48
|
+
return summaries.reduce((aggregate, summary) => ({
|
|
49
|
+
sessionId: requestedSessionId,
|
|
50
|
+
personaId: requestedPersonaId,
|
|
51
|
+
promptTokens: aggregate.promptTokens + summary.promptTokens,
|
|
52
|
+
completionTokens: aggregate.completionTokens + summary.completionTokens,
|
|
53
|
+
totalTokens: aggregate.totalTokens + summary.totalTokens,
|
|
54
|
+
costUSD: aggregate.costUSD + summary.costUSD,
|
|
55
|
+
calls: aggregate.calls + summary.calls,
|
|
56
|
+
}), {
|
|
57
|
+
sessionId: requestedSessionId,
|
|
58
|
+
personaId: requestedPersonaId,
|
|
59
|
+
promptTokens: 0,
|
|
60
|
+
completionTokens: 0,
|
|
61
|
+
totalTokens: 0,
|
|
62
|
+
costUSD: 0,
|
|
63
|
+
calls: 0,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
export function resolveAgentOSUsageLedgerPath(options) {
|
|
67
|
+
if (options?.path?.trim()) {
|
|
68
|
+
return path.resolve(options.path);
|
|
69
|
+
}
|
|
70
|
+
const envPath = process.env.AGENTOS_USAGE_LEDGER_PATH?.trim()
|
|
71
|
+
|| process.env.WUNDERLAND_USAGE_LEDGER_PATH?.trim();
|
|
72
|
+
if (envPath) {
|
|
73
|
+
return path.resolve(envPath);
|
|
74
|
+
}
|
|
75
|
+
if (options?.enabled) {
|
|
76
|
+
return getDefaultAgentOSUsageLedgerPath();
|
|
77
|
+
}
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
export async function readRecordedAgentOSUsageEvents(options) {
|
|
81
|
+
const ledgerPath = resolveAgentOSUsageLedgerPath(options);
|
|
82
|
+
if (!ledgerPath)
|
|
83
|
+
return [];
|
|
84
|
+
let raw = '';
|
|
85
|
+
try {
|
|
86
|
+
raw = await fs.readFile(ledgerPath, 'utf8');
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (error?.code === 'ENOENT') {
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
return raw
|
|
95
|
+
.split('\n')
|
|
96
|
+
.map((line) => line.trim())
|
|
97
|
+
.filter(Boolean)
|
|
98
|
+
.map((line) => {
|
|
99
|
+
try {
|
|
100
|
+
return JSON.parse(line);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
})
|
|
106
|
+
.filter((event) => Boolean(event));
|
|
107
|
+
}
|
|
108
|
+
export async function recordAgentOSUsage(input) {
|
|
109
|
+
const ledgerPath = resolveAgentOSUsageLedgerPath(input.options);
|
|
110
|
+
if (!ledgerPath)
|
|
111
|
+
return false;
|
|
112
|
+
if (!input.providerId && !input.modelId)
|
|
113
|
+
return false;
|
|
114
|
+
if (!hasMeaningfulUsage(input.usage))
|
|
115
|
+
return false;
|
|
116
|
+
const event = {
|
|
117
|
+
recordedAt: new Date().toISOString(),
|
|
118
|
+
sessionId: input.options?.sessionId ?? 'global',
|
|
119
|
+
personaId: input.options?.personaId,
|
|
120
|
+
providerId: input.providerId,
|
|
121
|
+
modelId: input.modelId,
|
|
122
|
+
userId: input.userId,
|
|
123
|
+
tenantId: input.tenantId,
|
|
124
|
+
source: input.options?.source,
|
|
125
|
+
promptTokens: input.usage?.promptTokens ?? 0,
|
|
126
|
+
completionTokens: input.usage?.completionTokens ?? 0,
|
|
127
|
+
totalTokens: input.usage?.totalTokens ?? 0,
|
|
128
|
+
costUSD: input.usage?.costUSD,
|
|
129
|
+
};
|
|
130
|
+
await fs.mkdir(path.dirname(ledgerPath), { recursive: true, mode: 0o700 });
|
|
131
|
+
await fs.appendFile(ledgerPath, `${JSON.stringify(event)}\n`, { encoding: 'utf8', mode: 0o600 });
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
export async function getRecordedAgentOSUsage(options) {
|
|
135
|
+
const events = await readRecordedAgentOSUsageEvents(options);
|
|
136
|
+
const filtered = events.filter((event) => {
|
|
137
|
+
if (options?.sessionId && event.sessionId !== options.sessionId)
|
|
138
|
+
return false;
|
|
139
|
+
if (options?.personaId && event.personaId !== options.personaId)
|
|
140
|
+
return false;
|
|
141
|
+
return true;
|
|
142
|
+
});
|
|
143
|
+
return toAggregate(filtered, options?.sessionId, options?.personaId);
|
|
144
|
+
}
|
|
145
|
+
export async function clearRecordedAgentOSUsage(options) {
|
|
146
|
+
const ledgerPath = resolveAgentOSUsageLedgerPath(options);
|
|
147
|
+
if (!ledgerPath)
|
|
148
|
+
return;
|
|
149
|
+
await fs.rm(ledgerPath, { force: true });
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=usageLedger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageLedger.js","sourceRoot":"","sources":["../../src/api/usageLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ import { ToolOrchestratorConfig } from '../../config/ToolOrchestratorConfig';
|
|
|
17
17
|
import { ToolCallResult, UserContext } from '../../cognitive_substrate/IGMI';
|
|
18
18
|
import type { IHumanInteractionManager } from '../hitl/IHumanInteractionManager';
|
|
19
19
|
import type { CapabilityDiscoveryResult } from '../../discovery/types';
|
|
20
|
+
import type { EmergentConfig, EmergentTool } from '../../emergent/types.js';
|
|
21
|
+
import type { EmergentCapabilityEngine } from '../../emergent/EmergentCapabilityEngine.js';
|
|
20
22
|
/**
|
|
21
23
|
* Represents the information about a tool that is suitable for an LLM
|
|
22
24
|
* to understand its capabilities and how to call it.
|
|
@@ -55,7 +57,17 @@ export interface IToolOrchestrator {
|
|
|
55
57
|
* @returns {Promise<void>}
|
|
56
58
|
* @throws {GMIError | Error} If initialization fails.
|
|
57
59
|
*/
|
|
58
|
-
initialize(config: ToolOrchestratorConfig | undefined, permissionManager: IToolPermissionManager, toolExecutor: ToolExecutor, initialTools?: ITool[], hitlManager?: IHumanInteractionManager
|
|
60
|
+
initialize(config: ToolOrchestratorConfig | undefined, permissionManager: IToolPermissionManager, toolExecutor: ToolExecutor, initialTools?: ITool[], hitlManager?: IHumanInteractionManager, emergentOptions?: {
|
|
61
|
+
/** Enable emergent capability creation. */
|
|
62
|
+
enabled: boolean;
|
|
63
|
+
/** Partial emergent config to merge with defaults. */
|
|
64
|
+
config?: Partial<EmergentConfig>;
|
|
65
|
+
/**
|
|
66
|
+
* LLM text generation callback for the EmergentJudge.
|
|
67
|
+
* When omitted the judge rejects all tools (safe fallback).
|
|
68
|
+
*/
|
|
69
|
+
generateText?: (model: string, prompt: string) => Promise<string>;
|
|
70
|
+
}): Promise<void>;
|
|
59
71
|
/**
|
|
60
72
|
* Registers a tool, making it available for discovery and execution.
|
|
61
73
|
*
|
|
@@ -126,6 +138,31 @@ export interface IToolOrchestrator {
|
|
|
126
138
|
personaCapabilities?: string[];
|
|
127
139
|
userContext?: UserContext;
|
|
128
140
|
}): Promise<ToolDefinitionForLLM[]>;
|
|
141
|
+
/**
|
|
142
|
+
* Returns the underlying {@link EmergentCapabilityEngine} instance, or
|
|
143
|
+
* `undefined` if emergent capabilities were not enabled at initialization.
|
|
144
|
+
*
|
|
145
|
+
* @returns The engine instance, or `undefined`.
|
|
146
|
+
*/
|
|
147
|
+
getEmergentEngine?(): EmergentCapabilityEngine | undefined;
|
|
148
|
+
/**
|
|
149
|
+
* Clean up all emergent session-scoped tools for a given session.
|
|
150
|
+
* No-op if emergent capabilities are not enabled.
|
|
151
|
+
*
|
|
152
|
+
* @param sessionId - The session identifier to clean up.
|
|
153
|
+
*/
|
|
154
|
+
cleanupEmergentSession?(sessionId: string): void;
|
|
155
|
+
/**
|
|
156
|
+
* Register a dynamically forged emergent tool with the orchestrator so the
|
|
157
|
+
* agent can use it in subsequent turns.
|
|
158
|
+
*
|
|
159
|
+
* @param tool - An {@link ITool} instance wrapping the forged tool.
|
|
160
|
+
*/
|
|
161
|
+
registerForgedTool?(tool: ITool): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Provide a discovery index callback for promoted emergent tools.
|
|
164
|
+
*/
|
|
165
|
+
setEmergentDiscoveryIndexer?(indexer: (tools: EmergentTool[]) => Promise<void>): void;
|
|
129
166
|
/**
|
|
130
167
|
* Checks the health of the ToolOrchestrator and its critical dependencies.
|
|
131
168
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IToolOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/tools/IToolOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"IToolOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/tools/IToolOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,9 @@ import { ToolExecutor, ToolExecutionRequestDetails } from './ToolExecutor';
|
|
|
33
33
|
import { ToolOrchestratorConfig } from '../../config/ToolOrchestratorConfig';
|
|
34
34
|
import { ToolCallResult, UserContext } from '../../cognitive_substrate/IGMI';
|
|
35
35
|
import type { IHumanInteractionManager } from '../hitl/IHumanInteractionManager';
|
|
36
|
+
import type { EmergentConfig, EmergentTool } from '../../emergent/types.js';
|
|
37
|
+
import { EmergentCapabilityEngine } from '../../emergent/EmergentCapabilityEngine.js';
|
|
38
|
+
import type { IStorageAdapter as EmergentStorageAdapter } from '../../emergent/EmergentToolRegistry.js';
|
|
36
39
|
/**
|
|
37
40
|
* @class ToolOrchestrator
|
|
38
41
|
* @implements {IToolOrchestrator}
|
|
@@ -70,6 +73,13 @@ export declare class ToolOrchestrator implements IToolOrchestrator {
|
|
|
70
73
|
* Optional human-in-the-loop manager used to gate risky tool executions.
|
|
71
74
|
*/
|
|
72
75
|
private hitlManager?;
|
|
76
|
+
/**
|
|
77
|
+
* The emergent capability engine instance, created when `emergent: true`.
|
|
78
|
+
* Manages runtime tool creation via the forge pipeline.
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
private emergentEngine?;
|
|
82
|
+
private emergentDiscoveryIndexer?;
|
|
73
83
|
/**
|
|
74
84
|
* A flag indicating whether the orchestrator has been successfully initialized and is ready for operation.
|
|
75
85
|
* @private
|
|
@@ -94,7 +104,19 @@ export declare class ToolOrchestrator implements IToolOrchestrator {
|
|
|
94
104
|
* @inheritdoc
|
|
95
105
|
*/
|
|
96
106
|
initialize(config: ToolOrchestratorConfig | undefined, // Can be undefined
|
|
97
|
-
permissionManager: IToolPermissionManager, toolExecutor: ToolExecutor, initialTools?: ITool[], hitlManager?: IHumanInteractionManager
|
|
107
|
+
permissionManager: IToolPermissionManager, toolExecutor: ToolExecutor, initialTools?: ITool[], hitlManager?: IHumanInteractionManager, emergentOptions?: {
|
|
108
|
+
/** Enable emergent capability creation. */
|
|
109
|
+
enabled: boolean;
|
|
110
|
+
/** Partial emergent config to merge with defaults. */
|
|
111
|
+
config?: Partial<EmergentConfig>;
|
|
112
|
+
/**
|
|
113
|
+
* LLM text generation callback for the EmergentJudge.
|
|
114
|
+
* When omitted the judge rejects all tools (safe fallback).
|
|
115
|
+
*/
|
|
116
|
+
generateText?: (model: string, prompt: string) => Promise<string>;
|
|
117
|
+
/** Optional persistent storage adapter for the emergent registry. */
|
|
118
|
+
storageAdapter?: EmergentStorageAdapter;
|
|
119
|
+
}): Promise<void>;
|
|
98
120
|
private registerInitialTool;
|
|
99
121
|
private classifySideEffectCategory;
|
|
100
122
|
/**
|
|
@@ -140,6 +162,41 @@ export declare class ToolOrchestrator implements IToolOrchestrator {
|
|
|
140
162
|
* @inheritdoc
|
|
141
163
|
*/
|
|
142
164
|
processToolCall(requestDetails: ToolExecutionRequestDetails): Promise<ToolCallResult>;
|
|
165
|
+
/**
|
|
166
|
+
* Returns the underlying {@link EmergentCapabilityEngine} instance, or
|
|
167
|
+
* `undefined` if emergent capabilities were not enabled at initialization.
|
|
168
|
+
*
|
|
169
|
+
* Callers can use this to access engine methods like `getSessionTools()`,
|
|
170
|
+
* `getAgentTools()`, or `checkPromotion()` that are not exposed through
|
|
171
|
+
* the orchestrator's own API.
|
|
172
|
+
*
|
|
173
|
+
* @returns The engine instance, or `undefined`.
|
|
174
|
+
*/
|
|
175
|
+
getEmergentEngine(): EmergentCapabilityEngine | undefined;
|
|
176
|
+
/**
|
|
177
|
+
* Clean up all emergent session-scoped tools for a given session.
|
|
178
|
+
*
|
|
179
|
+
* Delegates to {@link EmergentCapabilityEngine.cleanupSession}. This should
|
|
180
|
+
* be called when a conversation/session ends to free session-tier tools.
|
|
181
|
+
*
|
|
182
|
+
* No-op if emergent capabilities are not enabled.
|
|
183
|
+
*
|
|
184
|
+
* @param sessionId - The session identifier to clean up.
|
|
185
|
+
*/
|
|
186
|
+
cleanupEmergentSession(sessionId: string): void;
|
|
187
|
+
/**
|
|
188
|
+
* Register a dynamically forged emergent tool with the orchestrator so the
|
|
189
|
+
* agent can use it in subsequent turns within the same session.
|
|
190
|
+
*
|
|
191
|
+
* This is the bridge between the {@link EmergentCapabilityEngine} (which
|
|
192
|
+
* stores tool metadata) and the {@link ToolOrchestrator} (which the LLM
|
|
193
|
+
* tool-call pipeline queries). After forge_tool produces a new tool, call
|
|
194
|
+
* this method to make it appear in `listAvailableTools()`.
|
|
195
|
+
*
|
|
196
|
+
* @param tool - An {@link ITool} instance wrapping the emergent tool.
|
|
197
|
+
*/
|
|
198
|
+
registerForgedTool(tool: ITool): Promise<void>;
|
|
199
|
+
setEmergentDiscoveryIndexer(indexer: (tools: EmergentTool[]) => Promise<void>): void;
|
|
143
200
|
/**
|
|
144
201
|
* @inheritdoc
|
|
145
202
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/tools/ToolOrchestrator.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"ToolOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/tools/ToolOrchestrator.ts"],"names":[],"mappings":"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"}
|