@adonis-agora/agent 0.69.0 → 0.70.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 (47) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +6 -0
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/src/agent-loop.d.ts.map +1 -1
  6. package/dist/src/agent-loop.js +3 -13
  7. package/dist/src/agent-loop.js.map +1 -1
  8. package/dist/src/engine.d.ts +6 -0
  9. package/dist/src/engine.d.ts.map +1 -1
  10. package/dist/src/engine.js.map +1 -1
  11. package/dist/src/index.d.ts +2 -1
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +2 -1
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/opencode/durable/workflow.d.ts.map +1 -1
  16. package/dist/src/opencode/durable/workflow.js +12 -5
  17. package/dist/src/opencode/durable/workflow.js.map +1 -1
  18. package/dist/src/opencode/engine.d.ts.map +1 -1
  19. package/dist/src/opencode/engine.js +2 -0
  20. package/dist/src/opencode/engine.js.map +1 -1
  21. package/dist/src/opencode/host.d.ts +7 -6
  22. package/dist/src/opencode/host.d.ts.map +1 -1
  23. package/dist/src/opencode/host.js.map +1 -1
  24. package/dist/src/opencode/index.d.ts +1 -1
  25. package/dist/src/opencode/index.d.ts.map +1 -1
  26. package/dist/src/opencode/index.js +1 -1
  27. package/dist/src/opencode/index.js.map +1 -1
  28. package/dist/src/opencode/runner.d.ts.map +1 -1
  29. package/dist/src/opencode/runner.js +9 -5
  30. package/dist/src/opencode/runner.js.map +1 -1
  31. package/dist/src/opencode/turn.d.ts +69 -8
  32. package/dist/src/opencode/turn.d.ts.map +1 -1
  33. package/dist/src/opencode/turn.js +149 -36
  34. package/dist/src/opencode/turn.js.map +1 -1
  35. package/dist/src/opencode/turns.d.ts +54 -9
  36. package/dist/src/opencode/turns.d.ts.map +1 -1
  37. package/dist/src/opencode/turns.js +83 -30
  38. package/dist/src/opencode/turns.js.map +1 -1
  39. package/dist/src/pricing/bedrock.d.ts +1 -1
  40. package/dist/src/pricing/bedrock.d.ts.map +1 -1
  41. package/dist/src/pricing/bedrock.js +32 -1
  42. package/dist/src/pricing/bedrock.js.map +1 -1
  43. package/dist/src/pricing/resolve.d.ts +60 -0
  44. package/dist/src/pricing/resolve.d.ts.map +1 -0
  45. package/dist/src/pricing/resolve.js +162 -0
  46. package/dist/src/pricing/resolve.js.map +1 -0
  47. package/package.json +1 -1
@@ -0,0 +1,162 @@
1
+ import { estimateCost, resolveModelPrice, } from '../spi/pricing-store.js';
2
+ import { awsPartitionOfRegion, bedrockPriceCandidates, builtinBedrockPrice, isBedrockModel, parseBedrockModelId, } from './bedrock.js';
3
+ import { CATALOG_TIMEOUT_MS, ensureModelPricing, normalizePriceEntries, } from './boot-pricing.js';
4
+ import { lookupModelsDevPricesEach, modelsDevRefsFor } from './models-dev.js';
5
+ /**
6
+ * The cost a usage row persists: the provider's figure (`'provider'`), else the estimate off the
7
+ * model's price row (`'estimate'`), else nothing (`cost_usd` NULL). The one rule every engine
8
+ * records usage by, so the ledger, a USD quota and the message carry the same figure.
9
+ */
10
+ export function resolveUsageCost(usage, reportedCostUsd, price) {
11
+ if (reportedCostUsd !== undefined)
12
+ return { costUsd: reportedCostUsd, costSource: 'provider' };
13
+ if (price === undefined)
14
+ return {};
15
+ return { costUsd: estimateCost(usage, { ...price, effectiveFrom: '' }), costSource: 'estimate' };
16
+ }
17
+ const DEFAULT_CACHE_MS = 60_000;
18
+ /**
19
+ * The price of a model an engine only learns about at run time (OpenCode reports the model each step
20
+ * ran on), resolved the way boot pricing does it for configured models:
21
+ *
22
+ * 1. the pricing store's current row (by the id, then its normalized Bedrock candidates);
23
+ * 2. once per model and process, the boot seed (`ensureModelPricing`): the app's
24
+ * `priceCatalog.prices`, then the built-in GovCloud Bedrock table, then models.dev — written to
25
+ * the store as a row, so the dashboard and a later run read the same price;
26
+ * 3. without a pricing store, the same three sources, kept in memory.
27
+ *
28
+ * Never throws: pricing is bookkeeping, and an unpriced step is recorded without a cost.
29
+ */
30
+ export class ModelPriceResolver {
31
+ options;
32
+ rows;
33
+ rowsAt = 0;
34
+ seeded = new Map();
35
+ constructor(options = {}) {
36
+ this.options = options;
37
+ }
38
+ async priceFor(model) {
39
+ const ids = [...new Set([model.modelId, ...(model.aliases ?? [])])].filter(Boolean);
40
+ try {
41
+ const found = matchIn(await this.currentRows(), ids);
42
+ if (found !== undefined)
43
+ return found;
44
+ const key = `${model.provider ?? ''}|${ids.join('|')}`;
45
+ let seeding = this.seeded.get(key);
46
+ if (seeding === undefined) {
47
+ seeding = this.seed(ids, model.provider);
48
+ this.seeded.set(key, seeding);
49
+ }
50
+ return await seeding;
51
+ }
52
+ catch {
53
+ return undefined;
54
+ }
55
+ }
56
+ catalog() {
57
+ const catalog = this.options.catalog;
58
+ if (catalog !== undefined)
59
+ return catalog;
60
+ // As boot pricing: no network catalog in tests unless the app asked for one.
61
+ return env('NODE_ENV') === 'test' ? { modelsDev: false } : {};
62
+ }
63
+ async currentRows(force = false) {
64
+ const store = this.options.pricingStore;
65
+ if (store === undefined)
66
+ return new Map();
67
+ const ttl = this.options.cacheMs ?? DEFAULT_CACHE_MS;
68
+ if (force || this.rows === undefined || Date.now() - this.rowsAt > ttl) {
69
+ const rows = await store.listCurrentPrices();
70
+ this.rows = new Map(rows.map((row) => [row.modelId, row]));
71
+ this.rowsAt = Date.now();
72
+ }
73
+ return this.rows;
74
+ }
75
+ async seed(ids, provider) {
76
+ const store = this.options.pricingStore;
77
+ const catalog = this.catalog();
78
+ if (store === undefined)
79
+ return this.inMemory(ids, provider, catalog);
80
+ // A label that wraps a Bedrock id (`amazon-bedrock/us-gov.…`) does not say its partition, so it
81
+ // would be looked up as a commercial model: only the Bedrock-shaped ids are seeded then.
82
+ const bedrock = ids.filter((id) => parseBedrockModelId(id) !== undefined);
83
+ const seedIds = bedrock.length > 0 ? bedrock : ids;
84
+ // The boot seed, for this model only. Its "no cost will be recorded" warning names every id it
85
+ // was given, so it is held back until it is known that none of them got a price.
86
+ const warnings = [];
87
+ await ensureModelPricing({
88
+ models: seedIds.map((modelId) => ({
89
+ modelId,
90
+ ...(provider !== undefined ? { provider } : {}),
91
+ reportsCost: false,
92
+ })),
93
+ pricingStore: store,
94
+ catalog,
95
+ log: {
96
+ info: (message) => this.options.log?.info(message),
97
+ warn: (message) => warnings.push(message),
98
+ },
99
+ });
100
+ const found = matchIn(await this.currentRows(true), ids);
101
+ if (found === undefined)
102
+ for (const message of warnings)
103
+ this.options.log?.warn(message);
104
+ return found;
105
+ }
106
+ /** No pricing store: the app's prices, the built-in Bedrock table, then models.dev. */
107
+ async inMemory(ids, provider, catalog) {
108
+ const options = catalog === false ? undefined : catalog;
109
+ const app = matchIn(normalizePriceEntries(options?.prices ?? [], this.options.log), ids);
110
+ if (app !== undefined)
111
+ return app;
112
+ const region = options?.region ?? env('AWS_REGION') ?? env('AWS_DEFAULT_REGION');
113
+ const bedrock = ids.filter((id) => isBedrockModel(id, provider));
114
+ const partition = bedrock.map((id) => parseBedrockModelId(id)?.partition).find((p) => p !== undefined) ??
115
+ (bedrock.length > 0 ? awsPartitionOfRegion(region) : undefined);
116
+ if (partition !== undefined && partition !== 'aws') {
117
+ // Never models.dev here: its Bedrock prices are the commercial ones.
118
+ for (const id of bedrock) {
119
+ const price = builtinBedrockPrice(id, partition);
120
+ if (price !== undefined)
121
+ return { ...price, modelId: ids[0] };
122
+ }
123
+ return undefined;
124
+ }
125
+ if (options === undefined || options.modelsDev === false)
126
+ return undefined;
127
+ const { prices: _p, region: _r, modelsDev: _m, ...modelsDev } = options;
128
+ const refs = [...new Set(ids.flatMap((id) => modelsDevRefsFor(id, provider)))];
129
+ const [price] = await lookupModelsDevPricesEach([refs], modelsDev.signal !== undefined
130
+ ? modelsDev
131
+ : { ...modelsDev, signal: AbortSignal.timeout(CATALOG_TIMEOUT_MS) });
132
+ return price !== undefined ? { ...price, modelId: ids[0] } : undefined;
133
+ }
134
+ }
135
+ /** The first price for any of `ids`: exact, then its normalized Bedrock candidates. */
136
+ function matchIn(prices, ids) {
137
+ for (const id of ids) {
138
+ const exact = prices.get(id);
139
+ if (exact !== undefined)
140
+ return exact;
141
+ }
142
+ const rows = new Map([...prices].map(([id, p]) => [id, { ...p, effectiveFrom: '' }]));
143
+ for (const id of ids) {
144
+ const price = resolveModelPrice(rows, id);
145
+ if (price !== undefined)
146
+ return price;
147
+ }
148
+ for (const id of ids) {
149
+ for (const candidate of bedrockPriceCandidates(id)) {
150
+ const price = prices.get(candidate);
151
+ if (price !== undefined)
152
+ return price;
153
+ }
154
+ }
155
+ return undefined;
156
+ }
157
+ function env(name) {
158
+ const value = globalThis.process
159
+ ?.env?.[name];
160
+ return value !== undefined && value.length > 0 ? value : undefined;
161
+ }
162
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/pricing/resolve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/agent",
3
- "version": "0.69.0",
3
+ "version": "0.70.0",
4
4
  "description": "Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {