@jsonstudio/rcc 0.90.323 → 0.90.364

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 (1311) hide show
  1. package/README.md +16 -16
  2. package/dist/build-info.js +2 -2
  3. package/dist/cli/commands/camoufox.js +2 -2
  4. package/dist/cli/commands/camoufox.js.map +1 -1
  5. package/dist/cli/commands/clean.js +4 -3
  6. package/dist/cli/commands/clean.js.map +1 -1
  7. package/dist/cli/commands/codex.js +37 -7
  8. package/dist/cli/commands/codex.js.map +1 -1
  9. package/dist/cli/commands/config.js +2 -1
  10. package/dist/cli/commands/config.js.map +1 -1
  11. package/dist/cli/commands/env.js +2 -1
  12. package/dist/cli/commands/env.js.map +1 -1
  13. package/dist/cli/commands/init/basic.js +2 -1
  14. package/dist/cli/commands/init/basic.js.map +1 -1
  15. package/dist/cli/commands/init.js +4 -3
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/launcher/types.d.ts +1 -0
  18. package/dist/cli/commands/launcher-kernel.js +92 -103
  19. package/dist/cli/commands/launcher-kernel.js.map +1 -1
  20. package/dist/cli/commands/port.js +1 -1
  21. package/dist/cli/commands/port.js.map +1 -1
  22. package/dist/cli/commands/restart.js +3 -2
  23. package/dist/cli/commands/restart.js.map +1 -1
  24. package/dist/cli/commands/start.js +4 -3
  25. package/dist/cli/commands/start.js.map +1 -1
  26. package/dist/cli/commands/stop.js +3 -2
  27. package/dist/cli/commands/stop.js.map +1 -1
  28. package/dist/cli/config/bundled-docs.js +2 -6
  29. package/dist/cli/config/bundled-docs.js.map +1 -1
  30. package/dist/cli/config/init-config.d.ts +1 -0
  31. package/dist/cli/config/init-config.js +6 -3
  32. package/dist/cli/config/init-config.js.map +1 -1
  33. package/dist/cli/config/init-provider-catalog.js +4 -4
  34. package/dist/cli/config/init-provider-catalog.js.map +1 -1
  35. package/dist/cli/config/precommand-default-script.js +3 -9
  36. package/dist/cli/config/precommand-default-script.js.map +1 -1
  37. package/dist/cli/guardian/paths.js +2 -3
  38. package/dist/cli/guardian/paths.js.map +1 -1
  39. package/dist/cli.js +10 -2
  40. package/dist/cli.js.map +1 -1
  41. package/dist/commands/camoufox-fp.js +2 -3
  42. package/dist/commands/camoufox-fp.js.map +1 -1
  43. package/dist/commands/migrate-user-config.d.ts +6 -0
  44. package/dist/commands/migrate-user-config.js +53 -0
  45. package/dist/commands/migrate-user-config.js.map +1 -0
  46. package/dist/commands/provider-update.js +9 -9
  47. package/dist/commands/provider-update.js.map +1 -1
  48. package/dist/commands/quota-daemon.js +3 -3
  49. package/dist/commands/quota-daemon.js.map +1 -1
  50. package/dist/commands/quota-status.js +2 -2
  51. package/dist/commands/quota-status.js.map +1 -1
  52. package/dist/commands/token-daemon.js +2 -2
  53. package/dist/commands/token-daemon.js.map +1 -1
  54. package/dist/commands/validate.js +2 -3
  55. package/dist/commands/validate.js.map +1 -1
  56. package/dist/config/auth-file-resolver.js +2 -2
  57. package/dist/config/auth-file-resolver.js.map +1 -1
  58. package/dist/config/provider-v2-loader.js +9 -6
  59. package/dist/config/provider-v2-loader.js.map +1 -1
  60. package/dist/config/routecodex-config-loader.js +2 -2
  61. package/dist/config/routecodex-config-loader.js.map +1 -1
  62. package/dist/config/unified-config-paths.js +11 -9
  63. package/dist/config/unified-config-paths.js.map +1 -1
  64. package/dist/config/user-config-migration.d.ts +42 -0
  65. package/dist/config/user-config-migration.js +188 -0
  66. package/dist/config/user-config-migration.js.map +1 -0
  67. package/dist/config/user-data-paths.d.ts +59 -0
  68. package/dist/config/user-data-paths.js +174 -0
  69. package/dist/config/user-data-paths.js.map +1 -0
  70. package/dist/config/virtual-router-builder.d.ts +1 -1
  71. package/dist/config/virtual-router-builder.js +1 -1
  72. package/dist/docs/daemon-admin-ui.html +9 -9
  73. package/dist/index.js +7 -5
  74. package/dist/index.js.map +1 -1
  75. package/dist/manager/modules/health/index.js +2 -2
  76. package/dist/manager/modules/health/index.js.map +1 -1
  77. package/dist/manager/modules/quota/antigravity-quota-persistence.d.ts +2 -1
  78. package/dist/manager/modules/quota/antigravity-quota-persistence.js +11 -22
  79. package/dist/manager/modules/quota/antigravity-quota-persistence.js.map +1 -1
  80. package/dist/manager/quota/provider-quota-store.js +11 -4
  81. package/dist/manager/quota/provider-quota-store.js.map +1 -1
  82. package/dist/modules/config/pipeline-config-path.js +3 -3
  83. package/dist/modules/config/pipeline-config-path.js.map +1 -1
  84. package/dist/modules/llmswitch/bridge/module-loader.js +2 -2
  85. package/dist/modules/llmswitch/bridge/module-loader.js.map +1 -1
  86. package/dist/modules/llmswitch/core-loader.js +1 -0
  87. package/dist/modules/llmswitch/core-loader.js.map +1 -1
  88. package/dist/providers/auth/antigravity-fingerprint.js +2 -3
  89. package/dist/providers/auth/antigravity-fingerprint.js.map +1 -1
  90. package/dist/providers/auth/antigravity-reauth-state.js +2 -3
  91. package/dist/providers/auth/antigravity-reauth-state.js.map +1 -1
  92. package/dist/providers/auth/antigravity-user-agent.js +2 -2
  93. package/dist/providers/auth/antigravity-user-agent.js.map +1 -1
  94. package/dist/providers/auth/antigravity-warmup.js +2 -3
  95. package/dist/providers/auth/antigravity-warmup.js.map +1 -1
  96. package/dist/providers/auth/deepseek-account-auth.js +4 -3
  97. package/dist/providers/auth/deepseek-account-auth.js.map +1 -1
  98. package/dist/providers/auth/deepseek-account-token-acquirer.js +3 -2
  99. package/dist/providers/auth/deepseek-account-token-acquirer.js.map +1 -1
  100. package/dist/providers/auth/oauth-auth.js +2 -3
  101. package/dist/providers/auth/oauth-auth.js.map +1 -1
  102. package/dist/providers/auth/oauth-lifecycle/path-resolver.js +6 -7
  103. package/dist/providers/auth/oauth-lifecycle/path-resolver.js.map +1 -1
  104. package/dist/providers/auth/oauth-lifecycle.js +4 -4
  105. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  106. package/dist/providers/auth/oauth-repair-cooldown.js +2 -3
  107. package/dist/providers/auth/oauth-repair-cooldown.js.map +1 -1
  108. package/dist/providers/auth/token-scanner/index.js +2 -3
  109. package/dist/providers/auth/token-scanner/index.js.map +1 -1
  110. package/dist/providers/auth/token-storage/token-file-resolver.js +8 -7
  111. package/dist/providers/auth/token-storage/token-file-resolver.js.map +1 -1
  112. package/dist/providers/auth/tokenfile-auth.js +5 -6
  113. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  114. package/dist/providers/core/config/camoufox-launcher.js +3 -4
  115. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  116. package/dist/providers/core/config/provider-oauth-configs.js +2 -2
  117. package/dist/providers/core/config/provider-oauth-configs.js.map +1 -1
  118. package/dist/providers/core/hooks/hooks-integration.js +1 -1
  119. package/dist/providers/core/hooks/hooks-integration.js.map +1 -1
  120. package/dist/providers/core/runtime/deepseek-http-provider.js +2 -1
  121. package/dist/providers/core/runtime/deepseek-http-provider.js.map +1 -1
  122. package/dist/providers/core/utils/snapshot-writer.js +2 -1
  123. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  124. package/dist/server/handlers/config-admin-handler.d.ts +1 -1
  125. package/dist/server/handlers/config-admin-handler.js +6 -6
  126. package/dist/server/handlers/config-admin-handler.js.map +1 -1
  127. package/dist/server/runtime/http-server/daemon-admin/auth-store.js +2 -2
  128. package/dist/server/runtime/http-server/daemon-admin/auth-store.js.map +1 -1
  129. package/dist/server/runtime/http-server/daemon-admin/control-handler.js +3 -3
  130. package/dist/server/runtime/http-server/daemon-admin/control-handler.js.map +1 -1
  131. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +2 -2
  132. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  133. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js +5 -4
  134. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js.map +1 -1
  135. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +3 -3
  136. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  137. package/dist/server/runtime/http-server/executor/provider-response-converter.js +133 -2
  138. package/dist/server/runtime/http-server/executor/provider-response-converter.js.map +1 -1
  139. package/dist/server/runtime/http-server/executor-response.js +62 -1
  140. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  141. package/dist/server/runtime/http-server/http-server-bootstrap.js +2 -3
  142. package/dist/server/runtime/http-server/http-server-bootstrap.js.map +1 -1
  143. package/dist/server/runtime/http-server/request-executor.js +0 -49
  144. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  145. package/dist/server/runtime/http-server/routes.js +1 -1
  146. package/dist/server/runtime/http-server/routes.js.map +1 -1
  147. package/dist/server/runtime/http-server/servertool-admin-state.js +2 -2
  148. package/dist/server/runtime/http-server/servertool-admin-state.js.map +1 -1
  149. package/dist/server/runtime/http-server/session-client-route-utils.js +38 -5
  150. package/dist/server/runtime/http-server/session-client-route-utils.js.map +1 -1
  151. package/dist/server/runtime/http-server/session-dir.js +6 -12
  152. package/dist/server/runtime/http-server/session-dir.js.map +1 -1
  153. package/dist/server/runtime/http-server/stats-manager.js +2 -1
  154. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  155. package/dist/server/utils/non-blocking-error-logger.js +2 -1
  156. package/dist/server/utils/non-blocking-error-logger.js.map +1 -1
  157. package/dist/token-daemon/history-store.js +2 -1
  158. package/dist/token-daemon/history-store.js.map +1 -1
  159. package/dist/token-daemon/leader-lock.js +2 -2
  160. package/dist/token-daemon/leader-lock.js.map +1 -1
  161. package/dist/token-daemon/quota-auth-issue.js +2 -4
  162. package/dist/token-daemon/quota-auth-issue.js.map +1 -1
  163. package/dist/token-daemon/server-utils.js +3 -4
  164. package/dist/token-daemon/server-utils.js.map +1 -1
  165. package/dist/token-daemon/token-daemon.js +6 -6
  166. package/dist/token-daemon/token-daemon.js.map +1 -1
  167. package/dist/token-daemon/token-utils.js +2 -1
  168. package/dist/token-daemon/token-utils.js.map +1 -1
  169. package/dist/token-portal/fingerprint-summary.js +2 -3
  170. package/dist/token-portal/fingerprint-summary.js.map +1 -1
  171. package/dist/token-portal/local-token-portal.js +1 -1
  172. package/dist/token-portal/local-token-portal.js.map +1 -1
  173. package/dist/utils/daemon-stop-intent.js +2 -2
  174. package/dist/utils/daemon-stop-intent.js.map +1 -1
  175. package/dist/utils/errorsamples.js +3 -1
  176. package/dist/utils/errorsamples.js.map +1 -1
  177. package/dist/utils/llms-engine-shadow.js +2 -2
  178. package/dist/utils/llms-engine-shadow.js.map +1 -1
  179. package/dist/utils/managed-server-pids.js +2 -2
  180. package/dist/utils/managed-server-pids.js.map +1 -1
  181. package/dist/utils/process-lifecycle-logger.js +2 -1
  182. package/dist/utils/process-lifecycle-logger.js.map +1 -1
  183. package/dist/utils/runtime-exit-forensics.js +2 -2
  184. package/dist/utils/runtime-exit-forensics.js.map +1 -1
  185. package/dist/utils/snapshot-writer.js +2 -1
  186. package/dist/utils/snapshot-writer.js.map +1 -1
  187. package/docs/CODEX_AND_CLAUDE_CODE.md +1 -1
  188. package/docs/CONFIG_ARCHITECTURE.md +7 -7
  189. package/docs/DAEMON_CONTROL_PLANE.md +2 -2
  190. package/docs/INSTALLATION_AND_QUICKSTART.md +2 -2
  191. package/docs/INSTRUCTION_MARKUP.md +2 -2
  192. package/docs/OAUTH.md +6 -6
  193. package/docs/PORTS.md +1 -1
  194. package/docs/PROVIDERS_BUILTIN.md +2 -2
  195. package/docs/QUOTA_MANAGER_V3.md +2 -2
  196. package/docs/ROUTING_POLICY_SCHEMA.md +1 -1
  197. package/docs/SERVERTOOL_CLOCK_DESIGN.md +1 -1
  198. package/docs/SERVERTOOL_PRE_COMMAND_HOOKS.md +4 -4
  199. package/docs/anthropic-request-golden-samples.md +4 -4
  200. package/docs/chat-glm-500-analysis.md +2 -2
  201. package/docs/chat-request-golden-samples.md +4 -4
  202. package/docs/codex-samples-replay.md +3 -3
  203. package/docs/daemon-admin-api-design.md +2 -2
  204. package/docs/daemon-admin-ui.html +9 -9
  205. package/docs/design/servertool-stopmessage-lifecycle.md +5 -0
  206. package/docs/golden-ci-library.md +8 -8
  207. package/docs/monitoring/Design.md +2 -2
  208. package/docs/multi-token-auth-guide.md +6 -6
  209. package/docs/oauth-authentication-guide.md +1 -1
  210. package/docs/oauth-iflow-implementation.md +2 -2
  211. package/docs/pipeline-routing-report.md +1 -1
  212. package/docs/plans/manager-daemon/PLAN.md +1 -1
  213. package/docs/plans/provider-config-v2-plan.md +8 -8
  214. package/docs/plans/provider-runtime-manager-plan.md +4 -4
  215. package/docs/provider-analysis.md +5 -5
  216. package/docs/provider-quota-design.md +2 -2
  217. package/docs/providers/antigravity-fingerprint-ua-warmup.md +5 -5
  218. package/docs/providers/antigravity-gemini-provider-compat.md +3 -3
  219. package/docs/providers/deepseek-web-provider-design.md +1 -1
  220. package/docs/providers/gemini-provider.md +1 -1
  221. package/docs/providers/provider-composite-testing.md +2 -2
  222. package/docs/providers/tabglm-claude-code-compat.md +1 -1
  223. package/docs/replay-evidence-iflow-400.txt +3 -3
  224. package/docs/reports/routing-classification-report.json +6 -6
  225. package/docs/reports/routing-classification-report.md +6 -6
  226. package/docs/reports/thinking-keywords-report.json +6 -6
  227. package/docs/responses/README.md +5 -5
  228. package/docs/responses-generic-provider.md +1 -1
  229. package/docs/responses-passthrough-provider-design.md +7 -7
  230. package/docs/routing-instructions.md +1 -1
  231. package/docs/token-daemon-preview.html +3 -3
  232. package/docs/token-refresh-daemon-plan.md +7 -7
  233. package/docs/verification/modelscope-verify.md +2 -2
  234. package/docs/verified-configs/README.md +2 -2
  235. package/docs/verified-configs/v0.45.0/README.md +5 -5
  236. package/docs/verified-configs/v0.45.0/merged-config.5521.json +3 -3
  237. package/docs/verified-configs/v0.45.0/merged-config.qwen-5522.json +3 -3
  238. package/package.json +4 -4
  239. package/scripts/anthropic-four-config-e2e.mjs +5 -5
  240. package/scripts/anthropic-toolcall.mjs +1 -1
  241. package/scripts/batch-toolcall-report.mjs +1 -1
  242. package/scripts/claude-e2e-listdir-all.sh +1 -1
  243. package/scripts/claude-e2e-listdir-per-config.sh +4 -4
  244. package/scripts/clean-safe.mjs +1 -1
  245. package/scripts/cleanup-beads-oversized-notes.mjs +182 -0
  246. package/scripts/config-core-compare.ts +1 -1
  247. package/scripts/glm1210-curl-test.sh +1 -1
  248. package/scripts/install-release.sh +1 -1
  249. package/scripts/mock-provider/capture-from-configs.mjs +1 -1
  250. package/scripts/outbound-network-toolcall.mjs +2 -2
  251. package/scripts/outbound-regression-codex-samples.mjs +1 -1
  252. package/scripts/pack-mode.mjs +11 -4
  253. package/scripts/provider-v2-smoke.mjs +3 -3
  254. package/scripts/publish-rcc.mjs +3 -3
  255. package/scripts/replay-recorded-toolcall.mjs +1 -2
  256. package/scripts/responses-fai-capture.mjs +1 -1
  257. package/scripts/responses-sse-capture.mjs +1 -1
  258. package/scripts/responses-sse-proxy.mjs +1 -1
  259. package/scripts/responses-sse-replay-golden.mjs +252 -111
  260. package/scripts/run-bg.sh +1 -1
  261. package/scripts/run-fg-gtimeout.sh +1 -1
  262. package/scripts/snapshot-inspect.mjs +24 -5
  263. package/scripts/tests/antigravity-codex-sample-pipeline-compare.mjs +1 -1
  264. package/scripts/tests/antigravity-gemini-dryrun-compare.mjs +1 -1
  265. package/scripts/tests/responses-provider-dry-run.mjs +1 -1
  266. package/scripts/tests/virtual-router-health.mjs +1 -1
  267. package/scripts/update-models.mjs +2 -2
  268. package/scripts/v2-simple-monitor.mjs +1 -1
  269. package/scripts/vendor-core.mjs +23 -6
  270. package/scripts/verify-e2e-gemini-followup-sample.mjs +1 -1
  271. package/scripts/verify-e2e-toolcall.mjs +2 -2
  272. package/scripts/verify-health.mjs +2 -2
  273. package/scripts/verify-sse-loop.mjs +1 -1
  274. package/scripts/virtual-router-dryrun.mjs +2 -2
  275. package/scripts/virtual-router-shadow-v2-real.mjs +3 -3
  276. package/vendor/@jsonstudio/llms/README.md +271 -0
  277. package/vendor/@jsonstudio/llms/dist/bridge/routecodex-adapter.d.ts +74 -0
  278. package/vendor/@jsonstudio/llms/dist/bridge/routecodex-adapter.js +229 -0
  279. package/vendor/@jsonstudio/llms/dist/config-unified/enhanced-path-resolver.d.ts +5 -0
  280. package/vendor/@jsonstudio/llms/dist/config-unified/enhanced-path-resolver.js +46 -0
  281. package/vendor/@jsonstudio/llms/dist/config-unified/unified-config.d.ts +26 -0
  282. package/vendor/@jsonstudio/llms/dist/config-unified/unified-config.js +231 -0
  283. package/vendor/@jsonstudio/llms/dist/conversion/args-mapping.d.ts +18 -0
  284. package/vendor/@jsonstudio/llms/dist/conversion/args-mapping.js +8 -0
  285. package/vendor/@jsonstudio/llms/dist/conversion/bridge-actions.d.ts +39 -0
  286. package/vendor/@jsonstudio/llms/dist/conversion/bridge-actions.js +82 -0
  287. package/vendor/@jsonstudio/llms/dist/conversion/bridge-id-utils.d.ts +9 -0
  288. package/vendor/@jsonstudio/llms/dist/conversion/bridge-id-utils.js +13 -0
  289. package/vendor/@jsonstudio/llms/dist/conversion/bridge-instructions.d.ts +1 -0
  290. package/vendor/@jsonstudio/llms/dist/conversion/bridge-instructions.js +17 -0
  291. package/vendor/@jsonstudio/llms/dist/conversion/bridge-message-utils.d.ts +23 -0
  292. package/vendor/@jsonstudio/llms/dist/conversion/bridge-message-utils.js +45 -0
  293. package/vendor/@jsonstudio/llms/dist/conversion/bridge-metadata.d.ts +2 -0
  294. package/vendor/@jsonstudio/llms/dist/conversion/bridge-metadata.js +5 -0
  295. package/vendor/@jsonstudio/llms/dist/conversion/bridge-policies.d.ts +18 -0
  296. package/vendor/@jsonstudio/llms/dist/conversion/bridge-policies.js +11 -0
  297. package/vendor/@jsonstudio/llms/dist/conversion/codec-registry.d.ts +10 -0
  298. package/vendor/@jsonstudio/llms/dist/conversion/codec-registry.js +37 -0
  299. package/vendor/@jsonstudio/llms/dist/conversion/codecs/anthropic-openai-codec.d.ts +22 -0
  300. package/vendor/@jsonstudio/llms/dist/conversion/codecs/anthropic-openai-codec.js +52 -0
  301. package/vendor/@jsonstudio/llms/dist/conversion/codecs/gemini-openai-codec.d.ts +17 -0
  302. package/vendor/@jsonstudio/llms/dist/conversion/codecs/gemini-openai-codec.js +85 -0
  303. package/vendor/@jsonstudio/llms/dist/conversion/codecs/openai-openai-codec.d.ts +12 -0
  304. package/vendor/@jsonstudio/llms/dist/conversion/codecs/openai-openai-codec.js +54 -0
  305. package/vendor/@jsonstudio/llms/dist/conversion/codecs/responses-openai-codec.d.ts +12 -0
  306. package/vendor/@jsonstudio/llms/dist/conversion/codecs/responses-openai-codec.js +66 -0
  307. package/vendor/@jsonstudio/llms/dist/conversion/compaction-detect.d.ts +2 -0
  308. package/vendor/@jsonstudio/llms/dist/conversion/compaction-detect.js +4 -0
  309. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-system-prompt.d.ts +4 -0
  310. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-system-prompt.js +42 -0
  311. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-user-id.d.ts +3 -0
  312. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-user-id.js +30 -0
  313. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-cache.d.ts +3 -0
  314. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-cache.js +8 -0
  315. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-prepare.d.ts +3 -0
  316. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-prepare.js +26 -0
  317. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/apply-patch-fixer.d.ts +1 -0
  318. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/apply-patch-fixer.js +30 -0
  319. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/auto-thinking.d.ts +6 -0
  320. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/auto-thinking.js +26 -0
  321. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/claude-thinking-tools.d.ts +2 -0
  322. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/claude-thinking-tools.js +4 -0
  323. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-request.d.ts +3 -0
  324. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-request.js +62 -0
  325. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-response.d.ts +12 -0
  326. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-response.js +114 -0
  327. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/field-mapping.d.ts +14 -0
  328. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/field-mapping.js +155 -0
  329. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-cli-request.d.ts +5 -0
  330. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-cli-request.js +27 -0
  331. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-web-search.d.ts +3 -0
  332. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-web-search.js +24 -0
  333. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-history-image-trim.d.ts +2 -0
  334. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-history-image-trim.js +54 -0
  335. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-image-content.d.ts +2 -0
  336. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-image-content.js +54 -0
  337. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-native-compat.d.ts +6 -0
  338. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-native-compat.js +34 -0
  339. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-tool-extraction.d.ts +3 -0
  340. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-tool-extraction.js +35 -0
  341. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-vision-prompt.d.ts +11 -0
  342. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-vision-prompt.js +104 -0
  343. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-web-search.d.ts +2 -0
  344. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-web-search.js +30 -0
  345. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/harvest-tool-calls-from-text.d.ts +15 -0
  346. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/harvest-tool-calls-from-text.js +124 -0
  347. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-cli-defaults.d.ts +10 -0
  348. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-cli-defaults.js +31 -0
  349. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-history-media-placeholder.d.ts +7 -0
  350. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-history-media-placeholder.js +25 -0
  351. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-thinking-reasoning-fill.d.ts +12 -0
  352. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-thinking-reasoning-fill.js +46 -0
  353. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-native-compat.d.ts +6 -0
  354. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-native-compat.js +36 -0
  355. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-response-body-unwrap.d.ts +9 -0
  356. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-response-body-unwrap.js +25 -0
  357. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-tool-text-fallback.d.ts +5 -0
  358. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-tool-text-fallback.js +29 -0
  359. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-web-search.d.ts +18 -0
  360. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-web-search.js +49 -0
  361. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/index.d.ts +2 -0
  362. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/index.js +2 -0
  363. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-fc-ids.d.ts +2 -0
  364. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-fc-ids.js +4 -0
  365. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-input-stringify.d.ts +14 -0
  366. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-input-stringify.js +125 -0
  367. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/normalize-tool-call-ids.d.ts +2 -0
  368. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/normalize-tool-call-ids.js +10 -0
  369. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/qwen-transform.d.ts +4 -0
  370. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/qwen-transform.js +40 -0
  371. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/request-rules.d.ts +24 -0
  372. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/request-rules.js +4 -0
  373. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-blacklist.d.ts +10 -0
  374. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-blacklist.js +10 -0
  375. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-normalize.d.ts +5 -0
  376. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-normalize.js +4 -0
  377. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-validate.d.ts +5 -0
  378. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-validate.js +4 -0
  379. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/snapshot.d.ts +8 -0
  380. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/snapshot.js +21 -0
  381. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/strip-orphan-function-calls-tag.d.ts +2 -0
  382. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/strip-orphan-function-calls-tag.js +4 -0
  383. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-schema.d.ts +6 -0
  384. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-schema.js +91 -0
  385. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-text-request-guidance.d.ts +9 -0
  386. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-text-request-guidance.js +7 -0
  387. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/universal-shape-filter.d.ts +57 -0
  388. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/universal-shape-filter.js +14 -0
  389. package/vendor/@jsonstudio/llms/dist/conversion/compat/antigravity-session-signature.d.ts +86 -0
  390. package/vendor/@jsonstudio/llms/dist/conversion/compat/antigravity-session-signature.js +1143 -0
  391. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/anthropic-claude-code.json +17 -0
  392. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-claude-code.json +18 -0
  393. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-deepseek-web.json +47 -0
  394. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-gemini-cli.json +23 -0
  395. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-gemini.json +31 -0
  396. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-glm.json +405 -0
  397. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-iflow.json +353 -0
  398. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-lmstudio.json +80 -0
  399. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-qwen.json +22 -0
  400. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/responses-c4m.json +45 -0
  401. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/responses-crs.json +15 -0
  402. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/responses-output2choices-test.json +12 -0
  403. package/vendor/@jsonstudio/llms/dist/conversion/config/config-manager.d.ts +212 -0
  404. package/vendor/@jsonstudio/llms/dist/conversion/config/config-manager.js +310 -0
  405. package/vendor/@jsonstudio/llms/dist/conversion/config/sample-config.json +314 -0
  406. package/vendor/@jsonstudio/llms/dist/conversion/config/version-switch.json +150 -0
  407. package/vendor/@jsonstudio/llms/dist/conversion/hub/config/types.d.ts +26 -0
  408. package/vendor/@jsonstudio/llms/dist/conversion/hub/config/types.js +1 -0
  409. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/detour-registry.d.ts +11 -0
  410. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/detour-registry.js +23 -0
  411. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/hub-context.d.ts +23 -0
  412. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/hub-context.js +1 -0
  413. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/index.d.ts +4 -0
  414. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/index.js +3 -0
  415. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/stage-driver.d.ts +30 -0
  416. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/stage-driver.js +33 -0
  417. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +16 -0
  418. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/anthropic-format-adapter.js +42 -0
  419. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +17 -0
  420. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/chat-format-adapter.js +42 -0
  421. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +16 -0
  422. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/gemini-format-adapter.js +42 -0
  423. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/index.d.ts +21 -0
  424. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/index.js +4 -0
  425. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +19 -0
  426. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/responses-format-adapter.js +42 -0
  427. package/vendor/@jsonstudio/llms/dist/conversion/hub/hub-feature.d.ts +1 -0
  428. package/vendor/@jsonstudio/llms/dist/conversion/hub/hub-feature.js +26 -0
  429. package/vendor/@jsonstudio/llms/dist/conversion/hub/node-support.d.ts +19 -0
  430. package/vendor/@jsonstudio/llms/dist/conversion/hub/node-support.js +136 -0
  431. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/operation-table-runner.d.ts +18 -0
  432. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/operation-table-runner.js +162 -0
  433. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/anthropic-mapper.d.ts +8 -0
  434. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/anthropic-mapper.js +503 -0
  435. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/archive/chat-mapper.archive.d.ts +8 -0
  436. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/archive/chat-mapper.archive.js +409 -0
  437. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/chat-mapper.d.ts +8 -0
  438. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/chat-mapper.js +350 -0
  439. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/gemini-mapper.d.ts +7 -0
  440. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/gemini-mapper.js +1540 -0
  441. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/responses-mapper.d.ts +21 -0
  442. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/responses-mapper.js +491 -0
  443. package/vendor/@jsonstudio/llms/dist/conversion/hub/ops/operations.d.ts +19 -0
  444. package/vendor/@jsonstudio/llms/dist/conversion/hub/ops/operations.js +7 -0
  445. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-engine.d.ts +9 -0
  446. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-engine.js +13 -0
  447. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-pipeline-executor.d.ts +9 -0
  448. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-pipeline-executor.js +46 -0
  449. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-resolver.d.ts +2 -0
  450. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-resolver.js +14 -0
  451. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-store.d.ts +2 -0
  452. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-store.js +94 -0
  453. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-types.d.ts +175 -0
  454. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-types.js +1 -0
  455. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/native-adapter-context.d.ts +3 -0
  456. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/native-adapter-context.js +40 -0
  457. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-pipeline.d.ts +111 -0
  458. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-pipeline.js +1927 -0
  459. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-stage-timing.d.ts +8 -0
  460. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-stage-timing.js +211 -0
  461. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/session-identifiers.d.ts +9 -0
  462. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/session-identifiers.js +16 -0
  463. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage1_format_parse/index.d.ts +10 -0
  464. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage1_format_parse/index.js +236 -0
  465. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.d.ts +24 -0
  466. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.js +132 -0
  467. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/semantic-lift.d.ts +14 -0
  468. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/semantic-lift.js +24 -0
  469. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/archive/shell-like-tool-call-normalization-fallback.d.ts +2 -0
  470. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/archive/shell-like-tool-call-normalization-fallback.js +157 -0
  471. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-capture-orchestration.d.ts +16 -0
  472. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-capture-orchestration.js +29 -0
  473. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-factories.d.ts +5 -0
  474. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-factories.js +19 -0
  475. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/index.d.ts +6 -0
  476. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/index.js +22 -0
  477. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/responses-context-snapshot.d.ts +8 -0
  478. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/responses-context-snapshot.js +28 -0
  479. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-diagnostics.d.ts +2 -0
  480. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-diagnostics.js +4 -0
  481. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-snapshot.d.ts +10 -0
  482. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-snapshot.js +12 -0
  483. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/context-merge.d.ts +3 -0
  484. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/context-merge.js +30 -0
  485. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/index.d.ts +18 -0
  486. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/index.js +84 -0
  487. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage2_format_build/index.d.ts +8 -0
  488. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage2_format_build/index.js +12 -0
  489. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage3_compat/index.d.ts +14 -0
  490. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage3_compat/index.js +45 -0
  491. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage1_tool_governance/index.d.ts +16 -0
  492. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage1_tool_governance/index.js +62 -0
  493. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage2_route_select/index.d.ts +17 -0
  494. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage2_route_select/index.js +35 -0
  495. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/index.d.ts +17 -0
  496. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/index.js +243 -0
  497. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/stream-json-sniffer.d.ts +3 -0
  498. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/stream-json-sniffer.js +81 -0
  499. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage2_format_parse/index.d.ts +10 -0
  500. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage2_format_parse/index.js +50 -0
  501. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage3_semantic_map/index.d.ts +13 -0
  502. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage3_semantic_map/index.js +25 -0
  503. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/chat-process-semantics-bridge.d.ts +6 -0
  504. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/chat-process-semantics-bridge.js +17 -0
  505. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/client-remap-protocol-switch.d.ts +9 -0
  506. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/client-remap-protocol-switch.js +103 -0
  507. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/index.d.ts +13 -0
  508. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/index.js +30 -0
  509. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage2_sse_stream/index.d.ts +17 -0
  510. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage2_sse_stream/index.js +35 -0
  511. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.d.ts +16 -0
  512. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.js +52 -0
  513. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage2_finalize/index.d.ts +19 -0
  514. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage2_finalize/index.js +40 -0
  515. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage3_servertool_orchestration/index.d.ts +44 -0
  516. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage3_servertool_orchestration/index.js +88 -0
  517. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/utils.d.ts +2 -0
  518. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/utils.js +27 -0
  519. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/target-utils.d.ts +5 -0
  520. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/target-utils.js +26 -0
  521. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/inbound.d.ts +22 -0
  522. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/inbound.js +66 -0
  523. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/outbound.d.ts +22 -0
  524. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/outbound.js +59 -0
  525. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/policy-engine.d.ts +48 -0
  526. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/policy-engine.js +269 -0
  527. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/protocol-spec.d.ts +75 -0
  528. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/protocol-spec.js +27 -0
  529. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-anthropic-alias.d.ts +2 -0
  530. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-anthropic-alias.js +36 -0
  531. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directive-parser.d.ts +5 -0
  532. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directive-parser.js +56 -0
  533. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directives.d.ts +24 -0
  534. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directives.js +98 -0
  535. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-directives.d.ts +8 -0
  536. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-directives.js +42 -0
  537. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-finalize.d.ts +14 -0
  538. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-finalize.js +10 -0
  539. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-messages.d.ts +5 -0
  540. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-messages.js +10 -0
  541. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-orchestration.d.ts +30 -0
  542. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-orchestration.js +68 -0
  543. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-time-tag.d.ts +9 -0
  544. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-time-tag.js +18 -0
  545. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminders.d.ts +2 -0
  546. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminders.js +104 -0
  547. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tool-schemas.d.ts +3 -0
  548. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tool-schemas.js +258 -0
  549. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tools.d.ts +6 -0
  550. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tools.js +41 -0
  551. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-continue-execution.d.ts +11 -0
  552. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-continue-execution.js +83 -0
  553. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-context.d.ts +15 -0
  554. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-context.js +7 -0
  555. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-finalize.d.ts +16 -0
  556. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-finalize.js +11 -0
  557. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-orchestration.d.ts +9 -0
  558. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-orchestration.js +49 -0
  559. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-control-ops.d.ts +8 -0
  560. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-control-ops.js +5 -0
  561. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-filter-call.d.ts +12 -0
  562. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-filter-call.js +18 -0
  563. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-merge.d.ts +8 -0
  564. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-merge.js +11 -0
  565. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-media.d.ts +5 -0
  566. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-media.js +108 -0
  567. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-node-result.d.ts +23 -0
  568. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-node-result.js +24 -0
  569. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-pending-tool-sync.d.ts +14 -0
  570. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-pending-tool-sync.js +52 -0
  571. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-post-governed-normalization.d.ts +8 -0
  572. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-post-governed-normalization.js +16 -0
  573. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-review.d.ts +2 -0
  574. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-review.js +8 -0
  575. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-servertool-orchestration.d.ts +8 -0
  576. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-servertool-orchestration.js +22 -0
  577. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-session-usage.d.ts +7 -0
  578. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-session-usage.js +147 -0
  579. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-tool-normalization.d.ts +2 -0
  580. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-tool-normalization.js +4 -0
  581. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-intent.d.ts +12 -0
  582. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-intent.js +13 -0
  583. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-tool-schema.d.ts +3 -0
  584. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-tool-schema.js +4 -0
  585. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search.d.ts +8 -0
  586. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search.js +26 -0
  587. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process.d.ts +15 -0
  588. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process.js +27 -0
  589. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/client-inject-readiness.d.ts +1 -0
  590. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/client-inject-readiness.js +4 -0
  591. package/vendor/@jsonstudio/llms/dist/conversion/hub/registry.d.ts +28 -0
  592. package/vendor/@jsonstudio/llms/dist/conversion/hub/registry.js +101 -0
  593. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/chat-response-utils.d.ts +6 -0
  594. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/chat-response-utils.js +8 -0
  595. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/provider-response.d.ts +51 -0
  596. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/provider-response.js +529 -0
  597. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-mappers.d.ts +24 -0
  598. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-mappers.js +73 -0
  599. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-runtime.d.ts +9 -0
  600. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-runtime.js +758 -0
  601. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +2 -0
  602. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/anthropic-mapper.js +2 -0
  603. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +2 -0
  604. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/chat-mapper.js +2 -0
  605. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +2 -0
  606. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/gemini-mapper.js +2 -0
  607. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/index.d.ts +4 -0
  608. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/index.js +4 -0
  609. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +2 -0
  610. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/responses-mapper.js +2 -0
  611. package/vendor/@jsonstudio/llms/dist/conversion/hub/snapshot-recorder.d.ts +13 -0
  612. package/vendor/@jsonstudio/llms/dist/conversion/hub/snapshot-recorder.js +38 -0
  613. package/vendor/@jsonstudio/llms/dist/conversion/hub/standardized-bridge.d.ts +12 -0
  614. package/vendor/@jsonstudio/llms/dist/conversion/hub/standardized-bridge.js +16 -0
  615. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/engine.d.ts +24 -0
  616. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/engine.js +118 -0
  617. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/index.d.ts +3 -0
  618. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/index.js +2 -0
  619. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/rules.d.ts +2 -0
  620. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/rules.js +80 -0
  621. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/types.d.ts +38 -0
  622. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/types.js +1 -0
  623. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-session-compat.d.ts +26 -0
  624. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-session-compat.js +86 -0
  625. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-surface/tool-surface-engine.d.ts +18 -0
  626. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-surface/tool-surface-engine.js +574 -0
  627. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-envelope.d.ts +79 -0
  628. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-envelope.js +1 -0
  629. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-schema.d.ts +112 -0
  630. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-schema.js +1 -0
  631. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/errors.d.ts +5 -0
  632. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/errors.js +13 -0
  633. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/format-envelope.d.ts +7 -0
  634. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/format-envelope.js +1 -0
  635. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/index.d.ts +6 -0
  636. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/index.js +6 -0
  637. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/json.d.ts +9 -0
  638. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/json.js +9 -0
  639. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/node.d.ts +31 -0
  640. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/node.js +1 -0
  641. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/standardized.d.ts +99 -0
  642. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/standardized.js +1 -0
  643. package/vendor/@jsonstudio/llms/dist/conversion/index.d.ts +33 -0
  644. package/vendor/@jsonstudio/llms/dist/conversion/index.js +33 -0
  645. package/vendor/@jsonstudio/llms/dist/conversion/jsonish.d.ts +3 -0
  646. package/vendor/@jsonstudio/llms/dist/conversion/jsonish.js +20 -0
  647. package/vendor/@jsonstudio/llms/dist/conversion/mcp-injection.d.ts +2 -0
  648. package/vendor/@jsonstudio/llms/dist/conversion/mcp-injection.js +7 -0
  649. package/vendor/@jsonstudio/llms/dist/conversion/media.d.ts +1 -0
  650. package/vendor/@jsonstudio/llms/dist/conversion/media.js +4 -0
  651. package/vendor/@jsonstudio/llms/dist/conversion/metadata-passthrough.d.ts +11 -0
  652. package/vendor/@jsonstudio/llms/dist/conversion/metadata-passthrough.js +20 -0
  653. package/vendor/@jsonstudio/llms/dist/conversion/payload-budget.d.ts +13 -0
  654. package/vendor/@jsonstudio/llms/dist/conversion/payload-budget.js +47 -0
  655. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/anthropic-openai-pipeline.d.ts +11 -0
  656. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/anthropic-openai-pipeline.js +104 -0
  657. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/openai-openai-pipeline.d.ts +15 -0
  658. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/openai-openai-pipeline.js +176 -0
  659. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/responses-openai-pipeline.d.ts +12 -0
  660. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/responses-openai-pipeline.js +212 -0
  661. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/shared/openai-chat-helpers.d.ts +13 -0
  662. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/shared/openai-chat-helpers.js +34 -0
  663. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/adapter-context.d.ts +7 -0
  664. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/adapter-context.js +18 -0
  665. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/protocol-hooks.d.ts +67 -0
  666. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/protocol-hooks.js +1 -0
  667. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/index.d.ts +35 -0
  668. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/index.js +103 -0
  669. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/meta/meta-bag.d.ts +20 -0
  670. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/meta/meta-bag.js +81 -0
  671. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/canonical-chat.d.ts +18 -0
  672. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/canonical-chat.js +1 -0
  673. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/index.d.ts +1 -0
  674. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/index.js +1 -0
  675. package/vendor/@jsonstudio/llms/dist/conversion/protocol-field-allowlists.d.ts +7 -0
  676. package/vendor/@jsonstudio/llms/dist/conversion/protocol-field-allowlists.js +9 -0
  677. package/vendor/@jsonstudio/llms/dist/conversion/protocol-state.d.ts +4 -0
  678. package/vendor/@jsonstudio/llms/dist/conversion/protocol-state.js +27 -0
  679. package/vendor/@jsonstudio/llms/dist/conversion/provider-protocol-error.d.ts +17 -0
  680. package/vendor/@jsonstudio/llms/dist/conversion/provider-protocol-error.js +25 -0
  681. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-host-policy.d.ts +6 -0
  682. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-host-policy.js +4 -0
  683. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/response-payload.d.ts +3 -0
  684. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/response-payload.js +190 -0
  685. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/types.d.ts +35 -0
  686. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/types.js +1 -0
  687. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge.d.ts +15 -0
  688. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge.js +475 -0
  689. package/vendor/@jsonstudio/llms/dist/conversion/runtime-metadata.d.ts +7 -0
  690. package/vendor/@jsonstudio/llms/dist/conversion/runtime-metadata.js +31 -0
  691. package/vendor/@jsonstudio/llms/dist/conversion/schema-validator.d.ts +7 -0
  692. package/vendor/@jsonstudio/llms/dist/conversion/schema-validator.js +67 -0
  693. package/vendor/@jsonstudio/llms/dist/conversion/shared/anthropic-message-utils.d.ts +22 -0
  694. package/vendor/@jsonstudio/llms/dist/conversion/shared/anthropic-message-utils.js +1416 -0
  695. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-envelope-validator.d.ts +8 -0
  696. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-envelope-validator.js +4 -0
  697. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-output-normalizer.d.ts +4 -0
  698. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-output-normalizer.js +10 -0
  699. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-request-filters.d.ts +8 -0
  700. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-request-filters.js +63 -0
  701. package/vendor/@jsonstudio/llms/dist/conversion/shared/gemini-tool-utils.d.ts +7 -0
  702. package/vendor/@jsonstudio/llms/dist/conversion/shared/gemini-tool-utils.js +20 -0
  703. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-finalizer.d.ts +8 -0
  704. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-finalizer.js +22 -0
  705. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-message-normalize.d.ts +1 -0
  706. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-message-normalize.js +151 -0
  707. package/vendor/@jsonstudio/llms/dist/conversion/shared/output-content-normalizer.d.ts +12 -0
  708. package/vendor/@jsonstudio/llms/dist/conversion/shared/output-content-normalizer.js +26 -0
  709. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-mapping.d.ts +5 -0
  710. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-mapping.js +7 -0
  711. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-normalizer.d.ts +25 -0
  712. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-normalizer.js +114 -0
  713. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-normalizer.d.ts +12 -0
  714. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-normalizer.js +22 -0
  715. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-parser.d.ts +10 -0
  716. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-parser.js +11 -0
  717. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-utils.d.ts +2 -0
  718. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-utils.js +19 -0
  719. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-conversation-store.d.ts +35 -0
  720. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-conversation-store.js +195 -0
  721. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-output-builder.d.ts +13 -0
  722. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-output-builder.js +32 -0
  723. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-reasoning-registry.d.ts +24 -0
  724. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-reasoning-registry.js +185 -0
  725. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-request-adapter.d.ts +7 -0
  726. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-request-adapter.js +14 -0
  727. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-response-utils.d.ts +3 -0
  728. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-response-utils.js +254 -0
  729. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-tool-utils.d.ts +14 -0
  730. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-tool-utils.js +102 -0
  731. package/vendor/@jsonstudio/llms/dist/conversion/shared/streaming-text-extractor.d.ts +19 -0
  732. package/vendor/@jsonstudio/llms/dist/conversion/shared/streaming-text-extractor.js +39 -0
  733. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer/normalize.d.ts +2 -0
  734. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer/normalize.js +116 -0
  735. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer.d.ts +4 -0
  736. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer.js +3 -0
  737. package/vendor/@jsonstudio/llms/dist/conversion/shared/thought-signature-validator.d.ts +52 -0
  738. package/vendor/@jsonstudio/llms/dist/conversion/shared/thought-signature-validator.js +58 -0
  739. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-argument-repairer.d.ts +39 -0
  740. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-argument-repairer.js +53 -0
  741. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-id-manager.d.ts +109 -0
  742. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-id-manager.js +202 -0
  743. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-utils.d.ts +11 -0
  744. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-utils.js +14 -0
  745. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-filter-pipeline.d.ts +21 -0
  746. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-filter-pipeline.js +171 -0
  747. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-governor.d.ts +29 -0
  748. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-governor.js +694 -0
  749. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-harvester.d.ts +31 -0
  750. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-harvester.js +23 -0
  751. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-mapping.d.ts +19 -0
  752. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-mapping.js +65 -0
  753. package/vendor/@jsonstudio/llms/dist/conversion/shared/tooling.d.ts +29 -0
  754. package/vendor/@jsonstudio/llms/dist/conversion/shared/tooling.js +57 -0
  755. package/vendor/@jsonstudio/llms/dist/conversion/snapshot-utils.d.ts +31 -0
  756. package/vendor/@jsonstudio/llms/dist/conversion/snapshot-utils.js +49 -0
  757. package/vendor/@jsonstudio/llms/dist/conversion/types/bridge-message-types.d.ts +41 -0
  758. package/vendor/@jsonstudio/llms/dist/conversion/types/bridge-message-types.js +1 -0
  759. package/vendor/@jsonstudio/llms/dist/conversion/types/text-markup-normalizer.d.ts +13 -0
  760. package/vendor/@jsonstudio/llms/dist/conversion/types/text-markup-normalizer.js +1 -0
  761. package/vendor/@jsonstudio/llms/dist/conversion/types.d.ts +33 -0
  762. package/vendor/@jsonstudio/llms/dist/conversion/types.js +1 -0
  763. package/vendor/@jsonstudio/llms/dist/filters/builtin/add-fields-filter.d.ts +8 -0
  764. package/vendor/@jsonstudio/llms/dist/filters/builtin/add-fields-filter.js +16 -0
  765. package/vendor/@jsonstudio/llms/dist/filters/builtin/blacklist-filter.d.ts +8 -0
  766. package/vendor/@jsonstudio/llms/dist/filters/builtin/blacklist-filter.js +19 -0
  767. package/vendor/@jsonstudio/llms/dist/filters/builtin/whitelist-filter.d.ts +8 -0
  768. package/vendor/@jsonstudio/llms/dist/filters/builtin/whitelist-filter.js +19 -0
  769. package/vendor/@jsonstudio/llms/dist/filters/config/openai-openai.fieldmap.json +18 -0
  770. package/vendor/@jsonstudio/llms/dist/filters/engine.d.ts +16 -0
  771. package/vendor/@jsonstudio/llms/dist/filters/engine.js +167 -0
  772. package/vendor/@jsonstudio/llms/dist/filters/index.d.ts +18 -0
  773. package/vendor/@jsonstudio/llms/dist/filters/index.js +22 -0
  774. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-choice-policy.d.ts +11 -0
  775. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-choice-policy.js +29 -0
  776. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-list-filter.d.ts +11 -0
  777. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-list-filter.js +322 -0
  778. package/vendor/@jsonstudio/llms/dist/filters/special/request-toolcalls-stringify.d.ts +13 -0
  779. package/vendor/@jsonstudio/llms/dist/filters/special/request-toolcalls-stringify.js +94 -0
  780. package/vendor/@jsonstudio/llms/dist/filters/special/request-tools-normalize.d.ts +11 -0
  781. package/vendor/@jsonstudio/llms/dist/filters/special/request-tools-normalize.js +114 -0
  782. package/vendor/@jsonstudio/llms/dist/filters/special/response-finish-invariants.d.ts +11 -0
  783. package/vendor/@jsonstudio/llms/dist/filters/special/response-finish-invariants.js +30 -0
  784. package/vendor/@jsonstudio/llms/dist/filters/special/response-openai-to-responses-bridge.d.ts +13 -0
  785. package/vendor/@jsonstudio/llms/dist/filters/special/response-openai-to-responses-bridge.js +24 -0
  786. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-blacklist.d.ts +12 -0
  787. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-blacklist.js +63 -0
  788. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-schema-converge.d.ts +13 -0
  789. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-schema-converge.js +63 -0
  790. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-stringify.d.ts +9 -0
  791. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-stringify.js +132 -0
  792. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-whitelist.d.ts +11 -0
  793. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-whitelist.js +56 -0
  794. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-text-canonicalize.d.ts +13 -0
  795. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-text-canonicalize.js +16 -0
  796. package/vendor/@jsonstudio/llms/dist/filters/special/tool-filter-hooks.d.ts +19 -0
  797. package/vendor/@jsonstudio/llms/dist/filters/special/tool-filter-hooks.js +394 -0
  798. package/vendor/@jsonstudio/llms/dist/filters/special/tool-post-constraints.d.ts +31 -0
  799. package/vendor/@jsonstudio/llms/dist/filters/special/tool-post-constraints.js +120 -0
  800. package/vendor/@jsonstudio/llms/dist/filters/types.d.ts +68 -0
  801. package/vendor/@jsonstudio/llms/dist/filters/types.js +3 -0
  802. package/vendor/@jsonstudio/llms/dist/filters/utils/fieldmap-loader.d.ts +2 -0
  803. package/vendor/@jsonstudio/llms/dist/filters/utils/fieldmap-loader.js +16 -0
  804. package/vendor/@jsonstudio/llms/dist/filters/utils/snapshot-writer.d.ts +10 -0
  805. package/vendor/@jsonstudio/llms/dist/filters/utils/snapshot-writer.js +85 -0
  806. package/vendor/@jsonstudio/llms/dist/guidance/index.d.ts +3 -0
  807. package/vendor/@jsonstudio/llms/dist/guidance/index.js +299 -0
  808. package/vendor/@jsonstudio/llms/dist/http/sse-response.d.ts +22 -0
  809. package/vendor/@jsonstudio/llms/dist/http/sse-response.js +103 -0
  810. package/vendor/@jsonstudio/llms/dist/index.d.ts +11 -0
  811. package/vendor/@jsonstudio/llms/dist/index.js +11 -0
  812. package/vendor/@jsonstudio/llms/dist/native/router_hotpath_napi.node +0 -0
  813. package/vendor/@jsonstudio/llms/dist/quota/apikey-reset.d.ts +17 -0
  814. package/vendor/@jsonstudio/llms/dist/quota/apikey-reset.js +43 -0
  815. package/vendor/@jsonstudio/llms/dist/quota/index.d.ts +2 -0
  816. package/vendor/@jsonstudio/llms/dist/quota/index.js +1 -0
  817. package/vendor/@jsonstudio/llms/dist/quota/quota-manager.d.ts +44 -0
  818. package/vendor/@jsonstudio/llms/dist/quota/quota-manager.js +463 -0
  819. package/vendor/@jsonstudio/llms/dist/quota/quota-state.d.ts +6 -0
  820. package/vendor/@jsonstudio/llms/dist/quota/quota-state.js +191 -0
  821. package/vendor/@jsonstudio/llms/dist/quota/types.d.ts +62 -0
  822. package/vendor/@jsonstudio/llms/dist/quota/types.js +1 -0
  823. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/auth-utils.d.ts +6 -0
  824. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/auth-utils.js +288 -0
  825. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/claude-code-helpers.d.ts +11 -0
  826. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/claude-code-helpers.js +18 -0
  827. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-defaults.d.ts +5 -0
  828. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-defaults.js +13 -0
  829. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-normalizers.d.ts +4 -0
  830. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-normalizers.js +106 -0
  831. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/profile-builder.d.ts +8 -0
  832. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/profile-builder.js +87 -0
  833. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/provider-normalization.d.ts +44 -0
  834. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/provider-normalization.js +272 -0
  835. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/responses-helpers.d.ts +15 -0
  836. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/responses-helpers.js +65 -0
  837. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/routing-config.d.ts +24 -0
  838. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/routing-config.js +346 -0
  839. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/streaming-helpers.d.ts +19 -0
  840. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/streaming-helpers.js +172 -0
  841. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/utils.d.ts +5 -0
  842. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/utils.js +41 -0
  843. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/web-search-config.d.ts +4 -0
  844. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/web-search-config.js +156 -0
  845. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap.d.ts +2 -0
  846. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap.js +329 -0
  847. package/vendor/@jsonstudio/llms/dist/router/virtual-router/classifier.d.ts +10 -0
  848. package/vendor/@jsonstudio/llms/dist/router/virtual-router/classifier.js +187 -0
  849. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-advisor.d.ts +23 -0
  850. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-advisor.js +67 -0
  851. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-weighted.d.ts +31 -0
  852. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-weighted.js +54 -0
  853. package/vendor/@jsonstudio/llms/dist/router/virtual-router/default-thinking-keywords.d.ts +1 -0
  854. package/vendor/@jsonstudio/llms/dist/router/virtual-router/default-thinking-keywords.js +13 -0
  855. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/antigravity/alias-lease.d.ts +33 -0
  856. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/antigravity/alias-lease.js +257 -0
  857. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/cooldown-manager.d.ts +34 -0
  858. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/cooldown-manager.js +118 -0
  859. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/health/index.d.ts +23 -0
  860. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/health/index.js +724 -0
  861. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/provider-key/parse.d.ts +1 -0
  862. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/provider-key/parse.js +1 -0
  863. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/route-analytics.d.ts +28 -0
  864. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/route-analytics.js +44 -0
  865. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-pools/index.d.ts +13 -0
  866. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-pools/index.js +386 -0
  867. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/keys.d.ts +3 -0
  868. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/keys.js +30 -0
  869. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/metadata.d.ts +6 -0
  870. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/metadata.js +132 -0
  871. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/store.d.ts +10 -0
  872. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/store.js +156 -0
  873. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/sticky-session-manager.d.ts +29 -0
  874. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/sticky-session-manager.js +55 -0
  875. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-health.d.ts +1 -0
  876. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-health.js +1 -0
  877. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/config.d.ts +11 -0
  878. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/config.js +108 -0
  879. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/direct-model.d.ts +10 -0
  880. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/direct-model.js +38 -0
  881. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/health.d.ts +13 -0
  882. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/health.js +104 -0
  883. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/helpers.d.ts +16 -0
  884. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/helpers.js +226 -0
  885. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/route-utils.d.ts +19 -0
  886. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/route-utils.js +212 -0
  887. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-core.d.ts +28 -0
  888. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-core.js +112 -0
  889. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-state.d.ts +16 -0
  890. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-state.js +187 -0
  891. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/state-accessors.d.ts +21 -0
  892. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/state-accessors.js +118 -0
  893. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy.d.ts +123 -0
  894. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy.js +245 -0
  895. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-logging.d.ts +67 -0
  896. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-logging.js +356 -0
  897. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/alias-selection.d.ts +15 -0
  898. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/alias-selection.js +118 -0
  899. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/context-weight-multipliers.d.ts +11 -0
  900. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/context-weight-multipliers.js +23 -0
  901. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/direct-provider-model.d.ts +9 -0
  902. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/direct-provider-model.js +49 -0
  903. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/instruction-target.d.ts +6 -0
  904. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/instruction-target.js +54 -0
  905. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/key-parsing.d.ts +8 -0
  906. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/key-parsing.js +47 -0
  907. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/multimodal-capability.d.ts +3 -0
  908. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/multimodal-capability.js +26 -0
  909. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-directive-parser.d.ts +24 -0
  910. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-directive-parser.js +209 -0
  911. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-directives.d.ts +7 -0
  912. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-directives.js +121 -0
  913. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-orchestration-semantics.d.ts +10 -0
  914. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-orchestration-semantics.js +110 -0
  915. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-semantics.d.ts +8 -0
  916. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-semantics.js +281 -0
  917. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-time-tag-semantics.d.ts +1 -0
  918. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-time-tag-semantics.js +25 -0
  919. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminders-semantics.d.ts +4 -0
  920. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminders-semantics.js +44 -0
  921. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-tool-schema-semantics.d.ts +2 -0
  922. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-tool-schema-semantics.js +62 -0
  923. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governance-semantics.d.ts +49 -0
  924. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governance-semantics.js +552 -0
  925. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governed-filter-semantics.d.ts +9 -0
  926. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governed-filter-semantics.js +64 -0
  927. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-node-result-semantics.d.ts +5 -0
  928. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-node-result-semantics.js +163 -0
  929. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-post-governed-normalization-semantics.d.ts +1 -0
  930. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-post-governed-normalization-semantics.js +49 -0
  931. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-servertool-orchestration-semantics.d.ts +30 -0
  932. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-servertool-orchestration-semantics.js +446 -0
  933. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-web-search-intent-semantics.d.ts +1 -0
  934. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-web-search-intent-semantics.js +49 -0
  935. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-request-filter-semantics.d.ts +1 -0
  936. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-request-filter-semantics.js +54 -0
  937. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-compat-action-semantics.d.ts +22 -0
  938. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-compat-action-semantics.js +559 -0
  939. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-deepseek-web-compat.d.ts +17 -0
  940. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-deepseek-web-compat.js +26 -0
  941. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-action-semantics.d.ts +276 -0
  942. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-action-semantics.js +1291 -0
  943. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-policy-semantics.d.ts +72 -0
  944. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-policy-semantics.js +405 -0
  945. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-edge-stage-semantics.d.ts +18 -0
  946. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-edge-stage-semantics.js +333 -0
  947. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-governance-semantics.d.ts +30 -0
  948. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-governance-semantics.js +202 -0
  949. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-inbound-outbound-semantics.d.ts +22 -0
  950. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-inbound-outbound-semantics.js +426 -0
  951. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.d.ts +57 -0
  952. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.js +705 -0
  953. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.d.ts +53 -0
  954. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.js +598 -0
  955. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-outbound-semantics.d.ts +147 -0
  956. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-outbound-semantics.js +570 -0
  957. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-process-semantics.d.ts +26 -0
  958. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-process-semantics.js +148 -0
  959. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.d.ts +46 -0
  960. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.js +755 -0
  961. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-semantic-mappers.d.ts +2 -0
  962. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-semantic-mappers.js +83 -0
  963. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-session-identifiers-semantics.d.ts +11 -0
  964. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-session-identifiers-semantics.js +207 -0
  965. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-target-semantics.d.ts +3 -0
  966. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-target-semantics.js +128 -0
  967. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-analysis.d.ts +57 -0
  968. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-analysis.js +217 -0
  969. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-loader.d.ts +5 -0
  970. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-loader.js +464 -0
  971. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-policy.d.ts +5 -0
  972. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-policy.js +18 -0
  973. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-quota-buckets.d.ts +25 -0
  974. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-quota-buckets.js +85 -0
  975. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath.d.ts +59 -0
  976. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath.js +117 -0
  977. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-shared-conversion-semantics.d.ts +243 -0
  978. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-shared-conversion-semantics.js +2594 -0
  979. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-snapshot-hooks.d.ts +3 -0
  980. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-snapshot-hooks.js +109 -0
  981. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-alias-selection-semantics.d.ts +16 -0
  982. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-alias-selection-semantics.js +96 -0
  983. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-engine-proxy.d.ts +16 -0
  984. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-engine-proxy.js +14 -0
  985. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-routing-instructions-semantics.d.ts +3 -0
  986. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-routing-instructions-semantics.js +123 -0
  987. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-actions-semantics.d.ts +6 -0
  988. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-actions-semantics.js +85 -0
  989. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-semantics.d.ts +9 -0
  990. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-semantics.js +70 -0
  991. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-state-semantics.d.ts +2 -0
  992. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-state-semantics.js +76 -0
  993. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/route-utils.d.ts +15 -0
  994. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/route-utils.js +248 -0
  995. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/routing-state-filter.d.ts +4 -0
  996. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/routing-state-filter.js +50 -0
  997. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/selection-deps.d.ts +58 -0
  998. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/selection-deps.js +1 -0
  999. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/sticky-pool.d.ts +11 -0
  1000. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/sticky-pool.js +109 -0
  1001. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-load-balancing.d.ts +16 -0
  1002. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-load-balancing.js +120 -0
  1003. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-priority.d.ts +11 -0
  1004. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-priority.js +55 -0
  1005. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-session-lease.d.ts +10 -0
  1006. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-session-lease.js +231 -0
  1007. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-target-split.d.ts +4 -0
  1008. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-target-split.js +43 -0
  1009. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-quota-integration.d.ts +29 -0
  1010. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-quota-integration.js +194 -0
  1011. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-select.d.ts +22 -0
  1012. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-select.js +352 -0
  1013. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection.d.ts +3 -0
  1014. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection.js +309 -0
  1015. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection.d.ts +1 -0
  1016. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection.js +1 -0
  1017. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine.d.ts +43 -0
  1018. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine.js +360 -0
  1019. package/vendor/@jsonstudio/llms/dist/router/virtual-router/error-center.d.ts +10 -0
  1020. package/vendor/@jsonstudio/llms/dist/router/virtual-router/error-center.js +39 -0
  1021. package/vendor/@jsonstudio/llms/dist/router/virtual-router/features.d.ts +3 -0
  1022. package/vendor/@jsonstudio/llms/dist/router/virtual-router/features.js +124 -0
  1023. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-manager.d.ts +23 -0
  1024. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-manager.js +107 -0
  1025. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-weighted.d.ts +25 -0
  1026. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-weighted.js +63 -0
  1027. package/vendor/@jsonstudio/llms/dist/router/virtual-router/load-balancer.d.ts +28 -0
  1028. package/vendor/@jsonstudio/llms/dist/router/virtual-router/load-balancer.js +160 -0
  1029. package/vendor/@jsonstudio/llms/dist/router/virtual-router/message-utils.d.ts +15 -0
  1030. package/vendor/@jsonstudio/llms/dist/router/virtual-router/message-utils.js +235 -0
  1031. package/vendor/@jsonstudio/llms/dist/router/virtual-router/pre-command-file-resolver.d.ts +2 -0
  1032. package/vendor/@jsonstudio/llms/dist/router/virtual-router/pre-command-file-resolver.js +117 -0
  1033. package/vendor/@jsonstudio/llms/dist/router/virtual-router/provider-registry.d.ts +17 -0
  1034. package/vendor/@jsonstudio/llms/dist/router/virtual-router/provider-registry.js +145 -0
  1035. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/clean.d.ts +3 -0
  1036. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/clean.js +34 -0
  1037. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/parse.d.ts +6 -0
  1038. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/parse.js +24 -0
  1039. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/state.d.ts +4 -0
  1040. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/state.js +284 -0
  1041. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/types.d.ts +74 -0
  1042. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/types.js +2 -0
  1043. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions.d.ts +5 -0
  1044. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions.js +4 -0
  1045. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-actions.d.ts +3 -0
  1046. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-actions.js +26 -0
  1047. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-parser.d.ts +2 -0
  1048. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-parser.js +85 -0
  1049. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-state-codec.d.ts +3 -0
  1050. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-state-codec.js +24 -0
  1051. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-actions.d.ts +2 -0
  1052. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-actions.js +99 -0
  1053. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-parser.d.ts +3 -0
  1054. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-parser.js +19 -0
  1055. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-state-codec.d.ts +7 -0
  1056. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-state-codec.js +121 -0
  1057. package/vendor/@jsonstudio/llms/dist/router/virtual-router/sticky-session-store.d.ts +8 -0
  1058. package/vendor/@jsonstudio/llms/dist/router/virtual-router/sticky-session-store.js +296 -0
  1059. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-file-resolver.d.ts +2 -0
  1060. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-file-resolver.js +76 -0
  1061. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-stage-template-files.d.ts +12 -0
  1062. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-stage-template-files.js +67 -0
  1063. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-state-sync.d.ts +17 -0
  1064. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-state-sync.js +82 -0
  1065. package/vendor/@jsonstudio/llms/dist/router/virtual-router/success-center.d.ts +10 -0
  1066. package/vendor/@jsonstudio/llms/dist/router/virtual-router/success-center.js +32 -0
  1067. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-counter.d.ts +2 -0
  1068. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-counter.js +148 -0
  1069. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-estimator.d.ts +2 -0
  1070. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-estimator.js +16 -0
  1071. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-file-scanner.d.ts +24 -0
  1072. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-file-scanner.js +117 -0
  1073. package/vendor/@jsonstudio/llms/dist/router/virtual-router/tool-signals.d.ts +19 -0
  1074. package/vendor/@jsonstudio/llms/dist/router/virtual-router/tool-signals.js +647 -0
  1075. package/vendor/@jsonstudio/llms/dist/router/virtual-router/types.d.ts +681 -0
  1076. package/vendor/@jsonstudio/llms/dist/router/virtual-router/types.js +34 -0
  1077. package/vendor/@jsonstudio/llms/dist/runtime/user-data-paths.d.ts +5 -0
  1078. package/vendor/@jsonstudio/llms/dist/runtime/user-data-paths.js +43 -0
  1079. package/vendor/@jsonstudio/llms/dist/servertool/clock/config.d.ts +17 -0
  1080. package/vendor/@jsonstudio/llms/dist/servertool/clock/config.js +48 -0
  1081. package/vendor/@jsonstudio/llms/dist/servertool/clock/daemon.d.ts +24 -0
  1082. package/vendor/@jsonstudio/llms/dist/servertool/clock/daemon.js +207 -0
  1083. package/vendor/@jsonstudio/llms/dist/servertool/clock/io.d.ts +2 -0
  1084. package/vendor/@jsonstudio/llms/dist/servertool/clock/io.js +14 -0
  1085. package/vendor/@jsonstudio/llms/dist/servertool/clock/log.d.ts +3 -0
  1086. package/vendor/@jsonstudio/llms/dist/servertool/clock/log.js +13 -0
  1087. package/vendor/@jsonstudio/llms/dist/servertool/clock/ntp.d.ts +18 -0
  1088. package/vendor/@jsonstudio/llms/dist/servertool/clock/ntp.js +318 -0
  1089. package/vendor/@jsonstudio/llms/dist/servertool/clock/paths.d.ts +5 -0
  1090. package/vendor/@jsonstudio/llms/dist/servertool/clock/paths.js +28 -0
  1091. package/vendor/@jsonstudio/llms/dist/servertool/clock/recurrence.d.ts +7 -0
  1092. package/vendor/@jsonstudio/llms/dist/servertool/clock/recurrence.js +248 -0
  1093. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-scope.d.ts +3 -0
  1094. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-scope.js +41 -0
  1095. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-store.d.ts +3 -0
  1096. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-store.js +63 -0
  1097. package/vendor/@jsonstudio/llms/dist/servertool/clock/state.d.ts +9 -0
  1098. package/vendor/@jsonstudio/llms/dist/servertool/clock/state.js +135 -0
  1099. package/vendor/@jsonstudio/llms/dist/servertool/clock/task-store.d.ts +5 -0
  1100. package/vendor/@jsonstudio/llms/dist/servertool/clock/task-store.js +4 -0
  1101. package/vendor/@jsonstudio/llms/dist/servertool/clock/tasks.d.ts +24 -0
  1102. package/vendor/@jsonstudio/llms/dist/servertool/clock/tasks.js +595 -0
  1103. package/vendor/@jsonstudio/llms/dist/servertool/clock/types.d.ts +98 -0
  1104. package/vendor/@jsonstudio/llms/dist/servertool/clock/types.js +1 -0
  1105. package/vendor/@jsonstudio/llms/dist/servertool/continue-execution/log.d.ts +3 -0
  1106. package/vendor/@jsonstudio/llms/dist/servertool/continue-execution/log.js +13 -0
  1107. package/vendor/@jsonstudio/llms/dist/servertool/engine.d.ts +38 -0
  1108. package/vendor/@jsonstudio/llms/dist/servertool/engine.js +1660 -0
  1109. package/vendor/@jsonstudio/llms/dist/servertool/followup-shadow.d.ts +16 -0
  1110. package/vendor/@jsonstudio/llms/dist/servertool/followup-shadow.js +145 -0
  1111. package/vendor/@jsonstudio/llms/dist/servertool/handlers/antigravity-thought-signature-bootstrap.d.ts +1 -0
  1112. package/vendor/@jsonstudio/llms/dist/servertool/handlers/antigravity-thought-signature-bootstrap.js +201 -0
  1113. package/vendor/@jsonstudio/llms/dist/servertool/handlers/apply-patch-guard.d.ts +1 -0
  1114. package/vendor/@jsonstudio/llms/dist/servertool/handlers/apply-patch-guard.js +5 -0
  1115. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock-auto.d.ts +1 -0
  1116. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock-auto.js +177 -0
  1117. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock.d.ts +1 -0
  1118. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock.js +544 -0
  1119. package/vendor/@jsonstudio/llms/dist/servertool/handlers/compaction-detect.d.ts +1 -0
  1120. package/vendor/@jsonstudio/llms/dist/servertool/handlers/compaction-detect.js +1 -0
  1121. package/vendor/@jsonstudio/llms/dist/servertool/handlers/continue-execution.d.ts +1 -0
  1122. package/vendor/@jsonstudio/llms/dist/servertool/handlers/continue-execution.js +110 -0
  1123. package/vendor/@jsonstudio/llms/dist/servertool/handlers/exec-command-guard.d.ts +1 -0
  1124. package/vendor/@jsonstudio/llms/dist/servertool/handlers/exec-command-guard.js +10 -0
  1125. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-message-trimmer.d.ts +16 -0
  1126. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-message-trimmer.js +198 -0
  1127. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-request-builder.d.ts +25 -0
  1128. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-request-builder.js +515 -0
  1129. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-sanitize.d.ts +2 -0
  1130. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-sanitize.js +7 -0
  1131. package/vendor/@jsonstudio/llms/dist/servertool/handlers/gemini-empty-reply-continue.d.ts +1 -0
  1132. package/vendor/@jsonstudio/llms/dist/servertool/handlers/gemini-empty-reply-continue.js +3 -0
  1133. package/vendor/@jsonstudio/llms/dist/servertool/handlers/iflow-model-error-retry.d.ts +1 -0
  1134. package/vendor/@jsonstudio/llms/dist/servertool/handlers/iflow-model-error-retry.js +92 -0
  1135. package/vendor/@jsonstudio/llms/dist/servertool/handlers/recursive-detection-guard.d.ts +1 -0
  1136. package/vendor/@jsonstudio/llms/dist/servertool/handlers/recursive-detection-guard.js +374 -0
  1137. package/vendor/@jsonstudio/llms/dist/servertool/handlers/review.d.ts +1 -0
  1138. package/vendor/@jsonstudio/llms/dist/servertool/handlers/review.js +181 -0
  1139. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/blocked-report.d.ts +16 -0
  1140. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/blocked-report.js +407 -0
  1141. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/iflow-followup.d.ts +44 -0
  1142. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/iflow-followup.js +816 -0
  1143. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/routing-state.d.ts +28 -0
  1144. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/routing-state.js +123 -0
  1145. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/runtime-utils.d.ts +81 -0
  1146. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/runtime-utils.js +355 -0
  1147. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto.d.ts +1 -0
  1148. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto.js +553 -0
  1149. package/vendor/@jsonstudio/llms/dist/servertool/handlers/vision.d.ts +7 -0
  1150. package/vendor/@jsonstudio/llms/dist/servertool/handlers/vision.js +240 -0
  1151. package/vendor/@jsonstudio/llms/dist/servertool/handlers/web-search.d.ts +7 -0
  1152. package/vendor/@jsonstudio/llms/dist/servertool/handlers/web-search.js +926 -0
  1153. package/vendor/@jsonstudio/llms/dist/servertool/log/progress-file.d.ts +14 -0
  1154. package/vendor/@jsonstudio/llms/dist/servertool/log/progress-file.js +88 -0
  1155. package/vendor/@jsonstudio/llms/dist/servertool/pending-session.d.ts +19 -0
  1156. package/vendor/@jsonstudio/llms/dist/servertool/pending-session.js +99 -0
  1157. package/vendor/@jsonstudio/llms/dist/servertool/pre-command-hooks.d.ts +17 -0
  1158. package/vendor/@jsonstudio/llms/dist/servertool/pre-command-hooks.js +491 -0
  1159. package/vendor/@jsonstudio/llms/dist/servertool/reenter-backend.d.ts +23 -0
  1160. package/vendor/@jsonstudio/llms/dist/servertool/reenter-backend.js +20 -0
  1161. package/vendor/@jsonstudio/llms/dist/servertool/registry.d.ts +35 -0
  1162. package/vendor/@jsonstudio/llms/dist/servertool/registry.js +92 -0
  1163. package/vendor/@jsonstudio/llms/dist/servertool/server-side-tools.d.ts +15 -0
  1164. package/vendor/@jsonstudio/llms/dist/servertool/server-side-tools.js +898 -0
  1165. package/vendor/@jsonstudio/llms/dist/servertool/stop-gateway-context.d.ts +14 -0
  1166. package/vendor/@jsonstudio/llms/dist/servertool/stop-gateway-context.js +167 -0
  1167. package/vendor/@jsonstudio/llms/dist/servertool/stop-message-compare-context.d.ts +24 -0
  1168. package/vendor/@jsonstudio/llms/dist/servertool/stop-message-compare-context.js +133 -0
  1169. package/vendor/@jsonstudio/llms/dist/servertool/strip-servertool-calls.d.ts +2 -0
  1170. package/vendor/@jsonstudio/llms/dist/servertool/strip-servertool-calls.js +75 -0
  1171. package/vendor/@jsonstudio/llms/dist/servertool/types.d.ts +235 -0
  1172. package/vendor/@jsonstudio/llms/dist/servertool/types.js +1 -0
  1173. package/vendor/@jsonstudio/llms/dist/sse/index.d.ts +176 -0
  1174. package/vendor/@jsonstudio/llms/dist/sse/index.js +142 -0
  1175. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +15 -0
  1176. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/anthropic-json-to-sse-converter.js +112 -0
  1177. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +80 -0
  1178. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/chat-json-to-sse-converter.js +300 -0
  1179. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/chat.d.ts +55 -0
  1180. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/chat.js +233 -0
  1181. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/responses.d.ts +103 -0
  1182. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/responses.js +703 -0
  1183. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/gemini-json-to-sse-converter.d.ts +15 -0
  1184. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/gemini-json-to-sse-converter.js +99 -0
  1185. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/index.d.ts +7 -0
  1186. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/index.js +9 -0
  1187. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +80 -0
  1188. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/responses-json-to-sse-converter.js +322 -0
  1189. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/anthropic-sequencer.d.ts +13 -0
  1190. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/anthropic-sequencer.js +162 -0
  1191. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +39 -0
  1192. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/chat-sequencer.js +264 -0
  1193. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/gemini-sequencer.d.ts +10 -0
  1194. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/gemini-sequencer.js +95 -0
  1195. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +40 -0
  1196. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/responses-sequencer.js +293 -0
  1197. package/vendor/@jsonstudio/llms/dist/sse/registry/sse-codec-registry.d.ts +32 -0
  1198. package/vendor/@jsonstudio/llms/dist/sse/registry/sse-codec-registry.js +135 -0
  1199. package/vendor/@jsonstudio/llms/dist/sse/shared/chat-serializer.d.ts +4 -0
  1200. package/vendor/@jsonstudio/llms/dist/sse/shared/chat-serializer.js +40 -0
  1201. package/vendor/@jsonstudio/llms/dist/sse/shared/constants.d.ts +272 -0
  1202. package/vendor/@jsonstudio/llms/dist/sse/shared/constants.js +321 -0
  1203. package/vendor/@jsonstudio/llms/dist/sse/shared/reasoning-dispatcher.d.ts +10 -0
  1204. package/vendor/@jsonstudio/llms/dist/sse/shared/reasoning-dispatcher.js +25 -0
  1205. package/vendor/@jsonstudio/llms/dist/sse/shared/responses-output-normalizer.d.ts +13 -0
  1206. package/vendor/@jsonstudio/llms/dist/sse/shared/responses-output-normalizer.js +47 -0
  1207. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/anthropic-event-serializer.d.ts +2 -0
  1208. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/anthropic-event-serializer.js +9 -0
  1209. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/base-serializer.d.ts +158 -0
  1210. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/base-serializer.js +210 -0
  1211. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/chat-event-serializer.d.ts +82 -0
  1212. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/chat-event-serializer.js +275 -0
  1213. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/gemini-event-serializer.d.ts +2 -0
  1214. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/gemini-event-serializer.js +5 -0
  1215. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/index.d.ts +42 -0
  1216. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/index.js +56 -0
  1217. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/responses-event-serializer.d.ts +131 -0
  1218. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/responses-event-serializer.js +375 -0
  1219. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/types.d.ts +51 -0
  1220. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/types.js +4 -0
  1221. package/vendor/@jsonstudio/llms/dist/sse/shared/utils.d.ts +254 -0
  1222. package/vendor/@jsonstudio/llms/dist/sse/shared/utils.js +543 -0
  1223. package/vendor/@jsonstudio/llms/dist/sse/shared/writer.d.ts +127 -0
  1224. package/vendor/@jsonstudio/llms/dist/sse/shared/writer.js +321 -0
  1225. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +20 -0
  1226. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/anthropic-sse-to-json-converter.js +204 -0
  1227. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/anthropic-response-builder.d.ts +16 -0
  1228. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/anthropic-response-builder.js +258 -0
  1229. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/response-builder.d.ts +177 -0
  1230. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/response-builder.js +1135 -0
  1231. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +119 -0
  1232. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/chat-sse-to-json-converter.js +850 -0
  1233. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/gemini-sse-to-json-converter.d.ts +14 -0
  1234. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/gemini-sse-to-json-converter.js +186 -0
  1235. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/index.d.ts +7 -0
  1236. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/index.js +9 -0
  1237. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/parsers/sse-parser.d.ts +73 -0
  1238. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/parsers/sse-parser.js +434 -0
  1239. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +61 -0
  1240. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/responses-sse-to-json-converter.js +306 -0
  1241. package/vendor/@jsonstudio/llms/dist/sse/types/anthropic-types.d.ts +194 -0
  1242. package/vendor/@jsonstudio/llms/dist/sse/types/anthropic-types.js +8 -0
  1243. package/vendor/@jsonstudio/llms/dist/sse/types/chat-types.d.ts +321 -0
  1244. package/vendor/@jsonstudio/llms/dist/sse/types/chat-types.js +33 -0
  1245. package/vendor/@jsonstudio/llms/dist/sse/types/conversion-context.d.ts +214 -0
  1246. package/vendor/@jsonstudio/llms/dist/sse/types/conversion-context.js +20 -0
  1247. package/vendor/@jsonstudio/llms/dist/sse/types/core-interfaces.d.ts +94 -0
  1248. package/vendor/@jsonstudio/llms/dist/sse/types/core-interfaces.js +5 -0
  1249. package/vendor/@jsonstudio/llms/dist/sse/types/gemini-types.d.ts +135 -0
  1250. package/vendor/@jsonstudio/llms/dist/sse/types/gemini-types.js +5 -0
  1251. package/vendor/@jsonstudio/llms/dist/sse/types/index.d.ts +17 -0
  1252. package/vendor/@jsonstudio/llms/dist/sse/types/index.js +9 -0
  1253. package/vendor/@jsonstudio/llms/dist/sse/types/responses-types.d.ts +334 -0
  1254. package/vendor/@jsonstudio/llms/dist/sse/types/responses-types.js +38 -0
  1255. package/vendor/@jsonstudio/llms/dist/sse/types/sse-events.d.ts +181 -0
  1256. package/vendor/@jsonstudio/llms/dist/sse/types/sse-events.js +150 -0
  1257. package/vendor/@jsonstudio/llms/dist/sse/types/stream-state.d.ts +199 -0
  1258. package/vendor/@jsonstudio/llms/dist/sse/types/stream-state.js +44 -0
  1259. package/vendor/@jsonstudio/llms/dist/sse/types/utility-types.d.ts +234 -0
  1260. package/vendor/@jsonstudio/llms/dist/sse/types/utility-types.js +46 -0
  1261. package/vendor/@jsonstudio/llms/dist/telemetry/stats-center.d.ts +82 -0
  1262. package/vendor/@jsonstudio/llms/dist/telemetry/stats-center.js +308 -0
  1263. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/default-actions.d.ts +2 -0
  1264. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/default-actions.js +12 -0
  1265. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/extract-patch.d.ts +2 -0
  1266. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/extract-patch.js +15 -0
  1267. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/index.d.ts +2 -0
  1268. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/index.js +164 -0
  1269. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/structured-builders.d.ts +7 -0
  1270. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/structured-builders.js +85 -0
  1271. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/types.d.ts +54 -0
  1272. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/types.js +1 -0
  1273. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/execution-capturer.d.ts +13 -0
  1274. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/execution-capturer.js +181 -0
  1275. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/json/parse-loose.d.ts +3 -0
  1276. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/json/parse-loose.js +139 -0
  1277. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/context-diff.d.ts +1 -0
  1278. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/context-diff.js +173 -0
  1279. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/git-diff.d.ts +1 -0
  1280. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/git-diff.js +138 -0
  1281. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/looks-like-patch.d.ts +1 -0
  1282. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/looks-like-patch.js +11 -0
  1283. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/normalize.d.ts +3 -0
  1284. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/normalize.js +383 -0
  1285. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/regression-capturer.d.ts +13 -0
  1286. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/regression-capturer.js +113 -0
  1287. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured/coercion.d.ts +3 -0
  1288. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured/coercion.js +103 -0
  1289. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured.d.ts +20 -0
  1290. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured.js +537 -0
  1291. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validation/shared.d.ts +3 -0
  1292. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validation/shared.js +6 -0
  1293. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validator.d.ts +8 -0
  1294. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validator.js +21 -0
  1295. package/vendor/@jsonstudio/llms/dist/tools/apply-patch-structured.d.ts +1 -0
  1296. package/vendor/@jsonstudio/llms/dist/tools/apply-patch-structured.js +1 -0
  1297. package/vendor/@jsonstudio/llms/dist/tools/args-json.d.ts +1 -0
  1298. package/vendor/@jsonstudio/llms/dist/tools/args-json.js +204 -0
  1299. package/vendor/@jsonstudio/llms/dist/tools/exec-command/normalize.d.ts +17 -0
  1300. package/vendor/@jsonstudio/llms/dist/tools/exec-command/normalize.js +116 -0
  1301. package/vendor/@jsonstudio/llms/dist/tools/exec-command/regression-capturer.d.ts +11 -0
  1302. package/vendor/@jsonstudio/llms/dist/tools/exec-command/regression-capturer.js +144 -0
  1303. package/vendor/@jsonstudio/llms/dist/tools/exec-command/validator.d.ts +10 -0
  1304. package/vendor/@jsonstudio/llms/dist/tools/exec-command/validator.js +238 -0
  1305. package/vendor/@jsonstudio/llms/dist/tools/patch-regression-capturer.d.ts +1 -0
  1306. package/vendor/@jsonstudio/llms/dist/tools/patch-regression-capturer.js +1 -0
  1307. package/vendor/@jsonstudio/llms/dist/tools/tool-description-utils.d.ts +5 -0
  1308. package/vendor/@jsonstudio/llms/dist/tools/tool-description-utils.js +50 -0
  1309. package/vendor/@jsonstudio/llms/dist/tools/tool-registry.d.ts +15 -0
  1310. package/vendor/@jsonstudio/llms/dist/tools/tool-registry.js +253 -0
  1311. package/vendor/@jsonstudio/llms/package.json +189 -0
@@ -0,0 +1,1416 @@
1
+ import { createBridgeActionState, runBridgeActionPipeline } from '../bridge-actions.js';
2
+ import { resolveBridgePolicy, resolvePolicyActions } from '../bridge-policies.js';
3
+ import { normalizeChatMessageContent } from './chat-output-normalizer.js';
4
+ import { mapBridgeToolsToChat, mapChatToolsToBridge } from './tool-mapping.js';
5
+ import { jsonClone } from '../hub/types/json.js';
6
+ import { ProviderProtocolError } from '../provider-protocol-error.js';
7
+ import { parseLenientJsonishWithNative } from '../../router/virtual-router/engine-selection/native-shared-conversion-semantics.js';
8
+ function isObject(v) {
9
+ return !!v && typeof v === 'object' && !Array.isArray(v);
10
+ }
11
+ function safeJson(v) {
12
+ try {
13
+ return JSON.stringify(v ?? {});
14
+ }
15
+ catch {
16
+ return '{}';
17
+ }
18
+ }
19
+ function stripOpenAIChatToolAliasFields(messages) {
20
+ // No-op: preserve tool_call_id/call_id for downstream consumers and regression parity.
21
+ void messages;
22
+ }
23
+ function stripToolCallIdFieldsFromAssistant(messages) {
24
+ for (const message of messages) {
25
+ if (!message || typeof message !== 'object')
26
+ continue;
27
+ const role = String(message.role || '').toLowerCase();
28
+ if (role !== 'assistant')
29
+ continue;
30
+ const calls = message.tool_calls;
31
+ if (!Array.isArray(calls))
32
+ continue;
33
+ for (const call of calls) {
34
+ if (!call || typeof call !== 'object')
35
+ continue;
36
+ delete call.call_id;
37
+ delete call.tool_call_id;
38
+ }
39
+ }
40
+ }
41
+ function sanitizeToolUseId(raw) {
42
+ const trimmed = typeof raw === 'string' ? raw.trim() : '';
43
+ if (!trimmed) {
44
+ return `call_${Math.random().toString(36).slice(2, 10)}`;
45
+ }
46
+ if (/^[A-Za-z0-9_-]+$/.test(trimmed)) {
47
+ return trimmed;
48
+ }
49
+ const sanitized = trimmed
50
+ .replace(/[^A-Za-z0-9_-]/g, '_')
51
+ .replace(/_{2,}/g, '_')
52
+ .replace(/^_+/, '')
53
+ .replace(/_+$/, '');
54
+ return sanitized || `call_${Math.random().toString(36).slice(2, 10)}`;
55
+ }
56
+ function flattenAnthropicText(content) {
57
+ if (content == null)
58
+ return '';
59
+ if (typeof content === 'string')
60
+ return content;
61
+ if (Array.isArray(content))
62
+ return content.map(flattenAnthropicText).join('');
63
+ if (typeof content === 'object') {
64
+ const t = String(content.type || '').toLowerCase();
65
+ if (t === 'text' && typeof content.text === 'string')
66
+ return String(content.text);
67
+ if (Array.isArray(content.content))
68
+ return content.content.map(flattenAnthropicText).join('');
69
+ if (typeof content.content === 'string')
70
+ return String(content.content);
71
+ }
72
+ return '';
73
+ }
74
+ function normalizeToolResultContent(block) {
75
+ if (!block || typeof block !== 'object') {
76
+ return '';
77
+ }
78
+ const content = block.content;
79
+ if (typeof content === 'string') {
80
+ return content;
81
+ }
82
+ if (Array.isArray(content)) {
83
+ const segments = [];
84
+ for (const entry of content) {
85
+ const segment = extractToolResultSegment(entry);
86
+ if (segment) {
87
+ segments.push(segment);
88
+ }
89
+ }
90
+ if (segments.length) {
91
+ return segments.join('\n');
92
+ }
93
+ }
94
+ else if (content != null) {
95
+ try {
96
+ return JSON.stringify(content);
97
+ }
98
+ catch {
99
+ return String(content);
100
+ }
101
+ }
102
+ return '';
103
+ }
104
+ function extractToolResultSegment(entry) {
105
+ if (entry == null) {
106
+ return '';
107
+ }
108
+ if (typeof entry === 'string') {
109
+ return entry;
110
+ }
111
+ if (Array.isArray(entry)) {
112
+ return entry.map(extractToolResultSegment).filter(Boolean).join('');
113
+ }
114
+ if (typeof entry === 'object') {
115
+ const node = entry;
116
+ const type = typeof node.type === 'string' ? node.type.toLowerCase() : '';
117
+ if (type === 'input_text' || type === 'input_json' || type === 'tool_result_status' || type === 'status' || type === 'metadata') {
118
+ return '';
119
+ }
120
+ if (type === 'output_text' || type === 'text' || type === 'reasoning' || type === 'log') {
121
+ return flattenAnthropicText(entry);
122
+ }
123
+ if (type === 'output_json' || type === 'json') {
124
+ const payload = node.content ?? node.text ?? node.data ?? node.output;
125
+ if (payload === undefined) {
126
+ return '';
127
+ }
128
+ try {
129
+ return JSON.stringify(payload);
130
+ }
131
+ catch {
132
+ return String(payload ?? '');
133
+ }
134
+ }
135
+ if (typeof node.text === 'string') {
136
+ return node.text;
137
+ }
138
+ if ('content' in node) {
139
+ const nested = extractToolResultSegment(node.content);
140
+ if (nested) {
141
+ return nested;
142
+ }
143
+ }
144
+ try {
145
+ return JSON.stringify(entry);
146
+ }
147
+ catch {
148
+ return '';
149
+ }
150
+ }
151
+ return String(entry);
152
+ }
153
+ function resolveProtocolErrorCode(context) {
154
+ const ctx = context.toLowerCase();
155
+ return ctx.includes('tool') ? 'TOOL_PROTOCOL_ERROR' : 'MALFORMED_REQUEST';
156
+ }
157
+ function requireTrimmedString(value, context) {
158
+ if (typeof value !== 'string') {
159
+ throw new ProviderProtocolError(`Anthropic bridge constraint violated: ${context} must be a string`, {
160
+ code: resolveProtocolErrorCode(context),
161
+ protocol: 'anthropic-messages',
162
+ providerType: 'anthropic',
163
+ details: { context, actualType: typeof value }
164
+ });
165
+ }
166
+ const trimmed = value.trim();
167
+ if (!trimmed.length) {
168
+ throw new ProviderProtocolError(`Anthropic bridge constraint violated: ${context} must not be empty`, {
169
+ code: resolveProtocolErrorCode(context),
170
+ protocol: 'anthropic-messages',
171
+ providerType: 'anthropic',
172
+ details: { context }
173
+ });
174
+ }
175
+ return trimmed;
176
+ }
177
+ function requireSystemText(block, context) {
178
+ const text = flattenAnthropicText(block).trim();
179
+ if (!text) {
180
+ throw new ProviderProtocolError(`Anthropic bridge constraint violated: ${context} must contain text`, {
181
+ code: resolveProtocolErrorCode(context),
182
+ protocol: 'anthropic-messages',
183
+ providerType: 'anthropic',
184
+ details: { context }
185
+ });
186
+ }
187
+ return text;
188
+ }
189
+ const ANTHROPIC_TOOL_NAME_ALIASES = new Map();
190
+ const CANONICAL_TO_ANTHROPIC_TOOL_NAMES = new Map([['shell_command', 'Bash']]);
191
+ const ANTHROPIC_TOP_LEVEL_FIELDS = new Set([
192
+ 'model',
193
+ 'messages',
194
+ 'tools',
195
+ 'system',
196
+ 'stop_sequences',
197
+ 'temperature',
198
+ 'top_p',
199
+ 'top_k',
200
+ 'max_tokens',
201
+ 'max_output_tokens',
202
+ 'metadata',
203
+ 'stream',
204
+ 'tool_choice',
205
+ 'thinking'
206
+ ]);
207
+ const ANTHROPIC_STABLE_TOOL_SCHEMA_NAMES = new Set([
208
+ 'exec_command',
209
+ 'write_stdin',
210
+ 'apply_patch',
211
+ 'request_user_input',
212
+ 'update_plan',
213
+ 'view_image',
214
+ 'web_search',
215
+ 'clock',
216
+ 'continue_execution',
217
+ 'review'
218
+ ]);
219
+ const ANTHROPIC_STABLE_TOOL_SCHEMA_KEYS = new Map([
220
+ ['exec_command', new Set(['cmd', 'command', 'workdir', 'justification', 'login', 'max_output_tokens', 'sandbox_permissions', 'shell', 'yield_time_ms', 'tty', 'prefix_rule'])],
221
+ ['write_stdin', new Set(['session_id', 'chars', 'text', 'yield_time_ms', 'max_output_tokens'])],
222
+ ['apply_patch', new Set(['patch', 'input', 'instructions', 'text', 'file', 'changes'])],
223
+ ['request_user_input', new Set(['questions'])],
224
+ ['update_plan', new Set(['explanation', 'plan'])],
225
+ ['view_image', new Set(['path'])],
226
+ ['web_search', new Set(['query', 'q', 'domains', 'recency'])],
227
+ ['clock', new Set(['action', 'items', 'taskId'])]
228
+ ]);
229
+ export function normalizeAnthropicToolName(value) {
230
+ if (typeof value !== 'string') {
231
+ return undefined;
232
+ }
233
+ const trimmed = value.trim();
234
+ if (!trimmed) {
235
+ return undefined;
236
+ }
237
+ const lower = trimmed.toLowerCase();
238
+ const alias = ANTHROPIC_TOOL_NAME_ALIASES.get(lower);
239
+ if (alias) {
240
+ return alias;
241
+ }
242
+ if (lower.startsWith('mcp__')) {
243
+ return lower;
244
+ }
245
+ return lower;
246
+ }
247
+ export function denormalizeAnthropicToolName(value) {
248
+ if (typeof value !== 'string') {
249
+ return undefined;
250
+ }
251
+ const trimmed = value.trim();
252
+ if (!trimmed) {
253
+ return undefined;
254
+ }
255
+ const lower = trimmed.toLowerCase();
256
+ const mapped = CANONICAL_TO_ANTHROPIC_TOOL_NAMES.get(lower);
257
+ if (mapped) {
258
+ return mapped;
259
+ }
260
+ if (lower.startsWith('mcp__')) {
261
+ return trimmed;
262
+ }
263
+ return trimmed;
264
+ }
265
+ function coerceShellLikeCommand(value) {
266
+ if (typeof value === 'string') {
267
+ const trimmed = value.trim();
268
+ return trimmed.length ? trimmed : undefined;
269
+ }
270
+ if (Array.isArray(value)) {
271
+ const parts = value
272
+ .map((entry) => (typeof entry === 'string' ? entry.trim() : ''))
273
+ .filter((entry) => entry.length > 0);
274
+ if (!parts.length) {
275
+ return undefined;
276
+ }
277
+ return parts.join(' ');
278
+ }
279
+ return undefined;
280
+ }
281
+ function normalizeShellLikeToolInput(toolName, input) {
282
+ const canonical = normalizeAnthropicToolName(toolName);
283
+ if (canonical !== 'shell_command') {
284
+ return input;
285
+ }
286
+ const rawToolName = typeof toolName === 'string' ? toolName.trim().toLowerCase() : '';
287
+ const isExecCommand = rawToolName === 'exec_command';
288
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
289
+ const cmd = coerceShellLikeCommand(input);
290
+ if (!cmd) {
291
+ return {};
292
+ }
293
+ return isExecCommand ? { cmd } : { command: cmd };
294
+ }
295
+ const next = { ...input };
296
+ const commandValue = coerceShellLikeCommand(next.command);
297
+ const cmdValue = coerceShellLikeCommand(next.cmd);
298
+ const fallbackValue = coerceShellLikeCommand(next.script) ??
299
+ coerceShellLikeCommand(next.toon);
300
+ if (commandValue) {
301
+ next.command = commandValue;
302
+ }
303
+ if (cmdValue) {
304
+ next.cmd = cmdValue;
305
+ }
306
+ if (!commandValue && !cmdValue && fallbackValue) {
307
+ if (isExecCommand) {
308
+ next.cmd = fallbackValue;
309
+ }
310
+ else {
311
+ next.command = fallbackValue;
312
+ }
313
+ }
314
+ else if (!commandValue && cmdValue && !isExecCommand) {
315
+ next.command = cmdValue;
316
+ }
317
+ else if (!cmdValue && commandValue && isExecCommand) {
318
+ next.cmd = commandValue;
319
+ }
320
+ if (!isExecCommand && 'cmd' in next) {
321
+ delete next.cmd;
322
+ }
323
+ if (typeof next.workdir !== 'string' && typeof next.cwd === 'string' && next.cwd.trim().length > 0) {
324
+ next.workdir = next.cwd.trim();
325
+ }
326
+ return next;
327
+ }
328
+ function invertAnthropicAliasMap(source) {
329
+ if (!source) {
330
+ return undefined;
331
+ }
332
+ const inverted = {};
333
+ for (const [canonical, raw] of Object.entries(source)) {
334
+ if (typeof canonical !== 'string' || typeof raw !== 'string') {
335
+ continue;
336
+ }
337
+ const trimmedCanonical = canonical.trim();
338
+ const trimmedRaw = raw.trim();
339
+ if (!trimmedCanonical.length) {
340
+ continue;
341
+ }
342
+ if (trimmedRaw.length) {
343
+ inverted[trimmedRaw.toLowerCase()] = trimmedCanonical;
344
+ }
345
+ if (!inverted[trimmedCanonical.toLowerCase()]) {
346
+ inverted[trimmedCanonical.toLowerCase()] = trimmedCanonical;
347
+ }
348
+ }
349
+ return Object.keys(inverted).length ? inverted : undefined;
350
+ }
351
+ export function buildOpenAIChatFromAnthropic(payload, options) {
352
+ const newMessages = [];
353
+ const body = isObject(payload) ? payload : {};
354
+ const canonicalAliasMap = coerceAliasRecord(buildAnthropicToolAliasMap(body.tools));
355
+ const reverseAliasMap = invertAnthropicAliasMap(canonicalAliasMap);
356
+ const resolveToolName = (candidate) => {
357
+ if (typeof candidate !== 'string') {
358
+ return '';
359
+ }
360
+ const trimmed = candidate.trim();
361
+ if (!trimmed.length) {
362
+ return trimmed;
363
+ }
364
+ const normalized = normalizeAnthropicToolName(trimmed) ?? trimmed;
365
+ if (reverseAliasMap) {
366
+ const direct = reverseAliasMap[trimmed.toLowerCase()];
367
+ if (typeof direct === 'string' && direct.trim().length) {
368
+ return direct.trim();
369
+ }
370
+ const normalizedLookup = reverseAliasMap[normalized.toLowerCase()];
371
+ if (typeof normalizedLookup === 'string' && normalizedLookup.trim().length) {
372
+ return normalizedLookup.trim();
373
+ }
374
+ }
375
+ return normalized;
376
+ };
377
+ const rawSystem = body.system;
378
+ const systemBlocks = Array.isArray(rawSystem)
379
+ ? rawSystem
380
+ : rawSystem !== undefined && rawSystem !== null
381
+ ? [rawSystem]
382
+ : [];
383
+ for (const block of systemBlocks) {
384
+ const text = requireSystemText(block, 'system entry');
385
+ newMessages.push({ role: 'system', content: text });
386
+ }
387
+ const msgs = Array.isArray(body.messages) ? body.messages : [];
388
+ for (const m of msgs) {
389
+ if (!m || typeof m !== 'object')
390
+ continue;
391
+ const role = typeof m.role === 'string' ? String(m.role) : 'user';
392
+ const content = m.content;
393
+ if (!Array.isArray(content)) {
394
+ const text = flattenAnthropicText(content);
395
+ if (text) {
396
+ const normalized = normalizeChatMessageContent(text);
397
+ const message = {
398
+ role,
399
+ content: normalized.contentText ?? text
400
+ };
401
+ if (typeof normalized.reasoningText === 'string' && normalized.reasoningText.trim().length) {
402
+ message.reasoning_content = normalized.reasoningText.trim();
403
+ }
404
+ newMessages.push(message);
405
+ }
406
+ continue;
407
+ }
408
+ const textParts = [];
409
+ const imageBlocks = [];
410
+ const toolCalls = [];
411
+ const reasoningParts = [];
412
+ const toolResults = [];
413
+ for (const block of content) {
414
+ if (!block || typeof block !== 'object')
415
+ continue;
416
+ const t = String(block.type || '').toLowerCase();
417
+ if (t === 'text' && typeof block.text === 'string') {
418
+ const s = block.text.trim();
419
+ if (s)
420
+ textParts.push(s);
421
+ }
422
+ else if (t === 'thinking' || t === 'reasoning') {
423
+ const thinkingText = flattenAnthropicText(block).trim();
424
+ if (thinkingText) {
425
+ reasoningParts.push(thinkingText);
426
+ }
427
+ }
428
+ else if (t === 'image') {
429
+ const source = block.source;
430
+ if (source && typeof source === 'object') {
431
+ const s = source;
432
+ const srcType = typeof s.type === 'string' ? s.type.toLowerCase() : '';
433
+ let url;
434
+ if (srcType === 'url' && typeof s.url === 'string') {
435
+ url = s.url;
436
+ }
437
+ else if (srcType === 'base64' && typeof s.data === 'string') {
438
+ const mediaType = typeof s.media_type === 'string' && s.media_type.trim().length
439
+ ? s.media_type.trim()
440
+ : 'image/png';
441
+ url = `data:${mediaType};base64,${s.data}`;
442
+ }
443
+ if (url && url.trim().length) {
444
+ imageBlocks.push({
445
+ type: 'image_url',
446
+ image_url: { url: url.trim() }
447
+ });
448
+ }
449
+ }
450
+ }
451
+ else if (t === 'tool_use') {
452
+ const name = requireTrimmedString(block.name, 'tool_use.name');
453
+ const id = requireTrimmedString(block.id, 'tool_use.id');
454
+ const input = block.input ?? {};
455
+ const args = safeJson(input);
456
+ const canonicalName = resolveToolName(name) || name;
457
+ const includeIds = options?.includeToolCallIds === true;
458
+ toolCalls.push({
459
+ id,
460
+ ...(includeIds ? { call_id: id, tool_call_id: id } : {}),
461
+ type: 'function',
462
+ function: { name: canonicalName, arguments: args }
463
+ });
464
+ }
465
+ else if (t === 'tool_result') {
466
+ const callId = requireTrimmedString(block.tool_call_id ??
467
+ block.call_id ??
468
+ block.tool_use_id ??
469
+ block.id, 'tool_result.tool_use_id');
470
+ const contentStr = normalizeToolResultContent(block);
471
+ toolResults.push({ role: 'tool', tool_call_id: callId, content: contentStr });
472
+ }
473
+ }
474
+ const combinedText = textParts.join('\n');
475
+ const normalized = normalizeChatMessageContent(combinedText);
476
+ const hasRawText = typeof combinedText === 'string' && combinedText.trim().length > 0;
477
+ const mergedReasoning = [...reasoningParts];
478
+ if (typeof normalized.reasoningText === 'string' && normalized.reasoningText.trim().length) {
479
+ mergedReasoning.push(normalized.reasoningText.trim());
480
+ }
481
+ const hasText = typeof normalized.contentText === 'string' && normalized.contentText.length > 0;
482
+ const hasReasoning = mergedReasoning.length > 0;
483
+ if (hasText || hasRawText || toolCalls.length > 0 || hasReasoning || imageBlocks.length > 0) {
484
+ let contentNode = (hasText ? normalized.contentText : undefined) ?? combinedText ?? '';
485
+ if (imageBlocks.length > 0) {
486
+ const blocks = [];
487
+ const textPayload = (hasText ? normalized.contentText : undefined) ?? combinedText ?? '';
488
+ if (typeof textPayload === 'string' && textPayload.trim().length) {
489
+ blocks.push({ type: 'text', text: textPayload.trim() });
490
+ }
491
+ for (const img of imageBlocks) {
492
+ blocks.push(jsonClone(img));
493
+ }
494
+ contentNode = blocks;
495
+ }
496
+ const msg = {
497
+ role,
498
+ content: contentNode
499
+ };
500
+ if (toolCalls.length)
501
+ msg.tool_calls = toolCalls;
502
+ if (hasReasoning) {
503
+ msg.reasoning_content = mergedReasoning.join('\n');
504
+ }
505
+ newMessages.push(msg);
506
+ }
507
+ for (const tr of toolResults)
508
+ newMessages.push(tr);
509
+ }
510
+ const request = { messages: newMessages };
511
+ if (typeof body.model === 'string')
512
+ request.model = body.model;
513
+ if (typeof body.max_tokens === 'number')
514
+ request.max_tokens = body.max_tokens;
515
+ if (typeof body.temperature === 'number')
516
+ request.temperature = body.temperature;
517
+ if (typeof body.top_p === 'number')
518
+ request.top_p = body.top_p;
519
+ if (typeof body.stream === 'boolean')
520
+ request.stream = body.stream;
521
+ if (typeof body.id === 'string') {
522
+ request.request_id = body.id;
523
+ }
524
+ else if (typeof body.request_id === 'string') {
525
+ request.request_id = body.request_id;
526
+ }
527
+ if ('tool_choice' in body)
528
+ request.tool_choice = body.tool_choice;
529
+ const normalizedTools = mapAnthropicToolsToChat(body.tools);
530
+ if (normalizedTools !== undefined) {
531
+ request.tools = normalizedTools;
532
+ }
533
+ try {
534
+ const bridgePolicy = resolveBridgePolicy({ protocol: 'anthropic-messages' });
535
+ const actions = resolvePolicyActions(bridgePolicy, 'request_inbound');
536
+ if (actions?.length) {
537
+ const actionState = createBridgeActionState({
538
+ messages: newMessages,
539
+ rawRequest: body
540
+ });
541
+ runBridgeActionPipeline({
542
+ stage: 'request_inbound',
543
+ actions,
544
+ protocol: bridgePolicy?.protocol ?? 'anthropic-messages',
545
+ moduleType: bridgePolicy?.moduleType ?? 'anthropic-messages',
546
+ requestId: typeof body?.id === 'string' ? String(body.id) : undefined,
547
+ state: actionState
548
+ });
549
+ }
550
+ }
551
+ catch {
552
+ // ignore policy failures
553
+ }
554
+ stripToolCallIdFieldsFromAssistant(newMessages);
555
+ stripOpenAIChatToolAliasFields(newMessages);
556
+ return request;
557
+ }
558
+ export function buildAnthropicFromOpenAIChat(oa, options) {
559
+ const mapFinishReason = (reason) => {
560
+ if (typeof reason !== 'string' || !reason.trim().length) {
561
+ return undefined;
562
+ }
563
+ const mapping = {
564
+ stop: 'end_turn',
565
+ length: 'max_tokens',
566
+ tool_calls: 'tool_use',
567
+ content_filter: 'stop_sequence',
568
+ function_call: 'tool_use'
569
+ };
570
+ return mapping[reason.trim()];
571
+ };
572
+ const body = isObject(oa) ? oa : {};
573
+ const choices = Array.isArray(body.choices) ? body.choices : [];
574
+ const primary = choices[0] && typeof choices[0] === 'object' ? choices[0] : {};
575
+ const msg = isObject(primary.message) ? primary.message : {};
576
+ const role = typeof msg.role === 'string' ? msg.role : 'assistant';
577
+ const blocks = [];
578
+ const content = msg?.content;
579
+ const contentArray = Array.isArray(content) ? content : undefined;
580
+ if (typeof content === 'string') {
581
+ blocks.push({ type: 'text', text: content });
582
+ }
583
+ if (contentArray) {
584
+ const text = contentArray
585
+ .map((p) => p && typeof p.text === 'string'
586
+ ? String(p.text)
587
+ : typeof p === 'string'
588
+ ? p
589
+ : '')
590
+ .filter(Boolean)
591
+ .join('');
592
+ if (text) {
593
+ blocks.push({ type: 'text', text });
594
+ }
595
+ }
596
+ const extensionReasoning = body?.__responses_reasoning;
597
+ const extensionContent = Array.isArray(extensionReasoning?.content)
598
+ ? extensionReasoning?.content?.map((entry) => String(entry.text ?? '')).filter((text) => text.trim().length > 0)
599
+ : [];
600
+ const extensionSummary = Array.isArray(extensionReasoning?.summary)
601
+ ? extensionReasoning?.summary?.map((entry) => String(entry.text ?? '')).filter((text) => text.trim().length > 0)
602
+ : [];
603
+ const extensionEncrypted = typeof extensionReasoning?.encrypted_content === 'string' && extensionReasoning.encrypted_content.trim().length
604
+ ? extensionReasoning.encrypted_content.trim()
605
+ : undefined;
606
+ const extensionText = extensionContent.length > 0
607
+ ? extensionContent.join('\n')
608
+ : (extensionSummary.length > 0 ? extensionSummary.join('\n') : undefined);
609
+ const reasoningField = extensionText ??
610
+ (typeof msg?.reasoning_content === 'string'
611
+ ? msg.reasoning_content
612
+ : typeof msg?.reasoning === 'string'
613
+ ? msg.reasoning
614
+ : undefined);
615
+ if (reasoningField && reasoningField.trim().length) {
616
+ blocks.push({ type: 'thinking', text: reasoningField.trim() });
617
+ }
618
+ if (extensionEncrypted) {
619
+ blocks.push({ type: 'redacted_thinking', data: extensionEncrypted });
620
+ }
621
+ const toolCalls = Array.isArray(msg?.tool_calls) ? msg.tool_calls : [];
622
+ const toolNameResolver = createAnthropicToolNameResolver(options?.toolNameMap ?? extractToolNameMapFromPayload(oa));
623
+ for (const tc of toolCalls) {
624
+ try {
625
+ const id = sanitizeToolUseId(requireTrimmedString(tc?.id, 'chat.tool_call.id'));
626
+ const fn = isObject(tc?.function) ? tc.function : {};
627
+ const canonicalName = requireTrimmedString(fn.name, 'chat.tool_call.function.name');
628
+ const name = toolNameResolver ? toolNameResolver(canonicalName) : canonicalName;
629
+ const argsRaw = fn.arguments;
630
+ let input;
631
+ if (typeof argsRaw === 'string') {
632
+ const parsed = parseLenientJsonishWithNative(argsRaw);
633
+ input = parsed && typeof parsed === 'object' ? parsed : { _raw: argsRaw };
634
+ }
635
+ else {
636
+ input = argsRaw ?? {};
637
+ }
638
+ input = normalizeShellLikeToolInput(name, input);
639
+ blocks.push({ type: 'tool_use', id, name, input });
640
+ }
641
+ catch {
642
+ // ignore malformed tool call
643
+ }
644
+ }
645
+ const usageChunk = isObject(body.usage) ? body.usage : {};
646
+ const inputTokens = Number(usageChunk.prompt_tokens ?? usageChunk.input_tokens ?? 0);
647
+ const outputTokens = Number(usageChunk.completion_tokens ?? usageChunk.output_tokens ?? 0);
648
+ const finishReason = Array.isArray(body.choices) &&
649
+ body.choices[0] &&
650
+ typeof body.choices[0]?.finish_reason === 'string'
651
+ ? String(body.choices[0].finish_reason).trim()
652
+ : undefined;
653
+ const stopReasonCandidate = mapFinishReason(finishReason) ||
654
+ mapFinishReason(typeof primary?.finish_reason === 'string' ? String(primary.finish_reason) : undefined) ||
655
+ (typeof body?.stop_reason === 'string' ? String(body.stop_reason).trim() : undefined) ||
656
+ (typeof primary?.stop_reason === 'string' ? String(primary.stop_reason).trim() : undefined);
657
+ const hasToolCalls = toolCalls.length > 0;
658
+ const stopReason = stopReasonCandidate ?? (hasToolCalls ? 'tool_use' : 'end_turn');
659
+ const resolveResponseId = () => {
660
+ const preferred = [
661
+ body?.id,
662
+ body?.response?.id,
663
+ body?.response_id
664
+ ];
665
+ for (const candidateRaw of preferred) {
666
+ if (typeof candidateRaw !== 'string')
667
+ continue;
668
+ const candidate = candidateRaw.trim();
669
+ if (!candidate.length)
670
+ continue;
671
+ if (candidate.startsWith('resp_')) {
672
+ return candidate;
673
+ }
674
+ }
675
+ const fromRequest = typeof options?.requestId === 'string' && options.requestId.trim().startsWith('resp_')
676
+ ? options.requestId.trim()
677
+ : undefined;
678
+ return fromRequest ?? `resp_${Date.now()}`;
679
+ };
680
+ const resolveCreated = () => {
681
+ const candidateNumbers = [
682
+ body?.created,
683
+ body?.created_at,
684
+ body?.response?.created,
685
+ body?.response?.created_at
686
+ ];
687
+ for (const candidate of candidateNumbers) {
688
+ if (typeof candidate === 'number' && Number.isFinite(candidate)) {
689
+ return Math.floor(candidate);
690
+ }
691
+ }
692
+ return Math.floor(Date.now() / 1000);
693
+ };
694
+ return {
695
+ id: resolveResponseId(),
696
+ type: 'message',
697
+ role,
698
+ model: String(body.model || 'unknown'),
699
+ created: resolveCreated(),
700
+ content: blocks,
701
+ usage: inputTokens || outputTokens ? { input_tokens: inputTokens, output_tokens: outputTokens } : undefined,
702
+ stop_reason: stopReason
703
+ };
704
+ }
705
+ function extractToolNameMapFromPayload(payload) {
706
+ if (!payload || typeof payload !== 'object') {
707
+ return undefined;
708
+ }
709
+ const candidateSources = [
710
+ payload.anthropicToolNameMap,
711
+ payload.__anthropicToolNameMap,
712
+ payload.metadata &&
713
+ typeof payload.metadata === 'object'
714
+ ? payload.metadata.anthropicToolNameMap
715
+ : undefined,
716
+ payload.metadata &&
717
+ typeof payload.metadata === 'object'
718
+ ? payload.metadata.extraFields &&
719
+ typeof payload.metadata.extraFields === 'object'
720
+ ? payload.metadata.extraFields.anthropicToolNameMap
721
+ : undefined
722
+ : undefined,
723
+ payload.metadata &&
724
+ typeof payload.metadata === 'object' &&
725
+ payload.metadata.capturedContext &&
726
+ typeof payload.metadata.capturedContext === 'object'
727
+ ? (payload.metadata.capturedContext.__hub_capture &&
728
+ typeof payload.metadata.capturedContext.__hub_capture === 'object'
729
+ ? payload.metadata.capturedContext.__hub_capture.extraFields &&
730
+ typeof payload.metadata.capturedContext.__hub_capture.extraFields === 'object'
731
+ ? payload.metadata.capturedContext.__hub_capture.extraFields
732
+ : undefined
733
+ : undefined)
734
+ : undefined
735
+ ];
736
+ for (const candidate of candidateSources) {
737
+ const map = coerceAliasRecord(candidate);
738
+ if (map) {
739
+ return map;
740
+ }
741
+ }
742
+ return undefined;
743
+ }
744
+ function coerceAliasRecord(candidate) {
745
+ if (!candidate || typeof candidate !== 'object' || Array.isArray(candidate)) {
746
+ return undefined;
747
+ }
748
+ let hasEntry = false;
749
+ const output = {};
750
+ for (const [key, value] of Object.entries(candidate)) {
751
+ if (typeof key !== 'string' || typeof value !== 'string') {
752
+ continue;
753
+ }
754
+ const trimmedKey = key.trim();
755
+ if (!trimmedKey.length) {
756
+ continue;
757
+ }
758
+ output[trimmedKey] = value;
759
+ hasEntry = true;
760
+ }
761
+ return hasEntry ? output : undefined;
762
+ }
763
+ function createAnthropicToolNameResolver(source) {
764
+ if (!source) {
765
+ return undefined;
766
+ }
767
+ const lookup = new Map();
768
+ for (const [key, value] of Object.entries(source)) {
769
+ if (typeof key !== 'string' || typeof value !== 'string')
770
+ continue;
771
+ const canonical = key.trim();
772
+ if (!canonical.length)
773
+ continue;
774
+ const alias = value.trim() || canonical;
775
+ lookup.set(canonical, alias);
776
+ const lower = canonical.toLowerCase();
777
+ if (!lookup.has(lower)) {
778
+ lookup.set(lower, alias);
779
+ }
780
+ }
781
+ if (!lookup.size) {
782
+ return undefined;
783
+ }
784
+ return (name) => {
785
+ const trimmed = name.trim();
786
+ if (!trimmed.length) {
787
+ return name;
788
+ }
789
+ const direct = lookup.get(trimmed) ?? lookup.get(trimmed.toLowerCase());
790
+ if (direct) {
791
+ return direct;
792
+ }
793
+ const normalized = normalizeAnthropicToolName(trimmed);
794
+ if (normalized) {
795
+ return lookup.get(normalized) ?? lookup.get(normalized.toLowerCase()) ?? trimmed;
796
+ }
797
+ return trimmed;
798
+ };
799
+ }
800
+ function normalizeAnthropicToolChoice(value) {
801
+ if (value === undefined || value === null) {
802
+ return undefined;
803
+ }
804
+ if (isPlainRecord(value)) {
805
+ // Already an object – best-effort clone while trimming type, and also support
806
+ // Chat-style { type: 'function', function: { name } } by mapping to Anthropic's
807
+ // { type: 'tool', name } shape.
808
+ const cloned = cloneAnthropicSchema(value);
809
+ const rawType = typeof cloned.type === 'string' ? String(cloned.type).trim() : '';
810
+ if (rawType) {
811
+ cloned.type = rawType;
812
+ return cloned;
813
+ }
814
+ const selectorType = typeof cloned.type === 'string' ? String(cloned.type).trim() : '';
815
+ const fn = cloned.function;
816
+ if (selectorType === 'function' &&
817
+ fn &&
818
+ typeof fn === 'object' &&
819
+ typeof fn.name === 'string' &&
820
+ String(fn.name).trim().length) {
821
+ return { type: 'tool', name: String(fn.name).trim() };
822
+ }
823
+ return cloned;
824
+ }
825
+ if (typeof value === 'string') {
826
+ const trimmed = value.trim();
827
+ if (!trimmed.length) {
828
+ return undefined;
829
+ }
830
+ const lower = trimmed.toLowerCase();
831
+ if (lower === 'auto') {
832
+ return { type: 'auto' };
833
+ }
834
+ if (lower === 'none') {
835
+ return { type: 'none' };
836
+ }
837
+ if (lower === 'any') {
838
+ return { type: 'any' };
839
+ }
840
+ if (lower === 'required') {
841
+ // "required" in canonical Chat roughly maps to Anthropic's "any" semantics:
842
+ // the model must choose some tool if available.
843
+ return { type: 'any' };
844
+ }
845
+ // Fallback: preserve custom mode as-is in type field.
846
+ return { type: trimmed };
847
+ }
848
+ return undefined;
849
+ }
850
+ export function buildAnthropicRequestFromOpenAIChat(chatReq) {
851
+ const requestBody = isObject(chatReq) ? chatReq : {};
852
+ const model = String(requestBody?.model || 'unknown');
853
+ const messages = [];
854
+ try {
855
+ const bridgePolicy = resolveBridgePolicy({ protocol: 'anthropic-messages' });
856
+ const actions = resolvePolicyActions(bridgePolicy, 'request_outbound');
857
+ if (actions?.length && Array.isArray(requestBody.messages)) {
858
+ const actionState = createBridgeActionState({
859
+ messages: requestBody.messages,
860
+ rawRequest: requestBody
861
+ });
862
+ runBridgeActionPipeline({
863
+ stage: 'request_outbound',
864
+ actions,
865
+ protocol: bridgePolicy?.protocol ?? 'anthropic-messages',
866
+ moduleType: bridgePolicy?.moduleType ?? 'anthropic-messages',
867
+ state: actionState
868
+ });
869
+ }
870
+ }
871
+ catch {
872
+ // ignore policy errors
873
+ }
874
+ const collectText = (val) => {
875
+ if (!val)
876
+ return '';
877
+ if (typeof val === 'string')
878
+ return val;
879
+ if (Array.isArray(val))
880
+ return val.map(collectText).join('');
881
+ if (typeof val === 'object') {
882
+ if (typeof val.text === 'string')
883
+ return String(val.text);
884
+ if (Array.isArray(val.content))
885
+ return collectText(val.content);
886
+ }
887
+ return '';
888
+ };
889
+ const msgs = Array.isArray(requestBody?.messages) ? requestBody.messages : [];
890
+ const mirrorShapes = extractMirrorShapesFromRequest(requestBody);
891
+ let mirrorIndex = 0;
892
+ const knownToolCallIds = new Set();
893
+ for (const m of msgs) {
894
+ if (!m || typeof m !== 'object')
895
+ continue;
896
+ const role = String(m.role || 'user');
897
+ if (role !== 'assistant')
898
+ continue;
899
+ const toolCalls = m.tool_calls;
900
+ if (!Array.isArray(toolCalls))
901
+ continue;
902
+ for (const tc of toolCalls) {
903
+ if (!tc || typeof tc !== 'object')
904
+ continue;
905
+ const id = sanitizeToolUseId(requireTrimmedString(tc.id, 'chat.tool_call.id'));
906
+ knownToolCallIds.add(id);
907
+ }
908
+ }
909
+ const systemBlocks = [];
910
+ const pushSystemBlock = (text) => {
911
+ const trimmed = text.trim();
912
+ if (trimmed)
913
+ systemBlocks.push({ type: 'text', text: trimmed });
914
+ };
915
+ try {
916
+ const sys = requestBody.system;
917
+ const ingestSystem = (val) => {
918
+ if (!val)
919
+ return;
920
+ if (typeof val === 'string') {
921
+ pushSystemBlock(requireSystemText(val, 'top-level system'));
922
+ return;
923
+ }
924
+ if (Array.isArray(val)) {
925
+ for (const entry of val)
926
+ ingestSystem(entry);
927
+ return;
928
+ }
929
+ if (typeof val === 'object') {
930
+ pushSystemBlock(requireSystemText(val, 'top-level system'));
931
+ return;
932
+ }
933
+ throw new ProviderProtocolError('Anthropic bridge constraint violated: unsupported system payload type', {
934
+ code: 'MALFORMED_REQUEST',
935
+ protocol: 'anthropic-messages',
936
+ providerType: 'anthropic',
937
+ details: { context: 'top-level system', actualType: typeof val }
938
+ });
939
+ };
940
+ ingestSystem(sys);
941
+ }
942
+ catch {
943
+ // ignore system pre-scan errors
944
+ }
945
+ for (const m of msgs) {
946
+ if (!m || typeof m !== 'object')
947
+ continue;
948
+ const role = String(m.role || 'user');
949
+ let targetShape;
950
+ if (role !== 'system' && Array.isArray(mirrorShapes)) {
951
+ targetShape = mirrorShapes[mirrorIndex];
952
+ mirrorIndex += 1;
953
+ }
954
+ const contentNode = m.content;
955
+ const text = collectText(contentNode).trim();
956
+ if (role === 'system') {
957
+ if (!text) {
958
+ throw new ProviderProtocolError('Anthropic bridge constraint violated: Chat system message must contain text', {
959
+ code: 'MALFORMED_REQUEST',
960
+ protocol: 'anthropic-messages',
961
+ providerType: 'anthropic',
962
+ details: { context: 'chat.system', original: contentNode }
963
+ });
964
+ }
965
+ pushSystemBlock(text);
966
+ continue;
967
+ }
968
+ if (role === 'tool') {
969
+ const toolCallId = sanitizeToolUseId(requireTrimmedString(m.tool_call_id ?? m.call_id ?? m.tool_use_id ?? m.id, 'tool_result.tool_call_id'));
970
+ if (!knownToolCallIds.has(toolCallId)) {
971
+ throw new ProviderProtocolError(`Anthropic bridge constraint violated: tool result ${toolCallId} has no matching tool call`, {
972
+ code: 'TOOL_PROTOCOL_ERROR',
973
+ protocol: 'anthropic-messages',
974
+ providerType: 'anthropic',
975
+ details: { toolCallId }
976
+ });
977
+ }
978
+ const block = {
979
+ type: 'tool_result',
980
+ content: text
981
+ };
982
+ block.tool_use_id = toolCallId;
983
+ messages.push({
984
+ role: 'user',
985
+ content: [block]
986
+ });
987
+ continue;
988
+ }
989
+ const blocks = [];
990
+ if (Array.isArray(contentNode)) {
991
+ // Preserve or synthesize image blocks where possible, and fall back to text for the rest.
992
+ for (const entry of contentNode) {
993
+ if (!entry || typeof entry !== 'object')
994
+ continue;
995
+ const node = entry;
996
+ const t = typeof node.type === 'string' ? node.type.toLowerCase() : '';
997
+ if (t === 'image' && node.source && typeof node.source === 'object') {
998
+ // Pass-through Anthropic image block as-is.
999
+ blocks.push({
1000
+ type: 'image',
1001
+ source: jsonClone(node.source)
1002
+ });
1003
+ continue;
1004
+ }
1005
+ if (t === 'image_url') {
1006
+ let url = '';
1007
+ const imageUrl = node.image_url;
1008
+ if (typeof imageUrl === 'string') {
1009
+ url = imageUrl;
1010
+ }
1011
+ else if (imageUrl && typeof imageUrl === 'object' && typeof imageUrl.url === 'string') {
1012
+ url = imageUrl.url;
1013
+ }
1014
+ const trimmed = url.trim();
1015
+ if (!trimmed.length)
1016
+ continue;
1017
+ const source = {};
1018
+ if (trimmed.startsWith('data:')) {
1019
+ const match = /^data:([^;,]+)?(?:;base64)?,(.*)$/s.exec(trimmed);
1020
+ if (match) {
1021
+ const mediaType = (match[1] || '').trim() || 'image/png';
1022
+ source.type = 'base64';
1023
+ source.media_type = mediaType;
1024
+ source.data = match[2] || '';
1025
+ }
1026
+ else {
1027
+ source.type = 'url';
1028
+ source.url = trimmed;
1029
+ }
1030
+ }
1031
+ else {
1032
+ source.type = 'url';
1033
+ source.url = trimmed;
1034
+ }
1035
+ blocks.push({
1036
+ type: 'image',
1037
+ source
1038
+ });
1039
+ }
1040
+ }
1041
+ }
1042
+ if (text) {
1043
+ blocks.push({ type: 'text', text });
1044
+ }
1045
+ const toolCalls = Array.isArray(m.tool_calls) ? m.tool_calls : [];
1046
+ for (const tc of toolCalls) {
1047
+ if (!tc || typeof tc !== 'object')
1048
+ continue;
1049
+ const id = sanitizeToolUseId(requireTrimmedString(tc.id, 'chat.tool_call.id'));
1050
+ const fn = tc.function || {};
1051
+ const name = requireTrimmedString(fn.name, 'chat.tool_call.function.name');
1052
+ const argsRaw = fn.arguments;
1053
+ let input;
1054
+ if (typeof argsRaw === 'string') {
1055
+ const parsed = parseLenientJsonishWithNative(argsRaw);
1056
+ input = parsed && typeof parsed === 'object' ? parsed : { _raw: argsRaw };
1057
+ }
1058
+ else {
1059
+ input = argsRaw ?? {};
1060
+ }
1061
+ input = normalizeShellLikeToolInput(name, input);
1062
+ blocks.push({ type: 'tool_use', id, name, input });
1063
+ }
1064
+ if (blocks.length > 0) {
1065
+ const hasStructuredBlocks = blocks.some((block) => block && typeof block === 'object' && block.type !== 'text');
1066
+ let contentNode = blocks;
1067
+ if (!hasStructuredBlocks && (targetShape === 'string' || !targetShape)) {
1068
+ contentNode = text;
1069
+ }
1070
+ messages.push({ role, content: contentNode });
1071
+ }
1072
+ }
1073
+ const out = { model };
1074
+ if (systemBlocks.length) {
1075
+ out.system = systemBlocks;
1076
+ }
1077
+ out.messages = messages;
1078
+ const anthropicTools = mapChatToolsToAnthropicTools(requestBody.tools);
1079
+ if (anthropicTools !== undefined) {
1080
+ out.tools = anthropicTools;
1081
+ }
1082
+ const normalizedToolChoice = normalizeAnthropicToolChoice(requestBody.tool_choice);
1083
+ if (normalizedToolChoice !== undefined) {
1084
+ out.tool_choice = normalizedToolChoice;
1085
+ }
1086
+ if (requestBody.thinking !== undefined) {
1087
+ try {
1088
+ out.thinking = JSON.parse(JSON.stringify(requestBody.thinking));
1089
+ }
1090
+ catch {
1091
+ out.thinking = requestBody.thinking;
1092
+ }
1093
+ }
1094
+ try {
1095
+ if (requestBody.metadata && typeof requestBody.metadata === 'object') {
1096
+ out.metadata = JSON.parse(JSON.stringify(requestBody.metadata));
1097
+ }
1098
+ }
1099
+ catch {
1100
+ // best-effort metadata clone
1101
+ }
1102
+ const mt = Number(requestBody.max_tokens ??
1103
+ requestBody.maxTokens ??
1104
+ NaN);
1105
+ if (Number.isFinite(mt) && mt > 0)
1106
+ out.max_tokens = mt;
1107
+ if (typeof requestBody.temperature === 'number') {
1108
+ out.temperature = Number(requestBody.temperature);
1109
+ }
1110
+ if (typeof requestBody.top_p === 'number') {
1111
+ out.top_p = Number(requestBody.top_p);
1112
+ }
1113
+ if (typeof requestBody.stream === 'boolean') {
1114
+ out.stream = Boolean(requestBody.stream);
1115
+ }
1116
+ const stop = requestBody.stop;
1117
+ if (typeof stop === 'string' && stop.trim()) {
1118
+ out.stop_sequences = [stop.trim()];
1119
+ }
1120
+ else if (Array.isArray(stop) && stop.length > 0) {
1121
+ out.stop_sequences = stop.map((s) => String(s)).filter(Boolean);
1122
+ }
1123
+ return pruneAnthropicRequest(out);
1124
+ }
1125
+ function isPlainRecord(value) {
1126
+ return !!value && typeof value === 'object' && !Array.isArray(value);
1127
+ }
1128
+ function coerceJsonValue(value) {
1129
+ if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
1130
+ return value;
1131
+ }
1132
+ if (Array.isArray(value)) {
1133
+ return value.map((entry) => coerceJsonValue(entry));
1134
+ }
1135
+ if (isPlainRecord(value)) {
1136
+ const obj = {};
1137
+ for (const [key, entry] of Object.entries(value)) {
1138
+ obj[key] = coerceJsonValue(entry);
1139
+ }
1140
+ return obj;
1141
+ }
1142
+ return String(value ?? '');
1143
+ }
1144
+ function cloneAnthropicSchema(value) {
1145
+ if (isPlainRecord(value)) {
1146
+ try {
1147
+ return JSON.parse(JSON.stringify(value));
1148
+ }
1149
+ catch {
1150
+ return value;
1151
+ }
1152
+ }
1153
+ return { type: 'object', properties: {} };
1154
+ }
1155
+ function normalizeAnthropicSchemaType(value) {
1156
+ if (typeof value === 'string') {
1157
+ const trimmed = value.trim().toLowerCase();
1158
+ if (trimmed === 'string' ||
1159
+ trimmed === 'number' ||
1160
+ trimmed === 'integer' ||
1161
+ trimmed === 'boolean' ||
1162
+ trimmed === 'object' ||
1163
+ trimmed === 'array') {
1164
+ return trimmed;
1165
+ }
1166
+ return undefined;
1167
+ }
1168
+ if (Array.isArray(value)) {
1169
+ for (const entry of value) {
1170
+ const normalized = normalizeAnthropicSchemaType(entry);
1171
+ if (normalized) {
1172
+ return normalized;
1173
+ }
1174
+ }
1175
+ }
1176
+ return undefined;
1177
+ }
1178
+ function compactAnthropicPropertySchema(schema) {
1179
+ if (!isPlainRecord(schema)) {
1180
+ return { type: 'string' };
1181
+ }
1182
+ const out = {};
1183
+ const type = normalizeAnthropicSchemaType(schema.type);
1184
+ if (type) {
1185
+ out.type = type;
1186
+ }
1187
+ if (typeof schema.description === 'string' && schema.description.trim()) {
1188
+ out.description = schema.description;
1189
+ }
1190
+ const enumRaw = Array.isArray(schema.enum) ? schema.enum : undefined;
1191
+ if (enumRaw && enumRaw.length) {
1192
+ const enumValues = enumRaw
1193
+ .filter((entry) => {
1194
+ const entryType = typeof entry;
1195
+ return entryType === 'string' || entryType === 'number' || entryType === 'boolean';
1196
+ })
1197
+ .slice(0, 64);
1198
+ if (enumValues.length) {
1199
+ out.enum = enumValues;
1200
+ if (!out.type) {
1201
+ const inferred = typeof enumValues[0];
1202
+ out.type = inferred === 'boolean' ? 'boolean' : inferred === 'number' ? 'number' : 'string';
1203
+ }
1204
+ }
1205
+ }
1206
+ if (out.type === 'array') {
1207
+ const items = isPlainRecord(schema.items) ? schema.items : {};
1208
+ const itemType = normalizeAnthropicSchemaType(items.type) ?? 'string';
1209
+ out.items = { type: itemType };
1210
+ }
1211
+ else if (out.type === 'object') {
1212
+ out.properties = {};
1213
+ out.additionalProperties = false;
1214
+ }
1215
+ if (!out.type) {
1216
+ out.type = 'string';
1217
+ }
1218
+ return out;
1219
+ }
1220
+ function sanitizeAnthropicBuiltinInputSchema(toolName, schemaSource) {
1221
+ const normalizedName = toolName.trim().toLowerCase();
1222
+ if (!ANTHROPIC_STABLE_TOOL_SCHEMA_NAMES.has(normalizedName)) {
1223
+ return cloneAnthropicSchema(schemaSource);
1224
+ }
1225
+ const source = cloneAnthropicSchema(schemaSource);
1226
+ const sourceProperties = isPlainRecord(source.properties) ? source.properties : {};
1227
+ const allowedKeys = ANTHROPIC_STABLE_TOOL_SCHEMA_KEYS.get(normalizedName);
1228
+ const sanitizedProperties = {};
1229
+ for (const [key, value] of Object.entries(sourceProperties)) {
1230
+ if (allowedKeys && !allowedKeys.has(key)) {
1231
+ continue;
1232
+ }
1233
+ sanitizedProperties[key] = compactAnthropicPropertySchema(value);
1234
+ }
1235
+ const required = Array.isArray(source.required)
1236
+ ? source.required.filter((entry) => typeof entry === 'string' && entry.trim().length > 0)
1237
+ : [];
1238
+ const filteredRequired = allowedKeys
1239
+ ? required.filter((key) => allowedKeys.has(key))
1240
+ : required;
1241
+ for (const key of filteredRequired) {
1242
+ if (!Object.prototype.hasOwnProperty.call(sanitizedProperties, key)) {
1243
+ sanitizedProperties[key] = { type: 'string' };
1244
+ }
1245
+ }
1246
+ const output = {
1247
+ type: 'object',
1248
+ properties: sanitizedProperties,
1249
+ additionalProperties: false
1250
+ };
1251
+ if (filteredRequired.length) {
1252
+ output.required = Array.from(new Set(filteredRequired));
1253
+ }
1254
+ return output;
1255
+ }
1256
+ function prepareAnthropicBridgeTools(rawTools, missing) {
1257
+ if (!Array.isArray(rawTools) || rawTools.length === 0) {
1258
+ return undefined;
1259
+ }
1260
+ const result = [];
1261
+ rawTools.forEach((entry, index) => {
1262
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
1263
+ missing?.push({
1264
+ path: `tools[${index}]`,
1265
+ reason: 'invalid_entry',
1266
+ originalValue: jsonClone(coerceJsonValue(entry))
1267
+ });
1268
+ return;
1269
+ }
1270
+ const name = typeof entry.name === 'string'
1271
+ ? entry.name
1272
+ : undefined;
1273
+ if (!name) {
1274
+ missing?.push({ path: `tools[${index}].name`, reason: 'missing_name' });
1275
+ return;
1276
+ }
1277
+ const description = typeof entry.description === 'string'
1278
+ ? entry.description
1279
+ : undefined;
1280
+ const schemaSource = entry.input_schema;
1281
+ const parameters = cloneAnthropicSchema(schemaSource);
1282
+ result.push({
1283
+ type: 'function',
1284
+ function: {
1285
+ name,
1286
+ description,
1287
+ parameters
1288
+ }
1289
+ });
1290
+ });
1291
+ return result.length ? result : undefined;
1292
+ }
1293
+ function convertBridgeToolToAnthropic(def) {
1294
+ if (!def || typeof def !== 'object') {
1295
+ return null;
1296
+ }
1297
+ const fnNode = def.function && typeof def.function === 'object' ? def.function : undefined;
1298
+ const name = typeof fnNode?.name === 'string'
1299
+ ? fnNode.name
1300
+ : typeof def.name === 'string'
1301
+ ? def.name
1302
+ : undefined;
1303
+ if (!name) {
1304
+ return null;
1305
+ }
1306
+ const description = typeof fnNode?.description === 'string'
1307
+ ? fnNode.description
1308
+ : typeof def.description === 'string'
1309
+ ? def.description
1310
+ : undefined;
1311
+ const schemaSource = fnNode?.parameters ?? def.parameters;
1312
+ const inputSchema = sanitizeAnthropicBuiltinInputSchema(name, schemaSource);
1313
+ const tool = {
1314
+ name,
1315
+ input_schema: inputSchema
1316
+ };
1317
+ if (description !== undefined) {
1318
+ tool.description = description;
1319
+ }
1320
+ return tool;
1321
+ }
1322
+ export function mapAnthropicToolsToChat(rawTools, missing) {
1323
+ const prepared = prepareAnthropicBridgeTools(rawTools, missing);
1324
+ if (prepared === undefined) {
1325
+ return undefined;
1326
+ }
1327
+ return mapBridgeToolsToChat(prepared, { sanitizeName: normalizeAnthropicToolName });
1328
+ }
1329
+ export function mapChatToolsToAnthropicTools(rawTools) {
1330
+ if (!Array.isArray(rawTools) || rawTools.length === 0) {
1331
+ return undefined;
1332
+ }
1333
+ const bridgeDefs = mapChatToolsToBridge(rawTools, { sanitizeName: denormalizeAnthropicToolName });
1334
+ if (!bridgeDefs || !bridgeDefs.length) {
1335
+ return undefined;
1336
+ }
1337
+ const converted = bridgeDefs
1338
+ .map((def) => convertBridgeToolToAnthropic(def))
1339
+ .filter((entry) => !!entry);
1340
+ return converted.length ? converted : undefined;
1341
+ }
1342
+ function pruneAnthropicRequest(payload) {
1343
+ for (const key of Object.keys(payload)) {
1344
+ if (!ANTHROPIC_TOP_LEVEL_FIELDS.has(key)) {
1345
+ delete payload[key];
1346
+ }
1347
+ }
1348
+ return payload;
1349
+ }
1350
+ function extractMirrorShapesFromRequest(source) {
1351
+ const directMirror = source &&
1352
+ typeof source === 'object' &&
1353
+ source.__anthropicMirror &&
1354
+ typeof source.__anthropicMirror === 'object'
1355
+ ? source.__anthropicMirror
1356
+ : extractMirrorFromMetadata(source);
1357
+ if (!directMirror) {
1358
+ return undefined;
1359
+ }
1360
+ const shapes = directMirror.messageContentShape;
1361
+ if (!Array.isArray(shapes)) {
1362
+ return undefined;
1363
+ }
1364
+ return shapes.map((entry) => (typeof entry === 'string' ? entry : String(entry ?? '')));
1365
+ }
1366
+ function extractMirrorFromMetadata(source) {
1367
+ if (!source || typeof source !== 'object') {
1368
+ return undefined;
1369
+ }
1370
+ const metadata = source.metadata;
1371
+ if (!metadata || typeof metadata !== 'object') {
1372
+ return undefined;
1373
+ }
1374
+ const extraFields = metadata.extraFields;
1375
+ if (!extraFields || typeof extraFields !== 'object') {
1376
+ return undefined;
1377
+ }
1378
+ const mirror = extraFields.anthropicMirror;
1379
+ return mirror && typeof mirror === 'object' ? mirror : undefined;
1380
+ }
1381
+ export function buildAnthropicToolAliasMap(rawTools) {
1382
+ if (!Array.isArray(rawTools) || rawTools.length === 0) {
1383
+ return undefined;
1384
+ }
1385
+ const aliasMap = new Map();
1386
+ for (const entry of rawTools) {
1387
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
1388
+ continue;
1389
+ }
1390
+ const rawName = typeof entry.name === 'string'
1391
+ ? entry.name.trim()
1392
+ : undefined;
1393
+ if (!rawName) {
1394
+ continue;
1395
+ }
1396
+ const normalized = normalizeAnthropicToolName(rawName) ?? rawName;
1397
+ const canonicalKey = normalized.trim();
1398
+ if (!canonicalKey.length) {
1399
+ continue;
1400
+ }
1401
+ aliasMap.set(canonicalKey, rawName);
1402
+ const lowered = canonicalKey.toLowerCase();
1403
+ const lowerKey = canonicalKey.toLowerCase();
1404
+ if (lowerKey !== canonicalKey && !aliasMap.has(lowerKey)) {
1405
+ aliasMap.set(lowerKey, rawName);
1406
+ }
1407
+ }
1408
+ if (!aliasMap.size) {
1409
+ return undefined;
1410
+ }
1411
+ const serialized = {};
1412
+ for (const [key, value] of aliasMap.entries()) {
1413
+ serialized[key] = value;
1414
+ }
1415
+ return serialized;
1416
+ }