@windagency/valora 2.1.4 → 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 (131) 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/plan-architecture.md +1 -0
  6. package/data/commands/plan-implementation.md +2 -0
  7. package/data/commands/refine-specs.md +2 -0
  8. package/data/commands/refine-task.md +2 -0
  9. package/data/commands/review-code.md +1 -0
  10. package/data/commands/review-functional.md +1 -0
  11. package/data/commands/review-plan.md +5 -0
  12. package/dist/batch/batch-eligibility.d.ts +17 -0
  13. package/dist/batch/batch-eligibility.d.ts.map +1 -0
  14. package/dist/batch/batch-eligibility.js +22 -0
  15. package/dist/batch/batch-eligibility.js.map +1 -0
  16. package/dist/batch/batch-orchestrator.d.ts +35 -0
  17. package/dist/batch/batch-orchestrator.d.ts.map +1 -0
  18. package/dist/batch/batch-orchestrator.js +121 -0
  19. package/dist/batch/batch-orchestrator.js.map +1 -0
  20. package/dist/batch/batch-provider.interface.d.ts +14 -0
  21. package/dist/batch/batch-provider.interface.d.ts.map +1 -0
  22. package/dist/batch/batch-provider.interface.js +9 -0
  23. package/dist/batch/batch-provider.interface.js.map +1 -0
  24. package/dist/batch/batch-session.d.ts +29 -0
  25. package/dist/batch/batch-session.d.ts.map +1 -0
  26. package/dist/batch/batch-session.js +91 -0
  27. package/dist/batch/batch-session.js.map +1 -0
  28. package/dist/batch/batch.types.d.ts +48 -0
  29. package/dist/batch/batch.types.d.ts.map +1 -0
  30. package/dist/batch/batch.types.js +5 -0
  31. package/dist/batch/batch.types.js.map +1 -0
  32. package/dist/batch/providers/anthropic.batch-provider.d.ts +33 -0
  33. package/dist/batch/providers/anthropic.batch-provider.d.ts.map +1 -0
  34. package/dist/batch/providers/anthropic.batch-provider.js +106 -0
  35. package/dist/batch/providers/anthropic.batch-provider.js.map +1 -0
  36. package/dist/batch/providers/google.batch-provider.d.ts +32 -0
  37. package/dist/batch/providers/google.batch-provider.d.ts.map +1 -0
  38. package/dist/batch/providers/google.batch-provider.js +41 -0
  39. package/dist/batch/providers/google.batch-provider.js.map +1 -0
  40. package/dist/batch/providers/openai.batch-provider.d.ts +32 -0
  41. package/dist/batch/providers/openai.batch-provider.d.ts.map +1 -0
  42. package/dist/batch/providers/openai.batch-provider.js +151 -0
  43. package/dist/batch/providers/openai.batch-provider.js.map +1 -0
  44. package/dist/cli/command-executor.d.ts +5 -0
  45. package/dist/cli/command-executor.d.ts.map +1 -1
  46. package/dist/cli/command-executor.js +63 -11
  47. package/dist/cli/command-executor.js.map +1 -1
  48. package/dist/cli/commands/batch.command.d.ts +14 -0
  49. package/dist/cli/commands/batch.command.d.ts.map +1 -0
  50. package/dist/cli/commands/batch.command.js +174 -0
  51. package/dist/cli/commands/batch.command.js.map +1 -0
  52. package/dist/cli/commands/monitoring.d.ts.map +1 -1
  53. package/dist/cli/commands/monitoring.js +119 -0
  54. package/dist/cli/commands/monitoring.js.map +1 -1
  55. package/dist/cli/flags.d.ts +1 -0
  56. package/dist/cli/flags.d.ts.map +1 -1
  57. package/dist/cli/flags.js +1 -0
  58. package/dist/cli/flags.js.map +1 -1
  59. package/dist/cli/index.js +4 -0
  60. package/dist/cli/index.js.map +1 -1
  61. package/dist/cli/result-presenter.d.ts +6 -2
  62. package/dist/cli/result-presenter.d.ts.map +1 -1
  63. package/dist/cli/result-presenter.js +22 -12
  64. package/dist/cli/result-presenter.js.map +1 -1
  65. package/dist/cli/types/cli-options.types.d.ts +1 -0
  66. package/dist/cli/types/cli-options.types.d.ts.map +1 -1
  67. package/dist/config/schema.d.ts +87 -12
  68. package/dist/config/schema.d.ts.map +1 -1
  69. package/dist/config/schema.js +1 -0
  70. package/dist/config/schema.js.map +1 -1
  71. package/dist/executor/stage-executor.d.ts +11 -0
  72. package/dist/executor/stage-executor.d.ts.map +1 -1
  73. package/dist/executor/stage-executor.js +89 -0
  74. package/dist/executor/stage-executor.js.map +1 -1
  75. package/dist/executor/variable-resolution.service.d.ts.map +1 -1
  76. package/dist/executor/variable-resolution.service.js +1 -2
  77. package/dist/executor/variable-resolution.service.js.map +1 -1
  78. package/dist/executor/variables.d.ts +1 -5
  79. package/dist/executor/variables.d.ts.map +1 -1
  80. package/dist/executor/variables.js +0 -21
  81. package/dist/executor/variables.js.map +1 -1
  82. package/dist/llm/providers/anthropic.provider.d.ts +30 -1
  83. package/dist/llm/providers/anthropic.provider.d.ts.map +1 -1
  84. package/dist/llm/providers/anthropic.provider.js +163 -6
  85. package/dist/llm/providers/anthropic.provider.js.map +1 -1
  86. package/dist/llm/providers/google.provider.d.ts +9 -0
  87. package/dist/llm/providers/google.provider.d.ts.map +1 -1
  88. package/dist/llm/providers/google.provider.js +25 -10
  89. package/dist/llm/providers/google.provider.js.map +1 -1
  90. package/dist/llm/providers/openai.provider.d.ts +17 -1
  91. package/dist/llm/providers/openai.provider.d.ts.map +1 -1
  92. package/dist/llm/providers/openai.provider.js +93 -25
  93. package/dist/llm/providers/openai.provider.js.map +1 -1
  94. package/dist/output/processing-feedback.d.ts +14 -0
  95. package/dist/output/processing-feedback.d.ts.map +1 -1
  96. package/dist/output/processing-feedback.js +46 -7
  97. package/dist/output/processing-feedback.js.map +1 -1
  98. package/dist/package.json +3 -3
  99. package/dist/session/context.d.ts +2 -0
  100. package/dist/session/context.d.ts.map +1 -1
  101. package/dist/session/context.js +43 -13
  102. package/dist/session/context.js.map +1 -1
  103. package/dist/tsconfig.json +1 -0
  104. package/dist/types/command.types.d.ts +2 -0
  105. package/dist/types/command.types.d.ts.map +1 -1
  106. package/dist/types/llm.types.d.ts +4 -0
  107. package/dist/types/llm.types.d.ts.map +1 -1
  108. package/dist/ui/dashboard/detail-panels/spending-panel.d.ts +9 -0
  109. package/dist/ui/dashboard/detail-panels/spending-panel.d.ts.map +1 -0
  110. package/dist/ui/dashboard/detail-panels/spending-panel.js +28 -0
  111. package/dist/ui/dashboard/detail-panels/spending-panel.js.map +1 -0
  112. package/dist/ui/dashboard/hooks/use-navigation.js +1 -1
  113. package/dist/ui/dashboard/hooks/use-navigation.js.map +1 -1
  114. package/dist/ui/dashboard/index.d.ts +1 -0
  115. package/dist/ui/dashboard/index.d.ts.map +1 -1
  116. package/dist/ui/dashboard/index.js +1 -0
  117. package/dist/ui/dashboard/index.js.map +1 -1
  118. package/dist/ui/dashboard/types.d.ts +1 -1
  119. package/dist/ui/dashboard/types.d.ts.map +1 -1
  120. package/dist/ui/dashboard/views/session-details-view.d.ts.map +1 -1
  121. package/dist/ui/dashboard/views/session-details-view.js +5 -1
  122. package/dist/ui/dashboard/views/session-details-view.js.map +1 -1
  123. package/dist/utils/spending-tracker.d.ts +64 -0
  124. package/dist/utils/spending-tracker.d.ts.map +1 -0
  125. package/dist/utils/spending-tracker.js +107 -0
  126. package/dist/utils/spending-tracker.js.map +1 -0
  127. package/dist/utils/token-estimator.d.ts +31 -5
  128. package/dist/utils/token-estimator.d.ts.map +1 -1
  129. package/dist/utils/token-estimator.js +42 -20
  130. package/dist/utils/token-estimator.js.map +1 -1
  131. package/package.json +3 -3
@@ -10,6 +10,8 @@
10
10
  */
11
11
  import Anthropic from '@anthropic-ai/sdk';
12
12
  import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
13
+ import { generateLocalId } from '../../batch/batch-session.js';
14
+ import { cancelAnthropicBatch, getAnthropicBatchResults, getAnthropicBatchStatus, submitAnthropicBatch } from '../../batch/providers/anthropic.batch-provider.js';
13
15
  import { createHash } from 'crypto';
14
16
  import { Agent as UndiciAgent, fetch as undiciFetch } from 'undici';
15
17
  import { DEFAULT_MAX_TOKENS } from '../../config/constants.js';
@@ -19,6 +21,9 @@ import { BaseLLMProvider } from '../provider.interface.js';
19
21
  import { getProviderRegistry } from '../registry.js';
20
22
  import { createErrorContext, ProviderError, withCircuitBreaker, withRetry } from '../../utils/error-handler.js';
21
23
  import { checkRateLimit, getRateLimitStatus } from '../../utils/rate-limiter.js';
24
+ import { estimateTokensFromText } from '../../utils/token-estimator.js';
25
+ /** Minimum estimated tokens for a content block to be worth caching */
26
+ const MIN_CACHEABLE_TOKENS = 1024;
22
27
  export class AnthropicProvider extends BaseLLMProvider {
23
28
  name = ProviderName.ANTHROPIC;
24
29
  client = null;
@@ -99,19 +104,18 @@ export class AnthropicProvider extends BaseLLMProvider {
99
104
  tools: formattedTools,
100
105
  top_p: options.top_p
101
106
  };
107
+ // Apply cache breakpoints if prompt caching is enabled
108
+ this.applyCacheBreakpoints(messageParams);
102
109
  const response = client instanceof AnthropicVertex
103
110
  ? await client.messages.create(messageParams)
104
111
  : await client.messages.create(messageParams);
112
+ const usage = this.extractUsage(response.usage);
105
113
  return {
106
114
  content: this.extractContent(response),
107
115
  finish_reason: response.stop_reason ?? undefined,
108
116
  role: 'assistant',
109
117
  tool_calls: this.extractToolCalls(response),
110
- usage: {
111
- completion_tokens: response.usage.output_tokens,
112
- prompt_tokens: response.usage.input_tokens,
113
- total_tokens: response.usage.input_tokens + response.usage.output_tokens
114
- }
118
+ usage
115
119
  };
116
120
  };
117
121
  try {
@@ -179,7 +183,7 @@ export class AnthropicProvider extends BaseLLMProvider {
179
183
  buildStreamParams(options, messages, system) {
180
184
  // Resolve model name for Vertex AI compatibility
181
185
  const resolvedModel = this.resolveModelName(options.model, options.mode);
182
- return {
186
+ const params = {
183
187
  max_tokens: options.max_tokens ?? DEFAULT_MAX_TOKENS,
184
188
  messages,
185
189
  model: resolvedModel,
@@ -193,6 +197,9 @@ export class AnthropicProvider extends BaseLLMProvider {
193
197
  })),
194
198
  top_p: options.top_p
195
199
  };
200
+ // Apply cache breakpoints if prompt caching is enabled
201
+ this.applyCacheBreakpoints(params);
202
+ return params;
196
203
  }
197
204
  /**
198
205
  * Process streaming response
@@ -309,6 +316,13 @@ export class AnthropicProvider extends BaseLLMProvider {
309
316
  messageStart: (chunk) => {
310
317
  if (chunk.type === 'message_start') {
311
318
  usage.prompt_tokens = chunk.message.usage.input_tokens;
319
+ const msgUsage = chunk.message.usage;
320
+ if (typeof msgUsage['cache_creation_input_tokens'] === 'number') {
321
+ usage.cache_creation_input_tokens = msgUsage['cache_creation_input_tokens'];
322
+ }
323
+ if (typeof msgUsage['cache_read_input_tokens'] === 'number') {
324
+ usage.cache_read_input_tokens = msgUsage['cache_read_input_tokens'];
325
+ }
312
326
  }
313
327
  }
314
328
  };
@@ -444,12 +458,155 @@ export class AnthropicProvider extends BaseLLMProvider {
444
458
  role: 'assistant'
445
459
  };
446
460
  }
461
+ /**
462
+ * Extract usage metrics from Anthropic response, including cache fields
463
+ */
464
+ extractUsage(responseUsage) {
465
+ const usage = {
466
+ completion_tokens: responseUsage.output_tokens,
467
+ prompt_tokens: responseUsage.input_tokens,
468
+ total_tokens: responseUsage.input_tokens + responseUsage.output_tokens
469
+ };
470
+ const raw = responseUsage;
471
+ if (typeof raw['cache_creation_input_tokens'] === 'number') {
472
+ usage.cache_creation_input_tokens = raw['cache_creation_input_tokens'];
473
+ }
474
+ if (typeof raw['cache_read_input_tokens'] === 'number') {
475
+ usage.cache_read_input_tokens = raw['cache_read_input_tokens'];
476
+ }
477
+ return usage;
478
+ }
479
+ /**
480
+ * Apply cache breakpoints to message params when prompt_caching is enabled.
481
+ * Uses up to 3 breakpoints: system (1) + tools (1) + last user message (1).
482
+ */
483
+ applyCacheBreakpoints(params) {
484
+ if (this.config['prompt_caching'] !== true) {
485
+ return;
486
+ }
487
+ this.applyCacheToSystem(params);
488
+ this.applyCacheToTools(params);
489
+ this.applyCacheToLastUserMessage(params);
490
+ }
491
+ /**
492
+ * Convert system prompt to TextBlockParam[] with cache_control if above token threshold.
493
+ */
494
+ applyCacheToSystem(params) {
495
+ if (typeof params.system !== 'string' || params.system.length === 0) {
496
+ return;
497
+ }
498
+ if (estimateTokensFromText(params.system) < MIN_CACHEABLE_TOKENS) {
499
+ return;
500
+ }
501
+ params.system = [
502
+ {
503
+ cache_control: { type: 'ephemeral' },
504
+ text: params.system,
505
+ type: 'text'
506
+ }
507
+ ];
508
+ }
509
+ /**
510
+ * Add cache_control to the last tool definition.
511
+ */
512
+ applyCacheToTools(params) {
513
+ if (!params.tools || params.tools.length === 0) {
514
+ return;
515
+ }
516
+ const lastTool = params.tools[params.tools.length - 1];
517
+ lastTool['cache_control'] = { type: 'ephemeral' };
518
+ }
519
+ /**
520
+ * Add cache_control to the last user message before the final turn.
521
+ */
522
+ applyCacheToLastUserMessage(params) {
523
+ if (!params.messages || params.messages.length < 2) {
524
+ return;
525
+ }
526
+ for (let i = params.messages.length - 2; i >= 0; i--) {
527
+ const msg = params.messages[i];
528
+ if (msg?.role !== 'user') {
529
+ continue;
530
+ }
531
+ if (typeof msg.content === 'string') {
532
+ params.messages[i] = {
533
+ content: [
534
+ {
535
+ cache_control: { type: 'ephemeral' },
536
+ text: msg.content,
537
+ type: 'text'
538
+ }
539
+ ],
540
+ role: 'user'
541
+ };
542
+ }
543
+ else if (Array.isArray(msg.content) && msg.content.length > 0) {
544
+ const lastBlock = msg.content[msg.content.length - 1];
545
+ if (lastBlock) {
546
+ lastBlock['cache_control'] = { type: 'ephemeral' };
547
+ }
548
+ }
549
+ break;
550
+ }
551
+ }
447
552
  resolveModelName(model, mode) {
448
553
  model ??= this.getDefaultModel() ?? 'claude-sonnet-4.5';
449
554
  const useVertex = this.config['vertexAI'];
450
555
  // Use the model mapping registry for resolution
451
556
  return this.modelMappingRegistry.resolveWithMode(model, mode, useVertex);
452
557
  }
558
+ // ─── BatchableProvider implementation ────────────────────────────────────
559
+ async cancelBatch(batchId) {
560
+ const client = this.getClient();
561
+ if (client instanceof AnthropicVertex) {
562
+ throw new Error('Anthropic Message Batches are not available when using Vertex AI');
563
+ }
564
+ return cancelAnthropicBatch(client, batchId);
565
+ }
566
+ async getBatchResults(batchId) {
567
+ const client = this.getClient();
568
+ if (client instanceof AnthropicVertex) {
569
+ throw new Error('Anthropic Message Batches are not available when using Vertex AI');
570
+ }
571
+ return getAnthropicBatchResults(client, batchId);
572
+ }
573
+ async getBatchStatus(batchId) {
574
+ const client = this.getClient();
575
+ if (client instanceof AnthropicVertex) {
576
+ throw new Error('Anthropic Message Batches are not available when using Vertex AI');
577
+ }
578
+ return getAnthropicBatchStatus(client, batchId);
579
+ }
580
+ async submitBatch(requests) {
581
+ const client = this.getClient();
582
+ if (client instanceof AnthropicVertex) {
583
+ throw new Error('Anthropic Message Batches are not available when using Vertex AI');
584
+ }
585
+ const formatted = requests.map((req) => {
586
+ const { messages, system } = this.formatMessages(req.options.messages);
587
+ const resolvedModel = this.resolveModelName(req.options.model, req.options.mode);
588
+ const formattedTools = req.options.tools?.map((tool) => ({
589
+ description: tool.description,
590
+ input_schema: tool.parameters,
591
+ name: tool.name
592
+ }));
593
+ const params = {
594
+ max_tokens: req.options.max_tokens ?? DEFAULT_MAX_TOKENS,
595
+ messages: messages,
596
+ model: resolvedModel,
597
+ stop_sequences: req.options.stop,
598
+ system,
599
+ temperature: req.options.temperature,
600
+ tools: formattedTools,
601
+ top_p: req.options.top_p
602
+ };
603
+ return { customId: req.id, params };
604
+ });
605
+ return submitAnthropicBatch(client, formatted, this.name, generateLocalId());
606
+ }
607
+ supportsBatch() {
608
+ return true;
609
+ }
453
610
  }
454
611
  // Self-register this provider with the registry when module is loaded
455
612
  getProviderRegistry().registerProvider(ProviderName.ANTHROPIC, AnthropicProvider);
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.provider.js","sourceRoot":"","sources":["../../../src/llm/providers/anthropic.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAA6B,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACrD,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC;IACtB,MAAM,GAAuC,IAAI,CAAC;IACzC,oBAAoB,CAAuB;IAE5D,+DAA+D;IACvD,MAAM,CAAU,mBAAmB,GAAG,KAAK,CAAC;IAEpD,YAAY,SAAkC,EAAE;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA6B;QAC3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,UAAU,EAAE;YACpE,SAAS,EAAE,OAAO,CAAC,UAAU;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,kEAAkE;QAClE,MAAM,WAAW,GAChB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;QAE3G,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzC,sEAAsE;YACtE,MAAM,IAAI,aAAa,CACtB,yGAAyG,EACzG;gBACC,QAAQ,EAAE,YAAY,CAAC,SAAS;gBAChC,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,kFAAkF;aAC9F,EACD,OAAO,EACP;gBACC,aAAa,EAAE;oBACd,OAAO,EAAE,uDAAuD;oBAChE,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;iBAClE;gBACD,IAAI,EAAE,UAAU;aAChB,CACD,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAChE,MAAM,IAAI,aAAa,CACtB,mDAAmD,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAC/G;gBACC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,YAAY,CAAC,SAAS;gBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC3B,EACD,OAAO,EACP,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,oCAAoC;aACrE,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC;QAC3D,IAAI,SAAS,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAkC,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEnE,uDAAuD;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEzE,iCAAiC;YACjC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,UAAwC;gBAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC,CAAC,CAAC;YAEJ,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;gBAC/C,QAAQ,EAAE,CAAC,CAAC,cAAc;gBAC1B,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;gBACtC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAC7C,CAAC,CAAC;YAEH,oEAAoE;YACpE,MAAM,aAAa,GAA8C;gBAChE,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,QAAoC;gBAC9C,KAAK,EAAE,aAAa;gBACpB,cAAc,EAAE,OAAO,CAAC,IAAI;gBAC5B,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,OAAO,CAAC,KAAK;aACpB,CAAC;YAEF,MAAM,QAAQ,GACb,MAAM,YAAY,eAAe;gBAChC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC7C,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEhD,OAAO;gBACN,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACtC,aAAa,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;gBAChD,IAAI,EAAE,WAAoB;gBAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;gBAC3C,KAAK,EAAE;oBACN,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;oBAC/C,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;oBAC1C,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa;iBACxE;aACD,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACJ,OAAO,MAAM,kBAAkB,CAC9B,eAAe,EACf,KAAK,IAAI,EAAE;gBACV,OAAO,SAAS,CAAC,SAAS,EAAE;oBAC3B,WAAW,EAAE,IAAI;oBACjB,OAAO;oBACP,UAAU,EAAE,CAAC;iBACb,CAAC,CAAC;YACJ,CAAC,EACD,OAAO,CACP,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,aAAa,CACtB,wBAAyB,KAAe,CAAC,OAAO,EAAE,EAClD;gBACC,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,YAAY,CAAC,SAAS;aAChC,EACD,OAAO,CACP,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACM,oBAAoB,CAAC,YAAqB;QAClD,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACrF,CAAC;IAED,YAAY;QACX,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhG,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAY,CAAC;QACrD,MAAM,eAAe,GACpB,SAAS;YACT,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,QAAQ;YAClD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC;QAEjD,OAAO,SAAS,IAAI,eAAe,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,OAA6B;QAChE,8DAA8D;QAC9D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;YACxC,iDAAiD;QAClD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAA6B,EAAE,OAAgC;QACnF,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvE,MAAM,MAAM,GACX,MAAM,YAAY,eAAe;gBAChC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC5C,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE/C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,aAAa,CAAC,8BAA+B,KAAe,CAAC,OAAO,EAAE,EAAE;gBACjF,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,YAAY,CAAC,SAAS;aAChC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;OAEG;IACK,iBAAiB,CACxB,OAA6B,EAC7B,QAAkC,EAClC,MAA0B;QAE1B,iDAAiD;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzE,OAAO;YACN,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,kBAAkB;YACpD,QAAQ;YACR,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,UAAwC;gBAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC,CAAC;YACH,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACM,aAAa,CAAC,SAAiB;QACvC,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9D,kEAAkE;QAClE,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEkB,eAAe;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAY,CAAC;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,8CAA8C;YAC9C,OAAO,KAAK,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC;QAED,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAW,CAAC;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;QAED,kFAAkF;QAClF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAElF,OAAO,GAAG,IAAI,CAAC,IAAI,WAAW,IAAI,EAAE,CAAC;IACtC,CAAC;IAEO,SAAS;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAY,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,iBAAiB;QACxB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC;YAClC,WAAW,EAAE,GAAG;YAChB,mBAAmB,EAAE,GAAG,GAAG,IAAI;YAC/B,gBAAgB,EAAE,CAAC,GAAG,IAAI;YAC1B,yBAAyB,EAAE,IAAI;YAC/B,UAAU,EAAE,CAAC;SACb,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,KAAwC,EAAE,IAAwC,EAAE,EAAE,CAC9F,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAA4B,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,kBAAkB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAW,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAW,CAAC;QAE3D,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,IAAI,eAAe,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC/B,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,SAAS;YACT,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC3B,OAAO,IAAI,SAAS,CAAC;YACpB,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;YACxB,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC/B,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SAC1B,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAC1B,MAAmD,EACnD,OAAgC;QAEhC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG;YACb,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;SACf,CAAC;QAEF,qDAAqD;QACrD,MAAM,aAAa,GAA6D,IAAI,GAAG,EAAE,CAAC;QAE1F,MAAM,aAAa,GAAkE;YACpF,iBAAiB,EAAE,CAAC,KAAmC,EAAE,EAAE;gBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC9B,WAAW,IAAI,IAAI,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;yBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBACpD,qCAAqC;wBACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAChD,IAAI,QAAQ,EAAE,CAAC;4BACd,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC5C,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YACD,iBAAiB,EAAE,CAAC,KAAmC,EAAE,EAAE;gBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrF,sCAAsC;oBACtC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;wBAC9B,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;wBAC1B,KAAK,EAAE,EAAE;wBACT,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI;qBAC9B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,YAAY,EAAE,CAAC,KAAmC,EAAE,EAAE;gBACrD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACpC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;oBACpD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBACpE,CAAC;YACF,CAAC;YACD,YAAY,EAAE,CAAC,KAAmC,EAAE,EAAE;gBACrD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACpC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBACxD,CAAC;YACF,CAAC;SACD,CAAC;QAEF,uDAAuD;QACvD,MAAM,OAAO,GAA2B;YACvC,mBAAmB,EAAE,mBAAmB;YACxC,mBAAmB,EAAE,mBAAmB;YACxC,aAAa,EAAE,cAAc;YAC7B,aAAa,EAAE,cAAc;SAC7B,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAClC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,2DAA2D;QAC3D,MAAM,SAAS,GACd,aAAa,CAAC,IAAI,GAAG,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjD,IAAI,WAAW,GAA4B,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACJ,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAA4B,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACR,0CAA0C;gBAC3C,CAAC;gBACD,OAAO;oBACN,SAAS,EAAE,WAAW;oBACtB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;iBAChB,CAAC;YACH,CAAC,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACN,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,SAAS;YACrB,KAAK;SACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAA2B;QACjD,OAAO,QAAQ,CAAC,OAAO;aACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;aACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAA6B,CAAC,IAAI,CAAC;aACnD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,gBAAgB,CACvB,QAA2B;QAE3B,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAmC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CACrE,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,KAAgC;YACjD,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,QAAsB;QAI5C,MAAM,aAAa,GAAG,QAAQ;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,MAAM,iBAAiB,GAA6B,EAAE,CAAC;QAEvD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,SAAS,EAAE,CAAC;gBACf,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QAED,OAAO;YACN,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,aAAa,IAAI,SAAS;SAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAe;QAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,CAAC,yCAAyC;QACvD,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,kCAAkC;QAClC,OAAO;YACN,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAA4B;SACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,GAAe;QAC9C,OAAO;YACN,OAAO,EAAE;gBACR;oBACC,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,WAAW,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;oBAClC,IAAI,EAAE,aAAa;iBACnB;aACD;YACD,IAAI,EAAE,MAAM;SACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,GAAe;QACnD,MAAM,aAAa,GAAkE,EAAE,CAAC;QAExF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,GAAG,CAAC,OAAO;gBACjB,IAAI,EAAE,MAAM;aACZ,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC7C,aAAa,CAAC,IAAI,CAAC;gBAClB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,KAAK,EAAE,QAAQ,CAAC,SAAS;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,UAAU;aAChB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACN,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,WAAW;SACjB,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAc,EAAE,IAAa;QACrD,KAAK,KAAK,IAAI,CAAC,eAAe,EAAE,IAAI,mBAAmB,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAY,CAAC;QAErD,gDAAgD;QAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;;AAGF,sEAAsE;AACtE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"anthropic.provider.js","sourceRoot":"","sources":["../../../src/llm/providers/anthropic.provider.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,10 @@ export declare class GoogleProvider extends BaseLLMProvider {
25
25
  private createGenerationConfig;
26
26
  private formatMessages;
27
27
  private getClient;
28
+ /**
29
+ * Extract usage metrics from Google response, including cached content tokens.
30
+ */
31
+ private extractUsage;
28
32
  /**
29
33
  * Map Google API response to LLMCompletionResult
30
34
  */
@@ -33,6 +37,11 @@ export declare class GoogleProvider extends BaseLLMProvider {
33
37
  * Process streaming chunks and accumulate content
34
38
  */
35
39
  private processStream;
40
+ /**
41
+ * Returns false — Google Vertex AI batch requires @google-cloud/aiplatform.
42
+ * Install the package and configure vertex_project to enable batch support.
43
+ */
44
+ supportsBatch(): false;
36
45
  /**
37
46
  * Handle Google API errors with proper error messages
38
47
  * @param error - The error to handle
@@ -1 +1 @@
1
- {"version":3,"file":"google.provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/google.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,qBAAa,cAAe,SAAQ,eAAe;IAClD,IAAI,eAAuB;IAC3B,OAAO,CAAC,MAAM,CAAmC;IAE3C,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsBlE,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9D,YAAY,IAAI,OAAO;IAIjB,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiC1G,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB3D;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;YACW,aAAa;IAe3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
1
+ {"version":3,"file":"google.provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/google.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAY,MAAM,iBAAiB,CAAC;AAE3F,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,qBAAa,cAAe,SAAQ,eAAe;IAClD,IAAI,eAAuB;IAC3B,OAAO,CAAC,MAAM,CAAmC;IAE3C,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsBlE,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9D,YAAY,IAAI,OAAO;IAIjB,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6B1G,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB3D;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;YACW,aAAa;IAe3B;;;OAGG;IACH,aAAa,IAAI,KAAK;IAItB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
@@ -63,11 +63,7 @@ export class GoogleProvider extends BaseLLMProvider {
63
63
  return {
64
64
  content: fullContent,
65
65
  role: 'assistant',
66
- usage: {
67
- completion_tokens: response.usageMetadata?.candidatesTokenCount ?? 0,
68
- prompt_tokens: response.usageMetadata?.promptTokenCount ?? 0,
69
- total_tokens: response.usageMetadata?.totalTokenCount ?? 0
70
- }
66
+ usage: this.extractUsage(response.usageMetadata)
71
67
  };
72
68
  }
73
69
  catch (error) {
@@ -125,6 +121,22 @@ export class GoogleProvider extends BaseLLMProvider {
125
121
  this.client ??= new GoogleGenerativeAI(this.getApiKey());
126
122
  return this.client;
127
123
  }
124
+ /**
125
+ * Extract usage metrics from Google response, including cached content tokens.
126
+ */
127
+ extractUsage(usageMetadata) {
128
+ const usage = {
129
+ completion_tokens: usageMetadata?.candidatesTokenCount ?? 0,
130
+ prompt_tokens: usageMetadata?.promptTokenCount ?? 0,
131
+ total_tokens: usageMetadata?.totalTokenCount ?? 0
132
+ };
133
+ // Google context caching: extract cachedContentTokenCount
134
+ const cachedTokens = usageMetadata?.cachedContentTokenCount ?? 0;
135
+ if (cachedTokens > 0) {
136
+ usage.cache_read_input_tokens = cachedTokens;
137
+ }
138
+ return usage;
139
+ }
128
140
  /**
129
141
  * Map Google API response to LLMCompletionResult
130
142
  */
@@ -133,11 +145,7 @@ export class GoogleProvider extends BaseLLMProvider {
133
145
  content: response.text(),
134
146
  finish_reason: response.candidates?.[0]?.finishReason,
135
147
  role: 'assistant',
136
- usage: {
137
- completion_tokens: response.usageMetadata?.candidatesTokenCount ?? 0,
138
- prompt_tokens: response.usageMetadata?.promptTokenCount ?? 0,
139
- total_tokens: response.usageMetadata?.totalTokenCount ?? 0
140
- }
148
+ usage: this.extractUsage(response.usageMetadata)
141
149
  };
142
150
  }
143
151
  /**
@@ -152,6 +160,13 @@ export class GoogleProvider extends BaseLLMProvider {
152
160
  }
153
161
  return fullContent;
154
162
  }
163
+ /**
164
+ * Returns false — Google Vertex AI batch requires @google-cloud/aiplatform.
165
+ * Install the package and configure vertex_project to enable batch support.
166
+ */
167
+ supportsBatch() {
168
+ return false;
169
+ }
155
170
  /**
156
171
  * Handle Google API errors with proper error messages
157
172
  * @param error - The error to handle
@@ -1 +1 @@
1
- {"version":3,"file":"google.provider.js","sourceRoot":"","sources":["../../../src/llm/providers/google.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.provider.js","sourceRoot":"","sources":["../../../src/llm/providers/google.provider.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,33 @@
7
7
  *
8
8
  * Self-registers with the LLM Provider Registry using dependency inversion pattern
9
9
  */
10
+ import type { BatchableProvider } from '../../batch/batch-provider.interface.js';
11
+ import type { BatchRequest, BatchResult, BatchStatusInfo, BatchSubmission } from '../../batch/batch.types.js';
10
12
  import type { LLMCompletionOptions, LLMCompletionResult } from '../../types/llm.types.js';
11
13
  import { ProviderName } from '../../config/providers.config.js';
12
14
  import { BaseLLMProvider } from '../provider.interface.js';
13
- export declare class OpenAIProvider extends BaseLLMProvider {
15
+ export declare class OpenAIProvider extends BaseLLMProvider implements BatchableProvider {
14
16
  name: ProviderName;
15
17
  private client;
16
18
  complete(options: LLMCompletionOptions): Promise<LLMCompletionResult>;
17
19
  getAlternativeModels(currentModel?: string): string[];
18
20
  isConfigured(): boolean;
19
21
  streamComplete(options: LLMCompletionOptions, onChunk: (chunk: string) => void): Promise<LLMCompletionResult>;
22
+ /**
23
+ * Process streaming response chunks into a completion result.
24
+ */
20
25
  validateModel(modelName: string): Promise<boolean>;
26
+ private processStream;
27
+ /**
28
+ * Extract usage metrics from OpenAI response, including automatic cache metrics.
29
+ * OpenAI returns cached token counts in prompt_tokens_details.cached_tokens.
30
+ */
31
+ private extractUsage;
21
32
  private getClient;
33
+ cancelBatch(batchId: string): Promise<void>;
34
+ getBatchResults(batchId: string): Promise<BatchResult[]>;
35
+ getBatchStatus(batchId: string): Promise<BatchStatusInfo>;
36
+ submitBatch(requests: BatchRequest[]): Promise<BatchSubmission>;
37
+ supportsBatch(): true;
22
38
  }
23
39
  //# sourceMappingURL=openai.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/openai.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAKzD,qBAAa,cAAe,SAAQ,eAAe;IAClD,IAAI,eAAuB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IAE/B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyGlE,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9D,YAAY,IAAI,OAAO;IAIjB,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6C1G,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3D,OAAO,CAAC,SAAS;CAkBjB"}
1
+ {"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../../../src/llm/providers/openai.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYrG,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAY,MAAM,iBAAiB,CAAC;AAE3F,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAKzD,qBAAa,cAAe,SAAQ,eAAgB,YAAW,iBAAiB;IAC/E,IAAI,eAAuB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IAE/B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmGlE,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9D,YAAY,IAAI,OAAO;IAIjB,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0BnH;;OAEG;IACM,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAmB7C,aAAa;IAgC3B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,SAAS;IAqBX,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIxD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIzD,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAgCrE,aAAa,IAAI,IAAI;CAGrB"}
@@ -7,6 +7,8 @@
7
7
  *
8
8
  * Self-registers with the LLM Provider Registry using dependency inversion pattern
9
9
  */
10
+ import { generateLocalId } from '../../batch/batch-session.js';
11
+ import { cancelOpenAIBatch, getOpenAIBatchResults, getOpenAIBatchStatus, submitOpenAIBatch } from '../../batch/providers/openai.batch-provider.js';
10
12
  import { Agent as HttpsAgent } from 'https';
11
13
  import OpenAI from 'openai';
12
14
  import { getProviderModels, ProviderName } from '../../config/providers.config.js';
@@ -73,13 +75,7 @@ export class OpenAIProvider extends BaseLLMProvider {
73
75
  id: tc.id,
74
76
  name: tc.function.name
75
77
  })),
76
- usage: response.usage
77
- ? {
78
- completion_tokens: response.usage.completion_tokens,
79
- prompt_tokens: response.usage.prompt_tokens,
80
- total_tokens: response.usage.total_tokens
81
- }
82
- : undefined
78
+ usage: response.usage ? this.extractUsage(response.usage) : undefined
83
79
  };
84
80
  };
85
81
  try {
@@ -124,24 +120,7 @@ export class OpenAIProvider extends BaseLLMProvider {
124
120
  temperature: options.temperature,
125
121
  top_p: options.top_p
126
122
  });
127
- let fullContent = '';
128
- let finishReason;
129
- for await (const chunk of stream) {
130
- const choice = chunk.choices[0];
131
- const delta = choice?.delta;
132
- if (delta?.content) {
133
- fullContent += delta.content;
134
- onChunk(delta.content);
135
- }
136
- if (choice?.finish_reason) {
137
- finishReason = choice.finish_reason;
138
- }
139
- }
140
- return {
141
- content: fullContent,
142
- finish_reason: finishReason,
143
- role: 'assistant'
144
- };
123
+ return await this.processStream(stream, onChunk);
145
124
  }
146
125
  catch (error) {
147
126
  throw new ProviderError(`OpenAI streaming error: ${error.message}`, {
@@ -150,6 +129,9 @@ export class OpenAIProvider extends BaseLLMProvider {
150
129
  });
151
130
  }
152
131
  }
132
+ /**
133
+ * Process streaming response chunks into a completion result.
134
+ */
153
135
  validateModel(modelName) {
154
136
  // Get known models from MODEL_PROVIDER_SUGGESTIONS
155
137
  const knownModels = getProviderModels(ProviderName.OPENAI);
@@ -170,6 +152,50 @@ export class OpenAIProvider extends BaseLLMProvider {
170
152
  return Promise.resolve(true); // Fine-tuned models
171
153
  return Promise.resolve(false);
172
154
  }
155
+ async processStream(stream, onChunk) {
156
+ let fullContent = '';
157
+ let finishReason;
158
+ let streamUsage;
159
+ for await (const chunk of stream) {
160
+ const choice = chunk.choices[0];
161
+ const delta = choice?.delta;
162
+ if (delta?.content) {
163
+ fullContent += delta.content;
164
+ onChunk(delta.content);
165
+ }
166
+ if (choice?.finish_reason) {
167
+ finishReason = choice.finish_reason;
168
+ }
169
+ // OpenAI sends usage in the final chunk when stream_options.include_usage is set
170
+ if (chunk.usage) {
171
+ streamUsage = this.extractUsage(chunk.usage);
172
+ }
173
+ }
174
+ return {
175
+ content: fullContent,
176
+ finish_reason: finishReason,
177
+ role: 'assistant',
178
+ usage: streamUsage
179
+ };
180
+ }
181
+ /**
182
+ * Extract usage metrics from OpenAI response, including automatic cache metrics.
183
+ * OpenAI returns cached token counts in prompt_tokens_details.cached_tokens.
184
+ */
185
+ extractUsage(responseUsage) {
186
+ const usage = {
187
+ completion_tokens: responseUsage.completion_tokens,
188
+ prompt_tokens: responseUsage.prompt_tokens,
189
+ total_tokens: responseUsage.total_tokens
190
+ };
191
+ // OpenAI automatic caching: extract cached_tokens from prompt_tokens_details
192
+ const details = responseUsage.prompt_tokens_details;
193
+ const cachedTokens = typeof details?.['cached_tokens'] === 'number' ? details['cached_tokens'] : 0;
194
+ if (cachedTokens > 0) {
195
+ usage.cache_read_input_tokens = cachedTokens;
196
+ }
197
+ return usage;
198
+ }
173
199
  getClient() {
174
200
  if (!this.client) {
175
201
  // Configure HTTP agent with keepAlive for connection pooling
@@ -187,6 +213,48 @@ export class OpenAIProvider extends BaseLLMProvider {
187
213
  }
188
214
  return this.client;
189
215
  }
216
+ // ─── BatchableProvider implementation ────────────────────────────────────
217
+ async cancelBatch(batchId) {
218
+ return cancelOpenAIBatch(this.getClient(), batchId);
219
+ }
220
+ async getBatchResults(batchId) {
221
+ return getOpenAIBatchResults(this.getClient(), batchId);
222
+ }
223
+ async getBatchStatus(batchId) {
224
+ return getOpenAIBatchStatus(this.getClient(), batchId);
225
+ }
226
+ async submitBatch(requests) {
227
+ const client = this.getClient();
228
+ const defaultModel = this.getDefaultModel() ?? 'gpt-5';
229
+ const formatted = requests.map((req) => ({
230
+ customId: req.id,
231
+ params: {
232
+ max_tokens: req.options.max_tokens,
233
+ messages: req.options.messages.map((m) => ({
234
+ content: m.content,
235
+ role: m.role
236
+ })),
237
+ model: req.options.model ?? defaultModel,
238
+ stop: req.options.stop,
239
+ temperature: req.options.temperature,
240
+ tools: req.options.tools
241
+ ? req.options.tools.map((tool) => ({
242
+ function: {
243
+ description: tool.description,
244
+ name: tool.name,
245
+ parameters: tool.parameters
246
+ },
247
+ type: 'function'
248
+ }))
249
+ : undefined,
250
+ top_p: req.options.top_p
251
+ }
252
+ }));
253
+ return submitOpenAIBatch(client, formatted, this.name, generateLocalId());
254
+ }
255
+ supportsBatch() {
256
+ return true;
257
+ }
190
258
  }
191
259
  // Self-register this provider with the registry when module is loaded
192
260
  getProviderRegistry().registerProvider(ProviderName.OPENAI, OpenAIProvider);