@jsonstudio/rcc 0.90.364 → 0.90.429

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 (1176) hide show
  1. package/config/providers/ali-coding-plan.json +5 -0
  2. package/dist/build-info.js +2 -2
  3. package/dist/cli/commands/codex.js +37 -35
  4. package/dist/cli/commands/codex.js.map +1 -1
  5. package/dist/cli/commands/heartbeat.d.ts +20 -0
  6. package/dist/cli/commands/heartbeat.js +184 -0
  7. package/dist/cli/commands/heartbeat.js.map +1 -0
  8. package/dist/cli/commands/launcher/types.d.ts +0 -1
  9. package/dist/cli/commands/launcher-kernel.js +165 -73
  10. package/dist/cli/commands/launcher-kernel.js.map +1 -1
  11. package/dist/cli/commands/start.js +5 -3
  12. package/dist/cli/commands/start.js.map +1 -1
  13. package/dist/cli/register/heartbeat-command.d.ts +3 -0
  14. package/dist/cli/register/heartbeat-command.js +5 -0
  15. package/dist/cli/register/heartbeat-command.js.map +1 -0
  16. package/dist/cli.js +11 -0
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/validate.js +34 -13
  19. package/dist/commands/validate.js.map +1 -1
  20. package/dist/config/user-data-paths.js +14 -3
  21. package/dist/config/user-data-paths.js.map +1 -1
  22. package/dist/index.js +31 -12
  23. package/dist/index.js.map +1 -1
  24. package/dist/manager/modules/quota/antigravity-quota-manager.js +50 -37
  25. package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -1
  26. package/dist/manager/modules/quota/antigravity-quota-persistence.js +23 -14
  27. package/dist/manager/modules/quota/antigravity-quota-persistence.js.map +1 -1
  28. package/dist/manager/modules/quota/antigravity-quota-runtime.js +20 -11
  29. package/dist/manager/modules/quota/antigravity-quota-runtime.js.map +1 -1
  30. package/dist/manager/modules/quota/quota-adapter.js +28 -12
  31. package/dist/manager/modules/quota/quota-adapter.js.map +1 -1
  32. package/dist/manager/quota/provider-quota-store.js +17 -11
  33. package/dist/manager/quota/provider-quota-store.js.map +1 -1
  34. package/dist/manager/storage/file-store.js +15 -9
  35. package/dist/manager/storage/file-store.js.map +1 -1
  36. package/dist/modules/llmswitch/bridge/index.d.ts +1 -1
  37. package/dist/modules/llmswitch/bridge/index.js +1 -1
  38. package/dist/modules/llmswitch/bridge/index.js.map +1 -1
  39. package/dist/modules/llmswitch/bridge/module-loader.js +2 -2
  40. package/dist/modules/llmswitch/bridge/module-loader.js.map +1 -1
  41. package/dist/modules/llmswitch/bridge/runtime-integrations.js +1 -1
  42. package/dist/modules/llmswitch/bridge/runtime-integrations.js.map +1 -1
  43. package/dist/modules/llmswitch/bridge/snapshot-recorder.js +4 -1
  44. package/dist/modules/llmswitch/bridge/snapshot-recorder.js.map +1 -1
  45. package/dist/modules/llmswitch/bridge/state-integrations.d.ts +28 -0
  46. package/dist/modules/llmswitch/bridge/state-integrations.js +138 -0
  47. package/dist/modules/llmswitch/bridge/state-integrations.js.map +1 -1
  48. package/dist/modules/llmswitch/bridge.d.ts +1 -1
  49. package/dist/modules/llmswitch/bridge.js +1 -1
  50. package/dist/modules/llmswitch/bridge.js.map +1 -1
  51. package/dist/modules/llmswitch/core-loader.js +0 -1
  52. package/dist/modules/llmswitch/core-loader.js.map +1 -1
  53. package/dist/providers/auth/oauth-auth.js +5 -3
  54. package/dist/providers/auth/oauth-auth.js.map +1 -1
  55. package/dist/providers/auth/oauth-lifecycle.js +84 -34
  56. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  57. package/dist/providers/auth/tokenfile-auth.js +22 -12
  58. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  59. package/dist/providers/core/api/provider-types.d.ts +16 -0
  60. package/dist/providers/core/strategies/oauth-auth-code-flow.js +3 -1
  61. package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
  62. package/dist/providers/core/utils/snapshot-writer.js +28 -18
  63. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  64. package/dist/server/handlers/handler-response-utils.js +21 -7
  65. package/dist/server/handlers/handler-response-utils.js.map +1 -1
  66. package/dist/server/handlers/handler-utils.js +16 -8
  67. package/dist/server/handlers/handler-utils.js.map +1 -1
  68. package/dist/server/runtime/http-server/clock-runtime-hooks.js +7 -10
  69. package/dist/server/runtime/http-server/clock-runtime-hooks.js.map +1 -1
  70. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js +0 -30
  71. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js.map +1 -1
  72. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +1 -113
  73. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  74. package/dist/server/runtime/http-server/daemon-admin/status-handler.js +11 -2
  75. package/dist/server/runtime/http-server/daemon-admin/status-handler.js.map +1 -1
  76. package/dist/server/runtime/http-server/executor/client-injection-flow.js +9 -8
  77. package/dist/server/runtime/http-server/executor/client-injection-flow.js.map +1 -1
  78. package/dist/server/runtime/http-server/executor/provider-response-converter.js +2 -133
  79. package/dist/server/runtime/http-server/executor/provider-response-converter.js.map +1 -1
  80. package/dist/server/runtime/http-server/executor-metadata.js +29 -5
  81. package/dist/server/runtime/http-server/executor-metadata.js.map +1 -1
  82. package/dist/server/runtime/http-server/executor-response.js +1 -62
  83. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  84. package/dist/server/runtime/http-server/heartbeat-runtime-hooks.d.ts +23 -0
  85. package/dist/server/runtime/http-server/heartbeat-runtime-hooks.js +140 -0
  86. package/dist/server/runtime/http-server/heartbeat-runtime-hooks.js.map +1 -0
  87. package/dist/server/runtime/http-server/http-server-lifecycle.js +2 -0
  88. package/dist/server/runtime/http-server/http-server-lifecycle.js.map +1 -1
  89. package/dist/server/runtime/http-server/http-server-runtime-setup.js +2 -0
  90. package/dist/server/runtime/http-server/http-server-runtime-setup.js.map +1 -1
  91. package/dist/server/runtime/http-server/http-server-session-daemon.d.ts +1 -0
  92. package/dist/server/runtime/http-server/http-server-session-daemon.js +27 -8
  93. package/dist/server/runtime/http-server/http-server-session-daemon.js.map +1 -1
  94. package/dist/server/runtime/http-server/index.d.ts +1 -0
  95. package/dist/server/runtime/http-server/index.js +20 -1
  96. package/dist/server/runtime/http-server/index.js.map +1 -1
  97. package/dist/server/runtime/http-server/request-activity-tracker.d.ts +7 -0
  98. package/dist/server/runtime/http-server/request-activity-tracker.js +58 -0
  99. package/dist/server/runtime/http-server/request-activity-tracker.js.map +1 -0
  100. package/dist/server/runtime/http-server/request-executor.d.ts +7 -0
  101. package/dist/server/runtime/http-server/request-executor.js +529 -473
  102. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  103. package/dist/server/runtime/http-server/session-client-reaper.js +9 -2
  104. package/dist/server/runtime/http-server/session-client-reaper.js.map +1 -1
  105. package/dist/server/runtime/http-server/session-client-registry-utils.d.ts +1 -0
  106. package/dist/server/runtime/http-server/session-client-registry-utils.js +10 -2
  107. package/dist/server/runtime/http-server/session-client-registry-utils.js.map +1 -1
  108. package/dist/server/runtime/http-server/session-client-registry.d.ts +3 -0
  109. package/dist/server/runtime/http-server/session-client-registry.js +26 -0
  110. package/dist/server/runtime/http-server/session-client-registry.js.map +1 -1
  111. package/dist/server/runtime/http-server/session-client-route-utils.js +5 -38
  112. package/dist/server/runtime/http-server/session-client-route-utils.js.map +1 -1
  113. package/dist/server/runtime/http-server/session-client-routes.js +75 -2
  114. package/dist/server/runtime/http-server/session-client-routes.js.map +1 -1
  115. package/dist/server/runtime/http-server/session-storage-cleanup.d.ts +17 -0
  116. package/dist/server/runtime/http-server/session-storage-cleanup.js +251 -0
  117. package/dist/server/runtime/http-server/session-storage-cleanup.js.map +1 -0
  118. package/dist/server/runtime/http-server/tmux-scope-cleanup-policy.d.ts +21 -0
  119. package/dist/server/runtime/http-server/tmux-scope-cleanup-policy.js +59 -0
  120. package/dist/server/runtime/http-server/tmux-scope-cleanup-policy.js.map +1 -0
  121. package/dist/server/runtime/http-server/tmux-session-probe.d.ts +1 -0
  122. package/dist/server/runtime/http-server/tmux-session-probe.js +23 -0
  123. package/dist/server/runtime/http-server/tmux-session-probe.js.map +1 -1
  124. package/dist/server-lifecycle/port-utils.js +38 -7
  125. package/dist/server-lifecycle/port-utils.js.map +1 -1
  126. package/dist/tools/semantic-replay-snapshot-loader.js +2 -2
  127. package/dist/tools/semantic-replay-snapshot-loader.js.map +1 -1
  128. package/dist/utils/snapshot-writer.js +16 -6
  129. package/dist/utils/snapshot-writer.js.map +1 -1
  130. package/docs/CLOCK.md +51 -0
  131. package/docs/INSTRUCTION_MARKUP.md +28 -2
  132. package/docs/session-client-daemon-design.md +92 -0
  133. package/package.json +4 -4
  134. package/scripts/ci/repo-sanity.mjs +35 -31
  135. package/scripts/install-release.sh +1 -1
  136. package/scripts/install-verify.mjs +118 -12
  137. package/scripts/pack-mode.mjs +4 -11
  138. package/scripts/publish-rcc.mjs +3 -3
  139. package/scripts/snapshot-inspect.mjs +5 -24
  140. package/scripts/vendor-core.mjs +6 -23
  141. package/vendor/@jsonstudio/llms/README.md +0 -271
  142. package/vendor/@jsonstudio/llms/dist/bridge/routecodex-adapter.d.ts +0 -74
  143. package/vendor/@jsonstudio/llms/dist/bridge/routecodex-adapter.js +0 -229
  144. package/vendor/@jsonstudio/llms/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
  145. package/vendor/@jsonstudio/llms/dist/config-unified/enhanced-path-resolver.js +0 -46
  146. package/vendor/@jsonstudio/llms/dist/config-unified/unified-config.d.ts +0 -26
  147. package/vendor/@jsonstudio/llms/dist/config-unified/unified-config.js +0 -231
  148. package/vendor/@jsonstudio/llms/dist/conversion/args-mapping.d.ts +0 -18
  149. package/vendor/@jsonstudio/llms/dist/conversion/args-mapping.js +0 -8
  150. package/vendor/@jsonstudio/llms/dist/conversion/bridge-actions.d.ts +0 -39
  151. package/vendor/@jsonstudio/llms/dist/conversion/bridge-actions.js +0 -82
  152. package/vendor/@jsonstudio/llms/dist/conversion/bridge-id-utils.d.ts +0 -9
  153. package/vendor/@jsonstudio/llms/dist/conversion/bridge-id-utils.js +0 -13
  154. package/vendor/@jsonstudio/llms/dist/conversion/bridge-instructions.d.ts +0 -1
  155. package/vendor/@jsonstudio/llms/dist/conversion/bridge-instructions.js +0 -17
  156. package/vendor/@jsonstudio/llms/dist/conversion/bridge-message-utils.d.ts +0 -23
  157. package/vendor/@jsonstudio/llms/dist/conversion/bridge-message-utils.js +0 -45
  158. package/vendor/@jsonstudio/llms/dist/conversion/bridge-metadata.d.ts +0 -2
  159. package/vendor/@jsonstudio/llms/dist/conversion/bridge-metadata.js +0 -5
  160. package/vendor/@jsonstudio/llms/dist/conversion/bridge-policies.d.ts +0 -18
  161. package/vendor/@jsonstudio/llms/dist/conversion/bridge-policies.js +0 -11
  162. package/vendor/@jsonstudio/llms/dist/conversion/codec-registry.d.ts +0 -10
  163. package/vendor/@jsonstudio/llms/dist/conversion/codec-registry.js +0 -37
  164. package/vendor/@jsonstudio/llms/dist/conversion/codecs/anthropic-openai-codec.d.ts +0 -22
  165. package/vendor/@jsonstudio/llms/dist/conversion/codecs/anthropic-openai-codec.js +0 -52
  166. package/vendor/@jsonstudio/llms/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -17
  167. package/vendor/@jsonstudio/llms/dist/conversion/codecs/gemini-openai-codec.js +0 -85
  168. package/vendor/@jsonstudio/llms/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
  169. package/vendor/@jsonstudio/llms/dist/conversion/codecs/openai-openai-codec.js +0 -54
  170. package/vendor/@jsonstudio/llms/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
  171. package/vendor/@jsonstudio/llms/dist/conversion/codecs/responses-openai-codec.js +0 -66
  172. package/vendor/@jsonstudio/llms/dist/conversion/compaction-detect.d.ts +0 -2
  173. package/vendor/@jsonstudio/llms/dist/conversion/compaction-detect.js +0 -4
  174. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-system-prompt.d.ts +0 -4
  175. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-system-prompt.js +0 -42
  176. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-user-id.d.ts +0 -3
  177. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/anthropic-claude-code-user-id.js +0 -30
  178. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-cache.d.ts +0 -3
  179. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-cache.js +0 -8
  180. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-prepare.d.ts +0 -3
  181. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/antigravity-thought-signature-prepare.js +0 -26
  182. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/apply-patch-fixer.d.ts +0 -1
  183. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/apply-patch-fixer.js +0 -30
  184. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/auto-thinking.d.ts +0 -6
  185. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/auto-thinking.js +0 -26
  186. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/claude-thinking-tools.d.ts +0 -2
  187. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/claude-thinking-tools.js +0 -4
  188. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-request.d.ts +0 -3
  189. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-request.js +0 -62
  190. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-response.d.ts +0 -12
  191. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/deepseek-web-response.js +0 -114
  192. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/field-mapping.d.ts +0 -14
  193. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/field-mapping.js +0 -155
  194. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-cli-request.d.ts +0 -5
  195. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-cli-request.js +0 -27
  196. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-web-search.d.ts +0 -3
  197. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/gemini-web-search.js +0 -24
  198. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-history-image-trim.d.ts +0 -2
  199. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-history-image-trim.js +0 -54
  200. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-image-content.d.ts +0 -2
  201. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-image-content.js +0 -54
  202. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-native-compat.d.ts +0 -6
  203. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-native-compat.js +0 -34
  204. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-tool-extraction.d.ts +0 -3
  205. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-tool-extraction.js +0 -35
  206. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-vision-prompt.d.ts +0 -11
  207. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-vision-prompt.js +0 -104
  208. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-web-search.d.ts +0 -2
  209. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/glm-web-search.js +0 -30
  210. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/harvest-tool-calls-from-text.d.ts +0 -15
  211. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/harvest-tool-calls-from-text.js +0 -124
  212. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-cli-defaults.d.ts +0 -10
  213. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-cli-defaults.js +0 -31
  214. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-history-media-placeholder.d.ts +0 -7
  215. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-history-media-placeholder.js +0 -25
  216. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-thinking-reasoning-fill.d.ts +0 -12
  217. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-kimi-thinking-reasoning-fill.js +0 -46
  218. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-native-compat.d.ts +0 -6
  219. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-native-compat.js +0 -36
  220. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-response-body-unwrap.d.ts +0 -9
  221. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-response-body-unwrap.js +0 -25
  222. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-tool-text-fallback.d.ts +0 -5
  223. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-tool-text-fallback.js +0 -29
  224. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-web-search.d.ts +0 -18
  225. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/iflow-web-search.js +0 -49
  226. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/index.d.ts +0 -2
  227. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/index.js +0 -2
  228. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-fc-ids.d.ts +0 -2
  229. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-fc-ids.js +0 -4
  230. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-input-stringify.d.ts +0 -14
  231. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/lmstudio-responses-input-stringify.js +0 -125
  232. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/normalize-tool-call-ids.d.ts +0 -2
  233. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/normalize-tool-call-ids.js +0 -10
  234. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/qwen-transform.d.ts +0 -4
  235. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/qwen-transform.js +0 -40
  236. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/request-rules.d.ts +0 -24
  237. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/request-rules.js +0 -4
  238. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-blacklist.d.ts +0 -10
  239. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-blacklist.js +0 -10
  240. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-normalize.d.ts +0 -5
  241. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-normalize.js +0 -4
  242. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-validate.d.ts +0 -5
  243. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/response-validate.js +0 -4
  244. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/snapshot.d.ts +0 -8
  245. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/snapshot.js +0 -21
  246. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/strip-orphan-function-calls-tag.d.ts +0 -2
  247. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/strip-orphan-function-calls-tag.js +0 -4
  248. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-schema.d.ts +0 -6
  249. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-schema.js +0 -91
  250. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-text-request-guidance.d.ts +0 -9
  251. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/tool-text-request-guidance.js +0 -7
  252. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/universal-shape-filter.d.ts +0 -57
  253. package/vendor/@jsonstudio/llms/dist/conversion/compat/actions/universal-shape-filter.js +0 -14
  254. package/vendor/@jsonstudio/llms/dist/conversion/compat/antigravity-session-signature.d.ts +0 -86
  255. package/vendor/@jsonstudio/llms/dist/conversion/compat/antigravity-session-signature.js +0 -1143
  256. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/anthropic-claude-code.json +0 -17
  257. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-claude-code.json +0 -18
  258. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-deepseek-web.json +0 -47
  259. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-gemini-cli.json +0 -23
  260. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-gemini.json +0 -31
  261. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-glm.json +0 -405
  262. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-iflow.json +0 -353
  263. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-lmstudio.json +0 -80
  264. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/chat-qwen.json +0 -22
  265. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/responses-c4m.json +0 -45
  266. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/responses-crs.json +0 -15
  267. package/vendor/@jsonstudio/llms/dist/conversion/compat/profiles/responses-output2choices-test.json +0 -12
  268. package/vendor/@jsonstudio/llms/dist/conversion/config/config-manager.d.ts +0 -212
  269. package/vendor/@jsonstudio/llms/dist/conversion/config/config-manager.js +0 -310
  270. package/vendor/@jsonstudio/llms/dist/conversion/config/sample-config.json +0 -314
  271. package/vendor/@jsonstudio/llms/dist/conversion/config/version-switch.json +0 -150
  272. package/vendor/@jsonstudio/llms/dist/conversion/hub/config/types.d.ts +0 -26
  273. package/vendor/@jsonstudio/llms/dist/conversion/hub/config/types.js +0 -1
  274. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/detour-registry.d.ts +0 -11
  275. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/detour-registry.js +0 -23
  276. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/hub-context.d.ts +0 -23
  277. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/hub-context.js +0 -1
  278. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/index.d.ts +0 -4
  279. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/index.js +0 -3
  280. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/stage-driver.d.ts +0 -30
  281. package/vendor/@jsonstudio/llms/dist/conversion/hub/core/stage-driver.js +0 -33
  282. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
  283. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/anthropic-format-adapter.js +0 -42
  284. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
  285. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/chat-format-adapter.js +0 -42
  286. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
  287. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/gemini-format-adapter.js +0 -42
  288. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/index.d.ts +0 -21
  289. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/index.js +0 -4
  290. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +0 -19
  291. package/vendor/@jsonstudio/llms/dist/conversion/hub/format-adapters/responses-format-adapter.js +0 -42
  292. package/vendor/@jsonstudio/llms/dist/conversion/hub/hub-feature.d.ts +0 -1
  293. package/vendor/@jsonstudio/llms/dist/conversion/hub/hub-feature.js +0 -26
  294. package/vendor/@jsonstudio/llms/dist/conversion/hub/node-support.d.ts +0 -19
  295. package/vendor/@jsonstudio/llms/dist/conversion/hub/node-support.js +0 -136
  296. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/operation-table-runner.d.ts +0 -18
  297. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/operation-table-runner.js +0 -162
  298. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/anthropic-mapper.d.ts +0 -8
  299. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/anthropic-mapper.js +0 -503
  300. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/archive/chat-mapper.archive.d.ts +0 -8
  301. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/archive/chat-mapper.archive.js +0 -409
  302. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/chat-mapper.d.ts +0 -8
  303. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/chat-mapper.js +0 -350
  304. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/gemini-mapper.d.ts +0 -7
  305. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/gemini-mapper.js +0 -1540
  306. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/responses-mapper.d.ts +0 -21
  307. package/vendor/@jsonstudio/llms/dist/conversion/hub/operation-table/semantic-mappers/responses-mapper.js +0 -491
  308. package/vendor/@jsonstudio/llms/dist/conversion/hub/ops/operations.d.ts +0 -19
  309. package/vendor/@jsonstudio/llms/dist/conversion/hub/ops/operations.js +0 -7
  310. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-engine.d.ts +0 -9
  311. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-engine.js +0 -13
  312. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-pipeline-executor.d.ts +0 -9
  313. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-pipeline-executor.js +0 -46
  314. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-resolver.d.ts +0 -2
  315. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-resolver.js +0 -14
  316. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-store.d.ts +0 -2
  317. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-profile-store.js +0 -94
  318. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-types.d.ts +0 -175
  319. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/compat-types.js +0 -1
  320. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/native-adapter-context.d.ts +0 -3
  321. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/compat/native-adapter-context.js +0 -40
  322. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -111
  323. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-pipeline.js +0 -1927
  324. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-stage-timing.d.ts +0 -8
  325. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/hub-stage-timing.js +0 -211
  326. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/session-identifiers.d.ts +0 -9
  327. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/session-identifiers.js +0 -16
  328. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage1_format_parse/index.d.ts +0 -10
  329. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage1_format_parse/index.js +0 -236
  330. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.d.ts +0 -24
  331. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.js +0 -132
  332. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/semantic-lift.d.ts +0 -14
  333. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/semantic-lift.js +0 -24
  334. 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 +0 -2
  335. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/archive/shell-like-tool-call-normalization-fallback.js +0 -157
  336. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-capture-orchestration.d.ts +0 -16
  337. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-capture-orchestration.js +0 -29
  338. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-factories.d.ts +0 -5
  339. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-factories.js +0 -19
  340. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/index.d.ts +0 -6
  341. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/index.js +0 -22
  342. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/responses-context-snapshot.d.ts +0 -8
  343. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/responses-context-snapshot.js +0 -28
  344. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-diagnostics.d.ts +0 -2
  345. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-diagnostics.js +0 -4
  346. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-snapshot.d.ts +0 -10
  347. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-snapshot.js +0 -12
  348. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/context-merge.d.ts +0 -3
  349. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/context-merge.js +0 -30
  350. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/index.d.ts +0 -18
  351. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/index.js +0 -84
  352. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage2_format_build/index.d.ts +0 -8
  353. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage2_format_build/index.js +0 -12
  354. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage3_compat/index.d.ts +0 -14
  355. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage3_compat/index.js +0 -45
  356. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage1_tool_governance/index.d.ts +0 -16
  357. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage1_tool_governance/index.js +0 -62
  358. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage2_route_select/index.d.ts +0 -17
  359. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/req_process/req_process_stage2_route_select/index.js +0 -35
  360. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/index.d.ts +0 -17
  361. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/index.js +0 -243
  362. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/stream-json-sniffer.d.ts +0 -3
  363. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/stream-json-sniffer.js +0 -81
  364. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage2_format_parse/index.d.ts +0 -10
  365. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage2_format_parse/index.js +0 -50
  366. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage3_semantic_map/index.d.ts +0 -13
  367. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage3_semantic_map/index.js +0 -25
  368. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/chat-process-semantics-bridge.d.ts +0 -6
  369. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/chat-process-semantics-bridge.js +0 -17
  370. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/client-remap-protocol-switch.d.ts +0 -9
  371. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/client-remap-protocol-switch.js +0 -103
  372. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/index.d.ts +0 -13
  373. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/index.js +0 -30
  374. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage2_sse_stream/index.d.ts +0 -17
  375. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage2_sse_stream/index.js +0 -35
  376. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.d.ts +0 -16
  377. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.js +0 -52
  378. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage2_finalize/index.d.ts +0 -19
  379. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage2_finalize/index.js +0 -40
  380. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage3_servertool_orchestration/index.d.ts +0 -44
  381. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage3_servertool_orchestration/index.js +0 -88
  382. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/utils.d.ts +0 -2
  383. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/stages/utils.js +0 -27
  384. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/target-utils.d.ts +0 -5
  385. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipeline/target-utils.js +0 -26
  386. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
  387. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/inbound.js +0 -66
  388. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
  389. package/vendor/@jsonstudio/llms/dist/conversion/hub/pipelines/outbound.js +0 -59
  390. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/policy-engine.d.ts +0 -48
  391. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/policy-engine.js +0 -269
  392. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/protocol-spec.d.ts +0 -75
  393. package/vendor/@jsonstudio/llms/dist/conversion/hub/policy/protocol-spec.js +0 -27
  394. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-anthropic-alias.d.ts +0 -2
  395. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-anthropic-alias.js +0 -36
  396. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directive-parser.d.ts +0 -5
  397. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directive-parser.js +0 -56
  398. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directives.d.ts +0 -24
  399. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-directives.js +0 -98
  400. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-directives.d.ts +0 -8
  401. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-directives.js +0 -42
  402. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-finalize.d.ts +0 -14
  403. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-finalize.js +0 -10
  404. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-messages.d.ts +0 -5
  405. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-messages.js +0 -10
  406. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-orchestration.d.ts +0 -30
  407. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-orchestration.js +0 -68
  408. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-time-tag.d.ts +0 -9
  409. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminder-time-tag.js +0 -18
  410. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminders.d.ts +0 -2
  411. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-reminders.js +0 -104
  412. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tool-schemas.d.ts +0 -3
  413. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tool-schemas.js +0 -258
  414. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tools.d.ts +0 -6
  415. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-clock-tools.js +0 -41
  416. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-continue-execution.d.ts +0 -11
  417. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-continue-execution.js +0 -83
  418. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-context.d.ts +0 -15
  419. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-context.js +0 -7
  420. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-finalize.d.ts +0 -16
  421. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-finalize.js +0 -11
  422. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-orchestration.d.ts +0 -9
  423. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governance-orchestration.js +0 -49
  424. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-control-ops.d.ts +0 -8
  425. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-control-ops.js +0 -5
  426. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-filter-call.d.ts +0 -12
  427. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-filter-call.js +0 -18
  428. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-merge.d.ts +0 -8
  429. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-governed-merge.js +0 -11
  430. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-media.d.ts +0 -5
  431. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-media.js +0 -108
  432. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-node-result.d.ts +0 -23
  433. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-node-result.js +0 -24
  434. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-pending-tool-sync.d.ts +0 -14
  435. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-pending-tool-sync.js +0 -52
  436. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-post-governed-normalization.d.ts +0 -8
  437. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-post-governed-normalization.js +0 -16
  438. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-review.d.ts +0 -2
  439. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-review.js +0 -8
  440. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-servertool-orchestration.d.ts +0 -8
  441. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-servertool-orchestration.js +0 -22
  442. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-session-usage.d.ts +0 -7
  443. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-session-usage.js +0 -147
  444. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-tool-normalization.d.ts +0 -2
  445. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-tool-normalization.js +0 -4
  446. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-intent.d.ts +0 -12
  447. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-intent.js +0 -13
  448. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-tool-schema.d.ts +0 -3
  449. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search-tool-schema.js +0 -4
  450. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search.d.ts +0 -8
  451. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process-web-search.js +0 -26
  452. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process.d.ts +0 -15
  453. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/chat-process.js +0 -27
  454. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/client-inject-readiness.d.ts +0 -1
  455. package/vendor/@jsonstudio/llms/dist/conversion/hub/process/client-inject-readiness.js +0 -4
  456. package/vendor/@jsonstudio/llms/dist/conversion/hub/registry.d.ts +0 -28
  457. package/vendor/@jsonstudio/llms/dist/conversion/hub/registry.js +0 -101
  458. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
  459. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/chat-response-utils.js +0 -8
  460. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/provider-response.d.ts +0 -51
  461. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/provider-response.js +0 -529
  462. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-mappers.d.ts +0 -24
  463. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-mappers.js +0 -73
  464. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-runtime.d.ts +0 -9
  465. package/vendor/@jsonstudio/llms/dist/conversion/hub/response/response-runtime.js +0 -758
  466. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -2
  467. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/anthropic-mapper.js +0 -2
  468. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -2
  469. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/chat-mapper.js +0 -2
  470. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -2
  471. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/gemini-mapper.js +0 -2
  472. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
  473. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/index.js +0 -4
  474. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -2
  475. package/vendor/@jsonstudio/llms/dist/conversion/hub/semantic-mappers/responses-mapper.js +0 -2
  476. package/vendor/@jsonstudio/llms/dist/conversion/hub/snapshot-recorder.d.ts +0 -13
  477. package/vendor/@jsonstudio/llms/dist/conversion/hub/snapshot-recorder.js +0 -38
  478. package/vendor/@jsonstudio/llms/dist/conversion/hub/standardized-bridge.d.ts +0 -12
  479. package/vendor/@jsonstudio/llms/dist/conversion/hub/standardized-bridge.js +0 -16
  480. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/engine.d.ts +0 -24
  481. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/engine.js +0 -118
  482. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/index.d.ts +0 -3
  483. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/index.js +0 -2
  484. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/rules.d.ts +0 -2
  485. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/rules.js +0 -80
  486. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/types.d.ts +0 -38
  487. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-governance/types.js +0 -1
  488. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-session-compat.d.ts +0 -26
  489. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-session-compat.js +0 -86
  490. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-surface/tool-surface-engine.d.ts +0 -18
  491. package/vendor/@jsonstudio/llms/dist/conversion/hub/tool-surface/tool-surface-engine.js +0 -574
  492. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-envelope.d.ts +0 -79
  493. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-envelope.js +0 -1
  494. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-schema.d.ts +0 -112
  495. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/chat-schema.js +0 -1
  496. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/errors.d.ts +0 -5
  497. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/errors.js +0 -13
  498. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/format-envelope.d.ts +0 -7
  499. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/format-envelope.js +0 -1
  500. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/index.d.ts +0 -6
  501. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/index.js +0 -6
  502. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/json.d.ts +0 -9
  503. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/json.js +0 -9
  504. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/node.d.ts +0 -31
  505. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/node.js +0 -1
  506. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/standardized.d.ts +0 -99
  507. package/vendor/@jsonstudio/llms/dist/conversion/hub/types/standardized.js +0 -1
  508. package/vendor/@jsonstudio/llms/dist/conversion/index.d.ts +0 -33
  509. package/vendor/@jsonstudio/llms/dist/conversion/index.js +0 -33
  510. package/vendor/@jsonstudio/llms/dist/conversion/jsonish.d.ts +0 -3
  511. package/vendor/@jsonstudio/llms/dist/conversion/jsonish.js +0 -20
  512. package/vendor/@jsonstudio/llms/dist/conversion/mcp-injection.d.ts +0 -2
  513. package/vendor/@jsonstudio/llms/dist/conversion/mcp-injection.js +0 -7
  514. package/vendor/@jsonstudio/llms/dist/conversion/media.d.ts +0 -1
  515. package/vendor/@jsonstudio/llms/dist/conversion/media.js +0 -4
  516. package/vendor/@jsonstudio/llms/dist/conversion/metadata-passthrough.d.ts +0 -11
  517. package/vendor/@jsonstudio/llms/dist/conversion/metadata-passthrough.js +0 -20
  518. package/vendor/@jsonstudio/llms/dist/conversion/payload-budget.d.ts +0 -13
  519. package/vendor/@jsonstudio/llms/dist/conversion/payload-budget.js +0 -47
  520. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/anthropic-openai-pipeline.d.ts +0 -11
  521. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/anthropic-openai-pipeline.js +0 -104
  522. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/openai-openai-pipeline.d.ts +0 -15
  523. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/openai-openai-pipeline.js +0 -176
  524. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/responses-openai-pipeline.d.ts +0 -12
  525. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/responses-openai-pipeline.js +0 -212
  526. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/shared/openai-chat-helpers.d.ts +0 -13
  527. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/codecs/v2/shared/openai-chat-helpers.js +0 -34
  528. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/adapter-context.d.ts +0 -7
  529. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/adapter-context.js +0 -18
  530. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/protocol-hooks.d.ts +0 -67
  531. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/hooks/protocol-hooks.js +0 -1
  532. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/index.d.ts +0 -35
  533. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/index.js +0 -103
  534. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/meta/meta-bag.d.ts +0 -20
  535. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/meta/meta-bag.js +0 -81
  536. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/canonical-chat.d.ts +0 -18
  537. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/canonical-chat.js +0 -1
  538. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/index.d.ts +0 -1
  539. package/vendor/@jsonstudio/llms/dist/conversion/pipeline/schema/index.js +0 -1
  540. package/vendor/@jsonstudio/llms/dist/conversion/protocol-field-allowlists.d.ts +0 -7
  541. package/vendor/@jsonstudio/llms/dist/conversion/protocol-field-allowlists.js +0 -9
  542. package/vendor/@jsonstudio/llms/dist/conversion/protocol-state.d.ts +0 -4
  543. package/vendor/@jsonstudio/llms/dist/conversion/protocol-state.js +0 -27
  544. package/vendor/@jsonstudio/llms/dist/conversion/provider-protocol-error.d.ts +0 -17
  545. package/vendor/@jsonstudio/llms/dist/conversion/provider-protocol-error.js +0 -25
  546. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-host-policy.d.ts +0 -6
  547. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-host-policy.js +0 -4
  548. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/response-payload.d.ts +0 -3
  549. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/response-payload.js +0 -190
  550. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/types.d.ts +0 -35
  551. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge/types.js +0 -1
  552. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge.d.ts +0 -15
  553. package/vendor/@jsonstudio/llms/dist/conversion/responses/responses-openai-bridge.js +0 -475
  554. package/vendor/@jsonstudio/llms/dist/conversion/runtime-metadata.d.ts +0 -7
  555. package/vendor/@jsonstudio/llms/dist/conversion/runtime-metadata.js +0 -31
  556. package/vendor/@jsonstudio/llms/dist/conversion/schema-validator.d.ts +0 -7
  557. package/vendor/@jsonstudio/llms/dist/conversion/schema-validator.js +0 -67
  558. package/vendor/@jsonstudio/llms/dist/conversion/shared/anthropic-message-utils.d.ts +0 -22
  559. package/vendor/@jsonstudio/llms/dist/conversion/shared/anthropic-message-utils.js +0 -1416
  560. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-envelope-validator.d.ts +0 -8
  561. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-envelope-validator.js +0 -4
  562. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-output-normalizer.d.ts +0 -4
  563. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-output-normalizer.js +0 -10
  564. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-request-filters.d.ts +0 -8
  565. package/vendor/@jsonstudio/llms/dist/conversion/shared/chat-request-filters.js +0 -63
  566. package/vendor/@jsonstudio/llms/dist/conversion/shared/gemini-tool-utils.d.ts +0 -7
  567. package/vendor/@jsonstudio/llms/dist/conversion/shared/gemini-tool-utils.js +0 -20
  568. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-finalizer.d.ts +0 -8
  569. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-finalizer.js +0 -22
  570. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
  571. package/vendor/@jsonstudio/llms/dist/conversion/shared/openai-message-normalize.js +0 -151
  572. package/vendor/@jsonstudio/llms/dist/conversion/shared/output-content-normalizer.d.ts +0 -12
  573. package/vendor/@jsonstudio/llms/dist/conversion/shared/output-content-normalizer.js +0 -26
  574. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
  575. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-mapping.js +0 -7
  576. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-normalizer.d.ts +0 -25
  577. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-normalizer.js +0 -114
  578. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-normalizer.d.ts +0 -12
  579. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-normalizer.js +0 -22
  580. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-parser.d.ts +0 -10
  581. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-tool-parser.js +0 -11
  582. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-utils.d.ts +0 -2
  583. package/vendor/@jsonstudio/llms/dist/conversion/shared/reasoning-utils.js +0 -19
  584. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-conversation-store.d.ts +0 -35
  585. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-conversation-store.js +0 -195
  586. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-output-builder.d.ts +0 -13
  587. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-output-builder.js +0 -32
  588. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-reasoning-registry.d.ts +0 -24
  589. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-reasoning-registry.js +0 -185
  590. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-request-adapter.d.ts +0 -7
  591. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-request-adapter.js +0 -14
  592. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-response-utils.d.ts +0 -3
  593. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-response-utils.js +0 -254
  594. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-tool-utils.d.ts +0 -14
  595. package/vendor/@jsonstudio/llms/dist/conversion/shared/responses-tool-utils.js +0 -102
  596. package/vendor/@jsonstudio/llms/dist/conversion/shared/streaming-text-extractor.d.ts +0 -19
  597. package/vendor/@jsonstudio/llms/dist/conversion/shared/streaming-text-extractor.js +0 -39
  598. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer/normalize.d.ts +0 -2
  599. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer/normalize.js +0 -116
  600. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer.d.ts +0 -4
  601. package/vendor/@jsonstudio/llms/dist/conversion/shared/text-markup-normalizer.js +0 -3
  602. package/vendor/@jsonstudio/llms/dist/conversion/shared/thought-signature-validator.d.ts +0 -52
  603. package/vendor/@jsonstudio/llms/dist/conversion/shared/thought-signature-validator.js +0 -58
  604. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-argument-repairer.d.ts +0 -39
  605. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-argument-repairer.js +0 -53
  606. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-id-manager.d.ts +0 -109
  607. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-id-manager.js +0 -202
  608. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-utils.d.ts +0 -11
  609. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-call-utils.js +0 -14
  610. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -21
  611. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-filter-pipeline.js +0 -171
  612. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-governor.d.ts +0 -29
  613. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-governor.js +0 -694
  614. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-harvester.d.ts +0 -31
  615. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-harvester.js +0 -23
  616. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-mapping.d.ts +0 -19
  617. package/vendor/@jsonstudio/llms/dist/conversion/shared/tool-mapping.js +0 -65
  618. package/vendor/@jsonstudio/llms/dist/conversion/shared/tooling.d.ts +0 -29
  619. package/vendor/@jsonstudio/llms/dist/conversion/shared/tooling.js +0 -57
  620. package/vendor/@jsonstudio/llms/dist/conversion/snapshot-utils.d.ts +0 -31
  621. package/vendor/@jsonstudio/llms/dist/conversion/snapshot-utils.js +0 -49
  622. package/vendor/@jsonstudio/llms/dist/conversion/types/bridge-message-types.d.ts +0 -41
  623. package/vendor/@jsonstudio/llms/dist/conversion/types/bridge-message-types.js +0 -1
  624. package/vendor/@jsonstudio/llms/dist/conversion/types/text-markup-normalizer.d.ts +0 -13
  625. package/vendor/@jsonstudio/llms/dist/conversion/types/text-markup-normalizer.js +0 -1
  626. package/vendor/@jsonstudio/llms/dist/conversion/types.d.ts +0 -33
  627. package/vendor/@jsonstudio/llms/dist/conversion/types.js +0 -1
  628. package/vendor/@jsonstudio/llms/dist/filters/builtin/add-fields-filter.d.ts +0 -8
  629. package/vendor/@jsonstudio/llms/dist/filters/builtin/add-fields-filter.js +0 -16
  630. package/vendor/@jsonstudio/llms/dist/filters/builtin/blacklist-filter.d.ts +0 -8
  631. package/vendor/@jsonstudio/llms/dist/filters/builtin/blacklist-filter.js +0 -19
  632. package/vendor/@jsonstudio/llms/dist/filters/builtin/whitelist-filter.d.ts +0 -8
  633. package/vendor/@jsonstudio/llms/dist/filters/builtin/whitelist-filter.js +0 -19
  634. package/vendor/@jsonstudio/llms/dist/filters/config/openai-openai.fieldmap.json +0 -18
  635. package/vendor/@jsonstudio/llms/dist/filters/engine.d.ts +0 -16
  636. package/vendor/@jsonstudio/llms/dist/filters/engine.js +0 -167
  637. package/vendor/@jsonstudio/llms/dist/filters/index.d.ts +0 -18
  638. package/vendor/@jsonstudio/llms/dist/filters/index.js +0 -22
  639. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
  640. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-choice-policy.js +0 -29
  641. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-list-filter.d.ts +0 -11
  642. package/vendor/@jsonstudio/llms/dist/filters/special/request-tool-list-filter.js +0 -322
  643. package/vendor/@jsonstudio/llms/dist/filters/special/request-toolcalls-stringify.d.ts +0 -13
  644. package/vendor/@jsonstudio/llms/dist/filters/special/request-toolcalls-stringify.js +0 -94
  645. package/vendor/@jsonstudio/llms/dist/filters/special/request-tools-normalize.d.ts +0 -11
  646. package/vendor/@jsonstudio/llms/dist/filters/special/request-tools-normalize.js +0 -114
  647. package/vendor/@jsonstudio/llms/dist/filters/special/response-finish-invariants.d.ts +0 -11
  648. package/vendor/@jsonstudio/llms/dist/filters/special/response-finish-invariants.js +0 -30
  649. package/vendor/@jsonstudio/llms/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
  650. package/vendor/@jsonstudio/llms/dist/filters/special/response-openai-to-responses-bridge.js +0 -24
  651. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
  652. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-blacklist.js +0 -63
  653. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
  654. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-schema-converge.js +0 -63
  655. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
  656. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-stringify.js +0 -132
  657. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
  658. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-arguments-whitelist.js +0 -56
  659. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -13
  660. package/vendor/@jsonstudio/llms/dist/filters/special/response-tool-text-canonicalize.js +0 -16
  661. package/vendor/@jsonstudio/llms/dist/filters/special/tool-filter-hooks.d.ts +0 -19
  662. package/vendor/@jsonstudio/llms/dist/filters/special/tool-filter-hooks.js +0 -394
  663. package/vendor/@jsonstudio/llms/dist/filters/special/tool-post-constraints.d.ts +0 -31
  664. package/vendor/@jsonstudio/llms/dist/filters/special/tool-post-constraints.js +0 -120
  665. package/vendor/@jsonstudio/llms/dist/filters/types.d.ts +0 -68
  666. package/vendor/@jsonstudio/llms/dist/filters/types.js +0 -3
  667. package/vendor/@jsonstudio/llms/dist/filters/utils/fieldmap-loader.d.ts +0 -2
  668. package/vendor/@jsonstudio/llms/dist/filters/utils/fieldmap-loader.js +0 -16
  669. package/vendor/@jsonstudio/llms/dist/filters/utils/snapshot-writer.d.ts +0 -10
  670. package/vendor/@jsonstudio/llms/dist/filters/utils/snapshot-writer.js +0 -85
  671. package/vendor/@jsonstudio/llms/dist/guidance/index.d.ts +0 -3
  672. package/vendor/@jsonstudio/llms/dist/guidance/index.js +0 -299
  673. package/vendor/@jsonstudio/llms/dist/http/sse-response.d.ts +0 -22
  674. package/vendor/@jsonstudio/llms/dist/http/sse-response.js +0 -103
  675. package/vendor/@jsonstudio/llms/dist/index.d.ts +0 -11
  676. package/vendor/@jsonstudio/llms/dist/index.js +0 -11
  677. package/vendor/@jsonstudio/llms/dist/native/router_hotpath_napi.node +0 -0
  678. package/vendor/@jsonstudio/llms/dist/quota/apikey-reset.d.ts +0 -17
  679. package/vendor/@jsonstudio/llms/dist/quota/apikey-reset.js +0 -43
  680. package/vendor/@jsonstudio/llms/dist/quota/index.d.ts +0 -2
  681. package/vendor/@jsonstudio/llms/dist/quota/index.js +0 -1
  682. package/vendor/@jsonstudio/llms/dist/quota/quota-manager.d.ts +0 -44
  683. package/vendor/@jsonstudio/llms/dist/quota/quota-manager.js +0 -463
  684. package/vendor/@jsonstudio/llms/dist/quota/quota-state.d.ts +0 -6
  685. package/vendor/@jsonstudio/llms/dist/quota/quota-state.js +0 -191
  686. package/vendor/@jsonstudio/llms/dist/quota/types.d.ts +0 -62
  687. package/vendor/@jsonstudio/llms/dist/quota/types.js +0 -1
  688. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/auth-utils.d.ts +0 -6
  689. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/auth-utils.js +0 -288
  690. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/claude-code-helpers.d.ts +0 -11
  691. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/claude-code-helpers.js +0 -18
  692. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-defaults.d.ts +0 -5
  693. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-defaults.js +0 -13
  694. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-normalizers.d.ts +0 -4
  695. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/config-normalizers.js +0 -106
  696. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/profile-builder.d.ts +0 -8
  697. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/profile-builder.js +0 -87
  698. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/provider-normalization.d.ts +0 -44
  699. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/provider-normalization.js +0 -272
  700. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/responses-helpers.d.ts +0 -15
  701. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/responses-helpers.js +0 -65
  702. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/routing-config.d.ts +0 -24
  703. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/routing-config.js +0 -346
  704. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/streaming-helpers.d.ts +0 -19
  705. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/streaming-helpers.js +0 -172
  706. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/utils.d.ts +0 -5
  707. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/utils.js +0 -41
  708. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/web-search-config.d.ts +0 -4
  709. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap/web-search-config.js +0 -156
  710. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap.d.ts +0 -2
  711. package/vendor/@jsonstudio/llms/dist/router/virtual-router/bootstrap.js +0 -329
  712. package/vendor/@jsonstudio/llms/dist/router/virtual-router/classifier.d.ts +0 -10
  713. package/vendor/@jsonstudio/llms/dist/router/virtual-router/classifier.js +0 -187
  714. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-advisor.d.ts +0 -23
  715. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-advisor.js +0 -67
  716. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-weighted.d.ts +0 -31
  717. package/vendor/@jsonstudio/llms/dist/router/virtual-router/context-weighted.js +0 -54
  718. package/vendor/@jsonstudio/llms/dist/router/virtual-router/default-thinking-keywords.d.ts +0 -1
  719. package/vendor/@jsonstudio/llms/dist/router/virtual-router/default-thinking-keywords.js +0 -13
  720. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/antigravity/alias-lease.d.ts +0 -33
  721. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/antigravity/alias-lease.js +0 -257
  722. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/cooldown-manager.d.ts +0 -34
  723. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/cooldown-manager.js +0 -118
  724. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/health/index.d.ts +0 -23
  725. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/health/index.js +0 -724
  726. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/provider-key/parse.d.ts +0 -1
  727. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/provider-key/parse.js +0 -1
  728. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/route-analytics.d.ts +0 -28
  729. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/route-analytics.js +0 -44
  730. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-pools/index.d.ts +0 -13
  731. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-pools/index.js +0 -386
  732. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/keys.d.ts +0 -3
  733. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/keys.js +0 -30
  734. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/metadata.d.ts +0 -6
  735. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/metadata.js +0 -132
  736. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/store.d.ts +0 -10
  737. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/routing-state/store.js +0 -156
  738. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/sticky-session-manager.d.ts +0 -29
  739. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine/sticky-session-manager.js +0 -55
  740. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-health.d.ts +0 -1
  741. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-health.js +0 -1
  742. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/config.d.ts +0 -11
  743. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/config.js +0 -108
  744. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/direct-model.d.ts +0 -10
  745. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/direct-model.js +0 -38
  746. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/health.d.ts +0 -13
  747. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/health.js +0 -104
  748. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/helpers.d.ts +0 -16
  749. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/helpers.js +0 -226
  750. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/route-utils.d.ts +0 -19
  751. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/route-utils.js +0 -212
  752. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-core.d.ts +0 -28
  753. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-core.js +0 -112
  754. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-state.d.ts +0 -16
  755. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/selection-state.js +0 -187
  756. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/state-accessors.d.ts +0 -21
  757. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy/state-accessors.js +0 -118
  758. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy.d.ts +0 -123
  759. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-legacy.js +0 -245
  760. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-logging.d.ts +0 -67
  761. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-logging.js +0 -356
  762. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/alias-selection.d.ts +0 -15
  763. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/alias-selection.js +0 -118
  764. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/context-weight-multipliers.d.ts +0 -11
  765. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/context-weight-multipliers.js +0 -23
  766. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/direct-provider-model.d.ts +0 -9
  767. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/direct-provider-model.js +0 -49
  768. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/instruction-target.d.ts +0 -6
  769. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/instruction-target.js +0 -54
  770. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/key-parsing.d.ts +0 -8
  771. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/key-parsing.js +0 -47
  772. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/multimodal-capability.d.ts +0 -3
  773. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/multimodal-capability.js +0 -26
  774. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-directive-parser.d.ts +0 -24
  775. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-directive-parser.js +0 -209
  776. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-directives.d.ts +0 -7
  777. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-directives.js +0 -121
  778. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-orchestration-semantics.d.ts +0 -10
  779. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-orchestration-semantics.js +0 -110
  780. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-semantics.d.ts +0 -8
  781. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-semantics.js +0 -281
  782. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-time-tag-semantics.d.ts +0 -1
  783. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-time-tag-semantics.js +0 -25
  784. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminders-semantics.d.ts +0 -4
  785. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminders-semantics.js +0 -44
  786. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-tool-schema-semantics.d.ts +0 -2
  787. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-clock-tool-schema-semantics.js +0 -62
  788. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governance-semantics.d.ts +0 -49
  789. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governance-semantics.js +0 -552
  790. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governed-filter-semantics.d.ts +0 -9
  791. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-governed-filter-semantics.js +0 -64
  792. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-node-result-semantics.d.ts +0 -5
  793. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-node-result-semantics.js +0 -163
  794. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-post-governed-normalization-semantics.d.ts +0 -1
  795. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-post-governed-normalization-semantics.js +0 -49
  796. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-servertool-orchestration-semantics.d.ts +0 -30
  797. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-servertool-orchestration-semantics.js +0 -446
  798. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-web-search-intent-semantics.d.ts +0 -1
  799. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-process-web-search-intent-semantics.js +0 -49
  800. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-request-filter-semantics.d.ts +0 -1
  801. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-chat-request-filter-semantics.js +0 -54
  802. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-compat-action-semantics.d.ts +0 -22
  803. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-compat-action-semantics.js +0 -559
  804. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-deepseek-web-compat.d.ts +0 -17
  805. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-deepseek-web-compat.js +0 -26
  806. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-action-semantics.d.ts +0 -276
  807. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-action-semantics.js +0 -1291
  808. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-policy-semantics.d.ts +0 -72
  809. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-bridge-policy-semantics.js +0 -405
  810. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-edge-stage-semantics.d.ts +0 -18
  811. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-edge-stage-semantics.js +0 -333
  812. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-governance-semantics.d.ts +0 -30
  813. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-governance-semantics.js +0 -202
  814. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-inbound-outbound-semantics.d.ts +0 -22
  815. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-inbound-outbound-semantics.js +0 -426
  816. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.d.ts +0 -57
  817. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.js +0 -705
  818. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.d.ts +0 -53
  819. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.js +0 -598
  820. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-outbound-semantics.d.ts +0 -147
  821. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-outbound-semantics.js +0 -570
  822. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-process-semantics.d.ts +0 -26
  823. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-process-semantics.js +0 -148
  824. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.d.ts +0 -46
  825. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.js +0 -755
  826. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-semantic-mappers.d.ts +0 -2
  827. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-semantic-mappers.js +0 -83
  828. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-session-identifiers-semantics.d.ts +0 -11
  829. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-session-identifiers-semantics.js +0 -207
  830. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-target-semantics.d.ts +0 -3
  831. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-hub-pipeline-target-semantics.js +0 -128
  832. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-analysis.d.ts +0 -57
  833. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-analysis.js +0 -217
  834. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-loader.d.ts +0 -5
  835. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-loader.js +0 -464
  836. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-policy.d.ts +0 -5
  837. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-policy.js +0 -18
  838. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-quota-buckets.d.ts +0 -25
  839. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath-quota-buckets.js +0 -85
  840. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath.d.ts +0 -59
  841. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-router-hotpath.js +0 -117
  842. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-shared-conversion-semantics.d.ts +0 -243
  843. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-shared-conversion-semantics.js +0 -2594
  844. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-snapshot-hooks.d.ts +0 -3
  845. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-snapshot-hooks.js +0 -109
  846. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-alias-selection-semantics.d.ts +0 -16
  847. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-alias-selection-semantics.js +0 -96
  848. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-engine-proxy.d.ts +0 -16
  849. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-engine-proxy.js +0 -14
  850. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-routing-instructions-semantics.d.ts +0 -3
  851. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-routing-instructions-semantics.js +0 -123
  852. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-actions-semantics.d.ts +0 -6
  853. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-actions-semantics.js +0 -85
  854. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-semantics.d.ts +0 -9
  855. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-semantics.js +0 -70
  856. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-state-semantics.d.ts +0 -2
  857. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-state-semantics.js +0 -76
  858. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/route-utils.d.ts +0 -15
  859. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/route-utils.js +0 -248
  860. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/routing-state-filter.d.ts +0 -4
  861. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/routing-state-filter.js +0 -50
  862. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/selection-deps.d.ts +0 -58
  863. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/selection-deps.js +0 -1
  864. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/sticky-pool.d.ts +0 -11
  865. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/sticky-pool.js +0 -109
  866. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-load-balancing.d.ts +0 -16
  867. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-load-balancing.js +0 -120
  868. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-priority.d.ts +0 -11
  869. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-priority.js +0 -55
  870. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-session-lease.d.ts +0 -10
  871. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-session-lease.js +0 -231
  872. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-target-split.d.ts +0 -4
  873. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-antigravity-target-split.js +0 -43
  874. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-quota-integration.d.ts +0 -29
  875. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-quota-integration.js +0 -194
  876. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-select.d.ts +0 -22
  877. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection-select.js +0 -352
  878. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection.d.ts +0 -3
  879. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection/tier-selection.js +0 -309
  880. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection.d.ts +0 -1
  881. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine-selection.js +0 -1
  882. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine.d.ts +0 -43
  883. package/vendor/@jsonstudio/llms/dist/router/virtual-router/engine.js +0 -360
  884. package/vendor/@jsonstudio/llms/dist/router/virtual-router/error-center.d.ts +0 -10
  885. package/vendor/@jsonstudio/llms/dist/router/virtual-router/error-center.js +0 -39
  886. package/vendor/@jsonstudio/llms/dist/router/virtual-router/features.d.ts +0 -3
  887. package/vendor/@jsonstudio/llms/dist/router/virtual-router/features.js +0 -124
  888. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-manager.d.ts +0 -23
  889. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-manager.js +0 -107
  890. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-weighted.d.ts +0 -25
  891. package/vendor/@jsonstudio/llms/dist/router/virtual-router/health-weighted.js +0 -63
  892. package/vendor/@jsonstudio/llms/dist/router/virtual-router/load-balancer.d.ts +0 -28
  893. package/vendor/@jsonstudio/llms/dist/router/virtual-router/load-balancer.js +0 -160
  894. package/vendor/@jsonstudio/llms/dist/router/virtual-router/message-utils.d.ts +0 -15
  895. package/vendor/@jsonstudio/llms/dist/router/virtual-router/message-utils.js +0 -235
  896. package/vendor/@jsonstudio/llms/dist/router/virtual-router/pre-command-file-resolver.d.ts +0 -2
  897. package/vendor/@jsonstudio/llms/dist/router/virtual-router/pre-command-file-resolver.js +0 -117
  898. package/vendor/@jsonstudio/llms/dist/router/virtual-router/provider-registry.d.ts +0 -17
  899. package/vendor/@jsonstudio/llms/dist/router/virtual-router/provider-registry.js +0 -145
  900. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/clean.d.ts +0 -3
  901. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/clean.js +0 -34
  902. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/parse.d.ts +0 -6
  903. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/parse.js +0 -24
  904. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/state.d.ts +0 -4
  905. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/state.js +0 -284
  906. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/types.d.ts +0 -74
  907. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions/types.js +0 -2
  908. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions.d.ts +0 -5
  909. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-instructions.js +0 -4
  910. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-actions.d.ts +0 -3
  911. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-actions.js +0 -26
  912. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-parser.d.ts +0 -2
  913. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-parser.js +0 -85
  914. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-state-codec.d.ts +0 -3
  915. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-pre-command-state-codec.js +0 -24
  916. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-actions.d.ts +0 -2
  917. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-actions.js +0 -99
  918. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-parser.d.ts +0 -3
  919. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-parser.js +0 -19
  920. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-state-codec.d.ts +0 -7
  921. package/vendor/@jsonstudio/llms/dist/router/virtual-router/routing-stop-message-state-codec.js +0 -121
  922. package/vendor/@jsonstudio/llms/dist/router/virtual-router/sticky-session-store.d.ts +0 -8
  923. package/vendor/@jsonstudio/llms/dist/router/virtual-router/sticky-session-store.js +0 -296
  924. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-file-resolver.d.ts +0 -2
  925. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-file-resolver.js +0 -76
  926. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-stage-template-files.d.ts +0 -12
  927. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-stage-template-files.js +0 -67
  928. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-state-sync.d.ts +0 -17
  929. package/vendor/@jsonstudio/llms/dist/router/virtual-router/stop-message-state-sync.js +0 -82
  930. package/vendor/@jsonstudio/llms/dist/router/virtual-router/success-center.d.ts +0 -10
  931. package/vendor/@jsonstudio/llms/dist/router/virtual-router/success-center.js +0 -32
  932. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-counter.d.ts +0 -2
  933. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-counter.js +0 -148
  934. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-estimator.d.ts +0 -2
  935. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-estimator.js +0 -16
  936. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-file-scanner.d.ts +0 -24
  937. package/vendor/@jsonstudio/llms/dist/router/virtual-router/token-file-scanner.js +0 -117
  938. package/vendor/@jsonstudio/llms/dist/router/virtual-router/tool-signals.d.ts +0 -19
  939. package/vendor/@jsonstudio/llms/dist/router/virtual-router/tool-signals.js +0 -647
  940. package/vendor/@jsonstudio/llms/dist/router/virtual-router/types.d.ts +0 -681
  941. package/vendor/@jsonstudio/llms/dist/router/virtual-router/types.js +0 -34
  942. package/vendor/@jsonstudio/llms/dist/runtime/user-data-paths.d.ts +0 -5
  943. package/vendor/@jsonstudio/llms/dist/runtime/user-data-paths.js +0 -43
  944. package/vendor/@jsonstudio/llms/dist/servertool/clock/config.d.ts +0 -17
  945. package/vendor/@jsonstudio/llms/dist/servertool/clock/config.js +0 -48
  946. package/vendor/@jsonstudio/llms/dist/servertool/clock/daemon.d.ts +0 -24
  947. package/vendor/@jsonstudio/llms/dist/servertool/clock/daemon.js +0 -207
  948. package/vendor/@jsonstudio/llms/dist/servertool/clock/io.d.ts +0 -2
  949. package/vendor/@jsonstudio/llms/dist/servertool/clock/io.js +0 -14
  950. package/vendor/@jsonstudio/llms/dist/servertool/clock/log.d.ts +0 -3
  951. package/vendor/@jsonstudio/llms/dist/servertool/clock/log.js +0 -13
  952. package/vendor/@jsonstudio/llms/dist/servertool/clock/ntp.d.ts +0 -18
  953. package/vendor/@jsonstudio/llms/dist/servertool/clock/ntp.js +0 -318
  954. package/vendor/@jsonstudio/llms/dist/servertool/clock/paths.d.ts +0 -5
  955. package/vendor/@jsonstudio/llms/dist/servertool/clock/paths.js +0 -28
  956. package/vendor/@jsonstudio/llms/dist/servertool/clock/recurrence.d.ts +0 -7
  957. package/vendor/@jsonstudio/llms/dist/servertool/clock/recurrence.js +0 -248
  958. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-scope.d.ts +0 -3
  959. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-scope.js +0 -41
  960. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-store.d.ts +0 -3
  961. package/vendor/@jsonstudio/llms/dist/servertool/clock/session-store.js +0 -63
  962. package/vendor/@jsonstudio/llms/dist/servertool/clock/state.d.ts +0 -9
  963. package/vendor/@jsonstudio/llms/dist/servertool/clock/state.js +0 -135
  964. package/vendor/@jsonstudio/llms/dist/servertool/clock/task-store.d.ts +0 -5
  965. package/vendor/@jsonstudio/llms/dist/servertool/clock/task-store.js +0 -4
  966. package/vendor/@jsonstudio/llms/dist/servertool/clock/tasks.d.ts +0 -24
  967. package/vendor/@jsonstudio/llms/dist/servertool/clock/tasks.js +0 -595
  968. package/vendor/@jsonstudio/llms/dist/servertool/clock/types.d.ts +0 -98
  969. package/vendor/@jsonstudio/llms/dist/servertool/clock/types.js +0 -1
  970. package/vendor/@jsonstudio/llms/dist/servertool/continue-execution/log.d.ts +0 -3
  971. package/vendor/@jsonstudio/llms/dist/servertool/continue-execution/log.js +0 -13
  972. package/vendor/@jsonstudio/llms/dist/servertool/engine.d.ts +0 -38
  973. package/vendor/@jsonstudio/llms/dist/servertool/engine.js +0 -1660
  974. package/vendor/@jsonstudio/llms/dist/servertool/followup-shadow.d.ts +0 -16
  975. package/vendor/@jsonstudio/llms/dist/servertool/followup-shadow.js +0 -145
  976. package/vendor/@jsonstudio/llms/dist/servertool/handlers/antigravity-thought-signature-bootstrap.d.ts +0 -1
  977. package/vendor/@jsonstudio/llms/dist/servertool/handlers/antigravity-thought-signature-bootstrap.js +0 -201
  978. package/vendor/@jsonstudio/llms/dist/servertool/handlers/apply-patch-guard.d.ts +0 -1
  979. package/vendor/@jsonstudio/llms/dist/servertool/handlers/apply-patch-guard.js +0 -5
  980. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock-auto.d.ts +0 -1
  981. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock-auto.js +0 -177
  982. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock.d.ts +0 -1
  983. package/vendor/@jsonstudio/llms/dist/servertool/handlers/clock.js +0 -544
  984. package/vendor/@jsonstudio/llms/dist/servertool/handlers/compaction-detect.d.ts +0 -1
  985. package/vendor/@jsonstudio/llms/dist/servertool/handlers/compaction-detect.js +0 -1
  986. package/vendor/@jsonstudio/llms/dist/servertool/handlers/continue-execution.d.ts +0 -1
  987. package/vendor/@jsonstudio/llms/dist/servertool/handlers/continue-execution.js +0 -110
  988. package/vendor/@jsonstudio/llms/dist/servertool/handlers/exec-command-guard.d.ts +0 -1
  989. package/vendor/@jsonstudio/llms/dist/servertool/handlers/exec-command-guard.js +0 -10
  990. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-message-trimmer.d.ts +0 -16
  991. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-message-trimmer.js +0 -198
  992. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-request-builder.d.ts +0 -25
  993. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-request-builder.js +0 -515
  994. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-sanitize.d.ts +0 -2
  995. package/vendor/@jsonstudio/llms/dist/servertool/handlers/followup-sanitize.js +0 -7
  996. package/vendor/@jsonstudio/llms/dist/servertool/handlers/gemini-empty-reply-continue.d.ts +0 -1
  997. package/vendor/@jsonstudio/llms/dist/servertool/handlers/gemini-empty-reply-continue.js +0 -3
  998. package/vendor/@jsonstudio/llms/dist/servertool/handlers/iflow-model-error-retry.d.ts +0 -1
  999. package/vendor/@jsonstudio/llms/dist/servertool/handlers/iflow-model-error-retry.js +0 -92
  1000. package/vendor/@jsonstudio/llms/dist/servertool/handlers/recursive-detection-guard.d.ts +0 -1
  1001. package/vendor/@jsonstudio/llms/dist/servertool/handlers/recursive-detection-guard.js +0 -374
  1002. package/vendor/@jsonstudio/llms/dist/servertool/handlers/review.d.ts +0 -1
  1003. package/vendor/@jsonstudio/llms/dist/servertool/handlers/review.js +0 -181
  1004. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/blocked-report.d.ts +0 -16
  1005. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/blocked-report.js +0 -407
  1006. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/iflow-followup.d.ts +0 -44
  1007. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/iflow-followup.js +0 -816
  1008. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/routing-state.d.ts +0 -28
  1009. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/routing-state.js +0 -123
  1010. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/runtime-utils.d.ts +0 -81
  1011. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto/runtime-utils.js +0 -355
  1012. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto.d.ts +0 -1
  1013. package/vendor/@jsonstudio/llms/dist/servertool/handlers/stop-message-auto.js +0 -553
  1014. package/vendor/@jsonstudio/llms/dist/servertool/handlers/vision.d.ts +0 -7
  1015. package/vendor/@jsonstudio/llms/dist/servertool/handlers/vision.js +0 -240
  1016. package/vendor/@jsonstudio/llms/dist/servertool/handlers/web-search.d.ts +0 -7
  1017. package/vendor/@jsonstudio/llms/dist/servertool/handlers/web-search.js +0 -926
  1018. package/vendor/@jsonstudio/llms/dist/servertool/log/progress-file.d.ts +0 -14
  1019. package/vendor/@jsonstudio/llms/dist/servertool/log/progress-file.js +0 -88
  1020. package/vendor/@jsonstudio/llms/dist/servertool/pending-session.d.ts +0 -19
  1021. package/vendor/@jsonstudio/llms/dist/servertool/pending-session.js +0 -99
  1022. package/vendor/@jsonstudio/llms/dist/servertool/pre-command-hooks.d.ts +0 -17
  1023. package/vendor/@jsonstudio/llms/dist/servertool/pre-command-hooks.js +0 -491
  1024. package/vendor/@jsonstudio/llms/dist/servertool/reenter-backend.d.ts +0 -23
  1025. package/vendor/@jsonstudio/llms/dist/servertool/reenter-backend.js +0 -20
  1026. package/vendor/@jsonstudio/llms/dist/servertool/registry.d.ts +0 -35
  1027. package/vendor/@jsonstudio/llms/dist/servertool/registry.js +0 -92
  1028. package/vendor/@jsonstudio/llms/dist/servertool/server-side-tools.d.ts +0 -15
  1029. package/vendor/@jsonstudio/llms/dist/servertool/server-side-tools.js +0 -898
  1030. package/vendor/@jsonstudio/llms/dist/servertool/stop-gateway-context.d.ts +0 -14
  1031. package/vendor/@jsonstudio/llms/dist/servertool/stop-gateway-context.js +0 -167
  1032. package/vendor/@jsonstudio/llms/dist/servertool/stop-message-compare-context.d.ts +0 -24
  1033. package/vendor/@jsonstudio/llms/dist/servertool/stop-message-compare-context.js +0 -133
  1034. package/vendor/@jsonstudio/llms/dist/servertool/strip-servertool-calls.d.ts +0 -2
  1035. package/vendor/@jsonstudio/llms/dist/servertool/strip-servertool-calls.js +0 -75
  1036. package/vendor/@jsonstudio/llms/dist/servertool/types.d.ts +0 -235
  1037. package/vendor/@jsonstudio/llms/dist/servertool/types.js +0 -1
  1038. package/vendor/@jsonstudio/llms/dist/sse/index.d.ts +0 -176
  1039. package/vendor/@jsonstudio/llms/dist/sse/index.js +0 -142
  1040. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -15
  1041. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -112
  1042. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -80
  1043. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/chat-json-to-sse-converter.js +0 -300
  1044. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  1045. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/chat.js +0 -233
  1046. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -103
  1047. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/event-generators/responses.js +0 -703
  1048. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/gemini-json-to-sse-converter.d.ts +0 -15
  1049. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/gemini-json-to-sse-converter.js +0 -99
  1050. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/index.d.ts +0 -7
  1051. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/index.js +0 -9
  1052. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -80
  1053. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
  1054. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/anthropic-sequencer.d.ts +0 -13
  1055. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/anthropic-sequencer.js +0 -162
  1056. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -39
  1057. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/chat-sequencer.js +0 -264
  1058. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/gemini-sequencer.d.ts +0 -10
  1059. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/gemini-sequencer.js +0 -95
  1060. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  1061. package/vendor/@jsonstudio/llms/dist/sse/json-to-sse/sequencers/responses-sequencer.js +0 -293
  1062. package/vendor/@jsonstudio/llms/dist/sse/registry/sse-codec-registry.d.ts +0 -32
  1063. package/vendor/@jsonstudio/llms/dist/sse/registry/sse-codec-registry.js +0 -135
  1064. package/vendor/@jsonstudio/llms/dist/sse/shared/chat-serializer.d.ts +0 -4
  1065. package/vendor/@jsonstudio/llms/dist/sse/shared/chat-serializer.js +0 -40
  1066. package/vendor/@jsonstudio/llms/dist/sse/shared/constants.d.ts +0 -272
  1067. package/vendor/@jsonstudio/llms/dist/sse/shared/constants.js +0 -321
  1068. package/vendor/@jsonstudio/llms/dist/sse/shared/reasoning-dispatcher.d.ts +0 -10
  1069. package/vendor/@jsonstudio/llms/dist/sse/shared/reasoning-dispatcher.js +0 -25
  1070. package/vendor/@jsonstudio/llms/dist/sse/shared/responses-output-normalizer.d.ts +0 -13
  1071. package/vendor/@jsonstudio/llms/dist/sse/shared/responses-output-normalizer.js +0 -47
  1072. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/anthropic-event-serializer.d.ts +0 -2
  1073. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/anthropic-event-serializer.js +0 -9
  1074. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
  1075. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/base-serializer.js +0 -210
  1076. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  1077. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/chat-event-serializer.js +0 -275
  1078. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/gemini-event-serializer.d.ts +0 -2
  1079. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/gemini-event-serializer.js +0 -5
  1080. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/index.d.ts +0 -42
  1081. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/index.js +0 -56
  1082. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -131
  1083. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/responses-event-serializer.js +0 -375
  1084. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/types.d.ts +0 -51
  1085. package/vendor/@jsonstudio/llms/dist/sse/shared/serializers/types.js +0 -4
  1086. package/vendor/@jsonstudio/llms/dist/sse/shared/utils.d.ts +0 -254
  1087. package/vendor/@jsonstudio/llms/dist/sse/shared/utils.js +0 -543
  1088. package/vendor/@jsonstudio/llms/dist/sse/shared/writer.d.ts +0 -127
  1089. package/vendor/@jsonstudio/llms/dist/sse/shared/writer.js +0 -321
  1090. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -20
  1091. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -204
  1092. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/anthropic-response-builder.d.ts +0 -16
  1093. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/anthropic-response-builder.js +0 -258
  1094. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/response-builder.d.ts +0 -177
  1095. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/builders/response-builder.js +0 -1135
  1096. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -119
  1097. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/chat-sse-to-json-converter.js +0 -850
  1098. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/gemini-sse-to-json-converter.d.ts +0 -14
  1099. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/gemini-sse-to-json-converter.js +0 -186
  1100. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/index.d.ts +0 -7
  1101. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/index.js +0 -9
  1102. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  1103. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/parsers/sse-parser.js +0 -434
  1104. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -61
  1105. package/vendor/@jsonstudio/llms/dist/sse/sse-to-json/responses-sse-to-json-converter.js +0 -306
  1106. package/vendor/@jsonstudio/llms/dist/sse/types/anthropic-types.d.ts +0 -194
  1107. package/vendor/@jsonstudio/llms/dist/sse/types/anthropic-types.js +0 -8
  1108. package/vendor/@jsonstudio/llms/dist/sse/types/chat-types.d.ts +0 -321
  1109. package/vendor/@jsonstudio/llms/dist/sse/types/chat-types.js +0 -33
  1110. package/vendor/@jsonstudio/llms/dist/sse/types/conversion-context.d.ts +0 -214
  1111. package/vendor/@jsonstudio/llms/dist/sse/types/conversion-context.js +0 -20
  1112. package/vendor/@jsonstudio/llms/dist/sse/types/core-interfaces.d.ts +0 -94
  1113. package/vendor/@jsonstudio/llms/dist/sse/types/core-interfaces.js +0 -5
  1114. package/vendor/@jsonstudio/llms/dist/sse/types/gemini-types.d.ts +0 -135
  1115. package/vendor/@jsonstudio/llms/dist/sse/types/gemini-types.js +0 -5
  1116. package/vendor/@jsonstudio/llms/dist/sse/types/index.d.ts +0 -17
  1117. package/vendor/@jsonstudio/llms/dist/sse/types/index.js +0 -9
  1118. package/vendor/@jsonstudio/llms/dist/sse/types/responses-types.d.ts +0 -334
  1119. package/vendor/@jsonstudio/llms/dist/sse/types/responses-types.js +0 -38
  1120. package/vendor/@jsonstudio/llms/dist/sse/types/sse-events.d.ts +0 -181
  1121. package/vendor/@jsonstudio/llms/dist/sse/types/sse-events.js +0 -150
  1122. package/vendor/@jsonstudio/llms/dist/sse/types/stream-state.d.ts +0 -199
  1123. package/vendor/@jsonstudio/llms/dist/sse/types/stream-state.js +0 -44
  1124. package/vendor/@jsonstudio/llms/dist/sse/types/utility-types.d.ts +0 -234
  1125. package/vendor/@jsonstudio/llms/dist/sse/types/utility-types.js +0 -46
  1126. package/vendor/@jsonstudio/llms/dist/telemetry/stats-center.d.ts +0 -82
  1127. package/vendor/@jsonstudio/llms/dist/telemetry/stats-center.js +0 -308
  1128. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/default-actions.d.ts +0 -2
  1129. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/default-actions.js +0 -12
  1130. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/extract-patch.d.ts +0 -2
  1131. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/extract-patch.js +0 -15
  1132. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/index.d.ts +0 -2
  1133. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/index.js +0 -164
  1134. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/structured-builders.d.ts +0 -7
  1135. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/structured-builders.js +0 -85
  1136. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/types.d.ts +0 -54
  1137. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/args-normalizer/types.js +0 -1
  1138. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/execution-capturer.d.ts +0 -13
  1139. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/execution-capturer.js +0 -181
  1140. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/json/parse-loose.d.ts +0 -3
  1141. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/json/parse-loose.js +0 -139
  1142. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/context-diff.d.ts +0 -1
  1143. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/context-diff.js +0 -173
  1144. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/git-diff.d.ts +0 -1
  1145. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/git-diff.js +0 -138
  1146. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/looks-like-patch.d.ts +0 -1
  1147. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/looks-like-patch.js +0 -11
  1148. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/normalize.d.ts +0 -3
  1149. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/patch-text/normalize.js +0 -383
  1150. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/regression-capturer.d.ts +0 -13
  1151. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/regression-capturer.js +0 -113
  1152. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured/coercion.d.ts +0 -3
  1153. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured/coercion.js +0 -103
  1154. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured.d.ts +0 -20
  1155. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/structured.js +0 -537
  1156. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validation/shared.d.ts +0 -3
  1157. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validation/shared.js +0 -6
  1158. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validator.d.ts +0 -8
  1159. package/vendor/@jsonstudio/llms/dist/tools/apply-patch/validator.js +0 -21
  1160. package/vendor/@jsonstudio/llms/dist/tools/apply-patch-structured.d.ts +0 -1
  1161. package/vendor/@jsonstudio/llms/dist/tools/apply-patch-structured.js +0 -1
  1162. package/vendor/@jsonstudio/llms/dist/tools/args-json.d.ts +0 -1
  1163. package/vendor/@jsonstudio/llms/dist/tools/args-json.js +0 -204
  1164. package/vendor/@jsonstudio/llms/dist/tools/exec-command/normalize.d.ts +0 -17
  1165. package/vendor/@jsonstudio/llms/dist/tools/exec-command/normalize.js +0 -116
  1166. package/vendor/@jsonstudio/llms/dist/tools/exec-command/regression-capturer.d.ts +0 -11
  1167. package/vendor/@jsonstudio/llms/dist/tools/exec-command/regression-capturer.js +0 -144
  1168. package/vendor/@jsonstudio/llms/dist/tools/exec-command/validator.d.ts +0 -10
  1169. package/vendor/@jsonstudio/llms/dist/tools/exec-command/validator.js +0 -238
  1170. package/vendor/@jsonstudio/llms/dist/tools/patch-regression-capturer.d.ts +0 -1
  1171. package/vendor/@jsonstudio/llms/dist/tools/patch-regression-capturer.js +0 -1
  1172. package/vendor/@jsonstudio/llms/dist/tools/tool-description-utils.d.ts +0 -5
  1173. package/vendor/@jsonstudio/llms/dist/tools/tool-description-utils.js +0 -50
  1174. package/vendor/@jsonstudio/llms/dist/tools/tool-registry.d.ts +0 -15
  1175. package/vendor/@jsonstudio/llms/dist/tools/tool-registry.js +0 -253
  1176. package/vendor/@jsonstudio/llms/package.json +0 -189
@@ -1,1927 +0,0 @@
1
- import { Readable } from "node:stream";
2
- import { isJsonObject, jsonClone } from "../types/json.js";
3
- import { convertMessagesToBridgeInput } from "../../bridge-message-utils.js";
4
- import { VirtualRouterEngine } from "../../../router/virtual-router/engine.js";
5
- import { providerErrorCenter } from "../../../router/virtual-router/error-center.js";
6
- import { providerSuccessCenter } from "../../../router/virtual-router/success-center.js";
7
- import { defaultSseCodecRegistry, } from "../../../sse/index.js";
8
- import { ResponsesFormatAdapter } from "../format-adapters/responses-format-adapter.js";
9
- import { ResponsesSemanticMapper } from "../semantic-mappers/responses-mapper.js";
10
- import { AnthropicFormatAdapter } from "../format-adapters/anthropic-format-adapter.js";
11
- import { AnthropicSemanticMapper } from "../semantic-mappers/anthropic-mapper.js";
12
- import { GeminiFormatAdapter } from "../format-adapters/gemini-format-adapter.js";
13
- import { GeminiSemanticMapper } from "../semantic-mappers/gemini-mapper.js";
14
- import { ChatFormatAdapter } from "../format-adapters/chat-format-adapter.js";
15
- import { ChatSemanticMapper } from "../semantic-mappers/chat-mapper.js";
16
- import { createSnapshotRecorder } from "../snapshot-recorder.js";
17
- import { shouldRecordSnapshots } from "../../snapshot-utils.js";
18
- import { runReqInboundStage1FormatParse } from "./stages/req_inbound/req_inbound_stage1_format_parse/index.js";
19
- import { runReqInboundStage2SemanticMap } from "./stages/req_inbound/req_inbound_stage2_semantic_map/index.js";
20
- import { runChatContextCapture, captureResponsesContextSnapshot, } from "./stages/req_inbound/req_inbound_stage3_context_capture/index.js";
21
- import { normalizeReqInboundToolCallIdStyleWithNative } from "../../../router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.js";
22
- import { createResponsesContextCapture, createNoopContextCapture, } from "./stages/req_inbound/req_inbound_stage3_context_capture/context-factories.js";
23
- import { runReqProcessStage1ToolGovernance } from "./stages/req_process/req_process_stage1_tool_governance/index.js";
24
- import { runReqProcessStage2RouteSelect } from "./stages/req_process/req_process_stage2_route_select/index.js";
25
- import { runReqOutboundStage1SemanticMap } from "./stages/req_outbound/req_outbound_stage1_semantic_map/index.js";
26
- import { runReqOutboundStage2FormatBuild } from "./stages/req_outbound/req_outbound_stage2_format_build/index.js";
27
- import { runReqOutboundStage3Compat } from "./stages/req_outbound/req_outbound_stage3_compat/index.js";
28
- import { extractSessionIdentifiersFromMetadata } from "./session-identifiers.js";
29
- import { computeRequestTokens } from "../../../router/virtual-router/token-estimator.js";
30
- import { estimateSessionBoundTokens } from "../process/chat-process-session-usage.js";
31
- import { annotatePassthroughGovernanceSkipWithNative, attachPassthroughProviderInputAuditWithNative, buildPassthroughAuditWithNative, applyOutboundStreamPreferenceWithNative, normalizeHubEndpointWithNative, extractAdapterContextMetadataFieldsWithNative, resolveApplyPatchToolModeFromToolsWithNative, resolveHubClientProtocolWithNative, resolveHubPolicyOverrideFromMetadataWithNative, resolveHubProviderProtocolWithNative, resolveOutboundStreamIntentWithNative, resolveHubShadowCompareConfigWithNative, resolveActiveProcessModeWithNative, findMappableSemanticsKeysWithNative, resolveHubSseProtocolFromMetadataWithNative, resolveStopMessageRouterMetadataWithNative, runHubPipelineOrchestrationWithNative, } from "../../../router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.js";
32
- import { normalizeAliasMapWithNative, resolveAliasMapFromRespSemanticsWithNative, } from "../../../router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.js";
33
- import { isCompactionRequest } from "../../compaction-detect.js";
34
- import { applyHubProviderOutboundPolicy, recordHubPolicyObservation, setHubPolicyRuntimePolicy, } from "../policy/policy-engine.js";
35
- import { applyProviderOutboundToolSurface, } from "../tool-surface/tool-surface-engine.js";
36
- import { cloneRuntimeMetadata, ensureRuntimeMetadata, readRuntimeMetadata, } from "../../runtime-metadata.js";
37
- import { containsImageAttachment, stripHistoricalImageAttachments, stripHistoricalVisualToolOutputs, repairIncompleteToolCalls, } from "../process/chat-process-media.js";
38
- import { measureHubStage, logHubStageTiming, clearHubStageTiming, } from "./hub-stage-timing.js";
39
- function isTruthyEnv(value) {
40
- const v = typeof value === "string" ? value.trim().toLowerCase() : "";
41
- return v === "1" || v === "true" || v === "yes" || v === "on";
42
- }
43
- function resolveApplyPatchToolModeFromEnv() {
44
- const rawMode = String(process.env.RCC_APPLY_PATCH_TOOL_MODE ||
45
- process.env.ROUTECODEX_APPLY_PATCH_TOOL_MODE ||
46
- "")
47
- .trim()
48
- .toLowerCase();
49
- if (rawMode === "freeform")
50
- return "freeform";
51
- if (rawMode === "schema" || rawMode === "json_schema")
52
- return "schema";
53
- const freeformFlag = process.env.RCC_APPLY_PATCH_FREEFORM ||
54
- process.env.ROUTECODEX_APPLY_PATCH_FREEFORM;
55
- if (isTruthyEnv(freeformFlag))
56
- return "freeform";
57
- return undefined;
58
- }
59
- function applyChatProcessEntryMediaCleanup(request) {
60
- return {
61
- ...request,
62
- messages: repairIncompleteToolCalls(stripHistoricalVisualToolOutputs(stripHistoricalImageAttachments(request.messages))),
63
- };
64
- }
65
- function readResponsesResumeFromMetadata(metadata) {
66
- if (!metadata || typeof metadata !== "object") {
67
- return undefined;
68
- }
69
- const resume = metadata.responsesResume;
70
- return resume && isJsonObject(resume)
71
- ? resume
72
- : undefined;
73
- }
74
- function readResponsesResumeFromRequestSemantics(request) {
75
- try {
76
- const semantics = request?.semantics;
77
- const responses = semantics &&
78
- typeof semantics === "object" &&
79
- !Array.isArray(semantics) &&
80
- semantics.responses &&
81
- typeof semantics.responses === "object" &&
82
- !Array.isArray(semantics.responses)
83
- ? semantics.responses
84
- : undefined;
85
- const resume = responses &&
86
- responses.resume &&
87
- typeof responses.resume === "object" &&
88
- !Array.isArray(responses.resume)
89
- ? responses.resume
90
- : undefined;
91
- return resume;
92
- }
93
- catch {
94
- return undefined;
95
- }
96
- }
97
- function liftResponsesResumeIntoSemantics(request, metadata) {
98
- const resumeMeta = readResponsesResumeFromMetadata(metadata);
99
- if (!resumeMeta) {
100
- return request;
101
- }
102
- const next = {
103
- ...request,
104
- semantics: {
105
- ...(request.semantics ??
106
- {}),
107
- },
108
- };
109
- const semantics = next.semantics;
110
- if (!semantics.responses ||
111
- typeof semantics.responses !== "object" ||
112
- Array.isArray(semantics.responses)) {
113
- semantics.responses = {};
114
- }
115
- const responsesNode = semantics.responses;
116
- if (responsesNode.resume === undefined) {
117
- responsesNode.resume = jsonClone(resumeMeta);
118
- }
119
- delete metadata.responsesResume;
120
- return next;
121
- }
122
- function syncResponsesContextFromCanonicalMessages(request) {
123
- const semantics = request?.semantics;
124
- const responsesNode = semantics &&
125
- typeof semantics === "object" &&
126
- !Array.isArray(semantics) &&
127
- semantics.responses &&
128
- typeof semantics.responses === "object" &&
129
- !Array.isArray(semantics.responses)
130
- ? semantics.responses
131
- : undefined;
132
- const contextNode = responsesNode &&
133
- responsesNode.context &&
134
- typeof responsesNode.context === "object" &&
135
- !Array.isArray(responsesNode.context)
136
- ? responsesNode.context
137
- : undefined;
138
- if (!contextNode) {
139
- return request;
140
- }
141
- const bridge = convertMessagesToBridgeInput({
142
- messages: request.messages ?? [],
143
- tools: Array.isArray(request.tools)
144
- ? request.tools
145
- : undefined,
146
- });
147
- return {
148
- ...request,
149
- semantics: {
150
- ...semantics,
151
- responses: {
152
- ...responsesNode,
153
- context: {
154
- ...contextNode,
155
- input: jsonClone(bridge.input),
156
- originalSystemMessages: jsonClone(bridge.originalSystemMessages),
157
- },
158
- },
159
- },
160
- };
161
- }
162
- function resolveApplyPatchToolModeFromTools(toolsRaw) {
163
- return resolveApplyPatchToolModeFromToolsWithNative(toolsRaw);
164
- }
165
- function extractHubPolicyOverride(metadata) {
166
- const parsed = resolveHubPolicyOverrideFromMetadataWithNative(metadata);
167
- if (!parsed) {
168
- return undefined;
169
- }
170
- return {
171
- mode: parsed.mode,
172
- ...(parsed.sampleRate !== undefined
173
- ? { sampleRate: parsed.sampleRate }
174
- : {}),
175
- };
176
- }
177
- function propagateAdapterContextMetadataFields(adapterContext, metadata, keys) {
178
- const picked = extractAdapterContextMetadataFieldsWithNative(metadata, keys);
179
- Object.assign(adapterContext, picked);
180
- }
181
- function resolveStopMessageRouterMetadata(metadata) {
182
- return resolveStopMessageRouterMetadataWithNative(metadata);
183
- }
184
- function isSearchRouteId(routeId) {
185
- const normalized = typeof routeId === "string" ? routeId.trim().toLowerCase() : "";
186
- return normalized.startsWith("web_search") || normalized.startsWith("search");
187
- }
188
- function isCanonicalWebSearchToolDefinition(tool) {
189
- if (!tool || typeof tool !== "object" || Array.isArray(tool)) {
190
- return false;
191
- }
192
- const row = tool;
193
- const rawType = typeof row.type === "string" ? row.type.trim().toLowerCase() : "";
194
- if (rawType === "web_search_20250305" || rawType === "web_search") {
195
- return true;
196
- }
197
- const fnNode = row.function &&
198
- typeof row.function === "object" &&
199
- !Array.isArray(row.function)
200
- ? row.function
201
- : undefined;
202
- const name = typeof fnNode?.name === "string"
203
- ? fnNode.name.trim().toLowerCase()
204
- : typeof row.name === "string"
205
- ? row.name.trim().toLowerCase()
206
- : "";
207
- return name === "web_search" || name === "websearch" || name === "web-search";
208
- }
209
- function maybeApplyDirectBuiltinWebSearchTool(providerPayload, adapterContext, providerProtocol) {
210
- if (providerProtocol !== "anthropic-messages") {
211
- return providerPayload;
212
- }
213
- if (!isSearchRouteId(adapterContext.routeId)) {
214
- return providerPayload;
215
- }
216
- const modelId = typeof providerPayload.model === "string"
217
- ? providerPayload.model.trim()
218
- : "";
219
- if (!modelId) {
220
- return providerPayload;
221
- }
222
- const rt = readRuntimeMetadata(adapterContext);
223
- const webSearch = rt &&
224
- typeof rt.webSearch === "object" &&
225
- rt.webSearch &&
226
- !Array.isArray(rt.webSearch)
227
- ? rt.webSearch
228
- : undefined;
229
- const enginesRaw = Array.isArray(webSearch?.engines)
230
- ? webSearch?.engines
231
- : [];
232
- const matchedEngine = enginesRaw.find((entry) => {
233
- if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
234
- return false;
235
- }
236
- const row = entry;
237
- const executionMode = typeof row.executionMode === "string"
238
- ? row.executionMode.trim().toLowerCase()
239
- : "";
240
- if (executionMode !== "direct") {
241
- return false;
242
- }
243
- const directActivation = typeof row.directActivation === "string"
244
- ? row.directActivation.trim().toLowerCase()
245
- : "route";
246
- if (directActivation !== "builtin") {
247
- return false;
248
- }
249
- const configuredModelId = typeof row.modelId === "string" ? row.modelId.trim() : "";
250
- if (configuredModelId && configuredModelId === modelId) {
251
- return true;
252
- }
253
- const providerKey = typeof row.providerKey === "string" ? row.providerKey.trim() : "";
254
- return providerKey.endsWith(`.${modelId}`);
255
- });
256
- if (!matchedEngine) {
257
- return providerPayload;
258
- }
259
- const rawMaxUses = typeof matchedEngine.maxUses === "number"
260
- ? matchedEngine.maxUses
261
- : Number(matchedEngine.maxUses);
262
- const maxUses = Number.isFinite(rawMaxUses) && rawMaxUses > 0 ? Math.floor(rawMaxUses) : 2;
263
- const builtinTool = {
264
- type: "web_search_20250305",
265
- name: "web_search",
266
- max_uses: maxUses,
267
- };
268
- const tools = Array.isArray(providerPayload.tools)
269
- ? providerPayload.tools
270
- : [];
271
- let replaced = false;
272
- const nextTools = [];
273
- for (const tool of tools) {
274
- if (!replaced && isCanonicalWebSearchToolDefinition(tool)) {
275
- nextTools.push(builtinTool);
276
- replaced = true;
277
- continue;
278
- }
279
- if (isCanonicalWebSearchToolDefinition(tool)) {
280
- continue;
281
- }
282
- nextTools.push(tool);
283
- }
284
- if (!replaced) {
285
- nextTools.unshift(builtinTool);
286
- }
287
- providerPayload.tools = nextTools;
288
- return providerPayload;
289
- }
290
- function extractHubShadowCompareConfig(metadata) {
291
- const parsed = resolveHubShadowCompareConfigWithNative(metadata);
292
- if (!parsed) {
293
- return undefined;
294
- }
295
- return { baselineMode: parsed.baselineMode };
296
- }
297
- function buildPassthroughAudit(rawInbound, providerProtocol) {
298
- return buildPassthroughAuditWithNative(rawInbound, providerProtocol);
299
- }
300
- function annotatePassthroughGovernanceSkip(audit) {
301
- const next = annotatePassthroughGovernanceSkipWithNative(audit);
302
- for (const key of Object.keys(audit)) {
303
- delete audit[key];
304
- }
305
- Object.assign(audit, next);
306
- }
307
- function attachPassthroughProviderInputAudit(audit, providerPayload, providerProtocol) {
308
- const next = attachPassthroughProviderInputAuditWithNative(audit, providerPayload, providerProtocol);
309
- for (const key of Object.keys(audit)) {
310
- delete audit[key];
311
- }
312
- Object.assign(audit, next);
313
- }
314
- function resolveActiveProcessMode(baseMode, messages) {
315
- return resolveActiveProcessModeWithNative(baseMode, messages);
316
- }
317
- export class HubPipeline {
318
- routerEngine;
319
- config;
320
- unsubscribeProviderErrors;
321
- unsubscribeProviderSuccess;
322
- constructor(config) {
323
- this.config = config;
324
- this.routerEngine = new VirtualRouterEngine({
325
- healthStore: config.healthStore,
326
- routingStateStore: config.routingStateStore,
327
- quotaView: config.quotaView,
328
- });
329
- this.routerEngine.initialize(config.virtualRouter);
330
- setHubPolicyRuntimePolicy(config.policy);
331
- try {
332
- this.unsubscribeProviderErrors = providerErrorCenter.subscribe((event) => {
333
- try {
334
- this.routerEngine.handleProviderError(event);
335
- }
336
- catch {
337
- // ignore subscriber errors
338
- }
339
- });
340
- }
341
- catch {
342
- this.unsubscribeProviderErrors = undefined;
343
- }
344
- try {
345
- this.unsubscribeProviderSuccess = providerSuccessCenter.subscribe((event) => {
346
- try {
347
- this.routerEngine.handleProviderSuccess(event);
348
- }
349
- catch {
350
- // ignore subscriber errors
351
- }
352
- });
353
- }
354
- catch {
355
- this.unsubscribeProviderSuccess = undefined;
356
- }
357
- }
358
- updateRuntimeDeps(deps) {
359
- if (!deps || typeof deps !== "object") {
360
- return;
361
- }
362
- if ("healthStore" in deps) {
363
- this.config.healthStore = deps.healthStore ?? undefined;
364
- }
365
- if ("routingStateStore" in deps) {
366
- this.config.routingStateStore = (deps.routingStateStore ??
367
- undefined);
368
- }
369
- if ("quotaView" in deps) {
370
- this.config.quotaView = deps.quotaView ?? undefined;
371
- }
372
- try {
373
- this.routerEngine.updateDeps({
374
- healthStore: this.config.healthStore ?? null,
375
- routingStateStore: (this.config.routingStateStore ?? null),
376
- quotaView: this.config.quotaView ?? null,
377
- });
378
- }
379
- catch {
380
- // best-effort: runtime deps updates must never break routing
381
- }
382
- }
383
- updateVirtualRouterConfig(nextConfig) {
384
- if (!nextConfig || typeof nextConfig !== "object") {
385
- throw new Error("HubPipeline updateVirtualRouterConfig requires VirtualRouterConfig payload");
386
- }
387
- this.config.virtualRouter = nextConfig;
388
- this.routerEngine.initialize(nextConfig);
389
- }
390
- dispose() {
391
- if (this.unsubscribeProviderErrors) {
392
- try {
393
- this.unsubscribeProviderErrors();
394
- }
395
- catch {
396
- // ignore dispose failures
397
- }
398
- this.unsubscribeProviderErrors = undefined;
399
- }
400
- if (this.unsubscribeProviderSuccess) {
401
- try {
402
- this.unsubscribeProviderSuccess();
403
- }
404
- catch {
405
- // ignore dispose failures
406
- }
407
- this.unsubscribeProviderSuccess = undefined;
408
- }
409
- }
410
- async executeRequestStagePipeline(normalized, hooks) {
411
- const semanticMapper = hooks.createSemanticMapper();
412
- const rawRequest = this.asJsonObject(normalized.payload);
413
- // Detect applyPatchToolMode (runtime/tooling hint). Client tool schemas are captured as chat semantics
414
- // in req_inbound_stage2_semantic_map; they must not be stored in metadata.
415
- try {
416
- const toolsRaw = Array.isArray(rawRequest?.tools)
417
- ? rawRequest.tools
418
- : null;
419
- const applyPatchToolMode = resolveApplyPatchToolModeFromEnv() ??
420
- resolveApplyPatchToolModeFromTools(toolsRaw);
421
- if (applyPatchToolMode) {
422
- normalized.metadata = normalized.metadata || {};
423
- const rt = ensureRuntimeMetadata(normalized.metadata);
424
- rt.applyPatchToolMode = applyPatchToolMode;
425
- }
426
- }
427
- catch {
428
- // best-effort: do not block request handling due to tool scan failures
429
- }
430
- if (isCompactionRequest(rawRequest)) {
431
- normalized.metadata = normalized.metadata || {};
432
- const rt = ensureRuntimeMetadata(normalized.metadata);
433
- rt.compactionRequest = true;
434
- }
435
- const effectivePolicy = normalized.policyOverride ?? this.config.policy;
436
- const shadowCompareBaselineMode = normalized.shadowCompare?.baselineMode;
437
- const inboundAdapterContext = this.buildAdapterContext(normalized);
438
- const inboundRecorder = this.maybeCreateStageRecorder(inboundAdapterContext, normalized.entryEndpoint, {
439
- disableSnapshots: normalized.disableSnapshots === true,
440
- });
441
- const inboundStart = Date.now();
442
- // Phase 0: observe client inbound payload violations (best-effort; no rewrites).
443
- recordHubPolicyObservation({
444
- policy: effectivePolicy,
445
- providerProtocol: this.resolveClientProtocol(normalized.entryEndpoint),
446
- payload: rawRequest,
447
- phase: "client_inbound",
448
- stageRecorder: inboundRecorder,
449
- requestId: normalized.id,
450
- });
451
- const formatEnvelope = await measureHubStage(normalized.id, "req_inbound.stage1_format_parse", () => runReqInboundStage1FormatParse({
452
- rawRequest,
453
- adapterContext: inboundAdapterContext,
454
- stageRecorder: inboundRecorder,
455
- }));
456
- const responsesResumeFromMetadata = readResponsesResumeFromMetadata(normalized.metadata);
457
- const inboundStage2 = await measureHubStage(normalized.id, "req_inbound.stage2_semantic_map", () => runReqInboundStage2SemanticMap({
458
- adapterContext: inboundAdapterContext,
459
- formatEnvelope,
460
- semanticMapper,
461
- ...(responsesResumeFromMetadata
462
- ? { responsesResume: responsesResumeFromMetadata }
463
- : {}),
464
- stageRecorder: inboundRecorder,
465
- }));
466
- // responsesResume must not enter chat_process as metadata; it is lifted into chat.semantics in stage2.
467
- if (responsesResumeFromMetadata &&
468
- normalized.metadata &&
469
- Object.prototype.hasOwnProperty.call(normalized.metadata, "responsesResume")) {
470
- delete normalized.metadata.responsesResume;
471
- }
472
- const contextSnapshot = await measureHubStage(normalized.id, "req_inbound.stage3_context_capture", () => {
473
- if (inboundStage2.responsesContext) {
474
- return inboundStage2.responsesContext;
475
- }
476
- return hooks.captureContext({
477
- rawRequest,
478
- adapterContext: inboundAdapterContext,
479
- stageRecorder: inboundRecorder,
480
- });
481
- });
482
- let standardizedRequest = applyChatProcessEntryMediaCleanup(inboundStage2.standardizedRequest);
483
- try {
484
- const rt = readRuntimeMetadata(normalized.metadata);
485
- const mode = String(rt?.applyPatchToolMode || "")
486
- .trim()
487
- .toLowerCase();
488
- if (mode === "freeform" || mode === "schema") {
489
- standardizedRequest.metadata.applyPatchToolMode = mode;
490
- }
491
- }
492
- catch {
493
- // best-effort: do not block request handling due to metadata propagation failures
494
- }
495
- const activeProcessMode = resolveActiveProcessMode(normalized.processMode, standardizedRequest.messages);
496
- if (activeProcessMode !== normalized.processMode) {
497
- normalized.processMode = activeProcessMode;
498
- }
499
- const passthroughAudit = activeProcessMode === "passthrough"
500
- ? buildPassthroughAudit(rawRequest, normalized.providerProtocol)
501
- : undefined;
502
- const inboundEnd = Date.now();
503
- const nodeResults = [];
504
- nodeResults.push({
505
- id: "req_inbound",
506
- success: true,
507
- metadata: {
508
- node: "req_inbound",
509
- executionTime: inboundEnd - inboundStart,
510
- startTime: inboundStart,
511
- endTime: inboundEnd,
512
- dataProcessed: {
513
- messages: standardizedRequest.messages.length,
514
- tools: standardizedRequest.tools?.length ?? 0,
515
- },
516
- },
517
- });
518
- // 将 VirtualRouter 层的 servertool 相关配置注入到 metadata,保证响应侧
519
- // servertool(第三跳 reenter)也能访问到相同配置,即使当前 route 标记为 passthrough。
520
- const metaBase = {
521
- ...(normalized.metadata ?? {}),
522
- };
523
- const rtBase = ensureRuntimeMetadata(metaBase);
524
- const webSearchConfig = this.config.virtualRouter?.webSearch;
525
- if (webSearchConfig) {
526
- rtBase.webSearch = webSearchConfig;
527
- }
528
- const execCommandGuard = this.config.virtualRouter?.execCommandGuard;
529
- if (execCommandGuard) {
530
- rtBase.execCommandGuard = execCommandGuard;
531
- }
532
- const clockConfig = this.config.virtualRouter?.clock;
533
- if (clockConfig) {
534
- rtBase.clock = clockConfig;
535
- }
536
- normalized.metadata = metaBase;
537
- let processedRequest;
538
- if (activeProcessMode !== "passthrough") {
539
- assertNoMappableSemanticsInMetadata(metaBase, "chat_process.request.entry");
540
- const processResult = await measureHubStage(normalized.id, "req_process.stage1_tool_governance", () => runReqProcessStage1ToolGovernance({
541
- request: standardizedRequest,
542
- rawPayload: rawRequest,
543
- metadata: metaBase,
544
- entryEndpoint: normalized.entryEndpoint,
545
- requestId: normalized.id,
546
- stageRecorder: inboundRecorder,
547
- }));
548
- processedRequest = processResult.processedRequest;
549
- // Surface request-side clock reservation into pipeline metadata so response conversion
550
- // can commit delivery only after a successful response is produced.
551
- try {
552
- const reservation = processedRequest?.metadata
553
- ?.__clockReservation;
554
- if (reservation && typeof reservation === "object") {
555
- metaBase.__clockReservation =
556
- reservation;
557
- }
558
- }
559
- catch {
560
- // best-effort: do not block request handling due to metadata propagation failures
561
- }
562
- if (processResult.nodeResult) {
563
- nodeResults.push(this.convertProcessNodeResult("chat_process.req.stage4.tool_governance", processResult.nodeResult));
564
- }
565
- }
566
- else {
567
- nodeResults.push({
568
- id: "chat_process.req.stage4.tool_governance",
569
- success: true,
570
- metadata: {
571
- node: "chat_process.req.stage4.tool_governance",
572
- skipped: true,
573
- reason: "process_mode_passthrough_parse_record_only",
574
- },
575
- });
576
- if (passthroughAudit) {
577
- annotatePassthroughGovernanceSkip(passthroughAudit);
578
- }
579
- }
580
- let workingRequest = syncResponsesContextFromCanonicalMessages(processedRequest ?? standardizedRequest);
581
- // 使用与 VirtualRouter 一致的 tiktoken 计数逻辑,对标准化请求进行一次
582
- // 上下文 token 估算,供后续 usage 归一化与统计使用。
583
- try {
584
- const estimatedTokens = estimateSessionBoundTokens(workingRequest, normalized.metadata) ?? computeRequestTokens(workingRequest, "");
585
- if (typeof estimatedTokens === "number" &&
586
- Number.isFinite(estimatedTokens) &&
587
- estimatedTokens > 0) {
588
- normalized.metadata = normalized.metadata || {};
589
- normalized.metadata.estimatedInputTokens =
590
- estimatedTokens;
591
- }
592
- }
593
- catch {
594
- // 估算失败不应影响主流程
595
- }
596
- const normalizedMeta = normalized.metadata;
597
- // responsesResume is a client-protocol semantic (/v1/responses tool loop) and must live in chat.semantics.
598
- // Do not read it from metadata once entering chat_process.
599
- const responsesResume = readResponsesResumeFromRequestSemantics(workingRequest);
600
- const stdMetadata = workingRequest?.metadata;
601
- const hasImageAttachment = containsImageAttachment((workingRequest.messages ?? []));
602
- const serverToolRequired = stdMetadata?.webSearchEnabled === true ||
603
- stdMetadata?.serverToolRequired === true;
604
- const sessionIdentifiers = extractSessionIdentifiersFromMetadata(normalized.metadata);
605
- // 将从 metadata / clientHeaders 中解析出的会话标识同步回 normalized.metadata,
606
- // 便于后续 AdapterContext(响应侧 servertool)也能访问到相同的 sessionId /
607
- // conversationId,用于 sticky-session 相关逻辑(例如 stopMessage)。
608
- if (sessionIdentifiers.sessionId &&
609
- normalized.metadata &&
610
- typeof normalized.metadata === "object") {
611
- normalized.metadata.sessionId =
612
- sessionIdentifiers.sessionId;
613
- }
614
- if (sessionIdentifiers.conversationId &&
615
- normalized.metadata &&
616
- typeof normalized.metadata === "object") {
617
- normalized.metadata.conversationId =
618
- sessionIdentifiers.conversationId;
619
- }
620
- const disableStickyRoutes = readRuntimeMetadata(normalized.metadata)?.disableStickyRoutes === true;
621
- const stopMessageRouterMetadata = resolveStopMessageRouterMetadata(normalized.metadata);
622
- const estimatedInputTokens = (() => {
623
- const value = normalized.metadata
624
- ?.estimatedInputTokens;
625
- return typeof value === "number" && Number.isFinite(value)
626
- ? value
627
- : undefined;
628
- })();
629
- const metadataInput = {
630
- requestId: normalized.id,
631
- entryEndpoint: normalized.entryEndpoint,
632
- processMode: normalized.processMode,
633
- stream: normalized.stream,
634
- direction: normalized.direction,
635
- providerProtocol: normalized.providerProtocol,
636
- routeHint: normalized.routeHint,
637
- stage: normalized.stage,
638
- responsesResume: responsesResume,
639
- ...(estimatedInputTokens !== undefined ? { estimatedInputTokens } : {}),
640
- ...(disableStickyRoutes ? { disableStickyRoutes: true } : {}),
641
- ...(serverToolRequired ? { serverToolRequired: true } : {}),
642
- ...(sessionIdentifiers.sessionId
643
- ? { sessionId: sessionIdentifiers.sessionId }
644
- : {}),
645
- ...(sessionIdentifiers.conversationId
646
- ? { conversationId: sessionIdentifiers.conversationId }
647
- : {}),
648
- ...stopMessageRouterMetadata,
649
- };
650
- logHubStageTiming(normalized.id, "req_process.stage2_route_select", "start");
651
- const routing = runReqProcessStage2RouteSelect({
652
- routerEngine: this.routerEngine,
653
- request: workingRequest,
654
- metadataInput,
655
- normalizedMetadata: normalized.metadata,
656
- stageRecorder: inboundRecorder,
657
- });
658
- logHubStageTiming(normalized.id, "req_process.stage2_route_select", "completed");
659
- // Emit virtual router hit log for debugging (orange [virtual-router] ...)
660
- try {
661
- const routeName = routing.decision?.routeName;
662
- const providerKey = routing.target?.providerKey;
663
- const modelId = workingRequest.model;
664
- const logger = (normalized.metadata &&
665
- normalized.metadata.logger);
666
- if (logger &&
667
- typeof logger.logVirtualRouterHit === "function" &&
668
- routeName &&
669
- providerKey) {
670
- logger.logVirtualRouterHit(routeName, providerKey, typeof modelId === "string" ? modelId : undefined, typeof sessionIdentifiers.sessionId === "string"
671
- ? sessionIdentifiers.sessionId
672
- : undefined);
673
- }
674
- }
675
- catch {
676
- // logging must not break routing
677
- }
678
- const outboundStream = this.resolveOutboundStreamIntent(routing.target?.streaming);
679
- workingRequest = this.applyOutboundStreamPreference(workingRequest, outboundStream, activeProcessMode);
680
- this.applyMaxTokensPolicy(workingRequest, routing.target);
681
- const outboundAdapterContext = this.buildAdapterContext(normalized, routing.target);
682
- if (routing.target?.compatibilityProfile) {
683
- outboundAdapterContext.compatibilityProfile =
684
- routing.target.compatibilityProfile;
685
- }
686
- const outboundProtocol = outboundAdapterContext.providerProtocol;
687
- if (activeProcessMode === "passthrough" &&
688
- outboundProtocol !== normalized.providerProtocol) {
689
- throw new Error(`[HubPipeline] passthrough requires matching protocols: entry=${normalized.providerProtocol}, target=${outboundProtocol}`);
690
- }
691
- // Snapshots must be grouped by entry endpoint (client-facing protocol), not by provider protocol.
692
- // Otherwise one request would be split across multiple folders (e.g. openai-responses + anthropic-messages),
693
- // which breaks codex-samples correlation.
694
- const outboundRecorder = this.maybeCreateStageRecorder(outboundAdapterContext, normalized.entryEndpoint, {
695
- disableSnapshots: normalized.disableSnapshots === true,
696
- });
697
- const outboundStart = Date.now();
698
- let providerPayload;
699
- let shadowBaselineProviderPayload;
700
- if (activeProcessMode === "passthrough") {
701
- providerPayload = jsonClone(rawRequest);
702
- if (typeof outboundStream === "boolean") {
703
- providerPayload.stream = outboundStream;
704
- }
705
- if (passthroughAudit) {
706
- attachPassthroughProviderInputAudit(passthroughAudit, providerPayload, outboundProtocol);
707
- }
708
- }
709
- else {
710
- const protocolSwitch = outboundProtocol !== normalized.providerProtocol;
711
- const outboundHooks = protocolSwitch
712
- ? this.resolveProtocolHooks(outboundProtocol)
713
- : hooks;
714
- if (!outboundHooks) {
715
- throw new Error(`[HubPipeline] Unsupported provider protocol for hub pipeline: ${outboundProtocol}`);
716
- }
717
- const outboundSemanticMapper = protocolSwitch
718
- ? outboundHooks.createSemanticMapper()
719
- : semanticMapper;
720
- const outboundContextMetadataKey = protocolSwitch
721
- ? outboundHooks.contextMetadataKey
722
- : hooks.contextMetadataKey;
723
- const outboundContextSnapshot = protocolSwitch
724
- ? undefined
725
- : contextSnapshot;
726
- const outboundStage1 = await measureHubStage(normalized.id, "req_outbound.stage1_semantic_map", () => runReqOutboundStage1SemanticMap({
727
- request: workingRequest,
728
- adapterContext: outboundAdapterContext,
729
- semanticMapper: outboundSemanticMapper,
730
- contextSnapshot: outboundContextSnapshot,
731
- contextMetadataKey: outboundContextMetadataKey,
732
- stageRecorder: outboundRecorder,
733
- }));
734
- let formattedPayload = await measureHubStage(normalized.id, "req_outbound.stage2_format_build", () => runReqOutboundStage2FormatBuild({
735
- formatEnvelope: outboundStage1.formatEnvelope,
736
- stageRecorder: outboundRecorder,
737
- }));
738
- formattedPayload = await measureHubStage(normalized.id, "req_outbound.stage3_compat", () => runReqOutboundStage3Compat({
739
- payload: formattedPayload,
740
- adapterContext: outboundAdapterContext,
741
- stageRecorder: outboundRecorder,
742
- }));
743
- if (shadowCompareBaselineMode) {
744
- const baselinePolicy = {
745
- ...(effectivePolicy ?? {}),
746
- mode: shadowCompareBaselineMode,
747
- };
748
- // Compute a baseline provider payload in the *same execution*, without recording
749
- // snapshots/diffs and without re-running the full pipeline. This avoids side effects
750
- // (conversation store, followup captures, etc.) that a second execute() would trigger.
751
- const baselineFormatted = typeof globalThis.structuredClone === "function"
752
- ? globalThis.structuredClone(formattedPayload)
753
- : jsonClone(formattedPayload);
754
- let baselinePayload = applyHubProviderOutboundPolicy({
755
- policy: baselinePolicy,
756
- providerProtocol: outboundProtocol,
757
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
758
- ? outboundAdapterContext.compatibilityProfile
759
- : undefined,
760
- payload: baselineFormatted,
761
- stageRecorder: undefined,
762
- requestId: normalized.id,
763
- });
764
- baselinePayload = applyProviderOutboundToolSurface({
765
- config: this.config.toolSurface,
766
- providerProtocol: outboundProtocol,
767
- payload: baselinePayload,
768
- stageRecorder: undefined,
769
- requestId: normalized.id,
770
- });
771
- shadowBaselineProviderPayload = baselinePayload;
772
- }
773
- // Phase 0/1: observe provider outbound payload violations before any enforcement rewrites.
774
- // This provides black-box visibility into what the pipeline would have sent upstream.
775
- recordHubPolicyObservation({
776
- policy: effectivePolicy,
777
- providerProtocol: outboundProtocol,
778
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
779
- ? outboundAdapterContext.compatibilityProfile
780
- : undefined,
781
- payload: formattedPayload,
782
- stageRecorder: outboundRecorder,
783
- requestId: normalized.id,
784
- });
785
- providerPayload = applyHubProviderOutboundPolicy({
786
- policy: effectivePolicy,
787
- providerProtocol: outboundProtocol,
788
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
789
- ? outboundAdapterContext.compatibilityProfile
790
- : undefined,
791
- payload: formattedPayload,
792
- stageRecorder: outboundRecorder,
793
- requestId: normalized.id,
794
- });
795
- providerPayload = applyProviderOutboundToolSurface({
796
- config: this.config.toolSurface,
797
- providerProtocol: outboundProtocol,
798
- payload: providerPayload,
799
- stageRecorder: outboundRecorder,
800
- requestId: normalized.id,
801
- });
802
- providerPayload = maybeApplyDirectBuiltinWebSearchTool(providerPayload, outboundAdapterContext, outboundProtocol);
803
- recordHubPolicyObservation({
804
- policy: effectivePolicy,
805
- providerProtocol: outboundProtocol,
806
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
807
- ? outboundAdapterContext.compatibilityProfile
808
- : undefined,
809
- payload: providerPayload,
810
- stageRecorder: outboundRecorder,
811
- requestId: normalized.id,
812
- });
813
- if (passthroughAudit) {
814
- attachPassthroughProviderInputAudit(passthroughAudit, providerPayload, outboundProtocol);
815
- }
816
- }
817
- const outboundEnd = Date.now();
818
- nodeResults.push({
819
- id: "req_outbound",
820
- success: true,
821
- metadata: {
822
- node: "req_outbound",
823
- executionTime: outboundEnd - outboundStart,
824
- startTime: outboundStart,
825
- endTime: outboundEnd,
826
- dataProcessed: {
827
- messages: workingRequest.messages.length,
828
- tools: workingRequest.tools?.length ?? 0,
829
- },
830
- },
831
- });
832
- // 为响应侧 servertool/web_search 提供一次性 Chat 请求快照,便于在 Hub 内部实现
833
- // 第三跳(将工具结果注入消息历史后重新调用主模型)。
834
- //
835
- // 注意:这里不再根据 processMode(passthrough/chat) 做分支判断——即使某些
836
- // route 将 processMode 标记为 passthrough,我们仍然需要保留一次规范化后的
837
- // Chat 请求快照,供 stopMessage 等被动触发型
838
- // servertool 在响应阶段使用。
839
- //
840
- // 之前这里通过 JSON.stringify/parse 做深拷贝,但在部分 Responses/Gemini
841
- // 场景下,workingRequest 上携带的 metadata 可能包含无法安全序列化的字段,
842
- // 导致克隆过程抛错、capturedChatRequest 被静默丢弃,从而让响应侧的
843
- // stop_message_auto 等 ServerTool 无法获取上一跳的 Chat 请求。
844
- //
845
- // 对于 capturedChatRequest,我们只需要一个“可读快照”,不会在后续流程中
846
- // 对其做就地修改,因此可以直接使用浅拷贝结构,避免序列化失败导致整段
847
- // 逻辑失效。
848
- // Deep-clone a JSON-safe snapshot for servertool followups.
849
- // Only capture the canonical Chat payload fields (model/messages/tools/parameters) to keep it serializable.
850
- const capturedChatRequest = {
851
- model: workingRequest.model,
852
- messages: jsonClone(workingRequest.messages),
853
- tools: workingRequest.tools
854
- ? jsonClone(workingRequest.tools)
855
- : workingRequest.tools,
856
- parameters: workingRequest.parameters
857
- ? jsonClone(workingRequest.parameters)
858
- : workingRequest.parameters,
859
- };
860
- const metadata = {
861
- ...normalized.metadata,
862
- capturedChatRequest,
863
- entryEndpoint: normalized.entryEndpoint,
864
- providerProtocol: outboundProtocol,
865
- stream: normalized.stream,
866
- processMode: normalized.processMode,
867
- ...(passthroughAudit ? { passthroughAudit } : {}),
868
- routeHint: normalized.routeHint,
869
- target: routing.target,
870
- ...(typeof outboundStream === "boolean"
871
- ? { providerStream: outboundStream }
872
- : {}),
873
- ...(shadowBaselineProviderPayload
874
- ? {
875
- hubShadowCompare: {
876
- baselineMode: shadowCompareBaselineMode,
877
- candidateMode: (effectivePolicy?.mode ?? "off"),
878
- providerProtocol: outboundProtocol,
879
- baselineProviderPayload: shadowBaselineProviderPayload,
880
- },
881
- }
882
- : {}),
883
- };
884
- if (hasImageAttachment) {
885
- metadata.hasImageAttachment = true;
886
- }
887
- else {
888
- delete metadata.hasImageAttachment;
889
- }
890
- return {
891
- requestId: normalized.id,
892
- providerPayload,
893
- standardizedRequest,
894
- processedRequest,
895
- routingDecision: routing.decision,
896
- routingDiagnostics: routing.diagnostics,
897
- target: routing.target,
898
- metadata,
899
- nodeResults,
900
- };
901
- }
902
- resolveClientProtocol(entryEndpoint) {
903
- const protocol = resolveHubClientProtocolWithNative(entryEndpoint);
904
- if (protocol === "openai-responses" ||
905
- protocol === "anthropic-messages" ||
906
- protocol === "openai-chat") {
907
- return protocol;
908
- }
909
- return "openai-chat";
910
- }
911
- coerceStandardizedRequestFromPayload(payload, normalized) {
912
- const model = typeof payload.model === "string" && payload.model.trim().length
913
- ? payload.model.trim()
914
- : "";
915
- if (!model) {
916
- throw new Error("[HubPipeline] outbound stage requires payload.model");
917
- }
918
- const messages = Array.isArray(payload.messages)
919
- ? payload.messages
920
- : null;
921
- if (!messages) {
922
- throw new Error("[HubPipeline] outbound stage requires payload.messages[]");
923
- }
924
- const tools = Array.isArray(payload.tools)
925
- ? payload.tools
926
- : undefined;
927
- const parameters = payload.parameters &&
928
- typeof payload.parameters === "object" &&
929
- !Array.isArray(payload.parameters)
930
- ? payload.parameters
931
- : {};
932
- const semanticsFromPayload = payload.semantics &&
933
- typeof payload.semantics === "object" &&
934
- !Array.isArray(payload.semantics)
935
- ? jsonClone(payload.semantics)
936
- : undefined;
937
- const metadataFromPayload = payload.metadata &&
938
- typeof payload.metadata === "object" &&
939
- !Array.isArray(payload.metadata)
940
- ? payload.metadata
941
- : undefined;
942
- const standardizedRequest = {
943
- model,
944
- messages,
945
- ...(tools ? { tools } : {}),
946
- parameters,
947
- metadata: {
948
- originalEndpoint: normalized.entryEndpoint,
949
- ...(metadataFromPayload ? metadataFromPayload : {}),
950
- requestId: normalized.id,
951
- stream: normalized.stream,
952
- processMode: normalized.processMode,
953
- ...(normalized.routeHint ? { routeHint: normalized.routeHint } : {}),
954
- },
955
- ...(semanticsFromPayload
956
- ? { semantics: semanticsFromPayload }
957
- : {}),
958
- };
959
- // Ensure followup/chat_process entry can still preserve mappable semantics
960
- // without injecting them into metadata.
961
- try {
962
- const semantics = standardizedRequest.semantics &&
963
- typeof standardizedRequest.semantics === "object"
964
- ? standardizedRequest.semantics
965
- : (standardizedRequest.semantics = {});
966
- if (!semantics.tools ||
967
- typeof semantics.tools !== "object" ||
968
- Array.isArray(semantics.tools)) {
969
- semantics.tools = {};
970
- }
971
- const toolsNode = semantics.tools;
972
- if (Array.isArray(payload.tools) &&
973
- payload.tools.length &&
974
- toolsNode.clientToolsRaw === undefined) {
975
- toolsNode.clientToolsRaw = jsonClone(payload.tools);
976
- }
977
- }
978
- catch {
979
- // best-effort
980
- }
981
- // Keep rawPayload minimal and JSON-safe; chat-process only needs the OpenAI-chat-like surface here.
982
- const rawPayload = {
983
- model,
984
- messages,
985
- ...(tools ? { tools } : {}),
986
- ...(parameters && Object.keys(parameters).length ? { parameters } : {}),
987
- };
988
- return { standardizedRequest, rawPayload };
989
- }
990
- async executeChatProcessEntryPipeline(normalized) {
991
- const hooks = this.resolveProtocolHooks(normalized.providerProtocol);
992
- if (!hooks) {
993
- throw new Error(`Unsupported provider protocol for hub pipeline: ${normalized.providerProtocol}`);
994
- }
995
- const nodeResults = [];
996
- nodeResults.push({
997
- id: "req_inbound",
998
- success: true,
999
- metadata: {
1000
- node: "req_inbound",
1001
- skipped: true,
1002
- reason: "stage=outbound",
1003
- dataProcessed: {},
1004
- },
1005
- });
1006
- const rawPayloadInput = this.asJsonObject(normalized.payload);
1007
- const { standardizedRequest: standardizedRequestBase, rawPayload } = this.coerceStandardizedRequestFromPayload(rawPayloadInput, normalized);
1008
- // Keep metadata injection consistent with the inbound path: servertool/web_search config must be available
1009
- // to chat-process/tool governance even when request enters at outbound stage.
1010
- const metaBase = {
1011
- ...(normalized.metadata ?? {}),
1012
- };
1013
- const rtBase = ensureRuntimeMetadata(metaBase);
1014
- const webSearchConfig = this.config.virtualRouter?.webSearch;
1015
- if (webSearchConfig) {
1016
- rtBase.webSearch = webSearchConfig;
1017
- }
1018
- const execCommandGuard = this.config.virtualRouter?.execCommandGuard;
1019
- if (execCommandGuard) {
1020
- rtBase.execCommandGuard = execCommandGuard;
1021
- }
1022
- const clockConfig = this.config.virtualRouter?.clock;
1023
- if (clockConfig) {
1024
- rtBase.clock = clockConfig;
1025
- }
1026
- normalized.metadata = metaBase;
1027
- const cleanedRequest = applyChatProcessEntryMediaCleanup(standardizedRequestBase);
1028
- let standardizedRequest = cleanedRequest;
1029
- const activeProcessMode = resolveActiveProcessMode(normalized.processMode, cleanedRequest.messages);
1030
- if (activeProcessMode !== normalized.processMode) {
1031
- normalized.processMode = activeProcessMode;
1032
- }
1033
- const passthroughAudit = activeProcessMode === "passthrough"
1034
- ? buildPassthroughAudit(rawPayload, normalized.providerProtocol)
1035
- : undefined;
1036
- // Semantic Gate (chat_process entry): lift any mappable protocol semantics from metadata into request.semantics.
1037
- // This is the last chance before entering chat_process; after this point we fail-fast on banned metadata keys.
1038
- try {
1039
- standardizedRequest = liftResponsesResumeIntoSemantics(standardizedRequest, metaBase);
1040
- }
1041
- catch {
1042
- // best-effort; validation happens below
1043
- }
1044
- try {
1045
- const rt = readRuntimeMetadata(metaBase);
1046
- const mode = String(rt?.applyPatchToolMode || "")
1047
- .trim()
1048
- .toLowerCase();
1049
- if (mode === "freeform" || mode === "schema") {
1050
- standardizedRequest.metadata.applyPatchToolMode = mode;
1051
- }
1052
- }
1053
- catch {
1054
- // ignore
1055
- }
1056
- const adapterContext = this.buildAdapterContext(normalized);
1057
- const stageRecorder = this.maybeCreateStageRecorder(adapterContext, normalized.entryEndpoint, {
1058
- disableSnapshots: normalized.disableSnapshots === true,
1059
- });
1060
- let processedRequest;
1061
- if (activeProcessMode !== "passthrough") {
1062
- assertNoMappableSemanticsInMetadata(metaBase, "chat_process.request.entry");
1063
- const processResult = await runReqProcessStage1ToolGovernance({
1064
- request: standardizedRequest,
1065
- rawPayload,
1066
- metadata: metaBase,
1067
- entryEndpoint: normalized.entryEndpoint,
1068
- requestId: normalized.id,
1069
- stageRecorder,
1070
- });
1071
- processedRequest = processResult.processedRequest;
1072
- // Surface request-side clock reservation into pipeline metadata so response conversion
1073
- // can commit delivery only after a successful response is produced.
1074
- try {
1075
- const reservation = processedRequest?.metadata
1076
- ?.__clockReservation;
1077
- if (reservation && typeof reservation === "object") {
1078
- metaBase.__clockReservation =
1079
- reservation;
1080
- }
1081
- }
1082
- catch {
1083
- // best-effort
1084
- }
1085
- if (processResult.nodeResult) {
1086
- nodeResults.push(this.convertProcessNodeResult("chat_process.req.stage4.tool_governance", processResult.nodeResult));
1087
- }
1088
- }
1089
- else {
1090
- nodeResults.push({
1091
- id: "chat_process.req.stage4.tool_governance",
1092
- success: true,
1093
- metadata: {
1094
- node: "chat_process.req.stage4.tool_governance",
1095
- skipped: true,
1096
- reason: "process_mode_passthrough_parse_record_only",
1097
- },
1098
- });
1099
- if (passthroughAudit) {
1100
- annotatePassthroughGovernanceSkip(passthroughAudit);
1101
- }
1102
- }
1103
- let workingRequest = syncResponsesContextFromCanonicalMessages(processedRequest ?? standardizedRequest);
1104
- // Token estimate for stats/diagnostics (best-effort).
1105
- try {
1106
- const estimatedTokens = estimateSessionBoundTokens(workingRequest, normalized.metadata) ?? computeRequestTokens(workingRequest, "");
1107
- if (typeof estimatedTokens === "number" &&
1108
- Number.isFinite(estimatedTokens) &&
1109
- estimatedTokens > 0) {
1110
- normalized.metadata = normalized.metadata || {};
1111
- normalized.metadata.estimatedInputTokens =
1112
- estimatedTokens;
1113
- }
1114
- }
1115
- catch {
1116
- // ignore
1117
- }
1118
- const normalizedMeta = normalized.metadata;
1119
- // responsesResume is a client-protocol semantic (/v1/responses tool loop) and must live in chat.semantics.
1120
- // Do not read it from metadata once entering chat_process.
1121
- const responsesResume = readResponsesResumeFromRequestSemantics(workingRequest);
1122
- const stdMetadata = workingRequest?.metadata;
1123
- const hasImageAttachment = containsImageAttachment((workingRequest.messages ?? []));
1124
- const serverToolRequired = stdMetadata?.webSearchEnabled === true ||
1125
- stdMetadata?.serverToolRequired === true;
1126
- const sessionIdentifiers = extractSessionIdentifiersFromMetadata(normalized.metadata);
1127
- if (sessionIdentifiers.sessionId &&
1128
- normalized.metadata &&
1129
- typeof normalized.metadata === "object") {
1130
- normalized.metadata.sessionId =
1131
- sessionIdentifiers.sessionId;
1132
- }
1133
- if (sessionIdentifiers.conversationId &&
1134
- normalized.metadata &&
1135
- typeof normalized.metadata === "object") {
1136
- normalized.metadata.conversationId =
1137
- sessionIdentifiers.conversationId;
1138
- }
1139
- const disableStickyRoutes = readRuntimeMetadata(normalized.metadata)?.disableStickyRoutes === true;
1140
- const stopMessageRouterMetadata = resolveStopMessageRouterMetadata(normalized.metadata);
1141
- const metadataInput = {
1142
- requestId: normalized.id,
1143
- entryEndpoint: normalized.entryEndpoint,
1144
- processMode: normalized.processMode,
1145
- stream: normalized.stream,
1146
- direction: normalized.direction,
1147
- providerProtocol: normalized.providerProtocol,
1148
- routeHint: normalized.routeHint,
1149
- stage: normalized.stage,
1150
- responsesResume: responsesResume,
1151
- ...(disableStickyRoutes ? { disableStickyRoutes: true } : {}),
1152
- ...(serverToolRequired ? { serverToolRequired: true } : {}),
1153
- ...(sessionIdentifiers.sessionId
1154
- ? { sessionId: sessionIdentifiers.sessionId }
1155
- : {}),
1156
- ...(sessionIdentifiers.conversationId
1157
- ? { conversationId: sessionIdentifiers.conversationId }
1158
- : {}),
1159
- ...stopMessageRouterMetadata,
1160
- };
1161
- const routing = runReqProcessStage2RouteSelect({
1162
- routerEngine: this.routerEngine,
1163
- request: workingRequest,
1164
- metadataInput,
1165
- normalizedMetadata: normalized.metadata,
1166
- stageRecorder,
1167
- });
1168
- // Emit virtual router hit log for debugging (same as inbound path).
1169
- try {
1170
- const routeName = routing.decision?.routeName;
1171
- const providerKey = routing.target?.providerKey;
1172
- const modelId = workingRequest.model;
1173
- const logger = (normalized.metadata &&
1174
- normalized.metadata.logger);
1175
- if (logger &&
1176
- typeof logger.logVirtualRouterHit === "function" &&
1177
- routeName &&
1178
- providerKey) {
1179
- logger.logVirtualRouterHit(routeName, providerKey, typeof modelId === "string" ? modelId : undefined, typeof sessionIdentifiers.sessionId === "string"
1180
- ? sessionIdentifiers.sessionId
1181
- : undefined);
1182
- }
1183
- }
1184
- catch {
1185
- // ignore
1186
- }
1187
- const outboundStream = this.resolveOutboundStreamIntent(routing.target?.streaming);
1188
- workingRequest = this.applyOutboundStreamPreference(workingRequest, outboundStream, activeProcessMode);
1189
- const outboundAdapterContext = this.buildAdapterContext(normalized, routing.target);
1190
- if (routing.target?.compatibilityProfile) {
1191
- outboundAdapterContext.compatibilityProfile =
1192
- routing.target.compatibilityProfile;
1193
- }
1194
- const outboundProtocol = outboundAdapterContext.providerProtocol;
1195
- if (activeProcessMode === "passthrough" &&
1196
- outboundProtocol !== normalized.providerProtocol) {
1197
- throw new Error(`[HubPipeline] passthrough requires matching protocols: entry=${normalized.providerProtocol}, target=${outboundProtocol}`);
1198
- }
1199
- const outboundRecorder = this.maybeCreateStageRecorder(outboundAdapterContext, normalized.entryEndpoint, {
1200
- disableSnapshots: normalized.disableSnapshots === true,
1201
- });
1202
- const outboundStart = Date.now();
1203
- let providerPayload;
1204
- if (activeProcessMode === "passthrough") {
1205
- providerPayload = jsonClone(rawPayloadInput);
1206
- if (typeof outboundStream === "boolean") {
1207
- providerPayload.stream = outboundStream;
1208
- }
1209
- if (passthroughAudit) {
1210
- attachPassthroughProviderInputAudit(passthroughAudit, providerPayload, outboundProtocol);
1211
- }
1212
- }
1213
- else {
1214
- const protocolSwitch = outboundProtocol !== normalized.providerProtocol;
1215
- const outboundHooks = protocolSwitch
1216
- ? this.resolveProtocolHooks(outboundProtocol)
1217
- : hooks;
1218
- if (!outboundHooks) {
1219
- throw new Error(`[HubPipeline] Unsupported provider protocol for hub pipeline: ${outboundProtocol}`);
1220
- }
1221
- const outboundSemanticMapper = protocolSwitch
1222
- ? outboundHooks.createSemanticMapper()
1223
- : hooks.createSemanticMapper();
1224
- const outboundContextMetadataKey = protocolSwitch
1225
- ? outboundHooks.contextMetadataKey
1226
- : hooks.contextMetadataKey;
1227
- const outboundContextSnapshot = undefined;
1228
- const outboundStage1 = await measureHubStage(normalized.id, "req_outbound.stage1_semantic_map", () => runReqOutboundStage1SemanticMap({
1229
- request: workingRequest,
1230
- adapterContext: outboundAdapterContext,
1231
- semanticMapper: outboundSemanticMapper,
1232
- contextSnapshot: outboundContextSnapshot,
1233
- contextMetadataKey: outboundContextMetadataKey,
1234
- stageRecorder: outboundRecorder,
1235
- }));
1236
- let formattedPayload = await measureHubStage(normalized.id, "req_outbound.stage2_format_build", () => runReqOutboundStage2FormatBuild({
1237
- formatEnvelope: outboundStage1.formatEnvelope,
1238
- stageRecorder: outboundRecorder,
1239
- }));
1240
- formattedPayload = await measureHubStage(normalized.id, "req_outbound.stage3_compat", () => runReqOutboundStage3Compat({
1241
- payload: formattedPayload,
1242
- adapterContext: outboundAdapterContext,
1243
- stageRecorder: outboundRecorder,
1244
- }));
1245
- // Phase 0/1: observe + enforce provider outbound policy and tool surface (same as inbound path).
1246
- const effectivePolicy = normalized.policyOverride ?? this.config.policy;
1247
- recordHubPolicyObservation({
1248
- policy: effectivePolicy,
1249
- providerProtocol: outboundProtocol,
1250
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
1251
- ? outboundAdapterContext.compatibilityProfile
1252
- : undefined,
1253
- payload: formattedPayload,
1254
- stageRecorder: outboundRecorder,
1255
- requestId: normalized.id,
1256
- });
1257
- providerPayload = applyHubProviderOutboundPolicy({
1258
- policy: effectivePolicy,
1259
- providerProtocol: outboundProtocol,
1260
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
1261
- ? outboundAdapterContext.compatibilityProfile
1262
- : undefined,
1263
- payload: formattedPayload,
1264
- stageRecorder: outboundRecorder,
1265
- requestId: normalized.id,
1266
- });
1267
- providerPayload = applyProviderOutboundToolSurface({
1268
- config: this.config.toolSurface,
1269
- providerProtocol: outboundProtocol,
1270
- payload: providerPayload,
1271
- stageRecorder: outboundRecorder,
1272
- requestId: normalized.id,
1273
- });
1274
- providerPayload = maybeApplyDirectBuiltinWebSearchTool(providerPayload, outboundAdapterContext, outboundProtocol);
1275
- recordHubPolicyObservation({
1276
- policy: effectivePolicy,
1277
- providerProtocol: outboundProtocol,
1278
- compatibilityProfile: typeof outboundAdapterContext.compatibilityProfile === "string"
1279
- ? outboundAdapterContext.compatibilityProfile
1280
- : undefined,
1281
- payload: providerPayload,
1282
- stageRecorder: outboundRecorder,
1283
- requestId: normalized.id,
1284
- });
1285
- if (passthroughAudit) {
1286
- attachPassthroughProviderInputAudit(passthroughAudit, providerPayload, outboundProtocol);
1287
- }
1288
- }
1289
- const outboundEnd = Date.now();
1290
- nodeResults.push({
1291
- id: "req_outbound",
1292
- success: true,
1293
- metadata: {
1294
- node: "req_outbound",
1295
- executionTime: outboundEnd - outboundStart,
1296
- startTime: outboundStart,
1297
- endTime: outboundEnd,
1298
- dataProcessed: {
1299
- messages: workingRequest.messages.length,
1300
- tools: workingRequest.tools?.length ?? 0,
1301
- },
1302
- },
1303
- });
1304
- const capturedChatRequest = {
1305
- model: workingRequest.model,
1306
- messages: jsonClone(workingRequest.messages),
1307
- tools: workingRequest.tools
1308
- ? jsonClone(workingRequest.tools)
1309
- : workingRequest.tools,
1310
- parameters: workingRequest.parameters
1311
- ? jsonClone(workingRequest.parameters)
1312
- : workingRequest.parameters,
1313
- };
1314
- const metadata = {
1315
- ...normalized.metadata,
1316
- capturedChatRequest,
1317
- entryEndpoint: normalized.entryEndpoint,
1318
- providerProtocol: outboundProtocol,
1319
- stream: normalized.stream,
1320
- processMode: normalized.processMode,
1321
- ...(passthroughAudit ? { passthroughAudit } : {}),
1322
- routeHint: normalized.routeHint,
1323
- target: routing.target,
1324
- ...(typeof outboundStream === "boolean"
1325
- ? { providerStream: outboundStream }
1326
- : {}),
1327
- };
1328
- if (hasImageAttachment) {
1329
- metadata.hasImageAttachment = true;
1330
- }
1331
- else {
1332
- delete metadata.hasImageAttachment;
1333
- }
1334
- return {
1335
- requestId: normalized.id,
1336
- providerPayload,
1337
- standardizedRequest,
1338
- processedRequest,
1339
- routingDecision: routing.decision,
1340
- routingDiagnostics: routing.diagnostics,
1341
- target: routing.target,
1342
- metadata,
1343
- nodeResults,
1344
- };
1345
- }
1346
- async execute(request) {
1347
- const normalized = await this.normalizeRequest(request);
1348
- clearHubStageTiming(normalized.id);
1349
- try {
1350
- if (normalized.direction === "request" &&
1351
- normalized.hubEntryMode === "chat_process") {
1352
- return await this.executeChatProcessEntryPipeline(normalized);
1353
- }
1354
- const hooks = this.resolveProtocolHooks(normalized.providerProtocol);
1355
- if (!hooks) {
1356
- throw new Error(`Unsupported provider protocol for hub pipeline: ${normalized.providerProtocol}`);
1357
- }
1358
- return await this.executeRequestStagePipeline(normalized, hooks);
1359
- }
1360
- finally {
1361
- clearHubStageTiming(normalized.id);
1362
- }
1363
- }
1364
- captureAnthropicAliasMap(normalized, adapterContext, chatEnvelope) {
1365
- if (!this.shouldCaptureAnthropicAlias(normalized.entryEndpoint)) {
1366
- return;
1367
- }
1368
- const aliasMap = this.resolveAliasMapFromSources(adapterContext, chatEnvelope);
1369
- if (!aliasMap) {
1370
- return;
1371
- }
1372
- // A1: tool name alias map is mappable semantics and must live in chat.semantics (never metadata).
1373
- try {
1374
- if (!chatEnvelope.semantics ||
1375
- typeof chatEnvelope.semantics !== "object" ||
1376
- Array.isArray(chatEnvelope.semantics)) {
1377
- chatEnvelope.semantics = {};
1378
- }
1379
- const semantics = chatEnvelope.semantics;
1380
- if (!semantics.tools || !isJsonObject(semantics.tools)) {
1381
- semantics.tools = {};
1382
- }
1383
- const toolsNode = semantics.tools;
1384
- if (!isJsonObject(toolsNode.toolNameAliasMap) &&
1385
- !isJsonObject(toolsNode.toolAliasMap)) {
1386
- toolsNode.toolNameAliasMap = jsonClone(aliasMap);
1387
- }
1388
- }
1389
- catch {
1390
- // best-effort: never block request handling due to alias map propagation failures
1391
- }
1392
- }
1393
- shouldCaptureAnthropicAlias(endpoint) {
1394
- return (typeof endpoint === "string" &&
1395
- endpoint.toLowerCase().includes("/v1/messages"));
1396
- }
1397
- resolveAliasMapFromSources(adapterContext, chatEnvelope) {
1398
- const fromContext = coerceAliasMap(adapterContext.anthropicToolNameMap);
1399
- if (fromContext) {
1400
- return fromContext;
1401
- }
1402
- const metadataNode = chatEnvelope.metadata;
1403
- const direct = metadataNode
1404
- ? coerceAliasMap(metadataNode.anthropicToolNameMap)
1405
- : undefined;
1406
- if (direct) {
1407
- return direct;
1408
- }
1409
- const contextNode = metadataNode &&
1410
- metadataNode.context &&
1411
- typeof metadataNode.context === "object"
1412
- ? metadataNode.context
1413
- : undefined;
1414
- const fromContextNode = coerceAliasMap(contextNode?.anthropicToolNameMap);
1415
- if (fromContextNode) {
1416
- return fromContextNode;
1417
- }
1418
- return readAliasMapFromSemantics(chatEnvelope);
1419
- }
1420
- resolveProtocolHooks(protocol) {
1421
- switch (protocol) {
1422
- case "openai-chat":
1423
- return {
1424
- createFormatAdapter: () => new ChatFormatAdapter(),
1425
- createSemanticMapper: () => new ChatSemanticMapper(),
1426
- captureContext: (options) => runChatContextCapture(options),
1427
- contextMetadataKey: "chatContext",
1428
- };
1429
- case "openai-responses":
1430
- return {
1431
- createFormatAdapter: () => new ResponsesFormatAdapter(),
1432
- createSemanticMapper: () => new ResponsesSemanticMapper(),
1433
- captureContext: createResponsesContextCapture(captureResponsesContextSnapshot),
1434
- contextMetadataKey: "responsesContext",
1435
- };
1436
- case "anthropic-messages":
1437
- return {
1438
- createFormatAdapter: () => new AnthropicFormatAdapter(),
1439
- createSemanticMapper: () => new AnthropicSemanticMapper(),
1440
- captureContext: (options) => runChatContextCapture(options),
1441
- contextMetadataKey: "anthropicContext",
1442
- };
1443
- case "gemini-chat":
1444
- return {
1445
- createFormatAdapter: () => new GeminiFormatAdapter(),
1446
- createSemanticMapper: () => new GeminiSemanticMapper(),
1447
- captureContext: createNoopContextCapture("gemini-chat"),
1448
- };
1449
- default:
1450
- return undefined;
1451
- }
1452
- }
1453
- buildAdapterContext(normalized, target) {
1454
- const metadata = normalized.metadata || {};
1455
- const providerProtocol = target?.outboundProfile ||
1456
- normalized.providerProtocol;
1457
- const providerId = (target?.providerKey || metadata.providerKey);
1458
- const routeId = metadata.routeName;
1459
- const profileId = (target?.providerKey || metadata.pipelineId);
1460
- const targetCompatProfile = typeof target?.compatibilityProfile === "string" &&
1461
- target.compatibilityProfile.trim()
1462
- ? target.compatibilityProfile.trim()
1463
- : undefined;
1464
- const metadataCompatProfile = typeof metadata.compatibilityProfile ===
1465
- "string"
1466
- ? String(metadata.compatibilityProfile).trim()
1467
- : undefined;
1468
- // When routing has already selected a target runtime, compat must be target-scoped only.
1469
- // Never inherit stale top-level metadata.compatibilityProfile from a previous hop.
1470
- const compatibilityProfile = target
1471
- ? targetCompatProfile
1472
- : metadataCompatProfile;
1473
- const streamingHint = normalized.stream === true
1474
- ? "force"
1475
- : normalized.stream === false
1476
- ? "disable"
1477
- : "auto";
1478
- const toolCallIdStyle = normalizeReqInboundToolCallIdStyleWithNative(metadata.toolCallIdStyle);
1479
- const adapterContext = {
1480
- requestId: normalized.id,
1481
- entryEndpoint: normalized.entryEndpoint || "/v1/chat/completions",
1482
- providerProtocol,
1483
- providerId,
1484
- routeId,
1485
- profileId,
1486
- streamingHint,
1487
- toolCallIdStyle,
1488
- ...(compatibilityProfile ? { compatibilityProfile } : {}),
1489
- };
1490
- const targetDeepseek = isJsonObject(target?.deepseek)
1491
- ? jsonClone(target.deepseek)
1492
- : undefined;
1493
- if (targetDeepseek) {
1494
- adapterContext.deepseek = targetDeepseek;
1495
- const rtCarrier = isJsonObject(adapterContext.__rt)
1496
- ? {
1497
- ...adapterContext.__rt,
1498
- }
1499
- : {};
1500
- rtCarrier.deepseek = targetDeepseek;
1501
- adapterContext.__rt =
1502
- rtCarrier;
1503
- }
1504
- const runtime = metadata.runtime;
1505
- if (runtime && typeof runtime === "object" && !Array.isArray(runtime)) {
1506
- adapterContext.runtime = jsonClone(runtime);
1507
- }
1508
- const clientRequestId = typeof metadata.clientRequestId === "string"
1509
- ? metadata.clientRequestId.trim()
1510
- : "";
1511
- if (clientRequestId) {
1512
- adapterContext.clientRequestId =
1513
- clientRequestId;
1514
- }
1515
- const groupRequestId = typeof metadata.groupRequestId === "string"
1516
- ? metadata.groupRequestId.trim()
1517
- : "";
1518
- if (groupRequestId) {
1519
- adapterContext.groupRequestId =
1520
- groupRequestId;
1521
- }
1522
- if (typeof metadata.originalModelId === "string") {
1523
- adapterContext.originalModelId = metadata.originalModelId;
1524
- }
1525
- if (typeof metadata.clientModelId === "string") {
1526
- adapterContext.clientModelId = metadata.clientModelId;
1527
- }
1528
- if (typeof metadata.assignedModelId === "string") {
1529
- adapterContext.modelId =
1530
- metadata.assignedModelId;
1531
- }
1532
- const estimatedInputTokens = Number(metadata.estimatedInputTokens ??
1533
- metadata.estimated_tokens ??
1534
- metadata.estimatedTokens);
1535
- if (Number.isFinite(estimatedInputTokens) && estimatedInputTokens > 0) {
1536
- adapterContext.estimatedInputTokens =
1537
- Math.max(1, Math.round(estimatedInputTokens));
1538
- }
1539
- const rt = cloneRuntimeMetadata(metadata);
1540
- if (rt) {
1541
- adapterContext.__rt = rt;
1542
- }
1543
- const capturedChatRequest = metadata.capturedChatRequest &&
1544
- typeof metadata.capturedChatRequest ===
1545
- "object" &&
1546
- !Array.isArray(metadata.capturedChatRequest)
1547
- ? jsonClone(metadata
1548
- .capturedChatRequest)
1549
- : undefined;
1550
- if (capturedChatRequest) {
1551
- adapterContext.capturedChatRequest =
1552
- capturedChatRequest;
1553
- }
1554
- const sessionId = typeof metadata.sessionId === "string"
1555
- ? metadata.sessionId.trim()
1556
- : "";
1557
- if (sessionId) {
1558
- adapterContext.sessionId = sessionId;
1559
- }
1560
- const conversationId = typeof metadata.conversationId === "string"
1561
- ? metadata.conversationId.trim()
1562
- : "";
1563
- if (conversationId) {
1564
- adapterContext.conversationId =
1565
- conversationId;
1566
- }
1567
- propagateAdapterContextMetadataFields(adapterContext, metadata, [
1568
- "clockDaemonId",
1569
- "clockClientDaemonId",
1570
- "clock_daemon_id",
1571
- "clock_client_daemon_id",
1572
- "tmuxSessionId",
1573
- "tmux_session_id",
1574
- "clientType",
1575
- "clockClientType",
1576
- "clientInjectReady",
1577
- "clientInjectReason",
1578
- "client_inject_ready",
1579
- "client_inject_reason",
1580
- "workdir",
1581
- "cwd",
1582
- "workingDirectory",
1583
- ]);
1584
- const clientConnectionState = metadata
1585
- .clientConnectionState;
1586
- if (clientConnectionState &&
1587
- typeof clientConnectionState === "object" &&
1588
- !Array.isArray(clientConnectionState)) {
1589
- const stateRecord = clientConnectionState;
1590
- adapterContext.clientConnectionState =
1591
- clientConnectionState;
1592
- if (typeof stateRecord.disconnected === "boolean") {
1593
- adapterContext.clientDisconnected =
1594
- stateRecord.disconnected;
1595
- }
1596
- }
1597
- const clientDisconnectedRaw = metadata
1598
- .clientDisconnected;
1599
- if (clientDisconnectedRaw === true ||
1600
- (typeof clientDisconnectedRaw === "string" &&
1601
- clientDisconnectedRaw.trim().toLowerCase() === "true")) {
1602
- adapterContext.clientDisconnected = true;
1603
- }
1604
- if (target?.compatibilityProfile &&
1605
- typeof target.compatibilityProfile === "string") {
1606
- adapterContext.compatibilityProfile =
1607
- target.compatibilityProfile;
1608
- }
1609
- return adapterContext;
1610
- }
1611
- applyMaxTokensPolicy(request, target) {
1612
- if (!target) {
1613
- return;
1614
- }
1615
- const params = request.parameters || (request.parameters = {});
1616
- const direct = typeof params.max_tokens === "number" &&
1617
- Number.isFinite(params.max_tokens)
1618
- ? Math.floor(params.max_tokens)
1619
- : undefined;
1620
- const maxOutputRaw = typeof params.max_output_tokens ===
1621
- "number" &&
1622
- Number.isFinite(params.max_output_tokens)
1623
- ? Math.floor(params.max_output_tokens)
1624
- : undefined;
1625
- const requested = direct ?? maxOutputRaw;
1626
- let configuredDefault = typeof target.maxOutputTokens === "number" &&
1627
- Number.isFinite(target.maxOutputTokens)
1628
- ? Math.floor(target.maxOutputTokens)
1629
- : undefined;
1630
- if (!configuredDefault) {
1631
- const registry = this.routerEngine.providerRegistry;
1632
- const profile = registry?.get?.(target.providerKey);
1633
- const candidate = typeof profile?.maxOutputTokens === "number" &&
1634
- Number.isFinite(profile.maxOutputTokens)
1635
- ? Math.floor(profile.maxOutputTokens)
1636
- : undefined;
1637
- if (candidate && candidate > 0) {
1638
- configuredDefault = candidate;
1639
- }
1640
- }
1641
- const desired = requested && requested > 0 ? requested : configuredDefault;
1642
- if (desired && desired > 0) {
1643
- params.max_tokens = desired;
1644
- if (params.max_output_tokens !== undefined) {
1645
- params.max_output_tokens = desired;
1646
- }
1647
- }
1648
- }
1649
- maybeCreateStageRecorder(context, endpoint, options) {
1650
- if (options?.disableSnapshots === true) {
1651
- return undefined;
1652
- }
1653
- if (!shouldRecordSnapshots()) {
1654
- return undefined;
1655
- }
1656
- const effectiveEndpoint = endpoint || context.entryEndpoint || "/v1/chat/completions";
1657
- try {
1658
- return createSnapshotRecorder(context, effectiveEndpoint);
1659
- }
1660
- catch {
1661
- return undefined;
1662
- }
1663
- }
1664
- asJsonObject(value) {
1665
- if (!value || typeof value !== "object") {
1666
- throw new Error("Responses pipeline requires JSON object payload");
1667
- }
1668
- return value;
1669
- }
1670
- async normalizeRequest(request) {
1671
- if (!request || typeof request !== "object") {
1672
- throw new Error("HubPipeline requires request payload");
1673
- }
1674
- const id = request.id || `req_${Date.now()}`;
1675
- const endpoint = normalizeEndpoint(request.endpoint);
1676
- const metadataRecord = {
1677
- ...(request.metadata ?? {}),
1678
- };
1679
- const policyOverride = extractHubPolicyOverride(metadataRecord);
1680
- if (Object.prototype.hasOwnProperty.call(metadataRecord, "__hubPolicyOverride")) {
1681
- delete metadataRecord.__hubPolicyOverride;
1682
- }
1683
- const shadowCompare = extractHubShadowCompareConfig(metadataRecord);
1684
- if (Object.prototype.hasOwnProperty.call(metadataRecord, "__hubShadowCompare")) {
1685
- delete metadataRecord.__hubShadowCompare;
1686
- }
1687
- const disableSnapshots = metadataRecord.__disableHubSnapshots === true;
1688
- if (Object.prototype.hasOwnProperty.call(metadataRecord, "__disableHubSnapshots")) {
1689
- delete metadataRecord.__disableHubSnapshots;
1690
- }
1691
- const hubEntryRaw = typeof metadataRecord.__hubEntry === "string"
1692
- ? String(metadataRecord.__hubEntry)
1693
- .trim()
1694
- .toLowerCase()
1695
- : "";
1696
- const hubEntryMode = hubEntryRaw === "chat_process" ||
1697
- hubEntryRaw === "chat-process" ||
1698
- hubEntryRaw === "chatprocess"
1699
- ? "chat_process"
1700
- : undefined;
1701
- if (Object.prototype.hasOwnProperty.call(metadataRecord, "__hubEntry")) {
1702
- delete metadataRecord.__hubEntry;
1703
- }
1704
- const entryEndpoint = typeof metadataRecord.entryEndpoint === "string"
1705
- ? normalizeEndpoint(metadataRecord.entryEndpoint)
1706
- : endpoint;
1707
- const providerProtocol = resolveProviderProtocol(metadataRecord.providerProtocol);
1708
- const processMode = metadataRecord.processMode === "passthrough" ? "passthrough" : "chat";
1709
- const direction = metadataRecord.direction === "response" ? "response" : "request";
1710
- const stage = metadataRecord.stage === "outbound" ? "outbound" : "inbound";
1711
- const resolvedReadable = this.unwrapReadable(request.payload);
1712
- const stream = Boolean(metadataRecord.stream ||
1713
- resolvedReadable ||
1714
- (request.payload &&
1715
- typeof request.payload === "object" &&
1716
- request.payload.stream));
1717
- let payload = await this.materializePayload(request.payload, {
1718
- requestId: id,
1719
- entryEndpoint,
1720
- providerProtocol,
1721
- metadata: metadataRecord,
1722
- }, resolvedReadable);
1723
- const routeHint = typeof metadataRecord.routeHint === "string"
1724
- ? metadataRecord.routeHint
1725
- : undefined;
1726
- const orchestrationResult = runHubPipelineOrchestrationWithNative({
1727
- requestId: id,
1728
- endpoint,
1729
- entryEndpoint,
1730
- providerProtocol,
1731
- payload,
1732
- metadata: {
1733
- entryEndpoint,
1734
- providerProtocol,
1735
- processMode,
1736
- direction,
1737
- stage,
1738
- stream,
1739
- ...(routeHint ? { routeHint } : {}),
1740
- },
1741
- stream,
1742
- processMode,
1743
- direction,
1744
- stage,
1745
- });
1746
- if (!orchestrationResult.success) {
1747
- const code = orchestrationResult.error &&
1748
- typeof orchestrationResult.error.code === "string"
1749
- ? orchestrationResult.error.code.trim()
1750
- : "hub_pipeline_native_failed";
1751
- const message = orchestrationResult.error &&
1752
- typeof orchestrationResult.error.message === "string"
1753
- ? orchestrationResult.error.message.trim()
1754
- : "Native hub pipeline orchestration failed";
1755
- throw new Error(`[${code}] ${message}`);
1756
- }
1757
- if (orchestrationResult.payload) {
1758
- payload = orchestrationResult.payload;
1759
- }
1760
- const normalizedMetadata = {
1761
- ...metadataRecord,
1762
- entryEndpoint,
1763
- providerProtocol,
1764
- processMode,
1765
- direction,
1766
- stage,
1767
- stream,
1768
- ...(routeHint ? { routeHint } : {}),
1769
- ...(orchestrationResult.metadata ?? {}),
1770
- };
1771
- return {
1772
- id,
1773
- endpoint,
1774
- entryEndpoint,
1775
- providerProtocol,
1776
- payload,
1777
- metadata: normalizedMetadata,
1778
- policyOverride: policyOverride ?? undefined,
1779
- shadowCompare: shadowCompare ?? undefined,
1780
- disableSnapshots,
1781
- processMode,
1782
- direction,
1783
- stage,
1784
- stream,
1785
- routeHint,
1786
- ...(hubEntryMode ? { hubEntryMode } : {}),
1787
- };
1788
- }
1789
- convertProcessNodeResult(id, result) {
1790
- return {
1791
- id,
1792
- success: result.success,
1793
- metadata: result.metadata,
1794
- error: result.error
1795
- ? {
1796
- code: result.error.code ?? "hub_chat_process_error",
1797
- message: result.error.message,
1798
- details: result.error.details,
1799
- }
1800
- : undefined,
1801
- };
1802
- }
1803
- async materializePayload(payload, context, resolvedStream) {
1804
- const stream = resolvedStream ?? this.unwrapReadable(payload);
1805
- if (stream) {
1806
- return await this.convertSsePayload(stream, context);
1807
- }
1808
- if (!payload || typeof payload !== "object") {
1809
- throw new Error("HubPipeline requires JSON object payload");
1810
- }
1811
- return payload;
1812
- }
1813
- unwrapReadable(payload) {
1814
- if (!payload) {
1815
- return null;
1816
- }
1817
- if (payload instanceof Readable) {
1818
- return payload;
1819
- }
1820
- if (payload && typeof payload === "object" && "readable" in payload) {
1821
- const candidate = payload.readable;
1822
- if (candidate instanceof Readable) {
1823
- return candidate;
1824
- }
1825
- }
1826
- return null;
1827
- }
1828
- async convertSsePayload(stream, context) {
1829
- const protocol = this.resolveSseProtocol(context);
1830
- const codec = defaultSseCodecRegistry.get(protocol);
1831
- try {
1832
- const result = await codec.convertSseToJson(stream, {
1833
- requestId: context.requestId,
1834
- model: this.extractModelHint(context.metadata),
1835
- direction: "request",
1836
- });
1837
- if (!result || typeof result !== "object") {
1838
- throw new Error("SSE conversion returned empty payload");
1839
- }
1840
- return result;
1841
- }
1842
- catch (error) {
1843
- const message = error instanceof Error
1844
- ? error.message
1845
- : String(error ?? "Unknown error");
1846
- throw new Error(`Failed to convert SSE payload for protocol ${protocol}: ${message}`);
1847
- }
1848
- }
1849
- resolveSseProtocol(context) {
1850
- const explicitProtocol = resolveSseProtocolFromMetadata(context.metadata);
1851
- if (explicitProtocol) {
1852
- return explicitProtocol;
1853
- }
1854
- return context.providerProtocol;
1855
- }
1856
- extractModelHint(metadata) {
1857
- if (typeof metadata.model === "string" && metadata.model.trim()) {
1858
- return metadata.model;
1859
- }
1860
- const provider = metadata.provider;
1861
- const candidates = [
1862
- provider?.model,
1863
- provider?.modelId,
1864
- provider?.defaultModel,
1865
- ];
1866
- for (const candidate of candidates) {
1867
- if (typeof candidate === "string" && candidate.trim()) {
1868
- return candidate;
1869
- }
1870
- }
1871
- return undefined;
1872
- }
1873
- resolveOutboundStreamIntent(providerPreference) {
1874
- return resolveOutboundStreamIntentWithNative(providerPreference);
1875
- }
1876
- applyOutboundStreamPreference(request, stream, processMode) {
1877
- if (!request || typeof request !== "object") {
1878
- return request;
1879
- }
1880
- return applyOutboundStreamPreferenceWithNative(request, stream, processMode);
1881
- }
1882
- }
1883
- function normalizeEndpoint(endpoint) {
1884
- return normalizeHubEndpointWithNative(endpoint);
1885
- }
1886
- function resolveProviderProtocol(value) {
1887
- try {
1888
- const normalized = resolveHubProviderProtocolWithNative(value);
1889
- if (normalized === "openai-chat" ||
1890
- normalized === "openai-responses" ||
1891
- normalized === "anthropic-messages" ||
1892
- normalized === "gemini-chat") {
1893
- return normalized;
1894
- }
1895
- }
1896
- catch {
1897
- // Keep legacy caller-facing error shape below.
1898
- }
1899
- throw new Error(`[HubPipeline] Unsupported providerProtocol "${value}". Configure a valid protocol (openai-chat|openai-responses|anthropic-messages|gemini-chat).`);
1900
- }
1901
- function resolveSseProtocolFromMetadata(metadata) {
1902
- const resolved = resolveHubSseProtocolFromMetadataWithNative(metadata);
1903
- if (!resolved) {
1904
- return undefined;
1905
- }
1906
- return resolveProviderProtocol(resolved);
1907
- }
1908
- function coerceAliasMap(candidate) {
1909
- return normalizeAliasMapWithNative(candidate);
1910
- }
1911
- function readAliasMapFromSemantics(chatEnvelope) {
1912
- if (!chatEnvelope?.semantics ||
1913
- typeof chatEnvelope.semantics !== "object" ||
1914
- Array.isArray(chatEnvelope.semantics)) {
1915
- return undefined;
1916
- }
1917
- return resolveAliasMapFromRespSemanticsWithNative(chatEnvelope.semantics);
1918
- }
1919
- function assertNoMappableSemanticsInMetadata(metadata, scope) {
1920
- if (!metadata || typeof metadata !== "object") {
1921
- return;
1922
- }
1923
- const present = findMappableSemanticsKeysWithNative(metadata);
1924
- if (present.length) {
1925
- throw new Error(`[HubPipeline][semantic_gate] Mappable semantics must not be stored in metadata (${scope}): ${present.join(", ")}`);
1926
- }
1927
- }