@jsonstudio/llms 0.6.2172 → 0.6.2979

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 (362) hide show
  1. package/README.md +2 -0
  2. package/dist/conversion/compat/antigravity-session-signature.js +35 -1
  3. package/dist/conversion/compat/profiles/chat-gemini-cli.json +0 -7
  4. package/dist/conversion/compat/profiles/chat-gemini.json +0 -6
  5. package/dist/conversion/hub/core/detour-registry.d.ts +2 -0
  6. package/dist/conversion/hub/core/hub-context.d.ts +3 -1
  7. package/dist/conversion/hub/core/index.d.ts +1 -0
  8. package/dist/conversion/hub/core/stage-driver.js +2 -0
  9. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.js +15 -4
  10. package/dist/conversion/hub/format-adapters/chat-format-adapter.js +15 -4
  11. package/dist/conversion/hub/format-adapters/gemini-format-adapter.js +15 -4
  12. package/dist/conversion/hub/format-adapters/responses-format-adapter.js +15 -4
  13. package/dist/conversion/hub/hub-feature.js +3 -2
  14. package/dist/conversion/hub/node-support.js +9 -4
  15. package/dist/conversion/hub/operation-table/operation-table-runner.js +10 -6
  16. package/dist/conversion/hub/operation-table/semantic-mappers/anthropic-mapper.js +2 -2
  17. package/dist/conversion/hub/operation-table/semantic-mappers/chat-mapper.js +10 -10
  18. package/dist/conversion/hub/operation-table/semantic-mappers/gemini-mapper.js +4 -8
  19. package/dist/conversion/hub/operation-table/semantic-mappers/responses-mapper.js +19 -65
  20. package/dist/conversion/hub/ops/operations.js +2 -121
  21. package/dist/conversion/hub/pipeline/compat/compat-engine.js +6 -0
  22. package/dist/conversion/hub/pipeline/compat/compat-pipeline-executor.d.ts +1 -1
  23. package/dist/conversion/hub/pipeline/compat/compat-pipeline-executor.js +33 -1042
  24. package/dist/conversion/hub/pipeline/compat/compat-profile-resolver.js +2 -0
  25. package/dist/conversion/hub/pipeline/compat/compat-profile-store.js +2 -0
  26. package/dist/conversion/hub/pipeline/compat/compat-types.d.ts +14 -17
  27. package/dist/conversion/hub/pipeline/compat/native-adapter-context.d.ts +3 -0
  28. package/dist/conversion/hub/pipeline/compat/native-adapter-context.js +39 -0
  29. package/dist/conversion/hub/pipeline/hub-pipeline.js +115 -262
  30. package/dist/conversion/hub/pipeline/session-identifiers.js +6 -196
  31. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage1_format_parse/index.d.ts +1 -2
  32. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage1_format_parse/index.js +37 -1
  33. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.js +12 -86
  34. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/semantic-lift.d.ts +14 -0
  35. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/semantic-lift.js +24 -0
  36. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/archive/shell-like-tool-call-normalization-fallback.d.ts +2 -0
  37. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/archive/shell-like-tool-call-normalization-fallback.js +157 -0
  38. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-capture-orchestration.d.ts +16 -0
  39. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-capture-orchestration.js +29 -0
  40. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/context-factories.js +3 -1
  41. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/index.d.ts +2 -15
  42. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/index.js +8 -595
  43. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/responses-context-snapshot.d.ts +8 -0
  44. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/responses-context-snapshot.js +28 -0
  45. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-diagnostics.d.ts +2 -0
  46. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-diagnostics.js +4 -0
  47. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-snapshot.d.ts +10 -0
  48. package/dist/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage3_context_capture/tool-output-snapshot.js +12 -0
  49. package/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/context-merge.d.ts +3 -0
  50. package/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/context-merge.js +30 -0
  51. package/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage1_semantic_map/index.js +9 -129
  52. package/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage2_format_build/index.d.ts +1 -4
  53. package/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage2_format_build/index.js +9 -26
  54. package/dist/conversion/hub/pipeline/stages/req_outbound/req_outbound_stage3_compat/index.js +32 -14
  55. package/dist/conversion/hub/pipeline/stages/req_process/req_process_stage1_tool_governance/index.d.ts +2 -2
  56. package/dist/conversion/hub/pipeline/stages/req_process/req_process_stage1_tool_governance/index.js +48 -8
  57. package/dist/conversion/hub/pipeline/stages/req_process/req_process_stage2_route_select/index.js +18 -3
  58. package/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/index.js +10 -198
  59. package/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/stream-json-sniffer.d.ts +3 -0
  60. package/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage1_sse_decode/stream-json-sniffer.js +81 -0
  61. package/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage2_format_parse/index.d.ts +1 -2
  62. package/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage2_format_parse/index.js +36 -1
  63. package/dist/conversion/hub/pipeline/stages/resp_inbound/resp_inbound_stage3_semantic_map/index.js +3 -1
  64. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/chat-process-semantics-bridge.d.ts +6 -0
  65. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/chat-process-semantics-bridge.js +17 -0
  66. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/client-remap-protocol-switch.d.ts +9 -0
  67. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/client-remap-protocol-switch.js +28 -0
  68. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/index.d.ts +1 -2
  69. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage1_client_remap/index.js +14 -102
  70. package/dist/conversion/hub/pipeline/stages/resp_outbound/resp_outbound_stage2_sse_stream/index.js +3 -1
  71. package/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.js +12 -10
  72. package/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage2_finalize/index.js +6 -5
  73. package/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage3_servertool_orchestration/index.d.ts +11 -1
  74. package/dist/conversion/hub/pipeline/stages/resp_process/resp_process_stage3_servertool_orchestration/index.js +10 -32
  75. package/dist/conversion/hub/pipeline/stages/utils.js +17 -1
  76. package/dist/conversion/hub/pipeline/target-utils.js +14 -91
  77. package/dist/conversion/hub/pipelines/inbound.js +3 -1
  78. package/dist/conversion/hub/pipelines/outbound.js +2 -0
  79. package/dist/conversion/hub/policy/policy-engine.js +9 -3
  80. package/dist/conversion/hub/policy/protocol-spec.js +20 -148
  81. package/dist/conversion/hub/process/chat-process-anthropic-alias.d.ts +2 -0
  82. package/dist/conversion/hub/process/chat-process-anthropic-alias.js +36 -0
  83. package/dist/conversion/hub/process/chat-process-clock-directive-parser.d.ts +5 -0
  84. package/dist/conversion/hub/process/chat-process-clock-directive-parser.js +48 -0
  85. package/dist/conversion/hub/process/chat-process-clock-directives.d.ts +24 -0
  86. package/dist/conversion/hub/process/chat-process-clock-directives.js +98 -0
  87. package/dist/conversion/hub/process/chat-process-clock-reminder-directives.d.ts +8 -0
  88. package/dist/conversion/hub/process/chat-process-clock-reminder-directives.js +42 -0
  89. package/dist/conversion/hub/process/chat-process-clock-reminder-finalize.d.ts +14 -0
  90. package/dist/conversion/hub/process/chat-process-clock-reminder-finalize.js +10 -0
  91. package/dist/conversion/hub/process/chat-process-clock-reminder-messages.d.ts +5 -0
  92. package/dist/conversion/hub/process/chat-process-clock-reminder-messages.js +10 -0
  93. package/dist/conversion/hub/process/chat-process-clock-reminder-orchestration.d.ts +30 -0
  94. package/dist/conversion/hub/process/chat-process-clock-reminder-orchestration.js +68 -0
  95. package/dist/conversion/hub/process/chat-process-clock-reminder-time-tag.d.ts +9 -0
  96. package/dist/conversion/hub/process/chat-process-clock-reminder-time-tag.js +18 -0
  97. package/dist/conversion/hub/process/chat-process-clock-reminders.d.ts +2 -0
  98. package/dist/conversion/hub/process/chat-process-clock-reminders.js +104 -0
  99. package/dist/conversion/hub/process/chat-process-clock-tool-schemas.d.ts +3 -0
  100. package/dist/conversion/hub/process/chat-process-clock-tool-schemas.js +233 -0
  101. package/dist/conversion/hub/process/chat-process-clock-tools.d.ts +6 -0
  102. package/dist/conversion/hub/process/chat-process-clock-tools.js +41 -0
  103. package/dist/conversion/hub/process/chat-process-continue-execution.d.ts +11 -0
  104. package/dist/conversion/hub/process/chat-process-continue-execution.js +82 -0
  105. package/dist/conversion/hub/process/chat-process-governance-context.d.ts +15 -0
  106. package/dist/conversion/hub/process/chat-process-governance-context.js +7 -0
  107. package/dist/conversion/hub/process/chat-process-governance-finalize.d.ts +16 -0
  108. package/dist/conversion/hub/process/chat-process-governance-finalize.js +11 -0
  109. package/dist/conversion/hub/process/chat-process-governance-orchestration.d.ts +9 -0
  110. package/dist/conversion/hub/process/chat-process-governance-orchestration.js +47 -0
  111. package/dist/conversion/hub/process/chat-process-governed-control-ops.d.ts +8 -0
  112. package/dist/conversion/hub/process/chat-process-governed-control-ops.js +5 -0
  113. package/dist/conversion/hub/process/chat-process-governed-filter-call.d.ts +12 -0
  114. package/dist/conversion/hub/process/chat-process-governed-filter-call.js +18 -0
  115. package/dist/conversion/hub/process/chat-process-governed-merge.d.ts +8 -0
  116. package/dist/conversion/hub/process/chat-process-governed-merge.js +11 -0
  117. package/dist/conversion/hub/process/chat-process-media.d.ts +3 -0
  118. package/dist/conversion/hub/process/chat-process-media.js +18 -0
  119. package/dist/conversion/hub/process/chat-process-node-result.d.ts +23 -0
  120. package/dist/conversion/hub/process/chat-process-node-result.js +24 -0
  121. package/dist/conversion/hub/process/chat-process-pending-tool-sync.d.ts +14 -0
  122. package/dist/conversion/hub/process/chat-process-pending-tool-sync.js +52 -0
  123. package/dist/conversion/hub/process/chat-process-post-governed-normalization.d.ts +8 -0
  124. package/dist/conversion/hub/process/chat-process-post-governed-normalization.js +16 -0
  125. package/dist/conversion/hub/process/chat-process-review.d.ts +2 -0
  126. package/dist/conversion/hub/process/chat-process-review.js +8 -0
  127. package/dist/conversion/hub/process/chat-process-servertool-orchestration.d.ts +8 -0
  128. package/dist/conversion/hub/process/chat-process-servertool-orchestration.js +22 -0
  129. package/dist/conversion/hub/process/chat-process-tool-normalization.d.ts +2 -0
  130. package/dist/conversion/hub/process/chat-process-tool-normalization.js +4 -0
  131. package/dist/conversion/hub/process/chat-process-web-search-intent.d.ts +12 -0
  132. package/dist/conversion/hub/process/chat-process-web-search-intent.js +13 -0
  133. package/dist/conversion/hub/process/chat-process-web-search-tool-schema.d.ts +3 -0
  134. package/dist/conversion/hub/process/chat-process-web-search-tool-schema.js +4 -0
  135. package/dist/conversion/hub/process/chat-process-web-search.d.ts +8 -0
  136. package/dist/conversion/hub/process/chat-process-web-search.js +26 -0
  137. package/dist/conversion/hub/process/chat-process.d.ts +2 -19
  138. package/dist/conversion/hub/process/chat-process.js +12 -1701
  139. package/dist/conversion/hub/process/client-inject-readiness.d.ts +1 -0
  140. package/dist/conversion/hub/process/client-inject-readiness.js +4 -0
  141. package/dist/conversion/hub/registry.js +5 -2
  142. package/dist/conversion/hub/response/chat-response-utils.js +5 -86
  143. package/dist/conversion/hub/response/provider-response.d.ts +9 -0
  144. package/dist/conversion/hub/response/provider-response.js +6 -21
  145. package/dist/conversion/hub/response/response-mappers.js +2 -26
  146. package/dist/conversion/hub/response/response-runtime.js +2 -93
  147. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +1 -0
  148. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.js +1 -0
  149. package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +1 -0
  150. package/dist/conversion/hub/semantic-mappers/chat-mapper.js +1 -0
  151. package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +1 -0
  152. package/dist/conversion/hub/semantic-mappers/gemini-mapper.js +1 -0
  153. package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +1 -0
  154. package/dist/conversion/hub/semantic-mappers/responses-mapper.js +1 -0
  155. package/dist/conversion/hub/snapshot-recorder.js +10 -3
  156. package/dist/conversion/hub/standardized-bridge.js +11 -288
  157. package/dist/conversion/hub/tool-governance/engine.js +5 -0
  158. package/dist/conversion/hub/tool-governance/rules.js +10 -10
  159. package/dist/conversion/hub/tool-session-compat.d.ts +2 -2
  160. package/dist/conversion/hub/tool-session-compat.js +17 -231
  161. package/dist/conversion/hub/tool-surface/tool-surface-engine.js +5 -3
  162. package/dist/conversion/responses/responses-host-policy.js +2 -12
  163. package/dist/conversion/responses/responses-openai-bridge/response-payload.js +6 -82
  164. package/dist/conversion/responses/responses-openai-bridge/types.d.ts +1 -0
  165. package/dist/conversion/responses/responses-openai-bridge.js +21 -54
  166. package/dist/conversion/shared/anthropic-message-utils.js +151 -13
  167. package/dist/conversion/shared/args-mapping.js +2 -146
  168. package/dist/conversion/shared/bridge-actions.js +203 -718
  169. package/dist/conversion/shared/bridge-id-utils.js +5 -71
  170. package/dist/conversion/shared/bridge-instructions.js +2 -1
  171. package/dist/conversion/shared/bridge-message-types.d.ts +2 -0
  172. package/dist/conversion/shared/bridge-message-utils.js +1 -2
  173. package/dist/conversion/shared/bridge-metadata.d.ts +1 -0
  174. package/dist/conversion/shared/bridge-metadata.js +4 -0
  175. package/dist/conversion/shared/bridge-policies.js +5 -189
  176. package/dist/conversion/shared/chat-envelope-validator.js +2 -126
  177. package/dist/conversion/shared/chat-output-normalizer.js +2 -54
  178. package/dist/conversion/shared/compaction-detect.js +2 -57
  179. package/dist/conversion/shared/gemini-tool-utils.js +9 -524
  180. package/dist/conversion/shared/jsonish.js +3 -160
  181. package/dist/conversion/shared/mcp-injection.js +3 -169
  182. package/dist/conversion/shared/media.js +2 -7
  183. package/dist/conversion/shared/metadata-passthrough.js +9 -46
  184. package/dist/conversion/shared/openai-finalizer.js +2 -1
  185. package/dist/conversion/shared/openai-message-normalize.js +11 -283
  186. package/dist/conversion/shared/output-content-normalizer.js +9 -112
  187. package/dist/conversion/shared/payload-budget.js +2 -85
  188. package/dist/conversion/shared/protocol-state.js +11 -7
  189. package/dist/conversion/shared/reasoning-mapping.js +2 -6
  190. package/dist/conversion/shared/reasoning-normalizer.js +4 -1
  191. package/dist/conversion/shared/reasoning-tool-normalizer.js +14 -126
  192. package/dist/conversion/shared/reasoning-tool-parser.js +4 -87
  193. package/dist/conversion/shared/reasoning-utils.js +2 -6
  194. package/dist/conversion/shared/responses-conversation-store.js +4 -82
  195. package/dist/conversion/shared/responses-output-builder.js +11 -47
  196. package/dist/conversion/shared/responses-reasoning-registry.js +7 -1
  197. package/dist/conversion/shared/responses-request-adapter.d.ts +7 -1
  198. package/dist/conversion/shared/responses-request-adapter.js +14 -1
  199. package/dist/conversion/shared/responses-response-utils.js +6 -7
  200. package/dist/conversion/shared/responses-tool-utils.d.ts +1 -0
  201. package/dist/conversion/shared/responses-tool-utils.js +90 -14
  202. package/dist/conversion/shared/runtime-metadata.js +13 -5
  203. package/dist/conversion/shared/streaming-text-extractor.js +2 -7
  204. package/dist/conversion/shared/text-markup-normalizer/normalize.d.ts +1 -1
  205. package/dist/conversion/shared/text-markup-normalizer/normalize.js +43 -17
  206. package/dist/conversion/shared/text-markup-normalizer.d.ts +1 -0
  207. package/dist/conversion/shared/text-markup-normalizer.js +1 -0
  208. package/dist/conversion/shared/thought-signature-validator.js +3 -2
  209. package/dist/conversion/shared/tool-argument-repairer.js +2 -2
  210. package/dist/conversion/shared/tool-call-id-manager.js +5 -7
  211. package/dist/conversion/shared/tool-call-utils.js +3 -45
  212. package/dist/conversion/shared/tool-canonicalizer.js +25 -29
  213. package/dist/conversion/shared/tool-filter-pipeline.js +4 -99
  214. package/dist/conversion/shared/tool-governor.d.ts +6 -0
  215. package/dist/conversion/shared/tool-governor.js +43 -125
  216. package/dist/conversion/shared/tool-harvester.js +2 -8
  217. package/dist/conversion/shared/tool-mapping.js +2 -5
  218. package/dist/conversion/shared/tooling.d.ts +0 -4
  219. package/dist/conversion/shared/tooling.js +18 -0
  220. package/dist/native/router_hotpath_napi.node +0 -0
  221. package/dist/router/virtual-router/engine/provider-key/parse.d.ts +1 -6
  222. package/dist/router/virtual-router/engine/provider-key/parse.js +1 -43
  223. package/dist/router/virtual-router/engine/routing-state/store.js +48 -12
  224. package/dist/router/virtual-router/engine-logging.js +4 -3
  225. package/dist/router/virtual-router/engine-selection/alias-selection.js +45 -83
  226. package/dist/router/virtual-router/engine-selection/key-parsing.js +9 -23
  227. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-directive-parser.d.ts +20 -0
  228. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-directive-parser.js +163 -0
  229. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-directives.d.ts +7 -0
  230. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-directives.js +103 -0
  231. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-orchestration-semantics.d.ts +10 -0
  232. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-orchestration-semantics.js +110 -0
  233. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-semantics.d.ts +8 -0
  234. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-semantics.js +281 -0
  235. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-time-tag-semantics.d.ts +1 -0
  236. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminder-time-tag-semantics.js +25 -0
  237. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminders-semantics.d.ts +4 -0
  238. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-reminders-semantics.js +44 -0
  239. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-tool-schema-semantics.d.ts +2 -0
  240. package/dist/router/virtual-router/engine-selection/native-chat-process-clock-tool-schema-semantics.js +62 -0
  241. package/dist/router/virtual-router/engine-selection/native-chat-process-governance-semantics.d.ts +40 -0
  242. package/dist/router/virtual-router/engine-selection/native-chat-process-governance-semantics.js +484 -0
  243. package/dist/router/virtual-router/engine-selection/native-chat-process-governed-filter-semantics.d.ts +9 -0
  244. package/dist/router/virtual-router/engine-selection/native-chat-process-governed-filter-semantics.js +64 -0
  245. package/dist/router/virtual-router/engine-selection/native-chat-process-node-result-semantics.d.ts +5 -0
  246. package/dist/router/virtual-router/engine-selection/native-chat-process-node-result-semantics.js +163 -0
  247. package/dist/router/virtual-router/engine-selection/native-chat-process-post-governed-normalization-semantics.d.ts +1 -0
  248. package/dist/router/virtual-router/engine-selection/native-chat-process-post-governed-normalization-semantics.js +49 -0
  249. package/dist/router/virtual-router/engine-selection/native-chat-process-servertool-orchestration-semantics.d.ts +30 -0
  250. package/dist/router/virtual-router/engine-selection/native-chat-process-servertool-orchestration-semantics.js +446 -0
  251. package/dist/router/virtual-router/engine-selection/native-chat-process-web-search-intent-semantics.d.ts +1 -0
  252. package/dist/router/virtual-router/engine-selection/native-chat-process-web-search-intent-semantics.js +49 -0
  253. package/dist/router/virtual-router/engine-selection/native-hub-bridge-action-semantics.d.ts +134 -0
  254. package/dist/router/virtual-router/engine-selection/native-hub-bridge-action-semantics.js +729 -0
  255. package/dist/router/virtual-router/engine-selection/native-hub-bridge-policy-semantics.d.ts +62 -0
  256. package/dist/router/virtual-router/engine-selection/native-hub-bridge-policy-semantics.js +338 -0
  257. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-edge-stage-semantics.d.ts +18 -0
  258. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-edge-stage-semantics.js +317 -0
  259. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-inbound-outbound-semantics.d.ts +22 -0
  260. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-inbound-outbound-semantics.js +426 -0
  261. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.d.ts +57 -0
  262. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-orchestration-semantics.js +705 -0
  263. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.d.ts +46 -0
  264. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-inbound-semantics.js +503 -0
  265. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-outbound-semantics.d.ts +146 -0
  266. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-outbound-semantics.js +570 -0
  267. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-process-semantics.d.ts +25 -0
  268. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-req-process-semantics.js +148 -0
  269. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.d.ts +25 -0
  270. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-resp-semantics.js +637 -0
  271. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-session-identifiers-semantics.d.ts +11 -0
  272. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-session-identifiers-semantics.js +207 -0
  273. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-target-semantics.d.ts +3 -0
  274. package/dist/router/virtual-router/engine-selection/native-hub-pipeline-target-semantics.js +128 -0
  275. package/dist/router/virtual-router/engine-selection/native-router-hotpath-analysis.d.ts +57 -0
  276. package/dist/router/virtual-router/engine-selection/native-router-hotpath-analysis.js +217 -0
  277. package/dist/router/virtual-router/engine-selection/native-router-hotpath-loader.d.ts +5 -0
  278. package/dist/router/virtual-router/engine-selection/native-router-hotpath-loader.js +284 -0
  279. package/dist/router/virtual-router/engine-selection/native-router-hotpath-policy.d.ts +5 -0
  280. package/dist/router/virtual-router/engine-selection/native-router-hotpath-policy.js +18 -0
  281. package/dist/router/virtual-router/engine-selection/native-router-hotpath-quota-buckets.d.ts +25 -0
  282. package/dist/router/virtual-router/engine-selection/native-router-hotpath-quota-buckets.js +85 -0
  283. package/dist/router/virtual-router/engine-selection/native-router-hotpath.d.ts +59 -0
  284. package/dist/router/virtual-router/engine-selection/native-router-hotpath.js +117 -0
  285. package/dist/router/virtual-router/engine-selection/native-shared-conversion-semantics.d.ts +76 -0
  286. package/dist/router/virtual-router/engine-selection/native-shared-conversion-semantics.js +1166 -0
  287. package/dist/router/virtual-router/engine-selection/native-virtual-router-alias-selection-semantics.d.ts +16 -0
  288. package/dist/router/virtual-router/engine-selection/native-virtual-router-alias-selection-semantics.js +96 -0
  289. package/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-actions-semantics.d.ts +6 -0
  290. package/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-actions-semantics.js +85 -0
  291. package/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-semantics.d.ts +9 -0
  292. package/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-semantics.js +70 -0
  293. package/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-state-semantics.d.ts +2 -0
  294. package/dist/router/virtual-router/engine-selection/native-virtual-router-stop-message-state-semantics.js +76 -0
  295. package/dist/router/virtual-router/engine-selection/route-utils.js +1 -1
  296. package/dist/router/virtual-router/engine-selection/tier-selection-antigravity-session-lease.d.ts +10 -0
  297. package/dist/router/virtual-router/engine-selection/tier-selection-antigravity-session-lease.js +231 -0
  298. package/dist/router/virtual-router/engine-selection/tier-selection-antigravity-target-split.d.ts +4 -0
  299. package/dist/router/virtual-router/engine-selection/tier-selection-antigravity-target-split.js +43 -0
  300. package/dist/router/virtual-router/engine-selection/tier-selection-quota-integration.d.ts +27 -0
  301. package/dist/router/virtual-router/engine-selection/tier-selection-quota-integration.js +116 -0
  302. package/dist/router/virtual-router/engine-selection/tier-selection-select.d.ts +1 -1
  303. package/dist/router/virtual-router/engine-selection/tier-selection-select.js +29 -129
  304. package/dist/router/virtual-router/engine-selection/tier-selection.js +2 -265
  305. package/dist/router/virtual-router/engine.js +258 -249
  306. package/dist/router/virtual-router/features.js +2 -2
  307. package/dist/router/virtual-router/routing-instructions.d.ts +5 -7
  308. package/dist/router/virtual-router/routing-instructions.js +93 -66
  309. package/dist/router/virtual-router/routing-stop-message-actions.js +91 -112
  310. package/dist/router/virtual-router/routing-stop-message-parser.js +9 -132
  311. package/dist/router/virtual-router/routing-stop-message-state-codec.d.ts +1 -0
  312. package/dist/router/virtual-router/routing-stop-message-state-codec.js +58 -71
  313. package/dist/router/virtual-router/sticky-session-store.js +4 -2
  314. package/dist/router/virtual-router/stop-message-file-resolver.d.ts +1 -0
  315. package/dist/router/virtual-router/stop-message-file-resolver.js +10 -0
  316. package/dist/router/virtual-router/stop-message-state-sync.d.ts +1 -1
  317. package/dist/router/virtual-router/stop-message-state-sync.js +3 -7
  318. package/dist/router/virtual-router/token-counter.js +0 -9
  319. package/dist/router/virtual-router/types.d.ts +9 -7
  320. package/dist/servertool/clock/config.js +23 -51
  321. package/dist/servertool/clock/io.js +1 -0
  322. package/dist/servertool/clock/session-scope.d.ts +2 -2
  323. package/dist/servertool/clock/session-scope.js +5 -47
  324. package/dist/servertool/engine.d.ts +9 -0
  325. package/dist/servertool/engine.js +196 -79
  326. package/dist/servertool/handlers/antigravity-thought-signature-bootstrap.js +2 -2
  327. package/dist/servertool/handlers/clock.js +1 -1
  328. package/dist/servertool/handlers/continue-execution.js +8 -4
  329. package/dist/servertool/handlers/followup-request-builder.js +18 -1
  330. package/dist/servertool/handlers/gemini-empty-reply-continue.js +7 -1
  331. package/dist/servertool/handlers/review.js +180 -0
  332. package/dist/servertool/handlers/stop-message-auto/blocked-report.js +59 -1
  333. package/dist/servertool/handlers/stop-message-auto/iflow-followup.d.ts +23 -2
  334. package/dist/servertool/handlers/stop-message-auto/iflow-followup.js +397 -89
  335. package/dist/servertool/handlers/stop-message-auto/routing-state.d.ts +5 -15
  336. package/dist/servertool/handlers/stop-message-auto/routing-state.js +29 -55
  337. package/dist/servertool/handlers/stop-message-auto/runtime-utils.d.ts +6 -0
  338. package/dist/servertool/handlers/stop-message-auto/runtime-utils.js +35 -61
  339. package/dist/servertool/handlers/stop-message-auto.js +392 -76
  340. package/dist/servertool/server-side-tools.d.ts +1 -0
  341. package/dist/servertool/server-side-tools.js +90 -52
  342. package/dist/servertool/types.d.ts +17 -0
  343. package/dist/tools/apply-patch/patch-text/normalize.js +11 -0
  344. package/dist/tools/exec-command/validator.d.ts +4 -1
  345. package/dist/tools/exec-command/validator.js +87 -3
  346. package/dist/tools/tool-registry.d.ts +7 -1
  347. package/dist/tools/tool-registry.js +3 -2
  348. package/package.json +115 -7
  349. package/dist/servertool/handlers/stop-message-stage-policy/bd-runtime.d.ts +0 -18
  350. package/dist/servertool/handlers/stop-message-stage-policy/bd-runtime.js +0 -398
  351. package/dist/servertool/handlers/stop-message-stage-policy/decision.d.ts +0 -9
  352. package/dist/servertool/handlers/stop-message-stage-policy/decision.js +0 -127
  353. package/dist/servertool/handlers/stop-message-stage-policy/observation.d.ts +0 -2
  354. package/dist/servertool/handlers/stop-message-stage-policy/observation.js +0 -179
  355. package/dist/servertool/handlers/stop-message-stage-policy/templates.d.ts +0 -4
  356. package/dist/servertool/handlers/stop-message-stage-policy/templates.js +0 -96
  357. package/dist/servertool/handlers/stop-message-stage-policy/text-utils.d.ts +0 -9
  358. package/dist/servertool/handlers/stop-message-stage-policy/text-utils.js +0 -89
  359. package/dist/servertool/handlers/stop-message-stage-policy/types.d.ts +0 -59
  360. package/dist/servertool/handlers/stop-message-stage-policy.d.ts +0 -3
  361. package/dist/servertool/handlers/stop-message-stage-policy.js +0 -2
  362. /package/dist/servertool/handlers/{stop-message-stage-policy/types.js → review.d.ts} +0 -0
@@ -0,0 +1,426 @@
1
+ import { failNativeRequired, isNativeDisabledByEnv } from './native-router-hotpath-policy.js';
2
+ import { loadNativeRouterHotpathBindingForInternalUse } from './native-router-hotpath.js';
3
+ function readNativeFunction(name) {
4
+ const binding = loadNativeRouterHotpathBindingForInternalUse();
5
+ const fn = binding?.[name];
6
+ return typeof fn === 'function' ? fn : null;
7
+ }
8
+ function safeStringify(value) {
9
+ try {
10
+ return JSON.stringify(value);
11
+ }
12
+ catch {
13
+ return undefined;
14
+ }
15
+ }
16
+ function parseRecord(raw) {
17
+ try {
18
+ const parsed = JSON.parse(raw);
19
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
20
+ return null;
21
+ }
22
+ return parsed;
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ function parseOptionalRecord(raw) {
29
+ try {
30
+ const parsed = JSON.parse(raw);
31
+ if (parsed === null) {
32
+ return undefined;
33
+ }
34
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
35
+ return null;
36
+ }
37
+ return parsed;
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ function parseStyle(raw) {
44
+ try {
45
+ const parsed = JSON.parse(raw);
46
+ if (parsed === null || parsed === undefined) {
47
+ return undefined;
48
+ }
49
+ if (typeof parsed !== 'string') {
50
+ return null;
51
+ }
52
+ const normalized = parsed.trim().toLowerCase();
53
+ if (normalized === 'fc' || normalized === 'preserve') {
54
+ return normalized;
55
+ }
56
+ return null;
57
+ }
58
+ catch {
59
+ return null;
60
+ }
61
+ }
62
+ function parseToolOutputEntry(raw) {
63
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
64
+ return null;
65
+ }
66
+ const row = raw;
67
+ const toolCallId = (typeof row.tool_call_id === 'string' && row.tool_call_id.trim()) ||
68
+ (typeof row.toolCallId === 'string' && row.toolCallId.trim()) ||
69
+ (typeof row.call_id === 'string' && row.call_id.trim()) ||
70
+ (typeof row.callId === 'string' && row.callId.trim()) ||
71
+ '';
72
+ const callId = (typeof row.call_id === 'string' && row.call_id.trim()) ||
73
+ (typeof row.callId === 'string' && row.callId.trim()) ||
74
+ (typeof row.tool_call_id === 'string' && row.tool_call_id.trim()) ||
75
+ (typeof row.toolCallId === 'string' && row.toolCallId.trim()) ||
76
+ '';
77
+ if (!toolCallId || !callId) {
78
+ return null;
79
+ }
80
+ const outputRaw = row.output;
81
+ let output;
82
+ if (typeof outputRaw === 'string') {
83
+ output = outputRaw;
84
+ }
85
+ else if (outputRaw !== undefined) {
86
+ try {
87
+ output = JSON.stringify(outputRaw);
88
+ }
89
+ catch {
90
+ output = String(outputRaw);
91
+ }
92
+ }
93
+ const name = typeof row.name === 'string' && row.name.trim() ? row.name.trim() : undefined;
94
+ return {
95
+ tool_call_id: toolCallId,
96
+ call_id: callId,
97
+ ...(output !== undefined ? { output } : {}),
98
+ ...(name ? { name } : {})
99
+ };
100
+ }
101
+ function parseResumeToolOutputs(raw) {
102
+ try {
103
+ const parsed = JSON.parse(raw);
104
+ if (!Array.isArray(parsed)) {
105
+ return null;
106
+ }
107
+ const out = [];
108
+ for (const entry of parsed) {
109
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
110
+ continue;
111
+ }
112
+ const row = entry;
113
+ const toolCallId = (typeof row.tool_call_id === 'string' && row.tool_call_id.trim()) ||
114
+ (typeof row.toolCallId === 'string' && row.toolCallId.trim()) ||
115
+ '';
116
+ if (!toolCallId || typeof row.content !== 'string') {
117
+ continue;
118
+ }
119
+ out.push({ tool_call_id: toolCallId, content: row.content });
120
+ }
121
+ return out;
122
+ }
123
+ catch {
124
+ return null;
125
+ }
126
+ }
127
+ function parseCollectedToolOutputs(raw) {
128
+ try {
129
+ const parsed = JSON.parse(raw);
130
+ if (!Array.isArray(parsed)) {
131
+ return null;
132
+ }
133
+ const out = [];
134
+ for (const entry of parsed) {
135
+ const normalized = parseToolOutputEntry(entry);
136
+ if (normalized) {
137
+ out.push(normalized);
138
+ }
139
+ }
140
+ return out;
141
+ }
142
+ catch {
143
+ return null;
144
+ }
145
+ }
146
+ function parseMergedToolOutputs(raw) {
147
+ try {
148
+ const parsed = JSON.parse(raw);
149
+ if (parsed === null) {
150
+ return undefined;
151
+ }
152
+ if (!Array.isArray(parsed)) {
153
+ return null;
154
+ }
155
+ const out = [];
156
+ for (const entry of parsed) {
157
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
158
+ continue;
159
+ }
160
+ const row = entry;
161
+ const toolCallId = (typeof row.tool_call_id === 'string' && row.tool_call_id.trim()) ||
162
+ (typeof row.toolCallId === 'string' && row.toolCallId.trim()) ||
163
+ '';
164
+ if (!toolCallId || typeof row.content !== 'string') {
165
+ continue;
166
+ }
167
+ const name = typeof row.name === 'string' && row.name.trim() ? row.name.trim() : undefined;
168
+ out.push({ tool_call_id: toolCallId, content: row.content, ...(name ? { name } : {}) });
169
+ }
170
+ return out;
171
+ }
172
+ catch {
173
+ return null;
174
+ }
175
+ }
176
+ function parseNormalizedTools(raw) {
177
+ try {
178
+ const parsed = JSON.parse(raw);
179
+ if (parsed === null) {
180
+ return undefined;
181
+ }
182
+ if (!Array.isArray(parsed)) {
183
+ return null;
184
+ }
185
+ return parsed;
186
+ }
187
+ catch {
188
+ return null;
189
+ }
190
+ }
191
+ function parseOptionalString(raw) {
192
+ try {
193
+ const parsed = JSON.parse(raw);
194
+ if (parsed === null) {
195
+ return undefined;
196
+ }
197
+ if (typeof parsed !== 'string') {
198
+ return null;
199
+ }
200
+ const trimmed = parsed.trim();
201
+ return trimmed ? trimmed : undefined;
202
+ }
203
+ catch {
204
+ return null;
205
+ }
206
+ }
207
+ export function mapResumeToolOutputsDetailedWithNative(responsesResume) {
208
+ const capability = 'mapResumeToolOutputsDetailedJson';
209
+ const fail = (reason) => failNativeRequired(capability, reason);
210
+ if (isNativeDisabledByEnv()) {
211
+ return fail('native disabled');
212
+ }
213
+ const fn = readNativeFunction('mapResumeToolOutputsDetailedJson');
214
+ if (!fn) {
215
+ return fail();
216
+ }
217
+ const payloadJson = safeStringify(responsesResume ?? null);
218
+ if (!payloadJson) {
219
+ return fail('json stringify failed');
220
+ }
221
+ try {
222
+ const raw = fn(payloadJson);
223
+ if (typeof raw !== 'string' || !raw) {
224
+ return fail('empty result');
225
+ }
226
+ const parsed = parseResumeToolOutputs(raw);
227
+ return parsed ?? fail('invalid payload');
228
+ }
229
+ catch (error) {
230
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
231
+ return fail(reason);
232
+ }
233
+ }
234
+ export function resolveServerToolFollowupSnapshotWithNative(adapterContext) {
235
+ const capability = 'resolveServerToolFollowupSnapshotJson';
236
+ const fail = (reason) => failNativeRequired(capability, reason);
237
+ if (isNativeDisabledByEnv()) {
238
+ return fail('native disabled');
239
+ }
240
+ const fn = readNativeFunction('resolveServerToolFollowupSnapshotJson');
241
+ if (!fn) {
242
+ return fail();
243
+ }
244
+ const payloadJson = safeStringify(adapterContext ?? null);
245
+ if (!payloadJson) {
246
+ return fail('json stringify failed');
247
+ }
248
+ try {
249
+ const raw = fn(payloadJson);
250
+ if (typeof raw !== 'string' || !raw) {
251
+ return fail('empty result');
252
+ }
253
+ const parsed = parseOptionalRecord(raw);
254
+ return parsed === null ? fail('invalid payload') : parsed;
255
+ }
256
+ catch (error) {
257
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
258
+ return fail(reason);
259
+ }
260
+ }
261
+ export function augmentContextSnapshotWithNative(context, fallbackSnapshot) {
262
+ const capability = 'augmentContextSnapshotJson';
263
+ const fail = (reason) => failNativeRequired(capability, reason);
264
+ if (isNativeDisabledByEnv()) {
265
+ return fail('native disabled');
266
+ }
267
+ const fn = readNativeFunction('augmentContextSnapshotJson');
268
+ if (!fn) {
269
+ return fail();
270
+ }
271
+ const contextJson = safeStringify(context);
272
+ const fallbackJson = safeStringify(fallbackSnapshot);
273
+ if (!contextJson || !fallbackJson) {
274
+ return fail('json stringify failed');
275
+ }
276
+ try {
277
+ const raw = fn(contextJson, fallbackJson);
278
+ if (typeof raw !== 'string' || !raw) {
279
+ return fail('empty result');
280
+ }
281
+ const parsed = parseRecord(raw);
282
+ return parsed ?? fail('invalid payload');
283
+ }
284
+ catch (error) {
285
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
286
+ return fail(reason);
287
+ }
288
+ }
289
+ export function normalizeToolCallIdStyleCandidateWithNative(value) {
290
+ const capability = 'normalizeToolCallIdStyleCandidateJson';
291
+ const fail = (reason) => failNativeRequired(capability, reason);
292
+ if (isNativeDisabledByEnv()) {
293
+ return fail('native disabled');
294
+ }
295
+ const fn = readNativeFunction('normalizeToolCallIdStyleCandidateJson');
296
+ if (!fn) {
297
+ return fail();
298
+ }
299
+ const payloadJson = safeStringify(value ?? null);
300
+ if (!payloadJson) {
301
+ return fail('json stringify failed');
302
+ }
303
+ try {
304
+ const raw = fn(payloadJson);
305
+ if (typeof raw !== 'string' || !raw) {
306
+ return fail('empty result');
307
+ }
308
+ const parsed = parseStyle(raw);
309
+ return parsed === null ? fail('invalid payload') : parsed;
310
+ }
311
+ catch (error) {
312
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
313
+ return fail(reason);
314
+ }
315
+ }
316
+ export function collectToolOutputsWithNative(payload) {
317
+ const capability = 'collectToolOutputsJson';
318
+ const fail = (reason) => failNativeRequired(capability, reason);
319
+ if (isNativeDisabledByEnv()) {
320
+ return fail('native disabled');
321
+ }
322
+ const fn = readNativeFunction('collectToolOutputsJson');
323
+ if (!fn) {
324
+ return fail();
325
+ }
326
+ const payloadJson = safeStringify(payload ?? null);
327
+ if (!payloadJson) {
328
+ return fail('json stringify failed');
329
+ }
330
+ try {
331
+ const raw = fn(payloadJson);
332
+ if (typeof raw !== 'string' || !raw) {
333
+ return fail('empty result');
334
+ }
335
+ const parsed = parseCollectedToolOutputs(raw);
336
+ return parsed ?? fail('invalid payload');
337
+ }
338
+ catch (error) {
339
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
340
+ return fail(reason);
341
+ }
342
+ }
343
+ export function mergeContextToolOutputsWithNative(existing, snapshot) {
344
+ const capability = 'mergeContextToolOutputsJson';
345
+ const fail = (reason) => failNativeRequired(capability, reason);
346
+ if (isNativeDisabledByEnv()) {
347
+ return fail('native disabled');
348
+ }
349
+ const fn = readNativeFunction('mergeContextToolOutputsJson');
350
+ if (!fn) {
351
+ return fail();
352
+ }
353
+ const existingJson = safeStringify(existing ?? null);
354
+ const snapshotJson = safeStringify(snapshot);
355
+ if (!existingJson || !snapshotJson) {
356
+ return fail('json stringify failed');
357
+ }
358
+ try {
359
+ const raw = fn(existingJson, snapshotJson);
360
+ if (typeof raw !== 'string' || !raw) {
361
+ return fail('empty result');
362
+ }
363
+ const parsed = parseMergedToolOutputs(raw);
364
+ return parsed === null ? fail('invalid payload') : parsed;
365
+ }
366
+ catch (error) {
367
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
368
+ return fail(reason);
369
+ }
370
+ }
371
+ export function normalizeContextToolsWithNative(snapshot) {
372
+ const capability = 'normalizeContextToolsJson';
373
+ const fail = (reason) => failNativeRequired(capability, reason);
374
+ if (isNativeDisabledByEnv()) {
375
+ return fail('native disabled');
376
+ }
377
+ const fn = readNativeFunction('normalizeContextToolsJson');
378
+ if (!fn) {
379
+ return fail();
380
+ }
381
+ const snapshotJson = safeStringify(snapshot);
382
+ if (!snapshotJson) {
383
+ return fail('json stringify failed');
384
+ }
385
+ try {
386
+ const raw = fn(snapshotJson);
387
+ if (typeof raw !== 'string' || !raw) {
388
+ return fail('empty result');
389
+ }
390
+ const parsed = parseNormalizedTools(raw);
391
+ return parsed === null ? fail('invalid payload') : parsed;
392
+ }
393
+ catch (error) {
394
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
395
+ return fail(reason);
396
+ }
397
+ }
398
+ export function selectToolCallIdStyleWithNative(adapterContext, snapshot, current) {
399
+ const capability = 'selectToolCallIdStyleJson';
400
+ const fail = (reason) => failNativeRequired(capability, reason);
401
+ if (isNativeDisabledByEnv()) {
402
+ return fail('native disabled');
403
+ }
404
+ const fn = readNativeFunction('selectToolCallIdStyleJson');
405
+ if (!fn) {
406
+ return fail();
407
+ }
408
+ const adapterContextJson = safeStringify(adapterContext);
409
+ const snapshotJson = safeStringify(snapshot);
410
+ const currentJson = safeStringify(current ?? null);
411
+ if (!adapterContextJson || !snapshotJson || !currentJson) {
412
+ return fail('json stringify failed');
413
+ }
414
+ try {
415
+ const raw = fn(adapterContextJson, snapshotJson, currentJson);
416
+ if (typeof raw !== 'string' || !raw) {
417
+ return fail('empty result');
418
+ }
419
+ const parsed = parseStyle(raw);
420
+ return parsed === null ? fail('invalid payload') : parsed;
421
+ }
422
+ catch (error) {
423
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
424
+ return fail(reason);
425
+ }
426
+ }
@@ -0,0 +1,57 @@
1
+ export interface NativeHubPipelineOrchestrationInput {
2
+ requestId: string;
3
+ endpoint: string;
4
+ entryEndpoint: string;
5
+ providerProtocol: string;
6
+ payload: Record<string, unknown>;
7
+ metadata: Record<string, unknown>;
8
+ stream: boolean;
9
+ processMode: 'chat' | 'passthrough';
10
+ direction: 'request' | 'response';
11
+ stage: 'inbound' | 'outbound';
12
+ }
13
+ export interface NativeHubPipelineOrchestrationOutput {
14
+ requestId: string;
15
+ success: boolean;
16
+ payload?: Record<string, unknown>;
17
+ metadata?: Record<string, unknown>;
18
+ error?: {
19
+ code: string;
20
+ message: string;
21
+ details?: unknown;
22
+ };
23
+ }
24
+ export interface NativeStopMessageRouterMetadataOutput {
25
+ stopMessageClientInjectSessionScope?: string;
26
+ stopMessageClientInjectScope?: string;
27
+ clientTmuxSessionId?: string;
28
+ client_tmux_session_id?: string;
29
+ tmuxSessionId?: string;
30
+ tmux_session_id?: string;
31
+ }
32
+ export interface NativeHubPolicyOverrideOutput {
33
+ mode: 'off' | 'observe' | 'enforce';
34
+ sampleRate?: number;
35
+ }
36
+ export interface NativeHubShadowCompareConfigOutput {
37
+ baselineMode: 'off' | 'observe' | 'enforce';
38
+ }
39
+ export type NativeApplyPatchToolMode = 'schema' | 'freeform';
40
+ export declare function runHubPipelineOrchestrationWithNative(input: NativeHubPipelineOrchestrationInput): NativeHubPipelineOrchestrationOutput;
41
+ export declare function normalizeHubEndpointWithNative(endpoint: string): string;
42
+ export declare function resolveHubProviderProtocolWithNative(value: unknown): string;
43
+ export declare function resolveHubClientProtocolWithNative(entryEndpoint: string): string;
44
+ export declare function resolveOutboundStreamIntentWithNative(providerPreference: unknown): boolean | undefined;
45
+ export declare function applyOutboundStreamPreferenceWithNative(request: Record<string, unknown>, stream: boolean | undefined, processMode?: 'chat' | 'passthrough'): Record<string, unknown>;
46
+ export declare function resolveHubSseProtocolFromMetadataWithNative(metadata: Record<string, unknown>): string | undefined;
47
+ export declare function resolveStopMessageRouterMetadataWithNative(metadata: Record<string, unknown> | undefined): NativeStopMessageRouterMetadataOutput;
48
+ export declare function extractAdapterContextMetadataFieldsWithNative(metadata: Record<string, unknown>, keys: string[]): Record<string, unknown>;
49
+ export declare function resolveHubPolicyOverrideFromMetadataWithNative(metadata: Record<string, unknown> | undefined): NativeHubPolicyOverrideOutput | undefined;
50
+ export declare function resolveHubShadowCompareConfigWithNative(metadata: Record<string, unknown> | undefined): NativeHubShadowCompareConfigOutput | undefined;
51
+ export declare function resolveApplyPatchToolModeFromToolsWithNative(toolsRaw: unknown): NativeApplyPatchToolMode | undefined;
52
+ export declare function resolveHasInstructionRequestedPassthroughWithNative(messages: unknown): boolean;
53
+ export declare function resolveActiveProcessModeWithNative(baseMode: 'chat' | 'passthrough', messages: unknown): 'chat' | 'passthrough';
54
+ export declare function findMappableSemanticsKeysWithNative(metadata: unknown): string[];
55
+ export declare function buildPassthroughAuditWithNative(rawInbound: Record<string, unknown>, providerProtocol: string): Record<string, unknown>;
56
+ export declare function annotatePassthroughGovernanceSkipWithNative(audit: Record<string, unknown>): Record<string, unknown>;
57
+ export declare function attachPassthroughProviderInputAuditWithNative(audit: Record<string, unknown>, providerPayload: Record<string, unknown>, providerProtocol: string): Record<string, unknown>;