@windagency/valora 2.1.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +2 -2
  2. package/data/commands/create-backlog.md +4 -0
  3. package/data/commands/create-prd.md +3 -0
  4. package/data/commands/generate-docs.md +4 -0
  5. package/data/commands/implement.md +2 -0
  6. package/data/commands/plan-architecture.md +1 -0
  7. package/data/commands/plan-implementation.md +2 -0
  8. package/data/commands/refine-specs.md +2 -0
  9. package/data/commands/refine-task.md +2 -0
  10. package/data/commands/review-code.md +1 -0
  11. package/data/commands/review-functional.md +1 -0
  12. package/data/commands/review-plan.md +5 -0
  13. package/dist/batch/batch-eligibility.d.ts +17 -0
  14. package/dist/batch/batch-eligibility.d.ts.map +1 -0
  15. package/dist/batch/batch-eligibility.js +22 -0
  16. package/dist/batch/batch-eligibility.js.map +1 -0
  17. package/dist/batch/batch-orchestrator.d.ts +35 -0
  18. package/dist/batch/batch-orchestrator.d.ts.map +1 -0
  19. package/dist/batch/batch-orchestrator.js +121 -0
  20. package/dist/batch/batch-orchestrator.js.map +1 -0
  21. package/dist/batch/batch-provider.interface.d.ts +14 -0
  22. package/dist/batch/batch-provider.interface.d.ts.map +1 -0
  23. package/dist/batch/batch-provider.interface.js +9 -0
  24. package/dist/batch/batch-provider.interface.js.map +1 -0
  25. package/dist/batch/batch-session.d.ts +29 -0
  26. package/dist/batch/batch-session.d.ts.map +1 -0
  27. package/dist/batch/batch-session.js +91 -0
  28. package/dist/batch/batch-session.js.map +1 -0
  29. package/dist/batch/batch.types.d.ts +48 -0
  30. package/dist/batch/batch.types.d.ts.map +1 -0
  31. package/dist/batch/batch.types.js +5 -0
  32. package/dist/batch/batch.types.js.map +1 -0
  33. package/dist/batch/providers/anthropic.batch-provider.d.ts +33 -0
  34. package/dist/batch/providers/anthropic.batch-provider.d.ts.map +1 -0
  35. package/dist/batch/providers/anthropic.batch-provider.js +106 -0
  36. package/dist/batch/providers/anthropic.batch-provider.js.map +1 -0
  37. package/dist/batch/providers/google.batch-provider.d.ts +32 -0
  38. package/dist/batch/providers/google.batch-provider.d.ts.map +1 -0
  39. package/dist/batch/providers/google.batch-provider.js +41 -0
  40. package/dist/batch/providers/google.batch-provider.js.map +1 -0
  41. package/dist/batch/providers/openai.batch-provider.d.ts +32 -0
  42. package/dist/batch/providers/openai.batch-provider.d.ts.map +1 -0
  43. package/dist/batch/providers/openai.batch-provider.js +151 -0
  44. package/dist/batch/providers/openai.batch-provider.js.map +1 -0
  45. package/dist/cli/command-executor.d.ts +5 -0
  46. package/dist/cli/command-executor.d.ts.map +1 -1
  47. package/dist/cli/command-executor.js +63 -11
  48. package/dist/cli/command-executor.js.map +1 -1
  49. package/dist/cli/commands/batch.command.d.ts +14 -0
  50. package/dist/cli/commands/batch.command.d.ts.map +1 -0
  51. package/dist/cli/commands/batch.command.js +174 -0
  52. package/dist/cli/commands/batch.command.js.map +1 -0
  53. package/dist/cli/commands/monitoring.d.ts.map +1 -1
  54. package/dist/cli/commands/monitoring.js +119 -0
  55. package/dist/cli/commands/monitoring.js.map +1 -1
  56. package/dist/cli/flags.d.ts +1 -0
  57. package/dist/cli/flags.d.ts.map +1 -1
  58. package/dist/cli/flags.js +1 -0
  59. package/dist/cli/flags.js.map +1 -1
  60. package/dist/cli/index.js +4 -0
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli/result-presenter.d.ts +6 -2
  63. package/dist/cli/result-presenter.d.ts.map +1 -1
  64. package/dist/cli/result-presenter.js +22 -12
  65. package/dist/cli/result-presenter.js.map +1 -1
  66. package/dist/cli/types/cli-options.types.d.ts +1 -0
  67. package/dist/cli/types/cli-options.types.d.ts.map +1 -1
  68. package/dist/config/schema.d.ts +87 -12
  69. package/dist/config/schema.d.ts.map +1 -1
  70. package/dist/config/schema.js +1 -0
  71. package/dist/config/schema.js.map +1 -1
  72. package/dist/executor/stage-executor.d.ts +16 -0
  73. package/dist/executor/stage-executor.d.ts.map +1 -1
  74. package/dist/executor/stage-executor.js +107 -4
  75. package/dist/executor/stage-executor.js.map +1 -1
  76. package/dist/executor/tool-execution.service.d.ts +37 -4
  77. package/dist/executor/tool-execution.service.d.ts.map +1 -1
  78. package/dist/executor/tool-execution.service.js +90 -25
  79. package/dist/executor/tool-execution.service.js.map +1 -1
  80. package/dist/executor/tools/search-tools.service.js +3 -3
  81. package/dist/executor/tools/search-tools.service.js.map +1 -1
  82. package/dist/executor/tools/session-tools.service.js +5 -5
  83. package/dist/executor/tools/session-tools.service.js.map +1 -1
  84. package/dist/executor/variable-resolution.service.d.ts.map +1 -1
  85. package/dist/executor/variable-resolution.service.js +1 -2
  86. package/dist/executor/variable-resolution.service.js.map +1 -1
  87. package/dist/executor/variables.d.ts +1 -5
  88. package/dist/executor/variables.d.ts.map +1 -1
  89. package/dist/executor/variables.js +0 -21
  90. package/dist/executor/variables.js.map +1 -1
  91. package/dist/llm/providers/anthropic.provider.d.ts +30 -1
  92. package/dist/llm/providers/anthropic.provider.d.ts.map +1 -1
  93. package/dist/llm/providers/anthropic.provider.js +163 -6
  94. package/dist/llm/providers/anthropic.provider.js.map +1 -1
  95. package/dist/llm/providers/google.provider.d.ts +9 -0
  96. package/dist/llm/providers/google.provider.d.ts.map +1 -1
  97. package/dist/llm/providers/google.provider.js +25 -10
  98. package/dist/llm/providers/google.provider.js.map +1 -1
  99. package/dist/llm/providers/openai.provider.d.ts +17 -1
  100. package/dist/llm/providers/openai.provider.d.ts.map +1 -1
  101. package/dist/llm/providers/openai.provider.js +93 -25
  102. package/dist/llm/providers/openai.provider.js.map +1 -1
  103. package/dist/output/processing-feedback.d.ts +14 -0
  104. package/dist/output/processing-feedback.d.ts.map +1 -1
  105. package/dist/output/processing-feedback.js +46 -7
  106. package/dist/output/processing-feedback.js.map +1 -1
  107. package/dist/package.json +3 -3
  108. package/dist/session/context.d.ts +2 -0
  109. package/dist/session/context.d.ts.map +1 -1
  110. package/dist/session/context.js +43 -13
  111. package/dist/session/context.js.map +1 -1
  112. package/dist/tsconfig.json +1 -0
  113. package/dist/types/command.types.d.ts +15 -1
  114. package/dist/types/command.types.d.ts.map +1 -1
  115. package/dist/types/llm.types.d.ts +4 -0
  116. package/dist/types/llm.types.d.ts.map +1 -1
  117. package/dist/ui/dashboard/detail-panels/spending-panel.d.ts +9 -0
  118. package/dist/ui/dashboard/detail-panels/spending-panel.d.ts.map +1 -0
  119. package/dist/ui/dashboard/detail-panels/spending-panel.js +28 -0
  120. package/dist/ui/dashboard/detail-panels/spending-panel.js.map +1 -0
  121. package/dist/ui/dashboard/hooks/use-navigation.js +1 -1
  122. package/dist/ui/dashboard/hooks/use-navigation.js.map +1 -1
  123. package/dist/ui/dashboard/index.d.ts +1 -0
  124. package/dist/ui/dashboard/index.d.ts.map +1 -1
  125. package/dist/ui/dashboard/index.js +1 -0
  126. package/dist/ui/dashboard/index.js.map +1 -1
  127. package/dist/ui/dashboard/types.d.ts +1 -1
  128. package/dist/ui/dashboard/types.d.ts.map +1 -1
  129. package/dist/ui/dashboard/views/session-details-view.d.ts.map +1 -1
  130. package/dist/ui/dashboard/views/session-details-view.js +5 -1
  131. package/dist/ui/dashboard/views/session-details-view.js.map +1 -1
  132. package/dist/utils/spending-tracker.d.ts +64 -0
  133. package/dist/utils/spending-tracker.d.ts.map +1 -0
  134. package/dist/utils/spending-tracker.js +107 -0
  135. package/dist/utils/spending-tracker.js.map +1 -0
  136. package/dist/utils/token-estimator.d.ts +31 -5
  137. package/dist/utils/token-estimator.d.ts.map +1 -1
  138. package/dist/utils/token-estimator.js +42 -20
  139. package/dist/utils/token-estimator.js.map +1 -1
  140. package/package.json +3 -3
@@ -4,7 +4,7 @@
4
4
  * Estimates token usage and cost for LLM API calls.
5
5
  * Uses approximate token counting (4 characters per token for English text).
6
6
  */
7
- import type { LLMMessage } from '../types/llm.types.js';
7
+ import type { LLMMessage, LLMUsage } from '../types/llm.types.js';
8
8
  export interface TokenEstimate {
9
9
  /** Estimated cost in USD */
10
10
  estimatedCost: {
@@ -17,6 +17,23 @@ export interface TokenEstimate {
17
17
  promptTokens: number;
18
18
  /** Total estimated tokens */
19
19
  totalTokens: number;
20
+ /** Tokens read from cache (optional, populated from actual usage) */
21
+ cacheReadTokens?: number;
22
+ /** Tokens written to cache (optional, populated from actual usage) */
23
+ cacheWriteTokens?: number;
24
+ /** Estimated cost savings from caching in USD (optional) */
25
+ cacheSavings?: number;
26
+ }
27
+ /**
28
+ * Model pricing per million tokens (approximate as of 2024)
29
+ * cache_write: cost per million tokens for writing to cache (1.25x input)
30
+ * cache_read: cost per million tokens for reading from cache (0.1x input)
31
+ */
32
+ interface ModelPricing {
33
+ cache_read?: number;
34
+ cache_write?: number;
35
+ input: number;
36
+ output: number;
20
37
  }
21
38
  /**
22
39
  * Estimate token usage and cost for a set of messages
@@ -40,16 +57,24 @@ export declare function estimateTokensFromText(text: string): number;
40
57
  * @returns Formatted string
41
58
  */
42
59
  export declare function formatTokenEstimate(estimate: TokenEstimate): string;
60
+ /**
61
+ * Calculate actual cost from real usage data, including cache pricing
62
+ *
63
+ * @param usage - Actual token usage from API response
64
+ * @param model - Model name for pricing lookup
65
+ * @returns Total cost and cache savings in USD
66
+ */
67
+ export declare function calculateActualCost(usage: LLMUsage, model?: string): {
68
+ cacheSavings: number;
69
+ totalCost: number;
70
+ };
43
71
  /**
44
72
  * Get pricing info for a model
45
73
  *
46
74
  * @param model - Model name
47
75
  * @returns Pricing info or undefined
48
76
  */
49
- export declare function getModelPricing(model: string): undefined | {
50
- input: number;
51
- output: number;
52
- };
77
+ export declare function getModelPricing(model: string): ModelPricing | undefined;
53
78
  /**
54
79
  * Check if a model has known pricing
55
80
  *
@@ -57,4 +82,5 @@ export declare function getModelPricing(model: string): undefined | {
57
82
  * @returns True if pricing is available
58
83
  */
59
84
  export declare function hasKnownPricing(model: string): boolean;
85
+ export {};
60
86
  //# sourceMappingURL=token-estimator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/utils/token-estimator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC7B,4BAA4B;IAC5B,aAAa,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;IACnD,qEAAqE;IACrE,yBAAyB,EAAE,MAAM,CAAC;IAClC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACpB;AAoCD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAqCpF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAOnE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/utils/token-estimator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC7B,4BAA4B;IAC5B,aAAa,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;IACnD,qEAAqE;IACrE,yBAAyB,EAAE,MAAM,CAAC;IAClC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,UAAU,YAAY;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAgCD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAqCpF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAOnE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAwBhH;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -4,29 +4,25 @@
4
4
  * Estimates token usage and cost for LLM API calls.
5
5
  * Uses approximate token counting (4 characters per token for English text).
6
6
  */
7
- /**
8
- * Model pricing per 1K tokens (approximate as of 2024)
9
- * Format: { input: pricePerMillion, output: pricePerMillion }
10
- */
11
7
  const MODEL_PRICING = {
12
- // Anthropic models
13
- 'claude-3-5-haiku-20241022': { input: 1.0, output: 5.0 },
14
- 'claude-3-5-haiku-latest': { input: 1.0, output: 5.0 },
15
- 'claude-3-5-sonnet-20241022': { input: 3.0, output: 15.0 },
16
- 'claude-3-5-sonnet-latest': { input: 3.0, output: 15.0 },
17
- 'claude-3-haiku-20240307': { input: 0.25, output: 1.25 },
18
- 'claude-3-opus-20240229': { input: 15.0, output: 75.0 },
19
- 'claude-3-sonnet-20240229': { input: 3.0, output: 15.0 },
20
- // OpenAI models
8
+ // Anthropic models (with cache pricing)
9
+ 'claude-3-5-haiku-20241022': { cache_read: 0.1, cache_write: 1.25, input: 1.0, output: 5.0 },
10
+ 'claude-3-5-haiku-latest': { cache_read: 0.1, cache_write: 1.25, input: 1.0, output: 5.0 },
11
+ 'claude-3-5-sonnet-20241022': { cache_read: 0.3, cache_write: 3.75, input: 3.0, output: 15.0 },
12
+ 'claude-3-5-sonnet-latest': { cache_read: 0.3, cache_write: 3.75, input: 3.0, output: 15.0 },
13
+ 'claude-3-haiku-20240307': { cache_read: 0.025, cache_write: 0.3125, input: 0.25, output: 1.25 },
14
+ 'claude-3-opus-20240229': { cache_read: 1.5, cache_write: 18.75, input: 15.0, output: 75.0 },
15
+ 'claude-3-sonnet-20240229': { cache_read: 0.3, cache_write: 3.75, input: 3.0, output: 15.0 },
16
+ // OpenAI models (automatic caching: cached reads at 50% discount, no write surcharge)
21
17
  'gpt-3.5-turbo': { input: 0.5, output: 1.5 },
22
18
  'gpt-4': { input: 30.0, output: 60.0 },
23
- 'gpt-4-turbo': { input: 10.0, output: 30.0 },
24
- 'gpt-4o': { input: 2.5, output: 10.0 },
25
- 'gpt-4o-mini': { input: 0.15, output: 0.6 },
26
- // Google models
27
- 'gemini-1.5-flash': { input: 0.075, output: 0.3 },
28
- 'gemini-1.5-pro': { input: 1.25, output: 5.0 },
29
- 'gemini-2.0-flash-exp': { input: 0.075, output: 0.3 }
19
+ 'gpt-4-turbo': { cache_read: 5.0, input: 10.0, output: 30.0 },
20
+ 'gpt-4o': { cache_read: 1.25, input: 2.5, output: 10.0 },
21
+ 'gpt-4o-mini': { cache_read: 0.075, input: 0.15, output: 0.6 },
22
+ // Google models (context caching: cached reads at 75% discount)
23
+ 'gemini-1.5-flash': { cache_read: 0.01875, input: 0.075, output: 0.3 },
24
+ 'gemini-1.5-pro': { cache_read: 0.3125, input: 1.25, output: 5.0 },
25
+ 'gemini-2.0-flash-exp': { cache_read: 0.01875, input: 0.075, output: 0.3 }
30
26
  };
31
27
  /** Default pricing if model not found */
32
28
  const DEFAULT_PRICING = { input: 3.0, output: 15.0 };
@@ -93,6 +89,32 @@ export function formatTokenEstimate(estimate) {
93
89
  ` Cost: $${estimate.estimatedCost.amount.toFixed(4)} ${estimate.estimatedCost.currency}`
94
90
  ].join('\n');
95
91
  }
92
+ /**
93
+ * Calculate actual cost from real usage data, including cache pricing
94
+ *
95
+ * @param usage - Actual token usage from API response
96
+ * @param model - Model name for pricing lookup
97
+ * @returns Total cost and cache savings in USD
98
+ */
99
+ export function calculateActualCost(usage, model) {
100
+ const pricing = MODEL_PRICING[model ?? ''] ?? DEFAULT_PRICING;
101
+ // Base input/output costs
102
+ const inputCost = (usage.prompt_tokens / 1_000_000) * pricing.input;
103
+ const outputCost = (usage.completion_tokens / 1_000_000) * pricing.output;
104
+ // Cache costs (if present)
105
+ const cacheWriteTokens = usage.cache_creation_input_tokens ?? 0;
106
+ const cacheReadTokens = usage.cache_read_input_tokens ?? 0;
107
+ const cacheWriteCost = pricing.cache_write ? (cacheWriteTokens / 1_000_000) * pricing.cache_write : 0;
108
+ const cacheReadCost = pricing.cache_read ? (cacheReadTokens / 1_000_000) * pricing.cache_read : 0;
109
+ // Savings: what those cached tokens would have cost at full input price
110
+ const fullPriceForCachedTokens = (cacheReadTokens / 1_000_000) * pricing.input;
111
+ const cacheSavings = fullPriceForCachedTokens - cacheReadCost;
112
+ const totalCost = inputCost + outputCost + cacheWriteCost + cacheReadCost;
113
+ return {
114
+ cacheSavings: Math.round(cacheSavings * 10000) / 10000,
115
+ totalCost: Math.round(totalCost * 10000) / 10000
116
+ };
117
+ }
96
118
  /**
97
119
  * Get pricing info for a model
98
120
  *
@@ -1 +1 @@
1
- {"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/utils/token-estimator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/utils/token-estimator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windagency/valora",
3
- "version": "2.1.3",
3
+ "version": "2.2.0",
4
4
  "description": "VALORA - AI-assisted development workflow orchestration with agnostic multi-LLM support, session-based state, and Cursor MCP integration",
5
5
  "keywords": [
6
6
  "valora",
@@ -70,8 +70,8 @@
70
70
  "clear": "pnpm \"/clean:/\" && rm -rf ./node_modules",
71
71
  "lint": "eslint --color",
72
72
  "lint:fix": "eslint --color --fix",
73
- "beautify": "prettier --check \"**/*.+(js|ts|json)\"",
74
- "beautify:fix": "prettier --write \"**/*.+(js|ts|json)\"",
73
+ "beautify": "prettier --check \"**/*.+(js|jsx|ts|tsx|json|md|yml|yaml)\"",
74
+ "beautify:fix": "prettier --write \"**/*.+(js|jsx|ts|tsx|json|md|yml|yaml)\"",
75
75
  "format": "pnpm beautify:fix && pnpm lint:fix",
76
76
  "mcp:validate-types": "pnpm exec tsx scripts/generate-mcp-types.ts",
77
77
  "mcp:fix-types": "pnpm exec tsx scripts/generate-mcp-types.ts --fix",