@framers/agentos 0.6.4 → 0.6.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGxG;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAC5B,OAAO,CAAC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,gEAAgE;IAChE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,qCAAqC,EAAE,gBAAgB,CAAC,CAAC;IACvF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,EAAE,OAAO,KAAK,EAAE,OAAO,CAAC;IACvC,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC/F,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC3F,+BAA+B;IAC/B,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACrF;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS;IAC3E;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,kBAAkB;IACxE,kCAAkC;IAClC,MAAM,EAAE,CAAC,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,CAAC,SAAS,OAAO,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG;QAAE,cAAc,EAAE,CAAC,CAAA;KAAE,GAClD,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CAAC;IAChD,+EAA+E;IAC/E,QAAQ,IAAI,OAAO,EAAE,CAAC;IACtB,wFAAwF;IACxF,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,uDAAuD;IACvD,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnG;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,CAAC;IACtF;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,8EAA8E;IAC9E,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1D,+DAA+D;IAC/D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC;IACpE;;;;OAIG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IAC7D,uFAAuF;IACvF,iBAAiB,IAAI,OAAO,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,6EAA6E;IAC7E,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACrE;AAmHD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CA2U/C"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"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"}
package/dist/api/agent.js CHANGED
@@ -2,6 +2,7 @@ import { generateText, extractTextFromContent, } from './generateText.js';
2
2
  import { buildResponseFormat } from '../core/llm/providers/structuredOutputFormat.js';
3
3
  import { ObjectGenerationError } from './generateObject.js';
4
4
  import { streamText } from './streamText.js';
5
+ import { createEmptyUsageAggregate, accumulateUsage, mergeAggregates, } from './runtime/usageAccumulator.js';
5
6
  import { warnOnDeferredLightweightAgentCapabilities } from './runtime/lightweightAgentDiagnostics.js';
6
7
  import { exportAgentConfig, exportAgentConfigJSON } from './agentExportCore.js';
7
8
  import { applyMemoryProvider } from './runtime/memoryProviderHooks.js';
@@ -131,6 +132,13 @@ function buildSystemPrompt(opts) {
131
132
  */
132
133
  export function agent(opts) {
133
134
  const sessions = new Map();
135
+ // In-memory usage tally per session and per agent. Populated synchronously
136
+ // after every generate/send/stream call so `agent.usage()` and
137
+ // `session.usage()` work even when the persisted ledger is disabled (the
138
+ // common case). The persisted ledger is still merged in at read time so
139
+ // cross-process / historical totals continue to roll up correctly.
140
+ const sessionUsageTallies = new Map();
141
+ const agentUsageTally = createEmptyUsageAggregate();
134
142
  let avatarBindingOverrides = {};
135
143
  const useMemory = opts.memory !== false;
136
144
  warnOnDeferredLightweightAgentCapabilities(opts);
@@ -191,7 +199,9 @@ export function agent(opts) {
191
199
  else {
192
200
  genOpts.messages = [...(genOpts.messages ?? []), { role: 'user', content: prompt }];
193
201
  }
194
- return generateText(genOpts);
202
+ const result = await generateText(genOpts);
203
+ accumulateUsage(agentUsageTally, result.usage);
204
+ return result;
195
205
  },
196
206
  stream(prompt, extra) {
197
207
  const userText = typeof prompt === 'string' ? prompt : extractTextFromContent(prompt);
@@ -208,13 +218,21 @@ export function agent(opts) {
208
218
  else {
209
219
  streamOpts.messages = [...(streamOpts.messages ?? []), { role: 'user', content: prompt }];
210
220
  }
211
- return streamText(streamOpts);
221
+ const result = streamText(streamOpts);
222
+ void result.usage
223
+ .then((usage) => accumulateUsage(agentUsageTally, usage))
224
+ .catch(() => { });
225
+ return result;
212
226
  },
213
227
  session(id) {
214
228
  const sessionId = id ?? crypto.randomUUID();
215
229
  if (!sessions.has(sessionId))
216
230
  sessions.set(sessionId, []);
231
+ if (!sessionUsageTallies.has(sessionId)) {
232
+ sessionUsageTallies.set(sessionId, createEmptyUsageAggregate(sessionId));
233
+ }
217
234
  const history = sessions.get(sessionId);
235
+ const sessionUsageTally = sessionUsageTallies.get(sessionId);
218
236
  const session = {
219
237
  id: sessionId,
220
238
  async send(input, sendOpts) {
@@ -266,6 +284,8 @@ export function agent(opts) {
266
284
  ...(responseFormat ? { _responseFormat: responseFormat } : {}),
267
285
  }, opts.memoryProvider, textForMemory);
268
286
  const result = await generateText(wrappedOpts);
287
+ accumulateUsage(sessionUsageTally, result.usage);
288
+ accumulateUsage(agentUsageTally, result.usage);
269
289
  // Validate + parse when a schema was supplied. Native enforcement
270
290
  // guarantees a valid shape on every successful response, so a
271
291
  // parse/validation failure here is a real provider bug rather
@@ -312,6 +332,12 @@ export function agent(opts) {
312
332
  }),
313
333
  }, opts.memoryProvider, textForMemory);
314
334
  const result = streamText(wrappedOpts);
335
+ void result.usage
336
+ .then((usage) => {
337
+ accumulateUsage(sessionUsageTally, usage);
338
+ accumulateUsage(agentUsageTally, usage);
339
+ })
340
+ .catch(() => { });
315
341
  // Capture text for history when done. Memory observe runs inside
316
342
  // applyMemoryProvider's onAfterGeneration wrapper so it's not
317
343
  // re-fired here.
@@ -331,11 +357,12 @@ export function agent(opts) {
331
357
  return [...history];
332
358
  },
333
359
  async usage() {
334
- return loadRecordedAgentOSUsage({
360
+ const persisted = await loadRecordedAgentOSUsage({
335
361
  enabled: baseOpts.usageLedger?.enabled,
336
362
  path: baseOpts.usageLedger?.path,
337
363
  sessionId,
338
364
  });
365
+ return mergeAggregates(sessionUsageTally, persisted);
339
366
  },
340
367
  clear() {
341
368
  history.length = 0;
@@ -348,11 +375,17 @@ export function agent(opts) {
348
375
  return session;
349
376
  },
350
377
  async usage(sessionId) {
351
- return loadRecordedAgentOSUsage({
378
+ const persisted = await loadRecordedAgentOSUsage({
352
379
  enabled: baseOpts.usageLedger?.enabled,
353
380
  path: baseOpts.usageLedger?.path,
354
381
  sessionId,
355
382
  });
383
+ // When a sessionId is requested, only that session's tally is in scope.
384
+ // When none is requested, return the agent-wide tally.
385
+ const inMemory = sessionId
386
+ ? sessionUsageTallies.get(sessionId) ?? createEmptyUsageAggregate(sessionId)
387
+ : agentUsageTally;
388
+ return mergeAggregates(inMemory, persisted);
356
389
  },
357
390
  async close() {
358
391
  sessions.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateObject.d.ts","sourceRoot":"","sources":["../../src/api/generateObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG7C,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQjF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAW5C,6DAA6D;aAC7C,OAAO,EAAE,MAAM;IAC/B,8EAA8E;aAC9D,gBAAgB,CAAC,EAAE,QAAQ;IAb7C,kFAAkF;IAClF,SAAkB,IAAI,2BAA2B;IAEjD;;;;OAIG;gBAED,OAAO,EAAE,MAAM;IACf,6DAA6D;IAC7C,OAAO,EAAE,MAAM;IAC/B,8EAA8E;IAC9D,gBAAgB,CAAC,EAAE,QAAQ,YAAA;CAK9C;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,OAAO;IACtD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,MAAM,EAAE,CAAC,CAAC;IAEV;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEvC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAErB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAExE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,qEAAqE;IACrE,MAAM,EAAE,CAAC,CAAC;IAEV,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,sEAAsE;IACtE,KAAK,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAwID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,OAAO,EACpD,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAoI3C;AAID,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
1
+ {"version":3,"file":"generateObject.d.ts","sourceRoot":"","sources":["../../src/api/generateObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG7C,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAUjF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAW5C,6DAA6D;aAC7C,OAAO,EAAE,MAAM;IAC/B,8EAA8E;aAC9D,gBAAgB,CAAC,EAAE,QAAQ;IAb7C,kFAAkF;IAClF,SAAkB,IAAI,2BAA2B;IAEjD;;;;OAIG;gBAED,OAAO,EAAE,MAAM;IACf,6DAA6D;IAC7C,OAAO,EAAE,MAAM;IAC/B,8EAA8E;IAC9D,gBAAgB,CAAC,EAAE,QAAQ,YAAA;CAK9C;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,OAAO;IACtD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,MAAM,EAAE,CAAC,CAAC;IAEV;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEvC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAErB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAExE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,qEAAqE;IACrE,MAAM,EAAE,CAAC,CAAC;IAEV,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,sEAAsE;IACtE,KAAK,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAwID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,OAAO,EACpD,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAqJ3C;AAID,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { generateText } from './generateText.js';
2
2
  import { resolveModelOption } from './model.js';
3
3
  import { lowerZodToJsonSchema } from '../orchestration/compiler/SchemaLowering.js';
4
+ import { estimateMaxTokensForZodSchema } from './runtime/schemaTokenEstimate.js';
5
+ import { canUseStrictJsonSchema, buildOpenAIJsonSchemaResponseFormat } from './runtime/openaiResponseFormat.js';
4
6
  // ---------------------------------------------------------------------------
5
7
  // Error type
6
8
  // ---------------------------------------------------------------------------
@@ -197,10 +199,20 @@ export async function generateObject(opts) {
197
199
  // Uses the hand-rolled SchemaLowering converter to avoid extra dependencies.
198
200
  const jsonSchema = lowerZodToJsonSchema(opts.schema);
199
201
  const systemPrompt = buildSchemaSystemPrompt(opts.system, jsonSchema, opts.schemaName, opts.schemaDescription);
200
- // Detect whether the target provider supports native JSON mode.
201
- // This prevents the model from wrapping JSON in markdown fences.
202
+ // Detect provider-native JSON output paths. OpenAI gets the strongest
203
+ // guarantee via `response_format: json_schema` (strict mode, supported on
204
+ // gpt-4o-2024-08-06 and later) when the schema lowers cleanly. Other
205
+ // OpenAI-compatible providers fall back to the looser `json_object` mode,
206
+ // which still suppresses markdown fences but doesn't enforce the schema.
207
+ // Anthropic / Gemini / etc. fall through to prompt-only enforcement.
202
208
  const { providerId } = resolveModelOption(opts, 'text');
203
- const supportsJsonMode = JSON_MODE_PROVIDERS.has(providerId);
209
+ const useStrictJsonSchema = providerId === 'openai' && canUseStrictJsonSchema(jsonSchema);
210
+ const supportsJsonObjectMode = JSON_MODE_PROVIDERS.has(providerId);
211
+ const responseFormat = useStrictJsonSchema
212
+ ? buildOpenAIJsonSchemaResponseFormat(jsonSchema, opts.schemaName)
213
+ : supportsJsonObjectMode
214
+ ? { type: 'json_object' }
215
+ : undefined;
204
216
  // Build the messages array, accumulating retry feedback as needed.
205
217
  const messages = [];
206
218
  if (opts.messages) {
@@ -213,6 +225,12 @@ export async function generateObject(opts) {
213
225
  const totalUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
214
226
  let lastRawText = '';
215
227
  let lastValidationError;
228
+ // Auto-size the output budget when the caller didn't specify one. Without
229
+ // this, complex nested schemas reliably truncate at the provider default
230
+ // (256-512 tokens) and JSON.parse fails on the unfinished output. The
231
+ // estimate scales with field count and array nesting depth so simple
232
+ // schemas don't pay for tokens they won't use.
233
+ const effectiveMaxTokens = opts.maxTokens ?? estimateMaxTokensForZodSchema(opts.schema);
216
234
  // Attempt generation up to 1 + maxRetries times (initial + retries)
217
235
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
218
236
  const result = await generateText({
@@ -221,12 +239,12 @@ export async function generateObject(opts) {
221
239
  system: systemPrompt,
222
240
  messages,
223
241
  temperature: opts.temperature,
224
- maxTokens: opts.maxTokens,
242
+ maxTokens: effectiveMaxTokens,
225
243
  apiKey: opts.apiKey,
226
244
  baseUrl: opts.baseUrl,
227
245
  fallbackProviders: opts.fallbackProviders,
228
246
  onFallback: opts.onFallback,
229
- _responseFormat: supportsJsonMode ? { type: 'json_object' } : undefined,
247
+ _responseFormat: responseFormat,
230
248
  });
231
249
  // Accumulate token usage across attempts
232
250
  totalUsage.promptTokens += result.usage.promptTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"generateObject.js","sourceRoot":"","sources":["../../src/api/generateObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateObject.js","sourceRoot":"","sources":["../../src/api/generateObject.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AAEhH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAI9C;;;;OAIG;IACH,YACE,OAAe;IACf,6DAA6D;IAC7C,OAAe;IAC/B,8EAA8E;IAC9D,gBAA2B;QAE3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,YAAO,GAAP,OAAO,CAAQ;QAEf,qBAAgB,GAAhB,gBAAgB,CAAW;QAb7C,kFAAkF;QAChE,SAAI,GAAG,uBAAuB,CAAC;QAe/C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF;AA0ID,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAE9D;;;;GAIG;AACH,SAAS,0BAA0B,CACjC,UAAmC,EACnC,UAAmB,EACnB,iBAA0B;IAE1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;IAC5G,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,gCAAgC,UAAU,IAAI,CAAC,CAAC;IAC3E,IAAI,iBAAiB;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,uBAAuB,CAC9B,UAAqD,EACrD,UAAmC,EACnC,UAAmB,EACnB,iBAA0B;IAE1B,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAEzF,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,+BAA+B;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,4EAA4E;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC1E,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,IAAI,WAAW,CAAC,wCAAwC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAC5C,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,IAAI,CAAC,MAAM,IAAI,+BAA+B;QAAE,OAAO,IAAI,CAAC;IAChE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC,mBAAmB,IAAI,CAAC,MAAM,GAAG,+BAA+B,cAAc,CAAC;AACzI,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAe;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,8BAA8B,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,8BAA8B,uBAAuB,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAA8B;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IAExC,+DAA+D;IAC/D,6EAA6E;IAC7E,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,uBAAuB,CAC1C,IAAI,CAAC,MAAM,EACX,UAAU,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,iBAAiB,CACvB,CAAC;IAEF,sEAAsE;IACtE,0EAA0E;IAC1E,qEAAqE;IACrE,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,UAAU,KAAK,QAAQ,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC1F,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,mBAAmB;QACxC,CAAC,CAAC,mCAAmC,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;QAClE,CAAC,CAAC,sBAAsB;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAsB,EAAE;YAClC,CAAC,CAAC,SAAS,CAAC;IAEhB,mEAAmE;IACnE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,0DAA0D;IAC1D,MAAM,UAAU,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACxF,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,mBAAyC,CAAC;IAE9C,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,+CAA+C;IAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAExF,oEAAoE;IACpE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,YAAY;YACpB,QAAQ;YACR,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,cAAc;SAChC,CAAC,CAAC;QAEH,yCAAyC;QACzC,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QACrD,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC7D,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACnD,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACxE,CAAC;QACD,+DAA+D;QAC/D,wDAAwD;QACxD,gEAAgE;QAChE,oEAAoE;QACpE,2DAA2D;QAC3D,+DAA+D;QAC/D,iEAAiE;QACjE,4DAA4D;QAC5D,mCAAmC;QACnC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACrD,UAAU,CAAC,eAAe,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YACzD,UAAU,CAAC,mBAAmB;gBAC5B,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC7E,CAAC;QAED,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;QAE1B,gDAAgD;QAChD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,+DAA+D;YAC/D,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjF,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,4CAA6C,QAAkB,CAAC,OAAO,oGAAoG;iBACrL,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,IAAI,qBAAqB,CAC7B,sCAAsC,UAAU,GAAG,CAAC,cAAe,QAAkB,CAAC,OAAO,EAAE,EAC/F,MAAM,CAAC,IAAI,CACZ,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,2EAA2E;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAER,CAAC;QAExC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,IAAI;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,mBAAmB,GAAG,UAAU,CAAC,KAAK,CAAC;QAEvC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;YACzB,mEAAmE;YACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,iFAAiF,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,oEAAoE;aACnM,CAAC,CAAC;YACH,SAAS;QACX,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,qBAAqB,CAC7B,oDAAoD,UAAU,GAAG,CAAC,YAAY,EAC9E,WAAW,EACX,mBAAmB,CACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @file openaiResponseFormat.ts
3
+ * @description Helpers for building OpenAI's `response_format: json_schema`
4
+ * payload from a lowered JSON Schema.
5
+ *
6
+ * OpenAI's strict structured-outputs mode (added with `gpt-4o-2024-08-06`)
7
+ * guarantees the model produces JSON that conforms to a provided schema. It
8
+ * has stricter requirements than the looser `json_object` mode:
9
+ *
10
+ * - Every object must declare `additionalProperties: false`.
11
+ * - Every property of every object must appear in the `required` array.
12
+ * - Unsupported keywords (`format`, `pattern`, `minLength`, etc.) are stripped.
13
+ *
14
+ * This module wraps a lowered JSON Schema (from {@link lowerZodToJsonSchema})
15
+ * into a strict-compatible payload. When the lowered schema is empty (the
16
+ * Zod v3 case where the lowering helper returns `{}` because it only knows
17
+ * v4 internals), the caller should fall back to `json_object` mode.
18
+ *
19
+ * @see https://platform.openai.com/docs/guides/structured-outputs
20
+ */
21
+ /**
22
+ * Returns true when the schema is concrete enough to be wrapped in OpenAI's
23
+ * strict json_schema mode. A schema with no `type` and no `properties` is
24
+ * treated as "unknown / untyped" and won't satisfy strict mode.
25
+ */
26
+ export declare function canUseStrictJsonSchema(jsonSchema: Record<string, unknown> | undefined): boolean;
27
+ /**
28
+ * Recursively prepares a JSON Schema for OpenAI strict mode:
29
+ * - On every object node, sets `additionalProperties: false` and lifts every
30
+ * declared property name into `required`.
31
+ * - Walks into `properties` and `items` so nested arrays-of-objects are
32
+ * handled correctly (the most common reason callers hit this code path).
33
+ * - Returns a fresh object; does not mutate the input.
34
+ */
35
+ export declare function makeStrictJsonSchema(node: unknown): unknown;
36
+ /**
37
+ * Build OpenAI's full `response_format` payload from a lowered JSON Schema.
38
+ *
39
+ * @param jsonSchema - The lowered JSON Schema (from `lowerZodToJsonSchema`).
40
+ * @param schemaName - Name passed to OpenAI for trace/debug purposes.
41
+ * Falls back to `"response"` when omitted.
42
+ */
43
+ export declare function buildOpenAIJsonSchemaResponseFormat(jsonSchema: Record<string, unknown>, schemaName?: string): Record<string, unknown>;
44
+ //# sourceMappingURL=openaiResponseFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openaiResponseFormat.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/openaiResponseFormat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,CAK/F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAuB3D;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,UAAU,GAAE,MAAmB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @file openaiResponseFormat.ts
3
+ * @description Helpers for building OpenAI's `response_format: json_schema`
4
+ * payload from a lowered JSON Schema.
5
+ *
6
+ * OpenAI's strict structured-outputs mode (added with `gpt-4o-2024-08-06`)
7
+ * guarantees the model produces JSON that conforms to a provided schema. It
8
+ * has stricter requirements than the looser `json_object` mode:
9
+ *
10
+ * - Every object must declare `additionalProperties: false`.
11
+ * - Every property of every object must appear in the `required` array.
12
+ * - Unsupported keywords (`format`, `pattern`, `minLength`, etc.) are stripped.
13
+ *
14
+ * This module wraps a lowered JSON Schema (from {@link lowerZodToJsonSchema})
15
+ * into a strict-compatible payload. When the lowered schema is empty (the
16
+ * Zod v3 case where the lowering helper returns `{}` because it only knows
17
+ * v4 internals), the caller should fall back to `json_object` mode.
18
+ *
19
+ * @see https://platform.openai.com/docs/guides/structured-outputs
20
+ */
21
+ /**
22
+ * Returns true when the schema is concrete enough to be wrapped in OpenAI's
23
+ * strict json_schema mode. A schema with no `type` and no `properties` is
24
+ * treated as "unknown / untyped" and won't satisfy strict mode.
25
+ */
26
+ export function canUseStrictJsonSchema(jsonSchema) {
27
+ if (!jsonSchema)
28
+ return false;
29
+ if (Object.keys(jsonSchema).length === 0)
30
+ return false;
31
+ // Strict mode demands an object root with declared properties.
32
+ return jsonSchema.type === 'object' && typeof jsonSchema.properties === 'object';
33
+ }
34
+ /**
35
+ * Recursively prepares a JSON Schema for OpenAI strict mode:
36
+ * - On every object node, sets `additionalProperties: false` and lifts every
37
+ * declared property name into `required`.
38
+ * - Walks into `properties` and `items` so nested arrays-of-objects are
39
+ * handled correctly (the most common reason callers hit this code path).
40
+ * - Returns a fresh object; does not mutate the input.
41
+ */
42
+ export function makeStrictJsonSchema(node) {
43
+ if (!node || typeof node !== 'object')
44
+ return node;
45
+ const obj = node;
46
+ const out = { ...obj };
47
+ if (out.type === 'object' && out.properties && typeof out.properties === 'object') {
48
+ const props = out.properties;
49
+ const newProps = {};
50
+ const required = [];
51
+ for (const key of Object.keys(props)) {
52
+ newProps[key] = makeStrictJsonSchema(props[key]);
53
+ required.push(key);
54
+ }
55
+ out.properties = newProps;
56
+ out.required = required;
57
+ out.additionalProperties = false;
58
+ }
59
+ if (out.type === 'array' && out.items) {
60
+ out.items = makeStrictJsonSchema(out.items);
61
+ }
62
+ return out;
63
+ }
64
+ /**
65
+ * Build OpenAI's full `response_format` payload from a lowered JSON Schema.
66
+ *
67
+ * @param jsonSchema - The lowered JSON Schema (from `lowerZodToJsonSchema`).
68
+ * @param schemaName - Name passed to OpenAI for trace/debug purposes.
69
+ * Falls back to `"response"` when omitted.
70
+ */
71
+ export function buildOpenAIJsonSchemaResponseFormat(jsonSchema, schemaName = 'response') {
72
+ return {
73
+ type: 'json_schema',
74
+ json_schema: {
75
+ name: sanitizeSchemaName(schemaName),
76
+ schema: makeStrictJsonSchema(jsonSchema),
77
+ strict: true,
78
+ },
79
+ };
80
+ }
81
+ /**
82
+ * OpenAI requires `name` to match `^[a-zA-Z0-9_-]+$` and be ≤ 64 chars.
83
+ * Replace anything outside that set with `_` and clip to length.
84
+ */
85
+ function sanitizeSchemaName(name) {
86
+ const cleaned = name.replace(/[^a-zA-Z0-9_-]/g, '_').slice(0, 64);
87
+ // If the cleaned name carries no real signal (empty, or all-underscores
88
+ // because every input character was illegal), fall back to a stable
89
+ // generic name rather than passing OpenAI a string of placeholders.
90
+ const hasRealChars = /[a-zA-Z0-9-]/.test(cleaned);
91
+ return hasRealChars ? cleaned : 'response';
92
+ }
93
+ //# sourceMappingURL=openaiResponseFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openaiResponseFormat.js","sourceRoot":"","sources":["../../../src/api/runtime/openaiResponseFormat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA+C;IACpF,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,+DAA+D;IAC/D,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC;AACnF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,GAAG,GAA4B,EAAE,GAAG,GAAG,EAAE,CAAC;IAEhD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,GAAG,CAAC,UAAqC,CAAC;QACxD,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC1B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxB,GAAG,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CACjD,UAAmC,EACnC,aAAqB,UAAU;IAE/B,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAC;YACpC,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC;YACxC,MAAM,EAAE,IAAI;SACb;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,wEAAwE;IACxE,oEAAoE;IACpE,oEAAoE;IACpE,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @file schemaTokenEstimate.ts
3
+ * @description Estimate the output-token budget needed to produce a complete
4
+ * JSON object matching a given Zod schema.
5
+ *
6
+ * Used by `generateObject()` to auto-size `maxTokens` when the caller doesn't
7
+ * pass an explicit value. Without this, complex nested-array schemas (e.g.
8
+ * `z.array(z.object({...}))`) reliably truncate at the provider default of
9
+ * ~256–512 tokens and the resulting JSON fails to parse.
10
+ *
11
+ * Walks the Zod schema directly (not a lowered JSON Schema) so it works on
12
+ * both Zod v3 (`_def.typeName`) and Zod v4 (`_def.type`) without a runtime
13
+ * Zod dependency on a specific version.
14
+ */
15
+ /**
16
+ * Returns the estimated `maxTokens` budget for the given Zod schema.
17
+ *
18
+ * Result is clamped to [{@link MIN_BUDGET}, {@link MAX_BUDGET}]. Callers that
19
+ * need a different budget should pass `opts.maxTokens` explicitly.
20
+ *
21
+ * @param schema - Any Zod schema instance (v3 or v4).
22
+ * @returns A token budget suitable for the provider's `max_tokens`/`max_output_tokens` field.
23
+ */
24
+ export declare function estimateMaxTokensForZodSchema(schema: unknown): number;
25
+ //# sourceMappingURL=schemaTokenEstimate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaTokenEstimate.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/schemaTokenEstimate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKrE"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @file schemaTokenEstimate.ts
3
+ * @description Estimate the output-token budget needed to produce a complete
4
+ * JSON object matching a given Zod schema.
5
+ *
6
+ * Used by `generateObject()` to auto-size `maxTokens` when the caller doesn't
7
+ * pass an explicit value. Without this, complex nested-array schemas (e.g.
8
+ * `z.array(z.object({...}))`) reliably truncate at the provider default of
9
+ * ~256–512 tokens and the resulting JSON fails to parse.
10
+ *
11
+ * Walks the Zod schema directly (not a lowered JSON Schema) so it works on
12
+ * both Zod v3 (`_def.typeName`) and Zod v4 (`_def.type`) without a runtime
13
+ * Zod dependency on a specific version.
14
+ */
15
+ const TOKENS_PER_LEAF = 30; // average tokens per primitive field
16
+ const TOKENS_PER_ARRAY_ITEM = 60; // assumed per-element budget for typical strings
17
+ const MIN_BUDGET = 512;
18
+ const MAX_BUDGET = 8192;
19
+ const HEADROOM = 1.5; // 50% headroom for prose-heavy fields
20
+ const MAX_DEPTH = 8; // recursion safety on cyclic-ish schemas
21
+ /**
22
+ * Returns the estimated `maxTokens` budget for the given Zod schema.
23
+ *
24
+ * Result is clamped to [{@link MIN_BUDGET}, {@link MAX_BUDGET}]. Callers that
25
+ * need a different budget should pass `opts.maxTokens` explicitly.
26
+ *
27
+ * @param schema - Any Zod schema instance (v3 or v4).
28
+ * @returns A token budget suitable for the provider's `max_tokens`/`max_output_tokens` field.
29
+ */
30
+ export function estimateMaxTokensForZodSchema(schema) {
31
+ const estimate = Math.ceil(walk(schema, 0) * HEADROOM);
32
+ if (estimate < MIN_BUDGET)
33
+ return MIN_BUDGET;
34
+ if (estimate > MAX_BUDGET)
35
+ return MAX_BUDGET;
36
+ return estimate;
37
+ }
38
+ /**
39
+ * Recursive token estimate for a single Zod node.
40
+ *
41
+ * - `ZodOptional` / `ZodNullable` / `ZodDefault` / `ZodReadonly` / `ZodEffects`
42
+ * are unwrapped (they contribute the inner schema's budget, not their own).
43
+ * - `ZodObject` walks `_def.shape` (a function in v3, a record in v4).
44
+ * - `ZodArray` reads the inner element from `_def.element` (v4) or `_def.type` (v3),
45
+ * and budgets for an assumed item count of 6 (objects) / 8 (primitives).
46
+ * - `ZodEnum` / `ZodNativeEnum` / `ZodLiteral` are bounded by the longest value.
47
+ * - `ZodUnion` / `ZodDiscriminatedUnion` budget for the worst-case branch.
48
+ */
49
+ function walk(node, depth) {
50
+ if (!node || depth > MAX_DEPTH)
51
+ return TOKENS_PER_LEAF;
52
+ const def = node._def;
53
+ if (!def)
54
+ return TOKENS_PER_LEAF;
55
+ // Zod v3 uses `_def.typeName` ("ZodObject"). Zod v4 uses `_def.type` ("object").
56
+ // Normalize to the v3 form so the switch below has one shape to match against.
57
+ const typeNameV3 = def.typeName;
58
+ const typeV4 = def.type;
59
+ const kind = typeNameV3
60
+ ?? (typeV4 ? `Zod${typeV4[0].toUpperCase()}${typeV4.slice(1)}` : '');
61
+ switch (kind) {
62
+ case 'ZodOptional':
63
+ case 'ZodNullable':
64
+ case 'ZodDefault':
65
+ case 'ZodReadonly':
66
+ case 'ZodEffects':
67
+ return walk(def.innerType ?? def.schema, depth + 1);
68
+ case 'ZodObject': {
69
+ // v3: shape is a function returning the shape object.
70
+ // v4: shape is the shape object directly.
71
+ const shapeRaw = def.shape;
72
+ const shape = typeof shapeRaw === 'function'
73
+ ? shapeRaw()
74
+ : shapeRaw ?? {};
75
+ let sum = 64; // braces, commas, base structure overhead
76
+ for (const key of Object.keys(shape)) {
77
+ sum += key.length + 8; // field name + JSON syntax
78
+ sum += walk(shape[key], depth + 1);
79
+ }
80
+ return sum;
81
+ }
82
+ case 'ZodArray': {
83
+ // v3 stores element on def.type (a Zod schema), v4 on def.element.
84
+ const inner = (def.element ?? def.type);
85
+ const itemBudget = walk(inner, depth + 1);
86
+ const innerKind = inner?._def?.typeName ?? inner?._def?.type;
87
+ const isObjectItem = innerKind === 'ZodObject' || innerKind === 'object';
88
+ const assumedCount = isObjectItem ? 6 : 8;
89
+ return 24 + assumedCount * Math.max(itemBudget, TOKENS_PER_ARRAY_ITEM);
90
+ }
91
+ case 'ZodEnum':
92
+ case 'ZodNativeEnum': {
93
+ const valuesSrc = def.values ?? Object.values(def.entries ?? {});
94
+ const arr = Array.isArray(valuesSrc) ? valuesSrc : Object.values(valuesSrc);
95
+ return arr.length > 0
96
+ ? Math.max(...arr.map((v) => String(v).length)) + 4
97
+ : TOKENS_PER_LEAF;
98
+ }
99
+ case 'ZodLiteral':
100
+ return String(def.value ?? '').length + 4;
101
+ case 'ZodUnion':
102
+ case 'ZodDiscriminatedUnion': {
103
+ const opts = def.options ?? [];
104
+ return opts.length > 0
105
+ ? Math.max(...opts.map((o) => walk(o, depth + 1)))
106
+ : TOKENS_PER_LEAF;
107
+ }
108
+ default:
109
+ return TOKENS_PER_LEAF;
110
+ }
111
+ }
112
+ //# sourceMappingURL=schemaTokenEstimate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaTokenEstimate.js","sourceRoot":"","sources":["../../../src/api/runtime/schemaTokenEstimate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @file usageAccumulator.ts
3
+ * @description In-memory usage tally helpers used by the lightweight
4
+ * `agent()` factory. The persisted JSONL ledger is opt-in
5
+ * (`AgentOSUsageLedgerOptions.enabled`); these helpers let `agent.usage()`
6
+ * and `session.usage()` return real numbers in the default case where no
7
+ * ledger is configured.
8
+ *
9
+ * The accumulator is intentionally side-effecting: callers fold each
10
+ * `result.usage` into a running aggregate held by closure scope so reads
11
+ * are O(1). The public read paths in `agent.ts` merge the in-memory tally
12
+ * with the persisted ledger so cross-process history rolls up correctly.
13
+ */
14
+ import type { AgentOSUsageAggregate } from './usageLedger.js';
15
+ /**
16
+ * Build a zeroed usage aggregate. Pass `sessionId` to seed a per-session tally.
17
+ */
18
+ export declare function createEmptyUsageAggregate(sessionId?: string): AgentOSUsageAggregate;
19
+ /**
20
+ * Fold a single generation's `TokenUsage` into a running aggregate. Mutates
21
+ * the target. Cost is summed when the source provides it.
22
+ *
23
+ * - Increments `calls` by 1 per fold (one call = one generation).
24
+ * - Recomputes `totalTokens` from `promptTokens + completionTokens` when the
25
+ * source omits the explicit total, matching how providers report partials.
26
+ */
27
+ export declare function accumulateUsage(target: AgentOSUsageAggregate, usage: {
28
+ promptTokens?: number;
29
+ completionTokens?: number;
30
+ totalTokens?: number;
31
+ costUSD?: number;
32
+ } | undefined): void;
33
+ /**
34
+ * Merge two aggregates field-wise into a fresh object. Used at read time to
35
+ * combine the in-memory tally with the persisted ledger total so callers see
36
+ * one coherent number that includes both this process and prior process runs.
37
+ */
38
+ export declare function mergeAggregates(a: AgentOSUsageAggregate, b: AgentOSUsageAggregate): AgentOSUsageAggregate;
39
+ //# sourceMappingURL=usageAccumulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageAccumulator.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/usageAccumulator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAUnF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC9G,IAAI,CAWN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAUzG"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Build a zeroed usage aggregate. Pass `sessionId` to seed a per-session tally.
3
+ */
4
+ export function createEmptyUsageAggregate(sessionId) {
5
+ return {
6
+ sessionId,
7
+ personaId: undefined,
8
+ promptTokens: 0,
9
+ completionTokens: 0,
10
+ totalTokens: 0,
11
+ costUSD: 0,
12
+ calls: 0,
13
+ };
14
+ }
15
+ /**
16
+ * Fold a single generation's `TokenUsage` into a running aggregate. Mutates
17
+ * the target. Cost is summed when the source provides it.
18
+ *
19
+ * - Increments `calls` by 1 per fold (one call = one generation).
20
+ * - Recomputes `totalTokens` from `promptTokens + completionTokens` when the
21
+ * source omits the explicit total, matching how providers report partials.
22
+ */
23
+ export function accumulateUsage(target, usage) {
24
+ if (!usage)
25
+ return;
26
+ if (typeof usage.promptTokens === 'number')
27
+ target.promptTokens += usage.promptTokens;
28
+ if (typeof usage.completionTokens === 'number')
29
+ target.completionTokens += usage.completionTokens;
30
+ if (typeof usage.totalTokens === 'number') {
31
+ target.totalTokens += usage.totalTokens;
32
+ }
33
+ else {
34
+ target.totalTokens += (usage.promptTokens ?? 0) + (usage.completionTokens ?? 0);
35
+ }
36
+ if (typeof usage.costUSD === 'number')
37
+ target.costUSD = (target.costUSD ?? 0) + usage.costUSD;
38
+ target.calls += 1;
39
+ }
40
+ /**
41
+ * Merge two aggregates field-wise into a fresh object. Used at read time to
42
+ * combine the in-memory tally with the persisted ledger total so callers see
43
+ * one coherent number that includes both this process and prior process runs.
44
+ */
45
+ export function mergeAggregates(a, b) {
46
+ return {
47
+ sessionId: a.sessionId ?? b.sessionId,
48
+ personaId: a.personaId ?? b.personaId,
49
+ promptTokens: a.promptTokens + b.promptTokens,
50
+ completionTokens: a.completionTokens + b.completionTokens,
51
+ totalTokens: a.totalTokens + b.totalTokens,
52
+ costUSD: (a.costUSD ?? 0) + (b.costUSD ?? 0),
53
+ calls: a.calls + b.calls,
54
+ };
55
+ }
56
+ //# sourceMappingURL=usageAccumulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageAccumulator.js","sourceRoot":"","sources":["../../../src/api/runtime/usageAccumulator.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAkB;IAC1D,OAAO;QACL,SAAS;QACT,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA6B,EAC7B,KAA+G;IAE/G,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QAAE,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;IACtF,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;QAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC;IAClG,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9F,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,CAAwB,EAAE,CAAwB;IAChF,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;QACrC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;QACrC,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY;QAC7C,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB;QACzD,WAAW,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW;QAC1C,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "Modular AgentOS orchestration library",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",