opencode-swarm 7.98.2 → 7.99.1

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 (46) hide show
  1. package/README.md +6 -3
  2. package/dist/agents/_prompt-helpers.d.ts +1 -0
  3. package/dist/cli/{config-doctor-7yrxfa6b.js → config-doctor-9fhfy6p7.js} +2 -2
  4. package/dist/cli/{evidence-summary-service-559nas1m.js → evidence-summary-service-gvd7mw7v.js} +5 -5
  5. package/dist/cli/{explorer-jc46negv.js → explorer-rwfvbbx5.js} +1 -1
  6. package/dist/cli/{gate-evidence-nphg8hay.js → gate-evidence-ywys9vfs.js} +4 -4
  7. package/dist/cli/guardrail-explain-6g1japmf.js +30 -0
  8. package/dist/cli/{guardrail-log-53z1cf46.js → guardrail-log-ya49kpwn.js} +3 -3
  9. package/dist/cli/{index-91qtsbce.js → index-3naa2ajc.js} +1 -1
  10. package/dist/cli/{index-a0dv2c7k.js → index-5fxjagjt.js} +1 -1
  11. package/dist/cli/{index-471qxz9g.js → index-7hnwnw5g.js} +11 -1
  12. package/dist/cli/{index-kv4dd5c5.js → index-9b7qp18e.js} +1 -1
  13. package/dist/cli/{index-72k57f21.js → index-brpm7xs3.js} +1157 -803
  14. package/dist/cli/{index-hb10a2g8.js → index-f7nma02k.js} +2 -2
  15. package/dist/cli/{index-gnd1280x.js → index-h9ptj4b1.js} +1 -1
  16. package/dist/cli/{index-yrzfbqqh.js → index-qcr60fgm.js} +29 -16
  17. package/dist/cli/{index-mh1ej70w.js → index-r8f89sm9.js} +2 -2
  18. package/dist/cli/{index-zy22fg5h.js → index-svf2zjxs.js} +5 -1
  19. package/dist/cli/{index-rvweaxsd.js → index-sy329dh4.js} +2 -2
  20. package/dist/cli/{index-xchgryg4.js → index-vn263hqt.js} +16 -2
  21. package/dist/cli/{index-fjxjb66n.js → index-vwyjkzgs.js} +3 -3
  22. package/dist/cli/{index-5z2e78tv.js → index-xsswhy6k.js} +1 -1
  23. package/dist/cli/{index-chan9mkv.js → index-xy3gw0rw.js} +17 -15
  24. package/dist/cli/{index-2a6ppa65.js → index-ydgy7vg5.js} +12 -7
  25. package/dist/cli/index.js +13 -13
  26. package/dist/cli/{knowledge-store-pa58msy5.js → knowledge-store-tsa8ezka.js} +4 -4
  27. package/dist/cli/{pending-delegations-8b2js1vq.js → pending-delegations-c785p5n2.js} +2 -2
  28. package/dist/cli/{pr-subscriptions-ttvr1ta9.js → pr-subscriptions-fqrzm0tv.js} +3 -3
  29. package/dist/cli/{schema-mygkbbe9.js → schema-nz638xc3.js} +5 -1
  30. package/dist/cli/{skill-generator-3tkwcg4x.js → skill-generator-99rrfwae.js} +5 -5
  31. package/dist/cli/{telemetry-aa1ma1dr.js → telemetry-jm7t8031.js} +1 -1
  32. package/dist/commands/costs.d.ts +4 -0
  33. package/dist/commands/index.d.ts +1 -0
  34. package/dist/commands/registry.d.ts +9 -2
  35. package/dist/config/evidence-schema.d.ts +44 -44
  36. package/dist/config/index.d.ts +2 -2
  37. package/dist/config/schema.d.ts +24 -0
  38. package/dist/evidence/manager.d.ts +5 -0
  39. package/dist/hooks/knowledge-migrator.d.ts +7 -0
  40. package/dist/index.js +3074 -2478
  41. package/dist/services/cost-accounting.d.ts +65 -0
  42. package/dist/telemetry.d.ts +2 -1
  43. package/dist/turbo/lean/conflicts.d.ts +2 -13
  44. package/dist/utils/path.d.ts +1 -0
  45. package/package.json +1 -1
  46. package/dist/cli/guardrail-explain-xktjjh53.js +0 -30
@@ -1,13 +1,13 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-kv4dd5c5.js";
4
+ } from "./index-9b7qp18e.js";
5
5
  import {
6
6
  readCachedParsedFile
7
7
  } from "./index-jtqkh8jf.js";
8
8
  import {
9
9
  require_proper_lockfile
10
- } from "./index-91qtsbce.js";
10
+ } from "./index-3naa2ajc.js";
11
11
  import {
12
12
  __toESM
13
13
  } from "./index-a76rekgs.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  redactPath,
4
4
  redactShellCommand
5
- } from "./index-5z2e78tv.js";
5
+ } from "./index-xsswhy6k.js";
6
6
 
7
7
  // src/services/guardrail-log-service.ts
8
8
  import * as fs from "fs/promises";
@@ -4,7 +4,7 @@ import {
4
4
  readTaskEvidence,
5
5
  readTaskEvidenceRaw,
6
6
  sanitizeTaskId
7
- } from "./index-mh1ej70w.js";
7
+ } from "./index-r8f89sm9.js";
8
8
  import {
9
9
  readSwarmFileAsync,
10
10
  validateSwarmPath
@@ -20,7 +20,7 @@ import {
20
20
  } from "./index-zgwm4ryv.js";
21
21
  import {
22
22
  withEvidenceLock
23
- } from "./index-91qtsbce.js";
23
+ } from "./index-3naa2ajc.js";
24
24
  import {
25
25
  ZodError,
26
26
  exports_external
@@ -31,7 +31,7 @@ import {
31
31
  } from "./index-b9v501fr.js";
32
32
  import {
33
33
  emit
34
- } from "./index-xchgryg4.js";
34
+ } from "./index-vn263hqt.js";
35
35
 
36
36
  // src/plan/manager.ts
37
37
  import {
@@ -939,6 +939,26 @@ var _internals2 = {
939
939
  // src/turbo/lean/conflicts.ts
940
940
  import * as fs3 from "fs";
941
941
  import * as path3 from "path";
942
+
943
+ // src/utils/path.ts
944
+ function normalizePath(p) {
945
+ if (!p)
946
+ return "";
947
+ let result = p.replace(/\\/g, "/").replace(/\/+/g, "/").replace(/^\.\//, "").replace(/(?:^|\/)\.\//g, "/");
948
+ result = result.replace(/\/$/, "");
949
+ result = result.replace(/\/\.$/, "");
950
+ if (process.platform === "win32")
951
+ result = result.toLowerCase();
952
+ if (!result) {
953
+ const norm = p.replace(/\\/g, "/");
954
+ if (norm === "." || norm === "./")
955
+ return ".";
956
+ return "";
957
+ }
958
+ return result;
959
+ }
960
+
961
+ // src/turbo/lean/conflicts.ts
942
962
  var DEFAULT_GLOBAL_FILES = [
943
963
  "package.json",
944
964
  "package-lock.json",
@@ -997,18 +1017,6 @@ var BARREL_FILE_PATTERNS = [
997
1017
  /\/exports\.ts$/,
998
1018
  /\/types\.ts$/
999
1019
  ];
1000
- function normalizePath(filePath) {
1001
- if (filePath === "." || filePath === "./") {
1002
- return ".";
1003
- }
1004
- let result = filePath.replace(/\\/g, "/").replace(/\/+/g, "/").replace(/^\.\//, "").replace(/(?:^|\/)\.\//g, "/");
1005
- result = result.replace(/\/$/, "");
1006
- result = result.replace(/\/\.$/, "");
1007
- if (process.platform === "win32") {
1008
- result = result.toLowerCase();
1009
- }
1010
- return result;
1011
- }
1012
1020
  function pathsConflict(path1, path22) {
1013
1021
  if (process.platform === "win32") {
1014
1022
  path1 = path1.toLowerCase();
@@ -3535,6 +3543,7 @@ async function saveEvidence(directory, taskId, evidence) {
3535
3543
  const sanitizedTaskId = sanitizeTaskId2(taskId);
3536
3544
  const relativePath = path7.join("evidence", sanitizedTaskId, "evidence.json");
3537
3545
  validateSwarmPath(directory, relativePath);
3546
+ _internals5.validateEvidence(evidence);
3538
3547
  return withEvidenceLock(directory, relativePath, "evidence-manager", sanitizedTaskId, async () => {
3539
3548
  const evidencePath = validateSwarmPath(directory, relativePath);
3540
3549
  const evidenceDir = path7.dirname(evidencePath);
@@ -3771,11 +3780,15 @@ async function archiveEvidence(directory, maxAgeDays, maxBundles) {
3771
3780
  }
3772
3781
  return archived;
3773
3782
  }
3783
+ function validateEvidence(evidence) {
3784
+ return EvidenceSchema.parse(evidence);
3785
+ }
3774
3786
  var _internals5 = {
3775
3787
  wrapFlatRetrospective,
3776
3788
  loadEvidence,
3777
3789
  listEvidenceTaskIds,
3778
- validateProjectRoot
3790
+ validateProjectRoot,
3791
+ validateEvidence
3779
3792
  };
3780
3793
 
3781
3794
  // src/evidence/gate-bridge.ts
@@ -3,13 +3,13 @@ import {
3
3
  atomicWriteFile,
4
4
  taskEvidencePath,
5
5
  withTaskEvidenceLock
6
- } from "./index-kv4dd5c5.js";
6
+ } from "./index-9b7qp18e.js";
7
7
  import {
8
8
  exports_external
9
9
  } from "./index-293f68mj.js";
10
10
  import {
11
11
  telemetry
12
- } from "./index-xchgryg4.js";
12
+ } from "./index-vn263hqt.js";
13
13
 
14
14
  // src/gate-evidence.ts
15
15
  import { mkdirSync, readFileSync, realpathSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  ALL_AGENT_NAMES,
4
4
  PluginConfigSchema,
5
5
  stripKnownSwarmPrefix
6
- } from "./index-471qxz9g.js";
6
+ } from "./index-7hnwnw5g.js";
7
7
  import {
8
8
  log
9
9
  } from "./index-zgwm4ryv.js";
@@ -599,6 +599,10 @@ function validateConfigKey(path2, value) {
599
599
  emitObjectTypeMismatch("context_budget", value, findings);
600
600
  break;
601
601
  }
602
+ case "pricing": {
603
+ emitObjectTypeMismatch("pricing", value, findings);
604
+ break;
605
+ }
602
606
  case "guardrails": {
603
607
  emitObjectTypeMismatch("guardrails", value, findings);
604
608
  break;
@@ -12,14 +12,14 @@ import {
12
12
  detectPosixWrites,
13
13
  detectWindowsWrites,
14
14
  resolveWriteTargets
15
- } from "./index-72k57f21.js";
15
+ } from "./index-brpm7xs3.js";
16
16
  import {
17
17
  checkFileAuthority,
18
18
  classifyFile,
19
19
  isInDeclaredScope,
20
20
  redactPath,
21
21
  redactShellCommand
22
- } from "./index-5z2e78tv.js";
22
+ } from "./index-xsswhy6k.js";
23
23
 
24
24
  // src/services/guardrail-explain-service.ts
25
25
  import path from "path";
@@ -110,8 +110,22 @@ var telemetry = {
110
110
  delegationBegin(sessionId, agentName, taskId) {
111
111
  _internals.emit("delegation_begin", { sessionId, agentName, taskId });
112
112
  },
113
- delegationEnd(sessionId, agentName, taskId, result) {
114
- _internals.emit("delegation_end", { sessionId, agentName, taskId, result });
113
+ delegationEnd(sessionId, agentName, taskId, result, costFields) {
114
+ _internals.emit("delegation_end", {
115
+ sessionId,
116
+ agentName,
117
+ taskId,
118
+ result,
119
+ tokens_input: costFields?.tokens_input ?? 0,
120
+ tokens_output: costFields?.tokens_output ?? 0,
121
+ tokens_reasoning: costFields?.tokens_reasoning ?? 0,
122
+ tokens_cache: costFields?.tokens_cache ?? 0,
123
+ cost_usd: costFields?.cost_usd ?? null,
124
+ cost_source: costFields?.cost_source ?? "unavailable",
125
+ model: costFields?.model,
126
+ gate: costFields?.gate,
127
+ retry_index: costFields?.retry_index
128
+ });
115
129
  },
116
130
  taskStateChanged(sessionId, taskId, newState, oldState) {
117
131
  _internals.emit("task_state_changed", {
@@ -10,17 +10,17 @@ import {
10
10
  resolveSwarmRejectedPath,
11
11
  rewriteKnowledge,
12
12
  transactKnowledge
13
- } from "./index-hb10a2g8.js";
13
+ } from "./index-f7nma02k.js";
14
14
  import {
15
15
  atomicWriteFile
16
- } from "./index-kv4dd5c5.js";
16
+ } from "./index-9b7qp18e.js";
17
17
  import {
18
18
  init_logger,
19
19
  warn
20
20
  } from "./index-zgwm4ryv.js";
21
21
  import {
22
22
  require_proper_lockfile
23
- } from "./index-91qtsbce.js";
23
+ } from "./index-3naa2ajc.js";
24
24
  import {
25
25
  __require,
26
26
  __toESM
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  stripKnownSwarmPrefix
4
- } from "./index-471qxz9g.js";
4
+ } from "./index-7hnwnw5g.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-rvweaxsd.js";
4
+ } from "./index-sy329dh4.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-gnd1280x.js";
7
+ } from "./index-h9ptj4b1.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -30,6 +30,7 @@ import {
30
30
  handleConcurrencyCommand,
31
31
  handleConfigCommand,
32
32
  handleConsolidateCommand,
33
+ handleCostsCommand,
33
34
  handleCouncilCommand,
34
35
  handleCurateCommand,
35
36
  handleDarkMatterCommand,
@@ -78,32 +79,32 @@ import {
78
79
  handleWriteRetroCommand,
79
80
  normalizeSwarmCommandInput,
80
81
  resolveCommand
81
- } from "./index-72k57f21.js";
82
- import"./index-5z2e78tv.js";
83
- import"./index-2a6ppa65.js";
84
- import"./index-fjxjb66n.js";
85
- import"./index-hb10a2g8.js";
86
- import"./index-zy22fg5h.js";
82
+ } from "./index-brpm7xs3.js";
83
+ import"./index-xsswhy6k.js";
84
+ import"./index-ydgy7vg5.js";
85
+ import"./index-vwyjkzgs.js";
86
+ import"./index-f7nma02k.js";
87
+ import"./index-svf2zjxs.js";
87
88
  import {
88
89
  AGENT_TOOL_MAP,
89
90
  ORCHESTRATOR_NAME,
90
91
  stripKnownSwarmPrefix
91
- } from "./index-471qxz9g.js";
92
- import"./index-yrzfbqqh.js";
92
+ } from "./index-7hnwnw5g.js";
93
+ import"./index-qcr60fgm.js";
93
94
  import"./index-adz3nk9b.js";
94
95
  import"./index-v4fcn4tr.js";
95
- import"./index-mh1ej70w.js";
96
- import"./index-kv4dd5c5.js";
97
- import"./index-a0dv2c7k.js";
96
+ import"./index-r8f89sm9.js";
97
+ import"./index-9b7qp18e.js";
98
+ import"./index-5fxjagjt.js";
98
99
  import"./index-we94wkty.js";
99
100
  import"./index-jtqkh8jf.js";
100
101
  import"./index-5e4e2hvv.js";
101
102
  import"./index-p0arc26j.js";
102
103
  import"./index-zgwm4ryv.js";
103
- import"./index-91qtsbce.js";
104
+ import"./index-3naa2ajc.js";
104
105
  import"./index-293f68mj.js";
105
106
  import"./index-b9v501fr.js";
106
- import"./index-xchgryg4.js";
107
+ import"./index-vn263hqt.js";
107
108
  import"./index-a76rekgs.js";
108
109
  // src/commands/command-names.ts
109
110
  var COMMAND_NAMES = Object.freeze(Object.keys(COMMAND_REGISTRY));
@@ -386,6 +387,7 @@ export {
386
387
  handleDarkMatterCommand,
387
388
  handleCurateCommand,
388
389
  handleCouncilCommand,
390
+ handleCostsCommand,
389
391
  handleConsolidateCommand,
390
392
  handleConfigCommand,
391
393
  handleConcurrencyCommand,
@@ -1,4 +1,15 @@
1
1
  // @bun
2
+ // src/agents/_prompt-helpers.ts
3
+ function resolvePrompt(base, custom, append) {
4
+ if (custom)
5
+ return custom;
6
+ if (append)
7
+ return `${base}
8
+
9
+ ${append}`;
10
+ return base;
11
+ }
12
+
2
13
  // src/agents/read-only-lane-guidance.ts
3
14
  var READ_ONLY_LANE_GUIDANCE = `## READ-ONLY ADVISORY LANE CONTEXT
4
15
 
@@ -379,13 +390,7 @@ OUTPUT FORMAT:
379
390
  `;
380
391
  function createExplorerAgent(model, customPrompt, customAppendPrompt) {
381
392
  let prompt = EXPLORER_PROMPT;
382
- if (customPrompt) {
383
- prompt = customPrompt;
384
- } else if (customAppendPrompt) {
385
- prompt = `${EXPLORER_PROMPT}
386
-
387
- ${customAppendPrompt}`;
388
- }
393
+ prompt = resolvePrompt(prompt, customPrompt, customAppendPrompt);
389
394
  return {
390
395
  name: "explorer",
391
396
  description: "Fast codebase discovery and analysis. Scans directory structure, identifies languages/frameworks, summarizes key files, and identifies areas where specialized domain knowledge may be beneficial.",
package/dist/cli/index.js CHANGED
@@ -7,30 +7,30 @@ import {
7
7
  getPluginLockFilePaths,
8
8
  package_default,
9
9
  resolveCommand
10
- } from "./index-72k57f21.js";
11
- import"./index-5z2e78tv.js";
12
- import"./index-2a6ppa65.js";
13
- import"./index-fjxjb66n.js";
14
- import"./index-hb10a2g8.js";
15
- import"./index-zy22fg5h.js";
10
+ } from "./index-brpm7xs3.js";
11
+ import"./index-xsswhy6k.js";
12
+ import"./index-ydgy7vg5.js";
13
+ import"./index-vwyjkzgs.js";
14
+ import"./index-f7nma02k.js";
15
+ import"./index-svf2zjxs.js";
16
16
  import {
17
17
  DEFAULT_AGENT_CONFIGS
18
- } from "./index-471qxz9g.js";
19
- import"./index-yrzfbqqh.js";
18
+ } from "./index-7hnwnw5g.js";
19
+ import"./index-qcr60fgm.js";
20
20
  import"./index-adz3nk9b.js";
21
21
  import"./index-v4fcn4tr.js";
22
- import"./index-mh1ej70w.js";
23
- import"./index-kv4dd5c5.js";
24
- import"./index-a0dv2c7k.js";
22
+ import"./index-r8f89sm9.js";
23
+ import"./index-9b7qp18e.js";
24
+ import"./index-5fxjagjt.js";
25
25
  import"./index-we94wkty.js";
26
26
  import"./index-jtqkh8jf.js";
27
27
  import"./index-5e4e2hvv.js";
28
28
  import"./index-p0arc26j.js";
29
29
  import"./index-zgwm4ryv.js";
30
- import"./index-91qtsbce.js";
30
+ import"./index-3naa2ajc.js";
31
31
  import"./index-293f68mj.js";
32
32
  import"./index-b9v501fr.js";
33
- import"./index-xchgryg4.js";
33
+ import"./index-vn263hqt.js";
34
34
  import"./index-a76rekgs.js";
35
35
 
36
36
  // src/cli/index.ts
@@ -32,12 +32,12 @@ import {
32
32
  transactFile,
33
33
  transactKnowledge,
34
34
  wordBigrams
35
- } from "./index-hb10a2g8.js";
36
- import"./index-kv4dd5c5.js";
35
+ } from "./index-f7nma02k.js";
36
+ import"./index-9b7qp18e.js";
37
37
  import"./index-jtqkh8jf.js";
38
- import"./index-91qtsbce.js";
38
+ import"./index-3naa2ajc.js";
39
39
  import"./index-b9v501fr.js";
40
- import"./index-xchgryg4.js";
40
+ import"./index-vn263hqt.js";
41
41
  import"./index-a76rekgs.js";
42
42
  export {
43
43
  wordBigrams,
@@ -11,12 +11,12 @@ import {
11
11
  } from "./index-zgwm4ryv.js";
12
12
  import {
13
13
  withEvidenceLock
14
- } from "./index-91qtsbce.js";
14
+ } from "./index-3naa2ajc.js";
15
15
  import {
16
16
  exports_external
17
17
  } from "./index-293f68mj.js";
18
18
  import"./index-b9v501fr.js";
19
- import"./index-xchgryg4.js";
19
+ import"./index-vn263hqt.js";
20
20
  import"./index-a76rekgs.js";
21
21
 
22
22
  // src/background/pending-delegations.ts
@@ -9,16 +9,16 @@ import {
9
9
  sweepStale,
10
10
  unsubscribe,
11
11
  updateSnapshot
12
- } from "./index-a0dv2c7k.js";
12
+ } from "./index-5fxjagjt.js";
13
13
  import"./index-we94wkty.js";
14
14
  import"./index-jtqkh8jf.js";
15
15
  import"./index-5e4e2hvv.js";
16
16
  import"./index-p0arc26j.js";
17
17
  import"./index-zgwm4ryv.js";
18
- import"./index-91qtsbce.js";
18
+ import"./index-3naa2ajc.js";
19
19
  import"./index-293f68mj.js";
20
20
  import"./index-b9v501fr.js";
21
- import"./index-xchgryg4.js";
21
+ import"./index-vn263hqt.js";
22
22
  import"./index-a76rekgs.js";
23
23
  export {
24
24
  updateSnapshot,
@@ -47,6 +47,7 @@ import {
47
47
  LeanTurboStrategyConfigSchema,
48
48
  LintConfigSchema,
49
49
  MemoryConfigSchema,
50
+ ModelPricingConfigSchema,
50
51
  ParallelizationConfigSchema,
51
52
  PhaseCompleteConfigSchema,
52
53
  PipelineConfigSchema,
@@ -54,6 +55,7 @@ import {
54
55
  PlanCursorConfigSchema,
55
56
  PluginConfigSchema,
56
57
  PrMonitorConfigSchema,
58
+ PricingConfigSchema,
57
59
  PrmConfigSchema,
58
60
  QualityBudgetConfigSchema,
59
61
  RepoGraphConfigSchema,
@@ -83,7 +85,7 @@ import {
83
85
  resolveGeneratedAgentRole,
84
86
  resolveGuardrailsConfig,
85
87
  stripKnownSwarmPrefix
86
- } from "./index-471qxz9g.js";
88
+ } from "./index-7hnwnw5g.js";
87
89
  import"./index-p0arc26j.js";
88
90
  import"./index-293f68mj.js";
89
91
  import"./index-a76rekgs.js";
@@ -117,6 +119,7 @@ export {
117
119
  RepoGraphConfigSchema,
118
120
  QualityBudgetConfigSchema,
119
121
  PrmConfigSchema,
122
+ PricingConfigSchema,
120
123
  PrMonitorConfigSchema,
121
124
  PluginConfigSchema,
122
125
  PlanCursorConfigSchema,
@@ -124,6 +127,7 @@ export {
124
127
  PipelineConfigSchema,
125
128
  PhaseCompleteConfigSchema,
126
129
  ParallelizationConfigSchema,
130
+ ModelPricingConfigSchema,
127
131
  MemoryConfigSchema,
128
132
  LintConfigSchema,
129
133
  LeanTurboStrategyConfigSchema,
@@ -27,14 +27,14 @@ import {
27
27
  retireSkill,
28
28
  sanitizeSlug,
29
29
  selectCandidateEntries
30
- } from "./index-fjxjb66n.js";
31
- import"./index-hb10a2g8.js";
32
- import"./index-kv4dd5c5.js";
30
+ } from "./index-vwyjkzgs.js";
31
+ import"./index-f7nma02k.js";
32
+ import"./index-9b7qp18e.js";
33
33
  import"./index-jtqkh8jf.js";
34
34
  import"./index-zgwm4ryv.js";
35
- import"./index-91qtsbce.js";
35
+ import"./index-3naa2ajc.js";
36
36
  import"./index-b9v501fr.js";
37
- import"./index-xchgryg4.js";
37
+ import"./index-vn263hqt.js";
38
38
  import"./index-a76rekgs.js";
39
39
  export {
40
40
  selectCandidateEntries,
@@ -8,7 +8,7 @@ import {
8
8
  resetTelemetryForTesting,
9
9
  rotateTelemetryIfNeeded,
10
10
  telemetry
11
- } from "./index-xchgryg4.js";
11
+ } from "./index-vn263hqt.js";
12
12
  import"./index-a76rekgs.js";
13
13
  export {
14
14
  telemetry,
@@ -0,0 +1,4 @@
1
+ import { type CostSummary } from '../services/cost-accounting.js';
2
+ export declare function handleCostsCommand(directory: string, args: string[]): Promise<string>;
3
+ export declare function renderCostSummary(summary: CostSummary): string;
4
+ export declare function formatUsd(value: number): string;
@@ -16,6 +16,7 @@ export { COMMAND_NAME_SET, COMMAND_NAMES } from './command-names.js';
16
16
  export { handleConcurrencyCommand } from './concurrency';
17
17
  export { handleConfigCommand } from './config';
18
18
  export { handleConsolidateCommand } from './consolidate';
19
+ export { handleCostsCommand } from './costs';
19
20
  export { handleCouncilCommand } from './council';
20
21
  export { handleCurateCommand } from './curate';
21
22
  export { handleDarkMatterCommand } from './dark-matter';
@@ -199,8 +199,15 @@ export declare const COMMAND_REGISTRY: {
199
199
  };
200
200
  readonly benchmark: {
201
201
  readonly handler: (ctx: CommandContext) => Promise<string>;
202
- readonly description: "Show performance metrics [--cumulative] [--ci-gate]";
203
- readonly args: "--cumulative, --ci-gate";
202
+ readonly description: "Show performance metrics [--cumulative] [--ci-gate] [--max-cost-usd <n>]";
203
+ readonly args: "--cumulative, --ci-gate, --max-cost-usd <n>";
204
+ readonly category: "diagnostics";
205
+ readonly toolPolicy: "agent";
206
+ };
207
+ readonly costs: {
208
+ readonly handler: (ctx: CommandContext) => Promise<string>;
209
+ readonly description: "Show per-agent and per-task token/cost telemetry [--json]";
210
+ readonly args: "--json";
204
211
  readonly category: "diagnostics";
205
212
  readonly toolPolicy: "agent";
206
213
  };