cuelo 0.10.20 → 0.10.21

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 (358) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -5
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +2 -2
  6. package/.next/required-server-files.json +2 -2
  7. package/.next/routes-manifest.json +0 -6
  8. package/.next/server/app/_global-error/page.js +2 -2
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +2 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/api/agent/[id]/account/route.js +1 -1
  29. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  30. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  31. package/.next/server/app/api/agent/[id]/route.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js +1 -1
  33. package/.next/server/app/api/agent/running/route.js +1 -1
  34. package/.next/server/app/api/attachment-settings/route.js +1 -1
  35. package/.next/server/app/api/attachments/[id]/transcription/route.js +2 -2
  36. package/.next/server/app/api/attachments/draft/route.js +1 -1
  37. package/.next/server/app/api/attachments/route.js +2 -2
  38. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  39. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  41. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  42. package/.next/server/app/api/auth/providers/route.js +1 -1
  43. package/.next/server/app/api/cwd/browse/route.js +1 -1
  44. package/.next/server/app/api/cwd/validate/route.js +1 -1
  45. package/.next/server/app/api/default-cwd/route.js +1 -1
  46. package/.next/server/app/api/display-settings/route.js +1 -1
  47. package/.next/server/app/api/document-text/route.js +1 -1
  48. package/.next/server/app/api/experiments/route.js +1 -1
  49. package/.next/server/app/api/file-index/route.js +1 -1
  50. package/.next/server/app/api/files/[...path]/route.js +1 -1
  51. package/.next/server/app/api/git/diff/route.js +2 -2
  52. package/.next/server/app/api/git/status/route.js +1 -1
  53. package/.next/server/app/api/github/projects/route.js +1 -1
  54. package/.next/server/app/api/gpt6/handles/route.js +1 -1
  55. package/.next/server/app/api/gpt6/reply/route.js +1 -1
  56. package/.next/server/app/api/gpt6/token/route.js +1 -1
  57. package/.next/server/app/api/gpt6/web6-session/route.js +1 -1
  58. package/.next/server/app/api/home/route.js +1 -1
  59. package/.next/server/app/api/live/call/[callId]/route.js +3 -3
  60. package/.next/server/app/api/live/call/[callId]/route.js.nft.json +1 -1
  61. package/.next/server/app/api/live/events/route.js +4 -4
  62. package/.next/server/app/api/live/events/route.js.nft.json +1 -1
  63. package/.next/server/app/api/live/interpret/route.js +3 -3
  64. package/.next/server/app/api/live/interpret/route.js.nft.json +1 -1
  65. package/.next/server/app/api/live/offer/route.js +1 -1
  66. package/.next/server/app/api/live/offer/route.js.nft.json +1 -1
  67. package/.next/server/app/api/live/voices/route.js +1 -1
  68. package/.next/server/app/api/live/voices/route.js.nft.json +1 -1
  69. package/.next/server/app/api/mcp/route.js +2 -2
  70. package/.next/server/app/api/model-roles/route.js +1 -1
  71. package/.next/server/app/api/models/route.js +1 -1
  72. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  73. package/.next/server/app/api/models-config/discover/route.js +1 -1
  74. package/.next/server/app/api/models-config/route.js +3 -3
  75. package/.next/server/app/api/models-config/test/route.js +1 -1
  76. package/.next/server/app/api/office-avatars/[id]/route.js +1 -1
  77. package/.next/server/app/api/office-avatars/route.js +1 -1
  78. package/.next/server/app/api/plugins/route.js +1 -1
  79. package/.next/server/app/api/project-docs/route.js +1 -1
  80. package/.next/server/app/api/project-trust/route.js +1 -1
  81. package/.next/server/app/api/projects/route.js +1 -1
  82. package/.next/server/app/api/runs/[runId]/route.js +1 -1
  83. package/.next/server/app/api/runs/route.js +1 -1
  84. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  85. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  86. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  87. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  88. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  89. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  90. package/.next/server/app/api/sessions/route.js +1 -1
  91. package/.next/server/app/api/sessions/search/route.js +1 -1
  92. package/.next/server/app/api/settings/route.js +1 -1
  93. package/.next/server/app/api/sidecars/[service]/[...path]/route.js +1 -1
  94. package/.next/server/app/api/skills/check/route.js +1 -1
  95. package/.next/server/app/api/skills/install/route.js +2 -2
  96. package/.next/server/app/api/skills/route.js +1 -1
  97. package/.next/server/app/api/skills/search/route.js +1 -1
  98. package/.next/server/app/api/skills/update/route.js +1 -1
  99. package/.next/server/app/api/subagents/eta/route.js +1 -1
  100. package/.next/server/app/api/theme/route.js +1 -1
  101. package/.next/server/app/api/tool-image/route.js +1 -1
  102. package/.next/server/app/api/update-maintenance/route.js +3 -3
  103. package/.next/server/app/api/updates/route.js +1 -1
  104. package/.next/server/app/api/web-access/recovery/route.js +1 -1
  105. package/.next/server/app/api/web-access/route.js +1 -1
  106. package/.next/server/app/api/web6/consults/route.js +1 -1
  107. package/.next/server/app/api/worktrees/route.js +1 -1
  108. package/.next/server/app/favicon.ico/route.js +1 -1
  109. package/.next/server/app/index.html +1 -1
  110. package/.next/server/app/index.rsc +5 -5
  111. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  112. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  113. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  114. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  115. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  116. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  117. package/.next/server/app/office/page.js +2 -2
  118. package/.next/server/app/office/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/office-preview/page.js +2 -2
  120. package/.next/server/app/office-preview/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/office-preview.html +1 -1
  122. package/.next/server/app/office-preview.rsc +3 -3
  123. package/.next/server/app/office-preview.segments/_full.segment.rsc +3 -3
  124. package/.next/server/app/office-preview.segments/_head.segment.rsc +1 -1
  125. package/.next/server/app/office-preview.segments/_index.segment.rsc +3 -3
  126. package/.next/server/app/office-preview.segments/_tree.segment.rsc +2 -2
  127. package/.next/server/app/office-preview.segments/office-preview/__PAGE__.segment.rsc +1 -1
  128. package/.next/server/app/office-preview.segments/office-preview.segment.rsc +1 -1
  129. package/.next/server/app/office.html +1 -1
  130. package/.next/server/app/office.rsc +5 -5
  131. package/.next/server/app/office.segments/_full.segment.rsc +5 -5
  132. package/.next/server/app/office.segments/_head.segment.rsc +1 -1
  133. package/.next/server/app/office.segments/_index.segment.rsc +3 -3
  134. package/.next/server/app/office.segments/_tree.segment.rsc +2 -2
  135. package/.next/server/app/office.segments/office/__PAGE__.segment.rsc +3 -3
  136. package/.next/server/app/office.segments/office.segment.rsc +1 -1
  137. package/.next/server/app/page.js +2 -2
  138. package/.next/server/app/page_client-reference-manifest.js +1 -1
  139. package/.next/server/app/recover/page.js +2 -2
  140. package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
  141. package/.next/server/app/recover.html +1 -1
  142. package/.next/server/app/recover.rsc +3 -3
  143. package/.next/server/app/recover.segments/_full.segment.rsc +3 -3
  144. package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
  145. package/.next/server/app/recover.segments/_index.segment.rsc +3 -3
  146. package/.next/server/app/recover.segments/_tree.segment.rsc +2 -2
  147. package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
  148. package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
  149. package/.next/server/app-paths-manifest.json +4 -5
  150. package/.next/server/chunks/1008.js +5 -5
  151. package/.next/server/chunks/5489.js +4 -4
  152. package/.next/server/chunks/5582.js +1 -1
  153. package/.next/server/chunks/6429.js +5 -5
  154. package/.next/server/chunks/6775.js +7 -0
  155. package/.next/server/chunks/7362.js +1 -1
  156. package/.next/server/middleware-build-manifest.js +1 -1
  157. package/.next/server/pages/404.html +1 -1
  158. package/.next/server/pages/500.html +1 -1
  159. package/.next/server/server-reference-manifest.json +1 -1
  160. package/.next/static/IKi2VjUzAnD5AUcDn7QNi/_buildManifest.js +1 -0
  161. package/.next/static/chunks/6110-7a2311ab143b31e2.js +1 -0
  162. package/.next/static/chunks/{9575-f018b304d7088589.js → 9575-032510d25828764f.js} +4 -4
  163. package/.next/static/chunks/app/_global-error/{page-95aaaafc49522a6b.js → page-571d58ede1391fc8.js} +1 -1
  164. package/.next/static/chunks/app/api/agent/[id]/account/{route-95aaaafc49522a6b.js → route-571d58ede1391fc8.js} +1 -1
  165. package/.next/static/chunks/app/api/agent/[id]/bash-output/{route-95aaaafc49522a6b.js → route-571d58ede1391fc8.js} +1 -1
  166. package/.next/static/chunks/app/api/agent/[id]/events/{route-95aaaafc49522a6b.js → route-571d58ede1391fc8.js} +1 -1
  167. package/.next/static/chunks/app/api/agent/[id]/route-571d58ede1391fc8.js +1 -0
  168. package/.next/static/chunks/app/api/agent/new/route-571d58ede1391fc8.js +1 -0
  169. package/.next/static/chunks/app/api/agent/running/route-571d58ede1391fc8.js +1 -0
  170. package/.next/static/chunks/app/api/attachment-settings/route-571d58ede1391fc8.js +1 -0
  171. package/.next/static/chunks/app/api/attachments/[id]/transcription/route-571d58ede1391fc8.js +1 -0
  172. package/.next/static/chunks/app/api/attachments/draft/route-571d58ede1391fc8.js +1 -0
  173. package/.next/static/chunks/app/api/attachments/route-571d58ede1391fc8.js +1 -0
  174. package/.next/static/chunks/app/api/auth/all-providers/route-571d58ede1391fc8.js +1 -0
  175. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-571d58ede1391fc8.js +1 -0
  176. package/.next/static/chunks/app/api/auth/login/[provider]/route-571d58ede1391fc8.js +1 -0
  177. package/.next/static/chunks/app/api/auth/logout/[provider]/route-571d58ede1391fc8.js +1 -0
  178. package/.next/static/chunks/app/api/auth/providers/route-571d58ede1391fc8.js +1 -0
  179. package/.next/static/chunks/app/api/cwd/browse/route-571d58ede1391fc8.js +1 -0
  180. package/.next/static/chunks/app/api/cwd/validate/route-571d58ede1391fc8.js +1 -0
  181. package/.next/static/chunks/app/api/default-cwd/route-571d58ede1391fc8.js +1 -0
  182. package/.next/static/chunks/app/api/display-settings/route-571d58ede1391fc8.js +1 -0
  183. package/.next/static/chunks/app/api/document-text/route-571d58ede1391fc8.js +1 -0
  184. package/.next/static/chunks/app/api/experiments/route-571d58ede1391fc8.js +1 -0
  185. package/.next/static/chunks/app/api/file-index/route-571d58ede1391fc8.js +1 -0
  186. package/.next/static/chunks/app/api/files/[...path]/route-571d58ede1391fc8.js +1 -0
  187. package/.next/static/chunks/app/api/git/diff/route-571d58ede1391fc8.js +1 -0
  188. package/.next/static/chunks/app/api/git/status/route-571d58ede1391fc8.js +1 -0
  189. package/.next/static/chunks/app/api/github/projects/route-571d58ede1391fc8.js +1 -0
  190. package/.next/static/chunks/app/api/gpt6/handles/route-571d58ede1391fc8.js +1 -0
  191. package/.next/static/chunks/app/api/gpt6/reply/route-571d58ede1391fc8.js +1 -0
  192. package/.next/static/chunks/app/api/gpt6/token/route-571d58ede1391fc8.js +1 -0
  193. package/.next/static/chunks/app/api/gpt6/web6-session/route-571d58ede1391fc8.js +1 -0
  194. package/.next/static/chunks/app/api/home/route-571d58ede1391fc8.js +1 -0
  195. package/.next/static/chunks/app/api/live/call/[callId]/route-571d58ede1391fc8.js +1 -0
  196. package/.next/static/chunks/app/api/live/events/route-571d58ede1391fc8.js +1 -0
  197. package/.next/static/chunks/app/api/live/interpret/route-571d58ede1391fc8.js +1 -0
  198. package/.next/static/chunks/app/api/live/offer/route-571d58ede1391fc8.js +1 -0
  199. package/.next/static/chunks/app/api/live/voices/route-571d58ede1391fc8.js +1 -0
  200. package/.next/static/chunks/app/api/mcp/route-571d58ede1391fc8.js +1 -0
  201. package/.next/static/chunks/app/api/model-roles/route-571d58ede1391fc8.js +1 -0
  202. package/.next/static/chunks/app/api/models/route-571d58ede1391fc8.js +1 -0
  203. package/.next/static/chunks/app/api/models-config/catalog/route-571d58ede1391fc8.js +1 -0
  204. package/.next/static/chunks/app/api/models-config/discover/route-571d58ede1391fc8.js +1 -0
  205. package/.next/static/chunks/app/api/models-config/route-571d58ede1391fc8.js +1 -0
  206. package/.next/static/chunks/app/api/models-config/test/route-571d58ede1391fc8.js +1 -0
  207. package/.next/static/chunks/app/api/office-avatars/[id]/route-571d58ede1391fc8.js +1 -0
  208. package/.next/static/chunks/app/api/office-avatars/route-571d58ede1391fc8.js +1 -0
  209. package/.next/static/chunks/app/api/plugins/route-571d58ede1391fc8.js +1 -0
  210. package/.next/static/chunks/app/api/project-docs/route-571d58ede1391fc8.js +1 -0
  211. package/.next/static/chunks/app/api/project-trust/route-571d58ede1391fc8.js +1 -0
  212. package/.next/static/chunks/app/api/projects/route-571d58ede1391fc8.js +1 -0
  213. package/.next/static/chunks/app/api/runs/[runId]/route-571d58ede1391fc8.js +1 -0
  214. package/.next/static/chunks/app/api/runs/route-571d58ede1391fc8.js +1 -0
  215. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-571d58ede1391fc8.js +1 -0
  216. package/.next/static/chunks/app/api/sessions/[id]/context/route-571d58ede1391fc8.js +1 -0
  217. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-571d58ede1391fc8.js +1 -0
  218. package/.next/static/chunks/app/api/sessions/[id]/export/route-571d58ede1391fc8.js +1 -0
  219. package/.next/static/chunks/app/api/sessions/[id]/route-571d58ede1391fc8.js +1 -0
  220. package/.next/static/chunks/app/api/sessions/[id]/state/route-571d58ede1391fc8.js +1 -0
  221. package/.next/static/chunks/app/api/sessions/route-571d58ede1391fc8.js +1 -0
  222. package/.next/static/chunks/app/api/sessions/search/route-571d58ede1391fc8.js +1 -0
  223. package/.next/static/chunks/app/api/settings/route-571d58ede1391fc8.js +1 -0
  224. package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-571d58ede1391fc8.js +1 -0
  225. package/.next/static/chunks/app/api/skills/check/route-571d58ede1391fc8.js +1 -0
  226. package/.next/static/chunks/app/api/skills/install/route-571d58ede1391fc8.js +1 -0
  227. package/.next/static/chunks/app/api/skills/route-571d58ede1391fc8.js +1 -0
  228. package/.next/static/chunks/app/api/skills/search/route-571d58ede1391fc8.js +1 -0
  229. package/.next/static/chunks/app/api/skills/update/route-571d58ede1391fc8.js +1 -0
  230. package/.next/static/chunks/app/api/subagents/eta/route-571d58ede1391fc8.js +1 -0
  231. package/.next/static/chunks/app/api/theme/route-571d58ede1391fc8.js +1 -0
  232. package/.next/static/chunks/app/api/tool-image/route-571d58ede1391fc8.js +1 -0
  233. package/.next/static/chunks/app/api/update-maintenance/route-571d58ede1391fc8.js +1 -0
  234. package/.next/static/chunks/app/api/updates/route-571d58ede1391fc8.js +1 -0
  235. package/.next/static/chunks/app/api/web-access/recovery/route-571d58ede1391fc8.js +1 -0
  236. package/.next/static/chunks/app/api/web-access/route-571d58ede1391fc8.js +1 -0
  237. package/.next/static/chunks/app/api/web6/consults/route-571d58ede1391fc8.js +1 -0
  238. package/.next/static/chunks/app/api/worktrees/route-571d58ede1391fc8.js +1 -0
  239. package/.next/static/chunks/app/{layout-2961d1e4cf63214e.js → layout-a7fca69a4fa9b2c2.js} +1 -1
  240. package/.next/static/chunks/app/manifest.webmanifest/route-571d58ede1391fc8.js +1 -0
  241. package/.next/static/chunks/next/dist/client/components/builtin/app-error-571d58ede1391fc8.js +1 -0
  242. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-571d58ede1391fc8.js +1 -0
  243. package/.next/static/chunks/next/dist/client/components/builtin/not-found-571d58ede1391fc8.js +1 -0
  244. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-571d58ede1391fc8.js +1 -0
  245. package/.next/static/css/{949fdc99cee51026.css → cc26725ba00edca3.css} +1 -1
  246. package/.next/trace +108 -108
  247. package/.next/trace-build +1 -1
  248. package/.next/types/routes.d.ts +1 -2
  249. package/.next/types/validator.ts +0 -9
  250. package/README.md +8 -4
  251. package/Tools/CUELO_Setup/files/native-runtime-patch.js +3 -3
  252. package/Tools/OMP_Global_Config/agent/AGENTS.md +2 -0
  253. package/Tools/OMP_Global_Config/agent/extensions/docmap-route.ts +34 -0
  254. package/Tools/OMP_Global_Config/agent/extensions/jev-runtime.ts +12 -1
  255. package/Tools/OMP_Global_Config/agent/extensions/lib/docmap-search.ts +576 -0
  256. package/Tools/OMP_Global_Config/agent/extensions/mcp-selection.ts +48 -7
  257. package/Tools/OMP_Global_Config/agent/prompt-copies/AGENTS.en.md +3 -1
  258. package/Tools/OMP_Global_Config/agent/rules/docs-handoff.md +1 -1
  259. package/Tools/OMP_Global_Config/agent/rules/frontend.md +4 -2
  260. package/Tools/OMP_Global_Config/agent/rules/verdict.md +1 -0
  261. package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +981 -132
  262. package/package.json +7 -7
  263. package/.next/server/app/api/live/character-voice/route.js +0 -1
  264. package/.next/server/app/api/live/character-voice/route.js.nft.json +0 -1
  265. package/.next/server/app/api/live/character-voice/route_client-reference-manifest.js +0 -1
  266. package/.next/server/chunks/205.js +0 -7
  267. package/.next/server/chunks/7467.js +0 -3
  268. package/.next/static/chunks/6110-11dcb476b561c51f.js +0 -1
  269. package/.next/static/chunks/app/api/agent/[id]/route-95aaaafc49522a6b.js +0 -1
  270. package/.next/static/chunks/app/api/agent/new/route-95aaaafc49522a6b.js +0 -1
  271. package/.next/static/chunks/app/api/agent/running/route-95aaaafc49522a6b.js +0 -1
  272. package/.next/static/chunks/app/api/attachment-settings/route-95aaaafc49522a6b.js +0 -1
  273. package/.next/static/chunks/app/api/attachments/[id]/transcription/route-95aaaafc49522a6b.js +0 -1
  274. package/.next/static/chunks/app/api/attachments/draft/route-95aaaafc49522a6b.js +0 -1
  275. package/.next/static/chunks/app/api/attachments/route-95aaaafc49522a6b.js +0 -1
  276. package/.next/static/chunks/app/api/auth/all-providers/route-95aaaafc49522a6b.js +0 -1
  277. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-95aaaafc49522a6b.js +0 -1
  278. package/.next/static/chunks/app/api/auth/login/[provider]/route-95aaaafc49522a6b.js +0 -1
  279. package/.next/static/chunks/app/api/auth/logout/[provider]/route-95aaaafc49522a6b.js +0 -1
  280. package/.next/static/chunks/app/api/auth/providers/route-95aaaafc49522a6b.js +0 -1
  281. package/.next/static/chunks/app/api/cwd/browse/route-95aaaafc49522a6b.js +0 -1
  282. package/.next/static/chunks/app/api/cwd/validate/route-95aaaafc49522a6b.js +0 -1
  283. package/.next/static/chunks/app/api/default-cwd/route-95aaaafc49522a6b.js +0 -1
  284. package/.next/static/chunks/app/api/display-settings/route-95aaaafc49522a6b.js +0 -1
  285. package/.next/static/chunks/app/api/document-text/route-95aaaafc49522a6b.js +0 -1
  286. package/.next/static/chunks/app/api/experiments/route-95aaaafc49522a6b.js +0 -1
  287. package/.next/static/chunks/app/api/file-index/route-95aaaafc49522a6b.js +0 -1
  288. package/.next/static/chunks/app/api/files/[...path]/route-95aaaafc49522a6b.js +0 -1
  289. package/.next/static/chunks/app/api/git/diff/route-95aaaafc49522a6b.js +0 -1
  290. package/.next/static/chunks/app/api/git/status/route-95aaaafc49522a6b.js +0 -1
  291. package/.next/static/chunks/app/api/github/projects/route-95aaaafc49522a6b.js +0 -1
  292. package/.next/static/chunks/app/api/gpt6/handles/route-95aaaafc49522a6b.js +0 -1
  293. package/.next/static/chunks/app/api/gpt6/reply/route-95aaaafc49522a6b.js +0 -1
  294. package/.next/static/chunks/app/api/gpt6/token/route-95aaaafc49522a6b.js +0 -1
  295. package/.next/static/chunks/app/api/gpt6/web6-session/route-95aaaafc49522a6b.js +0 -1
  296. package/.next/static/chunks/app/api/home/route-95aaaafc49522a6b.js +0 -1
  297. package/.next/static/chunks/app/api/live/call/[callId]/route-95aaaafc49522a6b.js +0 -1
  298. package/.next/static/chunks/app/api/live/character-voice/route-95aaaafc49522a6b.js +0 -1
  299. package/.next/static/chunks/app/api/live/events/route-95aaaafc49522a6b.js +0 -1
  300. package/.next/static/chunks/app/api/live/interpret/route-95aaaafc49522a6b.js +0 -1
  301. package/.next/static/chunks/app/api/live/offer/route-95aaaafc49522a6b.js +0 -1
  302. package/.next/static/chunks/app/api/live/voices/route-95aaaafc49522a6b.js +0 -1
  303. package/.next/static/chunks/app/api/mcp/route-95aaaafc49522a6b.js +0 -1
  304. package/.next/static/chunks/app/api/model-roles/route-95aaaafc49522a6b.js +0 -1
  305. package/.next/static/chunks/app/api/models/route-95aaaafc49522a6b.js +0 -1
  306. package/.next/static/chunks/app/api/models-config/catalog/route-95aaaafc49522a6b.js +0 -1
  307. package/.next/static/chunks/app/api/models-config/discover/route-95aaaafc49522a6b.js +0 -1
  308. package/.next/static/chunks/app/api/models-config/route-95aaaafc49522a6b.js +0 -1
  309. package/.next/static/chunks/app/api/models-config/test/route-95aaaafc49522a6b.js +0 -1
  310. package/.next/static/chunks/app/api/office-avatars/[id]/route-95aaaafc49522a6b.js +0 -1
  311. package/.next/static/chunks/app/api/office-avatars/route-95aaaafc49522a6b.js +0 -1
  312. package/.next/static/chunks/app/api/plugins/route-95aaaafc49522a6b.js +0 -1
  313. package/.next/static/chunks/app/api/project-docs/route-95aaaafc49522a6b.js +0 -1
  314. package/.next/static/chunks/app/api/project-trust/route-95aaaafc49522a6b.js +0 -1
  315. package/.next/static/chunks/app/api/projects/route-95aaaafc49522a6b.js +0 -1
  316. package/.next/static/chunks/app/api/runs/[runId]/route-95aaaafc49522a6b.js +0 -1
  317. package/.next/static/chunks/app/api/runs/route-95aaaafc49522a6b.js +0 -1
  318. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-95aaaafc49522a6b.js +0 -1
  319. package/.next/static/chunks/app/api/sessions/[id]/context/route-95aaaafc49522a6b.js +0 -1
  320. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-95aaaafc49522a6b.js +0 -1
  321. package/.next/static/chunks/app/api/sessions/[id]/export/route-95aaaafc49522a6b.js +0 -1
  322. package/.next/static/chunks/app/api/sessions/[id]/route-95aaaafc49522a6b.js +0 -1
  323. package/.next/static/chunks/app/api/sessions/[id]/state/route-95aaaafc49522a6b.js +0 -1
  324. package/.next/static/chunks/app/api/sessions/route-95aaaafc49522a6b.js +0 -1
  325. package/.next/static/chunks/app/api/sessions/search/route-95aaaafc49522a6b.js +0 -1
  326. package/.next/static/chunks/app/api/settings/route-95aaaafc49522a6b.js +0 -1
  327. package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-95aaaafc49522a6b.js +0 -1
  328. package/.next/static/chunks/app/api/skills/check/route-95aaaafc49522a6b.js +0 -1
  329. package/.next/static/chunks/app/api/skills/install/route-95aaaafc49522a6b.js +0 -1
  330. package/.next/static/chunks/app/api/skills/route-95aaaafc49522a6b.js +0 -1
  331. package/.next/static/chunks/app/api/skills/search/route-95aaaafc49522a6b.js +0 -1
  332. package/.next/static/chunks/app/api/skills/update/route-95aaaafc49522a6b.js +0 -1
  333. package/.next/static/chunks/app/api/subagents/eta/route-95aaaafc49522a6b.js +0 -1
  334. package/.next/static/chunks/app/api/theme/route-95aaaafc49522a6b.js +0 -1
  335. package/.next/static/chunks/app/api/tool-image/route-95aaaafc49522a6b.js +0 -1
  336. package/.next/static/chunks/app/api/update-maintenance/route-95aaaafc49522a6b.js +0 -1
  337. package/.next/static/chunks/app/api/updates/route-95aaaafc49522a6b.js +0 -1
  338. package/.next/static/chunks/app/api/web-access/recovery/route-95aaaafc49522a6b.js +0 -1
  339. package/.next/static/chunks/app/api/web-access/route-95aaaafc49522a6b.js +0 -1
  340. package/.next/static/chunks/app/api/web6/consults/route-95aaaafc49522a6b.js +0 -1
  341. package/.next/static/chunks/app/api/worktrees/route-95aaaafc49522a6b.js +0 -1
  342. package/.next/static/chunks/app/manifest.webmanifest/route-95aaaafc49522a6b.js +0 -1
  343. package/.next/static/chunks/next/dist/client/components/builtin/app-error-95aaaafc49522a6b.js +0 -1
  344. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-95aaaafc49522a6b.js +0 -1
  345. package/.next/static/chunks/next/dist/client/components/builtin/not-found-95aaaafc49522a6b.js +0 -1
  346. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-95aaaafc49522a6b.js +0 -1
  347. package/.next/static/fOdMIeIOVq5i7KtiCo4rg/_buildManifest.js +0 -1
  348. package/.next/types/app/api/live/character-voice/route.ts +0 -351
  349. package/public/audio/live/ACML-1.0.txt +0 -85
  350. package/public/audio/live/hikari-reference.wav +0 -0
  351. package/public/audio/live/isana-reference.wav +0 -0
  352. package/public/audio/live/mio-reference.wav +0 -0
  353. package/public/audio/live/nova-reference.wav +0 -0
  354. package/public/audio/live/rin-reference.wav +0 -0
  355. package/public/audio/live/shion-reference.wav +0 -0
  356. package/public/audio/live/voices.json +0 -275
  357. package/public/audio/live/yuki-reference.wav +0 -0
  358. /package/.next/static/{fOdMIeIOVq5i7KtiCo4rg → IKi2VjUzAnD5AUcDn7QNi}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cuelo",
3
- "version": "0.10.20",
3
+ "version": "0.10.21",
4
4
  "description": "CUELO — open-source AI coding agent workspace and harness for omp (oh-my-pi)",
5
5
  "homepage": "https://github.com/gim47656-ship-it/CUELO#readme",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "license": "MIT",
31
31
  "cueloBuild": {
32
32
  "distribution": "cuelo",
33
- "coreVersion": "18.11.1"
33
+ "coreVersion": "18.11.3"
34
34
  },
35
35
  "engines": {
36
36
  "node": ">=22.19.0",
@@ -89,11 +89,11 @@
89
89
  "test:coverage": "bun test --coverage ./app ./components ./hooks ./lib ./public ./bin ./install.test.mjs"
90
90
  },
91
91
  "dependencies": {
92
- "@oh-my-pi/pi-agent-core": "18.11.1",
93
- "@oh-my-pi/pi-ai": "18.11.1",
94
- "@oh-my-pi/pi-coding-agent": "18.11.1",
95
- "@oh-my-pi/pi-tui": "18.11.1",
96
- "@oh-my-pi/pi-utils": "18.11.1",
92
+ "@oh-my-pi/pi-agent-core": "18.11.3",
93
+ "@oh-my-pi/pi-ai": "18.11.3",
94
+ "@oh-my-pi/pi-coding-agent": "18.11.3",
95
+ "@oh-my-pi/pi-tui": "18.11.3",
96
+ "@oh-my-pi/pi-utils": "18.11.3",
97
97
  "@seed-design/css": "2.8.0",
98
98
  "@seed-design/react": "2.4.1",
99
99
  "@seed-design/tailwind4-theme": "2.4.0",
@@ -1 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=8065,a.ids=[8065],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1399:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(48880),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/live/character-voice/route",pathname:"/api/live/character-voice",filename:"route",bundlePath:"app/api/live/character-voice/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\a\\CUELO\\CUELO\\app\\api\\live\\character-voice\\route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/live/character-voice/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5969:a=>{a.exports=import("@oh-my-pi/pi-agent-core/compaction")},8102:(a,b,c)=>{c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},28354:a=>{a.exports=require("util")},28967:(a,b,c)=>{function d(){return globalThis.__ompModelsCacheState||(globalThis.__ompModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__ompModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},40575:a=>{a.exports=import("@oh-my-pi/pi-coding-agent/tools/todo")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48331:a=>{a.exports=import("@oh-my-pi/pi-agent-core")},48880:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>m,GET:()=>k,POST:()=>l,dynamic:()=>n});var e=c(23211),f=c(66544),g=c(33338),h=c(10424),i=a([g,h]);[g,h]=i.then?(await i)():i;let n="force-dynamic",o={"Cache-Control":"no-store"};function j(a){if(a instanceof g.pq){let b="auth"===a.kind||"bad-request"===a.kind?400:"rate"===a.kind?429:502,c="auth"===a.kind?"invalid-key":"plan"===a.kind?"plan":"bad-request"===a.kind?"bad-request":"upstream";return e.NextResponse.json({error:c,message:a.message},{status:b,headers:o})}let b=a instanceof Error?a.message:String(a);return e.NextResponse.json({error:"failed",message:b},{status:500,headers:o})}async function k(a){if(!(0,f.EN)(a))return e.NextResponse.json({error:"Untrusted API request"},{status:403});try{return e.NextResponse.json(await (0,h.KA)().settings(),{headers:o})}catch(a){return j(a)}}async function l(a){let b;if(!(0,f.EN)(a))return e.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,f.E2)(a))return e.NextResponse.json({error:"Content-Type must be application/json"},{status:415});let c=!1,d=!1;try{let e=await a.json();e&&"object"==typeof e&&("apiKey"in e&&"string"==typeof e.apiKey&&(b=e.apiKey),c="prepare"in e&&!0===e.prepare,d="acknowledged"in e&&!0===e.acknowledged)}catch{return e.NextResponse.json({error:"bad-request"},{status:400,headers:o})}if(void 0===b&&!c)return e.NextResponse.json({error:"bad-request"},{status:400,headers:o});if(c&&!d)return e.NextResponse.json({error:"consent-required"},{status:400,headers:o});let g=(0,h.KA)();try{return void 0!==b&&await g.saveKey(b),c&&await g.prepare(),e.NextResponse.json(await g.settings(),{status:c?202:200,headers:o})}catch(a){return j(a)}}async function m(a){if(!(0,f.EN)(a))return e.NextResponse.json({error:"Untrusted API request"},{status:403});let b=(0,h.KA)();try{return await b.removeKey(),e.NextResponse.json(await b.settings(),{headers:o})}catch(a){return j(a)}}d()}catch(a){d(a)}})},51455:a=>{a.exports=require("node:fs/promises")},53739:a=>{a.exports=import("@oh-my-pi/pi-coding-agent/session/exit-diagnostics")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75199:a=>{a.exports=import("@oh-my-pi/pi-ai/utils/proxy")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92582:a=>{a.exports=import("@oh-my-pi/pi-coding-agent")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5582,7467],()=>b(b.s=1399));module.exports=c})();
@@ -1 +0,0 @@
1
- {"version":1,"files":["../../../../../../node_modules/@oh-my-pi/pi-agent-core/package.json","../../../../../../node_modules/@oh-my-pi/pi-agent-core/src/compaction.ts","../../../../../../node_modules/@oh-my-pi/pi-agent-core/src/index.ts","../../../../../../node_modules/@oh-my-pi/pi-ai/package.json","../../../../../../node_modules/@oh-my-pi/pi-ai/src/utils/proxy.ts","../../../../../../node_modules/@oh-my-pi/pi-coding-agent/package.json","../../../../../../node_modules/@oh-my-pi/pi-coding-agent/src/index.ts","../../../../../../node_modules/@oh-my-pi/pi-coding-agent/src/session/exit-diagnostics.ts","../../../../../../node_modules/@oh-my-pi/pi-coding-agent/src/tools/todo.ts","../../../../../../node_modules/@opentelemetry/api/build/src/api/context.js","../../../../../../node_modules/@opentelemetry/api/build/src/api/diag.js","../../../../../../node_modules/@opentelemetry/api/build/src/api/metrics.js","../../../../../../node_modules/@opentelemetry/api/build/src/api/propagation.js","../../../../../../node_modules/@opentelemetry/api/build/src/api/trace.js","../../../../../../node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js","../../../../../../node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js","../../../../../../node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js","../../../../../../node_modules/@opentelemetry/api/build/src/baggage/utils.js","../../../../../../node_modules/@opentelemetry/api/build/src/context-api.js","../../../../../../node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js","../../../../../../node_modules/@opentelemetry/api/build/src/context/context.js","../../../../../../node_modules/@opentelemetry/api/build/src/diag-api.js","../../../../../../node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js","../../../../../../node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js","../../../../../../node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js","../../../../../../node_modules/@opentelemetry/api/build/src/diag/types.js","../../../../../../node_modules/@opentelemetry/api/build/src/index.js","../../../../../../node_modules/@opentelemetry/api/build/src/internal/global-utils.js","../../../../../../node_modules/@opentelemetry/api/build/src/internal/semver.js","../../../../../../node_modules/@opentelemetry/api/build/src/metrics-api.js","../../../../../../node_modules/@opentelemetry/api/build/src/metrics/Metric.js","../../../../../../node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js","../../../../../../node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js","../../../../../../node_modules/@opentelemetry/api/build/src/propagation-api.js","../../../../../../node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js","../../../../../../node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace-api.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/context-utils.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/internal/utils.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/span_kind.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/status.js","../../../../../../node_modules/@opentelemetry/api/build/src/trace/trace_flags.js","../../../../../../node_modules/@opentelemetry/api/build/src/version.js","../../../../../../node_modules/@opentelemetry/api/package.json","../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../package.json","../../../../../../public/audio/live/ACML-1.0.txt","../../../../../../public/audio/live/hikari-reference.wav","../../../../../../public/audio/live/isana-reference.wav","../../../../../../public/audio/live/mio-reference.wav","../../../../../../public/audio/live/nova-reference.wav","../../../../../../public/audio/live/rin-reference.wav","../../../../../../public/audio/live/shion-reference.wav","../../../../../../public/audio/live/voices.json","../../../../../../public/audio/live/yuki-reference.wav","../../../../../package.json","../../../../chunks/1813.js","../../../../chunks/4741.js","../../../../chunks/5582.js","../../../../chunks/7467.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1 +0,0 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/live/character-voice/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"D:\\a\\CUELO\\CUELO\\app\\api\\live\\character-voice\\route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -1,7 +0,0 @@
1
- "use strict";exports.id=205,exports.ids=[205],exports.modules={13539:(a,b,c)=>{c.d(b,{K:()=>g});let d=[{alias:"RIN(린)",file:"rin.webp"},{alias:"MIO(미오)",file:"mio.webp"},{alias:"NOVA(노바)",file:"nova.webp",provider:"opencode-go"},{alias:"YUKI(유키)",file:"yuki.webp",provider:"openai-codex"},{alias:"ISANA(이사나)",file:"isana.webp",provider:"b-ai"},{alias:"SHION(시온)",file:"shion.webp",provider:"web6"},{alias:"HIKARI(히카리)",file:"hikari.webp",provider:"google-antigravity"}],e=[{seed:3,alias:d[3].alias,provider:"openai-codex",model:"gpt-6-astra",voice:"빠른 판단\xb7선명한 결론\xb7영리한 장난기",summonExample:"유키 불러와",switchExample:"유키로 교체해"},{seed:4,alias:d[4].alias,provider:"b-ai",model:"deepseek-v4.1-flash",voice:"호기심과 실행력\xb7생기 있는 관찰\xb7솔직함",summonExample:"이사나 불러와",switchExample:"이사나로 교체해"},{seed:0,alias:d[0].alias,provider:"anthropic",model:"claude-opus-5-5",oauthPosition:0,voice:"조용한 집중\xb7날카로운 분석\xb7건조한 유머",summonExample:"린 불러와",switchExample:"린으로 교체해"},{seed:1,alias:d[1].alias,provider:"anthropic",model:"claude-opus-5-5",oauthPosition:1,voice:"따뜻하고 세심함\xb7부드럽고 안정적인 설명",summonExample:"미오 불러와",switchExample:"미오로 교체해"},{seed:2,alias:d[2].alias,provider:"opencode-go",model:"muse-spark-1.3-contributor",voice:"번뜩이는 발상\xb7즉흥적 시제품\xb7낙천적 재도전",summonExample:"노바 불러와",switchExample:"노바로 교체해"},{seed:6,alias:d[6].alias,provider:"google-antigravity",model:"gemini-3.8-flash",voice:"빠른 관찰\xb7톡 쏘는 한마디\xb7장난스러운 여유",summonExample:"히카리 불러와",switchExample:"히카리로 교체해"},{seed:5,alias:d[5].alias,provider:"web6",model:"gpt-6-pro",voice:"우아한 전략\xb7넓은 시야\xb7은근한 장난기",summonExample:"시온 불러와",switchExample:null,summonNote:"WEB6 상담으로 호출합니다.",switchNote:"SHION은 WEB6 상담 전용이라 Main으로 교체할 수 없습니다."}];e.filter(a=>null!==a.switchExample),d.filter(a=>!("provider"in a)).length;let f=new Map([...new Map(d.flatMap((a,b)=>"provider"in a?[[a.provider,b]]:[]))].map(([a,b])=>[a,{seed:b,alias:d[b].alias}]));async function g(a,b={}){let c,d=a.model?.provider;if(!d)return null;let h=f.get(d)??null;if(h)return h.alias;let i=e.filter(a=>a.provider===d&&void 0!==a.oauthPosition),j=a.listCurrentProviderOAuthAccounts;if(0===i.length||!j)return null;let k=async()=>{let b=await j.call(a);return b&&b.provider===d&&a.model?.provider===d?{listing:b,active:b.accounts.filter(a=>!0===a.active)}:null};try{(c=await k())&&0===c.active.length&&b.pinCredential&&(await b.pinCredential(),c=await k())}catch{return null}if(!c||1!==c.active.length)return null;let[l]=c.active,m=Number.isInteger(l.position)?l.position:c.listing.accounts.indexOf(l);return i.find(a=>a.oauthPosition===m)?.alias??null}},20723:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{OF:()=>n});var e=c(75199),f=c(33338),g=c(87576),h=a([e,f]);[e,f]=h.then?(await h)():h;let i=`wss://api.cartesia.ai/tts/websocket?cartesia_version=${f.Gt}`,j=/[\u1100-\u11FF\u3130-\u318F\uAC00-\uD7A3]/,k=/[\u3040-\u30FF]/,l=/[.!?…,;:]+["')\]]*\s+|[。!?、,;:\n]+\s*/g,m=(a,b)=>Reflect.construct(WebSocket,[a,{headers:{"X-API-Key":b},proxy:(0,e.getProxyForUrl)(f.iH,new URL(a))}]);class n{#a;#b;#c;#d;#e;#f;#g;#h;#i;#j;constructor(a){this.#e=[],this.#f=[],this.#h=0,this.#i=!1,this.#j=!1,this.#a=a,this.#c=a.voice,this.#b=a.openSocket??m}get epoch(){return this.#h}connect(){this.#k()}assistantText(a,b){if(this.#j)return;let c=this.#g;if(!c){var d;if(!a.trim())return;c={contextId:crypto.randomUUID(),voice:this.#c,language:(d=this.#a.defaultLanguage,j.test(a)?"ko":k.test(a)?"ja":d),sent:"",finalSent:!1,done:!1,buffered:[],submitted:!1},this.#f.push(c),this.#g=c}let e=a.startsWith(c.sent);if(b){this.#g=void 0;let b=e?a.slice(c.sent.length):"";b.trim()?this.#l(c,b,!1):(c.done=!0,this.#m());return}if(!e)return;let f=function(a,b){let c=b;l.lastIndex=b;for(let b=l.exec(a);b;b=l.exec(a)){let d=b.index+b[0].length;d<a.length&&(c=d)}if(c===b&&a.length-b>120){let d=a.lastIndexOf(" ",a.length-2);d>=b&&(c=d+1)}return c}(a,c.sent.length);f>c.sent.length&&this.#l(c,a.slice(c.sent.length,f),!0)}reset(){if(this.#j)return;for(let a of(this.#e=[],this.#f))!a.done&&a.submitted&&this.#n({context_id:a.contextId,cancel:!0});let a=this.#f.length>0;this.#f=[],this.#g=void 0,(a||this.#i)&&(this.#i=!1,this.#h+=1,this.#a.emit({type:"speech-reset",epoch:this.#h}))}setVoice(a){this.reset(),this.#c=a}close(){if(this.#j)return;this.#j=!0,this.#f=[],this.#g=void 0,this.#e=[];let a=this.#d;if(this.#d=void 0,a){a.onmessage=null,a.onclose=null,a.onerror=null;try{a.close(1e3,"call closed")}catch{}}}#l(a,b,c){a.sent+=b,c||(a.finalSent=!0);let{emotion:d,speed:e,volume:f}=a.voice.generation;this.#n({model_id:this.#a.model,transcript:b,voice:a.voice.voiceId,language:a.language,context_id:a.contextId,continue:c,output_format:{container:"raw",encoding:"pcm_s16le",sample_rate:g.SQ},generation_config:{speed:e,volume:f,...d?{emotion:d}:{}}})&&(a.submitted=!0)}#n(a){let b=JSON.stringify(a),c=this.#k();return c&&1===c.readyState?(c.send(b),!0):(this.#e.push(b),!1)}#k(){let a;if(this.#j)return;if(this.#d)return this.#d;try{a=this.#b(i,this.#a.apiKey)}catch(a){this.#o(`Cartesia 음성 연결을 열지 못했습니다 (${a instanceof Error?a.message:String(a)})`);return}this.#d=a;let b=!1;return a.onopen=()=>{b=!0;let c=this.#e;for(let b of(this.#e=[],c))a.send(b);for(let a of this.#f)a.sent&&(a.submitted=!0)},a.onmessage=a=>{"string"==typeof a.data&&this.#p(a.data)},a.onerror=()=>{b||this.#o("Cartesia 음성 연결에 실패했습니다.")},a.onclose=()=>{this.#d===a&&(this.#d=void 0,(!b||this.#e.length>0||this.#f.some(a=>!a.done))&&this.#o("Cartesia 음성 연결이 끊겼습니다."))},a}#p(a){let b;try{let c=JSON.parse(a);if("object"!=typeof c||null===c)return;b=c}catch{return}let c="string"==typeof b.context_id?b.context_id:void 0,d=c?this.#f.find(a=>a.contextId===c):void 0;if("error"===b.type){if(c&&!d)return;let a=[b.title,b.message].filter(a=>"string"==typeof a&&""!==a),e="number"==typeof b.status_code?` ${b.status_code}`:"";this.#o(`Cartesia${e}: ${a.join(": ")||"음성 생성 오류"}`);return}if(d&&("chunk"===b.type&&"string"==typeof b.data&&b.data&&(d===this.#f[0]?this.#q(b.data):d.buffered.push(b.data)),"done"===b.type||"chunk"===b.type&&!0===b.done)){if(!d.finalSent)return;d.done=!0,this.#m()}}#q(a){this.#i=!0,this.#a.emit({type:"speech",epoch:this.#h,audio:a})}#m(){for(;this.#f.length>0;){let a=this.#f[0];for(let b of a.buffered.splice(0))this.#q(b);if(!a.done)return;this.#f.shift()}}#o(a){this.#j||(this.close(),this.#a.onFatal((0,f.Y3)(a,this.#a.apiKey)))}}d()}catch(a){d(a)}})},60205:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$O:()=>P,Ch:()=>R,Gt:()=>Q,M7:()=>T,P5:()=>S,RJ:()=>L,_g:()=>C,ev:()=>z,kk:()=>D,p1:()=>Y,qW:()=>E,t6:()=>U,zS:()=>N});var e=c(29021),f=c(33873),g=c(21820),h=c(11746),i=c(75199),j=c(45157),k=c(34069),l=c(58505),m=c(96448),n=c(22514),o=c(81677),p=c(14882),q=c(56429),r=c(40402),s=c(38741),t=c(13539),u=c(10424),v=c(20723),w=c(87576),x=a([h,i,j,k,l,m,n,o,p,q,r,s,u,v]);[h,i,j,k,l,m,n,o,p,q,r,s,u,v]=x.then?(await x)():x;let V=`${j.CODEX_BASE_URL}/codex/realtime/calls?intent=quicksilver&architecture=avas`,W="openai-codex",X=/^rtc_[\w-]+$/;class Y extends Error{constructor(a,b,c){super(a),this.kind=b,this.status=c,this.name="LiveError"}}function y(){return globalThis.__liveCalls??=new Map,globalThis.__liveCalls}function z(){return{voices:o.LIVE_VOICE_OPTIONS.map(a=>({value:a.value,label:a.label})),defaultVoice:o.DEFAULT_LIVE_VOICE}}let Z={ko:"MUST speak Korean by default, including the first greeting. Keep code identifiers, file paths, commands, and API names in their original form.","zh-CN":"MUST speak Simplified Chinese by default, including the first greeting. Keep code identifiers, file paths, commands, and API names in their original form.",en:"MUST speak English by default, including the first greeting."};function A(a){let b=(0,l.getPackageDir)();if(!b)return a;let c=(0,e.readFileSync)((0,f.join)(b,"src","live","prompts","agent-final-message.md"),"utf8");return k.prompt.render(c,{message:a})}function B(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)c&&"object"==typeof c&&"type"in c&&"text"===c.type&&"text"in c&&"string"==typeof c.text&&c.text&&b.push(c.text);return b.join("\n")}function C(a,b){for(let c of("transcript"===b.type&&(a.lastTranscript=b),a.listeners))try{c(b)}catch{}}function D(a,b){a.state!==b&&(a.state=b,C(a,{type:"state",state:b}))}function E(a,b,c,d,e){let f=(0,w.Yh)(a.transcripts[b],c,d,e);if(f)return a.transcripts[b]=f,f.text}function F(a,b){a.sendTail=a.sendTail.then(()=>{a.closed||a.sideband.readyState!==WebSocket.OPEN||a.sideband.send(JSON.stringify(b))}).catch(b=>{C(a,{type:"error",message:b instanceof Error?b.message:String(b)})})}function G(a,b,c){let d=a.activeDelegationId;if(d)for(let e of(0,n.chunkLiveContext)(b))F(a,(0,n.buildDelegationContextAppend)(d,e,c?"commentary":void 0))}function H(a,b,c){for(let d of(0,n.chunkLiveContext)(b))F(a,(0,n.buildSessionContextAppend)(d,c))}function I(a){let b,c;if(a&&"object"==typeof a&&"role"in a){if("user"===a.role||"assistant"===a.role)b="user"===a.role?"User":"Assistant",c=B(a.content).trim();else{if("custom"!==a.role||a.customType!==w.BD)return;let d=(0,w.hw)(a.content,a.details);if(!d)return;b="user"===d.role?"User (voice)":"Assistant (voice)",c=d.text}if(c)return`${b}: ${c.length<=400?c:`${c.slice(0,400).trimEnd()}…`}`}}function J(a,b){if("character"!==a.voice.mode)return;let c=b=>{a.speechGen+=1,a.speech?.reset(),a.speech?.close(),a.speech=void 0,C(a,{type:"speech-error",message:b}),U(a.callId)};a.speechHold+=1,a.characterCheck=a.characterCheck.then(async()=>{if(a.closed||!a.speech||"character"!==a.voice.mode)return;let d=await (0,t.K)(b.inner);if(a.closed||!a.speech)return;if(!d)return void c("지금 Main 캐릭터를 확인하지 못해 다른 목소리로 말하지 않도록 통화를 끝냈습니다.");if(d===a.voice.alias)return;let e=await (0,u.KA)().planFor(d);if(!a.closed&&a.speech){if("ready"===e.kind&&e.apiKey===a.speechKey){a.speech.setVoice({voiceId:e.voiceId,generation:e.profile.generation}),a.voice={mode:"character",alias:d,tuning:e.profile.tuning},C(a,{type:"voice",voice:a.voice});return}c(`Main이 ${d}(으)로 바뀌었지만 그 캐릭터 통화 음성이 준비되지 않아 통화를 끝냈습니다.`)}}).catch(()=>{a.closed||c("Main 캐릭터를 확인하지 못해 통화를 끝냈습니다.")}).finally(()=>{a.speechHold-=1})}function K(a,b,c,d){if(!a.speech)return;if(a.assistantResponseOpen||(a.assistantResponseOpen=!0,J(a,b)),d&&(a.assistantResponseOpen=!1),0===a.speechHold)return void a.speech?.assistantText(c,d);let e=a.speechGen;a.speechHold+=1,a.characterCheck=a.characterCheck.then(()=>{a.speechHold-=1,a.closed||e!==a.speechGen||a.speech?.assistantText(c,d)})}function L(a,b,c,d){let e,f=((e=new URL(`https://api.openai.com/v1/live/${encodeURIComponent(a)}`)).protocol="wss:",e.toString()),g=Reflect.construct(WebSocket,[f,{headers:b,proxy:(0,i.getProxyForUrl)(W,new URL(f))}]),{promise:h,resolve:j,reject:k}=Promise.withResolvers(),l=!1,m=setTimeout(()=>{l||(g.close(1e3,"connect timeout"),k(Error("Codex live sideband connection timed out")))},15e3);return g.onopen=()=>{l=!0,clearTimeout(m),j(g)},g.onerror=()=>{l||(clearTimeout(m),k(Error("Codex live sideband connection failed")))},g.onmessage=a=>{if("string"!=typeof a.data)return;let b=(0,w.PW)(a.data),d=b&&(0,n.parseLiveServerEvent)(b);b&&d&&c(d,(0,w.c$)(b),b)},g.onclose=a=>{(clearTimeout(m),l)?d(a.reason||`sideband closed (${a.code})`):k(Error(`Codex live sideband closed before connecting (${a.code})`))},h}async function M(a){let b=(0,q.A4)(a);if(b?.isAlive())return b;let c=await (0,r.os)(a);if(!c)throw new Y("Session not found","not-found",404);let{session:d}=await (0,q.OF)(a,c,void 0);return d}async function N(a){let b,c=crypto.randomUUID();try{b=await (0,m.generateCodexAttestation)()}catch{}let d=(0,i.wrapFetchForProxy)(fetch,W),{authStorage:e}=await (0,s.getOmpRuntime)();return await (0,h.withOAuthAccess)(e,W,async e=>{var f,g;let h,i,k=(f=a.threadId,g=b,h={Authorization:`Bearer ${e.accessToken}`,"OpenAI-Alpha":"quicksilver=v2","User-Agent":`Codex Desktop/${j.CODEX_CLIENT_VERSION}`,"x-session-id":c,[j.OPENAI_HEADERS.ORIGINATOR]:"Codex Desktop",[j.OPENAI_HEADERS.VERSION]:j.CODEX_CLIENT_VERSION,[j.OPENAI_HEADERS.SCOPED_SESSION_ID]:f,[j.OPENAI_HEADERS.THREAD_ID]:f},(i=e.accountId??(0,j.getCodexAccountId)(e.accessToken))&&(h[j.OPENAI_HEADERS.ACCOUNT_ID]=i),g&&(h["x-oai-attestation"]=g),h),l=await d(V,{method:"POST",headers:{...k,Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({sdp:a.sdp,session:(0,n.buildLiveSessionPayload)(a.instructions,a.voice)})}),m=await l.text();if(!l.ok){let a=m.trim().replaceAll(/\s+/g," ").slice(0,2048)||l.statusText;throw new Y(`Codex live signaling failed (${l.status}): ${a}`,"live-upstream",502)}if(!m.trim())throw new Y("Codex live signaling returned an empty SDP answer","live-upstream",502);let o=function(a){if(a)return a.split("?",1)[0]?.split("/").find(a=>X.test(a))}(l.headers.get("location"));if(!o)throw new Y("Codex live signaling returned no valid call ID","live-upstream",502);return{answer:m,callId:o,headers:k}},{...a.credentialSessionId?{sessionId:a.credentialSessionId}:{},isAuthError:h.isAuthRetryableError,missingAccessMessage:"No Codex OAuth credential is available for a live call."})}let $={ko:"ko",en:"en","zh-CN":"zh"};async function O(a){let b=a.inner,c=await (0,t.K)(b,{pinCredential:async()=>{b.model&&await b.modelRegistry.getApiKey?.(b.model,b.sessionId)}}),d=await (0,u.KA)().planFor(c);return"no-key"===d.kind?{voice:{mode:"native",alias:c,reason:"no-key"}}:"not-ready"===d.kind?{voice:{mode:"native",alias:c,reason:c?"voice-not-ready":"character-unknown"}}:{voice:{mode:"character",alias:d.profile.alias,tuning:d.profile.tuning},ready:{apiKey:d.apiKey,model:d.model,voiceId:d.voiceId,generation:d.profile.generation}}}async function P(a){let b=await M(a.sessionId),{voice:c,ready:d}=await O(b),{answer:h,callId:i,headers:j}=await N({sdp:a.sdp,instructions:function(a){let b,c=(0,l.getPackageDir)();if(!c)throw Error("omp package assets are unavailable, so live instructions cannot be loaded.");let d=(0,e.readFileSync)((0,f.join)(c,"src","live","prompts","live-instructions.md"),"utf8"),h="user";try{let a=(0,g.userInfo)().username.trim();a&&(h=a)}catch{}let i=h.split(/[._\-\s]+/).find(a=>a.length>0)??"there";return k.prompt.render(d,{username:h,firstName:i})+((b=a&&Object.hasOwn(Z,a)?Z[a]:void 0)?`
2
-
3
- <language>
4
- ${b}
5
- If the user speaks a different language, MUST switch to that language for the rest of the call.
6
- </language>`:"")}(a.locale),voice:a.voice?.trim()||o.DEFAULT_LIVE_VOICE,threadId:a.sessionId,credentialSessionId:a.sessionId}),m={callId:i,sessionId:a.sessionId,sideband:void 0,state:"connecting",listeners:new Set,detachAgent:()=>{},activeDelegationId:void 0,sendTail:Promise.resolve(),persistTail:Promise.resolve(),transcripts:{user:{text:"",final:!1},assistant:{text:"",final:!1}},lastTranscript:void 0,orphanTimer:void 0,closed:!1,voice:c,speech:void 0,speechKey:d?.apiKey,characterCheck:Promise.resolve(),speechHold:0,speechGen:0,assistantResponseOpen:!1},n=await L(i,j,(a,c)=>{m.closed||function(a,b,c,d){var e,f;switch(c.type){case"session.started":D(a,"live"),function(a,b){let c=[],d=0,e=b.inner.messages;for(let a=e.length-1;a>=0;a-=1){let b=I(e[a]);if(b){if(d+b.length>2400&&c.length>0)break;c.push(b),d+=b.length}}0!==c.length&&(c.reverse(),H(a,`Conversation in this session before the call, oldest first. Background for continuity only; do not read it aloud.
7
- ${c.join("\n")}`,"commentary"))}(a,b);return;case"input_transcript.added":{let b=a.transcripts.user,e=E(a,"user",c.item.text,!1,d);if(!e)return;C(a,{type:"transcript",role:"user",text:e,final:!1});let f=void 0===d||void 0===b.itemId||d===b.itemId;if(a.assistantResponseOpen&&!b.final&&""!==b.text&&f&&e.startsWith(b.text))return;a.speechGen+=1,a.assistantResponseOpen=!1,a.speech?.reset();return}case"output_transcript.added":{let e=E(a,"assistant",c.item.text,!1,d);if(!e)return;C(a,{type:"transcript",role:"assistant",text:e,final:!1}),K(a,b,e,!1);return}case"turn.done":{let f=E(a,c.turn.role,c.turn.transcript,!0,d);if(!f)return;"assistant"===c.turn.role&&K(a,b,f,!0),e=c.turn.role,a.persistTail=a.persistTail.then(async()=>{let c="assistant"===e&&a.voice.alias?{role:e,speaker:{alias:a.voice.alias,mode:a.voice.mode}}:{role:e},d=b.inner.sessionManager,g=(0,w.NR)(e,f),h="user"===e?"user":"agent",i=Date.now();b.inner.agent.appendMessage((0,p.createCustomMessage)(w.BD,g,!0,c,new Date(i).toISOString(),h)),d.appendCustomMessageEntry(w.BD,g,!0,c,h,i),await d.ensureOnDisk(),await d.flush(),(0,r.mD)(),C(a,{type:"transcript",role:e,text:f,final:!0})}).catch(b=>{C(a,{type:"error",message:b instanceof Error?b.message:String(b)}),D(a,"error")});return}case"delegation.created":{let d=c.item.content.filter(a=>"input_text"===a.type).map(a=>a.text).join("\n").trim();d&&(f=c.item.id,a.activeDelegationId=f,D(a,"working"),C(a,{type:"delegation",status:"started",request:d}),b.inner.sendCustomMessage({customType:p.LIVE_DELEGATION_MESSAGE_TYPE,content:d,display:!0,attribution:"agent"},{triggerTurn:!0}).catch(b=>{a.activeDelegationId=void 0,D(a,"live"),C(a,{type:"error",message:b instanceof Error?b.message:String(b)})}));return}case"error":C(a,{type:"error",message:c.message}),D(a,"error");return;default:return}}(m,b,a,c)},a=>{m.closed||m.persistTail.then(()=>{m.closed||(C(m,{type:"error",message:a}),U(i))})});if(m.sideband=n,m.detachAgent=b.inner.subscribe(a=>{m.closed||("agent_end"===a.type&&!1!==a.isTerminal&&m.activeDelegationId&&J(m,b),function(a,b){if(!a.activeDelegationId){"agent_end"===b.type&&!1!==b.isTerminal&&function(a,b){let c="";for(let a=b.length-1;a>=0&&!c;a-=1){let d=b[a];d?.role==="assistant"&&(c=B(d.content).trim())}if(!c)return;let d=I(b.find(a=>a?.role==="user"));d&&H(a,`Typed in chat during the call. ${d}`,"commentary"),H(a,A(c))}(a,b.messages);return}if("message_end"===b.type){if("assistant"!==b.message.role||"toolUse"!==b.message.stopReason)return;let c=B(b.message.content).trim();c&&G(a,c,!0);return}if("agent_end"===b.type&&!1!==b.isTerminal){for(let c=b.messages.length-1;c>=0;c-=1){let d=b.messages[c];if(!d||"assistant"!==d.role)continue;let e=B(d.content).trim();if(e){G(a,A(e),!1);break}}a.activeDelegationId=void 0,C(a,{type:"delegation",status:"completed"}),D(a,"live")}}(m,a))}),d){let b=a.locale;m.speech=new v.OF({apiKey:d.apiKey,model:d.model,voice:{voiceId:d.voiceId,generation:d.generation},defaultLanguage:b&&Object.hasOwn($,b)?$[b]:"en",emit:a=>C(m,a),onFatal:a=>{m.closed||(C(m,{type:"speech-error",message:a}),U(i))}})}return y().set(i,m),Q(m,()=>void U(i)),{callId:i,sdp:h,voice:c}}function Q(a,b){a.orphanTimer=setTimeout(b,6e4)}function R(a,b,c){return a.orphanTimer&&(clearTimeout(a.orphanTimer),a.orphanTimer=void 0),a.listeners.add(b),b({type:"state",state:a.state}),()=>{a.listeners.delete(b),a.listeners.size>0||a.closed||Q(a,c)}}function S(a,b){let c=y().get(a);if(!c||c.closed)return null;let d=R(c,b,()=>void U(a));return b({type:"voice",voice:c.voice}),c.lastTranscript&&b(c.lastTranscript),c.speech?.connect(),d}function T(a){if(a.sideband.readyState===WebSocket.OPEN)try{a.sideband.send(JSON.stringify((0,n.buildSessionClose)()))}catch{}D(a,"closed"),a.listeners.clear(),(a.sideband.readyState===WebSocket.OPEN||a.sideband.readyState===WebSocket.CONNECTING)&&a.sideband.close(1e3,"done")}async function U(a){let b=y().get(a);return!!b&&(y().delete(a),!!b.closed||(b.closed=!0,clearTimeout(b.orphanTimer),b.detachAgent(),b.speech?.close(),await b.persistTail,T(b),!0))}d()}catch(a){d(a)}})}};
@@ -1,3 +0,0 @@
1
- "use strict";exports.id=7467,exports.ids=[7467],exports.modules={10424:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{KA:()=>k});var e=c(33873),f=c(28967),g=c(38741),h=c(40402),i=c(63201),j=a([g,h,i]);[g,h,i]=j.then?(await j)():j;let l="cartesia",m={async read(){let{authStorage:a}=await (0,g.getOmpRuntime)(),b=a.credentials.get(l);return b?.type==="api_key"&&b.key?b.key:void 0},async write(a){let{authStorage:b}=await (0,g.getOmpRuntime)();await b.credentials.set(l,{type:"api_key",key:a,source:"login"}),(0,f.kn)(),(0,g.invalidateOmpRuntime)()},async remove(){let{authStorage:a}=await (0,g.getOmpRuntime)();await a.credentials.remove(l),(0,f.kn)(),(0,g.invalidateOmpRuntime)()}};function k(){return globalThis.__liveVoiceService??=(0,i.Im)({assetDir:(0,e.join)(process.cwd(),"public","audio","live"),stateFile:(0,e.join)((0,h.$M)(),"cuelo-live-voices.json"),keys:m}),globalThis.__liveVoiceService}d()}catch(a){d(a)}})},22691:(a,b,c)=>{c.d(b,{Lt:()=>d,Y3:()=>f});let d=["YUKI(유키)","ISANA(이사나)","MIO(미오)","RIN(린)","NOVA(노바)","SHION(시온)","HIKARI(히카리)"],e={"YUKI(유키)":"yuki","ISANA(이사나)":"isana","MIO(미오)":"mio","RIN(린)":"rin","NOVA(노바)":"nova","SHION(시온)":"shion","HIKARI(히카리)":"hikari"};function f(a){return a&&Object.hasOwn(e,a)?e[a]:null}},33338:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Gt:()=>k,Y3:()=>g,eR:()=>j,iH:()=>l,pq:()=>m});var e=c(75199),f=a([e]);e=(f.then?(await f)():f)[0];let k="2026-08-14",l="cartesia";class m extends Error{constructor(a,b,c){super(a),this.kind=b,this.status=c,this.name="CartesiaError"}}function g(a,b){return b?a.replaceAll(b,"[redacted]"):a}async function h(a,b){var c;let d=g(await a.text().catch(()=>""),b),e=d.trim();try{let a=JSON.parse(d),b=[a.title,a.message,a.error].filter(a=>"string"==typeof a&&""!==a);b.length>0&&(e=b.join(": "))}catch{}return e=e.replaceAll(/\s+/g," ").slice(0,300)||g(a.statusText,b),new m(`Cartesia ${a.status}: ${e}`,(c=a.status,401===c?"auth":402===c||403===c?"plan":429===c?"rate":404===c?"not-found":c>=500?"ambiguous":"bad-request"),a.status)}function i(a){if("object"!=typeof a||null===a||"string"!=typeof a.id||""===a.id)return null;let b=[];if(Array.isArray(a.accents))for(let c of a.accents){if("object"!=typeof c||null===c)continue;let{accent:a,locale:d,is_native:e}=c;"string"==typeof a&&b.push({accent:a,..."string"==typeof d?{locale:d}:{},isNative:!0===e})}return{id:a.id,name:"string"==typeof a.name?a.name:"",description:"string"==typeof a.description?a.description:"",isOwner:!0===a.is_owner,accents:b}}function j(a,b=(0,e.wrapFetchForProxy)(fetch,l)){let c={Authorization:`Bearer ${a}`,"Cartesia-Version":k};async function d(e,f,g=3e4){let i;try{i=await b(`https://api.cartesia.ai${e}`,{...f,headers:{...c,...f.headers},signal:AbortSignal.timeout(g),cache:"no-store",redirect:"error"})}catch(b){let a=b instanceof Error?b.name:"network";throw new m(`Cartesia 요청이 끝나지 않았습니다 (${a})`,"ambiguous")}if(!i.ok)throw await h(i,a);try{return await i.json()}catch{throw new m("Cartesia 응답을 읽지 못했습니다","ambiguous",i.status)}}async function f(a,b,c){let e=i(await d(a,b,c));if(!e)throw new m("Cartesia가 voice id 없는 응답을 돌려줬습니다","ambiguous");return e}return{async verifyKey(){await d("/voices?limit=1&is_owner=true",{method:"GET"})},async listOwnedVoices(){let a,b=[];for(let c=0;c<50;c+=1){let c=new URLSearchParams({limit:String(100),is_owner:"true"});a&&c.set("starting_after",a);let e=await d(`/voices?${c}`,{method:"GET"}),f="object"==typeof e&&null!==e?e:{};if(!Array.isArray(f.data))throw new m("Cartesia voice 목록 형식이 올바르지 않습니다","ambiguous");for(let a of f.data){let c=i(a);c&&b.push(c)}if(!0!==f.has_more)return b;let g="string"==typeof f.next_page&&f.next_page?f.next_page:b.at(-1)?.id;if(!g||g===a)break;a=g}throw new m("Cartesia voice 목록을 끝까지 확인하지 못했습니다","ambiguous")},getVoice:a=>f(`/voices/${encodeURIComponent(a)}`,{method:"GET"}),cloneVoice(a){let b=new FormData;return b.set("clip",a.clip,a.fileName),b.set("name",a.name),b.set("description",a.description),b.set("language",a.language),b.set("accent",a.accent),b.set("access","private"),f("/voices/clone",{method:"POST",body:b},12e4)},addAccents:(a,b)=>f(`/voices/${encodeURIComponent(a)}/accents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({accents:b})},12e4)}}d()}catch(a){d(a)}})},44309:(a,b,c)=>{c.d(b,{A5:()=>k,HH:()=>n,Jh:()=>l,f1:()=>e});var d=c(22691);let e="voices.json",f={"sonic-3.6":!0,"sonic-3.5":!0,"sonic-3":!0,"sonic-latest":!0},g=Object.fromEntries(["neutral","happy","excited","enthusiastic","elated","euphoric","triumphant","amazed","surprised","flirtatious","curious","content","peaceful","serene","calm","grateful","affectionate","trust","sympathetic","anticipation","mysterious","angry","mad","outraged","frustrated","agitated","threatened","disgusted","contempt","envious","sarcastic","ironic","sad","dejected","melancholic","disappointed","hurt","guilty","bored","tired","rejected","nostalgic","wistful","apologetic","hesitant","insecure","confused","resigned","anxious","panicked","alarmed","scared","proud","confident","distant","skeptical","contemplative","determined"].map(a=>[a,!0])),h=/^[a-z0-9][a-z0-9_-]*\.(?:wav|mp3|flac|ogg|webm)$/,i=/^[a-z]{2}$/,j=/^[a-z][a-z-]*$/,k={model:"",profiles:new Map},l=d.Lt.map(a=>({id:(0,d.Y3)(a),alias:a}));function m(a,b,c,d){return void 0===a?d:"number"!=typeof a||!Number.isFinite(a)||a<b||a>c?null:a}function n(a){if("object"!=typeof a||null===a)return k;let{version:b,provider:c,model:e,characters:l}=a;if(1!==b||"cartesia"!==c||"string"!=typeof e||!Object.hasOwn(f,e)||!Array.isArray(l))return k;let n=new Map;for(let a of l){let b=function(a){if("object"!=typeof a||null===a)return null;let{id:b,alias:c,reference:e,referenceLanguage:f,referenceAccent:k,addAccents:l,tuning:n}=a;if("string"!=typeof b||"string"!=typeof c||(0,d.Y3)(c)!==b||"string"!=typeof e||!h.test(e)||"string"!=typeof f||!i.test(f)||"string"!=typeof k||!j.test(k))return null;let o=void 0===l?[]:l;if(!Array.isArray(o)||!o.every(a=>"string"==typeof a&&j.test(a))||"accepted"!==n&&"provisional"!==n)return null;let p=function(a){if(void 0===a)return{speed:1,volume:1};if("object"!=typeof a||null===a)return null;let{emotion:b,speed:c,volume:d}=a,e=m(c,.6,1.5,1),f=m(d,.5,2,1);return null!==e&&null!==f&&(void 0===b||"string"==typeof b&&Object.hasOwn(g,b))?void 0===b?{speed:e,volume:f}:{emotion:b,speed:e,volume:f}:null}(a.generation);return p?{id:b,alias:c,reference:e,referenceLanguage:f,referenceAccent:k,addAccents:[...new Set(o)],generation:p,tuning:n}:null}(a);b&&!n.has(b.id)&&n.set(b.id,b)}return{model:e,profiles:n}}},63201:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Im:()=>o});var e=c(55511),f=c(29021),g=c(33873),h=c(8102),i=c(33338),j=c(44309),k=c(22691),l=a([i]);function m(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,16)}function n(a){return a instanceof Error?a.message:String(a)}function o(a){let b,c=a.client??(a=>(0,i.eR)(a)),d=new Map,l=null,o=null;function p(){try{return(0,j.HH)(JSON.parse((0,f.readFileSync)((0,g.join)(a.assetDir,j.f1),"utf8")))}catch{return j.A5}}function q(){if(!(0,f.existsSync)(a.stateFile))return{version:1,accounts:{}};let b=JSON.parse((0,f.readFileSync)(a.stateFile,"utf8"));if("object"!=typeof b||null===b)throw Error("통화 음성 상태 파일 형식이 올바르지 않습니다.");let{version:c,accounts:d}=b;if(1!==c||"object"!=typeof d||null===d)throw Error("통화 음성 상태 파일 형식이 올바르지 않습니다.");return b}function r(b,c,d){let e=q(),i=e.accounts[b]??{characters:{}},j=d({...i.characters[c]});return e.accounts[b]={...i,characters:{...i.characters,[c]:j}},(0,f.mkdirSync)((0,g.dirname)(a.stateFile),{recursive:!0,mode:448}),(0,h.$)(a.stateFile,`${JSON.stringify(e,null,2)}
2
- `),j}function s(b){let c,h=(0,g.join)(a.assetDir,b.reference);try{c=(0,f.statSync)(h)}catch{return null}if(!c.isFile())return null;let i=d.get(h);if(i&&i.mtimeMs===c.mtimeMs&&i.size===c.size)return i.sha256;let j=(0,e.createHash)("sha256").update((0,f.readFileSync)(h)).digest("hex");return d.set(h,{mtimeMs:c.mtimeMs,size:c.size,sha256:j}),j}function t(a,b){return!!(a?.voiceId&&a.accentsReady&&(a.imported||a.referenceSha256===b))}async function u(b){let d=b.trim();if(!d||/\s/.test(d))throw new i.pq("Cartesia API 키 형식이 올바르지 않습니다","bad-request");await c(d).verifyKey(),await a.keys.write(d),o=null}async function v(){if(b)throw Error("음성 준비가 진행 중이라 키를 지울 수 없습니다.");await a.keys.remove(),o=null}async function w(b,c,d,e,h,j){var k;let l,m=(k=d.id,`CUELO live voice ${k} ref:${e.slice(0,12)}`),o=r(c,d.id,a=>a.voiceId&&!a.imported&&a.referenceSha256!==e?{pendingCloneMarker:a.pendingCloneMarker}:{...a,error:void 0});if(!o.voiceId){let k=(await h()).find(a=>a.description.trim()===m);if(k)o=r(c,d.id,()=>({voiceId:k.id,referenceSha256:e}));else{let k=d.reference,l=new Blob([(0,f.readFileSync)((0,g.join)(a.assetDir,k))],{type:"audio/wav"});r(c,d.id,a=>({...a,pendingCloneMarker:m}));try{let a=await b.cloneVoice({clip:l,fileName:k,name:`CUELO ${d.alias}`,description:m,language:d.referenceLanguage,accent:d.referenceAccent});o=r(c,d.id,()=>({voiceId:a.id,referenceSha256:e}))}catch(b){if(!(b instanceof i.pq)||"ambiguous"!==b.kind)throw r(c,d.id,()=>({error:n(b)})),b;j();let a=(await h().catch(()=>[])).find(a=>a.description.trim()===m);if(!a)return void r(c,d.id,a=>({...a,error:`복제 결과를 확인하지 못했습니다. 다시 준비하면 계정 목록을 먼저 확인합니다. (${n(b)})`}));o=r(c,d.id,()=>({voiceId:a.id,referenceSha256:e}))}}}if(o.accentsReady||!o.voiceId)return;let p=o.voiceId;try{l=await b.getVoice(p)}catch(a){if(a instanceof i.pq&&"not-found"===a.kind)return void r(c,d.id,()=>({error:"Cartesia 계정에 이 voice가 없습니다. 다시 준비하면 새로 만듭니다."}));throw a}let q=d.addAccents.filter(a=>!l.accents.some(b=>b.accent===a));q.length>0&&(l=await b.addAccents(p,q));let s=d.addAccents.filter(a=>!l.accents.some(b=>b.accent===a));s.length>0?r(c,d.id,a=>({...a,error:`억양을 확인하지 못했습니다: ${s.join(", ")}`})):r(c,d.id,a=>({...a,accentsReady:!0,error:void 0}))}async function x(a){let b,d=c(a),e=m(a),f=p(),g=()=>b??=d.listOwnedVoices(),h=()=>{b=void 0};for(let{id:a}of j.Jh){let b=f.profiles.get(a),c=b?s(b):null;if(!b||!c)continue;let j=q().accounts[e]?.characters[a];if(!t(j,c)){l=a;try{await w(d,e,b,c,g,h)}catch(b){if(b instanceof i.pq&&("auth"===b.kind||"plan"===b.kind||"rate"===b.kind)){o="plan"===b.kind?`Cartesia 플랜이나 크레딧이 음성 복제를 허용하지 않습니다. 복제가 되는 플랜(Pro 이상)이 필요합니다. (${b.message})`:b.message;return}if(b instanceof i.pq&&"ambiguous"===b.kind){o=b.message;return}r(e,a,a=>({...a,error:n(b)}))}}}}async function y(){if(b)return;let{promise:c,resolve:d,reject:e}=Promise.withResolvers(),j=!1;b=c.then(x).catch(a=>{j||(o=n(a))}).finally(()=>{b=void 0,l=null});try{var k;let b,c,e=await a.keys.read();if(!e)throw new i.pq("Cartesia API 키가 없습니다","bad-request");k=m(e),c=(b=q()).accounts[k]??{characters:{}},b.accounts[k]={...c,acknowledgedAt:new Date().toISOString()},(0,f.mkdirSync)((0,g.dirname)(a.stateFile),{recursive:!0,mode:448}),(0,h.$)(a.stateFile,`${JSON.stringify(b,null,2)}
3
- `),o=null,d(e)}catch(a){throw j=!0,e(a),await b,a}}async function z(b){let c,d=await a.keys.read();if(!d)return{kind:"no-key"};let e=(0,k.Y3)(b);if(!b||!e)return{kind:"not-ready",alias:b??""};let f=p(),g=f.profiles.get(e),h=g?s(g):null;if(!g||!h)return{kind:"not-ready",alias:b};try{c=q().accounts[m(d)]?.characters[e]}catch{return{kind:"not-ready",alias:b}}return t(c,h)?{kind:"ready",apiKey:d,model:f.model,voiceId:c.voiceId,profile:g}:{kind:"not-ready",alias:b}}return{settings:async function(){let c=await a.keys.read(),d=p(),e=null,f=null;try{e=q()}catch(a){f=n(a)}let g=c&&e?e.accounts[m(c)]:void 0,h=j.Jh.map(({id:a,alias:c})=>{let e=d.profiles.get(a),f=e?s(e):null;if(!e||!f)return{id:a,alias:c,state:"missing-asset"};let h={id:a,alias:c,tuning:e.tuning},i=g?.characters[a];return b&&l===a?{...h,state:"preparing"}:t(i,f)?{...h,state:"ready"}:i?.pendingCloneMarker?{...h,state:"needs-check",...i.error?{error:i.error}:{}}:i?.error?{...h,state:"failed",error:i.error}:{...h,state:"not-prepared"}});return{configured:!!c,keyHint:c?c.length<=12?"••••":`${c.slice(0,7)}…${c.slice(-4)}`:null,preparing:!!b,acknowledgedAt:g?.acknowledgedAt??null,characters:h,lastError:f??o}},saveKey:u,removeKey:v,prepare:y,planFor:z,idle:()=>b??Promise.resolve()}}i=(l.then?(await l)():l)[0],d()}catch(a){d(a)}})},66544:(a,b,c)=>{c.d(b,{E2:()=>k,EN:()=>j,e9:()=>i});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(){return[process.env.CUELO_HOSTNAME,...process.env.CUELO_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}function j(a,b=g()){return!!i(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}}};