@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
@@ -3,12 +3,14 @@ import { streamErrorFrame } from '../agent-loop.js';
3
3
  import { isThreadTurn } from '../chat-queue-service.js';
4
4
  import { RUN_ENDED_BEFORE_TOOL_CALL } from '../dangling-tool-calls.js';
5
5
  import { buildMemoryBlock, offerMemories } from '../memory.js';
6
+ import { parseBedrockModelId } from '../pricing/bedrock.js';
7
+ import { ModelPriceResolver, resolveUsageCost } from '../pricing/resolve.js';
6
8
  import { offerSkills } from '../skills.js';
7
9
  import { DefaultApprovalPolicy } from '../spi/approval-policy.js';
8
10
  import { isChatQueueStore, releaseThreadRun } from '../spi/chat-queue.js';
9
11
  import { OpenCodeEventHub } from './event-hub.js';
10
12
  import { errorText, openCodeLog } from './log.js';
11
- import { OpenCodeTurn } from './turn.js';
13
+ import { emptyUsage, OpenCodeTurn, } from './turn.js';
12
14
  const DEFAULT_TURN_TIMEOUT_MS = 30 * 60_000;
13
15
  const DEFAULT_TOOLS_TTL_MS = 7 * 24 * 60 * 60_000;
14
16
  /** Tool kinds the LOOP serves (delegation, `ask`, `skill`, `remember`): never served over MCP. */
@@ -49,6 +51,30 @@ export class OpenCodeTurns {
49
51
  this.registry = deps.registry;
50
52
  this.queue = deps.queue;
51
53
  this.mintToolsToken = deps.mintToolsToken;
54
+ this.prices = new ModelPriceResolver({
55
+ pricingStore: deps.pricingStore,
56
+ catalog: deps.priceCatalog,
57
+ log: {
58
+ info: (message) => openCodeLog.info(message),
59
+ warn: (message) => openCodeLog.warn(message),
60
+ },
61
+ });
62
+ }
63
+ prices;
64
+ /**
65
+ * What a model call OpenCode made cost, by the same rule the library's loop records its own steps
66
+ * at: a reported figure wins, else an estimate off the model's price — see
67
+ * {@link OpenCodeEngineSettings.cost}.
68
+ */
69
+ async priceStep(step) {
70
+ const { model, usage, reportedCostUsd } = step;
71
+ const tokens = usage.inputTokens + usage.outputTokens;
72
+ const reported = reportedCostUsd !== undefined && (reportedCostUsd > 0 || tokens === 0);
73
+ if (reported && this.settings.cost !== 'estimate') {
74
+ return resolveUsageCost(usage, reportedCostUsd, undefined);
75
+ }
76
+ const price = model !== undefined && tokens > 0 ? await this.prices.priceFor(priceRef(model)) : undefined;
77
+ return resolveUsageCost(usage, price === undefined ? reportedCostUsd : undefined, price);
52
78
  }
53
79
  /** The tools server's name in OpenCode. */
54
80
  get toolsServer() {
@@ -521,8 +547,8 @@ export class OpenCodeTurns {
521
547
  }
522
548
  // ---- prompt / observe / reply ----------------------------------------------------------------
523
549
  /** Start listening to the session (so nothing it says is missed), then send the user message. */
524
- async prompt(runId, input, handle) {
525
- const live = await this.ensureLive(runId, input, handle, false);
550
+ async prompt(runId, input, handle, spent) {
551
+ const live = await this.ensureLive(runId, input, handle, false, spent);
526
552
  try {
527
553
  const prompt = (await this.host.promptFor?.({
528
554
  input,
@@ -548,9 +574,12 @@ export class OpenCodeTurns {
548
574
  * Wait for the turn's next milestone. In a process that was not following the turn (a resumed
549
575
  * durable run), the turn is rebuilt and first catches up on requests OpenCode raised meanwhile;
550
576
  * `session.wait` is the safety net for a terminal event that was missed.
577
+ *
578
+ * `spent` is what the run spent before (the sum of the `usage` of its earlier milestones): a turn
579
+ * rebuilt here starts from it, so the answer it persists carries the whole run's usage.
551
580
  */
552
- async observe(runId, input, handle) {
553
- const live = await this.ensureLive(runId, input, handle, true);
581
+ async observe(runId, input, handle, spent) {
582
+ const live = await this.ensureLive(runId, input, handle, true, spent);
554
583
  const { turn, client } = live;
555
584
  if (turn.hasMilestone())
556
585
  return this.reached(runId, input, handle, await turn.next());
@@ -598,16 +627,16 @@ export class OpenCodeTurns {
598
627
  * request is gone with it: a new session is opened, told what the person decided, and prompted
599
628
  * to go on.
600
629
  */
601
- async reply(runId, input, handle, ask, reply) {
630
+ async reply(runId, input, handle, ask, reply, spent) {
602
631
  const server = await this.host.server(input.actor);
603
632
  if (server.key !== handle.serverKey || server.bootId !== handle.bootId) {
604
- return this.continueAfterRestart(runId, input, server, ask, reply);
633
+ return this.continueAfterRestart(runId, input, server, ask, reply, spent);
605
634
  }
606
- const live = await this.ensureLive(runId, input, handle, false);
635
+ const live = await this.ensureLive(runId, input, handle, false, spent);
607
636
  await live.turn.decide(ask, reply);
608
637
  return handle;
609
638
  }
610
- async continueAfterRestart(runId, input, server, ask, reply) {
639
+ async continueAfterRestart(runId, input, server, ask, reply, spent) {
611
640
  const approved = 'approved' in reply && reply.approved === true;
612
641
  const note = ask.kind === 'approval'
613
642
  ? approved
@@ -618,7 +647,7 @@ export class OpenCodeTurns {
618
647
  const handle = await this.createSession(runId, input, server, thread?.messages ?? [], note);
619
648
  await this.refreshInstructions(runId, input, server.client, handle.sessionId);
620
649
  this.drop(runId);
621
- const live = await this.ensureLive(runId, input, handle, false);
650
+ const live = await this.ensureLive(runId, input, handle, false, spent);
622
651
  // The old request's card settles as decided; OpenCode is told in the note.
623
652
  await live.turn.decide(ask, reply, { tellOpenCode: false });
624
653
  await live.client.session.prompt({ sessionID: handle.sessionId, text: note });
@@ -634,7 +663,7 @@ export class OpenCodeTurns {
634
663
  return;
635
664
  await server.client.session.interrupt({ sessionID: known.sessionId });
636
665
  }
637
- async ensureLive(runId, input, handle, catchUp) {
666
+ async ensureLive(runId, input, handle, catchUp, spent) {
638
667
  const current = this.live.get(runId);
639
668
  if (current !== undefined && current.handle.sessionId === handle.sessionId)
640
669
  return current;
@@ -656,6 +685,8 @@ export class OpenCodeTurns {
656
685
  ...(input.agentName !== undefined ? { agentName: input.agentName } : {}),
657
686
  }),
658
687
  modelLabel: input.model ?? 'opencode',
688
+ priceStep: (step) => this.priceStep(step),
689
+ ...(spent !== undefined ? { carried: spent } : {}),
659
690
  onGranted: (action, id) => {
660
691
  const grants = this.grants.get(runId) ?? [];
661
692
  grants.push({ action, id });
@@ -687,16 +718,14 @@ export class OpenCodeTurns {
687
718
  }
688
719
  return milestone;
689
720
  }
690
- /** What the run produced, as the host's settle hooks see it. */
691
- async runResult(runId, input, outcome, durationMs) {
721
+ /**
722
+ * What the run produced, as the host's settle hooks see it. `usage` is what the run spent — the
723
+ * runner's sum of its milestones' usage, which a resumed run reads back from its journal — else
724
+ * what the turn this process follows saw.
725
+ */
726
+ async runResult(runId, input, outcome, durationMs, usage) {
692
727
  const thread = await this.store.getThread(input.threadId);
693
728
  const messages = (thread?.messages ?? []).filter((m) => m.role === 'assistant' && m.runId === runId);
694
- const usage = { inputTokens: 0, outputTokens: 0, costUsd: 0 };
695
- for (const m of messages) {
696
- usage.inputTokens += m.usage?.inputTokens ?? 0;
697
- usage.outputTokens += m.usage?.outputTokens ?? 0;
698
- usage.costUsd += m.usage?.costUsd ?? 0;
699
- }
700
729
  return {
701
730
  runId,
702
731
  input,
@@ -750,16 +779,27 @@ export class OpenCodeTurns {
750
779
  this.spent.delete(grant.id);
751
780
  this.grants.delete(runId);
752
781
  }
753
- /** End the run's stream and bookkeeping for how its execution ended. */
754
- async settle(runId, input, outcome, durationMs) {
782
+ /**
783
+ * What the run spent. The turn this process follows starts from the runner's sum of the earlier
784
+ * milestones and adds every call it saw since, so it is never behind that sum — and ahead of it for
785
+ * a run that failed or was cancelled between two milestones. Without one, the runner's sum.
786
+ */
787
+ spentBy(runId, spent) {
788
+ return this.live.get(runId)?.turn.totalUsage() ?? spent ?? emptyUsage();
789
+ }
790
+ /**
791
+ * End the run's stream and bookkeeping for how its execution ended. `spent` is what the run spent
792
+ * (the sum of its milestones' `usage`); omit → what the turn this process follows saw.
793
+ */
794
+ async settle(runId, input, outcome, durationMs, spent) {
755
795
  if (outcome.status === 'failed') {
756
- await this.settleFailed(runId, input, outcome.error, durationMs);
796
+ await this.settleFailed(runId, input, outcome.error, durationMs, spent);
757
797
  return;
758
798
  }
759
- const totals = this.live.get(runId)?.turn.totals();
799
+ const usage = this.spentBy(runId, spent);
760
800
  this.forget(runId);
761
801
  const writer = await this.sink.open(runId);
762
- const result = await this.runResult(runId, input, outcome, durationMs);
802
+ const result = await this.runResult(runId, input, outcome, durationMs, usage);
763
803
  await this.amend(writer, result);
764
804
  if (outcome.status === 'interrupted') {
765
805
  await this.store.recordRunEnd({ runId, status: 'cancelled' });
@@ -774,10 +814,10 @@ export class OpenCodeTurns {
774
814
  runId,
775
815
  status: 'completed',
776
816
  finishedAt: Date.now(),
777
- stepCount: totals?.steps ?? 0,
778
- inputTokens: totals?.inputTokens ?? result.usage.inputTokens,
779
- outputTokens: totals?.outputTokens ?? result.usage.outputTokens,
780
- ...(totals?.costUsd !== undefined ? { costUsd: totals.costUsd } : {}),
817
+ stepCount: usage.steps,
818
+ inputTokens: usage.inputTokens,
819
+ outputTokens: usage.outputTokens,
820
+ ...(usage.costUsd > 0 ? { costUsd: usage.costUsd } : {}),
781
821
  });
782
822
  await this.handoff(writer, input, runId, 'completed');
783
823
  await releaseThreadRun(this.store, input.threadId, runId);
@@ -785,10 +825,11 @@ export class OpenCodeTurns {
785
825
  }
786
826
  await this.settled(result);
787
827
  }
788
- async settleFailed(runId, input, error, durationMs = 0) {
828
+ async settleFailed(runId, input, error, durationMs = 0, spent) {
829
+ const usage = this.spentBy(runId, spent);
789
830
  this.forget(runId);
790
831
  const writer = await this.sink.open(runId);
791
- const result = await this.runResult(runId, input, { status: 'failed', error }, durationMs);
832
+ const result = await this.runResult(runId, input, { status: 'failed', error }, durationMs, usage);
792
833
  const worded = (await this.amend(writer, result)).error;
793
834
  await this.store.recordRunEnd({ runId, status: 'failed', error });
794
835
  await Promise.resolve(this.store.failUnsettledToolCalls?.(runId, RUN_ENDED_BEFORE_TOOL_CALL)).catch(() => 0);
@@ -864,4 +905,16 @@ function uiEmitter(scope, push) {
864
905
  return { id };
865
906
  };
866
907
  }
908
+ /**
909
+ * The ids a step's model is priced under: `provider/model` (what usage is recorded under), the bare
910
+ * model id, and — for a gateway that names a Bedrock model under its own path
911
+ * (`flip-gateway/<server>/us-gov.anthropic.…`) — the Bedrock id at its end.
912
+ */
913
+ function priceRef(model) {
914
+ const aliases = [model.id];
915
+ const tail = model.id.slice(model.id.lastIndexOf('/') + 1);
916
+ if (tail !== model.id && parseBedrockModelId(tail) !== undefined)
917
+ aliases.push(tail);
918
+ return { modelId: `${model.providerID}/${model.id}`, provider: model.providerID, aliases };
919
+ }
867
920
  //# sourceMappingURL=turns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"turns.js","sourceRoot":"","sources":["../../../src/opencode/turns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turns.js","sourceRoot":"","sources":["../../../src/opencode/turns.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ export declare function isBedrockModel(modelId: string, provider: string | undef
50
50
  */
51
51
  export declare function bedrockPriceCandidates(modelId: string): string[];
52
52
  /** Where the built-in prices below come from, for the log and the docs. */
53
- export declare const BEDROCK_BUILTIN_PRICES_SOURCE = "AWS Price List, AmazonBedrockFoundationModels, us-gov-west-1, published 2026-10-08 (on-demand, standard context)";
53
+ export declare const BEDROCK_BUILTIN_PRICES_SOURCE = "AWS Price List, us-gov-west-1: AmazonBedrockFoundationModels published 2026-10-08 (Anthropic), AmazonBedrock published 2026-10-06 (Amazon, Meta, OpenAI, NVIDIA, xAI) \u2014 on-demand, standard (in-region) tier, standard context";
54
54
  /**
55
55
  * Built-in Bedrock prices (USD per 1M tokens) for partitions models.dev does not cover, keyed by base
56
56
  * foundation-model id. Small and curated on purpose — it goes stale, so an app's own
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/pricing/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AAEH,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE3D,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,sGAAsG;IACtG,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yFAAyF;IACzF,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gHAAgH;IAChH,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IACpC,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAKzF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAiB/E;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGrF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQhE;AAED,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,qHAC0E,CAAC;AAErH;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CA4D1F,CAAC;AAEF,gGAAgG;AAChG,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,YAAY,GACtB,eAAe,GAAG,SAAS,CAQ7B"}
1
+ {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/pricing/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AAEH,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE3D,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,sGAAsG;IACtG,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yFAAyF;IACzF,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gHAAgH;IAChH,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IACpC,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAKzF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAiB/E;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGrF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQhE;AAED,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,wOACwL,CAAC;AAEnO;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CA2F1F,CAAC;AAEF,gGAAgG;AAChG,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,YAAY,GACtB,eAAe,GAAG,SAAS,CAQ7B"}
@@ -58,7 +58,7 @@ export function bedrockPriceCandidates(modelId) {
58
58
  return out;
59
59
  }
60
60
  /** Where the built-in prices below come from, for the log and the docs. */
61
- export const BEDROCK_BUILTIN_PRICES_SOURCE = 'AWS Price List, AmazonBedrockFoundationModels, us-gov-west-1, published 2026-10-08 (on-demand, standard context)';
61
+ export const BEDROCK_BUILTIN_PRICES_SOURCE = 'AWS Price List, us-gov-west-1: AmazonBedrockFoundationModels published 2026-10-08 (Anthropic), AmazonBedrock published 2026-10-06 (Amazon, Meta, OpenAI, NVIDIA, xAI) — on-demand, standard (in-region) tier, standard context';
62
62
  /**
63
63
  * Built-in Bedrock prices (USD per 1M tokens) for partitions models.dev does not cover, keyed by base
64
64
  * foundation-model id. Small and curated on purpose — it goes stale, so an app's own
@@ -124,6 +124,37 @@ export const BEDROCK_BUILTIN_PRICES = {
124
124
  cacheReadPricePer1m: 0.3,
125
125
  cacheWritePricePer1m: 15,
126
126
  },
127
+ // Amazon. Nova lists a cache-read price only (no cache-write price on the standard tier).
128
+ 'amazon.nova-micro-v1:0': {
129
+ inputPricePer1m: 0.042,
130
+ outputPricePer1m: 0.168,
131
+ cacheReadPricePer1m: 0.0105,
132
+ },
133
+ 'amazon.nova-lite-v1:0': {
134
+ inputPricePer1m: 0.072,
135
+ outputPricePer1m: 0.288,
136
+ cacheReadPricePer1m: 0.018,
137
+ },
138
+ 'amazon.nova-pro-v1:0': {
139
+ inputPricePer1m: 0.96,
140
+ outputPricePer1m: 3.84,
141
+ cacheReadPricePer1m: 0.24,
142
+ },
143
+ // An embedding model: input tokens only.
144
+ 'amazon.titan-embed-text-v2:0': { inputPricePer1m: 0.11, outputPricePer1m: 0 },
145
+ // Meta.
146
+ 'meta.llama3-8b-instruct-v1:0': { inputPricePer1m: 0.3, outputPricePer1m: 0.6 },
147
+ 'meta.llama3-70b-instruct-v1:0': { inputPricePer1m: 2.65, outputPricePer1m: 3.5 },
148
+ // OpenAI open-weight.
149
+ 'openai.gpt-oss-20b-1:0': { inputPricePer1m: 0.084, outputPricePer1m: 0.36 },
150
+ 'openai.gpt-oss-120b-1:0': { inputPricePer1m: 0.18, outputPricePer1m: 0.72 },
151
+ // NVIDIA.
152
+ 'nvidia.nemotron-nano-9b-v2': { inputPricePer1m: 0.072, outputPricePer1m: 0.276 },
153
+ 'nvidia.nemotron-nano-12b-v2': { inputPricePer1m: 0.24, outputPricePer1m: 0.72 },
154
+ 'nvidia.nemotron-nano-3-30b': { inputPricePer1m: 0.072, outputPricePer1m: 0.288 },
155
+ 'nvidia.nemotron-super-3-120b': { inputPricePer1m: 0.18, outputPricePer1m: 0.78 },
156
+ // xAI, in-region (`us-gov.`) tier.
157
+ 'xai.grok-4.6': { inputPricePer1m: 2.64, outputPricePer1m: 7.92, cacheReadPricePer1m: 0.66 },
127
158
  },
128
159
  };
129
160
  /** The built-in price for a Bedrock model in a non-commercial partition, keyed by `modelId`. */
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/pricing/bedrock.ts"],"names":[],"mappings":"AAsCA,MAAM,GAAG,GACP,mIAAmI,CAAC;AAEtI,iGAAiG;AACjG,MAAM,GAAG,GAAG,2DAA2D,CAAC;AAExE,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,MAA0B;IAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,YAAY,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9D,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,+BAA+B,CAAC;IAClE,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,GAAG,KAAK,SAAS;YACjB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GACZ,GAAG,EAAE,CAAC,CAAC,CAA8B;QACtC,oBAAoB,CAAC,MAAM,CAAC;QAC5B,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;AACrF,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,QAA4B;IAC1E,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACrC,KAAK,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GACxC,kHAAkH,CAAC;AAErH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B;IACF,YAAY,EAAE;QACZ,wCAAwC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE;QACzF,2CAA2C,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC3F,2CAA2C,EAAE;YAC3C,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,GAAG;SAC1B;QACD,2CAA2C,EAAE;YAC3C,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,GAAG;SAC1B;QACD,2BAA2B,EAAE;YAC3B,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,CAAC;SACxB;QACD,6BAA6B,EAAE;YAC7B,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,CAAC;SACxB;QACD,2BAA2B,EAAE;YAC3B,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,GAAG;YACxB,oBAAoB,EAAE,GAAG;SAC1B;QACD,yBAAyB,EAAE;YACzB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,GAAG;YACxB,oBAAoB,EAAE,GAAG;SAC1B;QACD,2BAA2B,EAAE;YAC3B,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,CAAC;SACxB;QACD,4BAA4B,EAAE;YAC5B,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,GAAG;YACrB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,4BAA4B,EAAE;YAC5B,eAAe,EAAE,EAAE;YACnB,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,GAAG;YACxB,oBAAoB,EAAE,EAAE;SACzB;KACF;CACF,CAAC;AAEF,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,SAAuB;IAEvB,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,KAAK,MAAM,SAAS,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/pricing/bedrock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { CostSource } from '../spi/agent-store.js';
2
+ import { type AgentPricingStore, type ModelPriceInput } from '../spi/pricing-store.js';
3
+ import type { MessageUsage } from '../types.js';
4
+ import { type BootPricingLog, type PriceCatalogOptions } from './boot-pricing.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 declare function resolveUsageCost(usage: MessageUsage, reportedCostUsd: number | undefined, price: ModelPriceInput | undefined): {
11
+ costUsd?: number;
12
+ costSource?: CostSource;
13
+ };
14
+ /** A model to price, as an engine knows it. */
15
+ export interface PricedModelRef {
16
+ /** The id usage is recorded under. */
17
+ modelId: string;
18
+ /** Its provider family (`amazon-bedrock`, `openai`, `openrouter`, …), when known. */
19
+ provider?: string;
20
+ /**
21
+ * Other ids the same model is known by, tried after `modelId` (e.g. the bare model id of a
22
+ * `provider/model` label, or the Bedrock id behind a gateway's alias).
23
+ */
24
+ aliases?: readonly string[];
25
+ }
26
+ export interface ModelPriceResolverOptions {
27
+ /** The configured pricing store (`pricingStore`). Omit → prices resolve in memory only. */
28
+ pricingStore?: AgentPricingStore | undefined;
29
+ /** `priceCatalog` in `config/agent.ts`; `false` → no app prices, never fetch models.dev. */
30
+ catalog?: PriceCatalogOptions | false | undefined;
31
+ log?: BootPricingLog;
32
+ /** How long the store's current prices are reused before they are read again. Default 60s. */
33
+ cacheMs?: number;
34
+ }
35
+ /**
36
+ * The price of a model an engine only learns about at run time (OpenCode reports the model each step
37
+ * ran on), resolved the way boot pricing does it for configured models:
38
+ *
39
+ * 1. the pricing store's current row (by the id, then its normalized Bedrock candidates);
40
+ * 2. once per model and process, the boot seed (`ensureModelPricing`): the app's
41
+ * `priceCatalog.prices`, then the built-in GovCloud Bedrock table, then models.dev — written to
42
+ * the store as a row, so the dashboard and a later run read the same price;
43
+ * 3. without a pricing store, the same three sources, kept in memory.
44
+ *
45
+ * Never throws: pricing is bookkeeping, and an unpriced step is recorded without a cost.
46
+ */
47
+ export declare class ModelPriceResolver {
48
+ private readonly options;
49
+ private rows;
50
+ private rowsAt;
51
+ private readonly seeded;
52
+ constructor(options?: ModelPriceResolverOptions);
53
+ priceFor(model: PricedModelRef): Promise<ModelPriceInput | undefined>;
54
+ private catalog;
55
+ private currentRows;
56
+ private seed;
57
+ /** No pricing store: the app's prices, the built-in Bedrock table, then models.dev. */
58
+ private inMemory;
59
+ }
60
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/pricing/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAG3B;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,CAI/C;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C,4FAA4F;IAC5F,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,CAAC;IAClD,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2D;IAElF,YAA6B,OAAO,GAAE,yBAA8B,EAAI;IAElE,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAe1E;IAED,OAAO,CAAC,OAAO;YAOD,WAAW;YAYX,IAAI;IA6BlB,uFAAuF;YACzE,QAAQ;CAgCvB"}