@fabric-harness/sdk 1.12.2 → 1.14.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.
- package/dist/agent-definition.d.ts +6 -0
- package/dist/agent-definition.d.ts.map +1 -1
- package/dist/agent-definition.js +5 -4
- package/dist/agent-definition.js.map +1 -1
- package/dist/agent.d.ts +6 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +45 -1
- package/dist/agent.js.map +1 -1
- package/dist/channel.d.ts +77 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +115 -0
- package/dist/channel.js.map +1 -0
- package/dist/context-budget.d.ts +16 -0
- package/dist/context-budget.d.ts.map +1 -1
- package/dist/context-budget.js +38 -3
- package/dist/context-budget.js.map +1 -1
- package/dist/cost-budget.d.ts +106 -1
- package/dist/cost-budget.d.ts.map +1 -1
- package/dist/cost-budget.js +48 -2
- package/dist/cost-budget.js.map +1 -1
- package/dist/dispatch.d.ts +95 -0
- package/dist/dispatch.d.ts.map +1 -0
- package/dist/dispatch.js +175 -0
- package/dist/dispatch.js.map +1 -0
- package/dist/error.d.ts +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js.map +1 -1
- package/dist/filesystem.d.ts +52 -0
- package/dist/filesystem.d.ts.map +1 -0
- package/dist/filesystem.js +24 -0
- package/dist/filesystem.js.map +1 -0
- package/dist/history.d.ts +22 -2
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +69 -0
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +31 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -6
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts +29 -3
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +167 -24
- package/dist/loop.js.map +1 -1
- package/dist/model.d.ts +47 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +250 -79
- package/dist/model.js.map +1 -1
- package/dist/otel-observer.d.ts +44 -0
- package/dist/otel-observer.d.ts.map +1 -0
- package/dist/otel-observer.js +165 -0
- package/dist/otel-observer.js.map +1 -0
- package/dist/persistence.d.ts +70 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +17 -0
- package/dist/persistence.js.map +1 -0
- package/dist/persistent-agent.d.ts +80 -0
- package/dist/persistent-agent.d.ts.map +1 -0
- package/dist/persistent-agent.js +69 -0
- package/dist/persistent-agent.js.map +1 -0
- package/dist/pi-loop-runtime.d.ts.map +1 -1
- package/dist/pi-loop-runtime.js +9 -3
- package/dist/pi-loop-runtime.js.map +1 -1
- package/dist/profile.d.ts +33 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +10 -0
- package/dist/profile.js.map +1 -0
- package/dist/providers.d.ts +14 -0
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +18 -1
- package/dist/providers.js.map +1 -1
- package/dist/result.d.ts +12 -0
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +26 -0
- package/dist/result.js.map +1 -1
- package/dist/retrieval.d.ts +61 -0
- package/dist/retrieval.d.ts.map +1 -0
- package/dist/retrieval.js +26 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/runtime-mode.d.ts +1 -1
- package/dist/runtime-mode.d.ts.map +1 -1
- package/dist/runtime-mode.js +2 -1
- package/dist/runtime-mode.js.map +1 -1
- package/dist/scope-key.d.ts +25 -0
- package/dist/scope-key.d.ts.map +1 -0
- package/dist/scope-key.js +34 -0
- package/dist/scope-key.js.map +1 -0
- package/dist/session.d.ts +40 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +308 -34
- package/dist/session.js.map +1 -1
- package/dist/skills.d.ts +33 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +65 -0
- package/dist/skills.js.map +1 -0
- package/dist/store.d.ts +36 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +83 -0
- package/dist/store.js.map +1 -1
- package/dist/stream-chunks.d.ts +42 -0
- package/dist/stream-chunks.d.ts.map +1 -0
- package/dist/stream-chunks.js +138 -0
- package/dist/stream-chunks.js.map +1 -0
- package/dist/strict.d.ts +21 -11
- package/dist/strict.d.ts.map +1 -1
- package/dist/strict.js +11 -6
- package/dist/strict.js.map +1 -1
- package/dist/tools.d.ts +32 -4
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +132 -6
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +110 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +14 -10
package/dist/loop.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { CostLimitExceededError } from './cost-budget.js';
|
|
2
2
|
import { FabricError } from './error.js';
|
|
3
|
-
import { defaultModelProvider, generateWithRuntime, toolsToModelSchemas } from './model.js';
|
|
3
|
+
import { defaultModelProvider, generateWithRuntime, ProviderHttpError, toolsToModelSchemas } from './model.js';
|
|
4
|
+
import { buildResultFollowUpPrompt, buildResultFooter, ResultUnavailableError } from './result.js';
|
|
5
|
+
import { createResultTools } from './tools.js';
|
|
4
6
|
import { isContextOverflowError } from './context-budget.js';
|
|
7
|
+
import { StreamChunkWriter } from './stream-chunks.js';
|
|
5
8
|
export class NativeLoopRuntime {
|
|
6
9
|
name = 'native';
|
|
7
10
|
async runPrompt(input) {
|
|
@@ -14,11 +17,64 @@ export class NativeLoopRuntime {
|
|
|
14
17
|
const provider = input.modelProvider ?? defaultModelProvider;
|
|
15
18
|
const maxIterations = input.maxIterations ?? 8;
|
|
16
19
|
let latestUsage;
|
|
20
|
+
let latestAttribution;
|
|
21
|
+
const operationId = input.operationId ?? generateId();
|
|
22
|
+
// Set up result tools when a validator is provided.
|
|
23
|
+
let resultToolBundle;
|
|
24
|
+
if (input.resultValidator) {
|
|
25
|
+
resultToolBundle = createResultTools(input.resultValidator);
|
|
26
|
+
for (const tool of resultToolBundle.tools) {
|
|
27
|
+
input.tools.set(tool.name, tool);
|
|
28
|
+
}
|
|
29
|
+
// Append result footer to the last user message so the model knows to use the tools.
|
|
30
|
+
const lastUserIndex = input.messages.findLastIndex((m) => m.role === 'user');
|
|
31
|
+
const lastUserMsg = lastUserIndex >= 0 ? input.messages[lastUserIndex] : undefined;
|
|
32
|
+
if (lastUserMsg) {
|
|
33
|
+
lastUserMsg.content = `${lastUserMsg.content}${buildResultFooter()}`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
17
36
|
for (let iteration = 0; iteration < maxIterations; iteration += 1) {
|
|
37
|
+
const turnId = generateId();
|
|
38
|
+
const turnEmit = async (type, data) => {
|
|
39
|
+
await input.emit(type, { ...(data ?? {}), operationId, turnId });
|
|
40
|
+
};
|
|
41
|
+
// Yield to the microtask queue so any async external-scope observations
|
|
42
|
+
// from previous iterations can settle before we check for them.
|
|
43
|
+
await Promise.resolve();
|
|
44
|
+
// Check for pending external-scope violations from previous iterations.
|
|
45
|
+
// Actual-cost enforcement is intentionally lagged: it protects the *next*
|
|
46
|
+
// call, not the current one, because external scope queries are async
|
|
47
|
+
// and may complete after the current call has already been allowed.
|
|
48
|
+
if (input.costBudget) {
|
|
49
|
+
const pending = input.costBudget.takePendingScopeViolation();
|
|
50
|
+
if (pending) {
|
|
51
|
+
await turnEmit('cost_limit', {
|
|
52
|
+
scope: pending.scope,
|
|
53
|
+
observedUsd: pending.observedUsd,
|
|
54
|
+
limitUsd: pending.limitUsd,
|
|
55
|
+
...(pending.scopeKey ? { scopeKey: pending.scopeKey } : {}),
|
|
56
|
+
...(pending.actualsFetchedAt ? { actualsFetchedAt: pending.actualsFetchedAt } : {}),
|
|
57
|
+
...(pending.cacheTtlMs !== undefined ? { cacheTtlMs: pending.cacheTtlMs } : {}),
|
|
58
|
+
});
|
|
59
|
+
const mode = input.costBudget.onExceed();
|
|
60
|
+
if (mode === 'approve' && input.requestCostLimitApproval) {
|
|
61
|
+
const approved = await input.requestCostLimitApproval(pending);
|
|
62
|
+
if (!approved)
|
|
63
|
+
throw new CostLimitExceededError(pending);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
throw new CostLimitExceededError(pending);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
await turnEmit('turn_start', { turnId });
|
|
71
|
+
await input.journal?.beforeProvider?.({ operationId, turnId });
|
|
18
72
|
const request = {
|
|
19
73
|
messages: input.messages,
|
|
20
74
|
tools: toolsToModelSchemas(input.tools.values()),
|
|
21
75
|
...(input.model !== undefined ? { model: input.model } : {}),
|
|
76
|
+
...(input.thinkingLevel !== undefined ? { thinkingLevel: input.thinkingLevel } : {}),
|
|
77
|
+
...(input.affinityKey !== undefined ? { sessionId: input.affinityKey } : {}),
|
|
22
78
|
};
|
|
23
79
|
let response;
|
|
24
80
|
let streamedFinalText = false;
|
|
@@ -34,21 +90,31 @@ export class NativeLoopRuntime {
|
|
|
34
90
|
...(input.signal !== undefined ? { signal: input.signal } : {}),
|
|
35
91
|
};
|
|
36
92
|
await input.recordEntry('model_attempt', { provider: provider.name, status: 'start', ...(input.model !== undefined ? { model: input.model } : {}) });
|
|
37
|
-
await
|
|
93
|
+
await turnEmit('model_attempt', { provider: provider.name, status: 'start', ...(input.model !== undefined ? { model: input.model } : {}) });
|
|
94
|
+
await input.journal?.providerStarted?.({ operationId, turnId });
|
|
95
|
+
const streamKey = `${operationId}:${turnId}`;
|
|
96
|
+
const chunkWriter = input.streamChunkStore ? new StreamChunkWriter(input.streamChunkStore, streamKey) : undefined;
|
|
38
97
|
let aggregated;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
98
|
+
try {
|
|
99
|
+
for await (const chunk of streamFn.call(provider, streamRequest)) {
|
|
100
|
+
chunkWriter?.write(chunk);
|
|
101
|
+
if (chunk.textDelta)
|
|
102
|
+
await turnEmit('text_delta', { delta: chunk.textDelta });
|
|
103
|
+
if (chunk.thinkingDelta)
|
|
104
|
+
await turnEmit('text_delta', { delta: chunk.thinkingDelta, kind: 'thinking' });
|
|
105
|
+
if (chunk.done)
|
|
106
|
+
aggregated = chunk.done;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
await chunkWriter?.close();
|
|
46
111
|
}
|
|
47
112
|
if (!aggregated)
|
|
48
113
|
throw new Error(`${provider.name}: stream ended without a final response.`);
|
|
49
114
|
response = aggregated;
|
|
50
115
|
}
|
|
51
116
|
else {
|
|
117
|
+
await input.journal?.providerStarted?.({ operationId, turnId });
|
|
52
118
|
response = await generateWithRuntime(provider, request, {
|
|
53
119
|
...(input.modelTimeoutMs !== undefined ? { timeoutMs: input.modelTimeoutMs } : {}),
|
|
54
120
|
...(input.modelRetries !== undefined ? { retries: input.modelRetries } : {}),
|
|
@@ -56,7 +122,7 @@ export class NativeLoopRuntime {
|
|
|
56
122
|
...(input.signal !== undefined ? { signal: input.signal } : {}),
|
|
57
123
|
onAttempt: async (event) => {
|
|
58
124
|
await input.recordEntry('model_attempt', event);
|
|
59
|
-
await
|
|
125
|
+
await turnEmit('model_attempt', event);
|
|
60
126
|
},
|
|
61
127
|
});
|
|
62
128
|
}
|
|
@@ -66,21 +132,34 @@ export class NativeLoopRuntime {
|
|
|
66
132
|
}
|
|
67
133
|
if (response.usage) {
|
|
68
134
|
latestUsage = response.usage;
|
|
135
|
+
// Build attribution from available context
|
|
136
|
+
const attribution = {
|
|
137
|
+
...(input.agentId ? { agentId: input.agentId } : {}),
|
|
138
|
+
...(input.tenantId ? { tenantId: input.tenantId } : {}),
|
|
139
|
+
...(input.model ? { model: input.model } : {}),
|
|
140
|
+
...(provider.name ? { provider: provider.name } : {}),
|
|
141
|
+
...(input.sessionId ? { sessionId: input.sessionId } : {}),
|
|
142
|
+
...(turnId ? { turnId } : {}),
|
|
143
|
+
};
|
|
144
|
+
response.usage.attribution = attribution;
|
|
145
|
+
latestAttribution = attribution;
|
|
69
146
|
const usagePayload = { usage: response.usage };
|
|
70
147
|
if (input.model !== undefined)
|
|
71
148
|
usagePayload.model = input.model;
|
|
72
149
|
if (provider.name)
|
|
73
150
|
usagePayload.provider = provider.name;
|
|
74
151
|
await input.recordEntry('model_attempt', usagePayload);
|
|
75
|
-
await
|
|
152
|
+
await turnEmit('result', { usage: response.usage });
|
|
76
153
|
const callCost = typeof response.usage.costUsd === 'number' ? response.usage.costUsd : 0;
|
|
77
154
|
if (input.costBudget?.enabled() && callCost > 0) {
|
|
78
155
|
const handleViolation = async (violation) => {
|
|
79
|
-
await
|
|
156
|
+
await turnEmit('cost_limit', {
|
|
80
157
|
scope: violation.scope,
|
|
81
158
|
observedUsd: violation.observedUsd,
|
|
82
159
|
limitUsd: violation.limitUsd,
|
|
83
160
|
...(violation.scopeKey ? { scopeKey: violation.scopeKey } : {}),
|
|
161
|
+
...(violation.actualsFetchedAt ? { actualsFetchedAt: violation.actualsFetchedAt } : {}),
|
|
162
|
+
...(violation.cacheTtlMs !== undefined ? { cacheTtlMs: violation.cacheTtlMs } : {}),
|
|
84
163
|
});
|
|
85
164
|
const mode = input.costBudget?.onExceed();
|
|
86
165
|
if (mode === 'approve' && input.requestCostLimitApproval) {
|
|
@@ -95,16 +174,46 @@ export class NativeLoopRuntime {
|
|
|
95
174
|
const local = input.costBudget.observe(callCost);
|
|
96
175
|
if (local)
|
|
97
176
|
await handleViolation(local);
|
|
98
|
-
const
|
|
99
|
-
if (
|
|
100
|
-
|
|
177
|
+
const scopeSource = input.costBudget.scopeSource;
|
|
178
|
+
if (scopeSource === 'external') {
|
|
179
|
+
// Fire external scope observation without awaiting; actual-cost
|
|
180
|
+
// enforcement is intentionally lagged to protect the *next* call.
|
|
181
|
+
input.costBudget.observeScopeAsync(callCost, attribution).then((remote) => {
|
|
182
|
+
if (remote)
|
|
183
|
+
input.costBudget?.setPendingScopeViolation(remote);
|
|
184
|
+
}).catch(() => { });
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
const remote = await input.costBudget.observeScopeAsync(callCost, attribution);
|
|
188
|
+
if (remote)
|
|
189
|
+
await handleViolation(remote);
|
|
190
|
+
}
|
|
101
191
|
}
|
|
102
192
|
}
|
|
103
193
|
if (response.thinking && !streamedFinalText) {
|
|
104
|
-
await
|
|
194
|
+
await turnEmit('text_delta', { delta: response.thinking, kind: 'thinking' });
|
|
105
195
|
}
|
|
106
196
|
if (response.toolCalls?.length) {
|
|
107
|
-
await
|
|
197
|
+
await input.journal?.toolRequestRecorded?.({
|
|
198
|
+
operationId,
|
|
199
|
+
turnId,
|
|
200
|
+
toolRequest: { toolCalls: response.toolCalls },
|
|
201
|
+
});
|
|
202
|
+
const outcome = await this.executeModelToolCalls(response.toolCalls, input, resultToolBundle, latestAttribution);
|
|
203
|
+
if (outcome?.type === 'finished') {
|
|
204
|
+
const resultEntry = await input.recordEntry('result', { result: outcome.value });
|
|
205
|
+
await turnEmit('prompt_end', { text: input.text, result: outcome.value });
|
|
206
|
+
await input.journal?.committed?.({ operationId, turnId, committedLeafId: resultEntry.id });
|
|
207
|
+
return {
|
|
208
|
+
text: JSON.stringify(outcome.value),
|
|
209
|
+
raw: outcome.value,
|
|
210
|
+
validatedResult: outcome.value,
|
|
211
|
+
...(latestUsage ? { usage: latestUsage } : {}),
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
if (outcome?.type === 'gave_up') {
|
|
215
|
+
throw new ResultUnavailableError(outcome.reason);
|
|
216
|
+
}
|
|
108
217
|
continue;
|
|
109
218
|
}
|
|
110
219
|
const finalText = response.message?.content ?? '';
|
|
@@ -113,17 +222,24 @@ export class NativeLoopRuntime {
|
|
|
113
222
|
// Emit a text_delta event so stream() consumers receive the final text
|
|
114
223
|
// (skipped when the provider already streamed it incrementally).
|
|
115
224
|
if (finalText && !streamedFinalText)
|
|
116
|
-
await
|
|
117
|
-
|
|
118
|
-
|
|
225
|
+
await turnEmit('text_delta', { delta: finalText });
|
|
226
|
+
// When result tools are active and the model returned text without calling
|
|
227
|
+
// finish/give_up, send a follow-up prompt instead of ending the loop.
|
|
228
|
+
if (resultToolBundle) {
|
|
229
|
+
input.messages.push({ role: 'user', content: buildResultFollowUpPrompt() });
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
const resultEntry = await input.recordEntry('result', { result: finalText });
|
|
233
|
+
await turnEmit('prompt_end', { text: input.text, result: finalText });
|
|
234
|
+
await input.journal?.committed?.({ operationId, turnId, committedLeafId: resultEntry.id });
|
|
119
235
|
return { text: finalText, raw: finalText, ...(latestUsage ? { usage: latestUsage } : {}) };
|
|
120
236
|
}
|
|
121
237
|
throw new FabricError({ code: 'MODEL_CONTEXT_OVERFLOW', message: `Prompt exceeded maxIterations (${maxIterations}) without a final response.`, retryable: true });
|
|
122
238
|
}
|
|
123
|
-
async executeModelToolCalls(calls, input) {
|
|
239
|
+
async executeModelToolCalls(calls, input, resultToolBundle, attribution) {
|
|
124
240
|
// Push the assistant message with tool calls so the model sees the full round-trip
|
|
125
241
|
input.messages.push({ role: 'assistant', content: '', toolCalls: calls });
|
|
126
|
-
const results = await input.executeToolCalls(calls.map((call) => ({ tool: call.name, input: call.input, id: call.id })), undefined, input.approvalTimeoutMs);
|
|
242
|
+
const results = await input.executeToolCalls(calls.map((call) => ({ tool: call.name, input: call.input, id: call.id })), undefined, input.approvalTimeoutMs, attribution);
|
|
127
243
|
for (let i = 0; i < results.length; i += 1) {
|
|
128
244
|
const result = results[i];
|
|
129
245
|
const callId = i < calls.length ? calls[i]?.id : undefined;
|
|
@@ -138,21 +254,48 @@ export class NativeLoopRuntime {
|
|
|
138
254
|
message.toolCallId = callId;
|
|
139
255
|
input.messages.push(message);
|
|
140
256
|
}
|
|
257
|
+
return resultToolBundle?.getOutcome();
|
|
141
258
|
}
|
|
142
259
|
}
|
|
143
260
|
function mapModelError(error) {
|
|
144
261
|
if (error instanceof FabricError)
|
|
145
262
|
return error;
|
|
146
263
|
const message = error instanceof Error ? error.message : String(error);
|
|
147
|
-
if (isContextOverflowError(error))
|
|
264
|
+
if (isContextOverflowError(error)) {
|
|
148
265
|
return new FabricError({ code: 'MODEL_CONTEXT_OVERFLOW', message, cause: error, retryable: true });
|
|
266
|
+
}
|
|
267
|
+
if (error instanceof ProviderHttpError) {
|
|
268
|
+
if (error.status === 429)
|
|
269
|
+
return new FabricError({ code: 'MODEL_RATE_LIMITED', message, cause: error, retryable: true });
|
|
270
|
+
if (error.status >= 500)
|
|
271
|
+
return new FabricError({ code: 'UNKNOWN', message, cause: error, retryable: true });
|
|
272
|
+
if (error.status === 401 || error.status === 403)
|
|
273
|
+
return new FabricError({ code: 'MODEL_AUTH_FAILED', message, cause: error });
|
|
274
|
+
if (error.status === 400)
|
|
275
|
+
return new FabricError({ code: 'UNKNOWN', message, cause: error });
|
|
276
|
+
}
|
|
149
277
|
if (/rate.?limit|429|too many requests/i.test(message))
|
|
150
278
|
return new FabricError({ code: 'MODEL_RATE_LIMITED', message, cause: error, retryable: true });
|
|
151
279
|
if (/timeout|timed out|aborted/i.test(message))
|
|
152
280
|
return new FabricError({ code: 'MODEL_TIMEOUT', message, cause: error, retryable: true });
|
|
281
|
+
if (/overloaded|500|502|503|504|service.?unavailable|server.?error|network.?error|connection.?(?:reset|refused|lost)|socket hang up|fetch failed|terminated/i.test(message)) {
|
|
282
|
+
return new FabricError({ code: 'UNKNOWN', message, cause: error, retryable: true });
|
|
283
|
+
}
|
|
153
284
|
if (/auth|unauthorized|forbidden|401|403|api key/i.test(message))
|
|
154
285
|
return new FabricError({ code: 'MODEL_AUTH_FAILED', message, cause: error });
|
|
155
|
-
|
|
286
|
+
if (/bad request|400|invalid/i.test(message))
|
|
287
|
+
return new FabricError({ code: 'UNKNOWN', message, cause: error });
|
|
288
|
+
return new FabricError({ code: 'UNKNOWN', message, cause: error, retryable: true });
|
|
289
|
+
}
|
|
290
|
+
function generateId() {
|
|
291
|
+
if (typeof globalThis !== 'undefined' && globalThis.crypto?.randomUUID) {
|
|
292
|
+
return globalThis.crypto.randomUUID();
|
|
293
|
+
}
|
|
294
|
+
// Fallback for environments without crypto.randomUUID
|
|
295
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
296
|
+
const r = Math.random() * 16 | 0;
|
|
297
|
+
return (c === 'x' ? r : (r & 0x3) | 8).toString(16);
|
|
298
|
+
});
|
|
156
299
|
}
|
|
157
300
|
export const defaultLoopRuntime = new NativeLoopRuntime();
|
|
158
301
|
//# sourceMappingURL=loop.js.map
|
package/dist/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/model.d.ts
CHANGED
|
@@ -18,12 +18,31 @@ export interface ModelToolSchema {
|
|
|
18
18
|
description?: string;
|
|
19
19
|
inputSchema?: unknown;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Reasoning-effort input level, ordered from least to most thinking. Maps to
|
|
23
|
+
* each provider's native control (Workers AI / OpenAI `reasoning_effort`,
|
|
24
|
+
* Anthropic `thinking.budget_tokens`, Gemini `thinkingConfig`). `'off'` (the
|
|
25
|
+
* default when unset) requests no reasoning. Providers that don't support
|
|
26
|
+
* reasoning ignore the level — see `ModelMetadata.supportsReasoning`.
|
|
27
|
+
*/
|
|
28
|
+
export type ThinkingLevel = 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
|
|
21
29
|
export interface ModelRequest {
|
|
22
30
|
model?: string;
|
|
23
31
|
messages: ModelMessage[];
|
|
24
32
|
tools?: ModelToolSchema[];
|
|
25
33
|
maxToolCalls?: number;
|
|
26
34
|
signal?: AbortSignal;
|
|
35
|
+
/**
|
|
36
|
+
* Requested reasoning effort for this call. Stamped by the loop from the
|
|
37
|
+
* agent/session/prompt scope chain. Reasoning-capable providers map it to
|
|
38
|
+
* their native control; others ignore it.
|
|
39
|
+
*/
|
|
40
|
+
thinkingLevel?: ThinkingLevel;
|
|
41
|
+
/**
|
|
42
|
+
* Opaque provider affinity key forwarded as `sessionId` where the
|
|
43
|
+
* underlying API supports it (e.g. AWS Bedrock prompt caching).
|
|
44
|
+
*/
|
|
45
|
+
sessionId?: string;
|
|
27
46
|
}
|
|
28
47
|
export interface ModelResponse {
|
|
29
48
|
message?: ModelMessage;
|
|
@@ -53,6 +72,11 @@ export interface ModelUsage {
|
|
|
53
72
|
sttSeconds?: number;
|
|
54
73
|
/** Characters synthesized by a streaming TTS provider (pipeline-mode voice). */
|
|
55
74
|
ttsCharacters?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Attribution dimensions for cost tracking. Stamped by the loop from
|
|
77
|
+
* the agent/session/model/provider/turn context.
|
|
78
|
+
*/
|
|
79
|
+
attribution?: import('./cost-budget.js').CostAttribution;
|
|
56
80
|
}
|
|
57
81
|
export interface ModelStreamChunk {
|
|
58
82
|
/** Incremental output text content. */
|
|
@@ -67,9 +91,21 @@ export interface ModelStreamChunk {
|
|
|
67
91
|
*/
|
|
68
92
|
done?: ModelResponse;
|
|
69
93
|
}
|
|
94
|
+
export interface ModelMetadata {
|
|
95
|
+
provider?: string;
|
|
96
|
+
model?: string;
|
|
97
|
+
contextWindowTokens?: number;
|
|
98
|
+
maxOutputTokens?: number;
|
|
99
|
+
supportsTools?: boolean;
|
|
100
|
+
/** Whether the model accepts a reasoning-effort control (gates `thinkingLevel`). */
|
|
101
|
+
supportsReasoning?: boolean;
|
|
102
|
+
gateway?: string;
|
|
103
|
+
}
|
|
70
104
|
export interface ModelProvider {
|
|
71
105
|
name: string;
|
|
72
106
|
generate(request: ModelRequest): Promise<ModelResponse>;
|
|
107
|
+
/** Optional provider/model metadata used for context budgeting and routing UIs. */
|
|
108
|
+
getModelMetadata?(model?: string): ModelMetadata | undefined;
|
|
73
109
|
/**
|
|
74
110
|
* Optional: stream incremental chunks. Loop falls back to `generate()`
|
|
75
111
|
* when this is absent. Implementations MUST emit a final chunk with
|
|
@@ -101,6 +137,12 @@ export interface OpenAICompatibleProviderOptions {
|
|
|
101
137
|
apiKey: string;
|
|
102
138
|
defaultModel?: string;
|
|
103
139
|
headers?: Record<string, string>;
|
|
140
|
+
/**
|
|
141
|
+
* Optional per-request bearer token resolver. When set, it is awaited on every request and used
|
|
142
|
+
* in place of `apiKey` for the `authorization` header. Required for providers whose credentials
|
|
143
|
+
* rotate (e.g. Databricks OAuth principal tokens) so long-lived agents don't pin a stale token.
|
|
144
|
+
*/
|
|
145
|
+
tokenProvider?: () => string | Promise<string>;
|
|
104
146
|
/** Optional rate limiter. Acquire one token per request, keyed by `<name>:<apiKeyHash8>`. */
|
|
105
147
|
rateLimiter?: RateLimiter;
|
|
106
148
|
}
|
|
@@ -163,15 +205,20 @@ export declare class MockModelProvider implements ModelProvider {
|
|
|
163
205
|
readonly name = "mock";
|
|
164
206
|
generate(request: ModelRequest): Promise<ModelResponse>;
|
|
165
207
|
}
|
|
208
|
+
/** Whether a model id (with or without provider prefix) is a known reasoning model. */
|
|
209
|
+
export declare function modelSupportsReasoning(model: string): boolean;
|
|
166
210
|
export declare class OpenAICompatibleModelProvider implements ModelProvider {
|
|
167
211
|
readonly name: string;
|
|
168
212
|
private readonly baseUrl;
|
|
169
213
|
private readonly apiKey;
|
|
214
|
+
private readonly tokenProvider;
|
|
170
215
|
private readonly defaultModel?;
|
|
171
216
|
private readonly headers;
|
|
172
217
|
private readonly rateLimiter;
|
|
173
218
|
private readonly rateLimitKey;
|
|
174
219
|
constructor(options: OpenAICompatibleProviderOptions);
|
|
220
|
+
/** Resolves the bearer token for a request: the rotating `tokenProvider` if set, else `apiKey`. */
|
|
221
|
+
protected authToken(): Promise<string>;
|
|
175
222
|
generate(request: ModelRequest): Promise<ModelResponse>;
|
|
176
223
|
stream(request: ModelRequest): AsyncGenerator<ModelStreamChunk>;
|
|
177
224
|
}
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|