@modular-prompt/driver 0.12.0 → 0.13.2

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 (133) hide show
  1. package/dist/anthropic/anthropic-driver.d.ts +38 -8
  2. package/dist/anthropic/anthropic-driver.d.ts.map +1 -1
  3. package/dist/anthropic/anthropic-driver.js +180 -164
  4. package/dist/anthropic/anthropic-driver.js.map +1 -1
  5. package/dist/cache-controller.d.ts +31 -0
  6. package/dist/cache-controller.d.ts.map +1 -0
  7. package/dist/cache-controller.js +2 -0
  8. package/dist/cache-controller.js.map +1 -0
  9. package/dist/cache-utils.d.ts +20 -0
  10. package/dist/cache-utils.d.ts.map +1 -0
  11. package/dist/cache-utils.js +71 -0
  12. package/dist/cache-utils.js.map +1 -0
  13. package/dist/content-utils.d.ts.map +1 -1
  14. package/dist/content-utils.js +20 -0
  15. package/dist/content-utils.js.map +1 -1
  16. package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
  17. package/dist/driver-registry/config-based-factory.js +7 -0
  18. package/dist/driver-registry/config-based-factory.js.map +1 -1
  19. package/dist/driver-registry/factory-helper.d.ts.map +1 -1
  20. package/dist/driver-registry/factory-helper.js +7 -4
  21. package/dist/driver-registry/factory-helper.js.map +1 -1
  22. package/dist/driver-registry/types.d.ts +6 -0
  23. package/dist/driver-registry/types.d.ts.map +1 -1
  24. package/dist/formatter/converter.js +1 -1
  25. package/dist/formatter/converter.js.map +1 -1
  26. package/dist/google-genai/element-converter.d.ts +11 -0
  27. package/dist/google-genai/element-converter.d.ts.map +1 -0
  28. package/dist/google-genai/element-converter.js +126 -0
  29. package/dist/google-genai/element-converter.js.map +1 -0
  30. package/dist/google-genai/google-genai-cache-controller.d.ts +24 -0
  31. package/dist/google-genai/google-genai-cache-controller.d.ts.map +1 -0
  32. package/dist/google-genai/google-genai-cache-controller.js +127 -0
  33. package/dist/google-genai/google-genai-cache-controller.js.map +1 -0
  34. package/dist/google-genai/google-genai-driver.d.ts +5 -29
  35. package/dist/google-genai/google-genai-driver.d.ts.map +1 -1
  36. package/dist/google-genai/google-genai-driver.js +92 -255
  37. package/dist/google-genai/google-genai-driver.js.map +1 -1
  38. package/dist/index.d.ts +4 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +3 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/mlx-ml/mlx-cache-controller.d.ts +65 -0
  43. package/dist/mlx-ml/mlx-cache-controller.d.ts.map +1 -0
  44. package/dist/mlx-ml/mlx-cache-controller.js +624 -0
  45. package/dist/mlx-ml/mlx-cache-controller.js.map +1 -0
  46. package/dist/mlx-ml/mlx-driver.d.ts +12 -7
  47. package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
  48. package/dist/mlx-ml/mlx-driver.js +192 -124
  49. package/dist/mlx-ml/mlx-driver.js.map +1 -1
  50. package/dist/mlx-ml/mlx-message-utils.d.ts +9 -0
  51. package/dist/mlx-ml/mlx-message-utils.d.ts.map +1 -0
  52. package/dist/mlx-ml/mlx-message-utils.js +71 -0
  53. package/dist/mlx-ml/mlx-message-utils.js.map +1 -0
  54. package/dist/mlx-ml/process/index.d.ts +7 -3
  55. package/dist/mlx-ml/process/index.d.ts.map +1 -1
  56. package/dist/mlx-ml/process/index.js +22 -7
  57. package/dist/mlx-ml/process/index.js.map +1 -1
  58. package/dist/mlx-ml/process/model-handlers.d.ts +4 -59
  59. package/dist/mlx-ml/process/model-handlers.d.ts.map +1 -1
  60. package/dist/mlx-ml/process/model-handlers.js +15 -14
  61. package/dist/mlx-ml/process/model-handlers.js.map +1 -1
  62. package/dist/mlx-ml/process/model-specific.d.ts +7 -0
  63. package/dist/mlx-ml/process/model-specific.d.ts.map +1 -1
  64. package/dist/mlx-ml/process/model-specific.js +3 -0
  65. package/dist/mlx-ml/process/model-specific.js.map +1 -1
  66. package/dist/mlx-ml/process/process-communication.d.ts +3 -0
  67. package/dist/mlx-ml/process/process-communication.d.ts.map +1 -1
  68. package/dist/mlx-ml/process/process-communication.js +13 -0
  69. package/dist/mlx-ml/process/process-communication.js.map +1 -1
  70. package/dist/mlx-ml/process/queue.d.ts +5 -2
  71. package/dist/mlx-ml/process/queue.d.ts.map +1 -1
  72. package/dist/mlx-ml/process/queue.js +101 -14
  73. package/dist/mlx-ml/process/queue.js.map +1 -1
  74. package/dist/mlx-ml/process/response-processor.d.ts +10 -0
  75. package/dist/mlx-ml/process/response-processor.d.ts.map +1 -1
  76. package/dist/mlx-ml/process/response-processor.js +23 -1
  77. package/dist/mlx-ml/process/response-processor.js.map +1 -1
  78. package/dist/mlx-ml/process/types.d.ts +50 -4
  79. package/dist/mlx-ml/process/types.d.ts.map +1 -1
  80. package/dist/mlx-ml/tool-call-parser/content-parsers.d.ts +9 -0
  81. package/dist/mlx-ml/tool-call-parser/content-parsers.d.ts.map +1 -0
  82. package/dist/mlx-ml/tool-call-parser/content-parsers.js +223 -0
  83. package/dist/mlx-ml/tool-call-parser/content-parsers.js.map +1 -0
  84. package/dist/mlx-ml/tool-call-parser/detector.d.ts +16 -0
  85. package/dist/mlx-ml/tool-call-parser/detector.d.ts.map +1 -0
  86. package/dist/mlx-ml/tool-call-parser/detector.js +58 -0
  87. package/dist/mlx-ml/tool-call-parser/detector.js.map +1 -0
  88. package/dist/mlx-ml/tool-call-parser/index.d.ts +7 -0
  89. package/dist/mlx-ml/tool-call-parser/index.d.ts.map +1 -0
  90. package/dist/mlx-ml/tool-call-parser/index.js +136 -0
  91. package/dist/mlx-ml/tool-call-parser/index.js.map +1 -0
  92. package/dist/mlx-ml/tool-call-parser/tool-formatter.d.ts +8 -0
  93. package/dist/mlx-ml/tool-call-parser/tool-formatter.d.ts.map +1 -0
  94. package/dist/mlx-ml/tool-call-parser/tool-formatter.js +88 -0
  95. package/dist/mlx-ml/tool-call-parser/tool-formatter.js.map +1 -0
  96. package/dist/mlx-ml/tool-call-parser/types.d.ts +18 -0
  97. package/dist/mlx-ml/tool-call-parser/types.d.ts.map +1 -0
  98. package/dist/mlx-ml/tool-call-parser/types.js +2 -0
  99. package/dist/mlx-ml/tool-call-parser/types.js.map +1 -0
  100. package/dist/mlx-ml/tool-call-parser/utils.d.ts +5 -0
  101. package/dist/mlx-ml/tool-call-parser/utils.d.ts.map +1 -0
  102. package/dist/mlx-ml/tool-call-parser/utils.js +77 -0
  103. package/dist/mlx-ml/tool-call-parser/utils.js.map +1 -0
  104. package/dist/types.d.ts +2 -0
  105. package/dist/types.d.ts.map +1 -1
  106. package/package.json +9 -4
  107. package/src/mlx-ml/python/__main__.py +41 -449
  108. package/src/mlx-ml/python/backends/__init__.py +3 -0
  109. package/src/mlx-ml/python/backends/base.py +84 -0
  110. package/src/mlx-ml/python/backends/mlx_lm.py +202 -0
  111. package/src/mlx-ml/python/backends/mlx_vlm.py +99 -0
  112. package/src/mlx-ml/python/handlers/__init__.py +6 -0
  113. package/src/mlx-ml/python/handlers/cache.py +81 -0
  114. package/src/mlx-ml/python/handlers/capabilities.py +6 -0
  115. package/src/mlx-ml/python/handlers/chat.py +221 -0
  116. package/src/mlx-ml/python/handlers/completion.py +36 -0
  117. package/src/mlx-ml/python/handlers/format_test.py +70 -0
  118. package/src/mlx-ml/python/handlers/tokenize.py +63 -0
  119. package/src/mlx-ml/python/pyproject.toml +13 -3
  120. package/src/mlx-ml/python/server.py +126 -0
  121. package/src/mlx-ml/python/tests/__init__.py +0 -0
  122. package/src/mlx-ml/python/utils/__init__.py +0 -0
  123. package/src/mlx-ml/python/utils/prompt_builder.py +54 -0
  124. package/src/mlx-ml/python/{token_utils.py → utils/token_utils.py} +9 -40
  125. package/src/mlx-ml/python/uv.lock +266 -41
  126. package/dist/mlx-ml/tool-call-parser.d.ts +0 -30
  127. package/dist/mlx-ml/tool-call-parser.d.ts.map +0 -1
  128. package/dist/mlx-ml/tool-call-parser.js +0 -623
  129. package/dist/mlx-ml/tool-call-parser.js.map +0 -1
  130. /package/src/mlx-ml/python/{example_basic.py → examples/example_basic.py} +0 -0
  131. /package/src/mlx-ml/python/{example_tool_call.py → examples/example_tool_call.py} +0 -0
  132. /package/src/mlx-ml/python/{chat_template_constraints.py → utils/chat_template_constraints.py} +0 -0
  133. /package/src/mlx-ml/python/{vlm_utils.py → utils/vlm_utils.py} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-genai-cache-controller.js","sourceRoot":"","sources":["../../src/google-genai/google-genai-cache-controller.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { CompiledPrompt } from '@modular-prompt/core';
2
2
  import type { AIDriver, QueryOptions, QueryResult, StreamResult } from '../types.js';
3
+ import type { PromptCacheController } from '../cache-controller.js';
3
4
  /**
4
5
  * GoogleGenAI driver configuration
5
6
  */
@@ -8,6 +9,7 @@ export interface GoogleGenAIDriverConfig {
8
9
  model?: string;
9
10
  temperature?: number;
10
11
  defaultOptions?: Partial<GoogleGenAIQueryOptions>;
12
+ cacheController?: PromptCacheController;
11
13
  }
12
14
  /**
13
15
  * GoogleGenAI-specific query options
@@ -33,40 +35,14 @@ export declare class GoogleGenAIDriver implements AIDriver {
33
35
  private defaultTemperature;
34
36
  private _defaultOptions;
35
37
  private queryLogger;
38
+ private cacheController?;
36
39
  get defaultOptions(): Partial<GoogleGenAIQueryOptions>;
37
40
  set defaultOptions(value: Partial<GoogleGenAIQueryOptions>);
38
41
  constructor(config?: GoogleGenAIDriverConfig);
39
- /**
40
- * Convert Element to Part (flat text conversion)
41
- * Used for systemInstruction and simple data
42
- */
43
- private elementToPart;
44
- /**
45
- * Convert kind+value to GoogleGenAI functionResponse
46
- */
47
- private toFunctionResponsePayload;
48
- /**
49
- * Convert Element to Content (structure-preserving conversion)
50
- * Used for conversation history where role matters
51
- */
52
- private elementToContent;
53
- /**
54
- * Convert ChatMessage to GoogleGenAI Content format
55
- */
42
+ private buildPromptPayload;
43
+ private buildGenerationConfig;
56
44
  private chatMessageToContent;
57
- /**
58
- * Merge consecutive tool result Contents into a single user message.
59
- * Gemini API requires multiple functionResponses in one user message.
60
- */
61
- private mergeToolResultContents;
62
- /**
63
- * Convert JSON Schema to GoogleGenAI Schema format
64
- */
65
45
  private convertJsonSchema;
66
- /**
67
- * Convert ToolDefinition[] to GoogleGenAI tools format
68
- */
69
- private convertTools;
70
46
  /**
71
47
  * Convert ToolChoice to GoogleGenAI FunctionCallingConfig
72
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"google-genai-driver.d.ts","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAC;AAKxI;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KAC3C,CAAC;CACH;AAmBD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,WAAW,CAAkC;IAErD,IAAI,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAErD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAEzD;gBAEW,MAAM,GAAE,uBAA4B;IAahD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAwDrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC;IAoHvB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC;IAyKxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"google-genai-driver.d.ts","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqC,MAAM,aAAa,CAAC;AAIxH,OAAO,KAAK,EAAE,qBAAqB,EAAe,MAAM,wBAAwB,CAAC;AAIjF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KAC3C,CAAC;CACH;AAmBD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAAC,CAAwB;IAEhD,IAAI,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAErD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAEzD;gBAEW,MAAM,GAAE,uBAA4B;YAclC,kBAAkB;IAkDhC,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC;IAsEvB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC;IA2HxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -2,6 +2,8 @@ import { GoogleGenAI, FunctionCallingConfigMode } from '@google/genai';
2
2
  import { hasToolCalls, isToolResult } from '../types.js';
3
3
  import { contentToString } from '../content-utils.js';
4
4
  import { QueryLogger } from '../query-logger.js';
5
+ import { partitionPrompt } from '../cache-utils.js';
6
+ import { elementToPart, elementToContent, toFunctionResponsePayload, convertTools, mergeToolResultContents } from './element-converter.js';
5
7
  /**
6
8
  * Map finish reasons from GoogleGenAI to our format
7
9
  */
@@ -27,6 +29,7 @@ export class GoogleGenAIDriver {
27
29
  defaultTemperature;
28
30
  _defaultOptions;
29
31
  queryLogger = new QueryLogger('GoogleGenAI');
32
+ cacheController;
30
33
  get defaultOptions() {
31
34
  return this._defaultOptions;
32
35
  }
@@ -42,212 +45,126 @@ export class GoogleGenAIDriver {
42
45
  this.defaultModel = config.model || 'gemma-3-27b';
43
46
  this.defaultTemperature = config.temperature ?? 0.7;
44
47
  this._defaultOptions = config.defaultOptions || {};
48
+ this.cacheController = config.cacheController;
45
49
  }
46
- /**
47
- * Convert Element to Part (flat text conversion)
48
- * Used for systemInstruction and simple data
49
- */
50
- elementToPart(element) {
51
- if (typeof element === 'string') {
52
- return { text: element };
53
- }
54
- switch (element.type) {
55
- case 'text':
56
- return { text: element.content };
57
- case 'message': {
58
- // Flatten message as text
59
- if (element.role === 'tool') {
60
- // ToolResultMessageElement doesn't have content property
61
- const toolResultEl = element;
62
- const textValue = toolResultEl.kind === 'text' ? String(toolResultEl.value) : JSON.stringify(toolResultEl.value);
63
- return { text: `${element.role}: ${textValue}` };
64
- }
65
- const messageContent = contentToString(element.content);
66
- return { text: `${element.role}: ${messageContent}` };
67
- }
68
- case 'material': {
69
- const materialContent = contentToString(element.content);
70
- return { text: `# ${element.title}\n${materialContent}` };
71
- }
72
- case 'chunk': {
73
- const chunkContent = contentToString(element.content);
74
- const chunkHeader = element.index !== undefined && element.total !== undefined
75
- ? `[Chunk ${element.index + 1}/${element.total} of ${element.partOf}]`
76
- : `[Chunk of ${element.partOf}]`;
77
- return { text: `${chunkHeader}\n${chunkContent}` };
78
- }
79
- case 'section':
80
- case 'subsection': {
81
- // Section/SubSection elements should be compiled before reaching here
82
- // If they do reach here, flatten their items recursively
83
- const flattenItems = (items) => {
84
- return items.map(item => {
85
- if (typeof item === 'string')
86
- return item;
87
- if (typeof item === 'function')
88
- return ''; // DynamicContent should be resolved before this point
89
- return this.elementToPart(item).text || '';
90
- }).filter(Boolean).join('\n');
91
- };
92
- return { text: flattenItems(element.items) };
50
+ async buildPromptPayload(prompt, mergedOptions, model) {
51
+ if (this.cacheController) {
52
+ const partition = partitionPrompt(prompt);
53
+ const hasCacheableContent = partition.cacheable.instructions.length > 0 ||
54
+ partition.cacheable.data.length > 0 ||
55
+ (mergedOptions.tools && mergedOptions.tools.length > 0);
56
+ if (hasCacheableContent) {
57
+ const handle = await this.cacheController.prepare({
58
+ model,
59
+ instructions: partition.cacheable.instructions,
60
+ data: partition.cacheable.data,
61
+ tools: mergedOptions.tools,
62
+ });
63
+ const instructionsForRequest = handle.includes.instructions
64
+ ? partition.volatile.instructions
65
+ : [...partition.cacheable.instructions, ...partition.volatile.instructions];
66
+ const uncachedInstructionParts = instructionsForRequest.length > 0
67
+ ? instructionsForRequest.map(el => elementToPart(el))
68
+ : undefined;
69
+ const dataForRequest = handle.includes.dataElementCount >= partition.cacheable.data.length
70
+ ? partition.volatile.data
71
+ : [...partition.cacheable.data, ...partition.volatile.data];
72
+ const volatileElements = [...dataForRequest, ...partition.volatile.output];
73
+ const contents = volatileElements.length > 0
74
+ ? mergeToolResultContents(volatileElements.map(el => elementToContent(el)))
75
+ : [{ parts: [{ text: 'Please process according to the instructions.' }] }];
76
+ return { systemInstructionParts: uncachedInstructionParts, contents, cacheHandle: handle };
93
77
  }
94
- case 'json':
95
- return { text: typeof element.content === 'string' ? element.content : JSON.stringify(element.content, null, 2) };
96
- default:
97
- return { text: JSON.stringify(element) };
98
78
  }
79
+ const systemInstructionParts = prompt.instructions?.map(el => elementToPart(el));
80
+ const allDataElements = [...(prompt.data || []), ...(prompt.output || [])];
81
+ const contents = allDataElements.length > 0
82
+ ? mergeToolResultContents(allDataElements.map(el => elementToContent(el)))
83
+ : [{ parts: [{ text: 'Please process according to the instructions.' }] }];
84
+ return { systemInstructionParts, contents, cacheHandle: null };
99
85
  }
100
- /**
101
- * Convert kind+value to GoogleGenAI functionResponse
102
- */
103
- toFunctionResponsePayload(kind, value) {
104
- if (kind === 'text') {
105
- return { output: String(value) };
86
+ buildGenerationConfig(mergedOptions, cacheHandle, systemInstructionParts, prompt) {
87
+ const config = {
88
+ temperature: mergedOptions.temperature ?? this.defaultTemperature,
89
+ maxOutputTokens: mergedOptions.maxTokens,
90
+ topP: mergedOptions.topP,
91
+ topK: mergedOptions.topK,
92
+ candidateCount: mergedOptions.candidateCount,
93
+ stopSequences: mergedOptions.stopSequences,
94
+ thinkingConfig: mergedOptions.thinkingConfig ??
95
+ (mergedOptions.mode === 'thinking' ? { thinkingLevel: 'HIGH' } : undefined),
96
+ };
97
+ if (cacheHandle) {
98
+ config.cachedContent = cacheHandle.ref;
99
+ if (!cacheHandle.includes.tools && mergedOptions.tools && mergedOptions.tools.length > 0) {
100
+ config.tools = convertTools(mergedOptions.tools);
101
+ }
106
102
  }
107
- else if (kind === 'data') {
108
- // Check if value is a plain object
109
- if (value !== null && typeof value === 'object' && !Array.isArray(value) && Object.getPrototypeOf(value) === Object.prototype) {
110
- return value;
103
+ else {
104
+ if (mergedOptions.tools && mergedOptions.tools.length > 0) {
105
+ config.tools = convertTools(mergedOptions.tools);
111
106
  }
112
- return { output: value };
113
107
  }
114
- else { // 'error'
115
- return { error: value };
108
+ if (systemInstructionParts && systemInstructionParts.length > 0) {
109
+ config.systemInstruction = systemInstructionParts;
116
110
  }
117
- }
118
- /**
119
- * Convert Element to Content (structure-preserving conversion)
120
- * Used for conversation history where role matters
121
- */
122
- elementToContent(element) {
123
- if (typeof element === 'string') {
124
- return { parts: [{ text: element }] };
111
+ if (prompt.metadata?.outputSchema) {
112
+ config.responseMimeType = 'application/json';
113
+ config.responseSchema = this.convertJsonSchema(prompt.metadata.outputSchema);
125
114
  }
126
- if (element.type === 'message') {
127
- if (element.role === 'tool') {
128
- // ToolResultMessageElement
129
- const toolResultEl = element;
130
- return {
131
- role: 'user',
132
- parts: [{
133
- functionResponse: {
134
- name: toolResultEl.name,
135
- response: this.toFunctionResponsePayload(toolResultEl.kind, toolResultEl.value)
136
- }
137
- }]
138
- };
139
- }
140
- else if ('toolCalls' in element && element.toolCalls) {
141
- const parts = [];
142
- const content = contentToString(element.content);
143
- if (content)
144
- parts.push({ text: content });
145
- for (const tc of element.toolCalls) {
146
- parts.push({ functionCall: { name: tc.name, args: tc.arguments } });
147
- }
148
- return { role: 'model', parts };
149
- }
150
- else {
151
- // Role conversion:
152
- // - assistant → model
153
- // - system → user (Gemini API doesn't support system role in contents)
154
- // - user → user
155
- const role = element.role === 'assistant' ? 'model' : 'user';
156
- const messageContent = contentToString(element.content);
157
- return {
158
- role,
159
- parts: [{ text: messageContent }]
160
- };
161
- }
115
+ if (mergedOptions.toolChoice) {
116
+ config.toolConfig = {
117
+ functionCallingConfig: this.convertToolChoice(mergedOptions.toolChoice),
118
+ };
162
119
  }
163
- // Non-message elements: convert to Part and wrap in Content without role
164
- return {
165
- parts: [this.elementToPart(element)]
166
- };
120
+ Object.keys(config).forEach(key => {
121
+ if (config[key] === undefined) {
122
+ delete config[key];
123
+ }
124
+ });
125
+ return config;
167
126
  }
168
- /**
169
- * Convert ChatMessage to GoogleGenAI Content format
170
- */
171
127
  chatMessageToContent(message) {
172
128
  if (hasToolCalls(message)) {
173
- // AssistantToolCallMessage
174
129
  const parts = [];
175
130
  const textContent = contentToString(message.content);
176
131
  if (textContent) {
177
132
  parts.push({ text: textContent });
178
133
  }
179
134
  for (const tc of message.toolCalls) {
180
- parts.push({
181
- functionCall: {
182
- name: tc.name,
183
- args: tc.arguments
184
- }
185
- });
135
+ const part = {
136
+ functionCall: { name: tc.name, args: tc.arguments }
137
+ };
138
+ if (typeof tc.metadata?.thoughtSignature === 'string') {
139
+ part.thoughtSignature = tc.metadata.thoughtSignature;
140
+ }
141
+ parts.push(part);
186
142
  }
187
143
  return { role: 'model', parts };
188
144
  }
189
145
  else if (isToolResult(message)) {
190
- // ToolResultMessage
191
146
  return {
192
147
  role: 'user',
193
148
  parts: [{
194
149
  functionResponse: {
195
150
  name: message.name,
196
- response: this.toFunctionResponsePayload(message.kind, message.value)
151
+ response: toFunctionResponsePayload(message.kind, message.value)
197
152
  }
198
153
  }]
199
154
  };
200
155
  }
201
156
  else {
202
- // StandardChatMessage
203
157
  return {
204
158
  role: message.role === 'assistant' ? 'model' : 'user',
205
159
  parts: [{ text: contentToString(message.content) }]
206
160
  };
207
161
  }
208
162
  }
209
- /**
210
- * Merge consecutive tool result Contents into a single user message.
211
- * Gemini API requires multiple functionResponses in one user message.
212
- */
213
- mergeToolResultContents(contents) {
214
- const merged = [];
215
- for (const c of contents) {
216
- const prev = merged[merged.length - 1];
217
- if (prev &&
218
- c.role === 'user' &&
219
- prev.role === 'user' &&
220
- c.parts?.length === 1 && c.parts[0].functionResponse &&
221
- prev.parts && prev.parts.length > 0 && prev.parts[0].functionResponse) {
222
- prev.parts.push(c.parts[0]);
223
- }
224
- else {
225
- merged.push(c);
226
- }
227
- }
228
- return merged;
229
- }
230
- /**
231
- * Convert JSON Schema to GoogleGenAI Schema format
232
- */
233
163
  convertJsonSchema(schema) {
234
164
  if (!schema || typeof schema !== 'object')
235
165
  return undefined;
236
- // GoogleGenAI uses a specific schema format
237
- // For now, we'll pass it through and let the API handle it
238
166
  return schema;
239
167
  }
240
- /**
241
- * Convert ToolDefinition[] to GoogleGenAI tools format
242
- */
243
- convertTools(tools) {
244
- const functionDeclarations = tools.map(tool => ({
245
- name: tool.name,
246
- description: tool.description,
247
- parametersJsonSchema: tool.parameters,
248
- }));
249
- return [{ functionDeclarations }];
250
- }
251
168
  /**
252
169
  * Convert ToolChoice to GoogleGenAI FunctionCallingConfig
253
170
  */
@@ -277,11 +194,15 @@ export class GoogleGenAIDriver {
277
194
  for (const part of parts) {
278
195
  if (part.functionCall) {
279
196
  const fc = part.functionCall;
280
- toolCalls.push({
197
+ const toolCall = {
281
198
  id: fc.id || `call_${toolCalls.length}`,
282
199
  name: fc.name || '',
283
200
  arguments: fc.args ?? {},
284
- });
201
+ };
202
+ if (typeof part.thoughtSignature === 'string') {
203
+ toolCall.metadata = { thoughtSignature: part.thoughtSignature };
204
+ }
205
+ toolCalls.push(toolCall);
285
206
  }
286
207
  }
287
208
  return toolCalls;
@@ -294,52 +215,10 @@ export class GoogleGenAIDriver {
294
215
  // Merge options with defaults
295
216
  const mergedOptions = { ...this.defaultOptions, ...options };
296
217
  this.queryLogger.mark(mergedOptions);
297
- // Convert prompt to GoogleGenAI format
298
- // Instructions → systemInstruction (Part[])
299
- const systemInstructionParts = prompt.instructions?.map(el => this.elementToPart(el));
300
- // Data + Output → contents (Content[])
301
- const allDataElements = [...(prompt.data || []), ...(prompt.output || [])];
302
- const contents = allDataElements.length > 0
303
- ? this.mergeToolResultContents(allDataElements.map(el => this.elementToContent(el)))
304
- : [{ parts: [{ text: 'Please process according to the instructions.' }] }];
305
- // Create generation config
306
- const config = {
307
- temperature: mergedOptions.temperature ?? this.defaultTemperature,
308
- maxOutputTokens: mergedOptions.maxTokens,
309
- topP: mergedOptions.topP,
310
- topK: mergedOptions.topK,
311
- candidateCount: mergedOptions.candidateCount,
312
- stopSequences: mergedOptions.stopSequences,
313
- thinkingConfig: mergedOptions.thinkingConfig ??
314
- (mergedOptions.mode === 'thinking' ? { thinkingLevel: 'HIGH' } : undefined),
315
- };
316
- // Add system instruction if present
317
- if (systemInstructionParts && systemInstructionParts.length > 0) {
318
- config.systemInstruction = systemInstructionParts;
319
- }
320
- // Handle structured outputs
321
- if (prompt.metadata?.outputSchema) {
322
- config.responseMimeType = 'application/json';
323
- config.responseSchema = this.convertJsonSchema(prompt.metadata.outputSchema);
324
- }
325
- // Add tools configuration
326
- if (mergedOptions.tools && mergedOptions.tools.length > 0) {
327
- config.tools = this.convertTools(mergedOptions.tools);
328
- }
329
- if (mergedOptions.toolChoice) {
330
- config.toolConfig = {
331
- functionCallingConfig: this.convertToolChoice(mergedOptions.toolChoice),
332
- };
333
- }
334
- // Remove undefined values
335
- Object.keys(config).forEach(key => {
336
- if (config[key] === undefined) {
337
- delete config[key];
338
- }
339
- });
340
- // Get model name
341
218
  const model = mergedOptions.model || this.defaultModel;
342
- // Generate content
219
+ const { systemInstructionParts, contents, cacheHandle } = await this.buildPromptPayload(prompt, mergedOptions, model);
220
+ const config = this.buildGenerationConfig(mergedOptions, cacheHandle, systemInstructionParts, prompt);
221
+ this.cacheController?.recordQuery?.();
343
222
  const response = await this.client.models.generateContent({
344
223
  model,
345
224
  contents,
@@ -399,52 +278,10 @@ export class GoogleGenAIDriver {
399
278
  async streamQuery(prompt, options) {
400
279
  const mergedOptions = { ...this.defaultOptions, ...options };
401
280
  this.queryLogger.mark(mergedOptions);
402
- // Convert prompt to GoogleGenAI format
403
- // Instructions → systemInstruction (Part[])
404
- const systemInstructionParts = prompt.instructions?.map(el => this.elementToPart(el));
405
- // Data + Output → contents (Content[])
406
- const allDataElements = [...(prompt.data || []), ...(prompt.output || [])];
407
- const contents = allDataElements.length > 0
408
- ? allDataElements.map(el => this.elementToContent(el))
409
- : [{ parts: [{ text: 'Please process according to the instructions.' }] }];
410
- // Create generation config
411
- const config = {
412
- temperature: mergedOptions.temperature ?? this.defaultTemperature,
413
- maxOutputTokens: mergedOptions.maxTokens,
414
- topP: mergedOptions.topP,
415
- topK: mergedOptions.topK,
416
- candidateCount: mergedOptions.candidateCount,
417
- stopSequences: mergedOptions.stopSequences,
418
- thinkingConfig: mergedOptions.thinkingConfig ??
419
- (mergedOptions.mode === 'thinking' ? { thinkingLevel: 'HIGH' } : undefined),
420
- };
421
- // Add system instruction if present
422
- if (systemInstructionParts && systemInstructionParts.length > 0) {
423
- config.systemInstruction = systemInstructionParts;
424
- }
425
- // Handle structured outputs
426
- if (prompt.metadata?.outputSchema) {
427
- config.responseMimeType = 'application/json';
428
- config.responseSchema = this.convertJsonSchema(prompt.metadata.outputSchema);
429
- }
430
- // Add tools configuration
431
- if (mergedOptions.tools && mergedOptions.tools.length > 0) {
432
- config.tools = this.convertTools(mergedOptions.tools);
433
- }
434
- if (mergedOptions.toolChoice) {
435
- config.toolConfig = {
436
- functionCallingConfig: this.convertToolChoice(mergedOptions.toolChoice),
437
- };
438
- }
439
- // Remove undefined values
440
- Object.keys(config).forEach(key => {
441
- if (config[key] === undefined) {
442
- delete config[key];
443
- }
444
- });
445
- // Get model name
446
281
  const model = mergedOptions.model || this.defaultModel;
447
- // Generate content stream
282
+ const { systemInstructionParts, contents, cacheHandle } = await this.buildPromptPayload(prompt, mergedOptions, model);
283
+ const config = this.buildGenerationConfig(mergedOptions, cacheHandle, systemInstructionParts, prompt);
284
+ this.cacheController?.recordQuery?.();
448
285
  const streamResponse = await this.client.models.generateContentStream({
449
286
  model,
450
287
  contents,
@@ -550,7 +387,7 @@ export class GoogleGenAIDriver {
550
387
  * Close the client
551
388
  */
552
389
  async close() {
553
- // GoogleGenAI client doesn't need explicit closing
390
+ await this.cacheController?.close();
554
391
  }
555
392
  }
556
393
  //# sourceMappingURL=google-genai-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"google-genai-driver.js","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-genai-driver.js","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export type { AIDriver, ChatMessage, StandardChatMessage, AssistantToolCallMessage, ToolResultMessage, QueryResult, QueryOptions, QueryMode, DriverConfig, Role, ToolDefinition, ToolChoice, ToolCall, FinishReason } from './types.js';
2
2
  export { hasToolCalls, isToolResult } from './types.js';
3
+ export type { PromptCacheController, CachePrepareParams, CacheHandle } from './cache-controller.js';
4
+ export { isElementCacheable, partitionPrompt, type PromptPartition } from './cache-utils.js';
3
5
  export { QueryLogger } from './query-logger.js';
4
6
  export { TestDriver, type TestDriverOptions, type ResponseProvider } from './test-driver.js';
5
7
  export { EchoDriver, type EchoDriverConfig } from './echo-driver.js';
@@ -10,9 +12,11 @@ export { VllmProcess } from './vllm/vllm-process.js';
10
12
  export { AnthropicDriver, type AnthropicDriverConfig, type AnthropicVertexConfig, type AnthropicQueryOptions } from './anthropic/anthropic-driver.js';
11
13
  export { MlxDriver, type MlxDriverConfig } from './mlx-ml/mlx-driver.js';
12
14
  export { MlxProcess } from './mlx-ml/process/index.js';
15
+ export { MlxCacheController, } from './mlx-ml/mlx-cache-controller.js';
13
16
  export type { MlxMessage, MlxContentPart } from './mlx-ml/types.js';
14
17
  export { VertexAIDriver, type VertexAIDriverConfig, type VertexAIQueryOptions } from './vertexai/vertexai-driver.js';
15
18
  export { GoogleGenAIDriver, type GoogleGenAIDriverConfig, type GoogleGenAIQueryOptions } from './google-genai/google-genai-driver.js';
19
+ export { GoogleGenAICacheController, type GoogleGenAICacheControllerConfig } from './google-genai/google-genai-cache-controller.js';
16
20
  export type { FormatterOptions, ElementFormatter } from './formatter/types.js';
17
21
  export { DefaultFormatter } from './formatter/formatter.js';
18
22
  export { formatPromptAsMessages, formatCompletionPrompt, defaultFormatterTexts, ECHO_SPECIAL_TOKENS } from './formatter/converter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,UAAU,EACV,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,UAAU,EACV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC7B,MAAM,uCAAuC,CAAC;AAG/C,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,UAAU,EACV,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACV,UAAU,EACV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC7B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,0BAA0B,EAC1B,KAAK,gCAAgC,EACtC,MAAM,iDAAiD,CAAC;AAGzD,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC"}