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
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,sDAAsD;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,mCAAmC;AACnC,OAAO,EACL,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,GAKzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,GAIZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,OAAO,EACP,eAAe,EACf,eAAe,EACf,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,GAKR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,QAAQ;AACR,OAAO,EACL,cAAc,EACd,aAAa,GAkBd,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAqD,MAAM,uBAAuB,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAkD,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,WAAW,EAA4C,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,sDAAsD;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,mCAAmC;AACnC,OAAO,EACL,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,GAKzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,GAIZ,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErE;oEACoE;AACpE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EACL,OAAO,EACP,eAAe,EACf,eAAe,EACf,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,GAKR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,QAAQ;AACR,OAAO,EACL,cAAc,EACd,aAAa,GAuBd,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAqD,MAAM,uBAAuB,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAkD,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,WAAW,EAA4C,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -76,13 +76,31 @@ export interface StepRecord {
76
76
  export type NewStepRecord = Omit<StepRecord, 'at'> & {
77
77
  at?: Date;
78
78
  };
79
+ /** What started a thread (§2.9): the first dispatched run's parameters,
80
+ * recorded once and never overwritten, so a listing can say who asked for
81
+ * what without opening the thread. `prompt`, `state` and `providerOptions`
82
+ * are present only when `recordPayloads` is on. */
83
+ export interface ThreadStart {
84
+ runId: string;
85
+ agent: string;
86
+ model: string;
87
+ at: Date;
88
+ prompt?: string | null;
89
+ tokenBudget?: number | null;
90
+ state?: Record<string, unknown> | null;
91
+ providerOptions?: Record<string, unknown> | null;
92
+ }
79
93
  export interface AdminThread {
80
94
  id: string;
81
95
  state: ExecutionState;
82
96
  model: string;
83
97
  firstSeenAt: Date;
84
98
  updatedAt: Date;
99
+ /** The parameters that started it; null for a thread seen before this was recorded. */
100
+ startedWith?: ThreadStart | null;
85
101
  }
102
+ /** `startedWith` is written on first sight only: a later upsert never
103
+ * replaces what started the thread. */
86
104
  export type NewAdminThread = Omit<AdminThread, 'firstSeenAt' | 'updatedAt'>;
87
105
  export interface AdminThreadFilter {
88
106
  state?: ExecutionState[];
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/ports/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/ports/admin.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import type { ToolSet } from 'ai';
2
- import type { AgentEvent, AgentConfig, AgentKind, ContextUsage, ExecutionState, MessageDTO, ProviderOptions, ResolvedModel, RunJob, RunRecord, SubagentsConfig, ThreadDTO, UsageTotals } from '../core/types.js';
2
+ import type { AgentEvent, AgentConfig, AgentKind, ContextUsage, ExecutionState, MessageDTO, ProviderOptions, ResolvedModel, RunJob, RunRecord, Cost, NewUsage, SubagentsConfig, ThreadDTO, UsageTotals } from '../core/types.js';
3
+ import type { TokenAttribution } from '../core/usage.js';
3
4
  import type { Storage } from './storage.js';
4
5
  import type { AdminStore, RunFilter, StepRecord } from './admin.js';
5
6
  import type { AgentRunState, BoundStorage } from '../core/state.js';
6
7
  import type { FollowOptions, SseOptions, SseStream } from '../core/follow.js';
8
+ import type { PublishEventOptions } from '../core/publish.js';
7
9
  export type { AdminStore, NewStepRecord, RunFilter, StepRecord } from './admin.js';
8
10
  export type { AgentRunState, BoundStorage, StorageContext } from '../core/state.js';
9
11
  import type { EventBus } from './bus.js';
@@ -29,8 +31,31 @@ export interface RuntimePorts {
29
31
  /** User-provided model resolution (§3.3): models can live in any shape on
30
32
  * the consumer side — the platform only ever sees `ResolvedModel`. */
31
33
  resolveModel(modelName: string): ResolvedModel;
34
+ /** Puts a price on every model call before its usage row is stored (§4).
35
+ * Omitted, every row is stored unpriced. */
36
+ pricer?: Pricer;
37
+ /** Where the platform reports what it could not do without failing the
38
+ * run, such as a usage row it failed to store. Defaults to `console`. */
39
+ log?: Logger;
32
40
  config: AgentConfig;
33
41
  }
42
+ /** The little the platform needs from a logger. `console` satisfies it. */
43
+ export interface Logger {
44
+ error(message: string, ...rest: unknown[]): void;
45
+ }
46
+ /** Turns one model call into money (§4). The runtime calls it after every
47
+ * call, before the usage row is stored, so cost is part of the row rather
48
+ * than something a reader has to work out later.
49
+ *
50
+ * It runs on the run's own path: keep it fast and side-effect free. A price
51
+ * list lookup is the intended shape; a network call is not. */
52
+ export interface Pricer {
53
+ /** Returns null when it cannot price this call. The row is then stored
54
+ * unpriced, and in a chain the next pricer gets its turn. A throw is
55
+ * logged and treated the same way: an unpriceable call must never fail a
56
+ * run. */
57
+ price(usage: NewUsage): Cost | null | Promise<Cost | null>;
58
+ }
34
59
  export interface RuntimeOptions {
35
60
  storage: Storage;
36
61
  /** Where operational history goes (§2.9). Omitted, it is chosen from the
@@ -43,6 +68,14 @@ export interface RuntimeOptions {
43
68
  /** Models can come in any shape — config files, a database, provider SDKs.
44
69
  * The platform only ever sees the resolved `ResolvedModel`. */
45
70
  resolveModel(modelName: string): ResolvedModel;
71
+ /** Prices every model call (§4). Omitted records tokens only, and every
72
+ * `UsageTotals` comes back with `unpriced` above zero. See the `pricing`
73
+ * module for the three that ship: a price table, a provider receipt
74
+ * reader, and a chain of both. */
75
+ pricer?: Pricer;
76
+ /** Where the platform reports what it could not do without failing the
77
+ * run. Defaults to `console`. */
78
+ log?: Logger;
46
79
  config?: Partial<AgentConfig>;
47
80
  }
48
81
  export interface RunInput {
@@ -65,6 +98,11 @@ export interface RunInput {
65
98
  * spec.tokenBudget / config (§2.1 safety cap). Flows to the worker
66
99
  * via RunJob.tokenBudget. */
67
100
  tokenBudget?: number;
101
+ /** Max spend for this run (§4), in millionths of the pricer's currency:
102
+ * 250_000 stops the run after roughly $0.25. Overrides
103
+ * spec.costBudgetMicros / config. Needs a pricer; without one nothing is
104
+ * ever priced and the cap can never be reached. */
105
+ costBudgetMicros?: number;
68
106
  /** Additional provider-specific options, passed through to the provider
69
107
  * from the AI SDK (§3.1). Merged over the spec default: the execute
70
108
  * input wins per provider namespace. */
@@ -110,6 +148,26 @@ export interface ThreadUsage {
110
148
  /** The model the budget was measured against. */
111
149
  model: string;
112
150
  }
151
+ /** What the platform hands a spec's `onFinish` once the run is finalized. */
152
+ export interface RunFinishInfo {
153
+ threadId: string;
154
+ runId?: string;
155
+ state: ExecutionState;
156
+ stopReason: string;
157
+ tokensUsed: number;
158
+ /** The tokens THIS segment spent. A run that parked and resumed finishes
159
+ * once, so this is the last segment, not the whole run — and it is tokens
160
+ * only; the money is in `usage`. */
161
+ attribution: TokenAttribution;
162
+ steps: number;
163
+ /** The whole run's tokens AND money: every segment and every nested run,
164
+ * read back with `usage.total(threadId, { runId })`. Its `lines` are the
165
+ * bill, one per agent and model, so a settle hook charges in one pass
166
+ * without keeping its own tally (§4). Zeroed when the storage read failed;
167
+ * `unpriced` above zero means some calls went unpriced and `costMicros` is
168
+ * a floor. */
169
+ usage: UsageTotals;
170
+ }
113
171
  /** Durable state used to hydrate a client before it starts live event replay. */
114
172
  export interface ThreadSnapshot {
115
173
  thread: ThreadDTO;
@@ -136,15 +194,21 @@ export type StreamTextAgentSpec = {
136
194
  /** Default per-run token budget (input + output). Per-run
137
195
  * `input.tokenBudget` wins; `undefined` = unbounded apart from `maxSteps`. */
138
196
  tokenBudget?: number;
197
+ /** Default per-run money cap (§4), in millionths of the pricer's currency.
198
+ * Per-run `input.costBudgetMicros` wins; `undefined` = unbounded. Needs a
199
+ * pricer: an unpriced call spends no money and so can never exhaust it. */
200
+ costBudgetMicros?: number;
139
201
  /** Additional provider-specific options, passed through to the provider
140
202
  * from the AI SDK. Per-provider namespace; the execute input wins. */
141
203
  providerOptions?: ProviderOptions;
142
- } & Omit<Parameters<typeof import('ai').streamText>[0], 'model' | 'messages' | 'prompt' | 'system' | 'abortSignal' | 'maxSteps' | 'onStepFinish' | 'onError'> & {
204
+ } & Omit<Parameters<typeof import('ai').streamText>[0], 'model' | 'messages' | 'prompt' | 'system' | 'abortSignal' | 'maxSteps' | 'onStepFinish' | 'onError' | 'onFinish' | 'onChunk'> & {
143
205
  /** `system` is allowed here (static persona); per-run system is not. */
144
206
  system?: string;
145
207
  tools?: ToolSet;
146
208
  onChunk?: (para: any) => void | Promise<void>;
147
- onFinish?: (finishParams: any) => void | Promise<void>;
209
+ /** Fires once, after the platform finalized the run, with what the run did
210
+ * and what it spent (§4). */
211
+ onFinish?: (info: RunFinishInfo) => void | Promise<void>;
148
212
  };
149
213
  export type GenerateTextAgentSpec = {
150
214
  /** Unique handle key — the queue dispatch key (§5). */
@@ -152,10 +216,12 @@ export type GenerateTextAgentSpec = {
152
216
  model?: string;
153
217
  subagents?: boolean | SubagentsConfig;
154
218
  tokenBudget?: number;
219
+ costBudgetMicros?: number;
155
220
  providerOptions?: ProviderOptions;
156
221
  } & Omit<Parameters<typeof import('ai').generateText>[0], 'model' | 'messages' | 'prompt' | 'abortSignal' | 'onFinish' | 'onStepFinish'> & {
157
222
  tools?: ToolSet;
158
- onFinish?: (finishParams: any) => void | Promise<void>;
223
+ /** Fires once, after the platform finalized the run (§4). */
224
+ onFinish?: (info: RunFinishInfo) => void | Promise<void>;
159
225
  };
160
226
  /** An executor bound to a generation flavor and to the user's generation
161
227
  * arguments (§3). Returned by the `create*Agent` factories. */
@@ -216,6 +282,14 @@ export interface AgentCore {
216
282
  sse(threadId: string, options?: SseOptions & {
217
283
  state?: AgentRunState;
218
284
  }): SseStream;
285
+ /** Publish an event of your own on a thread, from anywhere on the server
286
+ * — a webhook, a cron job, a route. Tools get the same thing bound to
287
+ * their thread as `publishEvent` on their options. Durable by default;
288
+ * `{ durable: false }` is a bus-only notice. Platform event types are
289
+ * refused. */
290
+ publishEvent(threadId: string, type: string, payload: unknown, options?: PublishEventOptions & {
291
+ state?: AgentRunState;
292
+ }): Promise<AgentEvent>;
219
293
  };
220
294
  /** Agent factories — see §4. Each call registers a handle under `spec.name`. */
221
295
  createStreamTextAgent(spec: StreamTextAgentSpec): AgentHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ports/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ports/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { StorageContext } from '../core/state.js';
2
- import type { AgentEvent, ExecutionState, MessageDTO, NewMessage, NewUsage, UsageTotals, ThreadDTO } from '../core/types.js';
2
+ import type { AgentEvent, ExecutionState, MessageDTO, NewMessage, NewUsage, UsageFilter, UsageTotals, ThreadDTO } from '../core/types.js';
3
3
  /** Persistence port for a caller's OWN data (§3.2): threads, messages, events,
4
4
  * usage. DTOs cross the boundary; ORM/entity types never leak into core.
5
5
  * Implement it once for MongoDB, MySQL, DynamoDB — or use the shipped
@@ -62,11 +62,23 @@ export interface Storage {
62
62
  * CHUNK on the thread through memory. */
63
63
  listByType(threadId: string, type: string, ctx: StorageContext): Promise<AgentEvent[]>;
64
64
  };
65
+ /** One row per model call (§4).
66
+ *
67
+ * The platform writes a row after EVERY call it makes on a thread, priced
68
+ * by the runtime's pricer before it gets here. An implementation stores the
69
+ * row as given; it never prices anything itself. */
65
70
  usage: {
66
71
  record(threadId: string, usage: NewUsage, ctx: StorageContext): Promise<void>;
67
- /** Every recorded segment for the thread, summed (§4). A thread with no
68
- * usage rows yet returns zeroes, never null. */
69
- total(threadId: string, ctx: StorageContext): Promise<UsageTotals>;
72
+ /** Recorded calls, summed: tokens and money (§4). An empty filter sums
73
+ * the whole thread; `{ runId }` sums one dispatched run, nested runs
74
+ * included, which is what a settle hook bills from.
75
+ *
76
+ * The result also carries `lines`: the same spend grouped by agent and
77
+ * model, so one call serves the thread header, the settle hook and the
78
+ * admin reads alike. A thread with no usage rows yet returns zeroes,
79
+ * never null. `unpriced` counts the calls with no cost on them, so a
80
+ * reader can tell "nothing was spent" apart from "nothing was priced". */
81
+ total(threadId: string, filter: UsageFilter, ctx: StorageContext): Promise<UsageTotals>;
70
82
  };
71
83
  }
72
84
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/ports/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;6DAW6D;AAC7D,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE;QACP,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACtF,qDAAqD;QACrD,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACtF;;4EAEoE;QACpE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D;;0EAEkE;QAClE,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,OAAO,CAAC,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACxF;;;;;4EAKoE;QACpE,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,SAAS,EAC7C,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzB;;;;;;;6EAOqE;QACrE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACvF,CAAC;IACF,MAAM,EAAE;QACN,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAChF,wEAAwE;QACxE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1F,kEAAkE;QAClE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACxF;;kDAE0C;QAC1C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;KACxF,CAAC;IACF,KAAK,EAAE;QACL,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9E;yDACiD;QACjD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;KACpE,CAAC;CACH"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/ports/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { Pricer } from './ports/runtime.js';
2
+ /** The currency the shipped pricers use unless told otherwise. */
3
+ export declare const USD = "USD";
4
+ /** What one model costs, per MILLION tokens, in the table's currency. A price
5
+ * of 3 for input means $3.00 per million input tokens, which is how every
6
+ * provider publishes them, so a price list can be typed straight off their
7
+ * pricing page. */
8
+ export interface ModelPrice {
9
+ inputPerMillion?: number;
10
+ cacheReadPerMillion?: number;
11
+ cacheWritePerMillion?: number;
12
+ outputPerMillion?: number;
13
+ /** Usually 0. Most providers already count reasoning tokens inside the
14
+ * output count, so charging them again here bills the same tokens twice.
15
+ * Set it only when your provider reports reasoning tokens SEPARATELY from
16
+ * output. */
17
+ reasoningPerMillion?: number;
18
+ }
19
+ /** A price list keyed by model: the registry key a run asked for
20
+ * ('claude-sonnet-4@high'), or the wire id `resolveModel` declared
21
+ * ('claude-sonnet-4-20250514'). Both work — a lookup tries them in that
22
+ * order, then the registry key with any '@variant' suffix removed. */
23
+ export type PriceTable = Record<string, ModelPrice>;
24
+ /** Find a model's price, trying the registry key, the wire id, then the
25
+ * registry key without its '@variant' suffix. */
26
+ export declare function lookupPrice(prices: PriceTable, model?: string | null, modelId?: string | null): ModelPrice | undefined;
27
+ /** A price-list pricer (§4).
28
+ *
29
+ * A model the table does not know is not priced. Its row is stored with no
30
+ * cost and `UsageTotals.unpriced` counts it, so a missing price shows up as
31
+ * a gap in the bill rather than as a silent zero. */
32
+ export declare function table(prices: PriceTable, currency?: string): Pricer;
33
+ /** Pulls a cost out of what the provider attached to the finish: a gateway
34
+ * receipt, a billing header, whatever your provider sends. Return null when
35
+ * this call carried no receipt, and the next pricer in a chain gets its
36
+ * turn. */
37
+ export type ReceiptReader = (meta: Record<string, unknown>) => number | null;
38
+ /** Price a call from the number the provider already computed.
39
+ *
40
+ * This is the most accurate pricer there is: no price list to keep in step
41
+ * with a provider's changes, and discounts and gateway markups are already
42
+ * inside the figure. */
43
+ export declare function receipt(read: ReceiptReader, currency?: string): Pricer;
44
+ /** Try each pricer in order and take the first answer. Put the accurate one
45
+ * first and the fallback last:
46
+ *
47
+ * chain(
48
+ * receipt(gatewayReceiptMicros), // the real figure, when sent
49
+ * table(priceList), // otherwise the price list
50
+ * )
51
+ *
52
+ * A pricer that throws is skipped rather than believed. If none answers,
53
+ * chain rethrows the first error it saw, or returns null when they simply
54
+ * had nothing to say. */
55
+ export declare function chain(...pricers: Array<Pricer | undefined>): Pricer;
56
+ /** Price every call the same, whatever the model. Useful for a credit system
57
+ * that charges per call rather than per token, and for tests. */
58
+ export declare function fixed(micros: number, currency?: string): Pricer;
59
+ /** Convert a currency amount to micros: `micros(0.25)` is 250_000. */
60
+ export declare const micros: (amount: number) => number;
61
+ /** Convert micros back to a currency amount: `amount(250_000)` is 0.25. */
62
+ export declare const amount: (m: number) => number;
63
+ /** Render micros for a human: '0.2500 USD'. Display only; never do arithmetic
64
+ * on the string. */
65
+ export declare const format: (m: number, currency?: string) => string;
66
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,kEAAkE;AAClE,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB;;;oBAGoB;AACpB,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;kBAGc;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;uEAGuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEpD;kDACkD;AAClD,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,UAAU,GAAG,SAAS,CAKxB;AAED;;;;sDAIsD;AACtD,wBAAgB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAY,GAAG,MAAM,CAiBxE;AAED;;;YAGY;AACZ,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC;AAE7E;;;;yBAIyB;AACzB,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,GAAE,MAAY,GAAG,MAAM,CAU3E;AAED;;;;;;;;;;0BAU0B;AAC1B,wBAAgB,KAAK,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAiBnE;AAED;kEACkE;AAClE,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY,GAAG,MAAM,CAEpE;AAED,sEAAsE;AACtE,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,KAAG,MAAwC,CAAC;AAEjF,2EAA2E;AAC3E,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,KAAG,MAAuB,CAAC;AAE3D;qBACqB;AACrB,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,WAAU,MAAY,KAAG,MACpB,CAAC"}
@@ -0,0 +1,98 @@
1
+ /** The currency the shipped pricers use unless told otherwise. */
2
+ export const USD = 'USD';
3
+ /** Find a model's price, trying the registry key, the wire id, then the
4
+ * registry key without its '@variant' suffix. */
5
+ export function lookupPrice(prices, model, modelId) {
6
+ if (model && prices[model])
7
+ return prices[model];
8
+ if (modelId && prices[modelId])
9
+ return prices[modelId];
10
+ const base = model?.split('@')[0];
11
+ return base && base !== model ? prices[base] : undefined;
12
+ }
13
+ /** A price-list pricer (§4).
14
+ *
15
+ * A model the table does not know is not priced. Its row is stored with no
16
+ * cost and `UsageTotals.unpriced` counts it, so a missing price shows up as
17
+ * a gap in the bill rather than as a silent zero. */
18
+ export function table(prices, currency = USD) {
19
+ return {
20
+ price(u) {
21
+ const p = lookupPrice(prices, u.model, u.modelId);
22
+ if (!p)
23
+ return null;
24
+ // tokens / 1_000_000 × pricePerMillion is the cost in currency units,
25
+ // and micros is that × 1_000_000. The two cancel: tokens ×
26
+ // pricePerMillion IS the micro-unit cost, with no scaling in between.
27
+ const micros = u.inputTokens * (p.inputPerMillion ?? 0) +
28
+ u.cacheReadInputTokens * (p.cacheReadPerMillion ?? 0) +
29
+ u.cacheWriteInputTokens * (p.cacheWritePerMillion ?? 0) +
30
+ u.outputTokens * (p.outputPerMillion ?? 0) +
31
+ u.reasoningTokens * (p.reasoningPerMillion ?? 0);
32
+ return { micros: Math.round(micros), currency, source: 'table' };
33
+ },
34
+ };
35
+ }
36
+ /** Price a call from the number the provider already computed.
37
+ *
38
+ * This is the most accurate pricer there is: no price list to keep in step
39
+ * with a provider's changes, and discounts and gateway markups are already
40
+ * inside the figure. */
41
+ export function receipt(read, currency = USD) {
42
+ return {
43
+ price(u) {
44
+ if (!u.providerMetadata)
45
+ return null;
46
+ const micros = read(u.providerMetadata);
47
+ return micros === null || micros === undefined
48
+ ? null
49
+ : { micros, currency, source: 'receipt' };
50
+ },
51
+ };
52
+ }
53
+ /** Try each pricer in order and take the first answer. Put the accurate one
54
+ * first and the fallback last:
55
+ *
56
+ * chain(
57
+ * receipt(gatewayReceiptMicros), // the real figure, when sent
58
+ * table(priceList), // otherwise the price list
59
+ * )
60
+ *
61
+ * A pricer that throws is skipped rather than believed. If none answers,
62
+ * chain rethrows the first error it saw, or returns null when they simply
63
+ * had nothing to say. */
64
+ export function chain(...pricers) {
65
+ return {
66
+ async price(u) {
67
+ let firstError;
68
+ for (const p of pricers) {
69
+ if (!p)
70
+ continue;
71
+ try {
72
+ const cost = await p.price(u);
73
+ if (cost)
74
+ return cost;
75
+ }
76
+ catch (err) {
77
+ firstError ??= err;
78
+ }
79
+ }
80
+ if (firstError !== undefined)
81
+ throw firstError;
82
+ return null;
83
+ },
84
+ };
85
+ }
86
+ /** Price every call the same, whatever the model. Useful for a credit system
87
+ * that charges per call rather than per token, and for tests. */
88
+ export function fixed(micros, currency = USD) {
89
+ return { price: () => ({ micros, currency, source: 'table' }) };
90
+ }
91
+ /** Convert a currency amount to micros: `micros(0.25)` is 250_000. */
92
+ export const micros = (amount) => Math.round(amount * 1_000_000);
93
+ /** Convert micros back to a currency amount: `amount(250_000)` is 0.25. */
94
+ export const amount = (m) => m / 1_000_000;
95
+ /** Render micros for a human: '0.2500 USD'. Display only; never do arithmetic
96
+ * on the string. */
97
+ export const format = (m, currency = USD) => `${amount(m).toFixed(4)} ${currency}`;
98
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EAMT,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAY5B;qEACqE;AACrE,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CA6M7E"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EAMT,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAa5B;qEACqE;AACrE,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAkN7E"}
package/dist/runtime.js CHANGED
@@ -8,6 +8,7 @@ import { openDefaultAdminStore } from './admin/default.js';
8
8
  import { reclaimIfOrphaned } from './core/reclaim.js';
9
9
  import { respond } from './core/hitl.js';
10
10
  import { deleteThread } from './core/deleteThread.js';
11
+ import { publishEvent } from './core/publish.js';
11
12
  /** Bind the ports to the core behaviors (§3.3). This is the package's public
12
13
  * entry point — the only place where anything is wired together. */
13
14
  export async function setupAgentCore(opts) {
@@ -19,13 +20,15 @@ export async function setupAgentCore(opts) {
19
20
  // cannot be opened is a startup error you see immediately, rather than a
20
21
  // surprise on the first run — and losing run history silently looks exactly
21
22
  // like having no traffic.
22
- const admin = opts.admin ?? (await openDefaultAdminStore());
23
+ const admin = opts.admin ?? (await openDefaultAdminStore(opts.log));
23
24
  const shared = {
24
25
  admin,
25
26
  bus: opts.bus,
26
27
  queue: opts.queue,
27
28
  kv: opts.kv,
28
29
  resolveModel: (modelName) => opts.resolveModel(modelName),
30
+ pricer: opts.pricer,
31
+ log: opts.log,
29
32
  config: resolveConfig(opts.config),
30
33
  };
31
34
  /** Ports for ONE run: the caller's storage with that run's state bound, so
@@ -109,7 +112,7 @@ export async function setupAgentCore(opts) {
109
112
  if (!thread)
110
113
  return null;
111
114
  const [tokens, context] = await Promise.all([
112
- deps.storage.usage.total(threadId),
115
+ deps.storage.usage.total(threadId, {}),
113
116
  contextUsage(deps, threadId, thread.model),
114
117
  ]);
115
118
  return { tokens, context, model: thread.model };
@@ -136,6 +139,7 @@ export async function setupAgentCore(opts) {
136
139
  // seq-0 notice through without moving it (§2.2).
137
140
  follow: (threadId, options = {}) => followEvents(scope(options.state), threadId, options),
138
141
  sse: (threadId, options = {}) => toSseStream(followEvents(scope(options.state), threadId, options), options),
142
+ publishEvent: (threadId, type, payload, options = {}) => publishEvent(scope(options.state), threadId, type, payload, options),
139
143
  },
140
144
  createStreamTextAgent: (spec) => {
141
145
  const handle = register(spec.name, 'stream-text', spec);
@@ -166,6 +170,7 @@ export async function setupAgentCore(opts) {
166
170
  state: job.state,
167
171
  model: job.model,
168
172
  tokenBudget: job.tokenBudget,
173
+ costBudgetMicros: job.costBudgetMicros,
169
174
  providerOptions: job.providerOptions,
170
175
  });
171
176
  return { accepted: true };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentenkit",
3
- "version": "0.1.5",
3
+ "version": "0.2.0",
4
4
  "description": "Durable runtime for AI agent runs \u2014 a platform-owned loop, queue-dispatched execution that outlives the request, HITL suspension, nested runs, and context compaction. Bring your own storage, queue, bus and kv via four ports.",
5
5
  "license": "MIT",
6
6
  "repository": {