cuelo 0.5.0 → 0.5.2

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 (324) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +13 -13
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +5 -5
  6. package/.next/required-server-files.json +5 -5
  7. package/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/api/agent/[id]/account/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/account/route.js.nft.json +1 -1
  29. package/.next/server/app/api/agent/[id]/account/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  31. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  33. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  34. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/agent/[id]/route.js +1 -1
  36. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/agent/new/route.js +1 -1
  39. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  40. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/agent/running/route.js +1 -1
  42. package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
  43. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  45. package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  47. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  49. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  51. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/auth/providers/route.js +1 -1
  53. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/cwd/browse/route.js +1 -1
  55. package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -1
  56. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/cwd/validate/route.js +1 -1
  58. package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -1
  59. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/default-cwd/route.js +1 -1
  61. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
  62. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/display-settings/route.js +1 -1
  64. package/.next/server/app/api/display-settings/route.js.nft.json +1 -1
  65. package/.next/server/app/api/display-settings/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/document-text/route.js +2 -2
  67. package/.next/server/app/api/document-text/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/experiments/route.js +1 -1
  69. package/.next/server/app/api/experiments/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/file-index/route.js +1 -1
  71. package/.next/server/app/api/file-index/route.js.nft.json +1 -1
  72. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/files/[...path]/route.js +2 -2
  74. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  75. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/git/diff/route.js +2 -2
  77. package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
  78. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/git/status/route.js +1 -1
  80. package/.next/server/app/api/git/status/route.js.nft.json +1 -1
  81. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/gpt6/handles/route.js +1 -1
  83. package/.next/server/app/api/gpt6/handles/route.js.nft.json +1 -1
  84. package/.next/server/app/api/gpt6/handles/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/gpt6/mcp/route.js +1 -1
  86. package/.next/server/app/api/gpt6/mcp/route.js.nft.json +1 -1
  87. package/.next/server/app/api/gpt6/mcp/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/gpt6/reply/route.js +1 -1
  89. package/.next/server/app/api/gpt6/reply/route.js.nft.json +1 -1
  90. package/.next/server/app/api/gpt6/reply/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/gpt6/token/route.js +1 -1
  92. package/.next/server/app/api/gpt6/token/route.js.nft.json +1 -1
  93. package/.next/server/app/api/gpt6/token/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/gpt6/web6-session/route.js +1 -1
  95. package/.next/server/app/api/gpt6/web6-session/route.js.nft.json +1 -1
  96. package/.next/server/app/api/gpt6/web6-session/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/home/route.js +1 -1
  98. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/live/call/[callId]/route.js +1 -1
  100. package/.next/server/app/api/live/call/[callId]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/live/call/[callId]/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/live/events/route.js +2 -2
  103. package/.next/server/app/api/live/events/route.js.nft.json +1 -1
  104. package/.next/server/app/api/live/events/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/live/offer/route.js +1 -1
  106. package/.next/server/app/api/live/offer/route.js.nft.json +1 -1
  107. package/.next/server/app/api/live/offer/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/live/voices/route.js +1 -1
  109. package/.next/server/app/api/live/voices/route.js.nft.json +1 -1
  110. package/.next/server/app/api/live/voices/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/mcp/route.js +2 -2
  112. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  113. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/model-roles/route.js +1 -1
  115. package/.next/server/app/api/model-roles/route.js.nft.json +1 -1
  116. package/.next/server/app/api/model-roles/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/models/route.js +1 -1
  118. package/.next/server/app/api/models/route.js.nft.json +1 -1
  119. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  121. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/models-config/discover/route.js +1 -1
  123. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/models-config/route.js +3 -3
  125. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/models-config/test/route.js +1 -1
  127. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/plugins/route.js +1 -1
  129. package/.next/server/app/api/plugins/route.js.nft.json +1 -1
  130. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/project-trust/route.js +1 -1
  132. package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
  133. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/projects/route.js +1 -1
  135. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/runs/[runId]/route.js +1 -1
  137. package/.next/server/app/api/runs/[runId]/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/runs/route.js +1 -1
  139. package/.next/server/app/api/runs/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  141. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  142. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  144. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  145. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  147. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  149. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  151. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  152. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  154. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  155. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/sessions/route.js +1 -1
  157. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  158. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/settings/route.js +1 -1
  160. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  161. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/sidecars/[service]/[...path]/route.js +1 -1
  163. package/.next/server/app/api/sidecars/[service]/[...path]/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/skills/check/route.js +1 -1
  165. package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
  166. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/skills/install/route.js +1 -1
  168. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  169. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/skills/route.js +2 -2
  171. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  172. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/skills/search/route.js +1 -1
  174. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/skills/update/route.js +1 -1
  176. package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
  177. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/theme/route.js +1 -1
  179. package/.next/server/app/api/theme/route.js.nft.json +1 -1
  180. package/.next/server/app/api/theme/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/update-maintenance/route.js +2 -2
  182. package/.next/server/app/api/update-maintenance/route.js.nft.json +1 -1
  183. package/.next/server/app/api/update-maintenance/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/updates/route.js +1 -1
  185. package/.next/server/app/api/updates/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/web-access/recovery/route.js +1 -1
  187. package/.next/server/app/api/web-access/recovery/route.js.nft.json +1 -1
  188. package/.next/server/app/api/web-access/recovery/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/web-access/route.js +1 -1
  190. package/.next/server/app/api/web-access/route.js.nft.json +1 -1
  191. package/.next/server/app/api/web-access/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/web6/consults/route.js +1 -1
  193. package/.next/server/app/api/web6/consults/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/route.js +1 -1
  195. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  196. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/favicon.ico/route.js +1 -1
  198. package/.next/server/app/index.html +1 -1
  199. package/.next/server/app/index.rsc +5 -5
  200. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  201. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  202. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  203. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  204. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  205. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  206. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/page.js +9 -9
  208. package/.next/server/app/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/recover/page.js +2 -2
  210. package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
  211. package/.next/server/app/recover.html +1 -1
  212. package/.next/server/app/recover.rsc +4 -4
  213. package/.next/server/app/recover.segments/_full.segment.rsc +4 -4
  214. package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
  215. package/.next/server/app/recover.segments/_index.segment.rsc +3 -3
  216. package/.next/server/app/recover.segments/_tree.segment.rsc +2 -2
  217. package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +2 -2
  218. package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
  219. package/.next/server/app-paths-manifest.json +13 -13
  220. package/.next/server/chunks/319.js +3 -3
  221. package/.next/server/chunks/3379.js +1 -1
  222. package/.next/server/middleware-build-manifest.js +1 -1
  223. package/.next/server/middleware.js +11 -11
  224. package/.next/server/pages/404.html +1 -1
  225. package/.next/server/pages/500.html +1 -1
  226. package/.next/server/server-reference-manifest.json +1 -1
  227. package/.next/static/chunks/app/_not-found/page-9e5295df095e2e41.js +1 -0
  228. package/.next/static/chunks/app/layout-5217e6f9b3d4a4b8.js +1 -0
  229. package/.next/static/chunks/app/page-28b47a94fe58eaba.js +15 -0
  230. package/.next/static/chunks/app/recover/page-c0c40b3c215078a4.js +1 -0
  231. package/.next/static/chunks/{main-app-0dc38ffe862cd588.js → main-app-fbc4aa3c15d48613.js} +1 -1
  232. package/.next/static/chunks/next/dist/client/components/builtin/global-error-50782c8c9c06c8b5.js +1 -0
  233. package/.next/static/css/41958fa4965167ad.css +1 -0
  234. package/.next/trace +104 -8
  235. package/.next/trace-build +1 -1
  236. package/.next/types/app/api/agent/[id]/account/route.ts +1 -1
  237. package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
  238. package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
  239. package/.next/types/app/api/agent/[id]/route.ts +1 -1
  240. package/.next/types/app/api/agent/new/route.ts +1 -1
  241. package/.next/types/app/api/agent/running/route.ts +1 -1
  242. package/.next/types/app/api/auth/all-providers/route.ts +1 -1
  243. package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
  244. package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
  245. package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
  246. package/.next/types/app/api/auth/providers/route.ts +1 -1
  247. package/.next/types/app/api/cwd/browse/route.ts +1 -1
  248. package/.next/types/app/api/cwd/validate/route.ts +1 -1
  249. package/.next/types/app/api/default-cwd/route.ts +1 -1
  250. package/.next/types/app/api/display-settings/route.ts +1 -1
  251. package/.next/types/app/api/document-text/route.ts +1 -1
  252. package/.next/types/app/api/experiments/route.ts +1 -1
  253. package/.next/types/app/api/file-index/route.ts +1 -1
  254. package/.next/types/app/api/files/[...path]/route.ts +1 -1
  255. package/.next/types/app/api/git/diff/route.ts +1 -1
  256. package/.next/types/app/api/git/status/route.ts +1 -1
  257. package/.next/types/app/api/gpt6/handles/route.ts +1 -1
  258. package/.next/types/app/api/gpt6/mcp/route.ts +1 -1
  259. package/.next/types/app/api/gpt6/reply/route.ts +1 -1
  260. package/.next/types/app/api/gpt6/token/route.ts +1 -1
  261. package/.next/types/app/api/gpt6/web6-session/route.ts +1 -1
  262. package/.next/types/app/api/home/route.ts +1 -1
  263. package/.next/types/app/api/live/call/[callId]/route.ts +1 -1
  264. package/.next/types/app/api/live/events/route.ts +1 -1
  265. package/.next/types/app/api/live/offer/route.ts +1 -1
  266. package/.next/types/app/api/live/voices/route.ts +1 -1
  267. package/.next/types/app/api/mcp/route.ts +1 -1
  268. package/.next/types/app/api/model-roles/route.ts +1 -1
  269. package/.next/types/app/api/models/route.ts +1 -1
  270. package/.next/types/app/api/models-config/catalog/route.ts +1 -1
  271. package/.next/types/app/api/models-config/discover/route.ts +1 -1
  272. package/.next/types/app/api/models-config/route.ts +1 -1
  273. package/.next/types/app/api/models-config/test/route.ts +1 -1
  274. package/.next/types/app/api/plugins/route.ts +1 -1
  275. package/.next/types/app/api/project-trust/route.ts +1 -1
  276. package/.next/types/app/api/projects/route.ts +1 -1
  277. package/.next/types/app/api/runs/[runId]/route.ts +1 -1
  278. package/.next/types/app/api/runs/route.ts +1 -1
  279. package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
  280. package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
  281. package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
  282. package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
  283. package/.next/types/app/api/sessions/[id]/route.ts +1 -1
  284. package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
  285. package/.next/types/app/api/sessions/route.ts +1 -1
  286. package/.next/types/app/api/settings/route.ts +1 -1
  287. package/.next/types/app/api/sidecars/[service]/[...path]/route.ts +1 -1
  288. package/.next/types/app/api/skills/check/route.ts +1 -1
  289. package/.next/types/app/api/skills/install/route.ts +1 -1
  290. package/.next/types/app/api/skills/route.ts +1 -1
  291. package/.next/types/app/api/skills/search/route.ts +1 -1
  292. package/.next/types/app/api/skills/update/route.ts +1 -1
  293. package/.next/types/app/api/theme/route.ts +1 -1
  294. package/.next/types/app/api/update-maintenance/route.ts +1 -1
  295. package/.next/types/app/api/updates/route.ts +1 -1
  296. package/.next/types/app/api/web-access/recovery/route.ts +1 -1
  297. package/.next/types/app/api/web-access/route.ts +1 -1
  298. package/.next/types/app/api/web6/consults/route.ts +1 -1
  299. package/.next/types/app/api/worktrees/route.ts +1 -1
  300. package/.next/types/app/layout.ts +1 -1
  301. package/.next/types/app/page.ts +1 -1
  302. package/.next/types/app/recover/page.ts +1 -1
  303. package/README.md +174 -174
  304. package/Tools/CUELO_Setup/files/native-runtime-patch.js +349 -349
  305. package/Tools/OMP_Global_Config/agent/AGENTS.md +1 -1
  306. package/Tools/OMP_Global_Config/agent/agents/maker.md +390 -390
  307. package/Tools/OMP_Global_Config/agent/extensions/command-guard/matcher.ts +3 -1
  308. package/Tools/OMP_Global_Config/agent/extensions/jev-runtime.ts +63 -28
  309. package/Tools/OMP_Global_Config/agent/extensions/todo-nudge.ts +56 -56
  310. package/Tools/OMP_Global_Config/agent/prompt-copies/AGENTS.en.md +2 -2
  311. package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +5101 -5005
  312. package/bin/prepare-runtime.js +81 -81
  313. package/install.mjs +393 -393
  314. package/package.json +1 -1
  315. package/public/audio/completion/voices.json +1195 -1195
  316. package/public/offline.html +145 -145
  317. package/.next/static/chunks/app/_not-found/page-d3f2ac234e6fd3b6.js +0 -1
  318. package/.next/static/chunks/app/layout-95725ad1abf3cb75.js +0 -1
  319. package/.next/static/chunks/app/page-26a4df181c1d562c.js +0 -15
  320. package/.next/static/chunks/app/recover/page-770a1de1ff4ded56.js +0 -1
  321. package/.next/static/chunks/next/dist/client/components/builtin/global-error-070571d2fa580e7d.js +0 -1
  322. package/.next/static/css/bc8f2da9192ea16d.css +0 -1
  323. /package/.next/static/{MvC-CM1U-UMEzpaGIsCuQ → bGz6gPjG3dJqXPXBB1JeP}/_buildManifest.js +0 -0
  324. /package/.next/static/{MvC-CM1U-UMEzpaGIsCuQ → bGz6gPjG3dJqXPXBB1JeP}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1,174 +1,174 @@
1
- <p align="center">
2
- <img src="./docs/hero.png" alt="CUELO — AI coding agent workspace and harness for omp" width="100%">
3
- </p>
4
-
5
- <p align="center">
6
- <a href="./LICENSE"><img src="https://img.shields.io/github/license/gim47656-ship-it/CUELO?style=flat&colorA=222222&colorB=58A6FF" alt="License"></a>
7
- <a href="https://www.typescriptlang.org"><img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat&colorA=222222&logo=typescript&logoColor=white" alt="TypeScript"></a>
8
- <a href="https://bun.sh"><img src="https://img.shields.io/badge/runtime-Bun-f472b6?style=flat&colorA=222222" alt="Bun"></a>
9
- </p>
10
-
11
- # CUELO — AI Coding Agent Workspace & Harness for omp (oh-my-pi)
12
-
13
- **CUELO** is an open-source AI coding agent workspace and harness for **[omp (oh-my-pi)](https://github.com/can1357/oh-my-pi)**.
14
-
15
- Use the same `~/.omp/agent` sessions, credentials and model configuration from the terminal and browser. The web workspace provides session management, model configuration, skills, worktrees, usage views and PWA access. The public harness provides multi-agent orchestration and model-routing rules; some integrations require separately configured services, as detailed below.
16
-
17
- **한국어:** CUELO는 omp(oh-my-pi)를 위한 오픈소스 AI 코딩 에이전트 작업 공간이자 하네스입니다. 웹 앱은 omp SDK를 서버 안에서 실행하고, `omp` CLI와 같은 `~/.omp/agent` 디렉터리를 씁니다. 터미널에서 하던 세션을 브라우저에서 이어 가고, 다시 터미널로 돌아가도 기록·계정·모델 설정을 공유합니다.
18
-
19
- CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규칙·실행 절차에 반영해, 사람이 같은 문제를 다시 지적하지 않아도 다음 작업에서 실수를 줄이는 것입니다. 원인을 확인하고 필요한 부분만 바꾸며, 다음 작업에서 적용과 효과를 확인하는 것까지를 지향합니다. 기록을 저장했다는 이유만으로 자동 개선이 끝났다고 보지는 않습니다.
20
-
21
- **Keywords:** AI coding agent · agent harness · multi-agent orchestration · omp · oh-my-pi · model routing · developer tools
22
-
23
- ## 이 저장소로 되는 것과 따로 필요한 것
24
-
25
- | 구분 | 내용 |
26
- | --- | --- |
27
- | 이 저장소만으로 동작 | 웹 앱 전체: 세션 탐색·실시간 대화·분기/fork, 모델 역할, provider·플러그인·스킬 관리, 파일 미리보기, worktree, 비밀번호 잠금, 캐릭터 알림, 효율 패널(`~/.omp/stats.db` 읽기) |
28
- | 사용자가 준비할 것 | 자신의 모델 제공자 계정과 모델 선택. 인증정보·세션·설정은 사용자의 로컬 `~/.omp/agent`에 저장합니다 |
29
- | 로컬 사이드카 (공개) | 계정 사용량 카드, 사이드 챗(`/btw`), SubAgent 아카이브의 실행 소스도 포함합니다. `node install.mjs start`가 앱과 함께 실행합니다 |
30
- | OMP 하네스 (공개) | Main/Maker 역할 분담, 발주·검수 계약, task guard, 판단 라우팅(Jev), 캐릭터 음성, 명령 가드의 규칙·SOP·확장과 core 패치입니다. `node install.mjs setup`으로 설치하며, 자세한 설명은 [docs/harness.md](./docs/harness.md)에 있습니다 |
31
- | 포함하지 않는 것 | 개발자의 로그인 정보·API 키·개인 계정 및 모델 설정·개인 skill·대화와 작업 기록·PC별 운영 자료. 공개 설치는 필요한 비개인 운영 기본값만 제공하고 모델은 사용자가 고릅니다 |
32
-
33
- ## CUELO에서 할 수 있는 것
34
-
35
- **세션과 대화**
36
-
37
- - 프로젝트별로 지난 omp 세션을 찾아 이어 가고, 실시간으로 스트리밍되는 대화에서 도구 호출·비용·컨텍스트 사용량을 봅니다.
38
- - 이전 메시지에서 갈래를 나누거나(세션 안 분기), 별도 세션으로 fork합니다.
39
- - 작업 공간(프로젝트·worktree)을 바꾸면 그곳에서 마지막으로 열어 둔 세션으로 돌아갑니다.
40
- - goal 모드의 자동 이어 가기와 todo 진행 상황을 대화창 위에서 확인합니다.
41
- - 작업 로그 패널에서 이번 턴의 과정 항목과 턴마다 쓴 파일을 따로 봅니다.
42
-
43
- **계정과 자원**
44
-
45
- - 계정별 사용량 카드: 한도 창, 이번 구간 실측, 리셋 권장을 한 화면에 보여 줍니다. 기록이 없으면 숫자를 지어내지 않고 「기록 부족」으로 표시합니다.
46
- - 계정은 이메일 대신 캐릭터 얼굴과 별칭으로 구별합니다. 주소를 상시 노출하지 않기 위해서입니다.
47
- - 효율 패널(Run X-Ray · Experiment Lab): `~/.omp/stats.db`와 세션 기록에 이미 쌓인 값만 읽어 실행별 병목과 구성 비교를 보여 줍니다.
48
-
49
- **여러 에이전트와 함께 일하기**
50
-
51
- - SubAgent 아카이브: 진행 중·완료된 자식 에이전트의 기록을 열어 봅니다.
52
- - 자식 에이전트의 발화가 해당 턴 아래 대화 흐름에 끼어들어 누가 무슨 말을 했는지 이어서 읽힙니다.
53
- - 공개 하네스는 완료된 Maker의 미기록 Main 판정을 후속 지시 때 안내하고, 재작업 이력과 최종 수용을 구분합니다. 모델별 허용 추론 강도와 적용 경계는 [하네스 안내](./docs/harness.md#발주와-검수-계약)를 따릅니다.
54
- - 사이드 챗(`/btw`): 본 대화를 끊지 않고 옆 패널에서 따로 묻습니다. 답변은 본 대화와 같은 캐릭터 얼굴·스티커·마크다운으로 보이고, 세션마다 초안이 따로 보관됩니다. 사이드 챗 문답은 본 대화에 남지 않으며, 답변의 「메인에 보내기」를 누를 때만 문답과 추가 지시가 본 대화로 전달됩니다(본 대화가 실행 중이면 steer, 아니면 새 요청).
55
- - ChatGPT 6 Pro(SHION) 상담 브리지: 6 Pro가 MCP로 omp 세션에 붙어 상담하고, 상담 기록과 실패 기록이 대화창에 표시됩니다.
56
- - 실시간 음성: 브라우저 마이크로 Codex live 음성 세션을 엽니다. 자격 증명은 서버에만 두고 페이지에는 넘기지 않습니다.
57
-
58
- **알림과 표현**
59
-
60
- - 완료·실패·승인 요청·선택 요청 등 상황에 맞는 캐릭터 스티커와 음성으로 알립니다(RIN · MIO · YUKI · ISANA · NOVA · SHION).
61
- - 브라우저 알림과 PWA 설치를 지원합니다.
62
- - 한국어가 기본인 인터페이스입니다(영어·중국어 간체도 선택 가능).
63
-
64
- **omp-web에서 이어받은 기반 기능**
65
-
66
- - 모델 역할(`default`, `smol`, `slow`, `plan`, `commit`, `task` 등)별 모델 지정·전환 — TUI의 `/model`과 같은 `config.yml`을 씁니다.
67
- - 입력창의 `/` 명령은 대기 중뿐 아니라 실행 중에도 Enter·Steer·Follow-up으로 실행할 수 있습니다. 내장 명령은 즉시 처리하고, 발견된 확장·스킬·프롬프트 템플릿 명령은 해당 명령 경로로 전달합니다. 사용할 수 없거나 실행 중 허용되지 않는 명령은 안내하며 일반 채팅으로 전송하지 않습니다.
68
- - provider 로그인·API 키, `models.yml`, 플러그인, 스킬을 웹에서 관리합니다.
69
- - 프로젝트 파일 탐색과 소스·문서·이미지·오디오·PDF 미리보기, Git worktree 전환.
70
- - 프로젝트 신뢰: 신뢰하지 않은 저장소의 확장·훅·도구·MCP는 실행하지 않습니다([docs/project-trust.md](./docs/project-trust.md)).
71
- - 비밀번호 잠금(HTTP Basic Auth, scrypt 해시 저장)과 `/recover` 복구([docs/authentication.md](./docs/authentication.md)).
72
-
73
- ## 실행하기
74
-
75
- CUELO는 GitHub 소스와 npm 패키지 [`cuelo`](https://www.npmjs.com/package/cuelo)로 설치합니다. npm의 `omp-web`은 upstream 프로젝트이며 CUELO와 별개입니다.
76
-
77
- > **개발·검증 환경은 Windows입니다.** macOS·Linux는 개발·테스트 환경이 아니므로 동작과 지원을 보장하지 않습니다.
78
-
79
- omp SDK가 TypeScript 소스와 `bun:` 내장 모듈을 쓰기 때문에 서버는 **Bun 1.4.2 이상**에서만 돕니다.
80
- 메모리 패키지가 선언한 선택적 ONNX peer는 `onnxruntime-node:1.21.0`으로 제공합니다. Transformers가 요구하는 별도 버전은 자체 의존성으로 유지하며, 설치 오류를 피하려고 peer 검증을 끄지 않습니다.
81
-
82
- ```bash
83
- # Bun 설치
84
- powershell -c "irm bun.sh/install.ps1 | iex" # Windows
85
-
86
- # CUELO 받기와 실행
87
- git clone https://github.com/gim47656-ship-it/CUELO.git
88
- cd CUELO
89
- node install.mjs setup
90
- node install.mjs start
91
- ```
92
-
93
- 소스 빌드 없이 npm으로 설치하려면 Node.js 22.19.0 이상과 Bun 1.4.2 이상을 준비한 뒤 실행합니다.
94
-
95
- ```bash
96
- npm install -g cuelo
97
- cuelo setup
98
- cuelo start
99
- # 다른 터미널에서 서비스 확인
100
- cuelo health
101
- ```
102
-
103
- `setup`은 공개 하네스의 없는 파일만 추가합니다. npm 설치본에는 production 빌드가 포함되어 있어 다시 빌드하지 않습니다. 실행 중인 CUELO가 있다면 종료하거나 `cuelo start --port-base 31141`로 별도 포트를 사용하세요.
104
-
105
- 앱과 세 사이드카가 같은 터미널에서 실행됩니다. 브라우저에서 [http://127.0.0.1:30141](http://127.0.0.1:30141)을 열고 본인 계정으로 로그인한 뒤 모델을 선택하세요. 기본은 `127.0.0.1` 전용이며, Ctrl+C로 실행한 서비스를 종료합니다.
106
-
107
- 다른 터미널에서 `node install.mjs health`로 네 서비스의 응답을 확인합니다. 기존 설치와 다른 포트가 필요하면 `start`와 `health` 양쪽에 `--port-base 31141`처럼 지정합니다. Node.js 22.19.0 이상과 Git도 필요합니다.
108
-
109
- 처음 설치하거나 Claude·Codex에 설치를 맡길 때는 **[설치와 실행 안내](./docs/installation.md)**를 기준으로 하세요. 기존 프로필 파일은 자동으로 덮어쓰지 않으며, 제공자 로그인·권한 승인·모델 선택은 사용자 단계입니다. Windows에서 검증하며 다른 OS의 실사용 검증 범위는 설치 안내에 구분합니다.
110
-
111
- 앱만 따로 실행하는 기존 실행기 옵션:
112
-
113
- ```bash
114
- bun bin/cuelo.js --port 8080 # 포트 변경
115
- bun bin/cuelo.js --hostname 0.0.0.0 # 신뢰하는 네트워크에만 노출
116
- bun bin/cuelo.js --no-open # 브라우저 자동 열기 끄기
117
- bun bin/cuelo.js --authenticated # 비밀번호 잠금 켜기
118
- bun bin/cuelo.js --reset-password # 비밀번호 재설정
119
- ```
120
-
121
- 원격에서 쓸 때는 평문 HTTP를 인터넷에 열지 말고, 신뢰할 수 있는 HTTPS 리버스 프록시나 VPN 뒤에 두세요. CUELO는 권한이 큰 에이전트를 실행합니다.
122
-
123
- ### 업데이트
124
-
125
- 새 CUELO 릴리스가 나오면 사이드바 아래에 알림이 뜹니다. CUELO는 스스로 설치하지 않습니다. 소스에서 실행 중이면 서비스를 종료한 뒤 소스를 갱신하고 다시 설치·시작하세요. 실행 중인 개발 서버의 `.next/`에 빌드를 겹쳐 쓰지 마세요.
126
-
127
- ```bash
128
- git pull --ff-only
129
- node install.mjs setup
130
- node install.mjs start
131
- ```
132
-
133
- 공개 웹 소스 릴리스와 변경 내용은 [GitHub Releases](https://github.com/gim47656-ship-it/CUELO/releases)에서 확인하세요. [릴리스 절차](./docs/release.md)는 CUELO의 수동 게시 흐름을 설명합니다.
134
-
135
- ### 사이드카 서비스
136
-
137
- 사용량 카드, 사이드 챗, SubAgent 아카이브는 로컬 사이드카 서비스에서 데이터를 받습니다. 실행 소스는 공개 저장소의 `Tools/CUELO_Setup/files/`에 있고, `node install.mjs start`가 함께 실행합니다. 개발자의 인증정보나 대화 기록을 제공하는 서비스가 아니라, 각 사용자 PC의 데이터를 읽는 서비스입니다.
138
-
139
- | 기능 | 주소 |
140
- | --- | --- |
141
- | 계정 사용량·리셋 | `http://127.0.0.1:30142` |
142
- | 사이드 챗 | `http://127.0.0.1:30143` |
143
- | SubAgent 아카이브 | `http://127.0.0.1:30144` |
144
-
145
- 사이드카가 없으면 해당 패널은 「연결 안 됨」으로 표시되고, 나머지 기능은 그대로 동작합니다.
146
-
147
- ### Docker
148
-
149
- `Dockerfile`과 `docker-compose.yml`로 컨테이너에서 실행할 수 있습니다. omp 홈 디렉터리(`~/.omp`)를 마운트해야 합니다. 자세한 내용은 [docs/docker.md](./docs/docker.md)를 보세요.
150
-
151
- ## 개발
152
-
153
- ```bash
154
- bun install
155
- bun run dev # http://127.0.0.1:30141
156
- bun run typecheck
157
- bun run lint
158
- bun run test # 앱 테스트
159
- bun run test:coverage # 앱 테스트 + 커버리지 표
160
- ```
161
-
162
- 개발 서버를 쓰는 동안 같은 출력 경로에 `bun run build`를 돌리지 마세요. `.next/`를 덮어써서 개발 서버가 깨집니다. 검증용 production 빌드는 별도 소스 복사본이나 격리된 `CUELO_DIST_DIR`에서 실행하세요.
163
-
164
- 참고 문서: [OMP 하네스](./docs/harness.md) · [인증](./docs/authentication.md) · [프로젝트 신뢰](./docs/project-trust.md) · [worktree](./docs/worktrees.md) · [다국어](./docs/i18n.md) · [Docker](./docs/docker.md)
165
-
166
- ## 계보와 라이선스
167
-
168
- CUELO는 [@ddallabenetta](https://github.com/ddallabenetta)의 [omp-web](https://github.com/ddallabenetta/omp-web)을 기반으로 하고, omp-web은 [@agegr](https://github.com/agegr)의 [pi-web](https://github.com/agegr/pi-web)에서 갈라져 나왔습니다. CUELO 앱은 독립적으로 개발·배포하며 upstream 앱의 릴리스를 자동으로 따르지 않습니다. 기반 소스의 출처는 [`UPSTREAM.json`](./UPSTREAM.json)에 기록되어 있습니다.
169
-
170
- CUELO의 에이전트 엔진은 [omp (oh-my-pi)](https://github.com/can1357/oh-my-pi)입니다. omp 소스를 이 저장소에 복사하지 않고 `@oh-my-pi/*` npm 패키지(MIT, Copyright (c) 2025 Mario Zechner, Copyright (c) 2025-2026 Can Bölük)를 의존성으로 씁니다. 각 패키지의 라이선스 전문은 설치된 패키지 안의 `LICENSE`에 들어 있습니다.
171
-
172
- 캐릭터(RIN · MIO · YUKI · ISANA · NOVA · SHION)의 그림·음성·스티커와 `docs/hero.png`는 CUELO 고유 자산입니다.
173
-
174
- 코드: [MIT License](./LICENSE)
1
+ <p align="center">
2
+ <img src="./docs/hero.png" alt="CUELO — AI coding agent workspace and harness for omp" width="100%">
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="./LICENSE"><img src="https://img.shields.io/github/license/gim47656-ship-it/CUELO?style=flat&colorA=222222&colorB=58A6FF" alt="License"></a>
7
+ <a href="https://www.typescriptlang.org"><img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat&colorA=222222&logo=typescript&logoColor=white" alt="TypeScript"></a>
8
+ <a href="https://bun.sh"><img src="https://img.shields.io/badge/runtime-Bun-f472b6?style=flat&colorA=222222" alt="Bun"></a>
9
+ </p>
10
+
11
+ # CUELO — AI Coding Agent Workspace & Harness for omp (oh-my-pi)
12
+
13
+ **CUELO** is an open-source AI coding agent workspace and harness for **[omp (oh-my-pi)](https://github.com/can1357/oh-my-pi)**.
14
+
15
+ Use the same `~/.omp/agent` sessions, credentials and model configuration from the terminal and browser. The web workspace provides session management, model configuration, skills, worktrees, usage views and PWA access. The public harness provides multi-agent orchestration and model-routing rules; some integrations require separately configured services, as detailed below.
16
+
17
+ **한국어:** CUELO는 omp(oh-my-pi)를 위한 오픈소스 AI 코딩 에이전트 작업 공간이자 하네스입니다. 웹 앱은 omp SDK를 서버 안에서 실행하고, `omp` CLI와 같은 `~/.omp/agent` 디렉터리를 씁니다. 터미널에서 하던 세션을 브라우저에서 이어 가고, 다시 터미널로 돌아가도 기록·계정·모델 설정을 공유합니다.
18
+
19
+ CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규칙·실행 절차에 반영해, 사람이 같은 문제를 다시 지적하지 않아도 다음 작업에서 실수를 줄이는 것입니다. 원인을 확인하고 필요한 부분만 바꾸며, 다음 작업에서 적용과 효과를 확인하는 것까지를 지향합니다. 기록을 저장했다는 이유만으로 자동 개선이 끝났다고 보지는 않습니다.
20
+
21
+ **Keywords:** AI coding agent · agent harness · multi-agent orchestration · omp · oh-my-pi · model routing · developer tools
22
+
23
+ ## 이 저장소로 되는 것과 따로 필요한 것
24
+
25
+ | 구분 | 내용 |
26
+ | --- | --- |
27
+ | 앱·런타임 설치 뒤 동작 | 세션 탐색·실시간 대화·분기/fork, 모델 역할, provider·플러그인·스킬 관리, 파일 미리보기, 비밀번호 잠금, 캐릭터 알림 등. 대화에는 별도 제공자 인증이 필요합니다 |
28
+ | 사용자가 준비할 것 | Node.js·Bun과 자신의 모델 제공자 계정·모델 선택. 소스 checkout/전체 Git 기능에는 Git for Windows도 필요합니다. 인증정보·세션·설정은 사용자의 로컬 `~/.omp/agent`에 저장합니다 |
29
+ | 로컬 사이드카 (공개) | 계정 사용량 카드, 사이드 챗(`/btw`), SubAgent 아카이브의 실행 소스도 포함합니다. `start`가 앱과 함께 실행합니다. usage의 CLI fallback·`stats`에는 별도 `omp` CLI가 필요합니다 |
30
+ | OMP 하네스 (공개) | Main/Maker 역할 분담, 발주·검수 계약, task guard, 판단 라우팅(Jev), 캐릭터 음성, 명령 가드의 규칙·SOP·확장과 앱 SDK core 패치입니다. `setup`으로 설치합니다. [하네스 안내](./docs/harness.md)에 Jev의 외부 자격 경계가 있습니다 |
31
+ | 포함하지 않는 것 | 개발자의 로그인 정보·API 키·개인 계정 및 모델 설정·개인 skill·대화와 작업 기록·PC별 운영 자료. 공개 설치는 필요한 비개인 운영 기본값만 제공하고 모델은 사용자가 고릅니다 |
32
+
33
+ ## CUELO에서 할 수 있는 것
34
+
35
+ **세션과 대화**
36
+
37
+ - 프로젝트별로 지난 omp 세션을 찾아 이어 가고, 실시간으로 스트리밍되는 대화에서 도구 호출·비용·컨텍스트 사용량을 봅니다.
38
+ - 이전 메시지에서 갈래를 나누거나(세션 안 분기), 별도 세션으로 fork합니다.
39
+ - 작업 공간(프로젝트·worktree)을 바꾸면 그곳에서 마지막으로 열어 둔 세션으로 돌아갑니다.
40
+ - goal 모드의 자동 이어 가기와 todo 진행 상황을 대화창 위에서 확인합니다.
41
+ - 작업 로그 패널에서 이번 턴의 과정 항목과 턴마다 쓴 파일을 따로 봅니다.
42
+
43
+ **계정과 자원**
44
+
45
+ - 계정별 사용량 카드: 한도 창, 이번 구간 실측, 리셋 권장을 한 화면에 보여 줍니다. 기록이 없으면 숫자를 지어내지 않고 「기록 부족」으로 표시합니다.
46
+ - 계정은 이메일 대신 캐릭터 얼굴과 별칭으로 구별합니다. 주소를 상시 노출하지 않기 위해서입니다.
47
+ - 효율 패널(Run X-Ray · Experiment Lab): `~/.omp/stats.db`와 세션 기록에 이미 쌓인 값만 읽어 실행별 병목과 구성 비교를 보여 줍니다.
48
+
49
+ **여러 에이전트와 함께 일하기**
50
+
51
+ - SubAgent 아카이브: 진행 중·완료된 자식 에이전트의 기록을 열어 봅니다.
52
+ - 자식 에이전트의 발화가 해당 턴 아래 대화 흐름에 끼어들어 누가 무슨 말을 했는지 이어서 읽힙니다.
53
+ - 공개 하네스는 완료된 Maker의 미기록 Main 판정을 후속 지시 때 안내하고, 재작업 이력과 최종 수용을 구분합니다. 모델별 허용 추론 강도와 적용 경계는 [하네스 안내](./docs/harness.md#발주와-검수-계약)를 따릅니다.
54
+ - 사이드 챗(`/btw`): 본 대화를 끊지 않고 옆 패널에서 따로 묻습니다. 답변은 본 대화와 같은 캐릭터 얼굴·스티커·마크다운으로 보이고, 세션마다 초안이 따로 보관됩니다. 사이드 챗 문답은 본 대화에 남지 않으며, 답변의 「메인에 보내기」를 누를 때만 문답과 추가 지시가 본 대화로 전달됩니다(본 대화가 실행 중이면 steer, 아니면 새 요청).
55
+ - ChatGPT 6 Pro(SHION) 상담 브리지: 6 Pro가 MCP로 omp 세션에 붙어 상담하고, 상담 기록과 실패 기록이 대화창에 표시됩니다.
56
+ - 실시간 음성: 브라우저 마이크로 Codex live 음성 세션을 엽니다. 자격 증명은 서버에만 두고 페이지에는 넘기지 않습니다.
57
+
58
+ **알림과 표현**
59
+
60
+ - 완료·실패·승인 요청·선택 요청 등 상황에 맞는 캐릭터 스티커와 음성으로 알립니다(RIN · MIO · YUKI · ISANA · NOVA · SHION).
61
+ - 브라우저 알림과 PWA 설치를 지원합니다.
62
+ - 한국어가 기본인 인터페이스입니다(영어·중국어 간체도 선택 가능).
63
+
64
+ **omp-web에서 이어받은 기반 기능**
65
+
66
+ - 모델 역할(`default`, `smol`, `slow`, `plan`, `commit`, `task` 등)별 모델 지정·전환 — TUI의 `/model`과 같은 `config.yml`을 씁니다.
67
+ - 입력창의 `/` 명령은 대기 중뿐 아니라 실행 중에도 Enter·Steer·Follow-up으로 실행할 수 있습니다. 내장 명령은 즉시 처리하고, 발견된 확장·스킬·프롬프트 템플릿 명령은 해당 명령 경로로 전달합니다. 사용할 수 없거나 실행 중 허용되지 않는 명령은 안내하며 일반 채팅으로 전송하지 않습니다.
68
+ - provider 로그인·API 키, `models.yml`, 플러그인, 스킬을 웹에서 관리합니다.
69
+ - 프로젝트 파일 탐색과 소스·문서·이미지·오디오·PDF 미리보기, Git worktree 전환.
70
+ - 프로젝트 신뢰: 신뢰하지 않은 저장소의 확장·훅·도구·MCP는 실행하지 않습니다([docs/project-trust.md](./docs/project-trust.md)).
71
+ - 비밀번호 잠금(HTTP Basic Auth, scrypt 해시 저장)과 `/recover` 복구([docs/authentication.md](./docs/authentication.md)).
72
+
73
+ ## 실행하기
74
+
75
+ CUELO는 GitHub 소스와 npm 패키지 [`cuelo`](https://www.npmjs.com/package/cuelo)로 설치합니다. npm의 `omp-web`은 upstream 프로젝트이며 CUELO와 별개입니다. **기존 `omp` CLI만 설치한 PC에도 `omp-web` 없이 CUELO를 추가할 수 있습니다.** 기존 `config.yml`·계정·세션을 보존하는 순서는 [대표 설치 경로](./docs/installation.md#대표-경로-omp만-있는-windows-pc-omp-web-없음)에 있습니다.
76
+
77
+ > **개발·검증 환경은 Windows입니다.** macOS·Linux는 개발·테스트 환경이 아니므로 동작과 지원을 보장하지 않습니다.
78
+
79
+ 서버는 **Bun 1.4.2 이상**에서만 실행됩니다(omp SDK가 TypeScript 소스와 `bun:` 내장 모듈을 사용). Node.js 22.19.0 이상도 `install.mjs`와 npm에 필요합니다. Git은 소스 checkout과 Git 작업(worktree·commit 등)에 필요하지만 npm 설치와 기본 대화에는 필요하지 않습니다.
80
+ 메모리 패키지가 선언한 선택적 ONNX peer는 `onnxruntime-node:1.21.0`으로 제공합니다. Transformers가 요구하는 별도 버전은 자체 의존성으로 유지하며, 설치 오류를 피하려고 peer 검증을 끄지 않습니다. Mnemopi의 로컬 임베딩은 별도 `fastembed`와 모델을 첫 사용 때 내려받을 수 있습니다.
81
+
82
+ ```bash
83
+ # Bun 설치
84
+ powershell -c "irm bun.sh/install.ps1 | iex" # Windows
85
+
86
+ # CUELO 받기와 실행
87
+ git clone https://github.com/gim47656-ship-it/CUELO.git
88
+ cd CUELO
89
+ node install.mjs setup
90
+ node install.mjs start
91
+ ```
92
+
93
+ 소스 빌드 없이 npm으로 설치하려면 Node.js 22.19.0 이상과 Bun 1.4.2 이상을 준비한 뒤 실행합니다.
94
+
95
+ ```bash
96
+ npm install -g cuelo
97
+ cuelo setup
98
+ cuelo start
99
+ # 다른 터미널에서 서비스 확인
100
+ cuelo health
101
+ ```
102
+
103
+ `setup`은 공개 하네스의 없는 파일만 추가합니다. npm 설치본에는 production 빌드가 포함되어 있어 다시 빌드하지 않습니다. 실행 중인 CUELO가 있다면 종료하거나 `cuelo start --port-base 31141`로 별도 포트를 사용하세요.
104
+
105
+ 앱과 세 사이드카가 같은 터미널에서 실행됩니다. 브라우저에서 [http://127.0.0.1:30141](http://127.0.0.1:30141)을 열고 본인 계정으로 로그인한 뒤 모델을 선택하세요. 기본은 `127.0.0.1` 전용이며, Ctrl+C로 실행한 서비스를 종료합니다.
106
+
107
+ 다른 터미널에서 `node install.mjs health`(npm 설치는 `cuelo health`)로 네 서비스의 응답을 확인합니다. 기존 설치와 다른 포트가 필요하면 `start`와 `health` 양쪽에 `--port-base 31141`처럼 지정합니다. 이 검사는 제공자 인증·Jev 판정·사용량 응답을 검증하지 않습니다.
108
+
109
+ 처음 설치하거나 Claude·Codex에 설치를 맡길 때는 **[새 Windows 설치와 실행 안내](./docs/installation.md)**를 기준으로 하세요. 포함 파일과 외부 필수 항목, Jev 제공자 키·역할 설정, 기능별 CLI/Git 요구사항이 따로 적혀 있습니다. 기존 프로필 파일은 자동으로 덮어쓰지 않으며, 제공자 로그인·권한 승인·모델 선택은 사용자 단계입니다. 빈 Windows PC 전체를 실제 검증한 것은 아닙니다.
110
+
111
+ 앱만 따로 실행하는 기존 실행기 옵션:
112
+
113
+ ```bash
114
+ bun bin/cuelo.js --port 8080 # 포트 변경
115
+ bun bin/cuelo.js --hostname 0.0.0.0 # 신뢰하는 네트워크에만 노출
116
+ bun bin/cuelo.js --no-open # 브라우저 자동 열기 끄기
117
+ bun bin/cuelo.js --authenticated # 비밀번호 잠금 켜기
118
+ bun bin/cuelo.js --reset-password # 비밀번호 재설정
119
+ ```
120
+
121
+ 원격에서 쓸 때는 평문 HTTP를 인터넷에 열지 말고, 신뢰할 수 있는 HTTPS 리버스 프록시나 VPN 뒤에 두세요. CUELO는 권한이 큰 에이전트를 실행합니다.
122
+
123
+ ### 업데이트
124
+
125
+ 새 CUELO 릴리스가 나오면 사이드바 아래에 알림이 뜹니다. CUELO는 스스로 설치하지 않습니다. 소스에서 실행 중이면 서비스를 종료한 뒤 소스를 갱신하고 다시 설치·시작하세요. 실행 중인 개발 서버의 `.next/`에 빌드를 겹쳐 쓰지 마세요.
126
+
127
+ ```bash
128
+ git pull --ff-only
129
+ node install.mjs setup
130
+ node install.mjs start
131
+ ```
132
+
133
+ 공개 웹 소스 릴리스와 변경 내용은 [GitHub Releases](https://github.com/gim47656-ship-it/CUELO/releases)에서 확인하세요. [릴리스 절차](./docs/release.md)는 CUELO의 수동 게시 흐름을 설명합니다.
134
+
135
+ ### 사이드카 서비스
136
+
137
+ 사용량 카드, 사이드 챗, SubAgent 아카이브는 로컬 사이드카 서비스에서 데이터를 받습니다. 실행 소스는 공개 저장소의 `Tools/CUELO_Setup/files/`에 있고, `node install.mjs start`가 함께 실행합니다. 개발자의 인증정보나 대화 기록을 제공하는 서비스가 아니라, 각 사용자 PC의 데이터를 읽는 서비스입니다.
138
+
139
+ | 기능 | 주소 |
140
+ | --- | --- |
141
+ | 계정 사용량·리셋 | `http://127.0.0.1:30142` |
142
+ | 사이드 챗 | `http://127.0.0.1:30143` |
143
+ | SubAgent 아카이브 | `http://127.0.0.1:30144` |
144
+
145
+ 사이드카가 없으면 해당 패널은 「연결 안 됨」으로 표시되고, 나머지 기능은 그대로 동작합니다.
146
+
147
+ ### Docker
148
+
149
+ `Dockerfile`과 `docker-compose.yml`로 컨테이너에서 실행할 수 있습니다. omp 홈 디렉터리(`~/.omp`)를 마운트해야 합니다. 자세한 내용은 [docs/docker.md](./docs/docker.md)를 보세요.
150
+
151
+ ## 개발
152
+
153
+ ```bash
154
+ bun install
155
+ bun run dev # http://127.0.0.1:30141
156
+ bun run typecheck
157
+ bun run lint
158
+ bun run test # 앱 테스트
159
+ bun run test:coverage # 앱 테스트 + 커버리지 표
160
+ ```
161
+
162
+ 개발 서버를 쓰는 동안 같은 출력 경로에 `bun run build`를 돌리지 마세요. `.next/`를 덮어써서 개발 서버가 깨집니다. 검증용 production 빌드는 별도 소스 복사본이나 격리된 `CUELO_DIST_DIR`에서 실행하세요.
163
+
164
+ 참고 문서: [OMP 하네스](./docs/harness.md) · [인증](./docs/authentication.md) · [프로젝트 신뢰](./docs/project-trust.md) · [worktree](./docs/worktrees.md) · [다국어](./docs/i18n.md) · [Docker](./docs/docker.md)
165
+
166
+ ## 계보와 라이선스
167
+
168
+ CUELO는 [@ddallabenetta](https://github.com/ddallabenetta)의 [omp-web](https://github.com/ddallabenetta/omp-web)을 기반으로 하고, omp-web은 [@agegr](https://github.com/agegr)의 [pi-web](https://github.com/agegr/pi-web)에서 갈라져 나왔습니다. CUELO 앱은 독립적으로 개발·배포하며 upstream 앱의 릴리스를 자동으로 따르지 않습니다. 기반 소스의 출처는 [`UPSTREAM.json`](./UPSTREAM.json)에 기록되어 있습니다.
169
+
170
+ CUELO의 에이전트 엔진은 [omp (oh-my-pi)](https://github.com/can1357/oh-my-pi)입니다. omp 소스를 이 저장소에 복사하지 않고 `@oh-my-pi/*` npm 패키지(MIT, Copyright (c) 2025 Mario Zechner, Copyright (c) 2025-2026 Can Bölük)를 의존성으로 씁니다. 각 패키지의 라이선스 전문은 설치된 패키지 안의 `LICENSE`에 들어 있습니다.
171
+
172
+ 캐릭터(RIN · MIO · YUKI · ISANA · NOVA · SHION)의 그림·음성·스티커와 `docs/hero.png`는 CUELO 고유 자산입니다.
173
+
174
+ 코드: [MIT License](./LICENSE)