@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,281 @@
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 parseArray(raw) {
9
+ try {
10
+ const parsed = JSON.parse(raw);
11
+ return Array.isArray(parsed) ? parsed : null;
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ function parseRecordOrNull(raw) {
18
+ try {
19
+ const parsed = JSON.parse(raw);
20
+ if (parsed === null) {
21
+ return null;
22
+ }
23
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
24
+ return null;
25
+ }
26
+ return parsed;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ function parseRecordOrNullResult(raw) {
33
+ try {
34
+ const parsed = JSON.parse(raw);
35
+ if (parsed === null) {
36
+ return { ok: true, value: null };
37
+ }
38
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
39
+ return { ok: false };
40
+ }
41
+ return { ok: true, value: parsed };
42
+ }
43
+ catch {
44
+ return { ok: false };
45
+ }
46
+ }
47
+ function parseRecord(raw) {
48
+ try {
49
+ const parsed = JSON.parse(raw);
50
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
51
+ return null;
52
+ }
53
+ return parsed;
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ }
59
+ function parseIndex(raw) {
60
+ try {
61
+ const parsed = JSON.parse(raw);
62
+ if (typeof parsed !== 'number' || !Number.isFinite(parsed)) {
63
+ return null;
64
+ }
65
+ return Math.floor(parsed);
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ }
71
+ function parseStringOrNull(raw) {
72
+ try {
73
+ const parsed = JSON.parse(raw);
74
+ if (parsed === null) {
75
+ return null;
76
+ }
77
+ return typeof parsed === 'string' ? parsed : undefined;
78
+ }
79
+ catch {
80
+ return undefined;
81
+ }
82
+ }
83
+ function parseClockConfigOrNull(raw) {
84
+ try {
85
+ const parsed = JSON.parse(raw);
86
+ if (parsed === null) {
87
+ return null;
88
+ }
89
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
90
+ return undefined;
91
+ }
92
+ return parsed;
93
+ }
94
+ catch {
95
+ return undefined;
96
+ }
97
+ }
98
+ export function resolveClockConfigWithNative(raw, rawIsUndefined) {
99
+ const capability = 'resolveClockConfigJson';
100
+ const fail = (reason) => failNativeRequired(capability, reason);
101
+ if (isNativeDisabledByEnv()) {
102
+ return fail('native disabled');
103
+ }
104
+ const fn = readNativeFunction(capability);
105
+ if (!fn) {
106
+ return fail();
107
+ }
108
+ try {
109
+ const rawResponse = fn(JSON.stringify(raw ?? null), rawIsUndefined === true);
110
+ if (typeof rawResponse !== 'string' || !rawResponse) {
111
+ return fail('empty result');
112
+ }
113
+ const parsed = parseClockConfigOrNull(rawResponse);
114
+ return parsed === undefined ? fail('invalid payload') : parsed;
115
+ }
116
+ catch (error) {
117
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
118
+ return fail(reason);
119
+ }
120
+ }
121
+ export function resolveClockSessionScopeWithNative(primary, fallback) {
122
+ const capability = 'resolveClockSessionScopeJson';
123
+ const fail = (reason) => failNativeRequired(capability, reason);
124
+ if (isNativeDisabledByEnv()) {
125
+ return fail('native disabled');
126
+ }
127
+ const fn = readNativeFunction(capability);
128
+ if (!fn) {
129
+ return fail();
130
+ }
131
+ try {
132
+ const raw = fn(JSON.stringify(primary ?? null), JSON.stringify(fallback ?? null));
133
+ if (typeof raw !== 'string' || !raw) {
134
+ return fail('empty result');
135
+ }
136
+ const parsed = parseStringOrNull(raw);
137
+ return parsed === undefined ? fail('invalid payload') : parsed;
138
+ }
139
+ catch (error) {
140
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
141
+ return fail(reason);
142
+ }
143
+ }
144
+ export function buildClockMarkerScheduleMessagesWithNative(requestId, markerIndex, marker, payload) {
145
+ const capability = 'buildClockMarkerScheduleMessagesJson';
146
+ const fail = (reason) => failNativeRequired(capability, reason);
147
+ if (isNativeDisabledByEnv()) {
148
+ return fail('native disabled');
149
+ }
150
+ const fn = readNativeFunction('buildClockMarkerScheduleMessagesJson');
151
+ if (!fn) {
152
+ return fail();
153
+ }
154
+ try {
155
+ const raw = fn(requestId, Number.isFinite(markerIndex) ? Math.floor(markerIndex) : 0, JSON.stringify(marker), JSON.stringify(payload));
156
+ if (typeof raw !== 'string' || !raw) {
157
+ return fail('empty result');
158
+ }
159
+ const parsed = parseArray(raw);
160
+ return parsed ?? fail('invalid payload');
161
+ }
162
+ catch (error) {
163
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
164
+ return fail(reason);
165
+ }
166
+ }
167
+ export function findLastUserMessageIndexWithNative(messages) {
168
+ const capability = 'findLastUserMessageIndexJson';
169
+ const fail = (reason) => failNativeRequired(capability, reason);
170
+ if (isNativeDisabledByEnv()) {
171
+ return fail('native disabled');
172
+ }
173
+ const fn = readNativeFunction('findLastUserMessageIndexJson');
174
+ if (!fn) {
175
+ return fail();
176
+ }
177
+ try {
178
+ const raw = fn(JSON.stringify(messages));
179
+ if (typeof raw !== 'string' || !raw) {
180
+ return fail('empty result');
181
+ }
182
+ const parsed = parseIndex(raw);
183
+ return parsed ?? fail('invalid payload');
184
+ }
185
+ catch (error) {
186
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
187
+ return fail(reason);
188
+ }
189
+ }
190
+ export function injectTimeTagIntoMessagesWithNative(messages, timeTagLine) {
191
+ const capability = 'injectTimeTagIntoMessagesJson';
192
+ const fail = (reason) => failNativeRequired(capability, reason);
193
+ if (isNativeDisabledByEnv()) {
194
+ return fail('native disabled');
195
+ }
196
+ const fn = readNativeFunction('injectTimeTagIntoMessagesJson');
197
+ if (!fn) {
198
+ return fail();
199
+ }
200
+ try {
201
+ const raw = fn(JSON.stringify(messages), timeTagLine);
202
+ if (typeof raw !== 'string' || !raw) {
203
+ return fail('empty result');
204
+ }
205
+ const parsed = parseArray(raw);
206
+ return parsed ?? fail('invalid payload');
207
+ }
208
+ catch (error) {
209
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
210
+ return fail(reason);
211
+ }
212
+ }
213
+ export function buildDueReminderUserMessageWithNative(reservation, dueInjectText) {
214
+ const capability = 'buildDueReminderUserMessageJson';
215
+ const fail = (reason) => failNativeRequired(capability, reason);
216
+ if (isNativeDisabledByEnv()) {
217
+ return fail('native disabled');
218
+ }
219
+ const fn = readNativeFunction('buildDueReminderUserMessageJson');
220
+ if (!fn) {
221
+ return fail();
222
+ }
223
+ try {
224
+ const raw = fn(JSON.stringify(reservation ?? null), dueInjectText);
225
+ if (typeof raw !== 'string' || !raw) {
226
+ return fail('empty result');
227
+ }
228
+ const parsed = parseRecordOrNullResult(raw);
229
+ return parsed.ok ? parsed.value : fail('invalid payload');
230
+ }
231
+ catch (error) {
232
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
233
+ return fail(reason);
234
+ }
235
+ }
236
+ export function buildClockReminderMetadataWithNative(nextRequestMetadata, metadata, dueUserMessage, reservation) {
237
+ const capability = 'buildClockReminderMetadataJson';
238
+ const fail = (reason) => failNativeRequired(capability, reason);
239
+ if (isNativeDisabledByEnv()) {
240
+ return fail('native disabled');
241
+ }
242
+ const fn = readNativeFunction('buildClockReminderMetadataJson');
243
+ if (!fn) {
244
+ return fail();
245
+ }
246
+ try {
247
+ const raw = fn(JSON.stringify(nextRequestMetadata ?? null), JSON.stringify(metadata ?? {}), dueUserMessage !== null && dueUserMessage !== undefined, JSON.stringify(reservation ?? null));
248
+ if (typeof raw !== 'string' || !raw) {
249
+ return fail('empty result');
250
+ }
251
+ const parsed = parseRecord(raw);
252
+ return parsed ?? fail('invalid payload');
253
+ }
254
+ catch (error) {
255
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
256
+ return fail(reason);
257
+ }
258
+ }
259
+ export function buildClockReminderMessagesWithNative(baseMessages, markerToolMessages, dueUserMessage, timeTagLine) {
260
+ const capability = 'buildClockReminderMessagesJson';
261
+ const fail = (reason) => failNativeRequired(capability, reason);
262
+ if (isNativeDisabledByEnv()) {
263
+ return fail('native disabled');
264
+ }
265
+ const fn = readNativeFunction('buildClockReminderMessagesJson');
266
+ if (!fn) {
267
+ return fail();
268
+ }
269
+ try {
270
+ const raw = fn(JSON.stringify(baseMessages), JSON.stringify(markerToolMessages), JSON.stringify(dueUserMessage ?? null), timeTagLine);
271
+ if (typeof raw !== 'string' || !raw) {
272
+ return fail('empty result');
273
+ }
274
+ const parsed = parseArray(raw);
275
+ return parsed ?? fail('invalid payload');
276
+ }
277
+ catch (error) {
278
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
279
+ return fail(reason);
280
+ }
281
+ }
@@ -0,0 +1 @@
1
+ export declare function resolveClockTimeTagFallbackLineWithNative(fallbackLine: string | undefined, defaultLine: string): string;
@@ -0,0 +1,25 @@
1
+ import { failNativeRequired, isNativeDisabledByEnv } from './native-router-hotpath-policy.js';
2
+ import { loadNativeRouterHotpathBindingForInternalUse } from './native-router-hotpath.js';
3
+ export function resolveClockTimeTagFallbackLineWithNative(fallbackLine, defaultLine) {
4
+ const capability = 'resolveClockTimeTagFallbackLineJson';
5
+ const fail = (reason) => failNativeRequired(capability, reason);
6
+ if (isNativeDisabledByEnv()) {
7
+ return fail('native disabled');
8
+ }
9
+ const binding = loadNativeRouterHotpathBindingForInternalUse();
10
+ const fn = binding?.resolveClockTimeTagFallbackLineJson;
11
+ if (typeof fn !== 'function') {
12
+ return fail();
13
+ }
14
+ try {
15
+ const raw = fn(String(fallbackLine ?? ''), String(defaultLine || ''));
16
+ if (typeof raw !== 'string' || !raw.trim()) {
17
+ return fail('empty result');
18
+ }
19
+ return raw;
20
+ }
21
+ catch (error) {
22
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
23
+ return fail(reason);
24
+ }
25
+ }
@@ -0,0 +1,4 @@
1
+ export type NativeClockReminderFlowPlan = {
2
+ skipForServerToolFollowup: boolean;
3
+ };
4
+ export declare function resolveClockReminderFlowPlanWithNative(runtimeMetadata: Record<string, unknown>): NativeClockReminderFlowPlan;
@@ -0,0 +1,44 @@
1
+ import { failNativeRequired, isNativeDisabledByEnv } from './native-router-hotpath-policy.js';
2
+ import { loadNativeRouterHotpathBindingForInternalUse } from './native-router-hotpath.js';
3
+ function parsePayload(raw) {
4
+ try {
5
+ const parsed = JSON.parse(raw);
6
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
7
+ return null;
8
+ }
9
+ const row = parsed;
10
+ if (typeof row.skipForServerToolFollowup !== 'boolean') {
11
+ return null;
12
+ }
13
+ return {
14
+ skipForServerToolFollowup: row.skipForServerToolFollowup
15
+ };
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ export function resolveClockReminderFlowPlanWithNative(runtimeMetadata) {
22
+ const capability = 'resolveClockReminderFlowPlanJson';
23
+ const fail = (reason) => failNativeRequired(capability, reason);
24
+ if (isNativeDisabledByEnv()) {
25
+ return fail('native disabled');
26
+ }
27
+ const binding = loadNativeRouterHotpathBindingForInternalUse();
28
+ const fn = binding?.resolveClockReminderFlowPlanJson;
29
+ if (typeof fn !== 'function') {
30
+ return fail();
31
+ }
32
+ try {
33
+ const raw = fn(JSON.stringify(runtimeMetadata ?? {}));
34
+ if (typeof raw !== 'string' || !raw) {
35
+ return fail('empty result');
36
+ }
37
+ const parsed = parsePayload(raw);
38
+ return parsed ?? fail('invalid payload');
39
+ }
40
+ catch (error) {
41
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
42
+ return fail(reason);
43
+ }
44
+ }
@@ -0,0 +1,2 @@
1
+ export declare function buildClockToolAppendOperationsWithNative(hasSessionId: boolean, clockTool: unknown): Record<string, unknown>[];
2
+ export declare function buildClockStandardToolAppendOperationsWithNative(standardTools: unknown[]): Record<string, unknown>[];
@@ -0,0 +1,62 @@
1
+ import { failNativeRequired, isNativeDisabledByEnv } from './native-router-hotpath-policy.js';
2
+ import { loadNativeRouterHotpathBindingForInternalUse } from './native-router-hotpath.js';
3
+ function parseOperations(raw) {
4
+ try {
5
+ const parsed = JSON.parse(raw);
6
+ if (!Array.isArray(parsed)) {
7
+ return null;
8
+ }
9
+ return parsed.filter((entry) => !!entry && typeof entry === 'object' && !Array.isArray(entry));
10
+ }
11
+ catch {
12
+ return null;
13
+ }
14
+ }
15
+ export function buildClockToolAppendOperationsWithNative(hasSessionId, clockTool) {
16
+ const capability = 'buildClockToolAppendOperationsJson';
17
+ const fail = (reason) => failNativeRequired(capability, reason);
18
+ if (isNativeDisabledByEnv()) {
19
+ return fail('native disabled');
20
+ }
21
+ const binding = loadNativeRouterHotpathBindingForInternalUse();
22
+ const fn = binding?.buildClockToolAppendOperationsJson;
23
+ if (typeof fn !== 'function') {
24
+ return fail();
25
+ }
26
+ try {
27
+ const raw = fn(hasSessionId === true, JSON.stringify(clockTool ?? null));
28
+ if (typeof raw !== 'string' || !raw) {
29
+ return fail('empty result');
30
+ }
31
+ const parsed = parseOperations(raw);
32
+ return parsed ?? fail('invalid payload');
33
+ }
34
+ catch (error) {
35
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
36
+ return fail(reason);
37
+ }
38
+ }
39
+ export function buildClockStandardToolAppendOperationsWithNative(standardTools) {
40
+ const capability = 'buildClockStandardToolAppendOperationsJson';
41
+ const fail = (reason) => failNativeRequired(capability, reason);
42
+ if (isNativeDisabledByEnv()) {
43
+ return fail('native disabled');
44
+ }
45
+ const binding = loadNativeRouterHotpathBindingForInternalUse();
46
+ const fn = binding?.buildClockStandardToolAppendOperationsJson;
47
+ if (typeof fn !== 'function') {
48
+ return fail();
49
+ }
50
+ try {
51
+ const raw = fn(JSON.stringify(Array.isArray(standardTools) ? standardTools : []));
52
+ if (typeof raw !== 'string' || !raw) {
53
+ return fail('empty result');
54
+ }
55
+ const parsed = parseOperations(raw);
56
+ return parsed ?? fail('invalid payload');
57
+ }
58
+ catch (error) {
59
+ const reason = error instanceof Error ? error.message : String(error ?? 'unknown');
60
+ return fail(reason);
61
+ }
62
+ }
@@ -0,0 +1,40 @@
1
+ export type NativeGovernanceContextPayload = {
2
+ entryEndpoint: string;
3
+ metadata: Record<string, unknown>;
4
+ providerProtocol: string;
5
+ metadataToolHints: unknown;
6
+ inboundStreamIntent: boolean;
7
+ rawRequestBody?: Record<string, unknown>;
8
+ };
9
+ export type NativeRespProcessToolGovernanceInput = {
10
+ payload: Record<string, unknown>;
11
+ clientProtocol: string;
12
+ entryEndpoint: string;
13
+ requestId: string;
14
+ };
15
+ export type NativeRespProcessToolGovernanceOutput = {
16
+ governedPayload: Record<string, unknown>;
17
+ summary: {
18
+ applied: boolean;
19
+ toolCallsNormalized: number;
20
+ applyPatchRepaired: number;
21
+ };
22
+ };
23
+ export type NativeRespProcessFinalizeInput = {
24
+ payload: Record<string, unknown>;
25
+ stream: boolean;
26
+ reasoningMode?: string;
27
+ endpoint?: string;
28
+ requestId?: string;
29
+ };
30
+ export declare function buildAnthropicToolAliasMapWithNative(sourceTools: unknown): Record<string, unknown> | undefined;
31
+ export declare function resolveGovernanceContextWithNative(request: unknown, context: unknown): NativeGovernanceContextPayload;
32
+ export declare function castGovernedToolsWithNative(tools: unknown): unknown;
33
+ export declare function buildWebSearchToolAppendOperationsWithNative(engines: unknown): unknown[];
34
+ export declare function applyGovernedControlOperationsWithNative(request: Record<string, unknown>, governed: Record<string, unknown>, inboundStreamIntent: boolean): Record<string, unknown>;
35
+ export declare function applyGovernedMergeRequestWithNative(request: Record<string, unknown>, governed: Record<string, unknown>, inboundStreamIntent: boolean, governanceTimestampMs: number): Record<string, unknown>;
36
+ export declare function mergeGovernanceSummaryIntoMetadataWithNative(metadata: Record<string, unknown> | undefined, summary: Record<string, unknown>): Record<string, unknown>;
37
+ export declare function finalizeGovernedRequestWithNative(request: Record<string, unknown>, summary: Record<string, unknown>): Record<string, unknown>;
38
+ export declare function applyRespProcessToolGovernanceWithNative(input: NativeRespProcessToolGovernanceInput): NativeRespProcessToolGovernanceOutput;
39
+ export declare function stripOrphanFunctionCallsTagWithNative(payload: Record<string, unknown>): Record<string, unknown>;
40
+ export declare function finalizeRespProcessChatResponseWithNative(input: NativeRespProcessFinalizeInput): Promise<Record<string, unknown>>;