@modular-prompt/driver 0.16.0 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +98 -10
  2. package/dist/cache-controller.d.ts +4 -0
  3. package/dist/cache-controller.d.ts.map +1 -1
  4. package/dist/driver-registry/config-based-factory.d.ts +3 -0
  5. package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
  6. package/dist/driver-registry/config-based-factory.js +8 -1
  7. package/dist/driver-registry/config-based-factory.js.map +1 -1
  8. package/dist/driver-registry/factory-helper.d.ts.map +1 -1
  9. package/dist/driver-registry/factory-helper.js +9 -2
  10. package/dist/driver-registry/factory-helper.js.map +1 -1
  11. package/dist/driver-registry/index.d.ts +1 -1
  12. package/dist/driver-registry/index.d.ts.map +1 -1
  13. package/dist/driver-registry/types.d.ts +15 -1
  14. package/dist/driver-registry/types.d.ts.map +1 -1
  15. package/dist/formatter/converter.d.ts.map +1 -1
  16. package/dist/formatter/converter.js +31 -2
  17. package/dist/formatter/converter.js.map +1 -1
  18. package/dist/google-genai/google-genai-driver.d.ts +1 -0
  19. package/dist/google-genai/google-genai-driver.d.ts.map +1 -1
  20. package/dist/google-genai/google-genai-driver.js +36 -27
  21. package/dist/google-genai/google-genai-driver.js.map +1 -1
  22. package/dist/index.d.ts +5 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +5 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/local-inference/adapters.d.ts +6 -0
  27. package/dist/local-inference/adapters.d.ts.map +1 -1
  28. package/dist/local-inference/driver.d.ts.map +1 -1
  29. package/dist/local-inference/driver.js +45 -24
  30. package/dist/local-inference/driver.js.map +1 -1
  31. package/dist/local-inference/process-client.d.ts +4 -2
  32. package/dist/local-inference/process-client.d.ts.map +1 -1
  33. package/dist/local-inference/process-client.js +24 -8
  34. package/dist/local-inference/process-client.js.map +1 -1
  35. package/dist/local-inference/process-communication.d.ts +9 -2
  36. package/dist/local-inference/process-communication.d.ts.map +1 -1
  37. package/dist/local-inference/process-communication.js +37 -5
  38. package/dist/local-inference/process-communication.js.map +1 -1
  39. package/dist/local-inference/protocol.d.ts +4 -0
  40. package/dist/local-inference/protocol.d.ts.map +1 -1
  41. package/dist/local-inference/request-queue.d.ts +1 -1
  42. package/dist/local-inference/request-queue.d.ts.map +1 -1
  43. package/dist/local-inference/request-queue.js +26 -7
  44. package/dist/local-inference/request-queue.js.map +1 -1
  45. package/dist/local-inference/stream-utils.d.ts +6 -0
  46. package/dist/local-inference/stream-utils.d.ts.map +1 -1
  47. package/dist/local-inference/stream-utils.js.map +1 -1
  48. package/dist/mlx-ml/mlx-cache-controller.d.ts +9 -0
  49. package/dist/mlx-ml/mlx-cache-controller.d.ts.map +1 -1
  50. package/dist/mlx-ml/mlx-cache-controller.js +158 -33
  51. package/dist/mlx-ml/mlx-cache-controller.js.map +1 -1
  52. package/dist/mlx-ml/mlx-cache-support.d.ts +2 -2
  53. package/dist/mlx-ml/mlx-cache-support.d.ts.map +1 -1
  54. package/dist/mlx-ml/mlx-cache-support.js +8 -3
  55. package/dist/mlx-ml/mlx-cache-support.js.map +1 -1
  56. package/dist/mlx-ml/mlx-driver.d.ts +0 -1
  57. package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
  58. package/dist/mlx-ml/mlx-driver.js +1 -8
  59. package/dist/mlx-ml/mlx-driver.js.map +1 -1
  60. package/dist/mlx-ml/process/index.d.ts +1 -1
  61. package/dist/mlx-ml/process/index.d.ts.map +1 -1
  62. package/dist/mlx-ml/process/index.js +2 -2
  63. package/dist/mlx-ml/process/index.js.map +1 -1
  64. package/dist/models-config/index.d.ts +1 -1
  65. package/dist/models-config/index.d.ts.map +1 -1
  66. package/dist/models-config/index.js +1 -1
  67. package/dist/models-config/index.js.map +1 -1
  68. package/dist/models-config/resolve.d.ts +9 -1
  69. package/dist/models-config/resolve.d.ts.map +1 -1
  70. package/dist/models-config/resolve.js +94 -2
  71. package/dist/models-config/resolve.js.map +1 -1
  72. package/dist/models-config/types.d.ts +3 -1
  73. package/dist/models-config/types.d.ts.map +1 -1
  74. package/dist/pytorch/process/index.d.ts +4 -2
  75. package/dist/pytorch/process/index.d.ts.map +1 -1
  76. package/dist/pytorch/process/index.js +24 -7
  77. package/dist/pytorch/process/index.js.map +1 -1
  78. package/dist/pytorch/pytorch-cache-controller.d.ts +84 -0
  79. package/dist/pytorch/pytorch-cache-controller.d.ts.map +1 -0
  80. package/dist/pytorch/pytorch-cache-controller.js +742 -0
  81. package/dist/pytorch/pytorch-cache-controller.js.map +1 -0
  82. package/dist/pytorch/pytorch-cache-support.d.ts +23 -0
  83. package/dist/pytorch/pytorch-cache-support.d.ts.map +1 -0
  84. package/dist/pytorch/pytorch-cache-support.js +47 -0
  85. package/dist/pytorch/pytorch-cache-support.js.map +1 -0
  86. package/dist/pytorch/pytorch-driver.d.ts +8 -1
  87. package/dist/pytorch/pytorch-driver.d.ts.map +1 -1
  88. package/dist/pytorch/pytorch-driver.js +40 -0
  89. package/dist/pytorch/pytorch-driver.js.map +1 -1
  90. package/dist/runtime/check.d.ts.map +1 -1
  91. package/dist/runtime/check.js +8 -6
  92. package/dist/runtime/check.js.map +1 -1
  93. package/dist/runtime/index.d.ts +2 -2
  94. package/dist/runtime/index.d.ts.map +1 -1
  95. package/dist/runtime/index.js +2 -2
  96. package/dist/runtime/index.js.map +1 -1
  97. package/dist/runtime/manifest-core.d.mts +1 -0
  98. package/dist/runtime/manifest-core.mjs +1 -0
  99. package/dist/runtime/manifest-core.mjs.map +1 -1
  100. package/dist/runtime/manifest.d.ts +2 -0
  101. package/dist/runtime/manifest.d.ts.map +1 -1
  102. package/dist/runtime/manifest.js.map +1 -1
  103. package/dist/runtime/paths-core.d.mts +15 -1
  104. package/dist/runtime/paths-core.d.mts.map +1 -1
  105. package/dist/runtime/paths-core.mjs +50 -5
  106. package/dist/runtime/paths-core.mjs.map +1 -1
  107. package/dist/runtime/paths.d.ts +2 -2
  108. package/dist/runtime/paths.d.ts.map +1 -1
  109. package/dist/runtime/paths.js +2 -2
  110. package/dist/runtime/paths.js.map +1 -1
  111. package/dist/runtime/pytorch-template-core.d.mts +11 -0
  112. package/dist/runtime/pytorch-template-core.d.mts.map +1 -0
  113. package/dist/runtime/pytorch-template-core.mjs +54 -0
  114. package/dist/runtime/pytorch-template-core.mjs.map +1 -0
  115. package/dist/runtime/setup-commands-core.d.mts +3 -0
  116. package/dist/runtime/setup-commands-core.d.mts.map +1 -1
  117. package/dist/runtime/setup-commands-core.mjs +4 -0
  118. package/dist/runtime/setup-commands-core.mjs.map +1 -1
  119. package/dist/runtime/setup-commands.d.ts +1 -1
  120. package/dist/runtime/setup-commands.d.ts.map +1 -1
  121. package/dist/runtime/setup-commands.js +1 -1
  122. package/dist/runtime/setup-commands.js.map +1 -1
  123. package/dist/vertexai/vertexai-driver.d.ts +6 -0
  124. package/dist/vertexai/vertexai-driver.d.ts.map +1 -1
  125. package/dist/vertexai/vertexai-driver.js +106 -36
  126. package/dist/vertexai/vertexai-driver.js.map +1 -1
  127. package/docs/DRIVER_API.md +455 -0
  128. package/docs/LOCAL_MODEL_SETUP.md +765 -0
  129. package/docs/mlx-api-selection.md +301 -0
  130. package/package.json +10 -6
  131. package/scripts/runtime-cli.bin.test.ts +142 -0
  132. package/scripts/runtime-cli.js +305 -35
  133. package/scripts/runtime-cli.test.ts +163 -0
  134. package/skills/driver-usage/SKILL.md +29 -0
  135. package/src/mlx-ml/python/__main__.py +1 -1
  136. package/src/mlx-ml/python/backends/base.py +88 -18
  137. package/src/mlx-ml/python/backends/mlx_lm.py +28 -3
  138. package/src/mlx-ml/python/backends/mlx_vlm.py +679 -2
  139. package/src/mlx-ml/python/handlers/cache.py +4 -0
  140. package/src/mlx-ml/python/handlers/generate.py +33 -10
  141. package/src/mlx-ml/python/handlers/tokenize.py +1 -4
  142. package/src/mlx-ml/python/pyproject.toml +2 -2
  143. package/src/mlx-ml/python/server.py +2 -0
  144. package/src/mlx-ml/python/uv.lock +12 -12
  145. package/src/pytorch/templates/cpu-minimal/backends/base.py +139 -0
  146. package/src/pytorch/templates/cpu-minimal/backends/transformers_lm.py +1167 -0
  147. package/src/pytorch/{python → templates/cpu-minimal}/handlers/__init__.py +1 -0
  148. package/src/pytorch/templates/cpu-minimal/handlers/cache.py +88 -0
  149. package/src/pytorch/templates/cpu-minimal/handlers/generate.py +157 -0
  150. package/src/pytorch/{python → templates/cpu-minimal}/pyproject.toml +2 -2
  151. package/src/pytorch/{python → templates/cpu-minimal}/server.py +20 -2
  152. package/src/pytorch/templates/cpu-minimal/tests/test_cache_handler.py +284 -0
  153. package/src/pytorch/templates/cpu-minimal/tests/test_capabilities.py +14 -0
  154. package/src/pytorch/templates/cpu-minimal/tests/test_server.py +141 -0
  155. package/src/pytorch/templates/cpu-minimal/tests/test_transformers_errors.py +89 -0
  156. package/src/pytorch/templates/cpu-minimal/tests/test_transformers_lm_cache.py +554 -0
  157. package/src/pytorch/templates/cpu-minimal/utils/__init__.py +0 -0
  158. package/src/pytorch/{python → templates/cpu-minimal}/utils/token_utils.py +2 -2
  159. package/src/pytorch/templates/cpu-minimal/utils/transformers_errors.py +54 -0
  160. package/src/pytorch/{python → templates/cpu-minimal}/uv.lock +149 -109
  161. package/src/pytorch/templates/cuda/__main__.py +19 -0
  162. package/src/pytorch/templates/cuda/backends/__init__.py +3 -0
  163. package/src/pytorch/{python → templates/cuda}/backends/base.py +54 -6
  164. package/src/pytorch/templates/cuda/backends/transformers_lm.py +379 -0
  165. package/src/pytorch/templates/cuda/handlers/__init__.py +7 -0
  166. package/src/pytorch/templates/cuda/handlers/cache.py +93 -0
  167. package/src/pytorch/templates/cuda/handlers/cancel.py +53 -0
  168. package/src/pytorch/templates/cuda/handlers/capabilities.py +6 -0
  169. package/src/pytorch/templates/cuda/handlers/completion.py +15 -0
  170. package/src/pytorch/templates/cuda/handlers/format_test.py +70 -0
  171. package/src/pytorch/templates/cuda/handlers/generate.py +152 -0
  172. package/src/pytorch/templates/cuda/handlers/render.py +40 -0
  173. package/src/pytorch/templates/cuda/handlers/tokenize.py +63 -0
  174. package/src/pytorch/templates/cuda/pyproject.toml +37 -0
  175. package/src/pytorch/templates/cuda/server.py +158 -0
  176. package/src/pytorch/templates/cuda/tests/__init__.py +0 -0
  177. package/src/pytorch/templates/cuda/tests/test_cache_handler.py +207 -0
  178. package/src/pytorch/templates/cuda/tests/test_capabilities.py +14 -0
  179. package/src/pytorch/templates/cuda/tests/test_server.py +145 -0
  180. package/src/pytorch/templates/cuda/tests/test_transformers_errors.py +89 -0
  181. package/src/pytorch/templates/cuda/tests/test_transformers_lm_cache.py +288 -0
  182. package/src/pytorch/templates/cuda/utils/__init__.py +0 -0
  183. package/src/pytorch/templates/cuda/utils/chat_template_constraints.py +164 -0
  184. package/src/pytorch/templates/cuda/utils/prompt_builder.py +54 -0
  185. package/src/pytorch/templates/cuda/utils/template_render.py +80 -0
  186. package/src/pytorch/templates/cuda/utils/token_utils.py +376 -0
  187. package/src/pytorch/templates/cuda/utils/transformers_errors.py +54 -0
  188. package/src/pytorch/templates/cuda/uv.lock +734 -0
  189. package/src/pytorch/python/backends/transformers_lm.py +0 -127
  190. package/src/pytorch/python/handlers/generate.py +0 -68
  191. /package/src/pytorch/{python → templates/cpu-minimal}/__main__.py +0 -0
  192. /package/src/pytorch/{python → templates/cpu-minimal}/backends/__init__.py +0 -0
  193. /package/src/pytorch/{python → templates/cpu-minimal}/handlers/cancel.py +0 -0
  194. /package/src/pytorch/{python → templates/cpu-minimal}/handlers/capabilities.py +0 -0
  195. /package/src/pytorch/{python → templates/cpu-minimal}/handlers/completion.py +0 -0
  196. /package/src/pytorch/{python → templates/cpu-minimal}/handlers/format_test.py +0 -0
  197. /package/src/pytorch/{python → templates/cpu-minimal}/handlers/render.py +0 -0
  198. /package/src/pytorch/{python → templates/cpu-minimal}/handlers/tokenize.py +0 -0
  199. /package/src/pytorch/{python/utils → templates/cpu-minimal/tests}/__init__.py +0 -0
  200. /package/src/pytorch/{python → templates/cpu-minimal}/utils/chat_template_constraints.py +0 -0
  201. /package/src/pytorch/{python → templates/cpu-minimal}/utils/prompt_builder.py +0 -0
  202. /package/src/pytorch/{python → templates/cpu-minimal}/utils/template_render.py +0 -0
@@ -0,0 +1,54 @@
1
+ import { cpSync, existsSync, mkdirSync, readdirSync } from 'fs';
2
+ import { dirname, join } from 'path';
3
+
4
+ const PRESERVED_RUNTIME_FILES = new Set(['pyproject.toml', 'uv.lock']);
5
+
6
+ function copyTemplateContents(templateDir, runtimePythonDir) {
7
+ mkdirSync(runtimePythonDir, { recursive: true });
8
+ for (const entry of readdirSync(templateDir)) {
9
+ if (PRESERVED_RUNTIME_FILES.has(entry)) {
10
+ continue;
11
+ }
12
+ cpSync(join(templateDir, entry), join(runtimePythonDir, entry), {
13
+ recursive: true,
14
+ force: true,
15
+ });
16
+ }
17
+ }
18
+
19
+ function assertTemplateExists(templateDir) {
20
+ if (!existsSync(templateDir)) {
21
+ throw new Error(`PyTorch template not found: ${templateDir}`);
22
+ }
23
+ }
24
+
25
+ /**
26
+ * 初回 setup 用に template 一式を runtime へ seed する。
27
+ * 既存 runtime の pyproject.toml / uv.lock はユーザー管理として保持する。
28
+ */
29
+ export function seedPytorchTemplate(templateDir, runtimePythonDir) {
30
+ assertTemplateExists(templateDir);
31
+ if (!existsSync(runtimePythonDir)) {
32
+ mkdirSync(dirname(runtimePythonDir), { recursive: true });
33
+ cpSync(templateDir, runtimePythonDir, { recursive: true });
34
+ return;
35
+ }
36
+
37
+ copyTemplateContents(templateDir, runtimePythonDir);
38
+ for (const file of PRESERVED_RUNTIME_FILES) {
39
+ const templateFile = join(templateDir, file);
40
+ const runtimeFile = join(runtimePythonDir, file);
41
+ if (!existsSync(runtimeFile) && existsSync(templateFile)) {
42
+ cpSync(templateFile, runtimeFile, { force: true });
43
+ }
44
+ }
45
+ }
46
+
47
+ /**
48
+ * 既存 runtime のコードを template から同期する。
49
+ * pyproject.toml と uv.lock は上書きしない。
50
+ */
51
+ export function syncPytorchTemplate(templateDir, runtimePythonDir) {
52
+ assertTemplateExists(templateDir);
53
+ copyTemplateContents(templateDir, runtimePythonDir);
54
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pytorch-template-core.mjs","sourceRoot":"","sources":["../../src/runtime/pytorch-template-core.mjs"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvE,SAAS,oBAAoB,CAAC,WAAW,EAAE,gBAAgB;IACzD,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE;YAC9D,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAW;IACvC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB;IAC/D,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB;IAC/D,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAClC,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AACtD,CAAC"}
@@ -10,4 +10,7 @@ export const SETUP_PYTORCH_MONOREPO: "pnpm run setup-pytorch";
10
10
  /** @modular-prompt/driver を npm インストールした環境向け */
11
11
  export const SETUP_MLX_CLI: "modular-prompt-runtime setup mlx";
12
12
  export const SETUP_PYTORCH_CLI: "modular-prompt-runtime setup pytorch";
13
+ /** PyTorch runtime のコード・依存を再同期するコマンド */
14
+ export const SYNC_PYTORCH_MONOREPO: "pnpm run sync-pytorch";
15
+ export const SYNC_PYTORCH_CLI: "modular-prompt-runtime sync pytorch";
13
16
  //# sourceMappingURL=setup-commands-core.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-commands-core.d.mts","sourceRoot":"","sources":["../../src/runtime/setup-commands-core.mjs"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,iCAAkC,oBAAoB,CAAC;AACvD,qCAAsC,wBAAwB,CAAC;AAE/D,gDAAgD;AAChD,4BAA6B,kCAAkC,CAAC;AAChE,gCAAiC,sCAAsC,CAAC"}
1
+ {"version":3,"file":"setup-commands-core.d.mts","sourceRoot":"","sources":["../../src/runtime/setup-commands-core.mjs"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,iCAAkC,oBAAoB,CAAC;AACvD,qCAAsC,wBAAwB,CAAC;AAE/D,gDAAgD;AAChD,4BAA6B,kCAAkC,CAAC;AAChE,gCAAiC,sCAAsC,CAAC;AAExE,wCAAwC;AACxC,oCAAqC,uBAAuB,CAAC;AAC7D,+BAAgC,qCAAqC,CAAC"}
@@ -12,3 +12,7 @@ export const SETUP_PYTORCH_MONOREPO = 'pnpm run setup-pytorch';
12
12
  /** @modular-prompt/driver を npm インストールした環境向け */
13
13
  export const SETUP_MLX_CLI = 'modular-prompt-runtime setup mlx';
14
14
  export const SETUP_PYTORCH_CLI = 'modular-prompt-runtime setup pytorch';
15
+
16
+ /** PyTorch runtime のコード・依存を再同期するコマンド */
17
+ export const SYNC_PYTORCH_MONOREPO = 'pnpm run sync-pytorch';
18
+ export const SYNC_PYTORCH_CLI = 'modular-prompt-runtime sync pytorch';
@@ -1 +1 @@
1
- {"version":3,"file":"setup-commands-core.mjs","sourceRoot":"","sources":["../../src/runtime/setup-commands-core.mjs"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,sCAAsC,CAAC"}
1
+ {"version":3,"file":"setup-commands-core.mjs","sourceRoot":"","sources":["../../src/runtime/setup-commands-core.mjs"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,sCAAsC,CAAC;AAExE,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qCAAqC,CAAC"}
@@ -1,2 +1,2 @@
1
- export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, } from './setup-commands-core.mjs';
1
+ export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, SYNC_PYTORCH_MONOREPO, SYNC_PYTORCH_CLI, } from './setup-commands-core.mjs';
2
2
  //# sourceMappingURL=setup-commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-commands.d.ts","sourceRoot":"","sources":["../../src/runtime/setup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,GAClB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"setup-commands.d.ts","sourceRoot":"","sources":["../../src/runtime/setup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC"}
@@ -1,2 +1,2 @@
1
- export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, } from './setup-commands-core.mjs';
1
+ export { SETUP_MLX_MONOREPO, SETUP_PYTORCH_MONOREPO, SETUP_MLX_CLI, SETUP_PYTORCH_CLI, SYNC_PYTORCH_MONOREPO, SYNC_PYTORCH_CLI, } from './setup-commands-core.mjs';
2
2
  //# sourceMappingURL=setup-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-commands.js","sourceRoot":"","sources":["../../src/runtime/setup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,GAClB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"setup-commands.js","sourceRoot":"","sources":["../../src/runtime/setup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC"}
@@ -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
  * VertexAI driver configuration
5
6
  */
@@ -9,6 +10,7 @@ export interface VertexAIDriverConfig {
9
10
  model?: string;
10
11
  temperature?: number;
11
12
  defaultOptions?: Partial<VertexAIQueryOptions>;
13
+ cacheController?: PromptCacheController;
12
14
  }
13
15
  /**
14
16
  * VertexAI-specific query options
@@ -36,6 +38,7 @@ export declare class VertexAIDriver implements AIDriver {
36
38
  private openaiDriver?;
37
39
  private lastToken?;
38
40
  private queryLogger;
41
+ private cacheController?;
39
42
  get defaultOptions(): Partial<VertexAIQueryOptions>;
40
43
  set defaultOptions(value: Partial<VertexAIQueryOptions>);
41
44
  constructor(config?: VertexAIDriverConfig);
@@ -43,6 +46,9 @@ export declare class VertexAIDriver implements AIDriver {
43
46
  * Convert CompiledPrompt to VertexAI's format
44
47
  */
45
48
  private compiledPromptToVertexAI;
49
+ private buildPromptPayload;
50
+ private buildCachedPromptPayload;
51
+ private applyQueryOptions;
46
52
  /**
47
53
  * Convert ChatMessage to VertexAI Content format
48
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"vertexai-driver.d.ts","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAC;AAOxI;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,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,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkBD;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAA+B;IAElD,IAAI,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAElD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAEtD;gBAEW,MAAM,GAAE,oBAAyB;IAiB7C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqHhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6DvB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAG5C;IAEH;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;OAGG;YACW,eAAe;IAgB7B;;;;OAIG;YACW,UAAU;IAexB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,WAAW,CAAC;IAyGvB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC;IA+GxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
1
+ {"version":3,"file":"vertexai-driver.d.ts","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAC;AAMxI,OAAO,KAAK,EAAe,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,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,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkBD;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,eAAe,CAAC,CAAwB;IAEhD,IAAI,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAElD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAEtD;gBAEW,MAAM,GAAE,oBAAyB;IAkB7C;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAgIlB,kBAAkB;IA0ChC,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6DvB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAG5C;IAEH;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;OAGG;YACW,eAAe;IAgB7B;;;;OAIG;YACW,UAAU;IAexB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,WAAW,CAAC;IAuGvB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC;IA6GxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
@@ -4,6 +4,7 @@ import { hasToolCalls, isToolResult } from '../types.js';
4
4
  import { contentToString } from '../content-utils.js';
5
5
  import { OpenAIDriver } from '../openai/openai-driver.js';
6
6
  import { QueryLogger } from '../query-logger.js';
7
+ import { partitionPrompt } from '../cache-utils.js';
7
8
  /**
8
9
  * Map finish reasons from VertexAI to our format
9
10
  */
@@ -33,6 +34,7 @@ export class VertexAIDriver {
33
34
  openaiDriver;
34
35
  lastToken;
35
36
  queryLogger = new QueryLogger('VertexAI');
37
+ cacheController;
36
38
  get defaultOptions() {
37
39
  return this._defaultOptions;
38
40
  }
@@ -52,11 +54,12 @@ export class VertexAIDriver {
52
54
  this.defaultModel = config.model || 'gemini-2.0-flash-001';
53
55
  this.defaultTemperature = config.temperature ?? 0.05;
54
56
  this._defaultOptions = config.defaultOptions || {};
57
+ this.cacheController = config.cacheController;
55
58
  }
56
59
  /**
57
60
  * Convert CompiledPrompt to VertexAI's format
58
61
  */
59
- compiledPromptToVertexAI(prompt) {
62
+ compiledPromptToVertexAI(prompt, sections) {
60
63
  // Helper to extract message elements and convert others to text
61
64
  const processElements = (elements, defaultRole) => {
62
65
  const result = [];
@@ -142,8 +145,11 @@ export class VertexAIDriver {
142
145
  const systemParts = [];
143
146
  const contents = [];
144
147
  // Instructions → system instruction (text only, no message elements expected here)
145
- if (prompt.instructions && prompt.instructions.length > 0) {
146
- for (const el of prompt.instructions) {
148
+ const instructionElements = sections?.instructions ?? prompt.instructions ?? [];
149
+ const dataElements = sections?.data ?? prompt.data ?? [];
150
+ const outputElements = sections?.output ?? prompt.output ?? [];
151
+ if (instructionElements.length > 0) {
152
+ for (const el of instructionElements) {
147
153
  if (typeof el === 'string') {
148
154
  systemParts.push(el);
149
155
  }
@@ -156,11 +162,11 @@ export class VertexAIDriver {
156
162
  }
157
163
  }
158
164
  // Data + Output → contents (may contain message elements)
159
- if (prompt.data && prompt.data.length > 0) {
160
- contents.push(...processElements(prompt.data, 'user'));
165
+ if (dataElements.length > 0) {
166
+ contents.push(...processElements(dataElements, 'user'));
161
167
  }
162
- if (prompt.output && prompt.output.length > 0) {
163
- contents.push(...processElements(prompt.output, 'user'));
168
+ if (outputElements.length > 0) {
169
+ contents.push(...processElements(outputElements, 'user'));
164
170
  }
165
171
  // Ensure at least one user message
166
172
  if (contents.length === 0) {
@@ -174,6 +180,67 @@ export class VertexAIDriver {
174
180
  systemInstruction: systemParts.length > 0 ? systemParts.join('\n\n') : undefined
175
181
  };
176
182
  }
183
+ async buildPromptPayload(prompt, mergedOptions, model) {
184
+ const partition = partitionPrompt(prompt);
185
+ const hasCacheableContent = partition.cacheable.instructions.length > 0 ||
186
+ partition.cacheable.data.length > 0 ||
187
+ Boolean(mergedOptions.tools && mergedOptions.tools.length > 0);
188
+ // A caller-provided handle is authoritative. This is used by extract
189
+ // sessions, which prepare a cache themselves and pass cache: false to
190
+ // prevent a second driver-side prepare call.
191
+ if (mergedOptions.cacheHandle) {
192
+ if (mergedOptions.cacheHandle.ref) {
193
+ return {
194
+ request: this.buildCachedPromptPayload(prompt, partition, mergedOptions.cacheHandle),
195
+ cacheHandle: mergedOptions.cacheHandle,
196
+ };
197
+ }
198
+ }
199
+ else if (this.cacheController && mergedOptions.cache !== false && hasCacheableContent) {
200
+ const handle = await this.cacheController.prepare({
201
+ model,
202
+ instructions: partition.cacheable.instructions,
203
+ data: partition.cacheable.data,
204
+ tools: mergedOptions.tools,
205
+ readOnly: mergedOptions.cache === 'read-only',
206
+ });
207
+ return {
208
+ request: this.buildCachedPromptPayload(prompt, partition, handle),
209
+ cacheHandle: handle,
210
+ };
211
+ }
212
+ return {
213
+ request: this.compiledPromptToVertexAI(prompt),
214
+ cacheHandle: null,
215
+ };
216
+ }
217
+ buildCachedPromptPayload(prompt, partition, handle) {
218
+ const instructionsForRequest = handle.includes.instructions
219
+ ? partition.volatile.instructions
220
+ : [...partition.cacheable.instructions, ...partition.volatile.instructions];
221
+ const dataForRequest = handle.includes.dataElementCount >= partition.cacheable.data.length
222
+ ? partition.volatile.data
223
+ : [...partition.cacheable.data, ...partition.volatile.data];
224
+ const request = this.compiledPromptToVertexAI(prompt, {
225
+ instructions: instructionsForRequest,
226
+ data: dataForRequest,
227
+ output: partition.volatile.output,
228
+ });
229
+ if (handle.ref) {
230
+ request.cachedContent = handle.ref;
231
+ }
232
+ return request;
233
+ }
234
+ applyQueryOptions(request, mergedOptions, cacheHandle) {
235
+ if (mergedOptions.tools &&
236
+ mergedOptions.tools.length > 0 &&
237
+ (!cacheHandle?.ref || !cacheHandle.includes.tools)) {
238
+ request.tools = this.convertTools(mergedOptions.tools);
239
+ }
240
+ if (mergedOptions.toolChoice) {
241
+ request.toolConfig = this.convertToolChoice(mergedOptions.toolChoice);
242
+ }
243
+ }
177
244
  /**
178
245
  * Convert ChatMessage to VertexAI Content format
179
246
  */
@@ -392,7 +459,7 @@ export class VertexAIDriver {
392
459
  /**
393
460
  * Create a generative model client
394
461
  */
395
- createClient(model, config) {
462
+ createClient(model, config, cacheHandle) {
396
463
  const options = {
397
464
  model,
398
465
  safetySettings: [
@@ -405,6 +472,12 @@ export class VertexAIDriver {
405
472
  };
406
473
  // Use preview API for preview models
407
474
  if (model.includes('-preview-')) {
475
+ // GenerativeModelPreview overwrites request.cachedContent with the
476
+ // cachedContent attached to the model instance. Attach the handle at
477
+ // model creation time so the cache reference survives the SDK boundary.
478
+ if (cacheHandle?.ref) {
479
+ return this.vertexAI.preview.getGenerativeModelFromCachedContent({ name: cacheHandle.ref, model }, options);
480
+ }
408
481
  return this.vertexAI.preview.getGenerativeModel(options);
409
482
  }
410
483
  else {
@@ -469,8 +542,7 @@ export class VertexAIDriver {
469
542
  }
470
543
  this.queryLogger.mark(mergedOptions);
471
544
  try {
472
- // Convert prompt to VertexAI format
473
- const request = this.compiledPromptToVertexAI(prompt);
545
+ const { request, cacheHandle } = await this.buildPromptPayload(prompt, mergedOptions, model);
474
546
  // Create generation config
475
547
  const generationConfig = {
476
548
  maxOutputTokens: mergedOptions.maxTokens || 1000,
@@ -486,15 +558,10 @@ export class VertexAIDriver {
486
558
  delete generationConfig[key];
487
559
  }
488
560
  });
489
- // Add tools configuration
490
- if (mergedOptions.tools && mergedOptions.tools.length > 0) {
491
- request.tools = this.convertTools(mergedOptions.tools);
492
- }
493
- if (mergedOptions.toolChoice) {
494
- request.toolConfig = this.convertToolChoice(mergedOptions.toolChoice);
495
- }
561
+ this.applyQueryOptions(request, mergedOptions, cacheHandle);
562
+ this.cacheController?.recordQuery?.();
496
563
  // Create client and generate
497
- const client = this.createClient(model, generationConfig);
564
+ const client = this.createClient(model, generationConfig, cacheHandle);
498
565
  const result = await client.generateContent(request);
499
566
  // Extract response
500
567
  const response = result.response;
@@ -529,15 +596,19 @@ export class VertexAIDriver {
529
596
  // Keep as text if not valid JSON
530
597
  }
531
598
  }
599
+ const usageMetadata = response.usageMetadata;
532
600
  return {
533
601
  content,
534
602
  finishReason,
535
603
  structuredOutput,
536
604
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
537
- usage: response.usageMetadata ? {
538
- promptTokens: response.usageMetadata.promptTokenCount || 0,
539
- completionTokens: response.usageMetadata.candidatesTokenCount || 0,
540
- totalTokens: response.usageMetadata.totalTokenCount || 0
605
+ usage: usageMetadata ? {
606
+ promptTokens: usageMetadata.promptTokenCount || 0,
607
+ completionTokens: usageMetadata.candidatesTokenCount || 0,
608
+ totalTokens: usageMetadata.totalTokenCount || 0,
609
+ ...(usageMetadata.cachedContentTokenCount !== undefined
610
+ ? { cacheReadTokens: usageMetadata.cachedContentTokenCount }
611
+ : {}),
541
612
  } : undefined,
542
613
  ...this.queryLogger.collect()
543
614
  };
@@ -563,8 +634,7 @@ export class VertexAIDriver {
563
634
  return route.driver.streamQuery(prompt, { ...mergedOptions, model: route.modelName });
564
635
  }
565
636
  this.queryLogger.mark(mergedOptions);
566
- // Convert prompt to VertexAI format
567
- const request = this.compiledPromptToVertexAI(prompt);
637
+ const { request, cacheHandle } = await this.buildPromptPayload(prompt, mergedOptions, model);
568
638
  // Create generation config
569
639
  const generationConfig = {
570
640
  maxOutputTokens: mergedOptions.maxTokens || 1000,
@@ -578,15 +648,10 @@ export class VertexAIDriver {
578
648
  delete generationConfig[key];
579
649
  }
580
650
  });
581
- // Add tools configuration
582
- if (mergedOptions.tools && mergedOptions.tools.length > 0) {
583
- request.tools = this.convertTools(mergedOptions.tools);
584
- }
585
- if (mergedOptions.toolChoice) {
586
- request.toolConfig = this.convertToolChoice(mergedOptions.toolChoice);
587
- }
651
+ this.applyQueryOptions(request, mergedOptions, cacheHandle);
652
+ this.cacheController?.recordQuery?.();
588
653
  // Create client and generate stream
589
- const client = this.createClient(model, generationConfig);
654
+ const client = this.createClient(model, generationConfig, cacheHandle);
590
655
  const streamingResult = await client.generateContentStream(request);
591
656
  // Create stream generator
592
657
  async function* streamGenerator() {
@@ -631,15 +696,19 @@ export class VertexAIDriver {
631
696
  // Keep as text if not valid JSON
632
697
  }
633
698
  }
699
+ const usageMetadata = response.usageMetadata;
634
700
  return {
635
701
  content,
636
702
  finishReason,
637
703
  structuredOutput,
638
704
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
639
- usage: response.usageMetadata ? {
640
- promptTokens: response.usageMetadata.promptTokenCount || 0,
641
- completionTokens: response.usageMetadata.candidatesTokenCount || 0,
642
- totalTokens: response.usageMetadata.totalTokenCount || 0
705
+ usage: usageMetadata ? {
706
+ promptTokens: usageMetadata.promptTokenCount || 0,
707
+ completionTokens: usageMetadata.candidatesTokenCount || 0,
708
+ totalTokens: usageMetadata.totalTokenCount || 0,
709
+ ...(usageMetadata.cachedContentTokenCount !== undefined
710
+ ? { cacheReadTokens: usageMetadata.cachedContentTokenCount }
711
+ : {}),
643
712
  } : undefined,
644
713
  ...this.queryLogger.collect()
645
714
  };
@@ -658,6 +727,7 @@ export class VertexAIDriver {
658
727
  this.openaiDriver = undefined;
659
728
  this.lastToken = undefined;
660
729
  }
730
+ await this.cacheController?.close();
661
731
  }
662
732
  }
663
733
  //# sourceMappingURL=vertexai-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertexai-driver.js","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,YAAY,EACZ,kBAAkB,EAIlB,UAAU,EACV,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;GAEG;AACH,MAAM,eAAe,GAAgE;IACnF,yBAAyB,EAAE,OAAO;IAClC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;IAClB,kBAAkB,EAAE,OAAO;IAC3B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,cAAc;IACjB,QAAQ,CAAW;IACnB,YAAY,CAAS;IACrB,kBAAkB,CAAS;IAC3B,eAAe,CAAgC;IAC/C,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,UAAU,CAAa;IACvB,YAAY,CAAgB;IAC5B,SAAS,CAAU;IACnB,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAElD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc,CAAC,KAAoC;QACrD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,YAAY,SAA+B,EAAE;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QAC9G,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,aAAa,CAAC;QAEpH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,sBAAsB,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,MAAsB;QACrD,gEAAgE;QAChE,MAAM,eAAe,GAAG,CAAC,QAAmB,EAAE,WAA4C,EAAoD,EAAE;YAC9I,MAAM,MAAM,GAAqD,EAAE,CAAC;YACpE,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;oBACjE,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC1B,+BAA+B;wBAC/B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzB,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gCACpD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;6BACxC,CAAC,CAAC;4BACH,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;wBACvB,CAAC;wBAED,iCAAiC;wBACjC,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BACvB,mEAAmE;4BACnE,MAAM,YAAY,GAAG,EAAsF,CAAC;4BAC5G,IAAI,QAAgB,CAAC;4BACrB,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gCACjC,QAAQ,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;4BAC5C,CAAC;iCAAM,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gCACxC,mCAAmC;gCACnC,MAAM,aAAa,GAAG,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gCAClI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAE,YAAY,CAAC,KAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;4BAC7F,CAAC;iCAAM,CAAC,CAAC,UAAU;gCACjB,QAAQ,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;4BAC3C,CAAC;4BACD,0EAA0E;4BAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BACvC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;gCAC5F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;4BAC/E,CAAC;iCAAM,CAAC;gCACN,MAAM,CAAC,IAAI,CAAC;oCACV,IAAI,EAAE,MAAM;oCACZ,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;iCACrE,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,IAAI,WAAW,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;4BAC7C,MAAM,KAAK,GAAW,EAAE,CAAC;4BACzB,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;4BAC5C,IAAI,OAAO;gCAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;4BAC3C,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;gCAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,SAAoC,EAAE,EAAE,CAAC,CAAC;4BACjG,CAAC;4BACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;wBACxC,CAAC;6BAAM,CAAC;4BACN,mBAAmB;4BACnB,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gCAChD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;6BAC/C,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;yBAAM,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;wBAC3B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBACpD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;iBACxC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,uBAAuB;QACvB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAqD,EAAE,CAAC;QAEtE,mFAAmF;QACnF,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACrC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;qBAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;oBACpE,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;aACnE,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ;YACR,iBAAiB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SACjF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAoB;QAC/C,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,2BAA2B;YAC3B,MAAM,KAAK,GAAW,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC;oBACT,YAAY,EAAE;wBACZ,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,EAAE,CAAC,SAAoC;qBAC9C;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,4DAA4D;YAC5D,IAAI,QAAgB,CAAC;YACrB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACnC,mCAAmC;gBACnC,MAAM,aAAa,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnH,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAE,OAAO,CAAC,KAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YACnF,CAAC;iBAAM,CAAC,CAAC,UAAU;gBACjB,QAAQ,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YACtC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC;wBACN,gBAAgB,EAAE;4BAChB,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,QAAQ;yBACT;qBACF,CAAC;aACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACrD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;aACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAA2E;QACjG,6CAA6C;QAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAE/D,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QAEd,gCAAgC;QAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC1C,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC7B,CAAC,CAAC,CAAC;QAEJ,2CAA2C;QAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;aACnE,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvD,QAAQ,CAAC,OAAO,CAAC;gBACf,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,wCAAwC;gBACxC,iBAAiB,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAC5C,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;iBAC1E,CAAC,CAAC;YACL,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,qCAAqC;QACrC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrG,iBAAiB,CAAC,IAAI,CAAC;gBACrB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED,yFAAyF;IACjF,MAAM,CAAU,uBAAuB,GAAG,IAAI,GAAG,CAAC;QACxD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU;QAC3C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS;KACrD,CAAC,CAAC;IAEH;;;;;OAKG;IACK,iBAAiB,CAAC,MAAe;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,MAAM,OAAO,GAA+B;YAC1C,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,CAA0B,EAAkB,EAAE;YACnE,MAAM,MAAM,GAA4B,EAAE,CAAC;YAE3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,GAAG,uBAAuB,CAAC,CAAC;oBACxF,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,4EAA4E;YAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAI,CAAC,CAAC,IAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;gBAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;oBACrD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAqC,CAAC;qBACpD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAA4B,CAAC,CAAC,CAAC,CACrE,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,MAAwB,CAAC;QAClC,CAAC,CAAC;QAEF,OAAO,aAAa,CAAC,MAAiC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAuB;QAC1C,OAAO,CAAC;gBACN,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,oFAAoF;oBACpF,GAAG,CAAC,IAAI,CAAC,UAAU;wBACjB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAA0E,EAAE;wBAClI,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;aACJ,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,UAAsB;QAC9C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC;QACtE,CAAC;QACD,OAAO;YACL,qBAAqB,EAAE;gBACrB,IAAI,EAAE,mBAAmB,CAAC,GAAG;gBAC7B,oBAAoB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;aACxC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAyB;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,QAAQ,SAAS,CAAC,MAAM,EAAE;oBAC9B,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAA4B;iBACtD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAa,EAAE,MAAwB;QAC1D,MAAM,OAAO,GAAG;YACd,KAAK;YACL,cAAc,EAAE;gBACd;oBACE,QAAQ,EAAE,YAAY,CAAC,+BAA+B;oBACtD,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;iBACrD;aACF;YACD,gBAAgB,EAAE,MAAM;SACzB,CAAC;QAEF,qCAAqC;QACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,KAAa;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,MAAM,OAAO,GAAG,WAAW,IAAI,CAAC,QAAQ,0CAA0C,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,oBAAoB,CAAC;YAC9I,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACnC,MAAM,EAAE,KAAK;gBACb,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CAAC,KAAa;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,CAAC,6BAA6B;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,0EAA0E;gBAC1E,iDAAiD,CAClD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,MAAsB,EACtB,UAAgC,EAAE;QAElC,8BAA8B;QAC9B,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QAE7D,gEAAgE;QAChE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAwB,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAEtD,2BAA2B;YAC3B,MAAM,gBAAgB,GAAqB;gBACzC,eAAe,EAAE,aAAa,CAAC,SAAS,IAAI,IAAI;gBAChD,WAAW,EAAE,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB;gBACjE,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY;gBACnF,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;aACtE,CAAC;YAEF,0BAA0B;YAC1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,gBAAgB,CAAC,GAA6B,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClE,OAAO,gBAAgB,CAAC,GAA6B,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,0BAA0B;YAC1B,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxE,CAAC;YAED,6BAA6B;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAErD,mBAAmB;YACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACtE,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,OAAO;oBACrB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;iBAC9B,CAAC;YACJ,CAAC;YAED,gDAAgD;YAChD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK;iBAClB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;iBAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;YAEZ,qBAAqB;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAe,CAAC,CAAC;YAEzD,oBAAoB;YACpB,IAAI,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;YACtE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,YAAY,GAAG,YAAY,CAAC;YAC9B,CAAC;YAED,4BAA4B;YAC5B,IAAI,gBAAqC,CAAC;YAC1C,IAAI,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACvD,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC;oBAC1D,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC;oBAClE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC;iBACzD,CAAC,CAAC,CAAC,SAAS;gBACb,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnG,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,OAAO;gBACrB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,MAAsB,EACtB,OAA8B;QAE9B,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QAE7D,gEAAgE;QAChE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAwB,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAErC,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAEtD,2BAA2B;QAC3B,MAAM,gBAAgB,GAAqB;YACzC,eAAe,EAAE,aAAa,CAAC,SAAS,IAAI,IAAI;YAChD,WAAW,EAAE,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB;YACjE,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY;YACnF,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SACtE,CAAC;QAEF,0BAA0B;QAC1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,gBAAgB,CAAC,GAA6B,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClE,OAAO,gBAAgB,CAAC,GAA6B,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxE,CAAC;QAED,oCAAoC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEpE,0BAA0B;QAC1B,KAAK,SAAS,CAAC,CAAC,eAAe;YAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBACjD,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;oBACtD,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,aAAa,GAAG,CAAC,KAAK,IAA0B,EAAE;YACtD,wCAAwC;YACxC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC;YAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACtE,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,OAAO;oBACrB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;iBAC9B,CAAC;YACJ,CAAC;YAED,gDAAgD;YAChD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK;iBAClB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;iBAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;YAEZ,qBAAqB;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAe,CAAC,CAAC;YAEzD,oBAAoB;YACpB,IAAI,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;YACtE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,YAAY,GAAG,YAAY,CAAC;YAC9B,CAAC;YAED,4BAA4B;YAC5B,IAAI,gBAAqC,CAAC;YAC1C,IAAI,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACvD,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC;oBAC1D,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC;oBAClE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC;iBACzD,CAAC,CAAC,CAAC,SAAS;gBACb,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;aAC9B,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO;YACL,MAAM,EAAE,eAAe,EAAE;YACzB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"vertexai-driver.js","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"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"}