agentenkit 0.1.5 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +48 -2
  2. package/dist/adapters/memory.d.ts +2 -2
  3. package/dist/adapters/memory.d.ts.map +1 -1
  4. package/dist/adapters/memory.js +3 -9
  5. package/dist/adapters/memory.js.map +1 -1
  6. package/dist/adapters/prisma.d.ts +61 -18
  7. package/dist/adapters/prisma.d.ts.map +1 -1
  8. package/dist/adapters/prisma.js +65 -16
  9. package/dist/adapters/prisma.js.map +1 -1
  10. package/dist/adapters/sqlite.d.ts +3 -2
  11. package/dist/adapters/sqlite.d.ts.map +1 -1
  12. package/dist/adapters/sqlite.js +82 -11
  13. package/dist/adapters/sqlite.js.map +1 -1
  14. package/dist/admin/default.d.ts +11 -4
  15. package/dist/admin/default.d.ts.map +1 -1
  16. package/dist/admin/default.js +11 -6
  17. package/dist/admin/default.js.map +1 -1
  18. package/dist/admin/memory.d.ts.map +1 -1
  19. package/dist/admin/memory.js +8 -2
  20. package/dist/admin/memory.js.map +1 -1
  21. package/dist/admin/migrations/postgres/0001-init.d.ts +10 -0
  22. package/dist/admin/migrations/postgres/0001-init.d.ts.map +1 -0
  23. package/dist/admin/migrations/postgres/0001-init.js +56 -0
  24. package/dist/admin/migrations/postgres/0001-init.js.map +1 -0
  25. package/dist/admin/migrations/postgres/index.d.ts +9 -0
  26. package/dist/admin/migrations/postgres/index.d.ts.map +1 -0
  27. package/dist/admin/migrations/postgres/index.js +17 -0
  28. package/dist/admin/migrations/postgres/index.js.map +1 -0
  29. package/dist/admin/migrations/runner.d.ts +81 -0
  30. package/dist/admin/migrations/runner.d.ts.map +1 -0
  31. package/dist/admin/migrations/runner.js +137 -0
  32. package/dist/admin/migrations/runner.js.map +1 -0
  33. package/dist/admin/migrations/sqlite/0001-init.d.ts +11 -0
  34. package/dist/admin/migrations/sqlite/0001-init.d.ts.map +1 -0
  35. package/dist/admin/migrations/sqlite/0001-init.js +44 -0
  36. package/dist/admin/migrations/sqlite/0001-init.js.map +1 -0
  37. package/dist/admin/migrations/sqlite/index.d.ts +7 -0
  38. package/dist/admin/migrations/sqlite/index.d.ts.map +1 -0
  39. package/dist/admin/migrations/sqlite/index.js +38 -0
  40. package/dist/admin/migrations/sqlite/index.js.map +1 -0
  41. package/dist/admin/postgres.d.ts +27 -4
  42. package/dist/admin/postgres.d.ts.map +1 -1
  43. package/dist/admin/postgres.js +49 -55
  44. package/dist/admin/postgres.js.map +1 -1
  45. package/dist/admin/sqlite.d.ts +18 -2
  46. package/dist/admin/sqlite.d.ts.map +1 -1
  47. package/dist/admin/sqlite.js +51 -54
  48. package/dist/admin/sqlite.js.map +1 -1
  49. package/dist/core/admin.d.ts +8 -1
  50. package/dist/core/admin.d.ts.map +1 -1
  51. package/dist/core/admin.js +21 -2
  52. package/dist/core/admin.js.map +1 -1
  53. package/dist/core/agent.d.ts +3 -0
  54. package/dist/core/agent.d.ts.map +1 -1
  55. package/dist/core/agent.js +4 -4
  56. package/dist/core/agent.js.map +1 -1
  57. package/dist/core/context.d.ts +5 -0
  58. package/dist/core/context.d.ts.map +1 -1
  59. package/dist/core/context.js +38 -9
  60. package/dist/core/context.js.map +1 -1
  61. package/dist/core/engine.d.ts +4 -1
  62. package/dist/core/engine.d.ts.map +1 -1
  63. package/dist/core/engine.js +93 -20
  64. package/dist/core/engine.js.map +1 -1
  65. package/dist/core/hitl.d.ts.map +1 -1
  66. package/dist/core/hitl.js +6 -0
  67. package/dist/core/hitl.js.map +1 -1
  68. package/dist/core/loop.d.ts +35 -0
  69. package/dist/core/loop.d.ts.map +1 -1
  70. package/dist/core/loop.js +134 -19
  71. package/dist/core/loop.js.map +1 -1
  72. package/dist/core/messages.d.ts +48 -0
  73. package/dist/core/messages.d.ts.map +1 -0
  74. package/dist/core/messages.js +74 -0
  75. package/dist/core/messages.js.map +1 -0
  76. package/dist/core/publish.d.ts +21 -1
  77. package/dist/core/publish.d.ts.map +1 -1
  78. package/dist/core/publish.js +57 -3
  79. package/dist/core/publish.js.map +1 -1
  80. package/dist/core/run.d.ts.map +1 -1
  81. package/dist/core/run.js +44 -4
  82. package/dist/core/run.js.map +1 -1
  83. package/dist/core/stop.d.ts.map +1 -1
  84. package/dist/core/stop.js +42 -0
  85. package/dist/core/stop.js.map +1 -1
  86. package/dist/core/subagent.d.ts +5 -0
  87. package/dist/core/subagent.d.ts.map +1 -1
  88. package/dist/core/subagent.js +23 -10
  89. package/dist/core/subagent.js.map +1 -1
  90. package/dist/core/tools.d.ts +12 -0
  91. package/dist/core/tools.d.ts.map +1 -1
  92. package/dist/core/tools.js.map +1 -1
  93. package/dist/core/types.d.ts +164 -9
  94. package/dist/core/types.d.ts.map +1 -1
  95. package/dist/core/types.js +9 -0
  96. package/dist/core/types.js.map +1 -1
  97. package/dist/core/usage.d.ts +47 -2
  98. package/dist/core/usage.d.ts.map +1 -1
  99. package/dist/core/usage.js +130 -2
  100. package/dist/core/usage.js.map +1 -1
  101. package/dist/index.d.ts +11 -3
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +6 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/ports/admin.d.ts +18 -0
  106. package/dist/ports/admin.d.ts.map +1 -1
  107. package/dist/ports/runtime.d.ts +78 -4
  108. package/dist/ports/runtime.d.ts.map +1 -1
  109. package/dist/ports/storage.d.ts +16 -4
  110. package/dist/ports/storage.d.ts.map +1 -1
  111. package/dist/pricing.d.ts +66 -0
  112. package/dist/pricing.d.ts.map +1 -0
  113. package/dist/pricing.js +98 -0
  114. package/dist/pricing.js.map +1 -0
  115. package/dist/runtime.d.ts.map +1 -1
  116. package/dist/runtime.js +7 -2
  117. package/dist/runtime.js.map +1 -1
  118. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  const EMPTY = {
2
2
  inputTokens: 0, cachedInputTokens: 0, outputTokens: 0, totalTokens: 0,
3
+ costMicros: 0, unpriced: 0, lines: [],
3
4
  };
4
5
  function percentiles(values) {
5
6
  if (values.length === 0)
@@ -83,7 +84,18 @@ function rollUp(thread, runs) {
83
84
  // The dispatched run is the one a person started; a nested run's prompt is
84
85
  // a brief the model wrote.
85
86
  const root = runs.filter((r) => r.depth === 0).sort((a, b) => a.startedAt.getTime() - b.startedAt.getTime())[0];
86
- return { ...thread, runs: runs.length, steps, tokens, durationMs, prompt: root?.prompt ?? null };
87
+ const startedWith = thread.startedWith ??
88
+ (root
89
+ ? {
90
+ runId: root.id, agent: root.agent, model: root.model, at: root.startedAt,
91
+ prompt: root.prompt ?? null, tokenBudget: root.tokenBudget ?? null,
92
+ state: root.runState ?? null, providerOptions: root.providerOptions ?? null,
93
+ }
94
+ : null);
95
+ return {
96
+ ...thread, runs: runs.length, steps, tokens, durationMs,
97
+ prompt: startedWith?.prompt ?? null, startedWith,
98
+ };
87
99
  }
88
100
  /** Threads with their runs rolled up, newest activity first (§2.9). One pass
89
101
  * over the window's runs rather than a query per thread. */
@@ -123,10 +135,16 @@ export async function getRun(deps, runId) {
123
135
  const run = await deps.admin.runs.get(runId);
124
136
  if (!run)
125
137
  return null;
126
- const [steps, siblings, events] = await Promise.all([
138
+ const [steps, siblings, events, usage] = await Promise.all([
127
139
  listSteps(deps, runId),
128
140
  deps.admin.runs.listByThread(run.threadId),
129
141
  deps.storage.events.listSince(run.threadId, -1),
142
+ // Spend per run, from the one place money lives (§4). Best effort: a run
143
+ // view must still render when the usage read fails.
144
+ deps.storage.usage.total(run.threadId, { runId }).catch((err) => {
145
+ (deps.log ?? console).error('run usage not read', { run: runId, err });
146
+ return { ...EMPTY };
147
+ }),
130
148
  ]);
131
149
  const from = new Date(run.startedAt).getTime();
132
150
  const to = run.endedAt ? new Date(run.endedAt).getTime() : Infinity;
@@ -142,6 +160,7 @@ export async function getRun(deps, runId) {
142
160
  const at = new Date(e.createdAt).getTime();
143
161
  return at >= from && at <= to;
144
162
  }),
163
+ usage,
145
164
  };
146
165
  }
147
166
  //# sourceMappingURL=admin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/core/admin.ts"],"names":[],"mappings":"AA4EA,MAAM,KAAK,GAAgB;IACzB,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;CACtE,CAAC;AAEF,SAAS,WAAW,CAAC,MAAgB;IACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;IAC/E,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,UAAU;YAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrF,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QACpC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,CAAC;QAChD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QACtC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QACpC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,OAAO;QACP,YAAY;QACZ,MAAM;QACN,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;QAC3B,MAAM;KACP,CAAC;AACJ,CAAC;AAED;+DAC+D;AAC/D,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAkB,EAClB,SAAoB,EAAE;IAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAkB,EAClB,QAAwD,EAAE;IAE1D,2EAA2E;IAC3E,wEAAwE;IACxE,OAAO,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAkB,EAClB,QAA0B,EAAE;IAE5B,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE;QAC9B,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;KAC7E,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACnE,CAAC;AAED;6CAC6C;AAC7C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAkB,EAAE,KAAa;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAE,IAAiB,EAAE,EAAE;IACzD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IACjD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;AACvC,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,MAEf,EAAE,IAAiB;IAClB,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACjB,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,2EAA2E;IAC3E,2BAA2B;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CACxD,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;AACnG,CAAC;AAED;6DAC6D;AAC7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAkB,EAClB,SAAqE,EAAE;IAEvE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAkB,EAClB,QAAgB;IAEhB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,IAAI,GAAG,MAAM,IAAI;QACrB,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,MAAM,CAAmB;QACnD,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS;QAClC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE;QACjD,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE;KAC5C,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAkB,EAAE,KAAa;IAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,OAAO;QACL,GAAG;QACH,KAAK;QACL,2DAA2D;QAC3D,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC;QACrE,2DAA2D;QAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAa,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YACpE,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/core/admin.ts"],"names":[],"mappings":"AAmFA,MAAM,KAAK,GAAgB;IACzB,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;IACrE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;CACtC,CAAC;AAEF,SAAS,WAAW,CAAC,MAAgB;IACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;IAC/E,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,UAAU;YAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrF,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QACpC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,CAAC;QAChD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QACtC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QACpC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,OAAO;QACP,YAAY;QACZ,MAAM;QACN,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;QAC3B,MAAM;KACP,CAAC;AACJ,CAAC;AAED;+DAC+D;AAC/D,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAkB,EAClB,SAAoB,EAAE;IAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAkB,EAClB,QAAwD,EAAE;IAE1D,2EAA2E;IAC3E,wEAAwE;IACxE,OAAO,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAkB,EAClB,QAA0B,EAAE;IAE5B,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE;QAC9B,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;KAC7E,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACnE,CAAC;AAED;6CAC6C;AAC7C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAkB,EAAE,KAAa;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAE,IAA4D,EAAE,EAAE;IACpG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IACjD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;AACvC,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,MAGf,EAAE,IAAiB;IAClB,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACjB,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,2EAA2E;IAC3E,2BAA2B;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CACxD,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,WAAW,GACf,MAAM,CAAC,WAAW;QAClB,CAAC,IAAI;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS;gBACxE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;gBAClE,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;aAC5E;YACH,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO;QACL,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU;QACvD,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,IAAI,EAAE,WAAW;KACjD,CAAC;AACJ,CAAC;AAED;6DAC6D;AAC7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAkB,EAClB,SAAqE,EAAE;IAEvE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAkB,EAClB,QAAgB;IAEhB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,IAAI,GAAG,MAAM,IAAI;QACrB,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,MAAM,CAAmB;QACnD,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS;QAClC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE;QACjD,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE;KAC5C,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAkB,EAAE,KAAa;IAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/C,yEAAyE;QACzE,oDAAoD;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9D,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,OAAO;QACL,GAAG;QACH,KAAK;QACL,2DAA2D;QAC3D,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC;QACrE,2DAA2D;QAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAa,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YACpE,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC,CAAC;QACF,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -12,6 +12,9 @@ export interface RegisteredAgent {
12
12
  model?: string;
13
13
  subagents?: boolean | SubagentsConfig;
14
14
  tokenBudget?: number;
15
+ /** Default per-run money cap (§4), in millionths of the pricer's
16
+ * currency. */
17
+ costBudgetMicros?: number;
15
18
  /** Additional provider-specific options (§3.1) — merged per run. */
16
19
  providerOptions?: ProviderOptions;
17
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,eAAe,EAEf,mBAAmB,EACnB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C;;iDAEiD;AACjD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oEAAoE;QACpE,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;IACF,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,GAC1C,eAAe,GAAG,IAAI,CAGxB;AAED;2EAC2E;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC;AAc9E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,mBAAmB,GACxB,WAAW,CASb;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,qBAAqB,GAC1B,WAAW,CASb"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,eAAe,EAEf,mBAAmB,EACnB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C;;iDAEiD;AACjD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;wBACgB;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,oEAAoE;QACpE,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;IACF,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,GAC1C,eAAe,GAAG,IAAI,CAGxB;AAED;2EAC2E;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC;AAc9E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,mBAAmB,GACxB,WAAW,CASb;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,qBAAqB,GAC1B,WAAW,CASb"}
@@ -19,21 +19,21 @@ function createHandle(scope, agent) {
19
19
  };
20
20
  }
21
21
  export function createStreamTextAgent(scope, spec) {
22
- const { name, model, subagents, tokenBudget, providerOptions, ...args } = spec;
22
+ const { name, model, subagents, tokenBudget, costBudgetMicros, providerOptions, ...args } = spec;
23
23
  return createHandle(scope, {
24
24
  name,
25
25
  kind: 'stream-text',
26
- spec: { model, subagents, tokenBudget, providerOptions },
26
+ spec: { model, subagents, tokenBudget, costBudgetMicros, providerOptions },
27
27
  args: args,
28
28
  sem: new Semaphore(scope().config.subagentMaxConcurrent),
29
29
  });
30
30
  }
31
31
  export function createGenerateTextAgent(scope, spec) {
32
- const { name, model, subagents, tokenBudget, providerOptions, ...args } = spec;
32
+ const { name, model, subagents, tokenBudget, costBudgetMicros, providerOptions, ...args } = spec;
33
33
  return createHandle(scope, {
34
34
  name,
35
35
  kind: 'generate-text',
36
- spec: { model, subagents, tokenBudget, providerOptions },
36
+ spec: { model, subagents, tokenBudget, costBudgetMicros, providerOptions },
37
37
  args: args,
38
38
  sem: new Semaphore(scope().config.subagentMaxConcurrent),
39
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoBjC,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAChC,IAA2C;IAE3C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAMD,SAAS,YAAY,CAAC,KAAc,EAAE,KAAsB;IAC1D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;QACxF,iBAAiB,EAAE,CAAC,KAAmB,EAAE,MAAiC,EAAE,EAAE,CAC5E,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;QAC1E,GAAG,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;QAC/D,IAAI,EAAE,CAAC,QAAgB,EAAE,KAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,IAAyB;IAEzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC/E,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,IAAI;QACJ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;QACxD,IAAI,EAAE,IAA2B;QACjC,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,IAA2B;IAE3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC/E,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,IAAI;QACJ,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;QACxD,IAAI,EAAE,IAA2B;QACjC,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAuBjC,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAChC,IAA2C;IAE3C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAMD,SAAS,YAAY,CAAC,KAAc,EAAE,KAAsB;IAC1D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;QACxF,iBAAiB,EAAE,CAAC,KAAmB,EAAE,MAAiC,EAAE,EAAE,CAC5E,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;QAC1E,GAAG,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;QAC/D,IAAI,EAAE,CAAC,QAAgB,EAAE,KAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,IAAyB;IAEzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACjG,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,IAAI;QACJ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE;QAC1E,IAAI,EAAE,IAA2B;QACjC,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,IAA2B;IAE3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACjG,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,IAAI;QACJ,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE;QAC1E,IAAI,EAAE,IAA2B;QACjC,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
@@ -6,6 +6,11 @@ export declare const CONTEXT_TOKEN_CEILING = 265000;
6
6
  * `contextWindow` (via `resolveModel`, §3.3) wins over the fallback tables;
7
7
  * models below the ceiling keep their native window. */
8
8
  export declare function contextBudget(deps: RuntimePorts, model: string): number;
9
+ /** The one token estimate the platform uses where a real count is
10
+ * unavailable: how full the context is (§2.6), and the output of a call that
11
+ * was cut off before the provider could report one (§4). One rule for both,
12
+ * so the two never disagree. */
13
+ export declare const estimateTokens: (content: unknown) => number;
9
14
  /** Read-only view of the §2.6 budget math — what compactContext would see on
10
15
  * the next run, without summarizing anything. */
11
16
  export declare function contextUsage(deps: RuntimePorts, threadId: string, model: string): Promise<ContextUsage>;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI3D,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAS7C;;yDAEyD;AACzD,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAavE;AAID;kDACkD;AAClD,wBAAsB,YAAY,CAChC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAUvB;AAKD,wBAAsB,cAAc,CAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,EAAE,CAAC,CA+CvB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK3D,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAS7C;;yDAEyD;AACzD,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAavE;AAED;;;iCAGiC;AACjC,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,WACA,CAAC;AAEhD;kDACkD;AAClD,wBAAsB,YAAY,CAChC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAUvB;AAKD,wBAAsB,cAAc,CAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,EAAE,CAAC,CAsEvB"}
@@ -1,6 +1,7 @@
1
1
  import { generateText } from 'ai';
2
2
  import { publish } from './publish.js';
3
- import { attributeTokens } from './usage.js';
3
+ import { fillTokens, providerMeta, recordCall } from './usage.js';
4
+ import { wireId } from './types.js';
4
5
  /** Universal context ceiling across all models (§2.6) */
5
6
  export const CONTEXT_TOKEN_CEILING = 265_000;
6
7
  const DEFAULT_NATIVE_WINDOWS = {
@@ -26,7 +27,11 @@ export function contextBudget(deps, model) {
26
27
  deps.config.contextCeilingTokens;
27
28
  return Math.min(native, deps.config.contextCeilingTokens);
28
29
  }
29
- const estimateTokens = (content) => Math.ceil(JSON.stringify(content).length / 4);
30
+ /** The one token estimate the platform uses where a real count is
31
+ * unavailable: how full the context is (§2.6), and the output of a call that
32
+ * was cut off before the provider could report one (§4). One rule for both,
33
+ * so the two never disagree. */
34
+ export const estimateTokens = (content) => Math.ceil(JSON.stringify(content).length / 4);
30
35
  /** Read-only view of the §2.6 budget math — what compactContext would see on
31
36
  * the next run, without summarizing anything. */
32
37
  export async function contextUsage(deps, threadId, model) {
@@ -63,9 +68,22 @@ export async function compactContext(deps, threadId, model) {
63
68
  const older = history.slice(0, history.length - tail.length);
64
69
  if (older.length === 0)
65
70
  return history; // single oversized turn — blocked by the input guards above
66
- // ... and summarize everything before it with a cheap model
71
+ // ... and summarize everything before it with a cheap model, named in config
72
+ // so a registry that has never heard of 'gpt-4o-mini' can point this at its
73
+ // own (§2.6). Naming the key in the error matters: resolveModel throws from
74
+ // deep inside compaction, on a run that never mentioned this model, so the
75
+ // bare "Unknown model" says nothing about where it came from.
76
+ const compactionModel = deps.config.compactionModel;
77
+ let compactor;
78
+ try {
79
+ compactor = deps.resolveModel(compactionModel);
80
+ }
81
+ catch (err) {
82
+ throw new Error(`compactionModel ${JSON.stringify(compactionModel)} could not be resolved: ` +
83
+ `${err instanceof Error ? err.message : String(err)}`);
84
+ }
67
85
  const { text, usage, ...rest } = await generateText({
68
- model: deps.resolveModel('gpt-4o-mini').instance(),
86
+ model: compactor.instance(),
69
87
  prompt: 'Summarize the following conversation history into a dense context brief ' +
70
88
  '(decisions, open threads, key facts) for an AI agent:\n\n' +
71
89
  older.map((m) => `${m.role}: ${JSON.stringify(m.content)}`).join('\n'),
@@ -74,12 +92,23 @@ export async function compactContext(deps, threadId, model) {
74
92
  role: 'system',
75
93
  content: { type: 'CONTEXT_SUMMARY', text },
76
94
  });
77
- // Token attribution (§4): input + cached + output. The cache hit is reported
78
- // in provider metadata, never in `usage` — attributing without it books every
79
- // cached prompt at the full input price.
80
- await deps.storage.usage.record(threadId, {
95
+ // Compaction is a model call the platform made on its own account (§2.6),
96
+ // so it gets its own priced row like any other (§4). Kind 'compaction' keeps
97
+ // it separable: nobody asked for this call, and it is worth being able to
98
+ // see what the platform's own housekeeping costs.
99
+ //
100
+ // The cache hit is reported in provider metadata, never in `usage` —
101
+ // attributing without it books every cached prompt at the full input price.
102
+ const meta = rest.providerMetadata ?? rest.experimental_providerMetadata;
103
+ await recordCall(deps, threadId, {
81
104
  agentId: null,
82
- ...attributeTokens(usage, rest.providerMetadata ?? rest.experimental_providerMetadata),
105
+ kind: 'compaction',
106
+ step: 0,
107
+ model: compactionModel,
108
+ modelId: wireId(compactor, compactionModel),
109
+ outcome: 'finished',
110
+ providerMetadata: providerMeta(meta, rest.response),
111
+ ...fillTokens(usage, meta),
83
112
  });
84
113
  await publish(deps, threadId, 'CONTEXT_COMPACTED', { summarizedMessages: older.length });
85
114
  return [summary, ...tail];
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,9 @@ export interface ExecuteInput {
38
38
  /** The run's state (§2.10) — carried so a redrive keeps it. */
39
39
  state?: AgentRunState;
40
40
  tokenBudget?: number;
41
+ /** The run's money cap (§4), carried on the dispatch so the worker enforces
42
+ * what the caller asked for. */
43
+ costBudgetMicros?: number;
41
44
  providerOptions?: ProviderOptions;
42
45
  }
43
46
  /** 'executed' — this worker ran the segment (or it was a legitimate no-op).
@@ -47,7 +50,7 @@ export type ExecuteOutcome = 'executed' | 'lock-conflict' | 'stale';
47
50
  export declare function execute(deps: RuntimePorts, agent: RegisteredAgent, input: ExecuteInput): Promise<ExecuteOutcome>;
48
51
  export interface FinalizeInput {
49
52
  state: ExecutionState;
50
- stopReason: 'completed' | 'token_budget' | 'max_steps' | 'cancelled';
53
+ stopReason: 'completed' | 'token_budget' | 'cost_budget' | 'max_steps' | 'cancelled';
51
54
  tokensUsed: number;
52
55
  attribution: TokenAttribution;
53
56
  /** generate-text flavor only: publish the final text as one TEXT_RESULT. */
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAc,MAAM,YAAY,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAUlD,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAI9H;;iDAEiD;AACjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIlF;AAED;4EAC4E;AAC5E,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAElE;AAiND;;;;;;;;;;;;;;gDAcgD;AAChD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;2EACuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;+EAE+E;AAC/E,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,eAAe,GAAG,OAAO,CAAC;AAEpE,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,CAAC,CAwNzB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;sDACkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;sDAMsD;AACtD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,aAAa,GACf,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAyCD;;;;yEAIyE;AACzE,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACjC,IAAI,GAAE,OAAO,OAAiB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAA2B,MAAM,YAAY,CAAC;AAG3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAUlD,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAI9H;;iDAEiD;AACjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIlF;AAED;4EAC4E;AAC5E,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAElE;AA0ND;;;;;;;;;;;;;;gDAcgD;AAChD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;2EACuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;qCACiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;+EAE+E;AAC/E,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,eAAe,GAAG,OAAO,CAAC;AAEpE,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,CAAC,CAoQzB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACrF,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;sDACkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;sDAMsD;AACtD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,aAAa,GACf,OAAO,CAAC,IAAI,CAAC,CA8Bf;AA4CD;;;;yEAIyE;AACzE,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACjC,IAAI,GAAE,OAAO,OAAiB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkDf"}
@@ -1,9 +1,11 @@
1
1
  import { randomUUID } from 'node:crypto';
2
+ import { wireId } from './types.js';
2
3
  import { compactContext } from './context.js';
3
4
  import { markPromptCaching } from './cache.js';
5
+ import { promptMessages, repairDanglingToolCalls } from './messages.js';
4
6
  import { mergeProviderOptions } from './types.js';
5
7
  import { hitlKey, loadOpenHitls, withHitl, } from './hitl.js';
6
- import { publish, setThreadState } from './publish.js';
8
+ import { publish, publishEvent, setThreadState, withPublishEvent } from './publish.js';
7
9
  import { runNestedAgent, spawnSubagentTool } from './subagent.js';
8
10
  import { redriveKey, runIdKey } from './keys.js';
9
11
  import { withRunState } from './state.js';
@@ -42,7 +44,7 @@ async function verdictReady(deps, pending) {
42
44
  * The tool failure is surfaced TO THE MODEL as the tool result — the verdict
43
45
  * arrives from a different process than the one that ran the model, so the
44
46
  * conversation always stays executable. */
45
- async function settleVerdict(deps, threadId, pending, target, signal) {
47
+ async function settleVerdict(deps, threadId, pending, target, signal, state) {
46
48
  const raw = await deps.kv.get(hitlKey(pending.toolCallId));
47
49
  await deps.kv.del(hitlKey(pending.toolCallId));
48
50
  if (!raw) {
@@ -57,6 +59,12 @@ async function settleVerdict(deps, threadId, pending, target, signal) {
57
59
  ? await target.execute(pending.arguments, {
58
60
  toolCallId: pending.toolCallId,
59
61
  abortSignal: signal,
62
+ // The resumed tool gets the same context a live one does (§2.10).
63
+ state,
64
+ publishEvent: (type, payload, options) => publishEvent(deps, threadId, type, payload, options),
65
+ // What the human sent back with the approval (§2.5): answers to
66
+ // the questions the tool asked, a corrected value, a reason.
67
+ approval: { payload: answer.payload },
60
68
  })
61
69
  : { error: `Unknown tool: ${pending.toolName}` };
62
70
  }
@@ -165,7 +173,7 @@ async function failRun(deps, threadId, runId, error) {
165
173
  * thread back to RUNNING. Returns false when at least one approval is still
166
174
  * open within its TTL: the dispatch is an at-least-once redelivery and the
167
175
  * thread stays parked. `rawTools` must be the UNWRAPPED main toolset. */
168
- async function resumePendingHitl(deps, threadId, open, rawTools, subCtx, signal) {
176
+ async function resumePendingHitl(deps, threadId, open, rawTools, subCtx, signal, state) {
169
177
  // Readiness first, side effects second: the thread resumes only when EVERY
170
178
  // open approval has been answered or has expired (§2.7).
171
179
  const states = await Promise.all(open.map((p) => verdictReady(deps, p)));
@@ -178,7 +186,7 @@ async function resumePendingHitl(deps, threadId, open, rawTools, subCtx, signal)
178
186
  const target = pending.agentId === null
179
187
  ? rawTools[pending.toolName]
180
188
  : subCtx?.sub.tools?.[pending.toolName];
181
- const result = await settleVerdict(deps, threadId, pending, target, signal);
189
+ const result = await settleVerdict(deps, threadId, pending, target, signal, state);
182
190
  if (result?.reason === 'timeout')
183
191
  expiredAny = true;
184
192
  if (!(await unwindVerdict(deps, threadId, pending, result, subCtx, signal)))
@@ -208,6 +216,8 @@ export async function execute(deps, agent, input) {
208
216
  // config. Checked BETWEEN steps: the finished step is always kept in full,
209
217
  // nothing is aborted mid-generation. This is NOT a user stop.
210
218
  const tokenBudget = input.tokenBudget ?? agent.spec.tokenBudget ?? deps.config.tokenBudget;
219
+ // The money cap (§4) resolves the same way, widest last.
220
+ const costBudget = input.costBudgetMicros ?? agent.spec.costBudgetMicros ?? deps.config.costBudgetMicros;
211
221
  // Provider-specific options (§3.1): spec default <- execute input,
212
222
  // shallow per-provider namespace; the execute input wins.
213
223
  // Three levels, widest first: runtime config → agent spec → this run.
@@ -248,6 +258,9 @@ export async function execute(deps, agent, input) {
248
258
  model: input.model,
249
259
  ...(runId ? { runId } : {}),
250
260
  ...(input.tokenBudget !== undefined ? { tokenBudget: input.tokenBudget } : {}),
261
+ ...(input.costBudgetMicros !== undefined
262
+ ? { costBudgetMicros: input.costBudgetMicros }
263
+ : {}),
251
264
  ...(providerOptions ? { providerOptions } : {}),
252
265
  // Carried so the resumed segment scopes its storage the same way this
253
266
  // one does (§2.10).
@@ -283,6 +296,8 @@ export async function execute(deps, agent, input) {
283
296
  agentId: null, // spawned by the main agent
284
297
  frames: [],
285
298
  tokenBudget,
299
+ costBudgetMicros: costBudget,
300
+ billingRunId: runId,
286
301
  providerOptions,
287
302
  abortSignal: abort.signal,
288
303
  state: input.state,
@@ -294,7 +309,9 @@ export async function execute(deps, agent, input) {
294
309
  };
295
310
  // The main agent's own toolset: nothing is waiting on its parks (§2.7).
296
311
  // Every tool also sees the run's state (§2.10).
297
- const tools = withRunState(withHitl(deps, threadId, rawTools, { resume, agentId: null, frames: [] }), input.state ?? {});
312
+ // Every tool also sees the run's state (§2.10) and can publish its own
313
+ // events on the thread.
314
+ const tools = withRunState(withPublishEvent(deps, threadId, withHitl(deps, threadId, rawTools, { resume, agentId: null, frames: [] })), input.state ?? {});
298
315
  // §2.5 resume: a WAITING thread at segment start is either the /respond
299
316
  // continuation or a redelivery of the original job while still parked.
300
317
  if (durable?.state === 'WAITING_FOR_INPUT') {
@@ -306,7 +323,7 @@ export async function execute(deps, agent, input) {
306
323
  // the §2.8 policy rather than corrupting the conversation.
307
324
  throw new Error(`Thread ${threadId} is WAITING_FOR_INPUT without a pending INPUT_REQUIRED`);
308
325
  }
309
- const resumed = await resumePendingHitl(deps, threadId, open, rawTools, subCtx, abort.signal);
326
+ const resumed = await resumePendingHitl(deps, threadId, open, rawTools, subCtx, abort.signal, input.state ?? {});
310
327
  if (!resumed)
311
328
  return 'executed'; // still parked — nothing to do yet
312
329
  }
@@ -316,7 +333,7 @@ export async function execute(deps, agent, input) {
316
333
  const model = deps.resolveModel(input.model);
317
334
  // Prompt caching (§2.6): stamp the stable prefix once — appended step
318
335
  // messages extend the prompt without invalidating the breakpoints.
319
- let messages = history.map((m) => ({ role: m.role, content: m.content }));
336
+ let messages = repairDanglingToolCalls(promptMessages(history));
320
337
  if (deps.config.promptCaching) {
321
338
  messages = markPromptCaching(messages);
322
339
  }
@@ -332,6 +349,11 @@ export async function execute(deps, agent, input) {
332
349
  abortSignal: abort.signal,
333
350
  providerOptions,
334
351
  tokenBudget,
352
+ costBudgetMicros: costBudget,
353
+ billingRunId: runId,
354
+ modelKey: input.model,
355
+ modelId: wireId(model, input.model),
356
+ agentName: agent.name,
335
357
  cacheSystemPrompt: deps.config.promptCaching,
336
358
  onChunk: async (chunk) => {
337
359
  // One canonical path for every client: durable log + live Pub/Sub (§2.1, §2.2)
@@ -344,21 +366,24 @@ export async function execute(deps, agent, input) {
344
366
  const lastText = loop.text;
345
367
  const lastFinishReason = loop.finishReason;
346
368
  if (parked) {
347
- // The segment ends holding the park: bill the steps up to the park
348
- // (§4) — the resumed segment records its own usage. NO state flip:
349
- // WAITING_FOR_INPUT (or CANCELLED if the user stopped meanwhile) stands.
350
- await deps.storage.usage.record(threadId, { agentId: agent.name, ...attribution });
369
+ // The segment ends holding the park. Every call it made was already
370
+ // recorded and priced as it happened (§4), so there is nothing left to
371
+ // bill here. NO state flip: WAITING_FOR_INPUT (or CANCELLED if the user
372
+ // stopped meanwhile) stands.
351
373
  return 'executed';
352
374
  }
353
375
  const stopReason = abort.signal.aborted
354
376
  ? 'cancelled'
355
- : tokenBudget && tokensUsed >= tokenBudget
356
- ? 'token_budget'
357
- : lastFinishReason === 'tool-calls'
358
- ? 'max_steps' // step ceiling hit (§2.1)
359
- : 'completed';
377
+ : loop.costExhausted
378
+ ? 'cost_budget' // the money cap (§4)
379
+ : tokenBudget && tokensUsed >= tokenBudget
380
+ ? 'token_budget'
381
+ : lastFinishReason === 'tool-calls'
382
+ ? 'max_steps' // step ceiling hit (§2.1)
383
+ : 'completed';
384
+ const state = abort.signal.aborted ? 'CANCELLED' : 'COMPLETED';
360
385
  await finalize(deps, agent, threadId, {
361
- state: abort.signal.aborted ? 'CANCELLED' : 'COMPLETED',
386
+ state,
362
387
  stopReason,
363
388
  tokensUsed,
364
389
  attribution,
@@ -366,6 +391,28 @@ export async function execute(deps, agent, input) {
366
391
  runId,
367
392
  steps: loop.steps,
368
393
  });
394
+ if (typeof userArgs.onFinish === 'function') {
395
+ // The whole run's bill, read back from the rows the loop wrote (§4):
396
+ // every segment and every nested run, priced and grouped into lines, so
397
+ // a settle hook charges in one pass without keeping its own tally.
398
+ // The run is already finalized: a callback that throws is the
399
+ // caller's bug to see in the log, not a reason to fail a finished run.
400
+ try {
401
+ await userArgs.onFinish({
402
+ threadId,
403
+ runId,
404
+ state,
405
+ stopReason,
406
+ tokensUsed,
407
+ attribution,
408
+ steps: loop.steps,
409
+ usage: await runBill(deps, threadId, runId),
410
+ });
411
+ }
412
+ catch (err) {
413
+ (deps.log ?? console).error('onFinish threw', { runId, err: String(err) });
414
+ }
415
+ }
369
416
  return 'executed';
370
417
  }
371
418
  finally {
@@ -381,9 +428,10 @@ export async function execute(deps, agent, input) {
381
428
  * A budget break is NOT a user stop: the run completes with stopReason
382
429
  * 'token_budget' and the usage it actually spent. */
383
430
  export async function finalize(deps, agent, threadId, f) {
384
- // Tokens this segment actually spent are always ours to record (§4), even
385
- // when the run was replaced part-way through.
386
- await deps.storage.usage.record(threadId, { agentId: agent.name, ...f.attribution });
431
+ // Nothing to bill here: every model call recorded and priced its own row as
432
+ // it happened, inside the loop (§4). Even a run that was replaced part-way
433
+ // through has already had its calls written.
434
+ //
387
435
  // Close the run's durable record (§2.9). Additive: a run that parked and
388
436
  // resumed finalises once, but its steps and tokens accrued over several
389
437
  // segments, so they are summed onto what is already there. The run lock
@@ -434,6 +482,9 @@ async function redriveOnLockConflict(deps, agent, input, maxAttempts) {
434
482
  model: input.model,
435
483
  agent: agent.name,
436
484
  tokenBudget: input.tokenBudget,
485
+ // A redrive is the SAME run trying again, so it keeps the caps it was
486
+ // dispatched with — a retry that lost its money cap would be unbounded.
487
+ costBudgetMicros: input.costBudgetMicros,
437
488
  providerOptions: input.providerOptions,
438
489
  }, { delaySeconds: deps.config.runRedriveDelaySeconds });
439
490
  }
@@ -477,6 +528,9 @@ export async function executeWithPolicy(deps, agent, input, policy, exec = execu
477
528
  model: input.model,
478
529
  agent: agent.name,
479
530
  tokenBudget: input.tokenBudget,
531
+ // A redrive is the SAME run trying again, so it keeps the caps it was
532
+ // dispatched with — a retry that lost its money cap would be unbounded.
533
+ costBudgetMicros: input.costBudgetMicros,
480
534
  providerOptions: input.providerOptions,
481
535
  });
482
536
  }
@@ -486,4 +540,23 @@ export async function executeWithPolicy(deps, agent, input, policy, exec = execu
486
540
  await deps.kv.del(`agent:attempts:${input.threadId}`);
487
541
  }
488
542
  }
543
+ /** Sum every model call a run made, nested runs included (§4). Best effort
544
+ * like every other read on the finish path: a storage hiccup must not turn a
545
+ * finished run into a failed one, so a failure comes back as zero totals and
546
+ * the error is logged. */
547
+ async function runBill(deps, threadId, runId) {
548
+ const empty = {
549
+ inputTokens: 0, cachedInputTokens: 0, outputTokens: 0, totalTokens: 0,
550
+ costMicros: 0, unpriced: 0, lines: [],
551
+ };
552
+ if (!runId)
553
+ return empty;
554
+ try {
555
+ return await deps.storage.usage.total(threadId, { runId });
556
+ }
557
+ catch (err) {
558
+ (deps.log ?? console).error('run bill not read', { run: runId, err });
559
+ return empty;
560
+ }
561
+ }
489
562
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}