@code-yeongyu/senpi 2026.8.18 → 2026.8.19

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 (1899) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/dist/cli/args.d.ts +1 -0
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +4 -0
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/core/agent-session-services.d.ts +4 -1
  7. package/dist/core/agent-session-services.d.ts.map +1 -1
  8. package/dist/core/agent-session-services.js +1 -0
  9. package/dist/core/agent-session-services.js.map +1 -1
  10. package/dist/core/agent-session.d.ts +49 -25
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +376 -76
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  15. package/dist/core/compaction/branch-summarization.js +3 -0
  16. package/dist/core/compaction/branch-summarization.js.map +1 -1
  17. package/dist/core/compaction/compaction.d.ts +20 -3
  18. package/dist/core/compaction/compaction.d.ts.map +1 -1
  19. package/dist/core/compaction/compaction.js +182 -52
  20. package/dist/core/compaction/compaction.js.map +1 -1
  21. package/dist/core/cursor-exec-bridge-session.d.ts +12 -1
  22. package/dist/core/cursor-exec-bridge-session.d.ts.map +1 -1
  23. package/dist/core/cursor-exec-bridge-session.js +17 -4
  24. package/dist/core/cursor-exec-bridge-session.js.map +1 -1
  25. package/dist/core/cursor-exec-bridge.d.ts +2 -2
  26. package/dist/core/cursor-exec-bridge.d.ts.map +1 -1
  27. package/dist/core/cursor-exec-bridge.js +29 -20
  28. package/dist/core/cursor-exec-bridge.js.map +1 -1
  29. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.d.ts +2 -1
  30. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.d.ts.map +1 -1
  31. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.js +15 -6
  32. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.js.map +1 -1
  33. package/dist/core/extensions/builtin/claude-sdk-oauth/index.d.ts +3 -0
  34. package/dist/core/extensions/builtin/claude-sdk-oauth/index.d.ts.map +1 -1
  35. package/dist/core/extensions/builtin/claude-sdk-oauth/index.js +18 -1
  36. package/dist/core/extensions/builtin/claude-sdk-oauth/index.js.map +1 -1
  37. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.d.ts +1 -0
  38. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.d.ts.map +1 -1
  39. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js +7 -1
  40. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js.map +1 -1
  41. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.d.ts +4 -3
  42. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.d.ts.map +1 -1
  43. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.js +2 -2
  44. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.js.map +1 -1
  45. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding-store.d.ts +29 -0
  46. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding-store.d.ts.map +1 -0
  47. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding-store.js +112 -0
  48. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding-store.js.map +1 -0
  49. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.d.ts +37 -23
  50. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.d.ts.map +1 -1
  51. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.js +119 -33
  52. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.js.map +1 -1
  53. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.d.ts +1 -0
  54. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.d.ts.map +1 -1
  55. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.js +20 -2
  56. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.js.map +1 -1
  57. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts +3 -0
  58. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts.map +1 -1
  59. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js +32 -2
  60. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js.map +1 -1
  61. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.d.ts +1 -1
  62. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.d.ts.map +1 -1
  63. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.js +78 -11
  64. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.js.map +1 -1
  65. package/dist/core/extensions/builtin/claude-sdk-oauth/session-restored-admission.d.ts +8 -0
  66. package/dist/core/extensions/builtin/claude-sdk-oauth/session-restored-admission.d.ts.map +1 -0
  67. package/dist/core/extensions/builtin/claude-sdk-oauth/session-restored-admission.js +11 -0
  68. package/dist/core/extensions/builtin/claude-sdk-oauth/session-restored-admission.js.map +1 -0
  69. package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.d.ts.map +1 -1
  70. package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.js +17 -55
  71. package/dist/core/extensions/builtin/claude-sdk-oauth/session-stream.js.map +1 -1
  72. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.d.ts +13 -0
  73. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.d.ts.map +1 -1
  74. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js +18 -5
  75. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js.map +1 -1
  76. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.d.ts +11 -0
  77. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.d.ts.map +1 -0
  78. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.js +48 -0
  79. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.js.map +1 -0
  80. package/dist/core/extensions/builtin/claude-sdk-oauth/settings.d.ts +8 -0
  81. package/dist/core/extensions/builtin/claude-sdk-oauth/settings.d.ts.map +1 -1
  82. package/dist/core/extensions/builtin/claude-sdk-oauth/settings.js +18 -0
  83. package/dist/core/extensions/builtin/claude-sdk-oauth/settings.js.map +1 -1
  84. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts +7 -0
  85. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts.map +1 -1
  86. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js +10 -1
  87. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js.map +1 -1
  88. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts +1 -0
  89. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts.map +1 -1
  90. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js +29 -1
  91. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js.map +1 -1
  92. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -1
  93. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +30 -24
  94. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -1
  95. package/dist/core/extensions/builtin/cursor-cli-oauth/native-bootstrap.d.ts +14 -0
  96. package/dist/core/extensions/builtin/cursor-cli-oauth/native-bootstrap.d.ts.map +1 -0
  97. package/dist/core/extensions/builtin/cursor-cli-oauth/native-bootstrap.js +58 -0
  98. package/dist/core/extensions/builtin/cursor-cli-oauth/native-bootstrap.js.map +1 -0
  99. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts +12 -1
  100. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts.map +1 -1
  101. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js +20 -1
  102. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js.map +1 -1
  103. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts +11 -0
  104. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts.map +1 -1
  105. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js +6 -1
  106. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js.map +1 -1
  107. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-model.d.ts +3 -0
  108. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-model.d.ts.map +1 -0
  109. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-model.js +5 -0
  110. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-model.js.map +1 -0
  111. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts.map +1 -1
  112. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js +11 -4
  113. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js.map +1 -1
  114. package/dist/core/extensions/builtin/goal/direct-input-lifecycle.d.ts +8 -0
  115. package/dist/core/extensions/builtin/goal/direct-input-lifecycle.d.ts.map +1 -1
  116. package/dist/core/extensions/builtin/goal/direct-input-lifecycle.js +10 -0
  117. package/dist/core/extensions/builtin/goal/direct-input-lifecycle.js.map +1 -1
  118. package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
  119. package/dist/core/extensions/builtin/goal/index.js +21 -3
  120. package/dist/core/extensions/builtin/goal/index.js.map +1 -1
  121. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts +9 -0
  122. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
  123. package/dist/core/extensions/builtin/goal/monitor-continuation.js +16 -0
  124. package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
  125. package/dist/core/extensions/builtin/goal/reload-reengagement.d.ts +30 -0
  126. package/dist/core/extensions/builtin/goal/reload-reengagement.d.ts.map +1 -0
  127. package/dist/core/extensions/builtin/goal/reload-reengagement.js +36 -0
  128. package/dist/core/extensions/builtin/goal/reload-reengagement.js.map +1 -0
  129. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  130. package/dist/core/extensions/builtin/index.js +2 -0
  131. package/dist/core/extensions/builtin/index.js.map +1 -1
  132. package/dist/core/extensions/builtin/loop/command-registration.d.ts +7 -0
  133. package/dist/core/extensions/builtin/loop/command-registration.d.ts.map +1 -0
  134. package/dist/core/extensions/builtin/loop/command-registration.js +13 -0
  135. package/dist/core/extensions/builtin/loop/command-registration.js.map +1 -0
  136. package/dist/core/extensions/builtin/loop/command.d.ts +41 -0
  137. package/dist/core/extensions/builtin/loop/command.d.ts.map +1 -0
  138. package/dist/core/extensions/builtin/loop/command.js +281 -0
  139. package/dist/core/extensions/builtin/loop/command.js.map +1 -0
  140. package/dist/core/extensions/builtin/loop/cron-planner.d.ts +23 -0
  141. package/dist/core/extensions/builtin/loop/cron-planner.d.ts.map +1 -0
  142. package/dist/core/extensions/builtin/loop/cron-planner.js +88 -0
  143. package/dist/core/extensions/builtin/loop/cron-planner.js.map +1 -0
  144. package/dist/core/extensions/builtin/loop/index.d.ts +134 -0
  145. package/dist/core/extensions/builtin/loop/index.d.ts.map +1 -0
  146. package/dist/core/extensions/builtin/loop/index.js +742 -0
  147. package/dist/core/extensions/builtin/loop/index.js.map +1 -0
  148. package/dist/core/extensions/builtin/loop/loopfile.d.ts +40 -0
  149. package/dist/core/extensions/builtin/loop/loopfile.d.ts.map +1 -0
  150. package/dist/core/extensions/builtin/loop/loopfile.js +102 -0
  151. package/dist/core/extensions/builtin/loop/loopfile.js.map +1 -0
  152. package/dist/core/extensions/builtin/loop/parse.d.ts +45 -0
  153. package/dist/core/extensions/builtin/loop/parse.d.ts.map +1 -0
  154. package/dist/core/extensions/builtin/loop/parse.js +92 -0
  155. package/dist/core/extensions/builtin/loop/parse.js.map +1 -0
  156. package/dist/core/extensions/builtin/loop/scheduler.d.ts +225 -0
  157. package/dist/core/extensions/builtin/loop/scheduler.d.ts.map +1 -0
  158. package/dist/core/extensions/builtin/loop/scheduler.js +708 -0
  159. package/dist/core/extensions/builtin/loop/scheduler.js.map +1 -0
  160. package/dist/core/extensions/builtin/loop/status.d.ts +24 -0
  161. package/dist/core/extensions/builtin/loop/status.d.ts.map +1 -0
  162. package/dist/core/extensions/builtin/loop/status.js +113 -0
  163. package/dist/core/extensions/builtin/loop/status.js.map +1 -0
  164. package/dist/core/extensions/builtin/loop/store.d.ts +49 -0
  165. package/dist/core/extensions/builtin/loop/store.d.ts.map +1 -0
  166. package/dist/core/extensions/builtin/loop/store.js +424 -0
  167. package/dist/core/extensions/builtin/loop/store.js.map +1 -0
  168. package/dist/core/extensions/builtin/loop/tick-prompt.d.ts +64 -0
  169. package/dist/core/extensions/builtin/loop/tick-prompt.d.ts.map +1 -0
  170. package/dist/core/extensions/builtin/loop/tick-prompt.js +183 -0
  171. package/dist/core/extensions/builtin/loop/tick-prompt.js.map +1 -0
  172. package/dist/core/extensions/builtin/loop/tools.d.ts +122 -0
  173. package/dist/core/extensions/builtin/loop/tools.d.ts.map +1 -0
  174. package/dist/core/extensions/builtin/loop/tools.js +155 -0
  175. package/dist/core/extensions/builtin/loop/tools.js.map +1 -0
  176. package/dist/core/extensions/builtin/loop/types.d.ts +206 -0
  177. package/dist/core/extensions/builtin/loop/types.d.ts.map +1 -0
  178. package/dist/core/extensions/builtin/loop/types.js +37 -0
  179. package/dist/core/extensions/builtin/loop/types.js.map +1 -0
  180. package/dist/core/extensions/index.d.ts +1 -1
  181. package/dist/core/extensions/index.d.ts.map +1 -1
  182. package/dist/core/extensions/index.js.map +1 -1
  183. package/dist/core/extensions/loader.d.ts.map +1 -1
  184. package/dist/core/extensions/loader.js +10 -5
  185. package/dist/core/extensions/loader.js.map +1 -1
  186. package/dist/core/extensions/types.d.ts +30 -3
  187. package/dist/core/extensions/types.d.ts.map +1 -1
  188. package/dist/core/extensions/types.js.map +1 -1
  189. package/dist/core/footer-data-provider.d.ts.map +1 -1
  190. package/dist/core/footer-data-provider.js +5 -10
  191. package/dist/core/footer-data-provider.js.map +1 -1
  192. package/dist/core/model-registry.d.ts +2 -0
  193. package/dist/core/model-registry.d.ts.map +1 -1
  194. package/dist/core/model-registry.js +4 -0
  195. package/dist/core/model-registry.js.map +1 -1
  196. package/dist/core/model-resolver.d.ts +15 -1
  197. package/dist/core/model-resolver.d.ts.map +1 -1
  198. package/dist/core/model-resolver.js +137 -43
  199. package/dist/core/model-resolver.js.map +1 -1
  200. package/dist/core/model-runtime.d.ts +7 -0
  201. package/dist/core/model-runtime.d.ts.map +1 -1
  202. package/dist/core/model-runtime.js +17 -0
  203. package/dist/core/model-runtime.js.map +1 -1
  204. package/dist/core/package-manager.d.ts.map +1 -1
  205. package/dist/core/package-manager.js +8 -4
  206. package/dist/core/package-manager.js.map +1 -1
  207. package/dist/core/provider-composer.d.ts +8 -0
  208. package/dist/core/provider-composer.d.ts.map +1 -1
  209. package/dist/core/provider-composer.js.map +1 -1
  210. package/dist/core/provider-timeout-retry.d.ts.map +1 -1
  211. package/dist/core/provider-timeout-retry.js +29 -1
  212. package/dist/core/provider-timeout-retry.js.map +1 -1
  213. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  214. package/dist/core/remote-catalog-provider.js +2 -1
  215. package/dist/core/remote-catalog-provider.js.map +1 -1
  216. package/dist/core/retry-fallback/chains.d.ts +1 -0
  217. package/dist/core/retry-fallback/chains.d.ts.map +1 -1
  218. package/dist/core/retry-fallback/chains.js +3 -0
  219. package/dist/core/retry-fallback/chains.js.map +1 -1
  220. package/dist/core/retry-fallback/controller.d.ts +2 -0
  221. package/dist/core/retry-fallback/controller.d.ts.map +1 -1
  222. package/dist/core/retry-fallback/controller.js.map +1 -1
  223. package/dist/core/retry-fallback/expansion.d.ts +8 -0
  224. package/dist/core/retry-fallback/expansion.d.ts.map +1 -1
  225. package/dist/core/retry-fallback/expansion.js +2 -0
  226. package/dist/core/retry-fallback/expansion.js.map +1 -1
  227. package/dist/core/sdk.d.ts +5 -0
  228. package/dist/core/sdk.d.ts.map +1 -1
  229. package/dist/core/sdk.js +47 -12
  230. package/dist/core/sdk.js.map +1 -1
  231. package/dist/core/session-manager.d.ts +5 -2
  232. package/dist/core/session-manager.d.ts.map +1 -1
  233. package/dist/core/session-manager.js +15 -6
  234. package/dist/core/session-manager.js.map +1 -1
  235. package/dist/core/settings-manager.d.ts +1 -1
  236. package/dist/core/settings-manager.d.ts.map +1 -1
  237. package/dist/core/settings-manager.js +14 -3
  238. package/dist/core/settings-manager.js.map +1 -1
  239. package/dist/core/skills.d.ts.map +1 -1
  240. package/dist/core/skills.js +51 -33
  241. package/dist/core/skills.js.map +1 -1
  242. package/dist/core/tools/edit.d.ts.map +1 -1
  243. package/dist/core/tools/edit.js +17 -2
  244. package/dist/core/tools/edit.js.map +1 -1
  245. package/dist/extensions/llama/index.d.ts.map +1 -1
  246. package/dist/extensions/llama/index.js +2 -0
  247. package/dist/extensions/llama/index.js.map +1 -1
  248. package/dist/extensions/llama/provider.d.ts.map +1 -1
  249. package/dist/extensions/llama/provider.js +6 -6
  250. package/dist/extensions/llama/provider.js.map +1 -1
  251. package/dist/index.d.ts +1 -1
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js.map +1 -1
  254. package/dist/main.d.ts +4 -0
  255. package/dist/main.d.ts.map +1 -1
  256. package/dist/main.js +10 -4
  257. package/dist/main.js.map +1 -1
  258. package/dist/modes/interactive/components/settings-selector.js +1 -1
  259. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  260. package/dist/modes/interactive/editor-paste-transfer.d.ts +10 -1
  261. package/dist/modes/interactive/editor-paste-transfer.d.ts.map +1 -1
  262. package/dist/modes/interactive/editor-paste-transfer.js +27 -2
  263. package/dist/modes/interactive/editor-paste-transfer.js.map +1 -1
  264. package/dist/modes/interactive/interactive-mode.d.ts +69 -1
  265. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  266. package/dist/modes/interactive/interactive-mode.js +435 -63
  267. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  268. package/dist/modes/interactive/tips/catalog/dag-tips.d.ts +7 -0
  269. package/dist/modes/interactive/tips/catalog/dag-tips.d.ts.map +1 -0
  270. package/dist/modes/interactive/tips/catalog/dag-tips.js +57 -0
  271. package/dist/modes/interactive/tips/catalog/dag-tips.js.map +1 -0
  272. package/dist/modes/interactive/tips/catalog/memory-tips.d.ts +7 -0
  273. package/dist/modes/interactive/tips/catalog/memory-tips.d.ts.map +1 -0
  274. package/dist/modes/interactive/tips/catalog/memory-tips.js +100 -0
  275. package/dist/modes/interactive/tips/catalog/memory-tips.js.map +1 -0
  276. package/dist/modes/interactive/tips/registry.d.ts.map +1 -1
  277. package/dist/modes/interactive/tips/registry.js +4 -0
  278. package/dist/modes/interactive/tips/registry.js.map +1 -1
  279. package/dist/utils/management-http.d.ts +5 -3
  280. package/dist/utils/management-http.d.ts.map +1 -1
  281. package/dist/utils/management-http.js +14 -10
  282. package/dist/utils/management-http.js.map +1 -1
  283. package/docs/compaction.md +17 -0
  284. package/docs/custom-provider.md +5 -2
  285. package/docs/extensions.md +11 -2
  286. package/docs/llama-cpp.md +2 -0
  287. package/docs/models.md +8 -2
  288. package/docs/providers.md +9 -6
  289. package/docs/settings.md +22 -2
  290. package/docs/skills.md +4 -3
  291. package/examples/extensions/border-status-editor.ts +1 -1
  292. package/examples/extensions/git-checkpoint.ts +2 -2
  293. package/examples/extensions/notify.ts +3 -1
  294. package/examples/extensions/subagent/index.ts +6 -1
  295. package/examples/extensions/titlebar-spinner.ts +1 -1
  296. package/examples/rpc-extension-ui.ts +1 -1
  297. package/examples/sdk/06-extensions.ts +1 -1
  298. package/examples/sdk/README.md +1 -1
  299. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +40 -0
  300. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-string-parser/LICENSE +22 -0
  301. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-string-parser/README.md +19 -0
  302. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-string-parser/lib/index.d.ts +41 -0
  303. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-string-parser/lib/index.js +287 -0
  304. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-string-parser/lib/index.js.map +1 -0
  305. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-string-parser/package.json +31 -0
  306. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/LICENSE +22 -0
  307. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/README.md +19 -0
  308. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/identifier-browser.js +63 -0
  309. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/identifier-browser.js.map +1 -0
  310. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/identifier.js +61 -0
  311. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +1 -0
  312. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/index.d.ts +28 -0
  313. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/index.js +28 -0
  314. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -0
  315. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/helper-validator-identifier/package.json +45 -0
  316. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/LICENSE +19 -0
  317. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/README.md +19 -0
  318. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/bin/babel-parser.js +14 -0
  319. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/lib/index.d.ts +1035 -0
  320. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/lib/index.js +14276 -0
  321. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/lib/index.js.map +1 -0
  322. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/package.json +57 -0
  323. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/parser/typings/babel-parser.d.ts +624 -0
  324. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/LICENSE +22 -0
  325. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/README.md +19 -0
  326. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/lib/index-legacy.d.ts +2743 -0
  327. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/lib/index.d.ts +3643 -0
  328. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/lib/index.js +11178 -0
  329. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/lib/index.js.flow +2596 -0
  330. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/lib/index.js.map +1 -0
  331. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/@babel/types/package.json +38 -0
  332. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/code.d.mts +12 -0
  333. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/code.mjs +65 -0
  334. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/compile.d.mts +6 -0
  335. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/compile.mjs +12 -0
  336. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/index.d.mts +8 -0
  337. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/index.mjs +14 -0
  338. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/validator.d.mts +35 -0
  339. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/compile/validator.mjs +91 -0
  340. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/error/errors.d.mts +208 -0
  341. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/error/errors.mjs +18 -0
  342. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/error/index.d.mts +1 -0
  343. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/error/index.mjs +1 -0
  344. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/_idna.d.mts +2 -0
  345. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/_idna.mjs +246 -0
  346. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/_puny.d.mts +1 -0
  347. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/_puny.mjs +77 -0
  348. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/_registry.d.mts +15 -0
  349. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/_registry.mjs +96 -0
  350. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/date.d.mts +6 -0
  351. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/date.mjs +19 -0
  352. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/date_time.d.mts +6 -0
  353. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/date_time.mjs +11 -0
  354. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/duration.d.mts +5 -0
  355. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/duration.mjs +8 -0
  356. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/email.d.mts +5 -0
  357. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/email.mjs +8 -0
  358. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/format.d.mts +22 -0
  359. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/format.mjs +22 -0
  360. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/hostname.d.mts +7 -0
  361. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/hostname.mjs +18 -0
  362. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/idn_email.d.mts +5 -0
  363. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/idn_email.mjs +8 -0
  364. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/idn_hostname.d.mts +7 -0
  365. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/idn_hostname.mjs +19 -0
  366. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/index.d.mts +4 -0
  367. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/index.mjs +4 -0
  368. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/ipv4.d.mts +6 -0
  369. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/ipv4.mjs +38 -0
  370. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/ipv6.d.mts +5 -0
  371. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/ipv6.mjs +67 -0
  372. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/iri.d.mts +5 -0
  373. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/iri.mjs +13 -0
  374. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/iri_reference.d.mts +5 -0
  375. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/iri_reference.mjs +60 -0
  376. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/json_pointer.d.mts +6 -0
  377. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/json_pointer.mjs +9 -0
  378. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/json_pointer_uri_fragment.d.mts +6 -0
  379. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/json_pointer_uri_fragment.mjs +9 -0
  380. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/regex.d.mts +6 -0
  381. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/regex.mjs +17 -0
  382. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/relative_json_pointer.d.mts +6 -0
  383. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/relative_json_pointer.mjs +9 -0
  384. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/time.d.mts +5 -0
  385. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/time.mjs +27 -0
  386. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uri.d.mts +5 -0
  387. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uri.mjs +135 -0
  388. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uri_reference.d.mts +5 -0
  389. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uri_reference.mjs +9 -0
  390. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uri_template.d.mts +6 -0
  391. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uri_template.mjs +10 -0
  392. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/url.d.mts +6 -0
  393. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/url.mjs +9 -0
  394. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uuid.d.mts +6 -0
  395. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/format/uuid.mjs +9 -0
  396. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/emit.d.mts +56 -0
  397. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/emit.mjs +193 -0
  398. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/globals.d.mts +35 -0
  399. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/globals.mjs +90 -0
  400. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/guard.d.mts +71 -0
  401. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/guard.mjs +233 -0
  402. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/index.d.mts +6 -0
  403. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/index.mjs +6 -0
  404. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/native.d.mts +20 -0
  405. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/native.mjs +60 -0
  406. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/string.d.mts +6 -0
  407. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/guard/string.mjs +176 -0
  408. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/index.d.mts +8 -0
  409. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/index.mjs +14 -0
  410. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/build.d.mts +39 -0
  411. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/build.mjs +118 -0
  412. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/check.d.mts +6 -0
  413. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/check.mjs +14 -0
  414. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/compile.d.mts +22 -0
  415. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/compile.mjs +46 -0
  416. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_context.d.mts +35 -0
  417. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_context.mjs +129 -0
  418. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_exact_optional.d.mts +3 -0
  419. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_exact_optional.mjs +20 -0
  420. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_externals.d.mts +7 -0
  421. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_externals.mjs +25 -0
  422. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_functions.d.mts +6 -0
  423. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_functions.mjs +65 -0
  424. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_reducer.d.mts +4 -0
  425. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_reducer.mjs +45 -0
  426. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_refine.d.mts +6 -0
  427. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_refine.mjs +29 -0
  428. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_stack.d.mts +18 -0
  429. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_stack.mjs +107 -0
  430. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_unique.d.mts +2 -0
  431. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/_unique.mjs +5 -0
  432. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/additionalItems.d.mts +6 -0
  433. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/additionalItems.mjs +60 -0
  434. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +9 -0
  435. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/additionalProperties.mjs +110 -0
  436. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/allOf.d.mts +6 -0
  437. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/allOf.mjs +47 -0
  438. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/anyOf.d.mts +6 -0
  439. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/anyOf.mjs +52 -0
  440. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/boolean.d.mts +5 -0
  441. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/boolean.mjs +25 -0
  442. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/const.d.mts +6 -0
  443. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/const.mjs +30 -0
  444. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/contains.d.mts +6 -0
  445. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/contains.mjs +54 -0
  446. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dependencies.d.mts +6 -0
  447. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dependencies.mjs +45 -0
  448. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +6 -0
  449. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dependentRequired.mjs +40 -0
  450. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +6 -0
  451. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +38 -0
  452. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +6 -0
  453. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/dynamicRef.mjs +25 -0
  454. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/enum.d.mts +6 -0
  455. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/enum.mjs +33 -0
  456. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +6 -0
  457. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +25 -0
  458. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +6 -0
  459. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +25 -0
  460. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/format.d.mts +6 -0
  461. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/format.mjs +26 -0
  462. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/if.d.mts +6 -0
  463. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/if.mjs +47 -0
  464. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/index.d.mts +48 -0
  465. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/index.mjs +54 -0
  466. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/items.d.mts +6 -0
  467. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/items.mjs +88 -0
  468. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxContains.d.mts +6 -0
  469. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxContains.mjs +42 -0
  470. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxItems.d.mts +6 -0
  471. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxItems.mjs +25 -0
  472. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxLength.d.mts +6 -0
  473. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxLength.mjs +25 -0
  474. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxProperties.d.mts +6 -0
  475. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maxProperties.mjs +25 -0
  476. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maximum.d.mts +6 -0
  477. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/maximum.mjs +25 -0
  478. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minContains.d.mts +6 -0
  479. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minContains.mjs +51 -0
  480. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minItems.d.mts +6 -0
  481. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minItems.mjs +25 -0
  482. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minLength.d.mts +6 -0
  483. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minLength.mjs +25 -0
  484. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minProperties.d.mts +6 -0
  485. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minProperties.mjs +25 -0
  486. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minimum.d.mts +6 -0
  487. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/minimum.mjs +25 -0
  488. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/multipleOf.d.mts +6 -0
  489. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/multipleOf.mjs +25 -0
  490. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/not.d.mts +6 -0
  491. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/not.mjs +39 -0
  492. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/oneOf.d.mts +6 -0
  493. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/oneOf.mjs +59 -0
  494. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/pattern.d.mts +6 -0
  495. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/pattern.mjs +28 -0
  496. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/patternProperties.d.mts +6 -0
  497. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/patternProperties.mjs +44 -0
  498. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/prefixItems.d.mts +6 -0
  499. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/prefixItems.mjs +35 -0
  500. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/properties.d.mts +6 -0
  501. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/properties.mjs +75 -0
  502. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/propertyNames.d.mts +6 -0
  503. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/propertyNames.mjs +39 -0
  504. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +6 -0
  505. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/recursiveRef.mjs +25 -0
  506. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/ref.d.mts +6 -0
  507. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/ref.mjs +52 -0
  508. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/required.d.mts +6 -0
  509. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/required.mjs +32 -0
  510. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/schema.d.mts +9 -0
  511. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/schema.mjs +347 -0
  512. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/type.d.mts +6 -0
  513. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/type.mjs +70 -0
  514. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +6 -0
  515. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +51 -0
  516. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +6 -0
  517. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +51 -0
  518. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +6 -0
  519. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/engine/uniqueItems.mjs +51 -0
  520. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/errors.d.mts +6 -0
  521. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/errors.mjs +24 -0
  522. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/index.d.mts +3 -0
  523. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/index.mjs +9 -0
  524. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/parse.d.mts +13 -0
  525. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/parse.mjs +27 -0
  526. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/pointer/index.d.mts +2 -0
  527. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/pointer/index.mjs +2 -0
  528. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/pointer/pointer.d.mts +10 -0
  529. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/pointer/pointer.mjs +106 -0
  530. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/pointer/pointer_get.d.mts +9 -0
  531. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/pointer/pointer_get.mjs +2 -0
  532. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/resolve/index.d.mts +1 -0
  533. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/resolve/index.mjs +1 -0
  534. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/resolve/ref.d.mts +3 -0
  535. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/resolve/ref.mjs +146 -0
  536. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/resolve/resolve.d.mts +1 -0
  537. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/resolve/resolve.mjs +1 -0
  538. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/schema.d.mts +10 -0
  539. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/schema.mjs +10 -0
  540. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/_canonical.d.mts +7 -0
  541. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/_canonical.mjs +2 -0
  542. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/_comparer.d.mts +6 -0
  543. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/_comparer.mjs +2 -0
  544. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/_elements.d.mts +18 -0
  545. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/_elements.mjs +2 -0
  546. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/additionalProperties.d.mts +7 -0
  547. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/additionalProperties.mjs +3 -0
  548. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/allOf.d.mts +3 -0
  549. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/allOf.mjs +2 -0
  550. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/anyOf.d.mts +3 -0
  551. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/anyOf.mjs +2 -0
  552. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/const.d.mts +1 -0
  553. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/const.mjs +2 -0
  554. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/enum.d.mts +1 -0
  555. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/enum.mjs +2 -0
  556. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/if.d.mts +15 -0
  557. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/if.mjs +2 -0
  558. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/index.d.mts +1 -0
  559. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/index.mjs +1 -0
  560. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/items.d.mts +7 -0
  561. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/items.mjs +2 -0
  562. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/oneOf.d.mts +3 -0
  563. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/oneOf.mjs +2 -0
  564. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/patternProperties.d.mts +7 -0
  565. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/patternProperties.mjs +2 -0
  566. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/prefixItems.d.mts +3 -0
  567. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/prefixItems.mjs +2 -0
  568. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/properties.d.mts +32 -0
  569. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/properties.mjs +2 -0
  570. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/ref.d.mts +8 -0
  571. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/ref.mjs +3 -0
  572. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/required.d.mts +3 -0
  573. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/required.mjs +3 -0
  574. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/schema.d.mts +56 -0
  575. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/schema.mjs +2 -0
  576. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/static.d.mts +4 -0
  577. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/static.mjs +3 -0
  578. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/type.d.mts +4 -0
  579. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/type.mjs +3 -0
  580. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/unevaluatedProperties.d.mts +7 -0
  581. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/static/unevaluatedProperties.mjs +3 -0
  582. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/_refine.d.mts +13 -0
  583. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/_refine.mjs +18 -0
  584. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/additionalItems.d.mts +9 -0
  585. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/additionalItems.mjs +14 -0
  586. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/additionalProperties.d.mts +9 -0
  587. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/additionalProperties.mjs +14 -0
  588. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/allOf.d.mts +9 -0
  589. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/allOf.mjs +15 -0
  590. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/anchor.d.mts +8 -0
  591. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/anchor.mjs +12 -0
  592. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/anyOf.d.mts +9 -0
  593. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/anyOf.mjs +15 -0
  594. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/const.d.mts +9 -0
  595. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/const.mjs +12 -0
  596. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/contains.d.mts +9 -0
  597. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/contains.mjs +14 -0
  598. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/contentEncoding.d.mts +9 -0
  599. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/contentEncoding.mjs +13 -0
  600. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/contentMediaType.d.mts +9 -0
  601. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/contentMediaType.mjs +13 -0
  602. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/default.d.mts +9 -0
  603. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/default.mjs +12 -0
  604. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/defs.d.mts +6 -0
  605. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/defs.mjs +12 -0
  606. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dependencies.d.mts +11 -0
  607. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dependencies.mjs +16 -0
  608. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dependentRequired.d.mts +9 -0
  609. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dependentRequired.mjs +15 -0
  610. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dependentSchemas.d.mts +9 -0
  611. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dependentSchemas.mjs +15 -0
  612. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dynamicAnchor.d.mts +8 -0
  613. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dynamicAnchor.mjs +12 -0
  614. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dynamicRef.d.mts +8 -0
  615. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/dynamicRef.mjs +12 -0
  616. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/else.d.mts +9 -0
  617. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/else.mjs +14 -0
  618. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/enum.d.mts +9 -0
  619. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/enum.mjs +13 -0
  620. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/exclusiveMaximum.d.mts +9 -0
  621. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/exclusiveMaximum.mjs +13 -0
  622. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/exclusiveMinimum.d.mts +9 -0
  623. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/exclusiveMinimum.mjs +13 -0
  624. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/format.d.mts +9 -0
  625. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/format.mjs +13 -0
  626. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/id.d.mts +9 -0
  627. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/id.mjs +13 -0
  628. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/if.d.mts +9 -0
  629. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/if.mjs +14 -0
  630. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/index.d.mts +53 -0
  631. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/index.mjs +59 -0
  632. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/items.d.mts +19 -0
  633. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/items.mjs +26 -0
  634. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxContains.d.mts +9 -0
  635. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxContains.mjs +13 -0
  636. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxItems.d.mts +9 -0
  637. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxItems.mjs +13 -0
  638. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxLength.d.mts +9 -0
  639. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxLength.mjs +13 -0
  640. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxProperties.d.mts +9 -0
  641. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maxProperties.mjs +13 -0
  642. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maximum.d.mts +9 -0
  643. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/maximum.mjs +13 -0
  644. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minContains.d.mts +9 -0
  645. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minContains.mjs +13 -0
  646. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minItems.d.mts +9 -0
  647. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minItems.mjs +13 -0
  648. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minLength.d.mts +9 -0
  649. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minLength.mjs +13 -0
  650. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minProperties.d.mts +9 -0
  651. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minProperties.mjs +13 -0
  652. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minimum.d.mts +9 -0
  653. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/minimum.mjs +13 -0
  654. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/multipleOf.d.mts +9 -0
  655. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/multipleOf.mjs +13 -0
  656. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/not.d.mts +9 -0
  657. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/not.mjs +14 -0
  658. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/oneOf.d.mts +9 -0
  659. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/oneOf.mjs +15 -0
  660. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/pattern.d.mts +9 -0
  661. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/pattern.mjs +14 -0
  662. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/patternProperties.d.mts +9 -0
  663. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/patternProperties.mjs +15 -0
  664. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/prefixItems.d.mts +8 -0
  665. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/prefixItems.mjs +14 -0
  666. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/properties.d.mts +9 -0
  667. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/properties.mjs +15 -0
  668. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/propertyNames.d.mts +9 -0
  669. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/propertyNames.mjs +15 -0
  670. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/recursiveAnchor.d.mts +12 -0
  671. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/recursiveAnchor.mjs +19 -0
  672. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/recursiveRef.d.mts +8 -0
  673. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/recursiveRef.mjs +12 -0
  674. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/ref.d.mts +9 -0
  675. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/ref.mjs +13 -0
  676. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/required.d.mts +9 -0
  677. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/required.mjs +14 -0
  678. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/schema.d.mts +9 -0
  679. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/schema.mjs +14 -0
  680. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/then.d.mts +9 -0
  681. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/then.mjs +14 -0
  682. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/type.d.mts +9 -0
  683. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/type.mjs +15 -0
  684. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/unevaluatedItems.d.mts +9 -0
  685. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/unevaluatedItems.mjs +14 -0
  686. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/unevaluatedProperties.d.mts +9 -0
  687. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/unevaluatedProperties.mjs +14 -0
  688. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/uniqueItems.d.mts +9 -0
  689. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/schema/types/uniqueItems.mjs +13 -0
  690. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/arguments/arguments.d.mts +5 -0
  691. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/arguments/arguments.mjs +9 -0
  692. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/arguments/index.d.mts +1 -0
  693. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/arguments/index.mjs +1 -0
  694. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/environment/environment.d.mts +1 -0
  695. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/environment/environment.mjs +1 -0
  696. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/environment/evaluate.d.mts +9 -0
  697. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/environment/evaluate.mjs +37 -0
  698. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/environment/index.d.mts +1 -0
  699. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/environment/index.mjs +1 -0
  700. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/hashing/hash.d.mts +4 -0
  701. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/hashing/hash.mjs +232 -0
  702. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/hashing/index.d.mts +1 -0
  703. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/hashing/index.mjs +1 -0
  704. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/index.d.mts +4 -0
  705. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/index.mjs +4 -0
  706. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/_config.d.mts +7 -0
  707. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/_config.mjs +15 -0
  708. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/_locale.d.mts +40 -0
  709. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/_locale.mjs +40 -0
  710. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ar_001.d.mts +3 -0
  711. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ar_001.mjs +40 -0
  712. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/bn_BD.d.mts +3 -0
  713. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/bn_BD.mjs +40 -0
  714. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/cs_CZ.d.mts +3 -0
  715. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/cs_CZ.mjs +40 -0
  716. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/de_DE.d.mts +3 -0
  717. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/de_DE.mjs +40 -0
  718. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/el_GR.d.mts +3 -0
  719. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/el_GR.mjs +40 -0
  720. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/en_US.d.mts +3 -0
  721. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/en_US.mjs +39 -0
  722. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_419.d.mts +3 -0
  723. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_419.mjs +40 -0
  724. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_AR.d.mts +3 -0
  725. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_AR.mjs +40 -0
  726. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_ES.d.mts +3 -0
  727. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_ES.mjs +40 -0
  728. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_MX.d.mts +3 -0
  729. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/es_MX.mjs +40 -0
  730. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fa_IR.d.mts +3 -0
  731. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fa_IR.mjs +40 -0
  732. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fil_PH.d.mts +3 -0
  733. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fil_PH.mjs +40 -0
  734. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fr_CA.d.mts +3 -0
  735. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fr_CA.mjs +40 -0
  736. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fr_FR.d.mts +3 -0
  737. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/fr_FR.mjs +40 -0
  738. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ha_NG.d.mts +3 -0
  739. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ha_NG.mjs +40 -0
  740. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/hi_IN.d.mts +3 -0
  741. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/hi_IN.mjs +40 -0
  742. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/hu_HU.d.mts +3 -0
  743. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/hu_HU.mjs +40 -0
  744. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/id_ID.d.mts +3 -0
  745. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/id_ID.mjs +40 -0
  746. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/index.d.mts +1 -0
  747. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/index.mjs +1 -0
  748. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/it_IT.d.mts +3 -0
  749. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/it_IT.mjs +40 -0
  750. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ja_JP.d.mts +3 -0
  751. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ja_JP.mjs +40 -0
  752. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ko_KR.d.mts +3 -0
  753. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ko_KR.mjs +40 -0
  754. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ms_MY.d.mts +3 -0
  755. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ms_MY.mjs +40 -0
  756. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/nl_NL.d.mts +3 -0
  757. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/nl_NL.mjs +40 -0
  758. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/pl_PL.d.mts +3 -0
  759. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/pl_PL.mjs +40 -0
  760. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/pt_BR.d.mts +3 -0
  761. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/pt_BR.mjs +40 -0
  762. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/pt_PT.d.mts +3 -0
  763. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/pt_PT.mjs +40 -0
  764. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ro_RO.d.mts +3 -0
  765. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ro_RO.mjs +40 -0
  766. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ru_RU.d.mts +3 -0
  767. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ru_RU.mjs +40 -0
  768. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/sv_SE.d.mts +3 -0
  769. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/sv_SE.mjs +40 -0
  770. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/sw_TZ.d.mts +3 -0
  771. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/sw_TZ.mjs +40 -0
  772. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/th_TH.d.mts +3 -0
  773. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/th_TH.mjs +40 -0
  774. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/tr_TR.d.mts +3 -0
  775. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/tr_TR.mjs +40 -0
  776. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/uk_UA.d.mts +3 -0
  777. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/uk_UA.mjs +40 -0
  778. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ur_PK.d.mts +3 -0
  779. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/ur_PK.mjs +40 -0
  780. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/vi_VN.d.mts +3 -0
  781. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/vi_VN.mjs +40 -0
  782. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/yo_NG.d.mts +3 -0
  783. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/yo_NG.mjs +40 -0
  784. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/zh_Hans.d.mts +3 -0
  785. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/zh_Hans.mjs +40 -0
  786. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/zh_Hant.d.mts +3 -0
  787. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/locale/zh_Hant.mjs +40 -0
  788. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/assign.d.mts +14 -0
  789. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/assign.mjs +11 -0
  790. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/clone.d.mts +5 -0
  791. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/clone.mjs +110 -0
  792. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/create.d.mts +8 -0
  793. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/create.mjs +30 -0
  794. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/discard.d.mts +4 -0
  795. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/discard.mjs +17 -0
  796. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/index.d.mts +1 -0
  797. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/index.mjs +1 -0
  798. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/memory.d.mts +6 -0
  799. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/memory.mjs +7 -0
  800. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/metrics.d.mts +14 -0
  801. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/metrics.mjs +8 -0
  802. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/update.d.mts +7 -0
  803. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/memory/update.mjs +32 -0
  804. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/settings/index.d.mts +1 -0
  805. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/settings/index.mjs +1 -0
  806. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/settings/settings.d.mts +71 -0
  807. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/settings/settings.mjs +34 -0
  808. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/system.d.mts +6 -0
  809. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/system.mjs +6 -0
  810. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/unreachable/index.d.mts +1 -0
  811. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/unreachable/index.mjs +1 -0
  812. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/unreachable/unreachable.d.mts +3 -0
  813. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/system/unreachable/unreachable.mjs +6 -0
  814. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
  815. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
  816. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
  817. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
  818. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
  819. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
  820. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
  821. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
  822. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
  823. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
  824. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
  825. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
  826. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/capitalize.d.mts +11 -0
  827. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/capitalize.mjs +11 -0
  828. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/conditional.d.mts +12 -0
  829. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/conditional.mjs +13 -0
  830. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/constructor_parameters.d.mts +11 -0
  831. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/constructor_parameters.mjs +11 -0
  832. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/evaluate.d.mts +11 -0
  833. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/evaluate.mjs +11 -0
  834. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/exclude.d.mts +11 -0
  835. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/exclude.mjs +11 -0
  836. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/extract.d.mts +11 -0
  837. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/extract.mjs +11 -0
  838. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/index.d.mts +30 -0
  839. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/index.mjs +30 -0
  840. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/indexed.d.mts +14 -0
  841. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/indexed.mjs +14 -0
  842. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/instance_type.d.mts +11 -0
  843. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/instance_type.mjs +11 -0
  844. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/interface.d.mts +14 -0
  845. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/interface.mjs +22 -0
  846. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/keyof.d.mts +11 -0
  847. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/keyof.mjs +11 -0
  848. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/lowercase.d.mts +11 -0
  849. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/lowercase.mjs +11 -0
  850. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/mapped.d.mts +13 -0
  851. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/mapped.mjs +13 -0
  852. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/module.d.mts +13 -0
  853. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/module.mjs +13 -0
  854. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/non_nullable.d.mts +11 -0
  855. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/non_nullable.mjs +11 -0
  856. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/omit.d.mts +14 -0
  857. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/omit.mjs +14 -0
  858. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/parameters.d.mts +11 -0
  859. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/parameters.mjs +11 -0
  860. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/partial.d.mts +11 -0
  861. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/partial.mjs +11 -0
  862. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/pick.d.mts +14 -0
  863. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/pick.mjs +14 -0
  864. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/readonly_object.d.mts +16 -0
  865. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/readonly_object.mjs +19 -0
  866. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/required.d.mts +11 -0
  867. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/required.mjs +11 -0
  868. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/return_type.d.mts +11 -0
  869. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/return_type.mjs +11 -0
  870. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/uncapitalize.d.mts +11 -0
  871. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/uncapitalize.mjs +11 -0
  872. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/uppercase.d.mts +11 -0
  873. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/uppercase.mjs +11 -0
  874. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/with.d.mts +11 -0
  875. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/action/with.mjs +11 -0
  876. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +15 -0
  877. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +53 -0
  878. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/instantiate.d.mts +21 -0
  879. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/instantiate.mjs +49 -0
  880. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/resolve_arguments.d.mts +13 -0
  881. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +33 -0
  882. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/resolve_target.d.mts +25 -0
  883. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/call/resolve_target.mjs +27 -0
  884. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/conditional/index.d.mts +1 -0
  885. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/conditional/index.mjs +1 -0
  886. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/conditional/instantiate.d.mts +12 -0
  887. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/conditional/instantiate.mjs +23 -0
  888. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/constructor_parameters/index.d.mts +1 -0
  889. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/constructor_parameters/index.mjs +1 -0
  890. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +14 -0
  891. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +25 -0
  892. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +8 -0
  893. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +16 -0
  894. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/check.d.mts +21 -0
  895. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/check.mjs +45 -0
  896. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +22 -0
  897. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +47 -0
  898. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +28 -0
  899. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/extends.mjs +47 -0
  900. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/index.d.mts +6 -0
  901. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/index.mjs +6 -0
  902. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +17 -0
  903. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +31 -0
  904. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/target.d.mts +10 -0
  905. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/cyclic/target.mjs +16 -0
  906. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/enum/index.d.mts +1 -0
  907. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/enum/index.mjs +1 -0
  908. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.d.mts +8 -0
  909. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.mjs +9 -0
  910. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +15 -0
  911. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +43 -0
  912. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +15 -0
  913. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/compare.mjs +22 -0
  914. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +34 -0
  915. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/composite.mjs +67 -0
  916. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +28 -0
  917. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +45 -0
  918. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +26 -0
  919. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +53 -0
  920. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +6 -0
  921. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +11 -0
  922. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/index.d.mts +8 -0
  923. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/index.mjs +8 -0
  924. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/instantiate.d.mts +8 -0
  925. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/instantiate.mjs +12 -0
  926. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -0
  927. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +11 -0
  928. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/exclude/index.d.mts +1 -0
  929. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/exclude/index.mjs +1 -0
  930. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/exclude/instantiate.d.mts +9 -0
  931. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/exclude/instantiate.mjs +16 -0
  932. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/exclude/operation.d.mts +10 -0
  933. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/exclude/operation.mjs +23 -0
  934. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/extract/index.d.mts +1 -0
  935. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/extract/index.mjs +1 -0
  936. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/extract/instantiate.d.mts +9 -0
  937. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/extract/instantiate.mjs +16 -0
  938. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/extract/operation.d.mts +10 -0
  939. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/extract/operation.mjs +23 -0
  940. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/index.d.mts +3 -0
  941. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/index.mjs +3 -0
  942. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/keys.d.mts +3 -0
  943. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/keys.mjs +8 -0
  944. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.d.mts +7 -0
  945. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.mjs +15 -0
  946. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/union.d.mts +7 -0
  947. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/helpers/union.mjs +3 -0
  948. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
  949. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
  950. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
  951. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
  952. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/index.d.mts +31 -0
  953. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/index.mjs +37 -0
  954. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_cyclic.d.mts +6 -0
  955. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_cyclic.mjs +8 -0
  956. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
  957. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
  958. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +6 -0
  959. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +8 -0
  960. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_intersect.d.mts +5 -0
  961. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_intersect.mjs +8 -0
  962. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_literal.d.mts +3 -0
  963. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_literal.mjs +5 -0
  964. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +5 -0
  965. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +8 -0
  966. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +19 -0
  967. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_type.mjs +25 -0
  968. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_union.d.mts +4 -0
  969. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/from_union.mjs +7 -0
  970. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/to_indexable.d.mts +9 -0
  971. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/to_indexable.mjs +14 -0
  972. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.d.mts +10 -0
  973. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.mjs +12 -0
  974. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/array_indexer.d.mts +12 -0
  975. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/array_indexer.mjs +18 -0
  976. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_array.d.mts +15 -0
  977. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_array.mjs +35 -0
  978. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_object.d.mts +16 -0
  979. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_object.mjs +40 -0
  980. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_tuple.d.mts +13 -0
  981. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_tuple.mjs +35 -0
  982. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_type.d.mts +11 -0
  983. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/from_type.mjs +14 -0
  984. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/index.d.mts +1 -0
  985. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/index.mjs +1 -0
  986. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +16 -0
  987. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +28 -0
  988. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/instance_type/index.d.mts +1 -0
  989. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/instance_type/index.mjs +1 -0
  990. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/instance_type/instantiate.d.mts +12 -0
  991. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/instance_type/instantiate.mjs +21 -0
  992. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/instantiate.d.mts +178 -0
  993. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/instantiate.mjs +158 -0
  994. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/interface/index.d.mts +1 -0
  995. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/interface/index.mjs +1 -0
  996. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +15 -0
  997. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/interface/instantiate.mjs +23 -0
  998. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_literal.d.mts +5 -0
  999. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_literal.mjs +9 -0
  1000. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +6 -0
  1001. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +8 -0
  1002. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_type.d.mts +10 -0
  1003. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_type.mjs +13 -0
  1004. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_union.d.mts +6 -0
  1005. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/from_union.mjs +7 -0
  1006. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/index.d.mts +1 -0
  1007. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/index.mjs +1 -0
  1008. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/instantiate.d.mts +38 -0
  1009. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/instantiate.mjs +52 -0
  1010. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/mapping.d.mts +9 -0
  1011. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/intrinsics/mapping.mjs +4 -0
  1012. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_any.d.mts +6 -0
  1013. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_any.mjs +8 -0
  1014. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_array.d.mts +4 -0
  1015. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_array.mjs +5 -0
  1016. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_object.d.mts +10 -0
  1017. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_object.mjs +20 -0
  1018. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_record.d.mts +4 -0
  1019. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_record.mjs +5 -0
  1020. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_tuple.d.mts +5 -0
  1021. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_tuple.mjs +7 -0
  1022. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_type.d.mts +15 -0
  1023. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/from_type.mjs +23 -0
  1024. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/index.d.mts +1 -0
  1025. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/index.mjs +1 -0
  1026. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +16 -0
  1027. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +29 -0
  1028. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/index.d.mts +1 -0
  1029. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/index.mjs +1 -0
  1030. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/instantiate.d.mts +10 -0
  1031. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/instantiate.mjs +15 -0
  1032. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +22 -0
  1033. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +42 -0
  1034. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +17 -0
  1035. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +39 -0
  1036. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/module/index.d.mts +1 -0
  1037. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/module/index.mjs +1 -0
  1038. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/module/instantiate.d.mts +19 -0
  1039. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/module/instantiate.mjs +36 -0
  1040. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/non_nullable/index.d.mts +1 -0
  1041. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/non_nullable/index.mjs +1 -0
  1042. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/non_nullable/instantiate.d.mts +14 -0
  1043. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/non_nullable/instantiate.mjs +22 -0
  1044. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/collapse.d.mts +12 -0
  1045. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/collapse.mjs +14 -0
  1046. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_cyclic.d.mts +6 -0
  1047. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_cyclic.mjs +8 -0
  1048. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
  1049. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
  1050. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +17 -0
  1051. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_intersect.mjs +22 -0
  1052. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_object.d.mts +3 -0
  1053. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_object.mjs +4 -0
  1054. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_tuple.d.mts +6 -0
  1055. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_tuple.mjs +9 -0
  1056. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_type.d.mts +16 -0
  1057. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_type.mjs +23 -0
  1058. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_union.d.mts +12 -0
  1059. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/from_union.mjs +19 -0
  1060. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/index.d.mts +1 -0
  1061. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/object/index.mjs +1 -0
  1062. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/omit/from_type.d.mts +12 -0
  1063. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/omit/from_type.mjs +18 -0
  1064. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/omit/index.d.mts +1 -0
  1065. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/omit/index.mjs +1 -0
  1066. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/omit/instantiate.d.mts +9 -0
  1067. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/omit/instantiate.mjs +16 -0
  1068. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
  1069. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
  1070. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
  1071. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
  1072. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/parameters/index.d.mts +1 -0
  1073. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/parameters/index.mjs +1 -0
  1074. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +14 -0
  1075. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +25 -0
  1076. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_cyclic.d.mts +10 -0
  1077. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_cyclic.mjs +11 -0
  1078. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
  1079. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
  1080. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +5 -0
  1081. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +8 -0
  1082. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_object.d.mts +8 -0
  1083. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_object.mjs +11 -0
  1084. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_type.d.mts +14 -0
  1085. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_type.mjs +20 -0
  1086. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_union.d.mts +5 -0
  1087. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/from_union.mjs +7 -0
  1088. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/index.d.mts +1 -0
  1089. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/index.mjs +1 -0
  1090. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/instantiate.d.mts +9 -0
  1091. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/partial/instantiate.mjs +15 -0
  1092. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/patterns/index.d.mts +2 -0
  1093. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/patterns/index.mjs +2 -0
  1094. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/patterns/pattern.d.mts +6 -0
  1095. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/patterns/pattern.mjs +11 -0
  1096. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/patterns/template.d.mts +7 -0
  1097. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/patterns/template.mjs +20 -0
  1098. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/pick/from_type.d.mts +13 -0
  1099. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/pick/from_type.mjs +20 -0
  1100. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/pick/index.d.mts +1 -0
  1101. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/pick/index.mjs +1 -0
  1102. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/pick/instantiate.d.mts +9 -0
  1103. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/pick/instantiate.mjs +16 -0
  1104. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
  1105. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
  1106. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
  1107. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
  1108. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
  1109. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
  1110. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
  1111. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
  1112. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +5 -0
  1113. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +7 -0
  1114. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.d.mts +10 -0
  1115. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.mjs +11 -0
  1116. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
  1117. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
  1118. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
  1119. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +8 -0
  1120. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +8 -0
  1121. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +11 -0
  1122. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +5 -0
  1123. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +7 -0
  1124. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +18 -0
  1125. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +25 -0
  1126. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_union.d.mts +5 -0
  1127. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/from_union.mjs +7 -0
  1128. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/index.d.mts +1 -0
  1129. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/index.mjs +1 -0
  1130. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/instantiate.d.mts +9 -0
  1131. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/readonly_object/instantiate.mjs +15 -0
  1132. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key.d.mts +24 -0
  1133. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key.mjs +40 -0
  1134. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_any.d.mts +4 -0
  1135. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_any.mjs +6 -0
  1136. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_boolean.d.mts +7 -0
  1137. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_boolean.mjs +5 -0
  1138. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +6 -0
  1139. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +8 -0
  1140. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_integer.d.mts +5 -0
  1141. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_integer.mjs +7 -0
  1142. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_intersect.d.mts +5 -0
  1143. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_intersect.mjs +8 -0
  1144. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_literal.d.mts +11 -0
  1145. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_literal.mjs +10 -0
  1146. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_number.d.mts +5 -0
  1147. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_number.mjs +7 -0
  1148. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_string.d.mts +5 -0
  1149. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_string.mjs +12 -0
  1150. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +8 -0
  1151. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +12 -0
  1152. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_union.d.mts +20 -0
  1153. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/from_key_union.mjs +39 -0
  1154. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/index.d.mts +1 -0
  1155. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/index.mjs +1 -0
  1156. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/instantiate.d.mts +9 -0
  1157. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/instantiate.mjs +17 -0
  1158. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/record_create.d.mts +3 -0
  1159. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/record/record_create.mjs +7 -0
  1160. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/ref/index.d.mts +1 -0
  1161. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/ref/index.mjs +1 -0
  1162. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +6 -0
  1163. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/ref/instantiate.mjs +10 -0
  1164. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_cyclic.d.mts +10 -0
  1165. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_cyclic.mjs +11 -0
  1166. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
  1167. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
  1168. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +5 -0
  1169. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_intersect.mjs +8 -0
  1170. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_object.d.mts +8 -0
  1171. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_object.mjs +11 -0
  1172. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_type.d.mts +14 -0
  1173. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_type.mjs +20 -0
  1174. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_union.d.mts +5 -0
  1175. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/from_union.mjs +7 -0
  1176. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/index.d.mts +1 -0
  1177. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/index.mjs +1 -0
  1178. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/instantiate.d.mts +9 -0
  1179. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/required/instantiate.mjs +15 -0
  1180. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/rest/index.d.mts +1 -0
  1181. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/rest/index.mjs +1 -0
  1182. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/rest/spread.d.mts +12 -0
  1183. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/rest/spread.mjs +19 -0
  1184. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/return_type/index.d.mts +1 -0
  1185. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/return_type/index.mjs +1 -0
  1186. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/return_type/instantiate.d.mts +12 -0
  1187. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/return_type/instantiate.mjs +21 -0
  1188. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/create.d.mts +1 -0
  1189. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/create.mjs +5 -0
  1190. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/decode.d.mts +30 -0
  1191. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/decode.mjs +81 -0
  1192. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +33 -0
  1193. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/encode.mjs +81 -0
  1194. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/index.d.mts +6 -0
  1195. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/index.mjs +6 -0
  1196. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/instantiate.d.mts +9 -0
  1197. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/instantiate.mjs +15 -0
  1198. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/is_finite.d.mts +12 -0
  1199. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +26 -0
  1200. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/is_pattern.d.mts +6 -0
  1201. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +10 -0
  1202. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/static.d.mts +18 -0
  1203. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/template_literal/static.mjs +2 -0
  1204. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/this/expand_this.d.mts +16 -0
  1205. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/this/expand_this.mjs +26 -0
  1206. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/tuple/to_object.d.mts +12 -0
  1207. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/tuple/to_object.mjs +14 -0
  1208. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/with/index.d.mts +1 -0
  1209. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/with/index.mjs +1 -0
  1210. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
  1211. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/engine/with/instantiate.mjs +14 -0
  1212. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/any.d.mts +9 -0
  1213. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/any.mjs +12 -0
  1214. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/array.d.mts +20 -0
  1215. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/array.mjs +21 -0
  1216. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/bigint.d.mts +7 -0
  1217. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/bigint.mjs +9 -0
  1218. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/boolean.d.mts +7 -0
  1219. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/boolean.mjs +9 -0
  1220. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/constructor.d.mts +10 -0
  1221. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/constructor.mjs +17 -0
  1222. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
  1223. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
  1224. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/enum.d.mts +7 -0
  1225. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/enum.mjs +7 -0
  1226. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/extends.d.mts +13 -0
  1227. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/extends.mjs +17 -0
  1228. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/extends_left.d.mts +53 -0
  1229. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/extends_left.mjs +80 -0
  1230. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/extends_right.d.mts +27 -0
  1231. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/extends_right.mjs +49 -0
  1232. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/function.d.mts +10 -0
  1233. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/function.mjs +17 -0
  1234. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/index.d.mts +2 -0
  1235. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/index.mjs +2 -0
  1236. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/inference.d.mts +34 -0
  1237. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/inference.mjs +62 -0
  1238. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/integer.d.mts +8 -0
  1239. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/integer.mjs +10 -0
  1240. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/intersect.d.mts +6 -0
  1241. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/intersect.mjs +15 -0
  1242. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/literal.d.mts +18 -0
  1243. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/literal.mjs +44 -0
  1244. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/never.d.mts +8 -0
  1245. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/never.mjs +9 -0
  1246. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/null.d.mts +7 -0
  1247. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/null.mjs +9 -0
  1248. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/number.d.mts +7 -0
  1249. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/number.mjs +9 -0
  1250. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/object.d.mts +32 -0
  1251. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/object.mjs +109 -0
  1252. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/parameters.d.mts +15 -0
  1253. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/parameters.mjs +28 -0
  1254. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/record.d.mts +13 -0
  1255. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/record.mjs +23 -0
  1256. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/result.d.mts +24 -0
  1257. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/result.mjs +36 -0
  1258. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/return_type.d.mts +7 -0
  1259. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/return_type.mjs +9 -0
  1260. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/string.d.mts +7 -0
  1261. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/string.mjs +9 -0
  1262. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/symbol.d.mts +7 -0
  1263. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/symbol.mjs +9 -0
  1264. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/template_literal.d.mts +6 -0
  1265. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/template_literal.mjs +7 -0
  1266. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/tuple.d.mts +22 -0
  1267. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/tuple.mjs +61 -0
  1268. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/undefined.d.mts +8 -0
  1269. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/undefined.mjs +10 -0
  1270. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/union.d.mts +11 -0
  1271. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/union.mjs +24 -0
  1272. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/unknown.d.mts +9 -0
  1273. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/unknown.mjs +12 -0
  1274. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/void.d.mts +7 -0
  1275. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/extends/void.mjs +9 -0
  1276. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/index.d.mts +5 -0
  1277. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/index.mjs +5 -0
  1278. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/index.d.mts +1 -0
  1279. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/index.mjs +1 -0
  1280. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/mapping.d.mts +353 -0
  1281. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/mapping.mjs +535 -0
  1282. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/parser.d.mts +262 -0
  1283. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/parser.mjs +136 -0
  1284. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/script.d.mts +16 -0
  1285. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/script.mjs +22 -0
  1286. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/bigint.d.mts +8 -0
  1287. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/bigint.mjs +14 -0
  1288. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/const.d.mts +11 -0
  1289. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/const.mjs +18 -0
  1290. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/ident.d.mts +16 -0
  1291. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/ident.mjs +26 -0
  1292. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/index.d.mts +12 -0
  1293. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/index.mjs +12 -0
  1294. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/integer.d.mts +11 -0
  1295. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/integer.mjs +19 -0
  1296. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/char.d.mts +75 -0
  1297. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/char.mjs +26 -0
  1298. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -0
  1299. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/guard.mjs +15 -0
  1300. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/many.d.mts +7 -0
  1301. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/many.mjs +14 -0
  1302. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/match.d.mts +6 -0
  1303. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/match.mjs +11 -0
  1304. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/optional.d.mts +5 -0
  1305. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/optional.mjs +9 -0
  1306. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/take.d.mts +6 -0
  1307. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/take.mjs +30 -0
  1308. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/trim.d.mts +19 -0
  1309. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/internal/trim.mjs +34 -0
  1310. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/number.d.mts +11 -0
  1311. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/number.mjs +19 -0
  1312. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/rest.d.mts +4 -0
  1313. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/rest.mjs +9 -0
  1314. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/span.d.mts +11 -0
  1315. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/span.mjs +24 -0
  1316. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/string.d.mts +11 -0
  1317. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/string.mjs +20 -0
  1318. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/unsigned_integer.d.mts +16 -0
  1319. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/unsigned_integer.mjs +26 -0
  1320. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/unsigned_number.d.mts +17 -0
  1321. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/unsigned_number.mjs +38 -0
  1322. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/until.d.mts +7 -0
  1323. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/until.mjs +21 -0
  1324. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/until_1.d.mts +5 -0
  1325. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/script/token/until_1.mjs +12 -0
  1326. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_codec.d.mts +30 -0
  1327. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_codec.mjs +60 -0
  1328. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_immutable.d.mts +9 -0
  1329. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_immutable.mjs +18 -0
  1330. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_optional.d.mts +9 -0
  1331. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_optional.mjs +18 -0
  1332. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_readonly.d.mts +9 -0
  1333. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_readonly.mjs +18 -0
  1334. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_refine.d.mts +24 -0
  1335. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/_refine.mjs +36 -0
  1336. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/any.d.mts +10 -0
  1337. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/any.mjs +18 -0
  1338. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/array.d.mts +18 -0
  1339. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/array.mjs +25 -0
  1340. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/bigint.d.mts +12 -0
  1341. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/bigint.mjs +21 -0
  1342. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/boolean.d.mts +11 -0
  1343. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/boolean.mjs +17 -0
  1344. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/call.d.mts +16 -0
  1345. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/call.mjs +23 -0
  1346. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/constructor.d.mts +18 -0
  1347. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/constructor.mjs +24 -0
  1348. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/cyclic.d.mts +16 -0
  1349. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/cyclic.mjs +29 -0
  1350. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/deferred.d.mts +13 -0
  1351. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/deferred.mjs +16 -0
  1352. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
  1353. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/dependent.mjs +24 -0
  1354. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/enum.d.mts +18 -0
  1355. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/enum.mjs +22 -0
  1356. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/function.d.mts +21 -0
  1357. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/function.mjs +25 -0
  1358. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/generic.d.mts +13 -0
  1359. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/generic.mjs +17 -0
  1360. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/identifier.d.mts +11 -0
  1361. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/identifier.mjs +17 -0
  1362. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/index.d.mts +45 -0
  1363. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/index.mjs +51 -0
  1364. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/infer.d.mts +15 -0
  1365. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/infer.mjs +20 -0
  1366. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/integer.d.mts +12 -0
  1367. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/integer.mjs +21 -0
  1368. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/intersect.d.mts +15 -0
  1369. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/intersect.mjs +24 -0
  1370. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/literal.d.mts +31 -0
  1371. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/literal.mjs +62 -0
  1372. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/never.d.mts +12 -0
  1373. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/never.mjs +22 -0
  1374. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/null.d.mts +11 -0
  1375. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/null.mjs +17 -0
  1376. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/number.d.mts +12 -0
  1377. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/number.mjs +21 -0
  1378. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/object.d.mts +18 -0
  1379. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/object.mjs +28 -0
  1380. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/parameter.d.mts +17 -0
  1381. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/parameter.mjs +21 -0
  1382. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/properties.d.mts +43 -0
  1383. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/properties.mjs +15 -0
  1384. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/record.d.mts +52 -0
  1385. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/record.mjs +66 -0
  1386. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/ref.d.mts +19 -0
  1387. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/ref.mjs +18 -0
  1388. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/rest.d.mts +11 -0
  1389. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/rest.mjs +17 -0
  1390. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/schema.d.mts +176 -0
  1391. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/schema.mjs +15 -0
  1392. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/static.d.mts +45 -0
  1393. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/static.mjs +3 -0
  1394. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/string.d.mts +12 -0
  1395. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/string.mjs +22 -0
  1396. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/symbol.d.mts +11 -0
  1397. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/symbol.mjs +17 -0
  1398. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/template_literal.d.mts +28 -0
  1399. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/template_literal.mjs +37 -0
  1400. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/this.d.mts +14 -0
  1401. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/this.mjs +17 -0
  1402. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/tuple.d.mts +38 -0
  1403. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/tuple.mjs +25 -0
  1404. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/undefined.d.mts +11 -0
  1405. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/undefined.mjs +17 -0
  1406. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/union.d.mts +15 -0
  1407. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/union.mjs +24 -0
  1408. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/unknown.d.mts +10 -0
  1409. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/unknown.mjs +17 -0
  1410. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/unsafe.d.mts +10 -0
  1411. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/unsafe.mjs +20 -0
  1412. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/void.d.mts +11 -0
  1413. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/type/types/void.mjs +17 -0
  1414. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/typebox.d.mts +69 -0
  1415. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/typebox.mjs +85 -0
  1416. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/assert/assert.d.mts +14 -0
  1417. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/assert/assert.mjs +28 -0
  1418. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/assert/index.d.mts +1 -0
  1419. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/assert/index.mjs +1 -0
  1420. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/check/check.d.mts +5 -0
  1421. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/check/check.mjs +11 -0
  1422. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/check/index.d.mts +1 -0
  1423. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/check/index.mjs +1 -0
  1424. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/additional.d.mts +2 -0
  1425. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/additional.mjs +6 -0
  1426. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/clean.d.mts +15 -0
  1427. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/clean.mjs +17 -0
  1428. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_array.d.mts +2 -0
  1429. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_array.mjs +8 -0
  1430. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_cyclic.d.mts +2 -0
  1431. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_cyclic.mjs +6 -0
  1432. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_intersect.d.mts +2 -0
  1433. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_intersect.mjs +26 -0
  1434. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_object.d.mts +2 -0
  1435. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_object.mjs +31 -0
  1436. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_record.d.mts +2 -0
  1437. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_record.mjs +32 -0
  1438. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_ref.d.mts +2 -0
  1439. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_ref.mjs +8 -0
  1440. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_tuple.d.mts +2 -0
  1441. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_tuple.mjs +14 -0
  1442. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_type.d.mts +2 -0
  1443. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_type.mjs +21 -0
  1444. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_union.d.mts +2 -0
  1445. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/from_union.mjs +12 -0
  1446. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/index.d.mts +1 -0
  1447. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clean/index.mjs +1 -0
  1448. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clone/clone.d.mts +5 -0
  1449. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clone/clone.mjs +12 -0
  1450. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clone/index.d.mts +1 -0
  1451. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/clone/index.mjs +1 -0
  1452. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/callback.d.mts +2 -0
  1453. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/callback.mjs +25 -0
  1454. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/decode.d.mts +12 -0
  1455. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/decode.mjs +52 -0
  1456. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/encode.d.mts +12 -0
  1457. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/encode.mjs +52 -0
  1458. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_array.d.mts +2 -0
  1459. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_array.mjs +35 -0
  1460. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_cyclic.d.mts +2 -0
  1461. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_cyclic.mjs +8 -0
  1462. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_intersect.d.mts +2 -0
  1463. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_intersect.mjs +58 -0
  1464. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_object.d.mts +2 -0
  1465. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_object.mjs +42 -0
  1466. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_record.d.mts +2 -0
  1467. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_record.mjs +39 -0
  1468. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_ref.d.mts +2 -0
  1469. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_ref.mjs +31 -0
  1470. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_tuple.d.mts +2 -0
  1471. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_tuple.mjs +32 -0
  1472. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_type.d.mts +2 -0
  1473. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_type.mjs +22 -0
  1474. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_union.d.mts +2 -0
  1475. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/from_union.mjs +39 -0
  1476. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/has.d.mts +5 -0
  1477. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/has.mjs +93 -0
  1478. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/index.d.mts +3 -0
  1479. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/codec/index.mjs +3 -0
  1480. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/convert.d.mts +13 -0
  1481. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/convert.mjs +15 -0
  1482. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_additional.d.mts +6 -0
  1483. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_additional.mjs +18 -0
  1484. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_array.d.mts +2 -0
  1485. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_array.mjs +7 -0
  1486. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_bigint.d.mts +2 -0
  1487. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_bigint.mjs +6 -0
  1488. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_boolean.d.mts +2 -0
  1489. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_boolean.mjs +6 -0
  1490. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_cyclic.d.mts +2 -0
  1491. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_cyclic.mjs +6 -0
  1492. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_enum.d.mts +2 -0
  1493. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_enum.mjs +6 -0
  1494. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_integer.d.mts +2 -0
  1495. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_integer.mjs +6 -0
  1496. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_intersect.d.mts +2 -0
  1497. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_intersect.mjs +8 -0
  1498. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_literal.d.mts +2 -0
  1499. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_literal.mjs +44 -0
  1500. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_null.d.mts +2 -0
  1501. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_null.mjs +6 -0
  1502. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_number.d.mts +2 -0
  1503. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_number.mjs +6 -0
  1504. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_object.d.mts +2 -0
  1505. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_object.mjs +28 -0
  1506. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_record.d.mts +2 -0
  1507. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_record.mjs +23 -0
  1508. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_ref.d.mts +2 -0
  1509. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_ref.mjs +8 -0
  1510. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_string.d.mts +2 -0
  1511. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_string.mjs +6 -0
  1512. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_template_literal.d.mts +2 -0
  1513. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_template_literal.mjs +6 -0
  1514. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_tuple.d.mts +2 -0
  1515. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_tuple.mjs +11 -0
  1516. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_type.d.mts +2 -0
  1517. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_type.mjs +43 -0
  1518. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_undefined.d.mts +2 -0
  1519. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_undefined.mjs +6 -0
  1520. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_union.d.mts +2 -0
  1521. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_union.mjs +13 -0
  1522. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_void.d.mts +2 -0
  1523. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/from_void.mjs +6 -0
  1524. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/index.d.mts +1 -0
  1525. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/index.mjs +1 -0
  1526. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/index.d.mts +1 -0
  1527. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/index.mjs +1 -0
  1528. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try.d.mts +8 -0
  1529. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try.mjs +8 -0
  1530. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_array.d.mts +2 -0
  1531. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_array.mjs +6 -0
  1532. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_bigint.d.mts +2 -0
  1533. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_bigint.mjs +45 -0
  1534. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_boolean.d.mts +2 -0
  1535. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_boolean.mjs +41 -0
  1536. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_null.d.mts +2 -0
  1537. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_null.mjs +44 -0
  1538. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_number.d.mts +2 -0
  1539. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_number.mjs +44 -0
  1540. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_result.d.mts +8 -0
  1541. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_result.mjs +17 -0
  1542. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_string.d.mts +2 -0
  1543. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_string.mjs +12 -0
  1544. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_undefined.d.mts +2 -0
  1545. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/convert/try/try_undefined.mjs +44 -0
  1546. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/create.d.mts +5 -0
  1547. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/create.mjs +11 -0
  1548. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/error.d.mts +5 -0
  1549. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/error.mjs +7 -0
  1550. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_array.d.mts +2 -0
  1551. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_array.mjs +10 -0
  1552. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_bigint.d.mts +2 -0
  1553. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_bigint.mjs +7 -0
  1554. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_boolean.d.mts +2 -0
  1555. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_boolean.mjs +4 -0
  1556. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_constructor.d.mts +2 -0
  1557. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_constructor.mjs +10 -0
  1558. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_cyclic.d.mts +2 -0
  1559. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_cyclic.mjs +6 -0
  1560. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_default.d.mts +3 -0
  1561. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_default.mjs +10 -0
  1562. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_enum.d.mts +2 -0
  1563. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_enum.mjs +6 -0
  1564. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_function.d.mts +2 -0
  1565. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_function.mjs +6 -0
  1566. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_integer.d.mts +2 -0
  1567. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_integer.mjs +8 -0
  1568. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_intersect.d.mts +2 -0
  1569. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_intersect.mjs +8 -0
  1570. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_literal.d.mts +2 -0
  1571. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_literal.mjs +4 -0
  1572. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_never.d.mts +2 -0
  1573. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_never.mjs +5 -0
  1574. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_null.d.mts +2 -0
  1575. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_null.mjs +4 -0
  1576. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_number.d.mts +2 -0
  1577. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_number.mjs +8 -0
  1578. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_object.d.mts +2 -0
  1579. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_object.mjs +9 -0
  1580. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_record.d.mts +2 -0
  1581. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_record.mjs +8 -0
  1582. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_ref.d.mts +2 -0
  1583. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_ref.mjs +9 -0
  1584. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_string.d.mts +2 -0
  1585. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_string.mjs +9 -0
  1586. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_symbol.d.mts +2 -0
  1587. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_symbol.mjs +4 -0
  1588. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_template_literal.d.mts +2 -0
  1589. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_template_literal.mjs +11 -0
  1590. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_tuple.d.mts +2 -0
  1591. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_tuple.mjs +5 -0
  1592. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_type.d.mts +2 -0
  1593. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_type.mjs +61 -0
  1594. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_undefined.d.mts +2 -0
  1595. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_undefined.mjs +4 -0
  1596. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_union.d.mts +2 -0
  1597. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_union.mjs +9 -0
  1598. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_void.d.mts +2 -0
  1599. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/from_void.mjs +4 -0
  1600. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/index.d.mts +2 -0
  1601. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/create/index.mjs +2 -0
  1602. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/default.d.mts +13 -0
  1603. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/default.mjs +15 -0
  1604. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_array.d.mts +2 -0
  1605. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_array.mjs +12 -0
  1606. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_cyclic.d.mts +2 -0
  1607. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_cyclic.mjs +7 -0
  1608. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_default.d.mts +3 -0
  1609. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_default.mjs +13 -0
  1610. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_intersect.d.mts +2 -0
  1611. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_intersect.mjs +9 -0
  1612. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_object.d.mts +2 -0
  1613. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_object.mjs +32 -0
  1614. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_record.d.mts +2 -0
  1615. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_record.mjs +26 -0
  1616. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_ref.d.mts +2 -0
  1617. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_ref.mjs +9 -0
  1618. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_tuple.d.mts +2 -0
  1619. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_tuple.mjs +14 -0
  1620. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_type.d.mts +2 -0
  1621. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_type.mjs +25 -0
  1622. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_union.d.mts +2 -0
  1623. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/from_union.mjs +14 -0
  1624. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/index.d.mts +1 -0
  1625. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/default/index.mjs +1 -0
  1626. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/diff.d.mts +10 -0
  1627. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/diff.mjs +135 -0
  1628. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/edit.d.mts +24 -0
  1629. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/edit.mjs +17 -0
  1630. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/index.d.mts +3 -0
  1631. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/index.mjs +3 -0
  1632. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/patch.d.mts +8 -0
  1633. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/delta/patch.mjs +42 -0
  1634. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/equal/equal.d.mts +2 -0
  1635. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/equal/equal.mjs +6 -0
  1636. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/equal/index.d.mts +1 -0
  1637. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/equal/index.mjs +1 -0
  1638. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/errors/errors.d.mts +16 -0
  1639. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/errors/errors.mjs +17 -0
  1640. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/errors/index.d.mts +1 -0
  1641. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/errors/index.mjs +1 -0
  1642. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/hash/hash.d.mts +6 -0
  1643. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/hash/hash.mjs +10 -0
  1644. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/hash/index.d.mts +1 -0
  1645. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/hash/index.mjs +1 -0
  1646. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/index.d.mts +20 -0
  1647. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/index.mjs +29 -0
  1648. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/parse/index.d.mts +1 -0
  1649. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/parse/index.mjs +1 -0
  1650. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/parse/parse.d.mts +11 -0
  1651. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/parse/parse.mjs +47 -0
  1652. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/pipeline/index.d.mts +1 -0
  1653. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/pipeline/index.mjs +1 -0
  1654. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/pipeline/pipeline.d.mts +10 -0
  1655. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/pipeline/pipeline.mjs +15 -0
  1656. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/pointer/index.d.mts +1 -0
  1657. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/pointer/index.mjs +1 -0
  1658. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/error.d.mts +7 -0
  1659. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/error.mjs +8 -0
  1660. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_array.d.mts +2 -0
  1661. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_array.mjs +39 -0
  1662. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_enum.d.mts +2 -0
  1663. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_enum.mjs +6 -0
  1664. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_intersect.d.mts +2 -0
  1665. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_intersect.mjs +8 -0
  1666. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_object.d.mts +2 -0
  1667. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_object.mjs +33 -0
  1668. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_record.d.mts +2 -0
  1669. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_record.mjs +33 -0
  1670. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_ref.d.mts +2 -0
  1671. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_ref.mjs +9 -0
  1672. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_template_literal.d.mts +2 -0
  1673. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_template_literal.mjs +7 -0
  1674. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_tuple.d.mts +2 -0
  1675. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_tuple.mjs +12 -0
  1676. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_type.d.mts +2 -0
  1677. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_type.mjs +88 -0
  1678. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_union.d.mts +2 -0
  1679. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_union.mjs +24 -0
  1680. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_unknown.d.mts +2 -0
  1681. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/from_unknown.mjs +12 -0
  1682. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/index.d.mts +1 -0
  1683. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/index.mjs +1 -0
  1684. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/repair.d.mts +17 -0
  1685. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/repair/repair.mjs +20 -0
  1686. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/index.d.mts +3 -0
  1687. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/index.mjs +4 -0
  1688. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/optional_undefined.d.mts +2 -0
  1689. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/optional_undefined.mjs +15 -0
  1690. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +7 -0
  1691. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/union_priority_sort.mjs +72 -0
  1692. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/union_score_select.d.mts +3 -0
  1693. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/shared/union_score_select.mjs +51 -0
  1694. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/value.d.mts +15 -0
  1695. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/build/value/value.mjs +15 -0
  1696. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/license +23 -0
  1697. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/package.json +87 -0
  1698. package/node_modules/@code-yeongyu/senpi-codemode/node_modules/typebox/readme.md +363 -0
  1699. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  1700. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +11 -5
  1701. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +3 -1
  1702. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  1703. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +57 -18
  1704. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  1705. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +7 -4
  1706. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  1707. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +12 -3
  1708. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  1709. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts +3 -2
  1710. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
  1711. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js +13 -3
  1712. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
  1713. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts.map +1 -1
  1714. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js +14 -1
  1715. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js.map +1 -1
  1716. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +1 -1
  1717. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  1718. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +1 -0
  1719. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  1720. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +9 -2
  1721. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  1722. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  1723. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  1724. package/node_modules/@earendil-works/pi-ai/README.md +5 -3
  1725. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts +7 -1
  1726. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  1727. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +21 -4
  1728. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  1729. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts +2 -0
  1730. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  1731. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +7 -1
  1732. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  1733. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  1734. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +39 -2
  1735. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  1736. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts +22 -1
  1737. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts.map +1 -1
  1738. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js +1 -1
  1739. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js.map +1 -1
  1740. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/reasoning-params.d.ts +20 -0
  1741. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/reasoning-params.d.ts.map +1 -0
  1742. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/reasoning-params.js +26 -0
  1743. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/reasoning-params.js.map +1 -0
  1744. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts +7 -1
  1745. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts.map +1 -1
  1746. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js.map +1 -1
  1747. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +5 -3
  1748. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -1
  1749. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +82 -12
  1750. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
  1751. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts +2 -2
  1752. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
  1753. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +14 -11
  1754. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  1755. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +5 -2
  1756. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -1
  1757. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +16 -0
  1758. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
  1759. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts +2 -2
  1760. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
  1761. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +13 -10
  1762. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  1763. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
  1764. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +4 -1
  1765. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  1766. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  1767. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +4 -1
  1768. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  1769. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +1 -1
  1770. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  1771. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +45 -29
  1772. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  1773. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  1774. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +8 -1
  1775. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  1776. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +1 -1
  1777. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  1778. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts +4 -0
  1779. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  1780. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +18 -9
  1781. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  1782. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.d.ts +1 -0
  1783. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.d.ts.map +1 -1
  1784. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js +1 -1
  1785. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js.map +1 -1
  1786. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.d.ts.map +1 -1
  1787. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js +22 -9
  1788. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js.map +1 -1
  1789. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.d.ts +25 -0
  1790. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.d.ts.map +1 -0
  1791. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.js +134 -0
  1792. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.js.map +1 -0
  1793. package/node_modules/@earendil-works/pi-ai/dist/cursor/cursor-variant-aliases.json +1893 -0
  1794. package/node_modules/@earendil-works/pi-ai/dist/cursor/model-capabilities.d.ts +47 -0
  1795. package/node_modules/@earendil-works/pi-ai/dist/cursor/model-capabilities.d.ts.map +1 -0
  1796. package/node_modules/@earendil-works/pi-ai/dist/cursor/model-capabilities.js +208 -0
  1797. package/node_modules/@earendil-works/pi-ai/dist/cursor/model-capabilities.js.map +1 -0
  1798. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts +21 -0
  1799. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts.map +1 -0
  1800. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js +83 -0
  1801. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js.map +1 -0
  1802. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts +8 -0
  1803. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts.map +1 -0
  1804. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js +76 -0
  1805. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js.map +1 -0
  1806. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +5 -1
  1807. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  1808. package/node_modules/@earendil-works/pi-ai/dist/index.js +4 -0
  1809. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  1810. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +13 -0
  1811. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  1812. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  1813. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +6 -0
  1814. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  1815. package/node_modules/@earendil-works/pi-ai/dist/models.js +9 -1
  1816. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  1817. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
  1818. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +40 -11
  1819. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
  1820. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  1821. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  1822. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  1823. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  1824. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  1825. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  1826. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  1827. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  1828. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  1829. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-individual.json +1 -1
  1830. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  1831. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xai.json +1 -1
  1832. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  1833. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  1834. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  1835. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi.json +1 -1
  1836. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  1837. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  1838. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts +1 -1
  1839. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts.map +1 -1
  1840. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js +1 -5
  1841. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js.map +1 -1
  1842. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.d.ts.map +1 -1
  1843. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.js +21 -1
  1844. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.js.map +1 -1
  1845. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-message-snapshot.d.ts.map +1 -1
  1846. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-message-snapshot.js +2 -1
  1847. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-message-snapshot.js.map +1 -1
  1848. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +45 -4
  1849. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  1850. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  1851. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  1852. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +15 -0
  1853. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  1854. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.d.ts +2 -0
  1855. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.d.ts.map +1 -1
  1856. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.js +7 -0
  1857. package/node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.js.map +1 -1
  1858. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts +2 -1
  1859. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  1860. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js +2 -0
  1861. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js.map +1 -1
  1862. package/node_modules/@earendil-works/pi-ai/package.json +2 -3
  1863. package/node_modules/@earendil-works/pi-pty/dist/loader.d.ts +6 -0
  1864. package/node_modules/@earendil-works/pi-pty/dist/loader.d.ts.map +1 -1
  1865. package/node_modules/@earendil-works/pi-pty/dist/loader.js +11 -0
  1866. package/node_modules/@earendil-works/pi-pty/dist/loader.js.map +1 -1
  1867. package/node_modules/@earendil-works/pi-pty/dist/quarantine.d.ts +15 -0
  1868. package/node_modules/@earendil-works/pi-pty/dist/quarantine.d.ts.map +1 -0
  1869. package/node_modules/@earendil-works/pi-pty/dist/quarantine.js +27 -0
  1870. package/node_modules/@earendil-works/pi-pty/dist/quarantine.js.map +1 -0
  1871. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  1872. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  1873. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +73 -1
  1874. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  1875. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +173 -17
  1876. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  1877. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -1
  1878. package/node_modules/@earendil-works/pi-tui/dist/components/text.js +5 -4
  1879. package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -1
  1880. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts +69 -0
  1881. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +1 -1
  1882. package/node_modules/@earendil-works/pi-tui/dist/editor-component.js.map +1 -1
  1883. package/node_modules/@earendil-works/pi-tui/dist/image-markers.d.ts +46 -0
  1884. package/node_modules/@earendil-works/pi-tui/dist/image-markers.d.ts.map +1 -0
  1885. package/node_modules/@earendil-works/pi-tui/dist/image-markers.js +130 -0
  1886. package/node_modules/@earendil-works/pi-tui/dist/image-markers.js.map +1 -0
  1887. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -0
  1888. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  1889. package/node_modules/@earendil-works/pi-tui/dist/index.js +2 -0
  1890. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  1891. package/node_modules/@earendil-works/pi-tui/dist/paste-markers.d.ts +3 -0
  1892. package/node_modules/@earendil-works/pi-tui/dist/paste-markers.d.ts.map +1 -1
  1893. package/node_modules/@earendil-works/pi-tui/dist/paste-markers.js +23 -7
  1894. package/node_modules/@earendil-works/pi-tui/dist/paste-markers.js.map +1 -1
  1895. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  1896. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +5 -1
  1897. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  1898. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  1899. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"openai-completions.js","sourceRoot":"","sources":["../../src/api/openai-completions.ts"],"names":[],"mappings":"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","sourcesContent":["import OpenAI from \"openai\";\nimport type {\n\tChatCompletionAssistantMessageParam,\n\tChatCompletionChunk,\n\tChatCompletionContentPart,\n\tChatCompletionContentPartImage,\n\tChatCompletionContentPartText,\n\tChatCompletionDeveloperMessageParam,\n\tChatCompletionMessageParam,\n\tChatCompletionMessageToolCall,\n\tChatCompletionSystemMessageParam,\n\tChatCompletionToolMessageParam,\n} from \"openai/resources/chat/completions.js\";\nimport type { FunctionParameters } from \"openai/resources/shared.js\";\nimport { calculateCost, clampThinkingLevel, supportsMax, supportsXhigh } from \"../models.ts\";\nimport type {\n\tAssistantMessage,\n\tCacheRetention,\n\tChatTemplateKwargValue,\n\tContext,\n\tImageContent,\n\tMessage,\n\tModel,\n\tOpenAICompletionsCompat,\n\tProviderEnv,\n\tProviderHeaders,\n\tSimpleStreamOptions,\n\tStopReason,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingBudgets,\n\tThinkingContent,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.ts\";\nimport { formatProviderError, normalizeProviderError } from \"../utils/error-body.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport { shortHash } from \"../utils/hash.ts\";\nimport { headersToRecord } from \"../utils/headers.ts\";\nimport { parseStreamingJson } from \"../utils/json-parse.ts\";\nimport {\n\tgetOpenAICompletionsCompat as getCompat,\n\ttype ResolvedOpenAICompletionsCompat,\n} from \"../utils/prompt-cache-ttl.ts\";\nimport { getProviderEnvValue } from \"../utils/provider-env.ts\";\nimport { retryProviderStreamRequest } from \"../utils/provider-retry.ts\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.ts\";\nimport { isForcedToolChoiceUnsupportedError, omitToolChoiceParam } from \"../utils/tool-choice-fallback.ts\";\nimport {\n\tnormalizeToolParametersForMoonshot,\n\tnormalizeToolParametersForOpenAICompat,\n} from \"../utils/tool-schema-compat.ts\";\nimport {\n\tappendGrammarToolInputJsonDelta,\n\tcreateGrammarToolInputProperties,\n\ttype GrammarToolInputJsonBuffer,\n\tgetGrammarToolInput,\n\tgetJsonSchemaToolParameters,\n\tresolveGrammarConstrainedSampling,\n\tresolveJsonSchemaStrictSampling,\n} from \"./constrained-sampling.ts\";\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.ts\";\nimport { resolveOpenAIClientAuth } from \"./openai-client-auth.ts\";\nimport { clampOpenAIPromptCacheKey } from \"./openai-prompt-cache.ts\";\nimport {\n\tapplyExtraBody,\n\tbuildBaseOptions,\n\tclampMaxForOpenAI,\n\tclampReasoning,\n\tMIN_ANSWER_TOKENS,\n\tOPENAI_COMPLETIONS_RESERVED_BODY_KEYS,\n} from \"./simple-options.ts\";\nimport { transformMessages } from \"./transform-messages.ts\";\n\nexport {\n\tgetOpenAICompletionsCompat as getCompat,\n\ttype ResolvedOpenAICompletionsCompat,\n} from \"../utils/prompt-cache-ttl.ts\";\n\ntype ChatCompletionChoiceWithUsage = ChatCompletionChunk.Choice & {\n\tusage?: Parameters<typeof parseChunkUsage>[0];\n};\ntype OpenAICompletionsRequestParams = Omit<\n\tOpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming,\n\t\"max_tokens\" | \"reasoning_effort\"\n> & {\n\tmax_tokens?: number | null;\n\ttool_stream?: boolean;\n\tenable_thinking?: boolean;\n\tchat_template_kwargs?: { enable_thinking: boolean; preserve_thinking: boolean };\n\tthinking?: { type: \"enabled\" | \"disabled\" } | string;\n\treasoning_effort?: string;\n\tprovider?: OpenAICompletionsCompat[\"openRouterRouting\"];\n\tproviderOptions?: { gateway: Record<string, string[]> };\n\tsession_id?: string;\n};\n\ntype ReasoningEffort = NonNullable<OpenAICompletionsOptions[\"reasoningEffort\"]>;\ntype ThinkingLevelMap = NonNullable<Model<\"openai-completions\">[\"thinkingLevelMap\"]>;\n\nconst KIMI_K3_THINKING_LEVEL_MAP = {\n\toff: null,\n\tminimal: null,\n\tlow: \"low\",\n\tmedium: null,\n\thigh: \"high\",\n\txhigh: null,\n\tmax: \"max\",\n} satisfies ThinkingLevelMap;\n\nconst DEEPSEEK_THINKING_LEVEL_MAP = {\n\tminimal: \"high\",\n\tlow: \"high\",\n\tmedium: \"high\",\n\thigh: \"high\",\n\txhigh: \"max\",\n\tmax: \"max\",\n} satisfies ThinkingLevelMap;\n\nconst OPENROUTER_DEEPSEEK_THINKING_LEVEL_MAP = {\n\tminimal: \"high\",\n\tlow: \"high\",\n\tmedium: \"high\",\n\thigh: \"high\",\n\txhigh: \"high\",\n\tmax: \"high\",\n} satisfies ThinkingLevelMap;\n\nconst MIMO_THINKING_LEVEL_MAP = {\n\tminimal: \"low\",\n\tlow: \"low\",\n\tmedium: \"medium\",\n\thigh: \"high\",\n\txhigh: \"high\",\n\tmax: null,\n} satisfies ThinkingLevelMap;\n\nconst OLLAMA_THINKING_LEVEL_MAP = {\n\toff: \"none\",\n\tminimal: null,\n\tlow: \"low\",\n\tmedium: \"medium\",\n\thigh: \"high\",\n\txhigh: null,\n\tmax: \"high\",\n} satisfies ThinkingLevelMap;\n\nfunction getThinkingLevelMap(\n\tmodel: Model<\"openai-completions\">,\n\tcompat: ResolvedOpenAICompletionsCompat,\n): ThinkingLevelMap | undefined {\n\tif (model.thinkingLevelMap !== undefined) {\n\t\treturn model.thinkingLevelMap;\n\t}\n\n\tconst id = model.id.toLowerCase();\n\tconst isKimiK3 = id === \"k3\" || id.startsWith(\"k3-\") || /(?:^|[/:-])kimi-k3(?:$|[/.:_-])/.test(id);\n\tconst isDeepSeek = id.includes(\"deepseek\");\n\tconst isMiMo = /\\bmimo\\b/.test(id);\n\tconst isGlm5x = /(?:^|[/:-])glm-5\\.[23](?:$|[/.:_-])/.test(id);\n\n\tif (model.provider === \"ollama\") {\n\t\treturn OLLAMA_THINKING_LEVEL_MAP;\n\t}\n\tif (isKimiK3) {\n\t\treturn KIMI_K3_THINKING_LEVEL_MAP;\n\t}\n\tif (compat.thinkingFormat === \"openrouter\" && isDeepSeek) {\n\t\treturn OPENROUTER_DEEPSEEK_THINKING_LEVEL_MAP;\n\t}\n\tif ((compat.thinkingFormat === \"openai\" || compat.thinkingFormat === \"openrouter\") && isMiMo) {\n\t\treturn MIMO_THINKING_LEVEL_MAP;\n\t}\n\tif (isDeepSeek) {\n\t\treturn DEEPSEEK_THINKING_LEVEL_MAP;\n\t}\n\tif (isGlm5x) {\n\t\tif (compat.thinkingFormat === \"zai\") {\n\t\t\treturn DEEPSEEK_THINKING_LEVEL_MAP;\n\t\t}\n\t\tif (compat.thinkingFormat === \"openrouter\") {\n\t\t\treturn { xhigh: \"xhigh\" };\n\t\t}\n\t\treturn { max: \"max\" };\n\t}\n\n\treturn undefined;\n}\n\nfunction resolveReasoningEffort(\n\tthinkingLevelMap: ThinkingLevelMap | undefined,\n\teffort: ReasoningEffort,\n): string | undefined {\n\tconst mapped = thinkingLevelMap?.[effort];\n\treturn mapped === undefined ? effort : typeof mapped === \"string\" ? mapped : undefined;\n}\n\n/**\n * Check if conversation messages contain tool calls or tool results.\n * This is needed because Anthropic (via proxy) requires the tools param\n * to be present when messages include tool_calls or tool role messages.\n */\nfunction hasToolHistory(messages: Message[]): boolean {\n\tfor (const msg of messages) {\n\t\tif (msg.role === \"toolResult\") {\n\t\t\treturn true;\n\t\t}\n\t\tif (msg.role === \"assistant\") {\n\t\t\tif (msg.content.some((block) => block.type === \"toolCall\")) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction getDeferredToolNames(messages: Message[]): Set<string> {\n\tconst names = new Set<string>();\n\tfor (const message of messages) {\n\t\tif (message.role === \"toolResult\") {\n\t\t\tfor (const name of message.addedToolNames ?? []) {\n\t\t\t\tnames.add(name);\n\t\t\t}\n\t\t}\n\t}\n\treturn names;\n}\n\nfunction getToolsByName(tools: Tool[] | undefined, names: Iterable<string>): Tool[] {\n\tif (!tools) return [];\n\tconst toolsByName = new Map(tools.map((tool) => [tool.name, tool]));\n\treturn Array.from(names)\n\t\t.map((name) => toolsByName.get(name))\n\t\t.filter((tool): tool is Tool => tool !== undefined);\n}\n\nfunction isTextContentBlock(block: { type: string }): block is TextContent {\n\treturn block.type === \"text\";\n}\n\nfunction isThinkingContentBlock(block: { type: string }): block is ThinkingContent {\n\treturn block.type === \"thinking\";\n}\n\nfunction isToolCallBlock(block: { type: string }): block is ToolCall {\n\treturn block.type === \"toolCall\";\n}\n\nfunction isImageContentBlock(block: { type: string }): block is ImageContent {\n\treturn block.type === \"image\";\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null;\n}\n\nfunction getOpenRouterRawMetadata(error: unknown): string | undefined {\n\tif (!isRecord(error) || !isRecord(error.error) || !isRecord(error.error.metadata)) return undefined;\n\tconst rawMetadata = error.error.metadata.raw;\n\treturn typeof rawMetadata === \"string\" ? rawMetadata : undefined;\n}\n\nfunction isForcedOpenAICompletionsToolChoice(\n\ttoolChoice: OpenAICompletionsRequestParams[\"tool_choice\"] | undefined,\n): boolean {\n\treturn toolChoice !== undefined && toolChoice !== \"auto\" && toolChoice !== \"none\";\n}\n\nfunction isEncryptedReasoningDetail(detail: unknown): detail is OpenAIEncryptedReasoningDetail {\n\tif (typeof detail !== \"object\" || detail === null) {\n\t\treturn false;\n\t}\n\tconst candidate = detail as Record<string, unknown>;\n\treturn (\n\t\tcandidate.type === \"reasoning.encrypted\" &&\n\t\ttypeof candidate.id === \"string\" &&\n\t\tcandidate.id.length > 0 &&\n\t\ttypeof candidate.data === \"string\" &&\n\t\tcandidate.data.length > 0\n\t);\n}\n\nexport interface OpenAICompletionsOptions extends StreamOptions {\n\ttoolChoice?: OpenAI.Chat.Completions.ChatCompletionToolChoiceOption;\n\treasoningEffort?: \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\n\t/** Token budgets per thinking level. Only used when `compat.supportsThinkingTokenBudget` is set. */\n\tthinkingBudgets?: ThinkingBudgets;\n}\n\nexport interface ConvertCompletionsMessagesOptions {\n\tpreserveThinking?: boolean;\n\tgrammarToolInputProperties?: ReadonlyMap<string, string>;\n}\n\ninterface OpenAICompatCacheControl {\n\ttype: \"ephemeral\";\n\tttl?: string;\n}\n\ntype ResolvedChatTemplateKwargValue = string | number | boolean | null;\n\ntype ChatCompletionInstructionMessageParam = ChatCompletionDeveloperMessageParam | ChatCompletionSystemMessageParam;\n\ntype KimiToolSystemMessageParam = {\n\trole: \"system\";\n\ttools: OpenAI.Chat.Completions.ChatCompletionTool[];\n};\n\ntype OpenAIEncryptedReasoningDetail = {\n\ttype: \"reasoning.encrypted\";\n\tid: string;\n\tdata: string;\n};\n\ntype ChatCompletionTextPartWithCacheControl = ChatCompletionContentPartText & {\n\tcache_control?: OpenAICompatCacheControl;\n};\n\ntype ChatCompletionToolWithCacheControl = OpenAI.Chat.Completions.ChatCompletionTool & {\n\tcache_control?: OpenAICompatCacheControl;\n};\n\nfunction resolveCacheRetention(cacheRetention?: CacheRetention, env?: ProviderEnv): CacheRetention {\n\tif (cacheRetention) {\n\t\treturn cacheRetention;\n\t}\n\tif (getProviderEnvValue(\"PI_CACHE_RETENTION\", env) === \"long\") {\n\t\treturn \"long\";\n\t}\n\treturn \"short\";\n}\n\nexport const stream: StreamFunction<\"openai-completions\", OpenAICompletionsOptions> = (\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\toptions?: OpenAICompletionsOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"pending\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tconst clientAuth = resolveOpenAIClientAuth(model.provider, options?.apiKey, options?.headers);\n\t\t\tconst compat = getCompat(model);\n\t\t\tconst grammarToolInputProperties = createGrammarToolInputProperties(\n\t\t\t\tcontext.tools,\n\t\t\t\tcompat.supportsOpenAIGrammarTools,\n\t\t\t);\n\t\t\tconst cacheRetention = resolveCacheRetention(options?.cacheRetention ?? model.cacheRetention, options?.env);\n\t\t\tconst cacheSessionId = cacheRetention === \"none\" ? undefined : options?.sessionId;\n\t\t\tconst client = createClient(\n\t\t\t\tmodel,\n\t\t\t\tcontext,\n\t\t\t\tclientAuth.apiKey,\n\t\t\t\tclientAuth.headers,\n\t\t\t\toptions?.fetch,\n\t\t\t\tcacheSessionId,\n\t\t\t\tcompat,\n\t\t\t);\n\t\t\tlet params = buildParams(model, context, options, compat, cacheRetention, grammarToolInputProperties);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as OpenAICompletionsRequestParams;\n\t\t\t}\n\t\t\tparams = normalizeRequestToolSchemas(params, compat);\n\t\t\tconst requestOptions = {\n\t\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\t\tmaxRetries: 0,\n\t\t\t};\n\t\t\tconst createChatCompletion = client.chat.completions.create.bind(client.chat.completions) as (\n\t\t\t\tbody: OpenAICompletionsRequestParams,\n\t\t\t\trequestConfig: typeof requestOptions,\n\t\t\t) => { withResponse(): Promise<{ data: AsyncIterable<ChatCompletionChunk>; response: Response }> };\n\t\t\tconst createStream = (body: OpenAICompletionsRequestParams) =>\n\t\t\t\tcreateChatCompletion(body, requestOptions).withResponse();\n\t\t\tconst createRequest = async () => {\n\t\t\t\ttry {\n\t\t\t\t\treturn await createStream(params);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (isForcedToolChoiceUnsupportedError(error, isForcedOpenAICompletionsToolChoice(params.tool_choice))) {\n\t\t\t\t\t\tparams = omitToolChoiceParam(params);\n\t\t\t\t\t\treturn createStream(params);\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst { stream: openaiStream } = await retryProviderStreamRequest(\n\t\t\t\tasync () => {\n\t\t\t\t\tconst { data, response } = await createRequest();\n\t\t\t\t\tawait options?.onResponse?.(\n\t\t\t\t\t\t{ status: response.status, headers: headersToRecord(response.headers) },\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t);\n\t\t\t\t\treturn { stream: data, metadata: response };\n\t\t\t\t},\n\t\t\t\t{ maxRetries: options?.maxRetries, maxRetryDelayMs: options?.maxRetryDelayMs, signal: options?.signal },\n\t\t\t);\n\t\t\tstream.push({ type: \"start\", partial: output });\n\n\t\t\tinterface StreamingToolCallBlock extends ToolCall {\n\t\t\t\tpartialArgs?: string;\n\t\t\t\tcustomInput?: {\n\t\t\t\t\tproperty: string;\n\t\t\t\t\tjsonBuffer: GrammarToolInputJsonBuffer;\n\t\t\t\t};\n\t\t\t\tstreamIndex?: number;\n\t\t\t}\n\t\t\ttype StreamingBlock = TextContent | ThinkingContent | StreamingToolCallBlock;\n\t\t\ttype StreamingToolCallDelta = {\n\t\t\t\tindex?: number;\n\t\t\t\tid?: string;\n\t\t\t\ttype?: string;\n\t\t\t\tfunction?: { name?: string; arguments?: string };\n\t\t\t\tcustom?: { name?: string; input?: string };\n\t\t\t};\n\n\t\t\tlet textBlock: TextContent | null = null;\n\t\t\tlet thinkingBlock: ThinkingContent | null = null;\n\t\t\tlet activeBlock: StreamingBlock | null = null;\n\t\t\tlet deferMixedEvents = false;\n\t\t\tlet hasFinishReason = false;\n\t\t\tconst deferredTextDeltas: string[] = [];\n\t\t\tconst deferredThinkingDeltas: string[] = [];\n\t\t\tconst deferredToolCallDeltas = new Map<StreamingToolCallBlock, string[]>();\n\t\t\tconst toolCallBlocksByIndex = new Map<number, StreamingToolCallBlock>();\n\t\t\tconst toolCallBlocksById = new Map<string, StreamingToolCallBlock>();\n\t\t\tconst pendingReasoningDetailsByToolCallId = new Map<string, string>();\n\t\t\tconst blocks = output.content as StreamingBlock[];\n\t\t\tconst getContentIndex = (block: StreamingBlock) => blocks.indexOf(block);\n\t\t\tconst getCustomToolCallInput = (block: StreamingToolCallBlock): string => {\n\t\t\t\tconst property = block.customInput?.property;\n\t\t\t\tif (property === undefined) return \"\";\n\t\t\t\tconst value = block.arguments[property];\n\t\t\t\treturn typeof value === \"string\" ? value : \"\";\n\t\t\t};\n\t\t\tconst appendCustomToolCallInput = (\n\t\t\t\tblock: StreamingToolCallBlock,\n\t\t\t\tnextInput: string,\n\t\t\t\tclose: boolean,\n\t\t\t): string | undefined => {\n\t\t\t\tconst customInput = block.customInput;\n\t\t\t\tif (!customInput) return undefined;\n\t\t\t\tconst delta = appendGrammarToolInputJsonDelta(\n\t\t\t\t\tcustomInput.jsonBuffer,\n\t\t\t\t\tcustomInput.property,\n\t\t\t\t\tnextInput,\n\t\t\t\t\tclose,\n\t\t\t\t);\n\t\t\t\tblock.arguments = { [customInput.property]: nextInput };\n\t\t\t\treturn delta;\n\t\t\t};\n\t\t\tconst finishBlock = (block: StreamingBlock) => {\n\t\t\t\tconst contentIndex = getContentIndex(block);\n\t\t\t\tif (contentIndex === -1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\tcontent: block.text,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\tcontent: block.thinking,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\tif (block.customInput) {\n\t\t\t\t\t\tconst delta = appendCustomToolCallInput(block, getCustomToolCallInput(block), true);\n\t\t\t\t\t\tif (delta !== undefined) {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\t\t\tdelta,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialArgs);\n\t\t\t\t\t}\n\t\t\t\t\t// Finalize in-place and strip the scratch buffers so replay only\n\t\t\t\t\t// carries parsed arguments.\n\t\t\t\t\tdelete block.partialArgs;\n\t\t\t\t\tdelete block.customInput;\n\t\t\t\t\tdelete block.streamIndex;\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\ttoolCall: block,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst finishActiveBlock = () => {\n\t\t\t\tif (!activeBlock) return;\n\t\t\t\tfinishBlock(activeBlock);\n\t\t\t\tactiveBlock = null;\n\t\t\t};\n\t\t\tconst ensureTextBlock = () => {\n\t\t\t\tif (!textBlock) {\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tfinishActiveBlock();\n\t\t\t\t\t\tthinkingBlock = null;\n\t\t\t\t\t}\n\t\t\t\t\ttextBlock = { type: \"text\", text: \"\" };\n\t\t\t\t\tblocks.push(textBlock);\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tactiveBlock = textBlock;\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: getContentIndex(textBlock), partial: output });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn textBlock;\n\t\t\t};\n\t\t\tconst ensureThinkingBlock = (thinkingSignature: string) => {\n\t\t\t\tif (!thinkingBlock) {\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tfinishActiveBlock();\n\t\t\t\t\t\ttextBlock = null;\n\t\t\t\t\t}\n\t\t\t\t\tthinkingBlock = {\n\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\tthinking: \"\",\n\t\t\t\t\t\tthinkingSignature,\n\t\t\t\t\t};\n\t\t\t\t\tblocks.push(thinkingBlock);\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tactiveBlock = thinkingBlock;\n\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\ttype: \"thinking_start\",\n\t\t\t\t\t\t\tcontentIndex: getContentIndex(thinkingBlock),\n\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn thinkingBlock;\n\t\t\t};\n\t\t\tconst applyPendingReasoningDetail = (block: StreamingToolCallBlock) => {\n\t\t\t\tif (!block.id) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst pendingReasoningDetail = pendingReasoningDetailsByToolCallId.get(block.id);\n\t\t\t\tif (pendingReasoningDetail) {\n\t\t\t\t\tblock.thoughtSignature = pendingReasoningDetail;\n\t\t\t\t\tpendingReasoningDetailsByToolCallId.delete(block.id);\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst ensureToolCallBlock = (toolCall: StreamingToolCallDelta) => {\n\t\t\t\tconst streamIndex = typeof toolCall.index === \"number\" ? toolCall.index : undefined;\n\t\t\t\tconst name = toolCall.function?.name ?? toolCall.custom?.name ?? \"\";\n\t\t\t\tlet block = streamIndex !== undefined ? toolCallBlocksByIndex.get(streamIndex) : undefined;\n\t\t\t\tif (!block && toolCall.id) {\n\t\t\t\t\tblock = toolCallBlocksById.get(toolCall.id);\n\t\t\t\t}\n\t\t\t\tif (!block) {\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tfinishActiveBlock();\n\t\t\t\t\t\ttextBlock = null;\n\t\t\t\t\t\tthinkingBlock = null;\n\t\t\t\t\t}\n\t\t\t\t\t// Note: the \"input\" fallback here should/must not be taken. in case the LLM makes up\n\t\t\t\t\t// a tool we don't knwo about, we at least have a place to stash our stuff.\n\t\t\t\t\tconst customInputProperty =\n\t\t\t\t\t\ttoolCall.custom && !toolCall.function ? (grammarToolInputProperties.get(name) ?? \"input\") : undefined;\n\t\t\t\t\tconst hasCustomInput = customInputProperty !== undefined;\n\t\t\t\t\tblock = {\n\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\tid: toolCall.id || \"\",\n\t\t\t\t\t\tname,\n\t\t\t\t\t\targuments: hasCustomInput ? { [customInputProperty]: \"\" } : {},\n\t\t\t\t\t\tpartialArgs: hasCustomInput ? undefined : \"\",\n\t\t\t\t\t\tcustomInput: hasCustomInput\n\t\t\t\t\t\t\t? { property: customInputProperty, jsonBuffer: { input: \"\", started: false, closed: false } }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tstreamIndex,\n\t\t\t\t\t};\n\t\t\t\t\tif (streamIndex !== undefined) {\n\t\t\t\t\t\ttoolCallBlocksByIndex.set(streamIndex, block);\n\t\t\t\t\t}\n\t\t\t\t\tif (toolCall.id) {\n\t\t\t\t\t\ttoolCallBlocksById.set(toolCall.id, block);\n\t\t\t\t\t}\n\t\t\t\t\tblocks.push(block);\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tactiveBlock = block;\n\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\ttype: \"toolcall_start\",\n\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (streamIndex !== undefined && block.streamIndex === undefined) {\n\t\t\t\t\tblock.streamIndex = streamIndex;\n\t\t\t\t\ttoolCallBlocksByIndex.set(streamIndex, block);\n\t\t\t\t}\n\t\t\t\tif (toolCall.id) {\n\t\t\t\t\ttoolCallBlocksById.set(toolCall.id, block);\n\t\t\t\t}\n\t\t\t\tif (!block.name && name) {\n\t\t\t\t\tblock.name = name;\n\t\t\t\t}\n\t\t\t\tif (toolCall.custom && !toolCall.function && !block.customInput) {\n\t\t\t\t\tconst customInputProperty = grammarToolInputProperties.get(block.name) ?? \"input\";\n\t\t\t\t\tblock.arguments = { [customInputProperty]: \"\" };\n\t\t\t\t\tblock.customInput = {\n\t\t\t\t\t\tproperty: customInputProperty,\n\t\t\t\t\t\tjsonBuffer: { input: \"\", started: false, closed: false },\n\t\t\t\t\t};\n\t\t\t\t\tdelete block.partialArgs;\n\t\t\t\t}\n\t\t\t\tapplyPendingReasoningDetail(block);\n\t\t\t\treturn block;\n\t\t\t};\n\t\t\tconst flushDeferredBlocks = () => {\n\t\t\t\tfor (const block of blocks) {\n\t\t\t\t\tconst contentIndex = getContentIndex(block);\n\t\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex, partial: output });\n\t\t\t\t\t\tfor (const delta of deferredTextDeltas) {\n\t\t\t\t\t\t\tstream.push({ type: \"text_delta\", contentIndex, delta, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex, partial: output });\n\t\t\t\t\t\tfor (const delta of deferredThinkingDeltas) {\n\t\t\t\t\t\t\tstream.push({ type: \"thinking_delta\", contentIndex, delta, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex, partial: output });\n\t\t\t\t\t\tfor (const delta of deferredToolCallDeltas.get(block) ?? []) {\n\t\t\t\t\t\t\tstream.push({ type: \"toolcall_delta\", contentIndex, delta, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfinishBlock(block);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor await (const chunk of openaiStream) {\n\t\t\t\tif (!chunk || typeof chunk !== \"object\") continue;\n\n\t\t\t\t// OpenAI documents ChatCompletionChunk.id as the unique chat completion identifier,\n\t\t\t\t// and each chunk in a streamed completion carries the same id.\n\t\t\t\toutput.responseId ||= chunk.id;\n\t\t\t\tif (typeof chunk.model === \"string\" && chunk.model.length > 0 && chunk.model !== model.id) {\n\t\t\t\t\toutput.responseModel ||= chunk.model;\n\t\t\t\t}\n\t\t\t\tif (chunk.usage) {\n\t\t\t\t\toutput.usage = parseChunkUsage(chunk.usage, model);\n\t\t\t\t}\n\n\t\t\t\tconst choice = Array.isArray(chunk.choices) ? chunk.choices[0] : undefined;\n\t\t\t\tif (!choice) continue;\n\n\t\t\t\t// Fallback: some providers (e.g., Moonshot) return usage\n\t\t\t\t// in choice.usage instead of the standard chunk.usage\n\t\t\t\tconst choiceUsage = (choice as ChatCompletionChoiceWithUsage).usage;\n\t\t\t\tif (!chunk.usage && choiceUsage) {\n\t\t\t\t\toutput.usage = parseChunkUsage(choiceUsage, model);\n\t\t\t\t}\n\n\t\t\t\tif (choice.finish_reason) {\n\t\t\t\t\toutput.rawStopReason = choice.finish_reason;\n\t\t\t\t\tconst finishReasonResult = mapStopReason(choice.finish_reason);\n\t\t\t\t\toutput.stopReason = finishReasonResult.stopReason;\n\t\t\t\t\tif (finishReasonResult.errorMessage) {\n\t\t\t\t\t\toutput.errorMessage = finishReasonResult.errorMessage;\n\t\t\t\t\t}\n\t\t\t\t\thasFinishReason = true;\n\t\t\t\t}\n\n\t\t\t\tif (choice.delta) {\n\t\t\t\t\tconst contentDelta =\n\t\t\t\t\t\ttypeof choice.delta.content === \"string\" && choice.delta.content.length > 0\n\t\t\t\t\t\t\t? choice.delta.content\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tconst reasoningFields = [\"reasoning_content\", \"reasoning\", \"reasoning_text\"];\n\t\t\t\t\tconst deltaFields = choice.delta as Record<string, unknown>;\n\t\t\t\t\tlet foundReasoningField: string | null = null;\n\t\t\t\t\tfor (const field of reasoningFields) {\n\t\t\t\t\t\tconst value = deltaFields[field];\n\t\t\t\t\t\tif (typeof value === \"string\" && value.length > 0) {\n\t\t\t\t\t\t\tfoundReasoningField = field;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (blocks.length === 0 && contentDelta && foundReasoningField) {\n\t\t\t\t\t\tdeferMixedEvents = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (contentDelta) {\n\t\t\t\t\t\tconst block = ensureTextBlock();\n\t\t\t\t\t\tblock.text += contentDelta;\n\t\t\t\t\t\tif (deferMixedEvents) {\n\t\t\t\t\t\t\tdeferredTextDeltas.push(contentDelta);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\t\tdelta: contentDelta,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Some endpoints return reasoning in reasoning_content (llama.cpp),\n\t\t\t\t\t// or reasoning (other openai compatible endpoints)\n\t\t\t\t\t// Use the first non-empty reasoning field to avoid duplication\n\t\t\t\t\t// (e.g., chutes.ai returns both reasoning_content and reasoning with same content)\n\t\t\t\t\tif (foundReasoningField) {\n\t\t\t\t\t\tconst delta = deltaFields[foundReasoningField];\n\t\t\t\t\t\tif (typeof delta === \"string\" && delta.length > 0) {\n\t\t\t\t\t\t\tconst thinkingSignature =\n\t\t\t\t\t\t\t\tmodel.provider === \"opencode-go\" && foundReasoningField === \"reasoning\"\n\t\t\t\t\t\t\t\t\t? \"reasoning_content\"\n\t\t\t\t\t\t\t\t\t: foundReasoningField;\n\t\t\t\t\t\t\tconst block = ensureThinkingBlock(thinkingSignature);\n\t\t\t\t\t\t\tblock.thinking += delta;\n\t\t\t\t\t\t\tif (deferMixedEvents) {\n\t\t\t\t\t\t\t\tdeferredThinkingDeltas.push(delta);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\t\t\tdelta,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (choice?.delta?.tool_calls) {\n\t\t\t\t\t\tfor (const toolCall of choice.delta.tool_calls as StreamingToolCallDelta[]) {\n\t\t\t\t\t\t\tconst block = ensureToolCallBlock(toolCall);\n\t\t\t\t\t\t\tif (!block.id && toolCall.id) {\n\t\t\t\t\t\t\t\tblock.id = toolCall.id;\n\t\t\t\t\t\t\t\ttoolCallBlocksById.set(toolCall.id, block);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst name = toolCall.function?.name ?? toolCall.custom?.name;\n\t\t\t\t\t\t\tif (!block.name && name) {\n\t\t\t\t\t\t\t\tblock.name = name;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet delta = \"\";\n\t\t\t\t\t\t\tif (toolCall.function?.arguments) {\n\t\t\t\t\t\t\t\tdelta = toolCall.function.arguments;\n\t\t\t\t\t\t\t\tblock.partialArgs = (block.partialArgs ?? \"\") + toolCall.function.arguments;\n\t\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialArgs);\n\t\t\t\t\t\t\t} else if (toolCall.custom?.input) {\n\t\t\t\t\t\t\t\tconst nextInput = getCustomToolCallInput(block) + toolCall.custom.input;\n\t\t\t\t\t\t\t\tdelta = appendCustomToolCallInput(block, nextInput, false) ?? \"\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (deferMixedEvents) {\n\t\t\t\t\t\t\t\tconst deltas = deferredToolCallDeltas.get(block) ?? [];\n\t\t\t\t\t\t\t\tdeltas.push(delta);\n\t\t\t\t\t\t\t\tdeferredToolCallDeltas.set(block, deltas);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\t\t\tdelta,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst reasoningDetails = (choice.delta as { reasoning_details?: unknown }).reasoning_details;\n\t\t\t\t\tif (Array.isArray(reasoningDetails)) {\n\t\t\t\t\t\tfor (const detail of reasoningDetails) {\n\t\t\t\t\t\t\tif (isEncryptedReasoningDetail(detail)) {\n\t\t\t\t\t\t\t\tconst serializedDetail = JSON.stringify(detail);\n\t\t\t\t\t\t\t\tconst matchingToolCall = toolCallBlocksById.get(detail.id);\n\t\t\t\t\t\t\t\tif (matchingToolCall) {\n\t\t\t\t\t\t\t\t\tmatchingToolCall.thoughtSignature = serializedDetail;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tpendingReasoningDetailsByToolCallId.set(detail.id, serializedDetail);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (deferMixedEvents) flushDeferredBlocks();\n\t\t\telse finishActiveBlock();\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"aborted\") {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\t\t\tif (!hasFinishReason && !compat.supportsFinishReason) {\n\t\t\t\toutput.stopReason = output.content.some((block) => block.type === \"toolCall\") ? \"toolUse\" : \"stop\";\n\t\t\t}\n\t\t\tif (output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(output.errorMessage || \"Provider returned an error stop reason\");\n\t\t\t}\n\t\t\tif ((compat.supportsFinishReason && !hasFinishReason) || output.stopReason === \"pending\") {\n\t\t\t\tthrow new Error(\"Stream ended without finish_reason\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tfor (const block of output.content) {\n\t\t\t\tdelete (block as { index?: number }).index;\n\t\t\t\t// Streaming scratch buffers are only used during parsing; never persist them.\n\t\t\t\tdelete (block as { partialArgs?: string }).partialArgs;\n\t\t\t\tdelete (block as { customInput?: unknown }).customInput;\n\t\t\t\tdelete (block as { streamIndex?: number }).streamIndex;\n\t\t\t}\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = formatProviderError(normalizeProviderError(error));\n\t\t\t// Some providers via OpenRouter give additional information in this field.\n\t\t\t// normalizeProviderError already stringifies the parsed body (error.error)\n\t\t\t// into errorMessage, so only append the raw metadata when it is not already\n\t\t\t// present to avoid double-printing it.\n\t\t\tconst rawMetadata = getOpenRouterRawMetadata(error);\n\t\t\tif (rawMetadata && !output.errorMessage.includes(String(rawMetadata))) {\n\t\t\t\toutput.errorMessage += `\\n${rawMetadata}`;\n\t\t\t}\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\nexport const streamSimple: StreamFunction<\"openai-completions\", SimpleStreamOptions> = (\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tresolveOpenAIClientAuth(model.provider, options?.apiKey, options?.headers);\n\n\tconst base = buildBaseOptions(model, context, options, options?.apiKey);\n\tconst compat = getCompat(model);\n\tconst thinkingLevelMap = getThinkingLevelMap(model, compat);\n\tconst thinkingModel = thinkingLevelMap === model.thinkingLevelMap ? model : { ...model, thinkingLevelMap };\n\tconst clampedReasoning = options?.reasoning ? clampThinkingLevel(thinkingModel, options.reasoning) : undefined;\n\tconst reasoningEffort =\n\t\tclampedReasoning === \"off\"\n\t\t\t? undefined\n\t\t\t: clampedReasoning === \"max\" && supportsMax(thinkingModel)\n\t\t\t\t? \"max\"\n\t\t\t\t: clampMaxForOpenAI(clampedReasoning, supportsXhigh(thinkingModel));\n\tconst toolChoice = (options as OpenAICompletionsOptions | undefined)?.toolChoice;\n\n\treturn stream(model, context, {\n\t\t...base,\n\t\treasoningEffort,\n\t\ttoolChoice,\n\t\tthinkingBudgets: options?.thinkingBudgets,\n\t} satisfies OpenAICompletionsOptions);\n};\n\nfunction createClient(\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\tapiKey: string,\n\toptionsHeaders?: ProviderHeaders,\n\tfetch?: typeof globalThis.fetch,\n\tsessionId?: string,\n\tcompat: ResolvedOpenAICompletionsCompat = getCompat(model),\n) {\n\tconst headers: ProviderHeaders = { ...model.headers };\n\tif (model.provider === \"github-copilot\") {\n\t\tconst hasImages = hasCopilotVisionInput(context.messages);\n\t\tconst copilotHeaders = buildCopilotDynamicHeaders({\n\t\t\tmessages: context.messages,\n\t\t\thasImages,\n\t\t});\n\t\tObject.assign(headers, copilotHeaders);\n\t}\n\n\tif (sessionId && compat.sendSessionAffinityHeaders) {\n\t\tif (compat.sessionAffinityFormat === \"openrouter\") {\n\t\t\theaders[\"x-session-id\"] = sessionId;\n\t\t} else {\n\t\t\tif (compat.sessionAffinityFormat === \"openai\") {\n\t\t\t\theaders.session_id = sessionId;\n\t\t\t}\n\t\t\theaders[\"x-client-request-id\"] = sessionId;\n\t\t\theaders[\"x-session-affinity\"] = sessionId;\n\t\t}\n\t}\n\n\t// Merge options headers last so they can override defaults\n\tif (optionsHeaders) {\n\t\tObject.assign(headers, optionsHeaders);\n\t}\n\n\treturn new OpenAI({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tfetch,\n\t\tdefaultHeaders: headers,\n\t});\n}\n\nfunction buildParams(\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\toptions?: OpenAICompletionsOptions,\n\tcompat: ResolvedOpenAICompletionsCompat = getCompat(model),\n\tcacheRetention: CacheRetention = resolveCacheRetention(\n\t\toptions?.cacheRetention ?? model.cacheRetention,\n\t\toptions?.env,\n\t),\n\tgrammarToolInputProperties: ReadonlyMap<string, string> = createGrammarToolInputProperties(\n\t\tcontext.tools,\n\t\tcompat.supportsOpenAIGrammarTools,\n\t),\n) {\n\tconst messages = convertMessages(model, context, compat, {\n\t\tpreserveThinking: options?.reasoningEffort !== undefined,\n\t\tgrammarToolInputProperties,\n\t});\n\tconst cacheControl = getCompatCacheControl(compat, cacheRetention);\n\tconst thinkingLevelMap = getThinkingLevelMap(model, compat);\n\n\tconst params: OpenAICompletionsRequestParams = {\n\t\tmodel: model.id,\n\t\tmessages,\n\t\tstream: true,\n\t\tprompt_cache_key:\n\t\t\t(model.baseUrl.includes(\"api.openai.com\") && cacheRetention !== \"none\") ||\n\t\t\t(cacheRetention === \"long\" && compat.supportsLongCacheRetention) ||\n\t\t\t(compat.supportsPromptCacheKey && cacheRetention !== \"none\")\n\t\t\t\t? clampOpenAIPromptCacheKey(options?.sessionId)\n\t\t\t\t: undefined,\n\t\tprompt_cache_retention: cacheRetention === \"long\" && compat.supportsLongCacheRetention ? \"24h\" : undefined,\n\t\tsession_id:\n\t\t\tcompat.sendSessionAffinityHeaders && compat.sessionAffinityFormat === \"openrouter\" && cacheRetention !== \"none\"\n\t\t\t\t? options?.sessionId\n\t\t\t\t: undefined,\n\t};\n\n\tif (compat.supportsUsageInStreaming !== false) {\n\t\tparams.stream_options = { include_usage: true };\n\t}\n\n\tif (compat.supportsStore) {\n\t\tparams.store = false;\n\t}\n\n\tif (options?.maxTokens) {\n\t\tif (compat.maxTokensField === \"max_tokens\") {\n\t\t\tparams.max_tokens = options.maxTokens;\n\t\t} else {\n\t\t\tparams.max_completion_tokens = options.maxTokens;\n\t\t}\n\t}\n\n\tif (options?.temperature !== undefined) {\n\t\tparams.temperature = options.temperature;\n\t}\n\n\tconst deferredToolNames =\n\t\tcompat.deferredToolsMode === \"kimi\" ? getDeferredToolNames(context.messages) : new Set<string>();\n\tconst activeTools = context.tools?.filter((tool) => !deferredToolNames.has(tool.name));\n\tif (activeTools && activeTools.length > 0) {\n\t\tparams.tools = convertTools(activeTools, compat);\n\t\tif (compat.zaiToolStream) {\n\t\t\tparams.tool_stream = true;\n\t\t}\n\t} else if (hasToolHistory(context.messages)) {\n\t\t// Anthropic (via LiteLLM/proxy) requires tools param when conversation has tool_calls/tool_results\n\t\tparams.tools = [];\n\t}\n\n\tif (cacheControl) {\n\t\tapplyAnthropicCacheControl(messages, params.tools, cacheControl);\n\t}\n\n\tif (options?.toolChoice) {\n\t\tparams.tool_choice = options.toolChoice;\n\t}\n\n\tif (compat.thinkingFormat === \"zai\" && model.reasoning) {\n\t\tconst isGlm53 = /(?:^|[/:-])glm-5\\.3(?:$|[/.:_-])/.test(model.id.toLowerCase());\n\t\tconst zaiParams = params as Omit<typeof params, \"reasoning_effort\"> & {\n\t\t\tthinking?: { type: \"enabled\" | \"disabled\"; clear_thinking?: boolean };\n\t\t\treasoning_effort?: string;\n\t\t};\n\t\tzaiParams.thinking =\n\t\t\toptions?.reasoningEffort || isGlm53 ? { type: \"enabled\", clear_thinking: false } : { type: \"disabled\" };\n\t\tif (options?.reasoningEffort && compat.supportsReasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\tzaiParams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"qwen\" && model.reasoning) {\n\t\tparams.enable_thinking = !!options?.reasoningEffort;\n\t\tif (options?.reasoningEffort && compat.supportsReasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\tparams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"qwen-chat-template\" && model.reasoning) {\n\t\tparams.chat_template_kwargs = {\n\t\t\tenable_thinking: !!options?.reasoningEffort,\n\t\t\tpreserve_thinking: true,\n\t\t};\n\t} else if (compat.thinkingFormat === \"chat-template\" && model.reasoning) {\n\t\tconst chatTemplateKwargs = buildChatTemplateValues(model, options, compat, compat.chatTemplateKwargs);\n\t\tif (chatTemplateKwargs) {\n\t\t\t(params as any).chat_template_kwargs = chatTemplateKwargs;\n\t\t}\n\t} else if (compat.thinkingFormat === \"baseten\" && model.reasoning) {\n\t\tconst basetenParams = params as Omit<typeof params, \"reasoning_effort\"> & {\n\t\t\tchat_template_args?: Record<string, ResolvedChatTemplateKwargValue>;\n\t\t\treasoning_effort?: string;\n\t\t};\n\t\tconst chatTemplateArgs = buildChatTemplateValues(model, options, compat, compat.chatTemplateArgs ?? {});\n\t\tif (chatTemplateArgs) {\n\t\t\tbasetenParams.chat_template_args = chatTemplateArgs;\n\t\t}\n\t\tif (compat.supportsReasoningEffort) {\n\t\t\tconst requestedEffort = options?.reasoningEffort;\n\t\t\tconst mappedEffort = requestedEffort ? model.thinkingLevelMap?.[requestedEffort] : model.thinkingLevelMap?.off;\n\t\t\tconst effort = mappedEffort === undefined ? requestedEffort : mappedEffort;\n\t\t\tif (typeof effort === \"string\") {\n\t\t\t\tbasetenParams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"deepseek\" && model.reasoning) {\n\t\tif (options?.reasoningEffort) {\n\t\t\tparams.thinking = { type: \"enabled\" };\n\t\t\tif (compat.supportsReasoningEffort) {\n\t\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\t\tif (effort !== undefined) {\n\t\t\t\t\tparams.reasoning_effort = effort;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (compat.supportsDisabledThinking !== false && thinkingLevelMap?.off !== null) {\n\t\t\tparams.thinking = { type: \"disabled\" };\n\t\t}\n\t} else if (compat.thinkingFormat === \"openrouter\" && model.reasoning) {\n\t\t// OpenRouter normalizes reasoning across providers via a nested reasoning object.\n\t\tconst openRouterParams = params as typeof params & { reasoning?: { effort?: string } };\n\t\tif (options?.reasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\topenRouterParams.reasoning = { effort };\n\t\t\t}\n\t\t} else if (thinkingLevelMap?.off !== null) {\n\t\t\topenRouterParams.reasoning = { effort: thinkingLevelMap?.off ?? \"none\" };\n\t\t}\n\t} else if (compat.thinkingFormat === \"ant-ling\" && model.reasoning && options?.reasoningEffort) {\n\t\tconst effort = thinkingLevelMap?.[options.reasoningEffort];\n\t\tif (typeof effort === \"string\") {\n\t\t\t(params as typeof params & { reasoning?: { effort: string } }).reasoning = { effort };\n\t\t}\n\t} else if (compat.thinkingFormat === \"together\" && model.reasoning) {\n\t\tconst togetherParams = params as Omit<typeof params, \"reasoning_effort\"> & {\n\t\t\treasoning?: { enabled: boolean };\n\t\t\treasoning_effort?: string;\n\t\t};\n\t\ttogetherParams.reasoning = { enabled: !!options?.reasoningEffort };\n\t\tif (options?.reasoningEffort && compat.supportsReasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\ttogetherParams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"string-thinking\" && model.reasoning) {\n\t\tif (options?.reasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\tparams.thinking = effort;\n\t\t\t}\n\t\t} else if (thinkingLevelMap?.off !== null) {\n\t\t\tparams.thinking = thinkingLevelMap?.off ?? \"none\";\n\t\t}\n\t} else if (options?.reasoningEffort && model.reasoning && compat.supportsReasoningEffort) {\n\t\t// OpenAI-style reasoning_effort\n\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\tif (effort !== undefined) {\n\t\t\tparams.reasoning_effort = effort;\n\t\t}\n\t} else if (!options?.reasoningEffort && model.reasoning && compat.supportsReasoningEffort) {\n\t\tconst offValue = thinkingLevelMap?.off;\n\t\tif (typeof offValue === \"string\") {\n\t\t\tparams.reasoning_effort = offValue;\n\t\t}\n\t}\n\n\t// vLLM caps reasoning with a top-level thinking_token_budget. Independent of\n\t// thinkingFormat: the same server can serve zai, qwen or chat-template models.\n\t// Reasoning and the answer share max_tokens here, so an uncapped reasoning\n\t// phase can consume the whole response and leave no answer and no tool call.\n\tif (compat.supportsThinkingTokenBudget && options?.reasoningEffort && model.reasoning) {\n\t\tconst level = clampReasoning(options.reasoningEffort)!;\n\t\tconst budgets: ThinkingBudgets = {\n\t\t\tminimal: 1024,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 16384,\n\t\t\t...options.thinkingBudgets,\n\t\t};\n\t\tconst ceiling = (params as { max_tokens?: number }).max_tokens ?? params.max_completion_tokens ?? model.maxTokens;\n\t\t// Always leave room for the answer, otherwise the budget recreates the bug it prevents.\n\t\tconst budget = Math.min(budgets[level]!, Math.max(0, ceiling - MIN_ANSWER_TOKENS));\n\t\tif (budget > 0) {\n\t\t\t(params as { thinking_token_budget?: number }).thinking_token_budget = budget;\n\t\t}\n\t}\n\n\t// OpenRouter provider routing preferences\n\tif (model.compat?.openRouterRouting) {\n\t\tparams.provider = model.compat.openRouterRouting;\n\t}\n\n\t// Vercel AI Gateway provider routing preferences\n\tif (model.compat?.vercelGatewayRouting) {\n\t\tconst routing = model.compat.vercelGatewayRouting;\n\t\tif (routing.only || routing.order) {\n\t\t\tconst gatewayOptions: Record<string, string[]> = {};\n\t\t\tif (routing.only) gatewayOptions.only = routing.only;\n\t\t\tif (routing.order) gatewayOptions.order = routing.order;\n\t\t\tparams.providerOptions = { gateway: gatewayOptions };\n\t\t}\n\t}\n\n\tapplyExtraBody(params, options?.extraBody, OPENAI_COMPLETIONS_RESERVED_BODY_KEYS);\n\n\t// Last so custom keys override the named request fields.\n\tif (options?.samplingParams) {\n\t\tObject.assign(params, options.samplingParams);\n\t}\n\n\treturn params;\n}\n\nfunction buildChatTemplateValues(\n\tmodel: Model<\"openai-completions\">,\n\toptions: OpenAICompletionsOptions | undefined,\n\tcompat: ResolvedOpenAICompletionsCompat,\n\tvalues: Record<string, ChatTemplateKwargValue>,\n): Record<string, ResolvedChatTemplateKwargValue> | undefined {\n\tconst resolvedValues: Record<string, ResolvedChatTemplateKwargValue> = {};\n\n\tfor (const [key, value] of Object.entries(values)) {\n\t\tconst resolved = resolveChatTemplateKwargValue(model, options, compat, value);\n\t\tif (resolved !== undefined) {\n\t\t\tresolvedValues[key] = resolved;\n\t\t}\n\t}\n\n\treturn Object.keys(resolvedValues).length > 0 ? resolvedValues : undefined;\n}\n\nfunction resolveChatTemplateKwargValue(\n\tmodel: Model<\"openai-completions\">,\n\toptions: OpenAICompletionsOptions | undefined,\n\tcompat: ResolvedOpenAICompletionsCompat,\n\tvalue: ChatTemplateKwargValue,\n): ResolvedChatTemplateKwargValue | undefined {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn value;\n\t}\n\n\tconst reasoningEffort = options?.reasoningEffort;\n\tif (!reasoningEffort && value.omitWhenOff) {\n\t\treturn undefined;\n\t}\n\tif (value.$var === \"thinking.enabled\") {\n\t\treturn !!reasoningEffort;\n\t}\n\n\tconst thinkingLevelMap = getThinkingLevelMap(model, compat);\n\tconst mappedValue = reasoningEffort ? thinkingLevelMap?.[reasoningEffort] : thinkingLevelMap?.off;\n\treturn mappedValue === undefined ? reasoningEffort : typeof mappedValue === \"string\" ? mappedValue : undefined;\n}\n\nfunction getCompatCacheControl(\n\tcompat: ResolvedOpenAICompletionsCompat,\n\tcacheRetention: CacheRetention,\n): OpenAICompatCacheControl | undefined {\n\tif (compat.cacheControlFormat !== \"anthropic\" || cacheRetention === \"none\") {\n\t\treturn undefined;\n\t}\n\n\tconst ttl = cacheRetention === \"long\" && compat.supportsLongCacheRetention ? \"1h\" : undefined;\n\treturn { type: \"ephemeral\", ...(ttl ? { ttl } : {}) };\n}\n\nfunction applyAnthropicCacheControl(\n\tmessages: ChatCompletionMessageParam[],\n\ttools: OpenAI.Chat.Completions.ChatCompletionTool[] | undefined,\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\taddCacheControlToSystemPrompt(messages, cacheControl);\n\taddCacheControlToLastTool(tools, cacheControl);\n\taddCacheControlToLastConversationMessage(messages, cacheControl);\n}\n\nfunction addCacheControlToSystemPrompt(\n\tmessages: ChatCompletionMessageParam[],\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\tfor (const message of messages) {\n\t\tif (message.role === \"system\" || message.role === \"developer\") {\n\t\t\taddCacheControlToInstructionMessage(message, cacheControl);\n\t\t\treturn;\n\t\t}\n\t}\n}\n\nfunction addCacheControlToLastConversationMessage(\n\tmessages: ChatCompletionMessageParam[],\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\tconst message = messages[i];\n\t\tif (message.role === \"user\" || message.role === \"assistant\" || message.role === \"tool\") {\n\t\t\tif (addCacheControlToMessage(message, cacheControl)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction addCacheControlToLastTool(\n\ttools: OpenAI.Chat.Completions.ChatCompletionTool[] | undefined,\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\tif (!tools || tools.length === 0) {\n\t\treturn;\n\t}\n\n\tconst lastTool = tools[tools.length - 1] as ChatCompletionToolWithCacheControl;\n\tlastTool.cache_control = cacheControl;\n}\n\nfunction addCacheControlToInstructionMessage(\n\tmessage: ChatCompletionInstructionMessageParam,\n\tcacheControl: OpenAICompatCacheControl,\n): boolean {\n\treturn addCacheControlToTextContent(message, cacheControl);\n}\n\nfunction addCacheControlToMessage(\n\tmessage: ChatCompletionMessageParam,\n\tcacheControl: OpenAICompatCacheControl,\n): boolean {\n\tif (message.role === \"user\" || message.role === \"assistant\" || message.role === \"tool\") {\n\t\treturn addCacheControlToTextContent(message, cacheControl);\n\t}\n\treturn false;\n}\n\nfunction addCacheControlToTextContent(\n\tmessage:\n\t\t| ChatCompletionInstructionMessageParam\n\t\t| ChatCompletionAssistantMessageParam\n\t\t| ChatCompletionToolMessageParam\n\t\t| Extract<ChatCompletionMessageParam, { role: \"user\" }>,\n\tcacheControl: OpenAICompatCacheControl,\n): boolean {\n\tconst content = message.content;\n\tif (typeof content === \"string\") {\n\t\tif (content.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tmessage.content = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: content,\n\t\t\t\tcache_control: cacheControl,\n\t\t\t},\n\t\t] as ChatCompletionTextPartWithCacheControl[];\n\t\treturn true;\n\t}\n\n\tif (!Array.isArray(content)) {\n\t\treturn false;\n\t}\n\n\tfor (let i = content.length - 1; i >= 0; i--) {\n\t\tconst part = content[i];\n\t\tif (part?.type === \"text\") {\n\t\t\tconst textPart = part as ChatCompletionTextPartWithCacheControl;\n\t\t\ttextPart.cache_control = cacheControl;\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nexport function convertMessages(\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\tcompat: ResolvedOpenAICompletionsCompat,\n\toptions: ConvertCompletionsMessagesOptions = {},\n): ChatCompletionMessageParam[] {\n\tconst params: ChatCompletionMessageParam[] = [];\n\n\tconst normalizeToolCallId = (id: string): string => {\n\t\t// Handle pipe-separated IDs from OpenAI Responses API\n\t\t// Format: {call_id}|{id} where {id} can be 400+ chars with special chars (+, /, =)\n\t\t// These come from providers like github-copilot, openai-codex, opencode\n\t\t// Extract just the call_id part and normalize it\n\t\t// Multiple tool calls in the same turn can share call_id but differ by item_id.\n\t\t// Preserve item-level uniqueness when replaying into Chat Completions, which\n\t\t// requires distinct tool call ids.\n\t\tif (id.includes(\"|\")) {\n\t\t\t// Sanitize to allowed chars and truncate to 40 chars (OpenAI limit)\n\t\t\tconst separatorIndex = id.indexOf(\"|\");\n\t\t\tconst callId = id.slice(0, separatorIndex).replace(/[^a-zA-Z0-9_-]/g, \"_\");\n\t\t\tconst itemId = id.slice(separatorIndex + 1).replace(/[^a-zA-Z0-9_-]/g, \"_\");\n\t\t\tconst combinedId = itemId.length > 0 ? `${callId}_${itemId}` : callId;\n\t\t\tif (combinedId.length <= 40) {\n\t\t\t\treturn combinedId;\n\t\t\t}\n\t\t\tconst hash = shortHash(id).slice(0, 8);\n\t\t\tconst prefix = callId.slice(0, Math.max(1, 40 - hash.length - 1));\n\t\t\treturn `${prefix}_${hash}`;\n\t\t}\n\n\t\tconst sanitizedId = id.replace(/[^a-zA-Z0-9_-]/g, \"_\") || \"tool_call\";\n\t\tif (sanitizedId === id && sanitizedId.length <= 40) return id;\n\n\t\tconst hash = shortHash(id).slice(0, 8);\n\t\tconst prefix = sanitizedId.slice(0, Math.max(1, 40 - hash.length - 1));\n\t\treturn `${prefix}_${hash}`;\n\t};\n\n\tconst transformedMessages = transformMessages(context.messages, model, (id) => normalizeToolCallId(id), {\n\t\tpreserveThinking: options.preserveThinking,\n\t\tnormalizeSameModelToolCallIds: true,\n\t});\n\n\tif (context.systemPrompt) {\n\t\tconst useDeveloperRole = model.reasoning && compat.supportsDeveloperRole;\n\t\tconst role = useDeveloperRole ? \"developer\" : \"system\";\n\t\tparams.push({ role: role, content: sanitizeSurrogates(context.systemPrompt) });\n\t}\n\n\tlet lastRole: string | null = null;\n\n\tfor (let i = 0; i < transformedMessages.length; i++) {\n\t\tconst msg = transformedMessages[i];\n\t\t// Some providers don't allow user messages directly after tool results\n\t\t// Insert a synthetic assistant message to bridge the gap\n\t\tif (compat.requiresAssistantAfterToolResult && lastRole === \"toolResult\" && msg.role === \"user\") {\n\t\t\tparams.push({\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: \"I have processed the tool results.\",\n\t\t\t});\n\t\t}\n\n\t\tif (msg.role === \"user\") {\n\t\t\tif (typeof msg.content === \"string\") {\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: sanitizeSurrogates(msg.content),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst content: ChatCompletionContentPart[] = msg.content.map((item): ChatCompletionContentPart => {\n\t\t\t\t\tif (item.type === \"text\") {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t\t\t\t} satisfies ChatCompletionContentPartText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"image_url\",\n\t\t\t\t\t\t\timage_url: {\n\t\t\t\t\t\t\t\turl: `data:${item.mimeType};base64,${item.data}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} satisfies ChatCompletionContentPartImage;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (content.length === 0) continue;\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (msg.role === \"assistant\") {\n\t\t\t// Some providers don't accept null content, use empty string instead\n\t\t\tconst assistantMsg: ChatCompletionAssistantMessageParam = {\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: compat.requiresAssistantAfterToolResult ? \"\" : null,\n\t\t\t};\n\n\t\t\tconst assistantTextParts = msg.content\n\t\t\t\t.filter(isTextContentBlock)\n\t\t\t\t.filter((block) => block.text.trim().length > 0)\n\t\t\t\t.map(\n\t\t\t\t\t(block) =>\n\t\t\t\t\t\t({\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t\t\t\t}) satisfies ChatCompletionContentPartText,\n\t\t\t\t);\n\t\t\tconst assistantText = assistantTextParts.map((part) => part.text).join(\"\");\n\n\t\t\tconst nonEmptyThinkingBlocks = msg.content\n\t\t\t\t.filter(isThinkingContentBlock)\n\t\t\t\t.filter((block) => block.thinking.trim().length > 0);\n\t\t\tif (nonEmptyThinkingBlocks.length > 0) {\n\t\t\t\tif (compat.requiresThinkingAsText) {\n\t\t\t\t\t// Convert thinking blocks to plain text (no tags to avoid model mimicking them)\n\t\t\t\t\tconst thinkingText = nonEmptyThinkingBlocks\n\t\t\t\t\t\t.map((block) => sanitizeSurrogates(block.thinking))\n\t\t\t\t\t\t.join(\"\\n\\n\");\n\t\t\t\t\tassistantMsg.content = [{ type: \"text\", text: thinkingText }, ...assistantTextParts];\n\t\t\t\t} else {\n\t\t\t\t\t// Always send assistant content as a plain string (OpenAI Chat Completions\n\t\t\t\t\t// API standard format). Sending as an array of {type:\"text\", text:\"...\"}\n\t\t\t\t\t// objects is non-standard and causes some models (e.g. DeepSeek V3.2 via\n\t\t\t\t\t// NVIDIA NIM) to mirror the content-block structure literally in their\n\t\t\t\t\t// output, producing recursive nesting like [{'type':'text','text':'[{...}]'}].\n\t\t\t\t\tif (assistantText.length > 0) {\n\t\t\t\t\t\tassistantMsg.content = assistantText;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Use the signature from the first thinking block if available (for llama.cpp server + gpt-oss)\n\t\t\t\t\tlet signature = nonEmptyThinkingBlocks[0].thinkingSignature;\n\t\t\t\t\tif (model.provider === \"opencode-go\" && signature === \"reasoning\") {\n\t\t\t\t\t\tsignature = \"reasoning_content\";\n\t\t\t\t\t}\n\t\t\t\t\tif (signature && signature.length > 0) {\n\t\t\t\t\t\tObject.assign(assistantMsg, {\n\t\t\t\t\t\t\t[signature]: nonEmptyThinkingBlocks.map((block) => block.thinking).join(\"\\n\"),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (assistantText.length > 0) {\n\t\t\t\t// Always send assistant content as a plain string (OpenAI Chat Completions\n\t\t\t\t// API standard format). Sending as an array of {type:\"text\", text:\"...\"}\n\t\t\t\t// objects is non-standard and causes some models (e.g. DeepSeek V3.2 via\n\t\t\t\t// NVIDIA NIM) to mirror the content-block structure literally in their\n\t\t\t\t// output, producing recursive nesting like [{'type':'text','text':'[{...}]'}].\n\t\t\t\tassistantMsg.content = assistantText;\n\t\t\t}\n\n\t\t\tconst toolCalls = msg.content.filter(isToolCallBlock);\n\t\t\tif (toolCalls.length > 0) {\n\t\t\t\tassistantMsg.tool_calls = toolCalls.map((tc): ChatCompletionMessageToolCall => {\n\t\t\t\t\tconst customInputProperty = options?.grammarToolInputProperties?.get(tc.name);\n\t\t\t\t\tif (customInputProperty !== undefined) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: tc.id,\n\t\t\t\t\t\t\ttype: \"custom\",\n\t\t\t\t\t\t\tcustom: {\n\t\t\t\t\t\t\t\tname: tc.name,\n\t\t\t\t\t\t\t\tinput: sanitizeSurrogates(getGrammarToolInput(tc.name, tc.arguments, customInputProperty)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: tc.id,\n\t\t\t\t\t\ttype: \"function\",\n\t\t\t\t\t\tfunction: {\n\t\t\t\t\t\t\tname: tc.name,\n\t\t\t\t\t\t\targuments: JSON.stringify(tc.arguments),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tconst reasoningDetails = toolCalls\n\t\t\t\t\t.filter((tc) => tc.thoughtSignature)\n\t\t\t\t\t.map((tc) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\treturn JSON.parse(tc.thoughtSignature!);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tif (reasoningDetails.length > 0) {\n\t\t\t\t\tObject.assign(assistantMsg, { reasoning_details: reasoningDetails });\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tcompat.requiresReasoningContentOnAssistantMessages &&\n\t\t\t\tmodel.reasoning &&\n\t\t\t\t(assistantMsg as { reasoning_content?: string }).reasoning_content === undefined\n\t\t\t) {\n\t\t\t\t(assistantMsg as { reasoning_content?: string }).reasoning_content = \"\";\n\t\t\t}\n\t\t\t// Skip assistant messages that have no content and no tool calls.\n\t\t\t// Some providers require \"either content or tool_calls, but not none\".\n\t\t\t// Other providers also don't accept empty assistant messages.\n\t\t\t// This handles aborted assistant responses that got no content.\n\t\t\tconst content = assistantMsg.content;\n\t\t\tconst hasContent =\n\t\t\t\tcontent !== null &&\n\t\t\t\tcontent !== undefined &&\n\t\t\t\t(typeof content === \"string\" ? content.length > 0 : content.length > 0);\n\t\t\tif (!hasContent && !assistantMsg.tool_calls) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparams.push(assistantMsg);\n\t\t} else if (msg.role === \"toolResult\") {\n\t\t\tconst imageBlocks: Array<{ type: \"image_url\"; image_url: { url: string } }> = [];\n\t\t\tconst deferredToolNames = new Set<string>();\n\t\t\tlet j = i;\n\n\t\t\tfor (; j < transformedMessages.length && transformedMessages[j].role === \"toolResult\"; j++) {\n\t\t\t\tconst toolMsg = transformedMessages[j] as ToolResultMessage;\n\n\t\t\t\t// Extract text and image content\n\t\t\t\tconst textResult = toolMsg.content\n\t\t\t\t\t.filter(isTextContentBlock)\n\t\t\t\t\t.map((block) => block.text)\n\t\t\t\t\t.join(\"\\n\");\n\t\t\t\tconst hasImages = toolMsg.content.some((c) => c.type === \"image\");\n\n\t\t\t\t// Always send tool result with text (or placeholder if only images)\n\t\t\t\tconst hasText = textResult.length > 0;\n\t\t\t\tconst toolResultText = hasText ? textResult : hasImages ? \"(see attached image)\" : \"(no tool output)\";\n\t\t\t\t// Some providers require the 'name' field in tool results\n\t\t\t\tconst toolResultMsg: ChatCompletionToolMessageParam = {\n\t\t\t\t\trole: \"tool\",\n\t\t\t\t\tcontent: sanitizeSurrogates(toolResultText),\n\t\t\t\t\ttool_call_id: toolMsg.toolCallId,\n\t\t\t\t};\n\t\t\t\tif (compat.requiresToolResultName && toolMsg.toolName) {\n\t\t\t\t\tObject.assign(toolResultMsg, { name: toolMsg.toolName });\n\t\t\t\t}\n\t\t\t\tparams.push(toolResultMsg);\n\n\t\t\t\tif (compat.deferredToolsMode === \"kimi\") {\n\t\t\t\t\tfor (const name of toolMsg.addedToolNames ?? []) {\n\t\t\t\t\t\tdeferredToolNames.add(name);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (hasImages && model.input.includes(\"image\")) {\n\t\t\t\t\tfor (const block of toolMsg.content) {\n\t\t\t\t\t\tif (isImageContentBlock(block)) {\n\t\t\t\t\t\t\timageBlocks.push({\n\t\t\t\t\t\t\t\ttype: \"image_url\",\n\t\t\t\t\t\t\t\timage_url: {\n\t\t\t\t\t\t\t\t\turl: `data:${block.mimeType};base64,${block.data}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = j - 1;\n\n\t\t\tif (imageBlocks.length > 0) {\n\t\t\t\tif (compat.requiresAssistantAfterToolResult) {\n\t\t\t\t\tparams.push({\n\t\t\t\t\t\trole: \"assistant\",\n\t\t\t\t\t\tcontent: \"I have processed the tool results.\",\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: \"Attached image(s) from tool result:\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...imageBlocks,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tlastRole = \"user\";\n\t\t\t} else {\n\t\t\t\tlastRole = \"toolResult\";\n\t\t\t}\n\n\t\t\tif (deferredToolNames.size > 0) {\n\t\t\t\tconst deferredTools = getToolsByName(context.tools, deferredToolNames);\n\t\t\t\tif (deferredTools.length > 0) {\n\t\t\t\t\tconst kimiToolMessage: KimiToolSystemMessageParam = {\n\t\t\t\t\t\trole: \"system\",\n\t\t\t\t\t\ttools: convertTools(deferredTools, compat),\n\t\t\t\t\t};\n\t\t\t\t\t// Kimi accepts a system message with tools but omits the standard content field.\n\t\t\t\t\tparams.push(kimiToolMessage as unknown as ChatCompletionMessageParam);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tlastRole = msg.role;\n\t}\n\n\treturn params;\n}\n\nfunction convertTools(\n\ttools: Tool[],\n\tcompat: ResolvedOpenAICompletionsCompat,\n): OpenAI.Chat.Completions.ChatCompletionTool[] {\n\treturn tools.map((tool) => {\n\t\tconst grammar = resolveGrammarConstrainedSampling(tool, compat.supportsOpenAIGrammarTools);\n\t\tif (grammar) {\n\t\t\treturn {\n\t\t\t\ttype: \"custom\",\n\t\t\t\tcustom: {\n\t\t\t\t\tname: tool.name,\n\t\t\t\t\tdescription: tool.description,\n\t\t\t\t\tformat: {\n\t\t\t\t\t\ttype: \"grammar\",\n\t\t\t\t\t\tgrammar: {\n\t\t\t\t\t\t\tsyntax: grammar.format,\n\t\t\t\t\t\t\tdefinition: grammar.definition,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tif (tool.freeform) {\n\t\t\tthrow new Error(\"Freeform tools cannot be sent to OpenAI Chat Completions; use Responses API\");\n\t\t}\n\n\t\tconst strict = resolveJsonSchemaStrictSampling(tool, compat.supportsStrictMode !== false);\n\t\tconst schemaParameters = getJsonSchemaToolParameters(tool, strict) as Record<string, unknown>;\n\t\tconst normalizedParameters =\n\t\t\tcompat.toolSchemaFlavor === \"moonshot-mfjs\"\n\t\t\t\t? normalizeToolParametersForMoonshot(schemaParameters)\n\t\t\t\t: normalizeToolParametersForOpenAICompat(schemaParameters);\n\t\treturn {\n\t\t\ttype: \"function\",\n\t\t\tfunction: {\n\t\t\t\tname: tool.name,\n\t\t\t\tdescription: tool.description,\n\t\t\t\tparameters: normalizedParameters as FunctionParameters,\n\t\t\t\t// Only include strict if provider supports it. Some reject unknown fields.\n\t\t\t\t...(compat.supportsStrictMode !== false && { strict: strict ?? false }),\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction normalizeRequestToolSchemas(\n\tparams: OpenAICompletionsRequestParams,\n\tcompat: ResolvedOpenAICompletionsCompat,\n): OpenAICompletionsRequestParams {\n\tif (!params.tools) return params;\n\n\treturn {\n\t\t...params,\n\t\ttools: params.tools.map((tool) => {\n\t\t\tif (tool.type !== \"function\" || !tool.function.parameters) return tool;\n\n\t\t\tconst parameters =\n\t\t\t\tcompat.toolSchemaFlavor === \"moonshot-mfjs\"\n\t\t\t\t\t? normalizeToolParametersForMoonshot(tool.function.parameters)\n\t\t\t\t\t: normalizeToolParametersForOpenAICompat(tool.function.parameters);\n\t\t\treturn {\n\t\t\t\t...tool,\n\t\t\t\tfunction: { ...tool.function, parameters },\n\t\t\t};\n\t\t}),\n\t};\n}\n\nfunction parseChunkUsage(\n\trawUsage: {\n\t\tprompt_tokens?: number;\n\t\tcompletion_tokens?: number;\n\t\tprompt_cache_hit_tokens?: number;\n\t\tcached_tokens?: number;\n\t\tprompt_tokens_details?: { cached_tokens?: number; cache_write_tokens?: number };\n\t\tcompletion_tokens_details?: { reasoning_tokens?: number };\n\t},\n\tmodel: Model<\"openai-completions\">,\n): AssistantMessage[\"usage\"] {\n\tconst promptTokens = rawUsage.prompt_tokens || 0;\n\tconst cacheReadTokens =\n\t\trawUsage.prompt_tokens_details?.cached_tokens ?? rawUsage.prompt_cache_hit_tokens ?? rawUsage.cached_tokens ?? 0;\n\tconst cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;\n\n\t// Follow documented OpenAI/OpenRouter semantics: cached_tokens is cache-read\n\t// tokens (hits). OpenAI does not document or emit cache_write_tokens, but\n\t// OpenRouter-compatible providers can include it as a separate write count.\n\t// OpenRouter's own provider/tests affirm the separate mapping:\n\t// https://github.com/OpenRouterTeam/ai-sdk-provider/pull/409\n\t// Do not subtract writes from cached_tokens, otherwise spec-compliant\n\t// providers are under-reported. DS4 mirrors this contract too:\n\t// https://github.com/antirez/ds4/pull/29\n\tconst input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);\n\t// OpenAI completion_tokens already includes reasoning_tokens.\n\tconst outputTokens = rawUsage.completion_tokens || 0;\n\tconst usage: AssistantMessage[\"usage\"] = {\n\t\tinput,\n\t\toutput: outputTokens,\n\t\tcacheRead: cacheReadTokens,\n\t\tcacheWrite: cacheWriteTokens,\n\t\treasoning: rawUsage.completion_tokens_details?.reasoning_tokens || 0,\n\t\ttotalTokens: input + outputTokens + cacheReadTokens + cacheWriteTokens,\n\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t};\n\tcalculateCost(model, usage);\n\treturn usage;\n}\n\nfunction mapStopReason(reason: ChatCompletionChunk.Choice[\"finish_reason\"] | string): {\n\tstopReason: StopReason;\n\terrorMessage?: string;\n} {\n\tif (reason === null) return { stopReason: \"stop\" };\n\tswitch (reason) {\n\t\tcase \"stop\":\n\t\tcase \"end\":\n\t\t\treturn { stopReason: \"stop\" };\n\t\tcase \"length\":\n\t\t\treturn { stopReason: \"length\" };\n\t\tcase \"function_call\":\n\t\tcase \"tool_calls\":\n\t\t\treturn { stopReason: \"toolUse\" };\n\t\tcase \"content_filter\":\n\t\t\treturn { stopReason: \"error\", errorMessage: \"Provider finish_reason: content_filter\" };\n\t\tcase \"network_error\":\n\t\t\treturn { stopReason: \"error\", errorMessage: \"Provider finish_reason: network_error\" };\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tstopReason: \"error\",\n\t\t\t\terrorMessage: `Provider finish_reason: ${reason}`,\n\t\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"openai-completions.js","sourceRoot":"","sources":["../../src/api/openai-completions.ts"],"names":[],"mappings":"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","sourcesContent":["import OpenAI from \"openai\";\nimport type {\n\tChatCompletionAssistantMessageParam,\n\tChatCompletionChunk,\n\tChatCompletionContentPart,\n\tChatCompletionContentPartImage,\n\tChatCompletionContentPartText,\n\tChatCompletionDeveloperMessageParam,\n\tChatCompletionMessageParam,\n\tChatCompletionMessageToolCall,\n\tChatCompletionSystemMessageParam,\n\tChatCompletionToolMessageParam,\n} from \"openai/resources/chat/completions.js\";\nimport type { FunctionParameters } from \"openai/resources/shared.js\";\nimport { calculateCost, clampThinkingLevel, supportsMax, supportsXhigh } from \"../models.ts\";\nimport type {\n\tAssistantMessage,\n\tCacheRetention,\n\tChatTemplateKwargValue,\n\tContext,\n\tImageContent,\n\tMessage,\n\tModel,\n\tOpenAICompletionsCompat,\n\tProviderEnv,\n\tProviderHeaders,\n\tSimpleStreamOptions,\n\tStopReason,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingBudgets,\n\tThinkingContent,\n\tThinkingTokenBudgetField,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.ts\";\nimport { formatProviderError, normalizeProviderError } from \"../utils/error-body.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport { shortHash } from \"../utils/hash.ts\";\nimport { headersToRecord } from \"../utils/headers.ts\";\nimport { parseStreamingJson } from \"../utils/json-parse.ts\";\nimport { forcePiUserAgent } from \"../utils/pi-user-agent.ts\";\nimport {\n\tgetOpenAICompletionsCompat as getCompat,\n\ttype ResolvedOpenAICompletionsCompat,\n} from \"../utils/prompt-cache-ttl.ts\";\nimport { getProviderEnvValue } from \"../utils/provider-env.ts\";\nimport { retryProviderStreamRequest } from \"../utils/provider-retry.ts\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.ts\";\nimport { isForcedToolChoiceUnsupportedError, omitToolChoiceParam } from \"../utils/tool-choice-fallback.ts\";\nimport {\n\tnormalizeToolParametersForMoonshot,\n\tnormalizeToolParametersForOpenAICompat,\n} from \"../utils/tool-schema-compat.ts\";\nimport {\n\tappendGrammarToolInputJsonDelta,\n\tcreateGrammarToolInputProperties,\n\ttype GrammarToolInputJsonBuffer,\n\tgetGrammarToolInput,\n\tgetJsonSchemaToolParameters,\n\tresolveGrammarConstrainedSampling,\n\tresolveJsonSchemaStrictSampling,\n} from \"./constrained-sampling.ts\";\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.ts\";\nimport { resolveOpenAIClientAuth } from \"./openai-client-auth.ts\";\nimport { clampOpenAIPromptCacheKey } from \"./openai-prompt-cache.ts\";\nimport {\n\tapplyExtraBody,\n\tbuildBaseOptions,\n\tclampMaxForOpenAI,\n\tclampThinkingBudgetToAnswerRoom,\n\tOPENAI_COMPLETIONS_RESERVED_BODY_KEYS,\n\tthinkingBudgetForLevel,\n} from \"./simple-options.ts\";\nimport { transformMessages } from \"./transform-messages.ts\";\n\nexport {\n\tgetOpenAICompletionsCompat as getCompat,\n\ttype ResolvedOpenAICompletionsCompat,\n} from \"../utils/prompt-cache-ttl.ts\";\n\ntype ChatCompletionChoiceWithUsage = ChatCompletionChunk.Choice & {\n\tusage?: Parameters<typeof parseChunkUsage>[0];\n};\ntype OpenAICompletionsRequestParams = Omit<\n\tOpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming,\n\t\"max_tokens\" | \"reasoning_effort\"\n> & {\n\tmax_tokens?: number | null;\n\ttool_stream?: boolean;\n\tenable_thinking?: boolean;\n\tchat_template_kwargs?: { enable_thinking: boolean; preserve_thinking: boolean };\n\tthinking?: { type: \"enabled\" | \"disabled\" } | string;\n\treasoning_effort?: string;\n\tprovider?: OpenAICompletionsCompat[\"openRouterRouting\"];\n\tproviderOptions?: { gateway: Record<string, string[]> };\n\tsession_id?: string;\n};\n\ntype ReasoningEffort = NonNullable<OpenAICompletionsOptions[\"reasoningEffort\"]>;\ntype ThinkingLevelMap = NonNullable<Model<\"openai-completions\">[\"thinkingLevelMap\"]>;\n\nconst KIMI_K3_THINKING_LEVEL_MAP = {\n\toff: null,\n\tminimal: null,\n\tlow: \"low\",\n\tmedium: null,\n\thigh: \"high\",\n\txhigh: null,\n\tmax: \"max\",\n} satisfies ThinkingLevelMap;\n\nconst DEEPSEEK_THINKING_LEVEL_MAP = {\n\tminimal: \"high\",\n\tlow: \"high\",\n\tmedium: \"high\",\n\thigh: \"high\",\n\txhigh: \"max\",\n\tmax: \"max\",\n} satisfies ThinkingLevelMap;\n\nconst OPENROUTER_DEEPSEEK_THINKING_LEVEL_MAP = {\n\tminimal: \"high\",\n\tlow: \"high\",\n\tmedium: \"high\",\n\thigh: \"high\",\n\txhigh: \"high\",\n\tmax: \"high\",\n} satisfies ThinkingLevelMap;\n\nconst MIMO_THINKING_LEVEL_MAP = {\n\tminimal: \"low\",\n\tlow: \"low\",\n\tmedium: \"medium\",\n\thigh: \"high\",\n\txhigh: \"high\",\n\tmax: null,\n} satisfies ThinkingLevelMap;\n\nconst OLLAMA_THINKING_LEVEL_MAP = {\n\toff: \"none\",\n\tminimal: null,\n\tlow: \"low\",\n\tmedium: \"medium\",\n\thigh: \"high\",\n\txhigh: null,\n\tmax: \"high\",\n} satisfies ThinkingLevelMap;\n\nfunction getThinkingLevelMap(\n\tmodel: Model<\"openai-completions\">,\n\tcompat: ResolvedOpenAICompletionsCompat,\n): ThinkingLevelMap | undefined {\n\tif (model.thinkingLevelMap !== undefined) {\n\t\treturn model.thinkingLevelMap;\n\t}\n\n\tconst id = model.id.toLowerCase();\n\tconst isKimiK3 = id === \"k3\" || id.startsWith(\"k3-\") || /(?:^|[/:-])kimi-k3(?:$|[/.:_-])/.test(id);\n\tconst isDeepSeek = id.includes(\"deepseek\");\n\tconst isMiMo = /\\bmimo\\b/.test(id);\n\tconst isGlm5x = /(?:^|[/:-])glm-5\\.[23](?:$|[/.:_-])/.test(id);\n\n\tif (model.provider === \"ollama\") {\n\t\treturn OLLAMA_THINKING_LEVEL_MAP;\n\t}\n\tif (isKimiK3) {\n\t\treturn KIMI_K3_THINKING_LEVEL_MAP;\n\t}\n\tif (compat.thinkingFormat === \"openrouter\" && isDeepSeek) {\n\t\treturn OPENROUTER_DEEPSEEK_THINKING_LEVEL_MAP;\n\t}\n\tif ((compat.thinkingFormat === \"openai\" || compat.thinkingFormat === \"openrouter\") && isMiMo) {\n\t\treturn MIMO_THINKING_LEVEL_MAP;\n\t}\n\tif (isDeepSeek) {\n\t\treturn DEEPSEEK_THINKING_LEVEL_MAP;\n\t}\n\tif (isGlm5x) {\n\t\tif (compat.thinkingFormat === \"zai\") {\n\t\t\treturn DEEPSEEK_THINKING_LEVEL_MAP;\n\t\t}\n\t\tif (compat.thinkingFormat === \"openrouter\") {\n\t\t\treturn { xhigh: \"xhigh\" };\n\t\t}\n\t\treturn { max: \"max\" };\n\t}\n\n\treturn undefined;\n}\n\nfunction resolveReasoningEffort(\n\tthinkingLevelMap: ThinkingLevelMap | undefined,\n\teffort: ReasoningEffort,\n): string | undefined {\n\tconst mapped = thinkingLevelMap?.[effort];\n\treturn mapped === undefined ? effort : typeof mapped === \"string\" ? mapped : undefined;\n}\n\n/**\n * Check if conversation messages contain tool calls or tool results.\n * This is needed because Anthropic (via proxy) requires the tools param\n * to be present when messages include tool_calls or tool role messages.\n */\nfunction hasToolHistory(messages: Message[]): boolean {\n\tfor (const msg of messages) {\n\t\tif (msg.role === \"toolResult\") {\n\t\t\treturn true;\n\t\t}\n\t\tif (msg.role === \"assistant\") {\n\t\t\tif (msg.content.some((block) => block.type === \"toolCall\")) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction getDeferredToolNames(messages: Message[]): Set<string> {\n\tconst names = new Set<string>();\n\tfor (const message of messages) {\n\t\tif (message.role === \"toolResult\") {\n\t\t\tfor (const name of message.addedToolNames ?? []) {\n\t\t\t\tnames.add(name);\n\t\t\t}\n\t\t}\n\t}\n\treturn names;\n}\n\nfunction getToolsByName(tools: Tool[] | undefined, names: Iterable<string>): Tool[] {\n\tif (!tools) return [];\n\tconst toolsByName = new Map(tools.map((tool) => [tool.name, tool]));\n\treturn Array.from(names)\n\t\t.map((name) => toolsByName.get(name))\n\t\t.filter((tool): tool is Tool => tool !== undefined);\n}\n\nfunction isTextContentBlock(block: { type: string }): block is TextContent {\n\treturn block.type === \"text\";\n}\n\nfunction isThinkingContentBlock(block: { type: string }): block is ThinkingContent {\n\treturn block.type === \"thinking\";\n}\n\nfunction isToolCallBlock(block: { type: string }): block is ToolCall {\n\treturn block.type === \"toolCall\";\n}\n\nfunction isImageContentBlock(block: { type: string }): block is ImageContent {\n\treturn block.type === \"image\";\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null;\n}\n\nfunction getOpenRouterRawMetadata(error: unknown): string | undefined {\n\tif (!isRecord(error) || !isRecord(error.error) || !isRecord(error.error.metadata)) return undefined;\n\tconst rawMetadata = error.error.metadata.raw;\n\treturn typeof rawMetadata === \"string\" ? rawMetadata : undefined;\n}\n\nfunction isForcedOpenAICompletionsToolChoice(\n\ttoolChoice: OpenAICompletionsRequestParams[\"tool_choice\"] | undefined,\n): boolean {\n\treturn toolChoice !== undefined && toolChoice !== \"auto\" && toolChoice !== \"none\";\n}\n\nfunction isEncryptedReasoningDetail(detail: unknown): detail is OpenAIEncryptedReasoningDetail {\n\tif (typeof detail !== \"object\" || detail === null) {\n\t\treturn false;\n\t}\n\tconst candidate = detail as Record<string, unknown>;\n\treturn (\n\t\tcandidate.type === \"reasoning.encrypted\" &&\n\t\ttypeof candidate.id === \"string\" &&\n\t\tcandidate.id.length > 0 &&\n\t\ttypeof candidate.data === \"string\" &&\n\t\tcandidate.data.length > 0\n\t);\n}\n\nexport interface OpenAICompletionsOptions extends StreamOptions {\n\ttoolChoice?: OpenAI.Chat.Completions.ChatCompletionToolChoiceOption;\n\treasoningEffort?: \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\n\t/** Token budgets per thinking level. Used when `compat.thinkingTokenBudgetField` or `compat.supportsThinkingTokenBudget` is set, or by `{ \"$var\": \"thinking.budget\" }`. */\n\tthinkingBudgets?: ThinkingBudgets;\n}\n\nexport interface ConvertCompletionsMessagesOptions {\n\tpreserveThinking?: boolean;\n\tgrammarToolInputProperties?: ReadonlyMap<string, string>;\n}\n\ninterface OpenAICompatCacheControl {\n\ttype: \"ephemeral\";\n\tttl?: string;\n}\n\ntype ResolvedChatTemplateKwargValue = string | number | boolean | null;\n\ntype ChatCompletionInstructionMessageParam = ChatCompletionDeveloperMessageParam | ChatCompletionSystemMessageParam;\n\ntype KimiToolSystemMessageParam = {\n\trole: \"system\";\n\ttools: OpenAI.Chat.Completions.ChatCompletionTool[];\n};\n\ntype OpenAIEncryptedReasoningDetail = {\n\ttype: \"reasoning.encrypted\";\n\tid: string;\n\tdata: string;\n};\n\ntype ChatCompletionTextPartWithCacheControl = ChatCompletionContentPartText & {\n\tcache_control?: OpenAICompatCacheControl;\n};\n\ntype ChatCompletionToolWithCacheControl = OpenAI.Chat.Completions.ChatCompletionTool & {\n\tcache_control?: OpenAICompatCacheControl;\n};\n\nfunction resolveCacheRetention(cacheRetention?: CacheRetention, env?: ProviderEnv): CacheRetention {\n\tif (cacheRetention) {\n\t\treturn cacheRetention;\n\t}\n\tif (getProviderEnvValue(\"PI_CACHE_RETENTION\", env) === \"long\") {\n\t\treturn \"long\";\n\t}\n\treturn \"short\";\n}\n\nexport const stream: StreamFunction<\"openai-completions\", OpenAICompletionsOptions> = (\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\toptions?: OpenAICompletionsOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"pending\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tconst clientAuth = resolveOpenAIClientAuth(model.provider, options?.apiKey, options?.headers);\n\t\t\tconst compat = getCompat(model);\n\t\t\tconst grammarToolInputProperties = createGrammarToolInputProperties(\n\t\t\t\tcontext.tools,\n\t\t\t\tcompat.supportsOpenAIGrammarTools,\n\t\t\t);\n\t\t\tconst cacheRetention = resolveCacheRetention(options?.cacheRetention ?? model.cacheRetention, options?.env);\n\t\t\tconst cacheSessionId = cacheRetention === \"none\" ? undefined : options?.sessionId;\n\t\t\tconst client = createClient(\n\t\t\t\tmodel,\n\t\t\t\tcontext,\n\t\t\t\tclientAuth.apiKey,\n\t\t\t\tclientAuth.headers,\n\t\t\t\toptions?.fetch,\n\t\t\t\tcacheSessionId,\n\t\t\t\tcompat,\n\t\t\t);\n\t\t\tlet params = buildParams(model, context, options, compat, cacheRetention, grammarToolInputProperties);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as OpenAICompletionsRequestParams;\n\t\t\t}\n\t\t\tparams = normalizeRequestToolSchemas(params, compat);\n\t\t\tconst requestOptions = {\n\t\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\t\tmaxRetries: 0,\n\t\t\t};\n\t\t\tconst createChatCompletion = client.chat.completions.create.bind(client.chat.completions) as (\n\t\t\t\tbody: OpenAICompletionsRequestParams,\n\t\t\t\trequestConfig: typeof requestOptions,\n\t\t\t) => { withResponse(): Promise<{ data: AsyncIterable<ChatCompletionChunk>; response: Response }> };\n\t\t\tconst createStream = (body: OpenAICompletionsRequestParams) =>\n\t\t\t\tcreateChatCompletion(body, requestOptions).withResponse();\n\t\t\tconst createRequest = async () => {\n\t\t\t\ttry {\n\t\t\t\t\treturn await createStream(params);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (isForcedToolChoiceUnsupportedError(error, isForcedOpenAICompletionsToolChoice(params.tool_choice))) {\n\t\t\t\t\t\tparams = omitToolChoiceParam(params);\n\t\t\t\t\t\treturn createStream(params);\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst { stream: openaiStream } = await retryProviderStreamRequest(\n\t\t\t\tasync () => {\n\t\t\t\t\tconst { data, response } = await createRequest();\n\t\t\t\t\tawait options?.onResponse?.(\n\t\t\t\t\t\t{ status: response.status, headers: headersToRecord(response.headers) },\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t);\n\t\t\t\t\treturn { stream: data, metadata: response };\n\t\t\t\t},\n\t\t\t\t{ maxRetries: options?.maxRetries, maxRetryDelayMs: options?.maxRetryDelayMs, signal: options?.signal },\n\t\t\t);\n\t\t\tstream.push({ type: \"start\", partial: output });\n\n\t\t\tinterface StreamingToolCallBlock extends ToolCall {\n\t\t\t\tpartialArgs?: string;\n\t\t\t\tcustomInput?: {\n\t\t\t\t\tproperty: string;\n\t\t\t\t\tjsonBuffer: GrammarToolInputJsonBuffer;\n\t\t\t\t};\n\t\t\t\tstreamIndex?: number;\n\t\t\t}\n\t\t\ttype StreamingBlock = TextContent | ThinkingContent | StreamingToolCallBlock;\n\t\t\ttype StreamingToolCallDelta = {\n\t\t\t\tindex?: number;\n\t\t\t\tid?: string;\n\t\t\t\ttype?: string;\n\t\t\t\tfunction?: { name?: string; arguments?: string };\n\t\t\t\tcustom?: { name?: string; input?: string };\n\t\t\t};\n\n\t\t\tlet textBlock: TextContent | null = null;\n\t\t\tlet thinkingBlock: ThinkingContent | null = null;\n\t\t\tlet activeBlock: StreamingBlock | null = null;\n\t\t\tlet deferMixedEvents = false;\n\t\t\tlet hasFinishReason = false;\n\t\t\tconst deferredTextDeltas: string[] = [];\n\t\t\tconst deferredThinkingDeltas: string[] = [];\n\t\t\tconst deferredToolCallDeltas = new Map<StreamingToolCallBlock, string[]>();\n\t\t\tconst toolCallBlocksByIndex = new Map<number, StreamingToolCallBlock>();\n\t\t\tconst toolCallBlocksById = new Map<string, StreamingToolCallBlock>();\n\t\t\tconst pendingReasoningDetailsByToolCallId = new Map<string, string>();\n\t\t\tconst blocks = output.content as StreamingBlock[];\n\t\t\tconst getContentIndex = (block: StreamingBlock) => blocks.indexOf(block);\n\t\t\tconst getCustomToolCallInput = (block: StreamingToolCallBlock): string => {\n\t\t\t\tconst property = block.customInput?.property;\n\t\t\t\tif (property === undefined) return \"\";\n\t\t\t\tconst value = block.arguments[property];\n\t\t\t\treturn typeof value === \"string\" ? value : \"\";\n\t\t\t};\n\t\t\tconst appendCustomToolCallInput = (\n\t\t\t\tblock: StreamingToolCallBlock,\n\t\t\t\tnextInput: string,\n\t\t\t\tclose: boolean,\n\t\t\t): string | undefined => {\n\t\t\t\tconst customInput = block.customInput;\n\t\t\t\tif (!customInput) return undefined;\n\t\t\t\tconst delta = appendGrammarToolInputJsonDelta(\n\t\t\t\t\tcustomInput.jsonBuffer,\n\t\t\t\t\tcustomInput.property,\n\t\t\t\t\tnextInput,\n\t\t\t\t\tclose,\n\t\t\t\t);\n\t\t\t\tblock.arguments = { [customInput.property]: nextInput };\n\t\t\t\treturn delta;\n\t\t\t};\n\t\t\tconst finishBlock = (block: StreamingBlock) => {\n\t\t\t\tconst contentIndex = getContentIndex(block);\n\t\t\t\tif (contentIndex === -1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\tcontent: block.text,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\tcontent: block.thinking,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\tif (block.customInput) {\n\t\t\t\t\t\tconst delta = appendCustomToolCallInput(block, getCustomToolCallInput(block), true);\n\t\t\t\t\t\tif (delta !== undefined) {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\t\t\tdelta,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialArgs);\n\t\t\t\t\t}\n\t\t\t\t\t// Finalize in-place and strip the scratch buffers so replay only\n\t\t\t\t\t// carries parsed arguments.\n\t\t\t\t\tdelete block.partialArgs;\n\t\t\t\t\tdelete block.customInput;\n\t\t\t\t\tdelete block.streamIndex;\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\t\tcontentIndex,\n\t\t\t\t\t\ttoolCall: block,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst finishActiveBlock = () => {\n\t\t\t\tif (!activeBlock) return;\n\t\t\t\tfinishBlock(activeBlock);\n\t\t\t\tactiveBlock = null;\n\t\t\t};\n\t\t\tconst ensureTextBlock = () => {\n\t\t\t\tif (!textBlock) {\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tfinishActiveBlock();\n\t\t\t\t\t\tthinkingBlock = null;\n\t\t\t\t\t}\n\t\t\t\t\ttextBlock = { type: \"text\", text: \"\" };\n\t\t\t\t\tblocks.push(textBlock);\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tactiveBlock = textBlock;\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: getContentIndex(textBlock), partial: output });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn textBlock;\n\t\t\t};\n\t\t\tconst ensureThinkingBlock = (thinkingSignature: string) => {\n\t\t\t\tif (!thinkingBlock) {\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tfinishActiveBlock();\n\t\t\t\t\t\ttextBlock = null;\n\t\t\t\t\t}\n\t\t\t\t\tthinkingBlock = {\n\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\tthinking: \"\",\n\t\t\t\t\t\tthinkingSignature,\n\t\t\t\t\t};\n\t\t\t\t\tblocks.push(thinkingBlock);\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tactiveBlock = thinkingBlock;\n\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\ttype: \"thinking_start\",\n\t\t\t\t\t\t\tcontentIndex: getContentIndex(thinkingBlock),\n\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn thinkingBlock;\n\t\t\t};\n\t\t\tconst applyPendingReasoningDetail = (block: StreamingToolCallBlock) => {\n\t\t\t\tif (!block.id) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst pendingReasoningDetail = pendingReasoningDetailsByToolCallId.get(block.id);\n\t\t\t\tif (pendingReasoningDetail) {\n\t\t\t\t\tblock.thoughtSignature = pendingReasoningDetail;\n\t\t\t\t\tpendingReasoningDetailsByToolCallId.delete(block.id);\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst ensureToolCallBlock = (toolCall: StreamingToolCallDelta) => {\n\t\t\t\tconst streamIndex = typeof toolCall.index === \"number\" ? toolCall.index : undefined;\n\t\t\t\tconst name = toolCall.function?.name ?? toolCall.custom?.name ?? \"\";\n\t\t\t\tlet block = streamIndex !== undefined ? toolCallBlocksByIndex.get(streamIndex) : undefined;\n\t\t\t\tif (!block && toolCall.id) {\n\t\t\t\t\tblock = toolCallBlocksById.get(toolCall.id);\n\t\t\t\t}\n\t\t\t\tif (!block) {\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tfinishActiveBlock();\n\t\t\t\t\t\ttextBlock = null;\n\t\t\t\t\t\tthinkingBlock = null;\n\t\t\t\t\t}\n\t\t\t\t\t// Note: the \"input\" fallback here should/must not be taken. in case the LLM makes up\n\t\t\t\t\t// a tool we don't knwo about, we at least have a place to stash our stuff.\n\t\t\t\t\tconst customInputProperty =\n\t\t\t\t\t\ttoolCall.custom && !toolCall.function ? (grammarToolInputProperties.get(name) ?? \"input\") : undefined;\n\t\t\t\t\tconst hasCustomInput = customInputProperty !== undefined;\n\t\t\t\t\tblock = {\n\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\tid: toolCall.id || \"\",\n\t\t\t\t\t\tname,\n\t\t\t\t\t\targuments: hasCustomInput ? { [customInputProperty]: \"\" } : {},\n\t\t\t\t\t\tpartialArgs: hasCustomInput ? undefined : \"\",\n\t\t\t\t\t\tcustomInput: hasCustomInput\n\t\t\t\t\t\t\t? { property: customInputProperty, jsonBuffer: { input: \"\", started: false, closed: false } }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tstreamIndex,\n\t\t\t\t\t};\n\t\t\t\t\tif (streamIndex !== undefined) {\n\t\t\t\t\t\ttoolCallBlocksByIndex.set(streamIndex, block);\n\t\t\t\t\t}\n\t\t\t\t\tif (toolCall.id) {\n\t\t\t\t\t\ttoolCallBlocksById.set(toolCall.id, block);\n\t\t\t\t\t}\n\t\t\t\t\tblocks.push(block);\n\t\t\t\t\tif (!deferMixedEvents) {\n\t\t\t\t\t\tactiveBlock = block;\n\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\ttype: \"toolcall_start\",\n\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (streamIndex !== undefined && block.streamIndex === undefined) {\n\t\t\t\t\tblock.streamIndex = streamIndex;\n\t\t\t\t\ttoolCallBlocksByIndex.set(streamIndex, block);\n\t\t\t\t}\n\t\t\t\tif (toolCall.id) {\n\t\t\t\t\ttoolCallBlocksById.set(toolCall.id, block);\n\t\t\t\t}\n\t\t\t\tif (!block.name && name) {\n\t\t\t\t\tblock.name = name;\n\t\t\t\t}\n\t\t\t\tif (toolCall.custom && !toolCall.function && !block.customInput) {\n\t\t\t\t\tconst customInputProperty = grammarToolInputProperties.get(block.name) ?? \"input\";\n\t\t\t\t\tblock.arguments = { [customInputProperty]: \"\" };\n\t\t\t\t\tblock.customInput = {\n\t\t\t\t\t\tproperty: customInputProperty,\n\t\t\t\t\t\tjsonBuffer: { input: \"\", started: false, closed: false },\n\t\t\t\t\t};\n\t\t\t\t\tdelete block.partialArgs;\n\t\t\t\t}\n\t\t\t\tapplyPendingReasoningDetail(block);\n\t\t\t\treturn block;\n\t\t\t};\n\t\t\tconst flushDeferredBlocks = () => {\n\t\t\t\tfor (const block of blocks) {\n\t\t\t\t\tconst contentIndex = getContentIndex(block);\n\t\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex, partial: output });\n\t\t\t\t\t\tfor (const delta of deferredTextDeltas) {\n\t\t\t\t\t\t\tstream.push({ type: \"text_delta\", contentIndex, delta, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex, partial: output });\n\t\t\t\t\t\tfor (const delta of deferredThinkingDeltas) {\n\t\t\t\t\t\t\tstream.push({ type: \"thinking_delta\", contentIndex, delta, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex, partial: output });\n\t\t\t\t\t\tfor (const delta of deferredToolCallDeltas.get(block) ?? []) {\n\t\t\t\t\t\t\tstream.push({ type: \"toolcall_delta\", contentIndex, delta, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfinishBlock(block);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor await (const chunk of openaiStream) {\n\t\t\t\tif (!chunk || typeof chunk !== \"object\") continue;\n\n\t\t\t\t// OpenAI documents ChatCompletionChunk.id as the unique chat completion identifier,\n\t\t\t\t// and each chunk in a streamed completion carries the same id.\n\t\t\t\toutput.responseId ||= chunk.id;\n\t\t\t\tif (typeof chunk.model === \"string\" && chunk.model.length > 0 && chunk.model !== model.id) {\n\t\t\t\t\toutput.responseModel ||= chunk.model;\n\t\t\t\t}\n\t\t\t\tif (chunk.usage) {\n\t\t\t\t\toutput.usage = parseChunkUsage(chunk.usage, model);\n\t\t\t\t}\n\n\t\t\t\tconst choice = Array.isArray(chunk.choices) ? chunk.choices[0] : undefined;\n\t\t\t\tif (!choice) continue;\n\n\t\t\t\t// Fallback: some providers (e.g., Moonshot) return usage\n\t\t\t\t// in choice.usage instead of the standard chunk.usage\n\t\t\t\tconst choiceUsage = (choice as ChatCompletionChoiceWithUsage).usage;\n\t\t\t\tif (!chunk.usage && choiceUsage) {\n\t\t\t\t\toutput.usage = parseChunkUsage(choiceUsage, model);\n\t\t\t\t}\n\n\t\t\t\tif (choice.finish_reason) {\n\t\t\t\t\toutput.rawStopReason = choice.finish_reason;\n\t\t\t\t\tconst finishReasonResult = mapStopReason(choice.finish_reason);\n\t\t\t\t\toutput.stopReason = finishReasonResult.stopReason;\n\t\t\t\t\tif (finishReasonResult.errorMessage) {\n\t\t\t\t\t\toutput.errorMessage = finishReasonResult.errorMessage;\n\t\t\t\t\t}\n\t\t\t\t\thasFinishReason = true;\n\t\t\t\t}\n\n\t\t\t\tif (choice.delta) {\n\t\t\t\t\tconst contentDelta =\n\t\t\t\t\t\ttypeof choice.delta.content === \"string\" && choice.delta.content.length > 0\n\t\t\t\t\t\t\t? choice.delta.content\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tconst reasoningFields = [\"reasoning_content\", \"reasoning\", \"reasoning_text\"];\n\t\t\t\t\tconst deltaFields = choice.delta as Record<string, unknown>;\n\t\t\t\t\tlet foundReasoningField: string | null = null;\n\t\t\t\t\tfor (const field of reasoningFields) {\n\t\t\t\t\t\tconst value = deltaFields[field];\n\t\t\t\t\t\tif (typeof value === \"string\" && value.length > 0) {\n\t\t\t\t\t\t\tfoundReasoningField = field;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (blocks.length === 0 && contentDelta && foundReasoningField) {\n\t\t\t\t\t\tdeferMixedEvents = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (contentDelta) {\n\t\t\t\t\t\tconst block = ensureTextBlock();\n\t\t\t\t\t\tblock.text += contentDelta;\n\t\t\t\t\t\tif (deferMixedEvents) {\n\t\t\t\t\t\t\tdeferredTextDeltas.push(contentDelta);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\t\tdelta: contentDelta,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Some endpoints return reasoning in reasoning_content (llama.cpp),\n\t\t\t\t\t// or reasoning (other openai compatible endpoints)\n\t\t\t\t\t// Use the first non-empty reasoning field to avoid duplication\n\t\t\t\t\t// (e.g., chutes.ai returns both reasoning_content and reasoning with same content)\n\t\t\t\t\tif (foundReasoningField) {\n\t\t\t\t\t\tconst delta = deltaFields[foundReasoningField];\n\t\t\t\t\t\tif (typeof delta === \"string\" && delta.length > 0) {\n\t\t\t\t\t\t\tconst thinkingSignature =\n\t\t\t\t\t\t\t\tmodel.provider === \"opencode-go\" && foundReasoningField === \"reasoning\"\n\t\t\t\t\t\t\t\t\t? \"reasoning_content\"\n\t\t\t\t\t\t\t\t\t: foundReasoningField;\n\t\t\t\t\t\t\tconst block = ensureThinkingBlock(thinkingSignature);\n\t\t\t\t\t\t\tblock.thinking += delta;\n\t\t\t\t\t\t\tif (deferMixedEvents) {\n\t\t\t\t\t\t\t\tdeferredThinkingDeltas.push(delta);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\t\t\tdelta,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (choice?.delta?.tool_calls) {\n\t\t\t\t\t\tfor (const toolCall of choice.delta.tool_calls as StreamingToolCallDelta[]) {\n\t\t\t\t\t\t\tconst block = ensureToolCallBlock(toolCall);\n\t\t\t\t\t\t\tif (!block.id && toolCall.id) {\n\t\t\t\t\t\t\t\tblock.id = toolCall.id;\n\t\t\t\t\t\t\t\ttoolCallBlocksById.set(toolCall.id, block);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst name = toolCall.function?.name ?? toolCall.custom?.name;\n\t\t\t\t\t\t\tif (!block.name && name) {\n\t\t\t\t\t\t\t\tblock.name = name;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet delta = \"\";\n\t\t\t\t\t\t\tif (toolCall.function?.arguments) {\n\t\t\t\t\t\t\t\tdelta = toolCall.function.arguments;\n\t\t\t\t\t\t\t\tblock.partialArgs = (block.partialArgs ?? \"\") + toolCall.function.arguments;\n\t\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialArgs);\n\t\t\t\t\t\t\t} else if (toolCall.custom?.input) {\n\t\t\t\t\t\t\t\tconst nextInput = getCustomToolCallInput(block) + toolCall.custom.input;\n\t\t\t\t\t\t\t\tdelta = appendCustomToolCallInput(block, nextInput, false) ?? \"\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (deferMixedEvents) {\n\t\t\t\t\t\t\t\tconst deltas = deferredToolCallDeltas.get(block) ?? [];\n\t\t\t\t\t\t\t\tdeltas.push(delta);\n\t\t\t\t\t\t\t\tdeferredToolCallDeltas.set(block, deltas);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: getContentIndex(block),\n\t\t\t\t\t\t\t\t\tdelta,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst reasoningDetails = (choice.delta as { reasoning_details?: unknown }).reasoning_details;\n\t\t\t\t\tif (Array.isArray(reasoningDetails)) {\n\t\t\t\t\t\tfor (const detail of reasoningDetails) {\n\t\t\t\t\t\t\tif (isEncryptedReasoningDetail(detail)) {\n\t\t\t\t\t\t\t\tconst serializedDetail = JSON.stringify(detail);\n\t\t\t\t\t\t\t\tconst matchingToolCall = toolCallBlocksById.get(detail.id);\n\t\t\t\t\t\t\t\tif (matchingToolCall) {\n\t\t\t\t\t\t\t\t\tmatchingToolCall.thoughtSignature = serializedDetail;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tpendingReasoningDetailsByToolCallId.set(detail.id, serializedDetail);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (deferMixedEvents) flushDeferredBlocks();\n\t\t\telse finishActiveBlock();\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"aborted\") {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\t\t\tif (!hasFinishReason && !compat.supportsFinishReason) {\n\t\t\t\toutput.stopReason = output.content.some((block) => block.type === \"toolCall\") ? \"toolUse\" : \"stop\";\n\t\t\t}\n\t\t\tif (output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(output.errorMessage || \"Provider returned an error stop reason\");\n\t\t\t}\n\t\t\tif ((compat.supportsFinishReason && !hasFinishReason) || output.stopReason === \"pending\") {\n\t\t\t\tthrow new Error(\"Stream ended without finish_reason\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tfor (const block of output.content) {\n\t\t\t\tdelete (block as { index?: number }).index;\n\t\t\t\t// Streaming scratch buffers are only used during parsing; never persist them.\n\t\t\t\tdelete (block as { partialArgs?: string }).partialArgs;\n\t\t\t\tdelete (block as { customInput?: unknown }).customInput;\n\t\t\t\tdelete (block as { streamIndex?: number }).streamIndex;\n\t\t\t}\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = formatProviderError(normalizeProviderError(error));\n\t\t\t// Some providers via OpenRouter give additional information in this field.\n\t\t\t// normalizeProviderError already stringifies the parsed body (error.error)\n\t\t\t// into errorMessage, so only append the raw metadata when it is not already\n\t\t\t// present to avoid double-printing it.\n\t\t\tconst rawMetadata = getOpenRouterRawMetadata(error);\n\t\t\tif (rawMetadata && !output.errorMessage.includes(String(rawMetadata))) {\n\t\t\t\toutput.errorMessage += `\\n${rawMetadata}`;\n\t\t\t}\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\nexport const streamSimple: StreamFunction<\"openai-completions\", SimpleStreamOptions> = (\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tresolveOpenAIClientAuth(model.provider, options?.apiKey, options?.headers);\n\n\tconst base = {\n\t\t...buildBaseOptions(model, context, options, options?.apiKey),\n\t\t// Adapter-native callers may pass the richer OpenAI tool_choice shape; the\n\t\t// provider-neutral SimpleStreamOptions value is the fallback.\n\t\ttoolChoice: (options as OpenAICompletionsOptions | undefined)?.toolChoice ?? options?.toolChoice,\n\t} satisfies OpenAICompletionsOptions;\n\tconst compat = getCompat(model);\n\tconst thinkingLevelMap = getThinkingLevelMap(model, compat);\n\tconst thinkingModel = thinkingLevelMap === model.thinkingLevelMap ? model : { ...model, thinkingLevelMap };\n\tconst clampedReasoning = options?.reasoning ? clampThinkingLevel(thinkingModel, options.reasoning) : undefined;\n\tconst reasoningEffort =\n\t\tclampedReasoning === \"off\"\n\t\t\t? undefined\n\t\t\t: clampedReasoning === \"max\" && supportsMax(thinkingModel)\n\t\t\t\t? \"max\"\n\t\t\t\t: clampMaxForOpenAI(clampedReasoning, supportsXhigh(thinkingModel));\n\n\treturn stream(model, context, {\n\t\t...base,\n\t\treasoningEffort,\n\t\tthinkingBudgets: options?.thinkingBudgets,\n\t} satisfies OpenAICompletionsOptions);\n};\n\nfunction createClient(\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\tapiKey: string,\n\toptionsHeaders?: ProviderHeaders,\n\tfetch?: typeof globalThis.fetch,\n\tsessionId?: string,\n\tcompat: ResolvedOpenAICompletionsCompat = getCompat(model),\n) {\n\tconst headers: ProviderHeaders = { ...model.headers };\n\tif (model.provider === \"github-copilot\") {\n\t\tconst hasImages = hasCopilotVisionInput(context.messages);\n\t\tconst copilotHeaders = buildCopilotDynamicHeaders({\n\t\t\tmessages: context.messages,\n\t\t\thasImages,\n\t\t});\n\t\tObject.assign(headers, copilotHeaders);\n\t}\n\n\tif (sessionId && compat.sendSessionAffinityHeaders) {\n\t\tif (compat.sessionAffinityFormat === \"openrouter\") {\n\t\t\theaders[\"x-session-id\"] = sessionId;\n\t\t} else {\n\t\t\tif (compat.sessionAffinityFormat === \"openai\") {\n\t\t\t\theaders.session_id = sessionId;\n\t\t\t}\n\t\t\theaders[\"x-client-request-id\"] = sessionId;\n\t\t\theaders[\"x-session-affinity\"] = sessionId;\n\t\t}\n\t}\n\n\t// Merge options headers last so they can override defaults\n\tif (optionsHeaders) {\n\t\tObject.assign(headers, optionsHeaders);\n\t}\n\n\tif (model.provider === \"xai\") {\n\t\tforcePiUserAgent(headers);\n\t}\n\n\treturn new OpenAI({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tfetch,\n\t\tdefaultHeaders: headers,\n\t});\n}\n\nfunction buildParams(\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\toptions?: OpenAICompletionsOptions,\n\tcompat: ResolvedOpenAICompletionsCompat = getCompat(model),\n\tcacheRetention: CacheRetention = resolveCacheRetention(\n\t\toptions?.cacheRetention ?? model.cacheRetention,\n\t\toptions?.env,\n\t),\n\tgrammarToolInputProperties: ReadonlyMap<string, string> = createGrammarToolInputProperties(\n\t\tcontext.tools,\n\t\tcompat.supportsOpenAIGrammarTools,\n\t),\n) {\n\tconst messages = convertMessages(model, context, compat, {\n\t\tpreserveThinking: options?.reasoningEffort !== undefined,\n\t\tgrammarToolInputProperties,\n\t});\n\tconst cacheControl = getCompatCacheControl(compat, cacheRetention);\n\tconst thinkingLevelMap = getThinkingLevelMap(model, compat);\n\n\tconst params: OpenAICompletionsRequestParams = {\n\t\tmodel: model.id,\n\t\tmessages,\n\t\tstream: true,\n\t\tprompt_cache_key:\n\t\t\t(model.baseUrl.includes(\"api.openai.com\") && cacheRetention !== \"none\") ||\n\t\t\t(cacheRetention === \"long\" && compat.supportsLongCacheRetention) ||\n\t\t\t(compat.supportsPromptCacheKey && cacheRetention !== \"none\")\n\t\t\t\t? clampOpenAIPromptCacheKey(options?.sessionId)\n\t\t\t\t: undefined,\n\t\tprompt_cache_retention: cacheRetention === \"long\" && compat.supportsLongCacheRetention ? \"24h\" : undefined,\n\t\tsession_id:\n\t\t\tcompat.sendSessionAffinityHeaders && compat.sessionAffinityFormat === \"openrouter\" && cacheRetention !== \"none\"\n\t\t\t\t? options?.sessionId\n\t\t\t\t: undefined,\n\t};\n\n\tif (compat.supportsUsageInStreaming !== false) {\n\t\tparams.stream_options = { include_usage: true };\n\t}\n\n\tif (compat.supportsStore) {\n\t\tparams.store = false;\n\t}\n\n\tif (options?.maxTokens) {\n\t\tif (compat.maxTokensField === \"max_tokens\") {\n\t\t\tparams.max_tokens = options.maxTokens;\n\t\t} else {\n\t\t\tparams.max_completion_tokens = options.maxTokens;\n\t\t}\n\t}\n\n\tif (options?.temperature !== undefined) {\n\t\tparams.temperature = options.temperature;\n\t}\n\n\tconst deferredToolNames =\n\t\tcompat.deferredToolsMode === \"kimi\" ? getDeferredToolNames(context.messages) : new Set<string>();\n\tconst activeTools = context.tools?.filter((tool) => !deferredToolNames.has(tool.name));\n\tif (activeTools && activeTools.length > 0) {\n\t\tparams.tools = convertTools(activeTools, compat);\n\t\tif (compat.zaiToolStream) {\n\t\t\tparams.tool_stream = true;\n\t\t}\n\t} else if (hasToolHistory(context.messages)) {\n\t\t// Anthropic (via LiteLLM/proxy) requires tools param when conversation has tool_calls/tool_results\n\t\tparams.tools = [];\n\t}\n\n\tif (cacheControl) {\n\t\tapplyAnthropicCacheControl(messages, params.tools, cacheControl);\n\t}\n\n\tif (options?.toolChoice) {\n\t\tparams.tool_choice = options.toolChoice;\n\t}\n\n\tconst thinkingTokenBudgetField = resolveThinkingTokenBudgetField(compat);\n\tconst thinkingBudget = resolveClampedThinkingBudget(model, options, params);\n\n\tif (compat.thinkingFormat === \"zai\" && model.reasoning) {\n\t\tconst isGlm53 = /(?:^|[/:-])glm-5\\.3(?:$|[/.:_-])/.test(model.id.toLowerCase());\n\t\tconst zaiParams = params as Omit<typeof params, \"reasoning_effort\"> & {\n\t\t\tthinking?: { type: \"enabled\" | \"disabled\"; clear_thinking?: boolean };\n\t\t\treasoning_effort?: string;\n\t\t};\n\t\tzaiParams.thinking =\n\t\t\toptions?.reasoningEffort || isGlm53 ? { type: \"enabled\", clear_thinking: false } : { type: \"disabled\" };\n\t\tif (options?.reasoningEffort && compat.supportsReasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\tzaiParams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"qwen\" && model.reasoning) {\n\t\tparams.enable_thinking = !!options?.reasoningEffort;\n\t\tif (options?.reasoningEffort && compat.supportsReasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\tparams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"qwen-chat-template\" && model.reasoning) {\n\t\tparams.chat_template_kwargs = {\n\t\t\tenable_thinking: !!options?.reasoningEffort,\n\t\t\tpreserve_thinking: true,\n\t\t};\n\t} else if (compat.thinkingFormat === \"chat-template\" && model.reasoning) {\n\t\tconst chatTemplateKwargs = buildChatTemplateValues(\n\t\t\tmodel,\n\t\t\toptions,\n\t\t\tcompat,\n\t\t\tcompat.chatTemplateKwargs,\n\t\t\tthinkingBudget,\n\t\t);\n\t\tif (chatTemplateKwargs) {\n\t\t\t(params as any).chat_template_kwargs = chatTemplateKwargs;\n\t\t}\n\t} else if (compat.thinkingFormat === \"baseten\" && model.reasoning) {\n\t\tconst basetenParams = params as Omit<typeof params, \"reasoning_effort\"> & {\n\t\t\tchat_template_args?: Record<string, ResolvedChatTemplateKwargValue>;\n\t\t\treasoning_effort?: string;\n\t\t};\n\t\tconst chatTemplateArgs = buildChatTemplateValues(\n\t\t\tmodel,\n\t\t\toptions,\n\t\t\tcompat,\n\t\t\tcompat.chatTemplateArgs ?? {},\n\t\t\tthinkingBudget,\n\t\t);\n\t\tif (chatTemplateArgs) {\n\t\t\tbasetenParams.chat_template_args = chatTemplateArgs;\n\t\t}\n\t\tif (compat.supportsReasoningEffort) {\n\t\t\tconst requestedEffort = options?.reasoningEffort;\n\t\t\tconst mappedEffort = requestedEffort ? model.thinkingLevelMap?.[requestedEffort] : model.thinkingLevelMap?.off;\n\t\t\tconst effort = mappedEffort === undefined ? requestedEffort : mappedEffort;\n\t\t\tif (typeof effort === \"string\") {\n\t\t\t\tbasetenParams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"deepseek\" && model.reasoning) {\n\t\tif (options?.reasoningEffort) {\n\t\t\tparams.thinking = { type: \"enabled\" };\n\t\t\tif (compat.supportsReasoningEffort) {\n\t\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\t\tif (effort !== undefined) {\n\t\t\t\t\tparams.reasoning_effort = effort;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (compat.supportsDisabledThinking !== false && thinkingLevelMap?.off !== null) {\n\t\t\tparams.thinking = { type: \"disabled\" };\n\t\t}\n\t} else if (compat.thinkingFormat === \"openrouter\" && model.reasoning) {\n\t\t// OpenRouter normalizes reasoning across providers via a nested reasoning object.\n\t\tconst openRouterParams = params as typeof params & { reasoning?: { effort?: string } };\n\t\tif (options?.reasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\topenRouterParams.reasoning = { effort };\n\t\t\t}\n\t\t} else if (thinkingLevelMap?.off !== null) {\n\t\t\topenRouterParams.reasoning = { effort: thinkingLevelMap?.off ?? \"none\" };\n\t\t}\n\t} else if (compat.thinkingFormat === \"ant-ling\" && model.reasoning && options?.reasoningEffort) {\n\t\tconst effort = thinkingLevelMap?.[options.reasoningEffort];\n\t\tif (typeof effort === \"string\") {\n\t\t\t(params as typeof params & { reasoning?: { effort: string } }).reasoning = { effort };\n\t\t}\n\t} else if (compat.thinkingFormat === \"together\" && model.reasoning) {\n\t\tconst togetherParams = params as Omit<typeof params, \"reasoning_effort\"> & {\n\t\t\treasoning?: { enabled: boolean };\n\t\t\treasoning_effort?: string;\n\t\t};\n\t\ttogetherParams.reasoning = { enabled: !!options?.reasoningEffort };\n\t\tif (options?.reasoningEffort && compat.supportsReasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\ttogetherParams.reasoning_effort = effort;\n\t\t\t}\n\t\t}\n\t} else if (compat.thinkingFormat === \"string-thinking\" && model.reasoning) {\n\t\tif (options?.reasoningEffort) {\n\t\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\t\tif (effort !== undefined) {\n\t\t\t\tparams.thinking = effort;\n\t\t\t}\n\t\t} else if (thinkingLevelMap?.off !== null) {\n\t\t\tparams.thinking = thinkingLevelMap?.off ?? \"none\";\n\t\t}\n\t} else if (options?.reasoningEffort && model.reasoning && compat.supportsReasoningEffort) {\n\t\t// OpenAI-style reasoning_effort\n\t\tconst effort = resolveReasoningEffort(thinkingLevelMap, options.reasoningEffort);\n\t\tif (effort !== undefined) {\n\t\t\tparams.reasoning_effort = effort;\n\t\t}\n\t} else if (!options?.reasoningEffort && model.reasoning && compat.supportsReasoningEffort) {\n\t\tconst offValue = thinkingLevelMap?.off;\n\t\tif (typeof offValue === \"string\") {\n\t\t\tparams.reasoning_effort = offValue;\n\t\t}\n\t}\n\n\t// Cap reasoning with a top-level budget field. Independent of thinkingFormat: the\n\t// same server can serve zai, qwen or chat-template models. Reasoning and the answer\n\t// share max_tokens here, so an uncapped reasoning phase can consume the whole\n\t// response and leave no answer and no tool call.\n\tif (thinkingTokenBudgetField && thinkingBudget !== undefined) {\n\t\tObject.assign(params, { [thinkingTokenBudgetField]: thinkingBudget });\n\t}\n\n\t// OpenRouter provider routing preferences\n\tif (model.compat?.openRouterRouting) {\n\t\tparams.provider = model.compat.openRouterRouting;\n\t}\n\n\t// Vercel AI Gateway provider routing preferences\n\tif (model.compat?.vercelGatewayRouting) {\n\t\tconst routing = model.compat.vercelGatewayRouting;\n\t\tif (routing.only || routing.order) {\n\t\t\tconst gatewayOptions: Record<string, string[]> = {};\n\t\t\tif (routing.only) gatewayOptions.only = routing.only;\n\t\t\tif (routing.order) gatewayOptions.order = routing.order;\n\t\t\tparams.providerOptions = { gateway: gatewayOptions };\n\t\t}\n\t}\n\n\tapplyExtraBody(params, options?.extraBody, OPENAI_COMPLETIONS_RESERVED_BODY_KEYS);\n\n\t// Last so custom keys override the named request fields.\n\tif (options?.samplingParams) {\n\t\tObject.assign(params, options.samplingParams);\n\t}\n\n\treturn params;\n}\n\nfunction resolveThinkingTokenBudgetField(\n\tcompat: Pick<OpenAICompletionsCompat, \"thinkingTokenBudgetField\" | \"supportsThinkingTokenBudget\">,\n): ThinkingTokenBudgetField | undefined {\n\tif (compat.thinkingTokenBudgetField) return compat.thinkingTokenBudgetField;\n\tif (compat.supportsThinkingTokenBudget) return \"thinking_token_budget\";\n\treturn undefined;\n}\n\nfunction resolveClampedThinkingBudget(\n\tmodel: Model<\"openai-completions\">,\n\toptions: OpenAICompletionsOptions | undefined,\n\tparams: { max_tokens?: number | null; max_completion_tokens?: number | null },\n): number | undefined {\n\tif (!options?.reasoningEffort || !model.reasoning) return undefined;\n\tconst ceiling = params.max_tokens ?? params.max_completion_tokens ?? model.maxTokens;\n\tconst budget = clampThinkingBudgetToAnswerRoom(\n\t\tthinkingBudgetForLevel(options.reasoningEffort, options.thinkingBudgets),\n\t\tceiling,\n\t);\n\treturn budget > 0 ? budget : undefined;\n}\n\nfunction buildChatTemplateValues(\n\tmodel: Model<\"openai-completions\">,\n\toptions: OpenAICompletionsOptions | undefined,\n\tcompat: ResolvedOpenAICompletionsCompat,\n\tvalues: Record<string, ChatTemplateKwargValue>,\n\tthinkingBudget?: number,\n): Record<string, ResolvedChatTemplateKwargValue> | undefined {\n\tconst resolvedValues: Record<string, ResolvedChatTemplateKwargValue> = {};\n\n\tfor (const [key, value] of Object.entries(values)) {\n\t\tconst resolved = resolveChatTemplateKwargValue(model, options, compat, value, thinkingBudget);\n\t\tif (resolved !== undefined) {\n\t\t\tresolvedValues[key] = resolved;\n\t\t}\n\t}\n\n\treturn Object.keys(resolvedValues).length > 0 ? resolvedValues : undefined;\n}\n\nfunction resolveChatTemplateKwargValue(\n\tmodel: Model<\"openai-completions\">,\n\toptions: OpenAICompletionsOptions | undefined,\n\tcompat: ResolvedOpenAICompletionsCompat,\n\tvalue: ChatTemplateKwargValue,\n\tthinkingBudget?: number,\n): ResolvedChatTemplateKwargValue | undefined {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn value;\n\t}\n\n\tconst reasoningEffort = options?.reasoningEffort;\n\tif (!reasoningEffort && value.omitWhenOff) {\n\t\treturn undefined;\n\t}\n\tif (value.$var === \"thinking.enabled\") {\n\t\treturn !!reasoningEffort;\n\t}\n\tif (value.$var === \"thinking.budget\") {\n\t\treturn thinkingBudget;\n\t}\n\n\tconst thinkingLevelMap = getThinkingLevelMap(model, compat);\n\tconst mappedValue = reasoningEffort ? thinkingLevelMap?.[reasoningEffort] : thinkingLevelMap?.off;\n\treturn mappedValue === undefined ? reasoningEffort : typeof mappedValue === \"string\" ? mappedValue : undefined;\n}\n\nfunction getCompatCacheControl(\n\tcompat: ResolvedOpenAICompletionsCompat,\n\tcacheRetention: CacheRetention,\n): OpenAICompatCacheControl | undefined {\n\tif (compat.cacheControlFormat !== \"anthropic\" || cacheRetention === \"none\") {\n\t\treturn undefined;\n\t}\n\n\tconst ttl = cacheRetention === \"long\" && compat.supportsLongCacheRetention ? \"1h\" : undefined;\n\treturn { type: \"ephemeral\", ...(ttl ? { ttl } : {}) };\n}\n\nfunction applyAnthropicCacheControl(\n\tmessages: ChatCompletionMessageParam[],\n\ttools: OpenAI.Chat.Completions.ChatCompletionTool[] | undefined,\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\taddCacheControlToSystemPrompt(messages, cacheControl);\n\taddCacheControlToLastTool(tools, cacheControl);\n\taddCacheControlToLastConversationMessage(messages, cacheControl);\n}\n\nfunction addCacheControlToSystemPrompt(\n\tmessages: ChatCompletionMessageParam[],\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\tfor (const message of messages) {\n\t\tif (message.role === \"system\" || message.role === \"developer\") {\n\t\t\taddCacheControlToInstructionMessage(message, cacheControl);\n\t\t\treturn;\n\t\t}\n\t}\n}\n\nfunction addCacheControlToLastConversationMessage(\n\tmessages: ChatCompletionMessageParam[],\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\tconst message = messages[i];\n\t\tif (message.role === \"user\" || message.role === \"assistant\" || message.role === \"tool\") {\n\t\t\tif (addCacheControlToMessage(message, cacheControl)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction addCacheControlToLastTool(\n\ttools: OpenAI.Chat.Completions.ChatCompletionTool[] | undefined,\n\tcacheControl: OpenAICompatCacheControl,\n): void {\n\tif (!tools || tools.length === 0) {\n\t\treturn;\n\t}\n\n\tconst lastTool = tools[tools.length - 1] as ChatCompletionToolWithCacheControl;\n\tlastTool.cache_control = cacheControl;\n}\n\nfunction addCacheControlToInstructionMessage(\n\tmessage: ChatCompletionInstructionMessageParam,\n\tcacheControl: OpenAICompatCacheControl,\n): boolean {\n\treturn addCacheControlToTextContent(message, cacheControl);\n}\n\nfunction addCacheControlToMessage(\n\tmessage: ChatCompletionMessageParam,\n\tcacheControl: OpenAICompatCacheControl,\n): boolean {\n\tif (message.role === \"user\" || message.role === \"assistant\" || message.role === \"tool\") {\n\t\treturn addCacheControlToTextContent(message, cacheControl);\n\t}\n\treturn false;\n}\n\nfunction addCacheControlToTextContent(\n\tmessage:\n\t\t| ChatCompletionInstructionMessageParam\n\t\t| ChatCompletionAssistantMessageParam\n\t\t| ChatCompletionToolMessageParam\n\t\t| Extract<ChatCompletionMessageParam, { role: \"user\" }>,\n\tcacheControl: OpenAICompatCacheControl,\n): boolean {\n\tconst content = message.content;\n\tif (typeof content === \"string\") {\n\t\tif (content.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tmessage.content = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: content,\n\t\t\t\tcache_control: cacheControl,\n\t\t\t},\n\t\t] as ChatCompletionTextPartWithCacheControl[];\n\t\treturn true;\n\t}\n\n\tif (!Array.isArray(content)) {\n\t\treturn false;\n\t}\n\n\tfor (let i = content.length - 1; i >= 0; i--) {\n\t\tconst part = content[i];\n\t\tif (part?.type === \"text\") {\n\t\t\tconst textPart = part as ChatCompletionTextPartWithCacheControl;\n\t\t\ttextPart.cache_control = cacheControl;\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nexport function convertMessages(\n\tmodel: Model<\"openai-completions\">,\n\tcontext: Context,\n\tcompat: ResolvedOpenAICompletionsCompat,\n\toptions: ConvertCompletionsMessagesOptions = {},\n): ChatCompletionMessageParam[] {\n\tconst params: ChatCompletionMessageParam[] = [];\n\n\tconst normalizeToolCallId = (id: string): string => {\n\t\t// Handle pipe-separated IDs from OpenAI Responses API\n\t\t// Format: {call_id}|{id} where {id} can be 400+ chars with special chars (+, /, =)\n\t\t// These come from providers like github-copilot, openai-codex, opencode\n\t\t// Extract just the call_id part and normalize it\n\t\t// Multiple tool calls in the same turn can share call_id but differ by item_id.\n\t\t// Preserve item-level uniqueness when replaying into Chat Completions, which\n\t\t// requires distinct tool call ids.\n\t\tif (id.includes(\"|\")) {\n\t\t\t// Sanitize to allowed chars and truncate to 40 chars (OpenAI limit)\n\t\t\tconst separatorIndex = id.indexOf(\"|\");\n\t\t\tconst callId = id.slice(0, separatorIndex).replace(/[^a-zA-Z0-9_-]/g, \"_\");\n\t\t\tconst itemId = id.slice(separatorIndex + 1).replace(/[^a-zA-Z0-9_-]/g, \"_\");\n\t\t\tconst combinedId = itemId.length > 0 ? `${callId}_${itemId}` : callId;\n\t\t\tif (combinedId.length <= 40) {\n\t\t\t\treturn combinedId;\n\t\t\t}\n\t\t\tconst hash = shortHash(id).slice(0, 8);\n\t\t\tconst prefix = callId.slice(0, Math.max(1, 40 - hash.length - 1));\n\t\t\treturn `${prefix}_${hash}`;\n\t\t}\n\n\t\tconst sanitizedId = id.replace(/[^a-zA-Z0-9_-]/g, \"_\") || \"tool_call\";\n\t\tif (sanitizedId === id && sanitizedId.length <= 40) return id;\n\n\t\tconst hash = shortHash(id).slice(0, 8);\n\t\tconst prefix = sanitizedId.slice(0, Math.max(1, 40 - hash.length - 1));\n\t\treturn `${prefix}_${hash}`;\n\t};\n\n\tconst transformedMessages = transformMessages(context.messages, model, (id) => normalizeToolCallId(id), {\n\t\tpreserveThinking: options.preserveThinking,\n\t\tnormalizeSameModelToolCallIds: true,\n\t});\n\n\tif (context.systemPrompt) {\n\t\tconst useDeveloperRole = model.reasoning && compat.supportsDeveloperRole;\n\t\tconst role = useDeveloperRole ? \"developer\" : \"system\";\n\t\tparams.push({ role: role, content: sanitizeSurrogates(context.systemPrompt) });\n\t}\n\n\tlet lastRole: string | null = null;\n\n\tfor (let i = 0; i < transformedMessages.length; i++) {\n\t\tconst msg = transformedMessages[i];\n\t\t// Some providers don't allow user messages directly after tool results\n\t\t// Insert a synthetic assistant message to bridge the gap\n\t\tif (compat.requiresAssistantAfterToolResult && lastRole === \"toolResult\" && msg.role === \"user\") {\n\t\t\tparams.push({\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: \"I have processed the tool results.\",\n\t\t\t});\n\t\t}\n\n\t\tif (msg.role === \"user\") {\n\t\t\tif (typeof msg.content === \"string\") {\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: sanitizeSurrogates(msg.content),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst content: ChatCompletionContentPart[] = msg.content.map((item): ChatCompletionContentPart => {\n\t\t\t\t\tif (item.type === \"text\") {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t\t\t\t} satisfies ChatCompletionContentPartText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"image_url\",\n\t\t\t\t\t\t\timage_url: {\n\t\t\t\t\t\t\t\turl: `data:${item.mimeType};base64,${item.data}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} satisfies ChatCompletionContentPartImage;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (content.length === 0) continue;\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (msg.role === \"assistant\") {\n\t\t\t// Some providers don't accept null content, use empty string instead\n\t\t\tconst assistantMsg: ChatCompletionAssistantMessageParam = {\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: compat.requiresAssistantAfterToolResult ? \"\" : null,\n\t\t\t};\n\n\t\t\tconst assistantTextParts = msg.content\n\t\t\t\t.filter(isTextContentBlock)\n\t\t\t\t.filter((block) => block.text.trim().length > 0)\n\t\t\t\t.map(\n\t\t\t\t\t(block) =>\n\t\t\t\t\t\t({\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t\t\t\t}) satisfies ChatCompletionContentPartText,\n\t\t\t\t);\n\t\t\tconst assistantText = assistantTextParts.map((part) => part.text).join(\"\");\n\n\t\t\tconst nonEmptyThinkingBlocks = msg.content\n\t\t\t\t.filter(isThinkingContentBlock)\n\t\t\t\t.filter((block) => block.thinking.trim().length > 0);\n\t\t\tif (nonEmptyThinkingBlocks.length > 0) {\n\t\t\t\tif (compat.requiresThinkingAsText) {\n\t\t\t\t\t// Convert thinking blocks to plain text (no tags to avoid model mimicking them)\n\t\t\t\t\tconst thinkingText = nonEmptyThinkingBlocks\n\t\t\t\t\t\t.map((block) => sanitizeSurrogates(block.thinking))\n\t\t\t\t\t\t.join(\"\\n\\n\");\n\t\t\t\t\tassistantMsg.content = [{ type: \"text\", text: thinkingText }, ...assistantTextParts];\n\t\t\t\t} else {\n\t\t\t\t\t// Always send assistant content as a plain string (OpenAI Chat Completions\n\t\t\t\t\t// API standard format). Sending as an array of {type:\"text\", text:\"...\"}\n\t\t\t\t\t// objects is non-standard and causes some models (e.g. DeepSeek V3.2 via\n\t\t\t\t\t// NVIDIA NIM) to mirror the content-block structure literally in their\n\t\t\t\t\t// output, producing recursive nesting like [{'type':'text','text':'[{...}]'}].\n\t\t\t\t\tif (assistantText.length > 0) {\n\t\t\t\t\t\tassistantMsg.content = assistantText;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Use the signature from the first thinking block if available (for llama.cpp server + gpt-oss)\n\t\t\t\t\tlet signature = nonEmptyThinkingBlocks[0].thinkingSignature;\n\t\t\t\t\tif (model.provider === \"opencode-go\" && signature === \"reasoning\") {\n\t\t\t\t\t\tsignature = \"reasoning_content\";\n\t\t\t\t\t}\n\t\t\t\t\tif (signature && signature.length > 0) {\n\t\t\t\t\t\tObject.assign(assistantMsg, {\n\t\t\t\t\t\t\t[signature]: nonEmptyThinkingBlocks.map((block) => block.thinking).join(\"\\n\"),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (assistantText.length > 0) {\n\t\t\t\t// Always send assistant content as a plain string (OpenAI Chat Completions\n\t\t\t\t// API standard format). Sending as an array of {type:\"text\", text:\"...\"}\n\t\t\t\t// objects is non-standard and causes some models (e.g. DeepSeek V3.2 via\n\t\t\t\t// NVIDIA NIM) to mirror the content-block structure literally in their\n\t\t\t\t// output, producing recursive nesting like [{'type':'text','text':'[{...}]'}].\n\t\t\t\tassistantMsg.content = assistantText;\n\t\t\t}\n\n\t\t\tconst toolCalls = msg.content.filter(isToolCallBlock);\n\t\t\tif (toolCalls.length > 0) {\n\t\t\t\tassistantMsg.tool_calls = toolCalls.map((tc): ChatCompletionMessageToolCall => {\n\t\t\t\t\tconst customInputProperty = options?.grammarToolInputProperties?.get(tc.name);\n\t\t\t\t\tif (customInputProperty !== undefined) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: tc.id,\n\t\t\t\t\t\t\ttype: \"custom\",\n\t\t\t\t\t\t\tcustom: {\n\t\t\t\t\t\t\t\tname: tc.name,\n\t\t\t\t\t\t\t\tinput: sanitizeSurrogates(getGrammarToolInput(tc.name, tc.arguments, customInputProperty)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: tc.id,\n\t\t\t\t\t\ttype: \"function\",\n\t\t\t\t\t\tfunction: {\n\t\t\t\t\t\t\tname: tc.name,\n\t\t\t\t\t\t\targuments: JSON.stringify(tc.arguments),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tconst reasoningDetails = toolCalls\n\t\t\t\t\t.filter((tc) => tc.thoughtSignature)\n\t\t\t\t\t.map((tc) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\treturn JSON.parse(tc.thoughtSignature!);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tif (reasoningDetails.length > 0) {\n\t\t\t\t\tObject.assign(assistantMsg, { reasoning_details: reasoningDetails });\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tcompat.requiresReasoningContentOnAssistantMessages &&\n\t\t\t\tmodel.reasoning &&\n\t\t\t\t(assistantMsg as { reasoning_content?: string }).reasoning_content === undefined\n\t\t\t) {\n\t\t\t\t(assistantMsg as { reasoning_content?: string }).reasoning_content = \"\";\n\t\t\t}\n\t\t\t// Skip assistant messages that have no content and no tool calls.\n\t\t\t// Some providers require \"either content or tool_calls, but not none\".\n\t\t\t// Other providers also don't accept empty assistant messages.\n\t\t\t// This handles aborted assistant responses that got no content.\n\t\t\tconst content = assistantMsg.content;\n\t\t\tconst hasContent =\n\t\t\t\tcontent !== null &&\n\t\t\t\tcontent !== undefined &&\n\t\t\t\t(typeof content === \"string\" ? content.length > 0 : content.length > 0);\n\t\t\tif (!hasContent && !assistantMsg.tool_calls) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparams.push(assistantMsg);\n\t\t} else if (msg.role === \"toolResult\") {\n\t\t\tconst imageBlocks: Array<{ type: \"image_url\"; image_url: { url: string } }> = [];\n\t\t\tconst deferredToolNames = new Set<string>();\n\t\t\tlet j = i;\n\n\t\t\tfor (; j < transformedMessages.length && transformedMessages[j].role === \"toolResult\"; j++) {\n\t\t\t\tconst toolMsg = transformedMessages[j] as ToolResultMessage;\n\n\t\t\t\t// Extract text and image content\n\t\t\t\tconst textResult = toolMsg.content\n\t\t\t\t\t.filter(isTextContentBlock)\n\t\t\t\t\t.map((block) => block.text)\n\t\t\t\t\t.join(\"\\n\");\n\t\t\t\tconst hasImages = toolMsg.content.some((c) => c.type === \"image\");\n\n\t\t\t\t// Always send tool result with text (or placeholder if only images)\n\t\t\t\tconst hasText = textResult.length > 0;\n\t\t\t\tconst toolResultText = hasText ? textResult : hasImages ? \"(see attached image)\" : \"(no tool output)\";\n\t\t\t\t// Some providers require the 'name' field in tool results\n\t\t\t\tconst toolResultMsg: ChatCompletionToolMessageParam = {\n\t\t\t\t\trole: \"tool\",\n\t\t\t\t\tcontent: sanitizeSurrogates(toolResultText),\n\t\t\t\t\ttool_call_id: toolMsg.toolCallId,\n\t\t\t\t};\n\t\t\t\tif (compat.requiresToolResultName && toolMsg.toolName) {\n\t\t\t\t\tObject.assign(toolResultMsg, { name: toolMsg.toolName });\n\t\t\t\t}\n\t\t\t\tparams.push(toolResultMsg);\n\n\t\t\t\tif (compat.deferredToolsMode === \"kimi\") {\n\t\t\t\t\tfor (const name of toolMsg.addedToolNames ?? []) {\n\t\t\t\t\t\tdeferredToolNames.add(name);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (hasImages && model.input.includes(\"image\")) {\n\t\t\t\t\tfor (const block of toolMsg.content) {\n\t\t\t\t\t\tif (isImageContentBlock(block)) {\n\t\t\t\t\t\t\timageBlocks.push({\n\t\t\t\t\t\t\t\ttype: \"image_url\",\n\t\t\t\t\t\t\t\timage_url: {\n\t\t\t\t\t\t\t\t\turl: `data:${block.mimeType};base64,${block.data}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = j - 1;\n\n\t\t\tif (imageBlocks.length > 0) {\n\t\t\t\tif (compat.requiresAssistantAfterToolResult) {\n\t\t\t\t\tparams.push({\n\t\t\t\t\t\trole: \"assistant\",\n\t\t\t\t\t\tcontent: \"I have processed the tool results.\",\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: \"Attached image(s) from tool result:\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...imageBlocks,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tlastRole = \"user\";\n\t\t\t} else {\n\t\t\t\tlastRole = \"toolResult\";\n\t\t\t}\n\n\t\t\tif (deferredToolNames.size > 0) {\n\t\t\t\tconst deferredTools = getToolsByName(context.tools, deferredToolNames);\n\t\t\t\tif (deferredTools.length > 0) {\n\t\t\t\t\tconst kimiToolMessage: KimiToolSystemMessageParam = {\n\t\t\t\t\t\trole: \"system\",\n\t\t\t\t\t\ttools: convertTools(deferredTools, compat),\n\t\t\t\t\t};\n\t\t\t\t\t// Kimi accepts a system message with tools but omits the standard content field.\n\t\t\t\t\tparams.push(kimiToolMessage as unknown as ChatCompletionMessageParam);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tlastRole = msg.role;\n\t}\n\n\treturn params;\n}\n\nfunction convertTools(\n\ttools: Tool[],\n\tcompat: ResolvedOpenAICompletionsCompat,\n): OpenAI.Chat.Completions.ChatCompletionTool[] {\n\treturn tools.map((tool) => {\n\t\tconst grammar = resolveGrammarConstrainedSampling(tool, compat.supportsOpenAIGrammarTools);\n\t\tif (grammar) {\n\t\t\treturn {\n\t\t\t\ttype: \"custom\",\n\t\t\t\tcustom: {\n\t\t\t\t\tname: tool.name,\n\t\t\t\t\tdescription: tool.description,\n\t\t\t\t\tformat: {\n\t\t\t\t\t\ttype: \"grammar\",\n\t\t\t\t\t\tgrammar: {\n\t\t\t\t\t\t\tsyntax: grammar.format,\n\t\t\t\t\t\t\tdefinition: grammar.definition,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tif (tool.freeform) {\n\t\t\tthrow new Error(\"Freeform tools cannot be sent to OpenAI Chat Completions; use Responses API\");\n\t\t}\n\n\t\tconst strict = resolveJsonSchemaStrictSampling(tool, compat.supportsStrictMode !== false);\n\t\tconst schemaParameters = getJsonSchemaToolParameters(tool, strict) as Record<string, unknown>;\n\t\tconst normalizedParameters =\n\t\t\tcompat.toolSchemaFlavor === \"moonshot-mfjs\"\n\t\t\t\t? normalizeToolParametersForMoonshot(schemaParameters)\n\t\t\t\t: normalizeToolParametersForOpenAICompat(schemaParameters);\n\t\treturn {\n\t\t\ttype: \"function\",\n\t\t\tfunction: {\n\t\t\t\tname: tool.name,\n\t\t\t\tdescription: tool.description,\n\t\t\t\tparameters: normalizedParameters as FunctionParameters,\n\t\t\t\t// Only include strict if provider supports it. Some reject unknown fields.\n\t\t\t\t...(compat.supportsStrictMode !== false && { strict: strict ?? false }),\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction normalizeRequestToolSchemas(\n\tparams: OpenAICompletionsRequestParams,\n\tcompat: ResolvedOpenAICompletionsCompat,\n): OpenAICompletionsRequestParams {\n\tif (!params.tools) return params;\n\n\treturn {\n\t\t...params,\n\t\ttools: params.tools.map((tool) => {\n\t\t\tif (tool.type !== \"function\" || !tool.function.parameters) return tool;\n\n\t\t\tconst parameters =\n\t\t\t\tcompat.toolSchemaFlavor === \"moonshot-mfjs\"\n\t\t\t\t\t? normalizeToolParametersForMoonshot(tool.function.parameters)\n\t\t\t\t\t: normalizeToolParametersForOpenAICompat(tool.function.parameters);\n\t\t\treturn {\n\t\t\t\t...tool,\n\t\t\t\tfunction: { ...tool.function, parameters },\n\t\t\t};\n\t\t}),\n\t};\n}\n\nfunction parseChunkUsage(\n\trawUsage: {\n\t\tprompt_tokens?: number;\n\t\tcompletion_tokens?: number;\n\t\tcached_tokens?: number;\n\t\tprompt_cache_hit_tokens?: number;\n\t\tprompt_tokens_details?: { cached_tokens?: number; cache_write_tokens?: number };\n\t\tcompletion_tokens_details?: { reasoning_tokens?: number };\n\t},\n\tmodel: Model<\"openai-completions\">,\n): AssistantMessage[\"usage\"] {\n\tconst promptTokens = rawUsage.prompt_tokens || 0;\n\tconst cacheReadTokens =\n\t\trawUsage.prompt_tokens_details?.cached_tokens ?? rawUsage.prompt_cache_hit_tokens ?? rawUsage.cached_tokens ?? 0;\n\tconst cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;\n\n\t// Follow documented OpenAI/OpenRouter semantics: cached_tokens is cache-read\n\t// tokens (hits). Providers disagree on placement: OpenAI/OpenRouter use\n\t// prompt_tokens_details.cached_tokens, DeepSeek uses prompt_cache_hit_tokens,\n\t// and Kimi documents top-level usage.cached_tokens on the final usage chunk.\n\t// OpenAI does not document or emit cache_write_tokens, but\n\t// OpenRouter-compatible providers can include it as a separate write count.\n\t// OpenRouter's own provider/tests affirm the separate mapping:\n\t// https://github.com/OpenRouterTeam/ai-sdk-provider/pull/409\n\t// Do not subtract writes from cached_tokens, otherwise spec-compliant\n\t// providers are under-reported. DS4 mirrors this contract too:\n\t// https://github.com/antirez/ds4/pull/29\n\tconst input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);\n\t// OpenAI completion_tokens already includes reasoning_tokens.\n\tconst outputTokens = rawUsage.completion_tokens || 0;\n\tconst usage: AssistantMessage[\"usage\"] = {\n\t\tinput,\n\t\toutput: outputTokens,\n\t\tcacheRead: cacheReadTokens,\n\t\tcacheWrite: cacheWriteTokens,\n\t\treasoning: rawUsage.completion_tokens_details?.reasoning_tokens || 0,\n\t\ttotalTokens: input + outputTokens + cacheReadTokens + cacheWriteTokens,\n\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t};\n\tcalculateCost(model, usage);\n\treturn usage;\n}\n\nfunction mapStopReason(reason: ChatCompletionChunk.Choice[\"finish_reason\"] | string): {\n\tstopReason: StopReason;\n\terrorMessage?: string;\n} {\n\tif (reason === null) return { stopReason: \"stop\" };\n\tswitch (reason) {\n\t\tcase \"stop\":\n\t\tcase \"end\":\n\t\t\treturn { stopReason: \"stop\" };\n\t\tcase \"length\":\n\t\t\treturn { stopReason: \"length\" };\n\t\tcase \"function_call\":\n\t\tcase \"tool_calls\":\n\t\t\treturn { stopReason: \"toolUse\" };\n\t\tcase \"content_filter\":\n\t\t\treturn { stopReason: \"error\", errorMessage: \"Provider finish_reason: content_filter\" };\n\t\tcase \"network_error\":\n\t\t\treturn { stopReason: \"error\", errorMessage: \"Provider finish_reason: network_error\" };\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tstopReason: \"error\",\n\t\t\t\terrorMessage: `Provider finish_reason: ${reason}`,\n\t\t\t};\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"openai-responses.d.ts","sourceRoot":"","sources":["../../src/api/openai-responses.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAuB,MAAM,yCAAyC,CAAC;AAElH,OAAO,KAAK,EASX,mBAAmB,EACnB,cAAc,EACd,aAAa,EAEb,MAAM,aAAa,CAAC;AAgKrB,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC5D,eAAe,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAC1E,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,6BAA6B,CAAC,aAAa,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,kBAAkB,EAAE,sBAAsB,CA8I7E,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,kBAAkB,EAAE,mBAAmB,CAoBhF,CAAC"}
1
+ {"version":3,"file":"openai-responses.d.ts","sourceRoot":"","sources":["../../src/api/openai-responses.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAuB,MAAM,yCAAyC,CAAC;AAElH,OAAO,KAAK,EASX,mBAAmB,EACnB,cAAc,EACd,aAAa,EAEb,MAAM,aAAa,CAAC;AAiKrB,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC5D,eAAe,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAC1E,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,6BAA6B,CAAC,aAAa,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,kBAAkB,EAAE,sBAAsB,CA8I7E,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,kBAAkB,EAAE,mBAAmB,CAuBhF,CAAC"}