@midscene/core 1.16.2 → 1.16.6-beta-20261023073257.0

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 (295) hide show
  1. package/dist/es/agent/agent.mjs +11 -11
  2. package/dist/es/agent/agent.mjs.map +1 -1
  3. package/dist/es/agent/insight.mjs.map +1 -1
  4. package/dist/es/agent/tasks.mjs +72 -39
  5. package/dist/es/agent/tasks.mjs.map +1 -1
  6. package/dist/es/agent/utils.mjs +1 -1
  7. package/dist/es/ai-model/connectivity/run-connectivity-test.mjs +27 -22
  8. package/dist/es/ai-model/connectivity/run-connectivity-test.mjs.map +1 -1
  9. package/dist/es/ai-model/index.mjs +4 -2
  10. package/dist/es/ai-model/model-adapter/resolve.mjs +4 -2
  11. package/dist/es/ai-model/model-adapter/resolve.mjs.map +1 -1
  12. package/dist/es/ai-model/models/jev/adapter.mjs +6 -110
  13. package/dist/es/ai-model/models/jev/adapter.mjs.map +1 -1
  14. package/dist/es/ai-model/models/jev/boolean.mjs +48 -0
  15. package/dist/es/ai-model/models/jev/boolean.mjs.map +1 -0
  16. package/dist/es/ai-model/models/jev/image.mjs +39 -36
  17. package/dist/es/ai-model/models/jev/image.mjs.map +1 -1
  18. package/dist/es/ai-model/models/jev/locate.mjs +48 -0
  19. package/dist/es/ai-model/models/jev/locate.mjs.map +1 -0
  20. package/dist/es/ai-model/models/jev/planning-action.mjs +35 -0
  21. package/dist/es/ai-model/models/jev/planning-action.mjs.map +1 -0
  22. package/dist/es/ai-model/models/jev/planning-context.mjs +38 -0
  23. package/dist/es/ai-model/models/jev/planning-context.mjs.map +1 -0
  24. package/dist/es/ai-model/models/jev/planning-decision.mjs +68 -0
  25. package/dist/es/ai-model/models/jev/planning-decision.mjs.map +1 -0
  26. package/dist/es/ai-model/models/jev/planning.mjs +19 -131
  27. package/dist/es/ai-model/models/jev/planning.mjs.map +1 -1
  28. package/dist/es/ai-model/models/model-fallback.mjs +28 -0
  29. package/dist/es/ai-model/models/model-fallback.mjs.map +1 -0
  30. package/dist/es/ai-model/service-caller/call-ai.mjs +54 -27
  31. package/dist/es/ai-model/service-caller/call-ai.mjs.map +1 -1
  32. package/dist/es/ai-model/service-caller/codex/call-codex.mjs.map +1 -1
  33. package/dist/es/ai-model/service-caller/index.mjs +2 -2
  34. package/dist/es/ai-model/service-caller/model-call.mjs +3 -3
  35. package/dist/es/ai-model/service-caller/model-call.mjs.map +1 -1
  36. package/dist/es/ai-model/service-caller/openai/call-openai.mjs +4 -2
  37. package/dist/es/ai-model/service-caller/openai/call-openai.mjs.map +1 -1
  38. package/dist/es/ai-model/service-caller/openai/chat-completion/chat-completion.mjs.map +1 -1
  39. package/dist/es/ai-model/service-caller/openai/openai-client.mjs.map +1 -1
  40. package/dist/es/ai-model/service-caller/openai/responses/responses.mjs.map +1 -1
  41. package/dist/es/ai-model/service-caller/openai/siwc/authorization.mjs +117 -0
  42. package/dist/es/ai-model/service-caller/openai/siwc/authorization.mjs.map +1 -0
  43. package/dist/es/ai-model/service-caller/openai/siwc/credential-storage.mjs +66 -0
  44. package/dist/es/ai-model/service-caller/openai/siwc/credential-storage.mjs.map +1 -0
  45. package/dist/es/ai-model/service-caller/openai/siwc/errors.mjs +42 -0
  46. package/dist/es/ai-model/service-caller/openai/siwc/errors.mjs.map +1 -0
  47. package/dist/es/ai-model/service-caller/openai/siwc/index.mjs +7 -0
  48. package/dist/es/ai-model/service-caller/openai/siwc/prepare-call.mjs +33 -0
  49. package/dist/es/ai-model/service-caller/openai/siwc/prepare-call.mjs.map +1 -0
  50. package/dist/es/ai-model/service-caller/openai/siwc/refresh.mjs +60 -0
  51. package/dist/es/ai-model/service-caller/openai/siwc/refresh.mjs.map +1 -0
  52. package/dist/es/ai-model/service-caller/openai/siwc/token-manager.mjs +51 -0
  53. package/dist/es/ai-model/service-caller/openai/siwc/token-manager.mjs.map +1 -0
  54. package/dist/es/ai-model/service-caller/system-one/call-system-one.mjs +69 -0
  55. package/dist/es/ai-model/service-caller/system-one/call-system-one.mjs.map +1 -0
  56. package/dist/es/ai-model/service-caller/system-one/index.mjs +3 -0
  57. package/dist/es/ai-model/service-caller/system-one/prepare-system-one.mjs +44 -0
  58. package/dist/es/ai-model/service-caller/system-one/prepare-system-one.mjs.map +1 -0
  59. package/dist/es/ai-model/service-caller/system-one/schema.mjs +32 -0
  60. package/dist/es/ai-model/service-caller/system-one/schema.mjs.map +1 -0
  61. package/dist/es/ai-model/service-caller/system-one/utils.mjs +34 -0
  62. package/dist/es/ai-model/service-caller/system-one/utils.mjs.map +1 -0
  63. package/dist/es/ai-model/service-caller/utils.mjs +2 -2
  64. package/dist/es/ai-model/service-caller/utils.mjs.map +1 -1
  65. package/dist/es/ai-model/shared/model-locate-result/factory.mjs +7 -3
  66. package/dist/es/ai-model/shared/model-locate-result/factory.mjs.map +1 -1
  67. package/dist/es/ai-model/shared/model-locate-result/pixel-mapper.mjs +10 -4
  68. package/dist/es/ai-model/shared/model-locate-result/pixel-mapper.mjs.map +1 -1
  69. package/dist/es/ai-model/shared/model-locate-result/types.mjs.map +1 -1
  70. package/dist/es/ai-model/shared/model-locate-result/validation.mjs +4 -0
  71. package/dist/es/ai-model/shared/model-locate-result/validation.mjs.map +1 -1
  72. package/dist/es/ai-model/workflows/grounding/locate.mjs +2 -2
  73. package/dist/es/ai-model/workflows/grounding/locate.mjs.map +1 -1
  74. package/dist/es/ai-model/workflows/grounding/section-locate.mjs +2 -2
  75. package/dist/es/ai-model/workflows/grounding/section-locate.mjs.map +1 -1
  76. package/dist/es/ai-model/workflows/insight/boolean.mjs +1 -1
  77. package/dist/es/ai-model/workflows/insight/boolean.mjs.map +1 -1
  78. package/dist/es/ai-model/workflows/insight/extraction.mjs +3 -3
  79. package/dist/es/ai-model/workflows/insight/extraction.mjs.map +1 -1
  80. package/dist/es/ai-model/workflows/planning/standard-planning.mjs +4 -3
  81. package/dist/es/ai-model/workflows/planning/standard-planning.mjs.map +1 -1
  82. package/dist/es/ai-model/workflows/recorder-generation/playwright.mjs +2 -2
  83. package/dist/es/ai-model/workflows/recorder-generation/playwright.mjs.map +1 -1
  84. package/dist/es/ai-model/workflows/recorder-generation/yaml.mjs +2 -2
  85. package/dist/es/ai-model/workflows/recorder-generation/yaml.mjs.map +1 -1
  86. package/dist/es/device/index.mjs +7 -0
  87. package/dist/es/device/index.mjs.map +1 -1
  88. package/dist/es/report-html-template.mjs +1 -1
  89. package/dist/es/service/index.mjs +2 -1
  90. package/dist/es/service/index.mjs.map +1 -1
  91. package/dist/es/types.mjs.map +1 -1
  92. package/dist/es/utils.mjs +1 -1
  93. package/dist/lib/agent/agent.js +11 -11
  94. package/dist/lib/agent/agent.js.map +1 -1
  95. package/dist/lib/agent/insight.js.map +1 -1
  96. package/dist/lib/agent/tasks.js +72 -39
  97. package/dist/lib/agent/tasks.js.map +1 -1
  98. package/dist/lib/agent/utils.js +1 -1
  99. package/dist/lib/ai-model/connectivity/run-connectivity-test.js +27 -22
  100. package/dist/lib/ai-model/connectivity/run-connectivity-test.js.map +1 -1
  101. package/dist/lib/ai-model/index.js +34 -5
  102. package/dist/lib/ai-model/model-adapter/resolve.js +4 -2
  103. package/dist/lib/ai-model/model-adapter/resolve.js.map +1 -1
  104. package/dist/lib/ai-model/models/jev/adapter.js +6 -110
  105. package/dist/lib/ai-model/models/jev/adapter.js.map +1 -1
  106. package/dist/lib/ai-model/models/jev/boolean.js +82 -0
  107. package/dist/lib/ai-model/models/jev/boolean.js.map +1 -0
  108. package/dist/lib/ai-model/models/jev/image.js +41 -35
  109. package/dist/lib/ai-model/models/jev/image.js.map +1 -1
  110. package/dist/lib/ai-model/models/jev/locate.js +82 -0
  111. package/dist/lib/ai-model/models/jev/locate.js.map +1 -0
  112. package/dist/lib/ai-model/models/jev/planning-action.js +69 -0
  113. package/dist/lib/ai-model/models/jev/planning-action.js.map +1 -0
  114. package/dist/lib/ai-model/models/jev/planning-context.js +72 -0
  115. package/dist/lib/ai-model/models/jev/planning-context.js.map +1 -0
  116. package/dist/lib/ai-model/models/jev/planning-decision.js +102 -0
  117. package/dist/lib/ai-model/models/jev/planning-decision.js.map +1 -0
  118. package/dist/lib/ai-model/models/jev/planning.js +19 -131
  119. package/dist/lib/ai-model/models/jev/planning.js.map +1 -1
  120. package/dist/lib/ai-model/models/{task-routing.js → model-fallback.js} +11 -11
  121. package/dist/lib/ai-model/models/model-fallback.js.map +1 -0
  122. package/dist/lib/ai-model/service-caller/call-ai.js +59 -29
  123. package/dist/lib/ai-model/service-caller/call-ai.js.map +1 -1
  124. package/dist/lib/ai-model/service-caller/codex/call-codex.js.map +1 -1
  125. package/dist/lib/ai-model/service-caller/index.js +6 -3
  126. package/dist/lib/ai-model/service-caller/model-call.js +2 -2
  127. package/dist/lib/ai-model/service-caller/model-call.js.map +1 -1
  128. package/dist/lib/ai-model/service-caller/openai/call-openai.js +4 -2
  129. package/dist/lib/ai-model/service-caller/openai/call-openai.js.map +1 -1
  130. package/dist/lib/ai-model/service-caller/openai/chat-completion/chat-completion.js.map +1 -1
  131. package/dist/lib/ai-model/service-caller/openai/openai-client.js.map +1 -1
  132. package/dist/lib/ai-model/service-caller/openai/responses/responses.js.map +1 -1
  133. package/dist/lib/ai-model/service-caller/openai/siwc/authorization.js +157 -0
  134. package/dist/lib/ai-model/service-caller/openai/siwc/authorization.js.map +1 -0
  135. package/dist/lib/ai-model/service-caller/openai/siwc/credential-storage.js +103 -0
  136. package/dist/lib/ai-model/service-caller/openai/siwc/credential-storage.js.map +1 -0
  137. package/dist/lib/ai-model/service-caller/openai/siwc/errors.js +85 -0
  138. package/dist/lib/ai-model/service-caller/openai/siwc/errors.js.map +1 -0
  139. package/dist/lib/ai-model/service-caller/openai/siwc/index.js +64 -0
  140. package/dist/lib/ai-model/service-caller/openai/siwc/index.js.map +1 -0
  141. package/dist/lib/ai-model/service-caller/openai/siwc/prepare-call.js +67 -0
  142. package/dist/lib/ai-model/service-caller/openai/siwc/prepare-call.js.map +1 -0
  143. package/dist/lib/ai-model/service-caller/openai/siwc/refresh.js +94 -0
  144. package/dist/lib/ai-model/service-caller/openai/siwc/refresh.js.map +1 -0
  145. package/dist/lib/ai-model/service-caller/openai/siwc/token-manager.js +85 -0
  146. package/dist/lib/ai-model/service-caller/openai/siwc/token-manager.js.map +1 -0
  147. package/dist/lib/ai-model/service-caller/system-one/call-system-one.js +103 -0
  148. package/dist/lib/ai-model/service-caller/system-one/call-system-one.js.map +1 -0
  149. package/dist/lib/ai-model/service-caller/system-one/index.js +42 -0
  150. package/dist/lib/ai-model/service-caller/system-one/index.js.map +1 -0
  151. package/dist/lib/ai-model/service-caller/system-one/prepare-system-one.js +78 -0
  152. package/dist/lib/ai-model/service-caller/system-one/prepare-system-one.js.map +1 -0
  153. package/dist/lib/ai-model/service-caller/system-one/schema.js +69 -0
  154. package/dist/lib/ai-model/service-caller/system-one/schema.js.map +1 -0
  155. package/dist/lib/ai-model/service-caller/system-one/utils.js +68 -0
  156. package/dist/lib/ai-model/service-caller/system-one/utils.js.map +1 -0
  157. package/dist/lib/ai-model/service-caller/utils.js +2 -2
  158. package/dist/lib/ai-model/service-caller/utils.js.map +1 -1
  159. package/dist/lib/ai-model/shared/model-locate-result/factory.js +7 -3
  160. package/dist/lib/ai-model/shared/model-locate-result/factory.js.map +1 -1
  161. package/dist/lib/ai-model/shared/model-locate-result/pixel-mapper.js +10 -4
  162. package/dist/lib/ai-model/shared/model-locate-result/pixel-mapper.js.map +1 -1
  163. package/dist/lib/ai-model/shared/model-locate-result/types.js.map +1 -1
  164. package/dist/lib/ai-model/shared/model-locate-result/validation.js +4 -0
  165. package/dist/lib/ai-model/shared/model-locate-result/validation.js.map +1 -1
  166. package/dist/lib/ai-model/workflows/grounding/locate.js +1 -1
  167. package/dist/lib/ai-model/workflows/grounding/locate.js.map +1 -1
  168. package/dist/lib/ai-model/workflows/grounding/section-locate.js +1 -1
  169. package/dist/lib/ai-model/workflows/grounding/section-locate.js.map +1 -1
  170. package/dist/lib/ai-model/workflows/insight/boolean.js +1 -1
  171. package/dist/lib/ai-model/workflows/insight/boolean.js.map +1 -1
  172. package/dist/lib/ai-model/workflows/insight/extraction.js +2 -2
  173. package/dist/lib/ai-model/workflows/insight/extraction.js.map +1 -1
  174. package/dist/lib/ai-model/workflows/planning/standard-planning.js +3 -2
  175. package/dist/lib/ai-model/workflows/planning/standard-planning.js.map +1 -1
  176. package/dist/lib/ai-model/workflows/recorder-generation/playwright.js +1 -1
  177. package/dist/lib/ai-model/workflows/recorder-generation/playwright.js.map +1 -1
  178. package/dist/lib/ai-model/workflows/recorder-generation/yaml.js +1 -1
  179. package/dist/lib/ai-model/workflows/recorder-generation/yaml.js.map +1 -1
  180. package/dist/lib/device/index.js +7 -0
  181. package/dist/lib/device/index.js.map +1 -1
  182. package/dist/lib/report-html-template.js +1 -1
  183. package/dist/lib/service/index.js +2 -1
  184. package/dist/lib/service/index.js.map +1 -1
  185. package/dist/lib/test-runner/engine/index.js +2 -2
  186. package/dist/lib/test-runner/node/index.js +2 -2
  187. package/dist/lib/types.js.map +1 -1
  188. package/dist/lib/utils.js +1 -1
  189. package/dist/types/agent/agent.d.ts.map +1 -1
  190. package/dist/types/agent/insight.d.ts +2 -2
  191. package/dist/types/agent/insight.d.ts.map +1 -1
  192. package/dist/types/agent/tasks.d.ts.map +1 -1
  193. package/dist/types/ai-model/connectivity/run-connectivity-test.d.ts.map +1 -1
  194. package/dist/types/ai-model/index.d.ts +4 -1
  195. package/dist/types/ai-model/index.d.ts.map +1 -1
  196. package/dist/types/ai-model/model-adapter/resolve.d.ts +2 -1
  197. package/dist/types/ai-model/model-adapter/resolve.d.ts.map +1 -1
  198. package/dist/types/ai-model/model-adapter/types.d.ts +8 -5
  199. package/dist/types/ai-model/model-adapter/types.d.ts.map +1 -1
  200. package/dist/types/ai-model/models/gpt.d.ts +2 -2
  201. package/dist/types/ai-model/models/jev/adapter.d.ts +4 -5
  202. package/dist/types/ai-model/models/jev/adapter.d.ts.map +1 -1
  203. package/dist/types/ai-model/models/jev/boolean.d.ts +3 -0
  204. package/dist/types/ai-model/models/jev/boolean.d.ts.map +1 -0
  205. package/dist/types/ai-model/models/jev/image.d.ts +11 -11
  206. package/dist/types/ai-model/models/jev/image.d.ts.map +1 -1
  207. package/dist/types/ai-model/models/jev/locate.d.ts +3 -0
  208. package/dist/types/ai-model/models/jev/locate.d.ts.map +1 -0
  209. package/dist/types/ai-model/models/jev/planning-action.d.ts +6 -0
  210. package/dist/types/ai-model/models/jev/planning-action.d.ts.map +1 -0
  211. package/dist/types/ai-model/models/jev/planning-context.d.ts +23 -0
  212. package/dist/types/ai-model/models/jev/planning-context.d.ts.map +1 -0
  213. package/dist/types/ai-model/models/jev/planning-decision.d.ts +35 -0
  214. package/dist/types/ai-model/models/jev/planning-decision.d.ts.map +1 -0
  215. package/dist/types/ai-model/models/jev/planning.d.ts.map +1 -1
  216. package/dist/types/ai-model/models/model-fallback.d.ts +6 -0
  217. package/dist/types/ai-model/models/model-fallback.d.ts.map +1 -0
  218. package/dist/types/ai-model/models/registry.d.ts +4 -3
  219. package/dist/types/ai-model/models/registry.d.ts.map +1 -1
  220. package/dist/types/ai-model/service-caller/call-ai.d.ts +3 -1
  221. package/dist/types/ai-model/service-caller/call-ai.d.ts.map +1 -1
  222. package/dist/types/ai-model/service-caller/codex/call-codex.d.ts +5 -3
  223. package/dist/types/ai-model/service-caller/codex/call-codex.d.ts.map +1 -1
  224. package/dist/types/ai-model/service-caller/index.d.ts +1 -1
  225. package/dist/types/ai-model/service-caller/index.d.ts.map +1 -1
  226. package/dist/types/ai-model/service-caller/model-call.d.ts +2 -2
  227. package/dist/types/ai-model/service-caller/model-call.d.ts.map +1 -1
  228. package/dist/types/ai-model/service-caller/openai/call-openai.d.ts +2 -2
  229. package/dist/types/ai-model/service-caller/openai/call-openai.d.ts.map +1 -1
  230. package/dist/types/ai-model/service-caller/openai/chat-completion/chat-completion.d.ts +4 -2
  231. package/dist/types/ai-model/service-caller/openai/chat-completion/chat-completion.d.ts.map +1 -1
  232. package/dist/types/ai-model/service-caller/openai/responses/responses.d.ts +4 -2
  233. package/dist/types/ai-model/service-caller/openai/responses/responses.d.ts.map +1 -1
  234. package/dist/types/ai-model/service-caller/openai/siwc/authorization.d.ts +42 -0
  235. package/dist/types/ai-model/service-caller/openai/siwc/authorization.d.ts.map +1 -0
  236. package/dist/types/ai-model/service-caller/openai/siwc/credential-storage.d.ts +21 -0
  237. package/dist/types/ai-model/service-caller/openai/siwc/credential-storage.d.ts.map +1 -0
  238. package/dist/types/ai-model/service-caller/openai/siwc/errors.d.ts +10 -0
  239. package/dist/types/ai-model/service-caller/openai/siwc/errors.d.ts.map +1 -0
  240. package/dist/types/ai-model/service-caller/openai/siwc/index.d.ts +7 -0
  241. package/dist/types/ai-model/service-caller/openai/siwc/index.d.ts.map +1 -0
  242. package/dist/types/ai-model/service-caller/openai/siwc/prepare-call.d.ts +8 -0
  243. package/dist/types/ai-model/service-caller/openai/siwc/prepare-call.d.ts.map +1 -0
  244. package/dist/types/ai-model/service-caller/openai/siwc/refresh.d.ts +19 -0
  245. package/dist/types/ai-model/service-caller/openai/siwc/refresh.d.ts.map +1 -0
  246. package/dist/types/ai-model/service-caller/openai/siwc/token-manager.d.ts +10 -0
  247. package/dist/types/ai-model/service-caller/openai/siwc/token-manager.d.ts.map +1 -0
  248. package/dist/types/ai-model/service-caller/system-one/call-system-one.d.ts +4 -0
  249. package/dist/types/ai-model/service-caller/system-one/call-system-one.d.ts.map +1 -0
  250. package/dist/types/ai-model/service-caller/system-one/index.d.ts +3 -0
  251. package/dist/types/ai-model/service-caller/system-one/index.d.ts.map +1 -0
  252. package/dist/types/ai-model/service-caller/system-one/prepare-system-one.d.ts +21 -0
  253. package/dist/types/ai-model/service-caller/system-one/prepare-system-one.d.ts.map +1 -0
  254. package/dist/types/ai-model/service-caller/{system-one.d.ts → system-one/schema.d.ts} +1 -22
  255. package/dist/types/ai-model/service-caller/system-one/schema.d.ts.map +1 -0
  256. package/dist/types/ai-model/service-caller/system-one/utils.d.ts +6 -0
  257. package/dist/types/ai-model/service-caller/system-one/utils.d.ts.map +1 -0
  258. package/dist/types/ai-model/service-caller/types.d.ts +0 -3
  259. package/dist/types/ai-model/service-caller/types.d.ts.map +1 -1
  260. package/dist/types/ai-model/service-caller/utils.d.ts +3 -3
  261. package/dist/types/ai-model/shared/model-locate-result/factory.d.ts.map +1 -1
  262. package/dist/types/ai-model/shared/model-locate-result/index.d.ts +1 -1
  263. package/dist/types/ai-model/shared/model-locate-result/index.d.ts.map +1 -1
  264. package/dist/types/ai-model/shared/model-locate-result/pixel-mapper.d.ts +3 -3
  265. package/dist/types/ai-model/shared/model-locate-result/pixel-mapper.d.ts.map +1 -1
  266. package/dist/types/ai-model/shared/model-locate-result/types.d.ts +4 -0
  267. package/dist/types/ai-model/shared/model-locate-result/types.d.ts.map +1 -1
  268. package/dist/types/ai-model/shared/model-locate-result/validation.d.ts.map +1 -1
  269. package/dist/types/ai-model/workflows/grounding/locate.d.ts.map +1 -1
  270. package/dist/types/ai-model/workflows/grounding/section-locate.d.ts.map +1 -1
  271. package/dist/types/ai-model/workflows/insight/boolean.d.ts.map +1 -1
  272. package/dist/types/ai-model/workflows/insight/extraction.d.ts +2 -0
  273. package/dist/types/ai-model/workflows/insight/extraction.d.ts.map +1 -1
  274. package/dist/types/ai-model/workflows/planning/standard-planning.d.ts.map +1 -1
  275. package/dist/types/ai-model/workflows/planning/types.d.ts +2 -1
  276. package/dist/types/ai-model/workflows/planning/types.d.ts.map +1 -1
  277. package/dist/types/ai-model/workflows/recorder-generation/playwright.d.ts.map +1 -1
  278. package/dist/types/ai-model/workflows/recorder-generation/yaml.d.ts.map +1 -1
  279. package/dist/types/device/index.d.ts +1 -0
  280. package/dist/types/device/index.d.ts.map +1 -1
  281. package/dist/types/service/index.d.ts +1 -1
  282. package/dist/types/service/index.d.ts.map +1 -1
  283. package/dist/types/types.d.ts +14 -3
  284. package/dist/types/types.d.ts.map +1 -1
  285. package/package.json +3 -2
  286. package/dist/es/ai-model/models/task-routing.mjs +0 -28
  287. package/dist/es/ai-model/models/task-routing.mjs.map +0 -1
  288. package/dist/es/ai-model/service-caller/system-one.mjs +0 -163
  289. package/dist/es/ai-model/service-caller/system-one.mjs.map +0 -1
  290. package/dist/lib/ai-model/models/task-routing.js.map +0 -1
  291. package/dist/lib/ai-model/service-caller/system-one.js +0 -206
  292. package/dist/lib/ai-model/service-caller/system-one.js.map +0 -1
  293. package/dist/types/ai-model/models/task-routing.d.ts +0 -6
  294. package/dist/types/ai-model/models/task-routing.d.ts.map +0 -1
  295. package/dist/types/ai-model/service-caller/system-one.d.ts.map +0 -1
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ prepareSiwcCall: ()=>prepareSiwcCall
28
+ });
29
+ const external_token_manager_js_namespaceObject = require("./token-manager.js");
30
+ async function prepareSiwcCall(modelRuntime, options) {
31
+ if ('siwc' !== modelRuntime.config.authMode) return {
32
+ modelRuntime,
33
+ options
34
+ };
35
+ const baseURL = 'https://api.openai.com/v1';
36
+ const apiKey = await external_token_manager_js_namespaceObject.siwcTokenManager.getAccessToken();
37
+ return {
38
+ modelRuntime: {
39
+ ...modelRuntime,
40
+ config: {
41
+ ...modelRuntime.config,
42
+ openaiBaseURL: baseURL,
43
+ openaiApiKey: apiKey,
44
+ openaiExtraConfig: {
45
+ ...modelRuntime.config.openaiExtraConfig,
46
+ baseURL,
47
+ apiKey
48
+ },
49
+ protocol: 'openai-responses',
50
+ streamMode: 'stream'
51
+ }
52
+ },
53
+ options: {
54
+ ...options,
55
+ stream: true
56
+ }
57
+ };
58
+ }
59
+ exports.prepareSiwcCall = __webpack_exports__.prepareSiwcCall;
60
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
61
+ "prepareSiwcCall"
62
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
63
+ Object.defineProperty(exports, '__esModule', {
64
+ value: true
65
+ });
66
+
67
+ //# sourceMappingURL=prepare-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/openai/siwc/prepare-call.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../../../src/ai-model/service-caller/openai/siwc/prepare-call.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { ModelRuntime } from '../../../models';\nimport type { CallAIOptions } from '../../types';\nimport { siwcTokenManager } from './token-manager';\n\n/** Build effective request settings without mutating the user's configuration. */\nexport async function prepareSiwcCall(\n modelRuntime: ModelRuntime,\n options?: CallAIOptions,\n): Promise<{ modelRuntime: ModelRuntime; options?: CallAIOptions }> {\n if (modelRuntime.config.authMode !== 'siwc') {\n return { modelRuntime, options };\n }\n const baseURL = 'https://api.openai.com/v1';\n const apiKey = await siwcTokenManager.getAccessToken();\n return {\n modelRuntime: {\n ...modelRuntime,\n config: {\n ...modelRuntime.config,\n openaiBaseURL: baseURL,\n openaiApiKey: apiKey,\n openaiExtraConfig: {\n ...modelRuntime.config.openaiExtraConfig,\n baseURL,\n apiKey,\n },\n protocol: 'openai-responses',\n streamMode: 'stream',\n },\n },\n options: { ...options, stream: true },\n };\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","prepareSiwcCall","modelRuntime","options","baseURL","apiKey","siwcTokenManager"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;ACDO,eAAeI,gBACpBC,YAA0B,EAC1BC,OAAuB;IAEvB,IAAID,AAAiC,WAAjCA,aAAa,MAAM,CAAC,QAAQ,EAC9B,OAAO;QAAEA;QAAcC;IAAQ;IAEjC,MAAMC,UAAU;IAChB,MAAMC,SAAS,MAAMC,0CAAAA,gBAAAA,CAAAA,cAA+B;IACpD,OAAO;QACL,cAAc;YACZ,GAAGJ,YAAY;YACf,QAAQ;gBACN,GAAGA,aAAa,MAAM;gBACtB,eAAeE;gBACf,cAAcC;gBACd,mBAAmB;oBACjB,GAAGH,aAAa,MAAM,CAAC,iBAAiB;oBACxCE;oBACAC;gBACF;gBACA,UAAU;gBACV,YAAY;YACd;QACF;QACA,SAAS;YAAE,GAAGF,OAAO;YAAE,QAAQ;QAAK;IACtC;AACF"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ refreshSiwcCredentials: ()=>refreshSiwcCredentials
28
+ });
29
+ const external_jose_namespaceObject = require("jose");
30
+ const external_errors_js_namespaceObject = require("./errors.js");
31
+ async function refreshSiwcCredentials(saved, signal, dependencies) {
32
+ const { client_id: clientId, refresh_token: refreshToken } = saved;
33
+ if (!clientId || !refreshToken) throw new Error('Missing client ID or refresh token.');
34
+ const issuer = 'https://auth.openai.com';
35
+ signal.throwIfAborted();
36
+ const response = await (0, external_errors_js_namespaceObject.withSiwcStage)('Token refresh', async ()=>{
37
+ const response = await (dependencies?.fetch ?? fetch)(`${issuer}/api/accounts/oauth/token`, {
38
+ method: 'POST',
39
+ headers: {
40
+ 'Content-Type': 'application/x-www-form-urlencoded'
41
+ },
42
+ body: new URLSearchParams({
43
+ grant_type: 'refresh_token',
44
+ client_id: clientId,
45
+ refresh_token: refreshToken,
46
+ resource: 'https://api.openai.com/v1'
47
+ }),
48
+ signal,
49
+ redirect: 'error'
50
+ });
51
+ if (!response.ok) throw await (0, external_errors_js_namespaceObject.tokenResponseError)(response);
52
+ return response;
53
+ });
54
+ const tokens = await (0, external_errors_js_namespaceObject.withSiwcStage)('Refresh response parsing', ()=>response.json());
55
+ if (!tokens || 'string' != typeof tokens.access_token || !tokens.access_token.trim() || 'string' != typeof tokens.refresh_token || !tokens.refresh_token.trim() || 'number' != typeof tokens.expires_in || !Number.isFinite(tokens.expires_in) || tokens.expires_in <= 0 || 'string' != typeof tokens.token_type || 'bearer' !== tokens.token_type.toLowerCase() || 'string' != typeof tokens.scope) throw new Error('OpenAI returned an invalid refresh response.');
56
+ const scopes = tokens.scope.split(/\s+/);
57
+ if (!scopes.includes('chatgpt.tokens.use.direct')) throw new Error('ChatGPT plan usage is no longer authorized.');
58
+ if (void 0 !== tokens.id_token) {
59
+ if ('string' != typeof tokens.id_token || !tokens.id_token) throw new Error('Invalid refreshed ID token.');
60
+ const keys = dependencies?.keys ?? (0, external_jose_namespaceObject.createRemoteJWKSet)(new URL(`${issuer}/.well-known/jwks.json`));
61
+ const { payload } = await (0, external_errors_js_namespaceObject.withSiwcStage)('ID token verification', ()=>(0, external_jose_namespaceObject.jwtVerify)(tokens.id_token, keys, {
62
+ issuer,
63
+ audience: saved.client_id,
64
+ algorithms: [
65
+ 'RS256'
66
+ ],
67
+ clockTolerance: 1 / 0,
68
+ requiredClaims: [
69
+ 'sub',
70
+ 'exp',
71
+ 'iat'
72
+ ]
73
+ }));
74
+ if (payload.sub !== saved.subject) throw new Error('Refreshed identity does not match the saved account.');
75
+ }
76
+ signal.throwIfAborted();
77
+ return {
78
+ ...saved,
79
+ access_token: tokens.access_token,
80
+ refresh_token: tokens.refresh_token,
81
+ id_token: tokens.id_token ?? saved.id_token,
82
+ scopes,
83
+ expires_at: Date.now() + 1000 * tokens.expires_in
84
+ };
85
+ }
86
+ exports.refreshSiwcCredentials = __webpack_exports__.refreshSiwcCredentials;
87
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
88
+ "refreshSiwcCredentials"
89
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
90
+ Object.defineProperty(exports, '__esModule', {
91
+ value: true
92
+ });
93
+
94
+ //# sourceMappingURL=refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/openai/siwc/refresh.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../../../src/ai-model/service-caller/openai/siwc/refresh.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { type JWTVerifyGetKey, createRemoteJWKSet, jwtVerify } from 'jose';\nimport { tokenResponseError, withSiwcStage } from './errors';\ninterface RefreshableCredentials {\n client_id?: string;\n refresh_token?: string;\n subject?: string;\n id_token?: string;\n}\n\nexport async function refreshSiwcCredentials<T extends RefreshableCredentials>(\n saved: T,\n signal: AbortSignal,\n dependencies?: { fetch: typeof fetch; keys: JWTVerifyGetKey },\n) {\n const { client_id: clientId, refresh_token: refreshToken } = saved;\n if (!clientId || !refreshToken) {\n throw new Error('Missing client ID or refresh token.');\n }\n const issuer = 'https://auth.openai.com';\n signal.throwIfAborted();\n const response = await withSiwcStage('Token refresh', async () => {\n const response = await (dependencies?.fetch ?? fetch)(\n `${issuer}/api/accounts/oauth/token`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body: new URLSearchParams({\n grant_type: 'refresh_token',\n client_id: clientId,\n refresh_token: refreshToken,\n resource: 'https://api.openai.com/v1',\n }),\n signal,\n redirect: 'error',\n },\n );\n if (!response.ok) {\n throw await tokenResponseError(response);\n }\n return response;\n });\n const tokens = await withSiwcStage('Refresh response parsing', () =>\n response.json(),\n );\n if (\n !tokens ||\n typeof tokens.access_token !== 'string' ||\n !tokens.access_token.trim() ||\n typeof tokens.refresh_token !== 'string' ||\n !tokens.refresh_token.trim() ||\n typeof tokens.expires_in !== 'number' ||\n !Number.isFinite(tokens.expires_in) ||\n tokens.expires_in <= 0 ||\n typeof tokens.token_type !== 'string' ||\n tokens.token_type.toLowerCase() !== 'bearer' ||\n typeof tokens.scope !== 'string'\n ) {\n throw new Error('OpenAI returned an invalid refresh response.');\n }\n const scopes = tokens.scope.split(/\\s+/);\n if (!scopes.includes('chatgpt.tokens.use.direct')) {\n throw new Error('ChatGPT plan usage is no longer authorized.');\n }\n if (tokens.id_token !== undefined) {\n if (typeof tokens.id_token !== 'string' || !tokens.id_token) {\n throw new Error('Invalid refreshed ID token.');\n }\n const keys =\n dependencies?.keys ??\n createRemoteJWKSet(new URL(`${issuer}/.well-known/jwks.json`));\n const { payload } = await withSiwcStage('ID token verification', () =>\n jwtVerify(tokens.id_token, keys, {\n issuer,\n audience: saved.client_id,\n algorithms: ['RS256'],\n // Some CI machines have incorrect system clocks. Do not compare ID token\n // exp/nbf claims against local time when accepting newly returned tokens.\n // Keep signature, issuer, audience and required-claim validation.\n clockTolerance: Number.POSITIVE_INFINITY,\n requiredClaims: ['sub', 'exp', 'iat'],\n }),\n );\n if (payload.sub !== saved.subject) {\n throw new Error('Refreshed identity does not match the saved account.');\n }\n }\n signal.throwIfAborted();\n return {\n ...saved,\n access_token: tokens.access_token,\n refresh_token: tokens.refresh_token,\n id_token: tokens.id_token ?? saved.id_token,\n scopes,\n expires_at: Date.now() + tokens.expires_in * 1000,\n };\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","refreshSiwcCredentials","saved","signal","dependencies","clientId","refreshToken","Error","issuer","response","withSiwcStage","fetch","URLSearchParams","tokenResponseError","tokens","Number","scopes","undefined","keys","createRemoteJWKSet","URL","payload","jwtVerify","Date"],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ siwcTokenManager: ()=>siwcTokenManager
28
+ });
29
+ const external_credential_storage_js_namespaceObject = require("./credential-storage.js");
30
+ const external_refresh_js_namespaceObject = require("./refresh.js");
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ else obj[key] = value;
39
+ return obj;
40
+ }
41
+ class SiwcTokenManager {
42
+ async getAccessToken() {
43
+ const storage = await (0, external_credential_storage_js_namespaceObject.getCredentialStorage)();
44
+ const record = await storage.read();
45
+ return record.credentials.access_token;
46
+ }
47
+ refreshAccessToken(previousAccessToken) {
48
+ this.pendingRefresh ??= this.refreshAndSave(previousAccessToken).finally(()=>{
49
+ this.pendingRefresh = void 0;
50
+ });
51
+ return this.pendingRefresh;
52
+ }
53
+ async refreshAndSave(previousAccessToken) {
54
+ const storage = await (0, external_credential_storage_js_namespaceObject.getCredentialStorage)();
55
+ const record = await storage.read();
56
+ const saved = record.credentials;
57
+ if (saved.access_token !== previousAccessToken) return saved.access_token;
58
+ try {
59
+ const credentials = await (0, external_refresh_js_namespaceObject.refreshSiwcCredentials)(saved, AbortSignal.timeout(30000));
60
+ await storage.save({
61
+ ...record,
62
+ updated_at: new Date().toISOString(),
63
+ credentials
64
+ });
65
+ return credentials.access_token;
66
+ } catch (cause) {
67
+ throw new Error(`Unable to refresh SIWC credentials: ${cause instanceof Error ? cause.message : String(cause)} ${storage.reauthorizationHint}`, {
68
+ cause
69
+ });
70
+ }
71
+ }
72
+ constructor(){
73
+ _define_property(this, "pendingRefresh", void 0);
74
+ }
75
+ }
76
+ const siwcTokenManager = new SiwcTokenManager();
77
+ exports.siwcTokenManager = __webpack_exports__.siwcTokenManager;
78
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
79
+ "siwcTokenManager"
80
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
81
+ Object.defineProperty(exports, '__esModule', {
82
+ value: true
83
+ });
84
+
85
+ //# sourceMappingURL=token-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/openai/siwc/token-manager.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../../../src/ai-model/service-caller/openai/siwc/token-manager.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { getCredentialStorage } from './credential-storage';\nimport { refreshSiwcCredentials } from './refresh';\n\nclass SiwcTokenManager {\n private pendingRefresh?: Promise<string>;\n\n async getAccessToken(): Promise<string> {\n const storage = await getCredentialStorage();\n const record = await storage.read();\n // Some CI machines have incorrect system clocks. Let the server reject\n // expired tokens instead of comparing expires_at against local time.\n return record.credentials.access_token;\n }\n\n /** Only refresh operations are shared; ordinary reads remain independent. */\n refreshAccessToken(previousAccessToken: string): Promise<string> {\n this.pendingRefresh ??= this.refreshAndSave(previousAccessToken).finally(\n () => {\n this.pendingRefresh = undefined;\n },\n );\n return this.pendingRefresh;\n }\n\n private async refreshAndSave(previousAccessToken: string): Promise<string> {\n // Re-read after acquiring the refresh slot: another caller may have saved\n // a new token since this request first read its credentials.\n const storage = await getCredentialStorage();\n const record = await storage.read();\n const saved = record.credentials;\n if (saved.access_token !== previousAccessToken) {\n return saved.access_token;\n }\n try {\n const credentials = await refreshSiwcCredentials(\n saved,\n AbortSignal.timeout(30_000),\n );\n await storage.save({\n ...record,\n updated_at: new Date().toISOString(),\n credentials,\n });\n return credentials.access_token;\n } catch (cause) {\n throw new Error(\n `Unable to refresh SIWC credentials: ${cause instanceof Error ? cause.message : String(cause)} ${storage.reauthorizationHint}`,\n { cause },\n );\n }\n }\n}\n\nexport const siwcTokenManager = new SiwcTokenManager();\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","SiwcTokenManager","storage","getCredentialStorage","record","previousAccessToken","undefined","saved","credentials","refreshSiwcCredentials","AbortSignal","Date","cause","Error","String","siwcTokenManager"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;;;;;;;;;;;ACHA,MAAMI;IAGJ,MAAM,iBAAkC;QACtC,MAAMC,UAAU,MAAMC,AAAAA,IAAAA,+CAAAA,oBAAAA,AAAAA;QACtB,MAAMC,SAAS,MAAMF,QAAQ,IAAI;QAGjC,OAAOE,OAAO,WAAW,CAAC,YAAY;IACxC;IAGA,mBAAmBC,mBAA2B,EAAmB;QAC/D,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,cAAc,CAACA,qBAAqB,OAAO,CACtE;YACE,IAAI,CAAC,cAAc,GAAGC;QACxB;QAEF,OAAO,IAAI,CAAC,cAAc;IAC5B;IAEA,MAAc,eAAeD,mBAA2B,EAAmB;QAGzE,MAAMH,UAAU,MAAMC,AAAAA,IAAAA,+CAAAA,oBAAAA,AAAAA;QACtB,MAAMC,SAAS,MAAMF,QAAQ,IAAI;QACjC,MAAMK,QAAQH,OAAO,WAAW;QAChC,IAAIG,MAAM,YAAY,KAAKF,qBACzB,OAAOE,MAAM,YAAY;QAE3B,IAAI;YACF,MAAMC,cAAc,MAAMC,AAAAA,IAAAA,oCAAAA,sBAAAA,AAAAA,EACxBF,OACAG,YAAY,OAAO,CAAC;YAEtB,MAAMR,QAAQ,IAAI,CAAC;gBACjB,GAAGE,MAAM;gBACT,YAAY,IAAIO,OAAO,WAAW;gBAClCH;YACF;YACA,OAAOA,YAAY,YAAY;QACjC,EAAE,OAAOI,OAAO;YACd,MAAM,IAAIC,MACR,CAAC,oCAAoC,EAAED,iBAAiBC,QAAQD,MAAM,OAAO,GAAGE,OAAOF,OAAO,CAAC,EAAEV,QAAQ,mBAAmB,EAAE,EAC9H;gBAAEU;YAAM;QAEZ;IACF;;QA9CA,uBAAQ,kBAAR;;AA+CF;AAEO,MAAMG,mBAAmB,IAAId"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ callSystemOne: ()=>callSystemOne
28
+ });
29
+ const utils_namespaceObject = require("@midscene/shared/utils");
30
+ const external_schema_js_namespaceObject = require("./schema.js");
31
+ async function callSystemOne(context, prepared) {
32
+ const start = Date.now();
33
+ context.recordEvent?.({
34
+ type: 'request',
35
+ request: {
36
+ url: prepared.url,
37
+ method: 'POST',
38
+ body: prepared.body
39
+ }
40
+ });
41
+ try {
42
+ const response = await fetch(prepared.url, {
43
+ method: 'POST',
44
+ headers: prepared.headers,
45
+ body: prepared.body,
46
+ signal: context.requestSignal,
47
+ ...prepared.dispatcher ? {
48
+ dispatcher: prepared.dispatcher
49
+ } : {}
50
+ });
51
+ const body = await response.text();
52
+ const http = {
53
+ status: response.status,
54
+ ok: response.ok,
55
+ body
56
+ };
57
+ context.recordEvent?.({
58
+ type: 'http-response',
59
+ http
60
+ });
61
+ if (!response.ok) throw new Error(`Jev request failed (${response.status}): ${body.slice(0, 4000)}`);
62
+ const result = external_schema_js_namespaceObject.systemOneResponseSchema.parse(JSON.parse(body));
63
+ for (const [name, question] of Object.entries(prepared.questions)){
64
+ (0, utils_namespaceObject.assert)(result.answers[name]?.type === question.type, `Missing or invalid Jev answer: ${name}`);
65
+ const answer = result.answers[name];
66
+ if ('choice' === question.type && 'choice' === answer.type) (0, utils_namespaceObject.assert)(Object.hasOwn(question.criteria, answer.choice), `Invalid Jev choice: ${name}`);
67
+ }
68
+ const input = result.usage?.input_tokens;
69
+ const output = result.usage?.output_tokens;
70
+ const final = {
71
+ content: body,
72
+ isStreamed: false,
73
+ rawUsage: null != input && null != output ? {
74
+ prompt_tokens: input,
75
+ completion_tokens: output,
76
+ total_tokens: input + output
77
+ } : void 0,
78
+ timeCost: Date.now() - start,
79
+ requestId: void 0,
80
+ responseModelName: result.model
81
+ };
82
+ context.recordEvent?.({
83
+ type: 'response',
84
+ final
85
+ });
86
+ return final;
87
+ } catch (error) {
88
+ context.recordEvent?.({
89
+ type: 'error',
90
+ error: error instanceof Error ? error.message : String(error)
91
+ });
92
+ throw error;
93
+ }
94
+ }
95
+ exports.callSystemOne = __webpack_exports__.callSystemOne;
96
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
97
+ "callSystemOne"
98
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
99
+ Object.defineProperty(exports, '__esModule', {
100
+ value: true
101
+ });
102
+
103
+ //# sourceMappingURL=call-system-one.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/system-one/call-system-one.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../../src/ai-model/service-caller/system-one/call-system-one.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { assert } from '@midscene/shared/utils';\nimport type { ModelCallContext, ModelCallResult } from '../types';\nimport type { prepareSystemOne } from './prepare-system-one';\nimport { systemOneResponseSchema } from './schema';\n\nexport async function callSystemOne(\n context: ModelCallContext,\n prepared: Awaited<ReturnType<typeof prepareSystemOne>>,\n): Promise<ModelCallResult> {\n const start = Date.now();\n context.recordEvent?.({\n type: 'request',\n request: { url: prepared.url, method: 'POST', body: prepared.body },\n });\n try {\n const response = await fetch(prepared.url, {\n method: 'POST',\n headers: prepared.headers,\n body: prepared.body,\n signal: context.requestSignal,\n ...(prepared.dispatcher ? { dispatcher: prepared.dispatcher } : {}),\n });\n const body = await response.text();\n const http = { status: response.status, ok: response.ok, body };\n context.recordEvent?.({ type: 'http-response', http });\n if (!response.ok) {\n throw new Error(\n `Jev request failed (${response.status}): ${body.slice(0, 4000)}`,\n );\n }\n const result = systemOneResponseSchema.parse(JSON.parse(body));\n for (const [name, question] of Object.entries(prepared.questions)) {\n assert(\n result.answers[name]?.type === question.type,\n `Missing or invalid Jev answer: ${name}`,\n );\n const answer = result.answers[name];\n if (question.type === 'choice' && answer.type === 'choice') {\n assert(\n Object.hasOwn(question.criteria, answer.choice),\n `Invalid Jev choice: ${name}`,\n );\n }\n }\n const input = result.usage?.input_tokens;\n const output = result.usage?.output_tokens;\n const final: ModelCallResult = {\n content: body,\n isStreamed: false,\n rawUsage:\n input != null && output != null\n ? {\n prompt_tokens: input,\n completion_tokens: output,\n total_tokens: input + output,\n }\n : undefined,\n timeCost: Date.now() - start,\n // TypeSafe and OpenRouter use different ID field names; defer compatibility handling.\n requestId: undefined,\n responseModelName: result.model,\n };\n context.recordEvent?.({ type: 'response', final });\n return final;\n } catch (error) {\n context.recordEvent?.({\n type: 'error',\n error: error instanceof Error ? error.message : String(error),\n });\n throw error;\n }\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","callSystemOne","context","prepared","start","Date","response","fetch","body","http","Error","result","systemOneResponseSchema","JSON","name","question","assert","answer","input","output","final","undefined","error","String"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ prepareSystemOne: ()=>external_prepare_system_one_js_namespaceObject.prepareSystemOne,
28
+ callSystemOne: ()=>external_call_system_one_js_namespaceObject.callSystemOne
29
+ });
30
+ const external_call_system_one_js_namespaceObject = require("./call-system-one.js");
31
+ const external_prepare_system_one_js_namespaceObject = require("./prepare-system-one.js");
32
+ exports.callSystemOne = __webpack_exports__.callSystemOne;
33
+ exports.prepareSystemOne = __webpack_exports__.prepareSystemOne;
34
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
35
+ "callSystemOne",
36
+ "prepareSystemOne"
37
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
38
+ Object.defineProperty(exports, '__esModule', {
39
+ value: true
40
+ });
41
+
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/system-one/index.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ prepareSystemOne: ()=>prepareSystemOne
28
+ });
29
+ const utils_namespaceObject = require("@midscene/shared/utils");
30
+ const index_js_namespaceObject = require("../proxy/index.js");
31
+ const external_utils_js_namespaceObject = require("./utils.js");
32
+ async function prepareSystemOne(config, request) {
33
+ (0, utils_namespaceObject.assert)(config.openaiBaseURL, 'Jev requires MIDSCENE_*_MODEL_BASE_URL');
34
+ (0, utils_namespaceObject.assert)(config.openaiApiKey, 'Jev requires MIDSCENE_*_MODEL_API_KEY');
35
+ (0, utils_namespaceObject.assert)(!config.protocol || 'openai-chat' === config.protocol, 'Jev uses System One, not the Responses API');
36
+ const base = config.openaiBaseURL.replace(/\/+$/, '');
37
+ const url = `${base}/systemone`;
38
+ const isOpenRouter = 'openrouter.ai' === new URL(base).hostname;
39
+ const { imageState, assets } = (0, external_utils_js_namespaceObject.encodeSystemOneImages)(request.images, isOpenRouter);
40
+ const body = {
41
+ ...config.extraBody,
42
+ model: config.modelName,
43
+ state: {
44
+ ...request.state,
45
+ ...imageState
46
+ },
47
+ questions: request.questions,
48
+ ...!isOpenRouter && Object.keys(assets).length ? {
49
+ assets
50
+ } : {}
51
+ };
52
+ const serializedBody = JSON.stringify(body);
53
+ (0, utils_namespaceObject.assert)(new TextEncoder().encode(serializedBody).length <= 33554432, 'Jev request exceeds the 32 MiB body limit');
54
+ return {
55
+ url,
56
+ body: serializedBody,
57
+ questions: request.questions,
58
+ headers: {
59
+ ...config.openaiExtraConfig?.defaultHeaders,
60
+ Authorization: `Bearer ${config.openaiApiKey}`,
61
+ 'Content-Type': 'application/json',
62
+ 'TypeSafe-Danger-Zone-Images': 'true'
63
+ },
64
+ dispatcher: await (0, index_js_namespaceObject.createProxyAgentIfNeeded)({
65
+ socksProxy: config.socksProxy,
66
+ httpProxy: config.httpProxy
67
+ })
68
+ };
69
+ }
70
+ exports.prepareSystemOne = __webpack_exports__.prepareSystemOne;
71
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
72
+ "prepareSystemOne"
73
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
74
+ Object.defineProperty(exports, '__esModule', {
75
+ value: true
76
+ });
77
+
78
+ //# sourceMappingURL=prepare-system-one.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/system-one/prepare-system-one.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../../src/ai-model/service-caller/system-one/prepare-system-one.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { IModelConfig } from '@midscene/shared/env';\nimport { assert } from '@midscene/shared/utils';\nimport { createProxyAgentIfNeeded } from '../proxy';\nimport type { SystemOneRequest } from './schema';\nimport { encodeSystemOneImages } from './utils';\n\nexport async function prepareSystemOne(\n config: IModelConfig,\n request: SystemOneRequest,\n) {\n assert(config.openaiBaseURL, 'Jev requires MIDSCENE_*_MODEL_BASE_URL');\n assert(config.openaiApiKey, 'Jev requires MIDSCENE_*_MODEL_API_KEY');\n assert(\n !config.protocol || config.protocol === 'openai-chat',\n 'Jev uses System One, not the Responses API',\n );\n const base = config.openaiBaseURL.replace(/\\/+$/, '');\n const url = `${base}/systemone`;\n const isOpenRouter = new URL(base).hostname === 'openrouter.ai';\n const { imageState, assets } = encodeSystemOneImages(\n request.images,\n isOpenRouter,\n );\n const body = {\n ...config.extraBody,\n model: config.modelName,\n state: { ...request.state, ...imageState },\n questions: request.questions,\n ...(!isOpenRouter && Object.keys(assets).length ? { assets } : {}),\n };\n const serializedBody = JSON.stringify(body);\n assert(\n new TextEncoder().encode(serializedBody).length <= 32 * 1024 * 1024,\n 'Jev request exceeds the 32 MiB body limit',\n );\n return {\n url,\n body: serializedBody,\n questions: request.questions,\n headers: {\n ...(config.openaiExtraConfig?.defaultHeaders as\n | Record<string, string>\n | undefined),\n Authorization: `Bearer ${config.openaiApiKey}`,\n 'Content-Type': 'application/json',\n 'TypeSafe-Danger-Zone-Images': 'true',\n },\n dispatcher: await createProxyAgentIfNeeded({\n socksProxy: config.socksProxy,\n httpProxy: config.httpProxy,\n }),\n };\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","prepareSystemOne","config","request","assert","base","url","isOpenRouter","URL","imageState","assets","encodeSystemOneImages","body","serializedBody","JSON","TextEncoder","createProxyAgentIfNeeded"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;;ACAO,eAAeI,iBACpBC,MAAoB,EACpBC,OAAyB;IAEzBC,IAAAA,sBAAAA,MAAAA,AAAAA,EAAOF,OAAO,aAAa,EAAE;IAC7BE,IAAAA,sBAAAA,MAAAA,AAAAA,EAAOF,OAAO,YAAY,EAAE;IAC5BE,IAAAA,sBAAAA,MAAAA,AAAAA,EACE,CAACF,OAAO,QAAQ,IAAIA,AAAoB,kBAApBA,OAAO,QAAQ,EACnC;IAEF,MAAMG,OAAOH,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ;IAClD,MAAMI,MAAM,GAAGD,KAAK,UAAU,CAAC;IAC/B,MAAME,eAAe,AAA2B,oBAA3B,IAAIC,IAAIH,MAAM,QAAQ;IAC3C,MAAM,EAAEI,UAAU,EAAEC,MAAM,EAAE,GAAGC,AAAAA,IAAAA,kCAAAA,qBAAAA,AAAAA,EAC7BR,QAAQ,MAAM,EACdI;IAEF,MAAMK,OAAO;QACX,GAAGV,OAAO,SAAS;QACnB,OAAOA,OAAO,SAAS;QACvB,OAAO;YAAE,GAAGC,QAAQ,KAAK;YAAE,GAAGM,UAAU;QAAC;QACzC,WAAWN,QAAQ,SAAS;QAC5B,GAAI,CAACI,gBAAgBV,OAAO,IAAI,CAACa,QAAQ,MAAM,GAAG;YAAEA;QAAO,IAAI,CAAC,CAAC;IACnE;IACA,MAAMG,iBAAiBC,KAAK,SAAS,CAACF;IACtCR,IAAAA,sBAAAA,MAAAA,AAAAA,EACE,IAAIW,cAAc,MAAM,CAACF,gBAAgB,MAAM,IAAI,UACnD;IAEF,OAAO;QACLP;QACA,MAAMO;QACN,WAAWV,QAAQ,SAAS;QAC5B,SAAS;YACP,GAAID,OAAO,iBAAiB,EAAE,cAAc;YAG5C,eAAe,CAAC,OAAO,EAAEA,OAAO,YAAY,EAAE;YAC9C,gBAAgB;YAChB,+BAA+B;QACjC;QACA,YAAY,MAAMc,AAAAA,IAAAA,yBAAAA,wBAAAA,AAAAA,EAAyB;YACzC,YAAYd,OAAO,UAAU;YAC7B,WAAWA,OAAO,SAAS;QAC7B;IACF;AACF"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ systemOneResponseSchema: ()=>systemOneResponseSchema,
28
+ systemOneAnswerSchema: ()=>systemOneAnswerSchema
29
+ });
30
+ const external_zod_namespaceObject = require("zod");
31
+ const probability = external_zod_namespaceObject.z.number().min(0).max(1);
32
+ const systemOneAnswerSchema = external_zod_namespaceObject.z.discriminatedUnion('type', [
33
+ external_zod_namespaceObject.z.object({
34
+ type: external_zod_namespaceObject.z.literal('noul'),
35
+ noul: probability
36
+ }),
37
+ external_zod_namespaceObject.z.object({
38
+ type: external_zod_namespaceObject.z.literal('choice'),
39
+ choice: external_zod_namespaceObject.z.string()
40
+ }),
41
+ external_zod_namespaceObject.z.object({
42
+ type: external_zod_namespaceObject.z.literal('box'),
43
+ box: external_zod_namespaceObject.z.object({
44
+ left: probability,
45
+ right: probability,
46
+ top: probability,
47
+ bottom: probability
48
+ }).refine((box)=>box.left < box.right && box.top < box.bottom, 'Invalid box edges')
49
+ })
50
+ ]);
51
+ const systemOneResponseSchema = external_zod_namespaceObject.z.object({
52
+ model: external_zod_namespaceObject.z.string().optional(),
53
+ answers: external_zod_namespaceObject.z.record(systemOneAnswerSchema),
54
+ usage: external_zod_namespaceObject.z.object({
55
+ input_tokens: external_zod_namespaceObject.z.number().nonnegative().nullable().optional(),
56
+ output_tokens: external_zod_namespaceObject.z.number().nonnegative().nullable().optional()
57
+ }).optional()
58
+ });
59
+ exports.systemOneAnswerSchema = __webpack_exports__.systemOneAnswerSchema;
60
+ exports.systemOneResponseSchema = __webpack_exports__.systemOneResponseSchema;
61
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
62
+ "systemOneAnswerSchema",
63
+ "systemOneResponseSchema"
64
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
65
+ Object.defineProperty(exports, '__esModule', {
66
+ value: true
67
+ });
68
+
69
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-model/service-caller/system-one/schema.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../../src/ai-model/service-caller/system-one/schema.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { z } from 'zod';\n\nexport interface SystemOneRequest {\n state: Record<string, unknown>;\n images?: Record<string, string>;\n questions: Record<\n string,\n | { type: 'noul' | 'box'; instructions: unknown }\n | {\n type: 'choice';\n instructions: unknown;\n criteria: Record<string, string>;\n }\n >;\n}\n\nconst probability = z.number().min(0).max(1);\nexport const systemOneAnswerSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('noul'), noul: probability }),\n z.object({ type: z.literal('choice'), choice: z.string() }),\n z.object({\n type: z.literal('box'),\n box: z\n .object({\n left: probability,\n right: probability,\n top: probability,\n bottom: probability,\n })\n .refine(\n (box) => box.left < box.right && box.top < box.bottom,\n 'Invalid box edges',\n ),\n }),\n]);\nexport const systemOneResponseSchema = z.object({\n model: z.string().optional(),\n answers: z.record(systemOneAnswerSchema),\n usage: z\n .object({\n input_tokens: z.number().nonnegative().nullable().optional(),\n output_tokens: z.number().nonnegative().nullable().optional(),\n })\n .optional(),\n});\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","probability","z","systemOneAnswerSchema","box","systemOneResponseSchema"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;ACUA,MAAMI,cAAcC,6BAAAA,CAAAA,CAAAA,MAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACnC,MAAMC,wBAAwBD,6BAAAA,CAAAA,CAAAA,kBAAoB,CAAC,QAAQ;IAChEA,6BAAAA,CAAAA,CAAAA,MAAQ,CAAC;QAAE,MAAMA,6BAAAA,CAAAA,CAAAA,OAAS,CAAC;QAAS,MAAMD;IAAY;IACtDC,6BAAAA,CAAAA,CAAAA,MAAQ,CAAC;QAAE,MAAMA,6BAAAA,CAAAA,CAAAA,OAAS,CAAC;QAAW,QAAQA,6BAAAA,CAAAA,CAAAA,MAAQ;IAAG;IACzDA,6BAAAA,CAAAA,CAAAA,MAAQ,CAAC;QACP,MAAMA,6BAAAA,CAAAA,CAAAA,OAAS,CAAC;QAChB,KAAKA,6BAAAA,CAAAA,CAAAA,MACI,CAAC;YACN,MAAMD;YACN,OAAOA;YACP,KAAKA;YACL,QAAQA;QACV,GACC,MAAM,CACL,CAACG,MAAQA,IAAI,IAAI,GAAGA,IAAI,KAAK,IAAIA,IAAI,GAAG,GAAGA,IAAI,MAAM,EACrD;IAEN;CACD;AACM,MAAMC,0BAA0BH,6BAAAA,CAAAA,CAAAA,MAAQ,CAAC;IAC9C,OAAOA,6BAAAA,CAAAA,CAAAA,MAAQ,GAAG,QAAQ;IAC1B,SAASA,6BAAAA,CAAAA,CAAAA,MAAQ,CAACC;IAClB,OAAOD,6BAAAA,CAAAA,CAAAA,MACE,CAAC;QACN,cAAcA,6BAAAA,CAAAA,CAAAA,MAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ;QAC1D,eAAeA,6BAAAA,CAAAA,CAAAA,MAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ;IAC7D,GACC,QAAQ;AACb"}