@mc1global/opencode-jarvis 0.7.0 → 0.8.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 (34) hide show
  1. package/README.md +14 -8
  2. package/dist/application/config/config-service.d.ts +3 -1
  3. package/dist/application/config/config-service.d.ts.map +1 -1
  4. package/dist/application/config/config-service.js +4 -0
  5. package/dist/application/config/config-service.js.map +1 -1
  6. package/dist/application/kanban/card-use-cases.d.ts +16 -1
  7. package/dist/application/kanban/card-use-cases.d.ts.map +1 -1
  8. package/dist/application/kanban/card-use-cases.js +14 -1
  9. package/dist/application/kanban/card-use-cases.js.map +1 -1
  10. package/dist/application/token-metrics/dtos.d.ts +12 -0
  11. package/dist/application/token-metrics/dtos.d.ts.map +1 -1
  12. package/dist/application/token-metrics/tracking-use-cases.d.ts +23 -2
  13. package/dist/application/token-metrics/tracking-use-cases.d.ts.map +1 -1
  14. package/dist/application/token-metrics/tracking-use-cases.js +81 -13
  15. package/dist/application/token-metrics/tracking-use-cases.js.map +1 -1
  16. package/dist/domain/config/value-objects.d.ts +13 -0
  17. package/dist/domain/config/value-objects.d.ts.map +1 -1
  18. package/dist/domain/config/value-objects.js +6 -0
  19. package/dist/domain/config/value-objects.js.map +1 -1
  20. package/dist/domain/token-metrics/ports.d.ts +79 -0
  21. package/dist/domain/token-metrics/ports.d.ts.map +1 -0
  22. package/dist/domain/token-metrics/ports.js +71 -0
  23. package/dist/domain/token-metrics/ports.js.map +1 -0
  24. package/dist/hooks/event-handlers.d.ts +6 -0
  25. package/dist/hooks/event-handlers.d.ts.map +1 -1
  26. package/dist/hooks/event-handlers.js +27 -0
  27. package/dist/hooks/event-handlers.js.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +75 -4
  30. package/dist/index.js.map +1 -1
  31. package/dist/tools/token-metrics-tools.d.ts.map +1 -1
  32. package/dist/tools/token-metrics-tools.js +15 -1
  33. package/dist/tools/token-metrics-tools.js.map +1 -1
  34. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @mc1global/opencode-jarvis
2
2
 
3
- A native [OpenCode](https://opencode.ai) plugin providing multi-agent development infrastructure: session memory, kanban project management, governance guardrails, token metrics tracking, RAG semantic search, Obsidian vault management, domain map analysis, workspace registry, environment management, CI/CD pipelines, Azure DevOps sync, and structured data tools.
3
+ A native [OpenCode](https://opencode.ai) plugin providing multi-agent development infrastructure: session memory, kanban project management, governance guardrails, automatic token-per-card cost tracking with budget alerts, RAG semantic search, Obsidian vault management, domain map analysis, workspace registry, environment management, CI/CD pipelines, Azure DevOps sync, and structured data tools.
4
4
 
5
5
  Built with **Domain-Driven Design**, **SOLID principles**, and strict TypeScript.
6
6
 
@@ -188,13 +188,14 @@ mcp-server:
188
188
 
189
189
  ## Features
190
190
 
191
- ### 112 Tools across 13 categories
191
+ ### 113 Tools across 14 categories
192
192
 
193
193
  | Category | Count | Key Tools |
194
194
  |---|---|---|
195
195
  | **Context Memory** | 8 | `context-session-*`, `context-todo-*`, `context-note-*`, `context-search` |
196
196
  | **Kanban Cards** | 12 | `kanban-card-create/move/list/get/assign/estimate/criteria/delete/brief` |
197
197
  | **Kanban Board** | 15 | `kanban-sprint-*`, `kanban-epic-*`, `kanban-board-*`, `kanban-wip-check` |
198
+ | **Kanban Grooming** | 4 | `kanban-grooming-validate`, `kanban-card-scope-doc/criteria/estimate`, `kanban-card-gate` |
198
199
  | **Governance** | 2 | `governance-validate`, `governance-policies` |
199
200
  | **Token Metrics** | 7 | `metrics-record/history/agent-report/card-report/sprint-report/summary/estimate` |
200
201
  | **RAG** | 8 | `rag-search/index/snippet/update/delete/status/oracle-search/oracle-index` |
@@ -204,9 +205,9 @@ mcp-server:
204
205
  | **Domain Map** | 2 | `domain-map-analyze`, `domain-map-view` |
205
206
  | **Workspace** | 4 | `workspace-info/list/update/link` |
206
207
  | **Environment** | 6 | `env-init/create/list/status/merge/delete` |
207
- | **Pipeline** | 12 | `pipeline-init/activate/cancel/retry/run/gate/status/list/template/scaffold` |
208
+ | **Pipeline** | 10 | `pipeline-init/activate/cancel/retry/run/gate/status/list/template/scaffold` |
208
209
  | **Azure Sync** | 10 | `azure-sync-*`, `azure-pr-*` |
209
- | **Bootstrap** | 2 | `jarvis-bootstrap`, `jarvis-healthcheck` |
210
+ | **Bootstrap** | 3 | `jarvis-bootstrap`, `jarvis-healthcheck`, `jarvis-terminal-commands` |
210
211
 
211
212
  ### 5 Hooks
212
213
 
@@ -249,6 +250,11 @@ kanban:
249
250
  minTransitionIntervalSecs: 30
250
251
  gateTasks: # Per-phase gate definitions
251
252
 
253
+ # Token metrics & cost tracking
254
+ token-metrics:
255
+ sprintBudgetUsd: null # Set a USD budget per sprint (e.g. 50.0)
256
+ budgetAlertThreshold: 0.8 # Alert when utilization exceeds 80%
257
+
252
258
  # MCP server settings
253
259
  mcp-server:
254
260
  transport: "stdio"
@@ -271,7 +277,7 @@ jarvis-plugin/
271
277
  context-memory/ # Session, Todo, Note entities + services
272
278
  kanban/ # Card state machine, Sprint, Epic, Grooming
273
279
  governance/ # 13 policy rules, validation service
274
- token-metrics/ # Token usage tracking entities
280
+ token-metrics/ # Token usage tracking, cost-per-card/sprint, budget alerts
275
281
  rag/ # RAG value objects, domain services
276
282
  vault/ # Vault document, section, table entities
277
283
  domain-map/ # Bounded context detection, domain analysis
@@ -282,9 +288,9 @@ jarvis-plugin/
282
288
  config/ # Configuration value objects + defaults
283
289
  application/ # Use cases with DTOs (11 bounded contexts)
284
290
  infrastructure/ # SQLite repos, Vectra, Ollama, FS adapters
285
- tools/ # 15 tool modules (112 tools total)
291
+ tools/ # 20 tool modules (113 tools total)
286
292
  hooks/ # 5 hooks (guardrails, compacting, first-run, events, shell-env)
287
- tests/ # 2435+ tests across 80 test suites
293
+ tests/ # 2,520+ tests across 85 test suites
288
294
  obsidian-vault/ # Structured documentation
289
295
  config/ # jarvis.yaml configuration
290
296
  ```
@@ -379,7 +385,7 @@ npx tsx scripts/rag-index.ts --clear
379
385
 
380
386
  ## Test Coverage
381
387
 
382
- - **2,435+ tests** across 80 test suites
388
+ - **2,520+ tests** across 85 test suites
383
389
  - Domain, application, infrastructure, and tools layers tested
384
390
  - In-memory SQLite for fast, isolated integration tests
385
391
  - `tsc --noEmit` zero errors with all strict flags
@@ -11,7 +11,7 @@
11
11
  * DDD: Application service orchestrating domain VOs + infra repo
12
12
  */
13
13
  import type { ConfigRepository } from "../../domain/config/repositories.js";
14
- import type { ConfigContextName, ConfigMap, RagConfig, PipelineConfig, AgentRegistryConfig, AzureSyncConfig, McpServerConfig, KanbanConfig } from "../../domain/config/value-objects.js";
14
+ import type { ConfigContextName, ConfigMap, RagConfig, PipelineConfig, AgentRegistryConfig, AzureSyncConfig, McpServerConfig, KanbanConfig, TokenMetricsConfig } from "../../domain/config/value-objects.js";
15
15
  /**
16
16
  * Resolves configuration for bounded contexts.
17
17
  *
@@ -38,6 +38,8 @@ export declare class ConfigService {
38
38
  getMcpServerConfig(): McpServerConfig;
39
39
  /** Get Kanban configuration (type-safe). */
40
40
  getKanbanConfig(): KanbanConfig;
41
+ /** Get Token Metrics configuration (type-safe). */
42
+ getTokenMetricsConfig(): TokenMetricsConfig;
41
43
  /**
42
44
  * Get config for any context name.
43
45
  * Returns deep-merged result or defaults. If no defaults exist
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../../../src/application/config/config-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,sCAAsC,CAAC;AAG9C;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;gBAEvB,UAAU,EAAE,gBAAgB;IAIzD,yCAAyC;IACzC,YAAY,IAAI,SAAS;IAIzB,8CAA8C;IAC9C,iBAAiB,IAAI,cAAc;IAInC,oDAAoD;IACpD,sBAAsB,IAAI,mBAAmB;IAI7C,gDAAgD;IAChD,kBAAkB,IAAI,eAAe;IAIrC,gDAAgD;IAChD,kBAAkB,IAAI,eAAe;IAIrC,4CAA4C;IAC5C,eAAe,IAAI,YAAY;IAM/B;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO;IAOlD,wEAAwE;IACxE,yBAAyB,IAAI,OAAO;IAMpC,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACH,OAAO,CAAC,OAAO;CAuBhB;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAmBnE"}
1
+ {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../../../src/application/config/config-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAG9C;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;gBAEvB,UAAU,EAAE,gBAAgB;IAIzD,yCAAyC;IACzC,YAAY,IAAI,SAAS;IAIzB,8CAA8C;IAC9C,iBAAiB,IAAI,cAAc;IAInC,oDAAoD;IACpD,sBAAsB,IAAI,mBAAmB;IAI7C,gDAAgD;IAChD,kBAAkB,IAAI,eAAe;IAIrC,gDAAgD;IAChD,kBAAkB,IAAI,eAAe;IAIrC,4CAA4C;IAC5C,eAAe,IAAI,YAAY;IAI/B,mDAAmD;IACnD,qBAAqB,IAAI,kBAAkB;IAM3C;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO;IAOlD,wEAAwE;IACxE,yBAAyB,IAAI,OAAO;IAMpC,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACH,OAAO,CAAC,OAAO;CAuBhB;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAmBnE"}
@@ -40,6 +40,10 @@ export class ConfigService {
40
40
  getKanbanConfig() {
41
41
  return this.getTyped("kanban");
42
42
  }
43
+ /** Get Token Metrics configuration (type-safe). */
44
+ getTokenMetricsConfig() {
45
+ return this.getTyped("token-metrics");
46
+ }
43
47
  getConfig(contextName) {
44
48
  return this.resolve(contextName);
45
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../../../src/application/config/config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../../../src/application/config/config-service.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAa;IAGK;IAFZ,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEpD,YAA6B,UAA4B;QAA5B,eAAU,GAAV,UAAU,CAAkB;IAAG,CAAC;IAE7D,qEAAqE;IAErE,yCAAyC;IACzC,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAY,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,8CAA8C;IAC9C,iBAAiB;QACf,OAAO,IAAI,CAAC,QAAQ,CAAiB,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,sBAAsB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAsB,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,gDAAgD;IAChD,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAkB,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,gDAAgD;IAChD,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAkB,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,4CAA4C;IAC5C,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAe,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,mDAAmD;IACnD,qBAAqB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAqB,eAAe,CAAC,CAAC;IAC5D,CAAC;IAWD,SAAS,CAAC,WAAmB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,qEAAqE;IAErE,wEAAwE;IACxE,yBAAyB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,qEAAqE;IAE7D,QAAQ,CAAI,WAAmB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAM,CAAC;IACxC,CAAC;IAED;;;OAGG;IACK,OAAO,CAAC,WAAmB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,MAAe,CAAC;QACpB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,yEAAyE;AAEzE;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAa,EAAE,QAAiB;IACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -19,11 +19,26 @@ import type { CreateCardRequest, MoveCardRequest, GetCardRequest, ListCardsReque
19
19
  * Used for cross-context card-pipeline validation without direct dependency.
20
20
  */
21
21
  export type PipelineStatusProvider = (pipelineId: string) => Promise<string | undefined>;
22
+ /**
23
+ * Callback fired when a card transitions to "done".
24
+ * Used to emit cost summaries and other cross-context side effects.
25
+ * Fire-and-forget — errors must NOT block the card transition.
26
+ *
27
+ * @param cardId - The card that just completed
28
+ * @param storyPoints - Story points for cost-per-point calculation
29
+ * @param assignedAgent - The agent that worked on the card
30
+ */
31
+ export type CardDoneCallback = (info: {
32
+ readonly cardId: string;
33
+ readonly storyPoints: number | undefined;
34
+ readonly assignedAgent: string | undefined;
35
+ }) => Promise<void>;
22
36
  export declare class CardUseCases {
23
37
  private readonly cardRepo;
24
38
  private readonly cardService;
25
39
  private readonly pipelineStatusProvider?;
26
- constructor(cardRepo: CardRepository, cardService: CardDomainService, pipelineStatusProvider?: PipelineStatusProvider | undefined);
40
+ private readonly onCardDone?;
41
+ constructor(cardRepo: CardRepository, cardService: CardDomainService, pipelineStatusProvider?: PipelineStatusProvider | undefined, onCardDone?: CardDoneCallback | undefined);
27
42
  createCard(request: CreateCardRequest): Promise<Result<CardResponse>>;
28
43
  moveCard(request: MoveCardRequest): Promise<Result<CardResponse>>;
29
44
  getCard(request: GetCardRequest): Promise<Result<CardResponse | null>>;
@@ -1 +1 @@
1
- {"version":3,"file":"card-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/kanban/card-use-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/kanban/card-use-cases.ts"],"names":[],"mappings":"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"}
@@ -56,10 +56,12 @@ export class CardUseCases {
56
56
  cardRepo;
57
57
  cardService;
58
58
  pipelineStatusProvider;
59
- constructor(cardRepo, cardService, pipelineStatusProvider) {
59
+ onCardDone;
60
+ constructor(cardRepo, cardService, pipelineStatusProvider, onCardDone) {
60
61
  this.cardRepo = cardRepo;
61
62
  this.cardService = cardService;
62
63
  this.pipelineStatusProvider = pipelineStatusProvider;
64
+ this.onCardDone = onCardDone;
63
65
  }
64
66
  async createCard(request) {
65
67
  try {
@@ -123,6 +125,17 @@ export class CardUseCases {
123
125
  const result = await this.cardService.moveCard(cardId, targetStatus);
124
126
  if (!result.success)
125
127
  return fail(result.error);
128
+ // Fire card-done callback (fire-and-forget)
129
+ if (targetStatus === CardStatus.Done && this.onCardDone) {
130
+ const card = result.data;
131
+ this.onCardDone({
132
+ cardId: card.id.value,
133
+ storyPoints: card.storyPoints,
134
+ assignedAgent: card.assignedAgent,
135
+ }).catch(() => {
136
+ // Swallow errors — must never block card transition
137
+ });
138
+ }
126
139
  return ok(toCardResponse(result.data));
127
140
  }
128
141
  async getCard(request) {
@@ -1 +1 @@
1
- {"version":3,"file":"card-use-cases.js","sourceRoot":"","sources":["../../../src/application/kanban/card-use-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-use-cases.js","sourceRoot":"","sources":["../../../src/application/kanban/card-use-cases.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,18 @@ export interface SprintReportResponse {
94
94
  readonly cardCount: number;
95
95
  readonly agentCount: number;
96
96
  readonly tokensPerCard: number;
97
+ /** Total story points in the sprint (from kanban). Undefined if unavailable. */
98
+ readonly totalStoryPoints: number | undefined;
99
+ /** Cost per story point (totalCostUsd / totalStoryPoints). Undefined if no points. */
100
+ readonly costPerStoryPoint: number | undefined;
101
+ /** Average cost per card (totalCostUsd / cardCount). Undefined if no cards. */
102
+ readonly averageCostPerCard: number | undefined;
103
+ /** Configured sprint budget in USD. Undefined if not configured. */
104
+ readonly budgetUsd: number | undefined;
105
+ /** Budget utilization percentage (0-100). Undefined if no budget. */
106
+ readonly budgetUtilizationPct: number | undefined;
107
+ /** Budget alert message when utilization exceeds threshold. Undefined if within budget. */
108
+ readonly budgetAlert: string | undefined;
97
109
  }
98
110
  export interface WorkspaceSummaryResponse {
99
111
  readonly workspace: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/application/token-metrics/dtos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/application/token-metrics/dtos.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,26 @@
11
11
  */
12
12
  import type { Result } from "../../domain/shared/value-objects.js";
13
13
  import type { TokenMetricsRepository } from "../../domain/token-metrics/repositories.js";
14
+ import type { SprintStatsProvider } from "../../domain/token-metrics/ports.js";
14
15
  import type { RecordUsageRequest, GetUsageHistoryRequest, GetAgentReportRequest, GetCardReportRequest, GetSprintReportRequest, GetWorkspaceSummaryRequest, EstimateCostRequest, TokenUsageResponse, AgentReportResponse, CardReportResponse, SprintReportResponse, WorkspaceSummaryResponse, CostEstimateResponse } from "./dtos.js";
16
+ /**
17
+ * Sprint dashboard configuration passed to use cases.
18
+ * Mirrors the token-metrics section of jarvis.yaml.
19
+ */
20
+ export interface SprintDashboardConfig {
21
+ /** Sprint budget in USD, or null if not configured. */
22
+ readonly sprintBudgetUsd: number | null;
23
+ /** Threshold (0-1) at which budget alert fires. Default: 0.8. */
24
+ readonly budgetAlertThreshold: number;
25
+ }
15
26
  export declare class TokenMetricsUseCases {
16
27
  private readonly repo;
17
- constructor(repo: TokenMetricsRepository);
28
+ private readonly sprintStatsProvider;
29
+ private readonly dashboardConfig;
30
+ constructor(repo: TokenMetricsRepository, options?: {
31
+ readonly sprintStatsProvider?: SprintStatsProvider;
32
+ readonly dashboardConfig?: SprintDashboardConfig;
33
+ });
18
34
  /** Record a token usage event. */
19
35
  recordUsage(req: RecordUsageRequest): Promise<Result<TokenUsageResponse>>;
20
36
  /** Get usage history with optional filters. */
@@ -23,8 +39,13 @@ export declare class TokenMetricsUseCases {
23
39
  getAgentReport(req: GetAgentReportRequest): Promise<Result<readonly AgentReportResponse[]>>;
24
40
  /** Get aggregated report by card. */
25
41
  getCardReport(req: GetCardReportRequest): Promise<Result<readonly CardReportResponse[]>>;
26
- /** Get aggregated report by sprint. */
42
+ /** Get aggregated report by sprint with derived cost metrics. */
27
43
  getSprintReport(req: GetSprintReportRequest): Promise<Result<readonly SprintReportResponse[]>>;
44
+ /**
45
+ * Compute a budget alert message based on utilization.
46
+ * Returns undefined if no budget is configured or utilization is within threshold.
47
+ */
48
+ private computeBudgetAlert;
28
49
  /** Get workspace-wide summary with recommendations. */
29
50
  getWorkspaceSummary(req: GetWorkspaceSummaryRequest): Promise<Result<WorkspaceSummaryResponse>>;
30
51
  /** Estimate cost for a hypothetical token usage (no persistence). */
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/token-metrics/tracking-use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AASnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAwFnB,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,sBAAsB;IAEzD,kCAAkC;IAC5B,WAAW,CACf,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IA+BtC,+CAA+C;IACzC,eAAe,CACnB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAmBjD,sCAAsC;IAChC,cAAc,CAClB,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IAuBlD,qCAAqC;IAC/B,aAAa,CACjB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAuBjD,uCAAuC;IACjC,eAAe,CACnB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;IA0BnD,uDAAuD;IACjD,mBAAmB,CACvB,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAqC5C,qEAAqE;IACrE,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,oBAAoB;CAiB7D"}
1
+ {"version":3,"file":"tracking-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/token-metrics/tracking-use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AASnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAEnB;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAwFD,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;gBAGrC,IAAI,EAAE,sBAAsB,EAC7C,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;KAClD;IASH,kCAAkC;IAC5B,WAAW,CACf,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IA+BtC,+CAA+C;IACzC,eAAe,CACnB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAmBjD,sCAAsC;IAChC,cAAc,CAClB,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IAuBlD,qCAAqC;IAC/B,aAAa,CACjB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAuBjD,iEAAiE;IAC3D,eAAe,CACnB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;IAmFnD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyB1B,uDAAuD;IACjD,mBAAmB,CACvB,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAqC5C,qEAAqE;IACrE,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,oBAAoB;CAiB7D"}
@@ -60,8 +60,15 @@ function generateRecommendations(totalCostUsd, recordCount, byOperation, topAgen
60
60
  }
61
61
  export class TokenMetricsUseCases {
62
62
  repo;
63
- constructor(repo) {
63
+ sprintStatsProvider;
64
+ dashboardConfig;
65
+ constructor(repo, options) {
64
66
  this.repo = repo;
67
+ this.sprintStatsProvider = options?.sprintStatsProvider;
68
+ this.dashboardConfig = options?.dashboardConfig ?? {
69
+ sprintBudgetUsd: null,
70
+ budgetAlertThreshold: 0.8,
71
+ };
65
72
  }
66
73
  /** Record a token usage event. */
67
74
  async recordUsage(req) {
@@ -151,27 +158,88 @@ export class TokenMetricsUseCases {
151
158
  return fail(e instanceof Error ? e.message : String(e));
152
159
  }
153
160
  }
154
- /** Get aggregated report by sprint. */
161
+ /** Get aggregated report by sprint with derived cost metrics. */
155
162
  async getSprintReport(req) {
156
163
  try {
157
164
  const workspace = WorkspaceId.create(req.workspace);
158
165
  const metrics = await this.repo.getMetricsBySprint(workspace, req.sprintId);
159
- return ok(metrics.map((m) => ({
160
- sprintId: m.sprintId,
161
- totalInputTokens: m.totalInputTokens,
162
- totalOutputTokens: m.totalOutputTokens,
163
- totalTokens: m.totalTokens,
164
- totalCostUsd: m.totalCostUsd,
165
- recordCount: m.recordCount,
166
- cardCount: m.cardCount,
167
- agentCount: m.agentCount,
168
- tokensPerCard: m.cardCount > 0 ? Math.round(m.totalTokens / m.cardCount) : 0,
169
- })));
166
+ const results = [];
167
+ for (const m of metrics) {
168
+ // Resolve story points from kanban (cross-context)
169
+ let totalStoryPoints;
170
+ let estimatedCardCount;
171
+ if (this.sprintStatsProvider) {
172
+ try {
173
+ const stats = await this.sprintStatsProvider.resolve(m.sprintId);
174
+ if (stats) {
175
+ totalStoryPoints = stats.totalStoryPoints > 0
176
+ ? stats.totalStoryPoints
177
+ : undefined;
178
+ estimatedCardCount = stats.estimatedCardCount;
179
+ }
180
+ }
181
+ catch {
182
+ // Fire-and-forget — never block report generation
183
+ }
184
+ }
185
+ // Derived metrics
186
+ const costPerStoryPoint = totalStoryPoints !== undefined && totalStoryPoints > 0
187
+ ? Math.round((m.totalCostUsd / totalStoryPoints) * 1_000_000) / 1_000_000
188
+ : undefined;
189
+ const averageCostPerCard = m.cardCount > 0
190
+ ? Math.round((m.totalCostUsd / m.cardCount) * 1_000_000) / 1_000_000
191
+ : undefined;
192
+ // Budget tracking
193
+ const budgetUsd = this.dashboardConfig.sprintBudgetUsd !== null
194
+ ? this.dashboardConfig.sprintBudgetUsd
195
+ : undefined;
196
+ const budgetUtilizationPct = budgetUsd !== undefined && budgetUsd > 0
197
+ ? Math.round((m.totalCostUsd / budgetUsd) * 10000) / 100
198
+ : undefined;
199
+ const budgetAlert = this.computeBudgetAlert(m.totalCostUsd, budgetUsd, budgetUtilizationPct, estimatedCardCount);
200
+ results.push({
201
+ sprintId: m.sprintId,
202
+ totalInputTokens: m.totalInputTokens,
203
+ totalOutputTokens: m.totalOutputTokens,
204
+ totalTokens: m.totalTokens,
205
+ totalCostUsd: m.totalCostUsd,
206
+ recordCount: m.recordCount,
207
+ cardCount: m.cardCount,
208
+ agentCount: m.agentCount,
209
+ tokensPerCard: m.cardCount > 0 ? Math.round(m.totalTokens / m.cardCount) : 0,
210
+ totalStoryPoints,
211
+ costPerStoryPoint,
212
+ averageCostPerCard,
213
+ budgetUsd,
214
+ budgetUtilizationPct,
215
+ budgetAlert,
216
+ });
217
+ }
218
+ return ok(results);
170
219
  }
171
220
  catch (e) {
172
221
  return fail(e instanceof Error ? e.message : String(e));
173
222
  }
174
223
  }
224
+ /**
225
+ * Compute a budget alert message based on utilization.
226
+ * Returns undefined if no budget is configured or utilization is within threshold.
227
+ */
228
+ computeBudgetAlert(totalCostUsd, budgetUsd, utilizationPct, _estimatedCardCount) {
229
+ if (budgetUsd === undefined || utilizationPct === undefined) {
230
+ return undefined;
231
+ }
232
+ const threshold = this.dashboardConfig.budgetAlertThreshold;
233
+ const thresholdPct = threshold * 100;
234
+ if (totalCostUsd >= budgetUsd) {
235
+ return `OVER BUDGET: $${totalCostUsd.toFixed(4)} spent of $${budgetUsd.toFixed(2)} budget (${utilizationPct.toFixed(1)}%)`;
236
+ }
237
+ if (utilizationPct >= thresholdPct) {
238
+ const remaining = budgetUsd - totalCostUsd;
239
+ return `Budget warning: ${utilizationPct.toFixed(1)}% utilized ($${remaining.toFixed(4)} remaining of $${budgetUsd.toFixed(2)})`;
240
+ }
241
+ return undefined;
242
+ }
175
243
  /** Get workspace-wide summary with recommendations. */
176
244
  async getWorkspaceSummary(req) {
177
245
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-use-cases.js","sourceRoot":"","sources":["../../../src/application/token-metrics/tracking-use-cases.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AAkBrD,6CAA6C;AAC7C,SAAS,eAAe,CAAC,KAAiB;IACxC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE;KACnC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,YAAoB,EACpB,WAAmB,EACnB,WAIE,EACF,SAGE;IAEF,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,uBAAuB;IACvB,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CACP,qBAAqB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,2DAA2D,CACxG,CAAC;IACJ,CAAC;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CACP,iBAAiB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CACtE,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;IAC1E,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAI,CACP,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS,IAAI,WAAW,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,WAAW,GAAG,GAAG,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,CACP,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAC/B,IAAI,cAAc,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;YACtE,IAAI,CAAC,IAAI,CACP,UAAU,QAAQ,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,0CAA0C,CAC1I,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,IAA4B;QAA5B,SAAI,GAAJ,IAAI,CAAwB;IAAG,CAAC;IAE7D,kCAAkC;IAClC,KAAK,CAAC,WAAW,CACf,GAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;gBAC7B,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9B,EAAE;gBACF,SAAS;gBACT,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,eAAe,CACnB,GAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;gBACzD,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS;oBAC7B,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,cAAc,CAClB,GAA0B;QAE1B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAC/C,SAAS,EACT,GAAG,CAAC,KAAK,CACV,CAAC;YACF,OAAO,EAAE,CACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;aACvC,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,aAAa,CACjB,GAAyB;QAEzB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9C,SAAS,EACT,GAAG,CAAC,MAAM,CACX,CAAC;YACF,OAAO,EAAE,CACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;aACzB,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,eAAe,CACnB,GAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAChD,SAAS,EACT,GAAG,CAAC,QAAQ,CACb,CAAC;YACF,OAAO,EAAE,CACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,aAAa,EACX,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAChE,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,mBAAmB,CACvB,GAA+B;QAE/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAE/D,MAAM,eAAe,GAAG,uBAAuB,CAC7C,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,CAClB,CAAC;YAEF,OAAO,EAAE,CAAC;gBACR,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3C,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC;gBACH,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvC,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC7B,CAAC,CAAC;gBACH,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,YAAY,CAAC,GAAwB;QACnC,MAAM,IAAI,GAAG,aAAa,CACxB,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,KAAK,CACV,CAAC;QACF,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW,EAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY;YAC/C,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"tracking-use-cases.js","sourceRoot":"","sources":["../../../src/application/token-metrics/tracking-use-cases.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,16 @@ export interface KanbanConfig {
84
84
  /** Minimum seconds between status transitions (prevents rubber-stamping). */
85
85
  readonly minTransitionIntervalSecs: number;
86
86
  }
87
+ /**
88
+ * Token Metrics bounded context configuration.
89
+ * Controls sprint budget tracking and cost alerts.
90
+ */
91
+ export interface TokenMetricsConfig {
92
+ /** Optional sprint budget in USD. When set, sprint reports include utilization %. */
93
+ readonly sprintBudgetUsd: number | null;
94
+ /** Budget utilization threshold (0-1) that triggers an alert. Default: 0.8. */
95
+ readonly budgetAlertThreshold: number;
96
+ }
87
97
  /**
88
98
  * Maps context names to their typed config interfaces.
89
99
  * Used by ConfigService for type-safe config retrieval.
@@ -95,6 +105,7 @@ export interface ConfigMap {
95
105
  "azure-sync": AzureSyncConfig;
96
106
  "mcp-server": McpServerConfig;
97
107
  kanban: KanbanConfig;
108
+ "token-metrics": TokenMetricsConfig;
98
109
  }
99
110
  /** Default RAG configuration (used when YAML is absent or incomplete). */
100
111
  export declare const DEFAULT_RAG_CONFIG: RagConfig;
@@ -108,6 +119,8 @@ export declare const DEFAULT_AZURE_SYNC_CONFIG: AzureSyncConfig;
108
119
  export declare const DEFAULT_MCP_SERVER_CONFIG: McpServerConfig;
109
120
  /** Default Kanban configuration with gate tasks per phase. */
110
121
  export declare const DEFAULT_KANBAN_CONFIG: KanbanConfig;
122
+ /** Default Token Metrics configuration. */
123
+ export declare const DEFAULT_TOKEN_METRICS_CONFIG: TokenMetricsConfig;
111
124
  /**
112
125
  * All defaults indexed by context name.
113
126
  * Used by ConfigService for fallback resolution.
@@ -1 +1 @@
1
- {"version":3,"file":"value-objects.d.ts","sourceRoot":"","sources":["../../../src/domain/config/value-objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value-objects.d.ts","sourceRoot":"","sources":["../../../src/domain/config/value-objects.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,11 @@ export const DEFAULT_KANBAN_CONFIG = {
80
80
  },
81
81
  minTransitionIntervalSecs: 30,
82
82
  };
83
+ /** Default Token Metrics configuration. */
84
+ export const DEFAULT_TOKEN_METRICS_CONFIG = {
85
+ sprintBudgetUsd: null,
86
+ budgetAlertThreshold: 0.8,
87
+ };
83
88
  /**
84
89
  * All defaults indexed by context name.
85
90
  * Used by ConfigService for fallback resolution.
@@ -91,5 +96,6 @@ export const CONFIG_DEFAULTS = {
91
96
  "azure-sync": DEFAULT_AZURE_SYNC_CONFIG,
92
97
  "mcp-server": DEFAULT_MCP_SERVER_CONFIG,
93
98
  kanban: DEFAULT_KANBAN_CONFIG,
99
+ "token-metrics": DEFAULT_TOKEN_METRICS_CONFIG,
94
100
  };
95
101
  //# sourceMappingURL=value-objects.js.map