@ggui-ai/ui-gen 0.19.0 → 0.20.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.
@@ -639,6 +639,27 @@ var init_sdk = __esm({
639
639
  }
640
640
  });
641
641
 
642
+ // src/adapters/openai/tokens.ts
643
+ function splitOpenAiUsage(inputTokensInclCached, outputTokens, cachedTokens) {
644
+ const cacheRead = Math.min(
645
+ Math.max(cachedTokens, 0),
646
+ Math.max(inputTokensInclCached, 0)
647
+ );
648
+ const nonCachedInput = Math.max(inputTokensInclCached, 0) - cacheRead;
649
+ return {
650
+ tokens: {
651
+ input: nonCachedInput,
652
+ output: outputTokens,
653
+ total: nonCachedInput + cacheRead + outputTokens
654
+ },
655
+ cacheReadTokens: cacheRead
656
+ };
657
+ }
658
+ var init_tokens = __esm({
659
+ "src/adapters/openai/tokens.ts"() {
660
+ }
661
+ });
662
+
642
663
  // src/adapters/openai/raw.ts
643
664
  var raw_exports2 = {};
644
665
  __export(raw_exports2, {
@@ -661,6 +682,7 @@ var init_raw2 = __esm({
661
682
  "src/adapters/openai/raw.ts"() {
662
683
  init_base();
663
684
  init_tool_bridge();
685
+ init_tokens();
664
686
  init_extract_code();
665
687
  OpenAiRawAdapter = class extends GeneratorAdapter {
666
688
  provider = "openai";
@@ -685,6 +707,7 @@ var init_raw2 = __esm({
685
707
  const capture = createCapture();
686
708
  let totalInputTokens = 0;
687
709
  let totalOutputTokens = 0;
710
+ let totalCachedInputTokens = 0;
688
711
  let turnsUsed = 0;
689
712
  let allTextOutput = "";
690
713
  let response = await this.client.responses.create({
@@ -700,6 +723,7 @@ var init_raw2 = __esm({
700
723
  if (response.usage) {
701
724
  totalInputTokens += response.usage.input_tokens ?? 0;
702
725
  totalOutputTokens += response.usage.output_tokens ?? 0;
726
+ totalCachedInputTokens += response.usage.input_tokens_details?.cached_tokens ?? 0;
703
727
  }
704
728
  const output = response.output ?? [];
705
729
  const functionCalls = output.filter(
@@ -765,11 +789,11 @@ var init_raw2 = __esm({
765
789
  sourceCode: capture.sourceCode,
766
790
  stream: capture.stream,
767
791
  generatorMeta: capture.generatorMeta,
768
- tokens: {
769
- input: totalInputTokens,
770
- output: totalOutputTokens,
771
- total: totalInputTokens + totalOutputTokens
772
- },
792
+ ...splitOpenAiUsage(
793
+ totalInputTokens,
794
+ totalOutputTokens,
795
+ totalCachedInputTokens
796
+ ),
773
797
  generationTimeMs: Date.now() - startTime,
774
798
  turnsUsed
775
799
  };
@@ -790,6 +814,7 @@ var OpenAiSdkAdapter;
790
814
  var init_sdk2 = __esm({
791
815
  "src/adapters/openai/sdk.ts"() {
792
816
  init_base();
817
+ init_tokens();
793
818
  init_extract_code();
794
819
  OpenAiSdkAdapter = class extends GeneratorAdapter {
795
820
  provider = "openai";
@@ -841,16 +866,16 @@ var init_sdk2 = __esm({
841
866
  const usage = result.state.usage;
842
867
  const inputTokens = usage.inputTokens;
843
868
  const outputTokens = usage.outputTokens;
869
+ const cachedInputTokens = (usage.inputTokensDetails ?? []).reduce(
870
+ (sum, details) => sum + (details.cached_tokens ?? 0),
871
+ 0
872
+ );
844
873
  return {
845
874
  compiledCode: capture.compiledCode,
846
875
  sourceCode: capture.sourceCode,
847
876
  stream: capture.stream,
848
877
  generatorMeta: capture.generatorMeta,
849
- tokens: {
850
- input: inputTokens,
851
- output: outputTokens,
852
- total: inputTokens + outputTokens
853
- },
878
+ ...splitOpenAiUsage(inputTokens, outputTokens, cachedInputTokens),
854
879
  generationTimeMs: Date.now() - startTime,
855
880
  turnsUsed: result.rawResponses?.length ?? 0
856
881
  };