cuelo 0.10.72 → 0.10.74
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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +34 -31
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +18 -0
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +3 -3
- package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/agent/[id]/account/route.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/attachment-settings/route.js +1 -1
- package/.next/server/app/api/attachments/[id]/transcription/route.js +2 -2
- package/.next/server/app/api/attachments/draft/route.js +1 -1
- package/.next/server/app/api/attachments/route.js +2 -2
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/display-settings/route.js +1 -1
- package/.next/server/app/api/document-text/route.js +2 -2
- package/.next/server/app/api/experiments/route.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/github/projects/route.js +1 -1
- package/.next/server/app/api/gpt6/handles/route.js +1 -1
- package/.next/server/app/api/gpt6/reply/route.js +1 -1
- package/.next/server/app/api/gpt6/token/route.js +1 -1
- package/.next/server/app/api/gpt6/web6-session/route.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/live/call/[callId]/route.js +1 -17
- package/.next/server/app/api/live/call/[callId]/route.js.nft.json +1 -1
- package/.next/server/app/api/live/events/route.js +2 -18
- package/.next/server/app/api/live/events/route.js.nft.json +1 -1
- package/.next/server/app/api/live/interpret/cloud/events/route.js +5 -0
- package/.next/server/app/api/live/interpret/cloud/events/route.js.nft.json +1 -0
- package/.next/server/app/api/live/interpret/cloud/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/live/interpret/cloud/input/route.js +1 -0
- package/.next/server/app/api/live/interpret/cloud/input/route.js.nft.json +1 -0
- package/.next/server/app/api/live/interpret/cloud/input/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/live/interpret/cloud/route.js +1 -0
- package/.next/server/app/api/live/interpret/cloud/route.js.nft.json +1 -0
- package/.next/server/app/api/live/interpret/cloud/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/live/interpret/route.js +1 -17
- package/.next/server/app/api/live/interpret/route.js.nft.json +1 -1
- package/.next/server/app/api/live/offer/route.js +1 -1
- package/.next/server/app/api/live/voices/route.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/model-roles/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +3 -3
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/project-docs/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/projects/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/prelude/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/turns/route.js +1 -1
- package/.next/server/app/api/runs/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/sidecars/[service]/[...path]/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +2 -2
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/subagents/eta/route.js +1 -1
- package/.next/server/app/api/theme/route.js +1 -1
- package/.next/server/app/api/tool-image/route.js +1 -1
- package/.next/server/app/api/update-maintenance/route.js +3 -3
- package/.next/server/app/api/updates/route.js +1 -1
- package/.next/server/app/api/web-access/recovery/route.js +1 -1
- package/.next/server/app/api/web-access/route.js +1 -1
- package/.next/server/app/api/web6/consults/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +6 -6
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/page.js +4 -4
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recover/page.js +2 -2
- package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recover.html +1 -1
- package/.next/server/app/recover.rsc +3 -3
- package/.next/server/app/recover.segments/_full.segment.rsc +3 -3
- package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
- package/.next/server/app/recover.segments/_index.segment.rsc +3 -3
- package/.next/server/app/recover.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +34 -31
- package/.next/server/chunks/3379.js +1 -1
- package/.next/server/chunks/4975.js +17 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/H2ufbhTf0E1lUMS6itOuY/_buildManifest.js +1 -0
- package/.next/static/chunks/app/_global-error/{page-0975ca1ea02edd84.js → page-60d4ba1619c3b27a.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/account/{route-0975ca1ea02edd84.js → route-60d4ba1619c3b27a.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/{route-0975ca1ea02edd84.js → route-60d4ba1619c3b27a.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/events/{route-0975ca1ea02edd84.js → route-60d4ba1619c3b27a.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/attachment-settings/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/attachments/[id]/transcription/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/attachments/draft/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/attachments/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/display-settings/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/document-text/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/experiments/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/github/projects/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/gpt6/handles/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/gpt6/reply/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/gpt6/token/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/gpt6/web6-session/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/home/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/call/[callId]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/events/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/interpret/cloud/events/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/interpret/cloud/input/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/interpret/cloud/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/interpret/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/offer/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/live/voices/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/model-roles/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/models/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/project-docs/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/projects/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/runs/[runId]/prelude/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/runs/[runId]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/runs/[runId]/turns/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/runs/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/settings/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/skills/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/subagents/eta/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/theme/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/tool-image/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/update-maintenance/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/updates/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/web-access/recovery/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/web-access/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/web6/consults/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/{layout-01d319e6244f9037.js → layout-ce38667c3dbaac76.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/app/{page-5b08e6bd559f92a2.js → page-310e472f43946c9a.js} +11 -11
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-60d4ba1619c3b27a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60d4ba1619c3b27a.js +1 -0
- package/.next/static/css/{9d10110f0e99b5ec.css → 3cc9ed53e13c9f59.css} +1 -1
- package/.next/static/css/{f3545b4a13efe99d.css → 8ce0f8ce0d9c44c6.css} +1 -1
- package/.next/trace +108 -108
- package/.next/trace-build +1 -1
- package/.next/types/app/api/live/interpret/cloud/events/route.ts +351 -0
- package/.next/types/app/api/live/interpret/cloud/input/route.ts +351 -0
- package/.next/types/app/api/live/interpret/cloud/route.ts +351 -0
- package/.next/types/routes.d.ts +4 -1
- package/.next/types/validator.ts +27 -0
- package/README.md +73 -45
- package/Tools/CUELO_Setup/files/native-runtime-patch.js +1 -1
- package/Tools/OMP_Global_Config/agent/RULES.md +10 -5
- package/Tools/OMP_Global_Config/agent/prompt-copies/RULES.en.md +2 -2
- package/Tools/OMP_Global_Config/agent/rules/subagent.md +7 -4
- package/package.json +1 -1
- package/public/gemini-interpreter-worklet.js +74 -0
- package/.next/static/chunks/app/api/agent/[id]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/attachment-settings/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/attachments/[id]/transcription/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/attachments/draft/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/attachments/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/display-settings/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/document-text/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/experiments/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/github/projects/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/gpt6/handles/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/gpt6/reply/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/gpt6/token/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/gpt6/web6-session/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/home/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/live/call/[callId]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/live/events/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/live/interpret/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/live/offer/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/live/voices/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/model-roles/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/models/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/project-docs/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/projects/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/runs/[runId]/prelude/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/runs/[runId]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/runs/[runId]/turns/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/runs/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/settings/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/skills/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/subagents/eta/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/theme/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/tool-image/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/update-maintenance/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/updates/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/web-access/recovery/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/web-access/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/web6/consults/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-0975ca1ea02edd84.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0975ca1ea02edd84.js +0 -1
- package/.next/static/kdcdwjlQA1aSdErsPtJQP/_buildManifest.js +0 -1
- /package/.next/static/{kdcdwjlQA1aSdErsPtJQP → H2ufbhTf0E1lUMS6itOuY}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
// File: /home/runner/work/CUELO/CUELO/app/api/live/interpret/cloud/route.ts
|
|
2
|
+
import * as entry from '../../../../../../../app/api/live/interpret/cloud/route.js'
|
|
3
|
+
import type { NextRequest } from 'next/server.js'
|
|
4
|
+
|
|
5
|
+
import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
|
|
6
|
+
|
|
7
|
+
type TEntry = typeof import('../../../../../../../app/api/live/interpret/cloud/route.js')
|
|
8
|
+
|
|
9
|
+
type SegmentParams<T extends Object = any> = T extends Record<string, any>
|
|
10
|
+
? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
|
|
11
|
+
: T
|
|
12
|
+
|
|
13
|
+
// Check that the entry is a valid entry
|
|
14
|
+
checkFields<Diff<{
|
|
15
|
+
GET?: Function
|
|
16
|
+
HEAD?: Function
|
|
17
|
+
OPTIONS?: Function
|
|
18
|
+
POST?: Function
|
|
19
|
+
PUT?: Function
|
|
20
|
+
DELETE?: Function
|
|
21
|
+
PATCH?: Function
|
|
22
|
+
config?: {}
|
|
23
|
+
generateStaticParams?: Function
|
|
24
|
+
unstable_instant?: InstantConfigForTypeCheckInternal
|
|
25
|
+
unstable_dynamicStaleTime?: number
|
|
26
|
+
revalidate?: RevalidateRange<TEntry> | false
|
|
27
|
+
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
|
28
|
+
dynamicParams?: boolean
|
|
29
|
+
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
|
30
|
+
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
|
31
|
+
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
|
32
|
+
maxDuration?: number
|
|
33
|
+
|
|
34
|
+
}, TEntry, ''>>()
|
|
35
|
+
|
|
36
|
+
type RouteContext = { params: Promise<SegmentParams> }
|
|
37
|
+
// Check the prop type of the entry function
|
|
38
|
+
if ('GET' in entry) {
|
|
39
|
+
checkFields<
|
|
40
|
+
Diff<
|
|
41
|
+
ParamCheck<Request | NextRequest>,
|
|
42
|
+
{
|
|
43
|
+
__tag__: 'GET'
|
|
44
|
+
__param_position__: 'first'
|
|
45
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
|
|
46
|
+
},
|
|
47
|
+
'GET'
|
|
48
|
+
>
|
|
49
|
+
>()
|
|
50
|
+
checkFields<
|
|
51
|
+
Diff<
|
|
52
|
+
ParamCheck<RouteContext>,
|
|
53
|
+
{
|
|
54
|
+
__tag__: 'GET'
|
|
55
|
+
__param_position__: 'second'
|
|
56
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
|
|
57
|
+
},
|
|
58
|
+
'GET'
|
|
59
|
+
>
|
|
60
|
+
>()
|
|
61
|
+
|
|
62
|
+
checkFields<
|
|
63
|
+
Diff<
|
|
64
|
+
{
|
|
65
|
+
__tag__: 'GET',
|
|
66
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
__tag__: 'GET',
|
|
70
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
|
|
71
|
+
},
|
|
72
|
+
'GET'
|
|
73
|
+
>
|
|
74
|
+
>()
|
|
75
|
+
}
|
|
76
|
+
// Check the prop type of the entry function
|
|
77
|
+
if ('HEAD' in entry) {
|
|
78
|
+
checkFields<
|
|
79
|
+
Diff<
|
|
80
|
+
ParamCheck<Request | NextRequest>,
|
|
81
|
+
{
|
|
82
|
+
__tag__: 'HEAD'
|
|
83
|
+
__param_position__: 'first'
|
|
84
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
|
|
85
|
+
},
|
|
86
|
+
'HEAD'
|
|
87
|
+
>
|
|
88
|
+
>()
|
|
89
|
+
checkFields<
|
|
90
|
+
Diff<
|
|
91
|
+
ParamCheck<RouteContext>,
|
|
92
|
+
{
|
|
93
|
+
__tag__: 'HEAD'
|
|
94
|
+
__param_position__: 'second'
|
|
95
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
|
|
96
|
+
},
|
|
97
|
+
'HEAD'
|
|
98
|
+
>
|
|
99
|
+
>()
|
|
100
|
+
|
|
101
|
+
checkFields<
|
|
102
|
+
Diff<
|
|
103
|
+
{
|
|
104
|
+
__tag__: 'HEAD',
|
|
105
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
__tag__: 'HEAD',
|
|
109
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
|
|
110
|
+
},
|
|
111
|
+
'HEAD'
|
|
112
|
+
>
|
|
113
|
+
>()
|
|
114
|
+
}
|
|
115
|
+
// Check the prop type of the entry function
|
|
116
|
+
if ('OPTIONS' in entry) {
|
|
117
|
+
checkFields<
|
|
118
|
+
Diff<
|
|
119
|
+
ParamCheck<Request | NextRequest>,
|
|
120
|
+
{
|
|
121
|
+
__tag__: 'OPTIONS'
|
|
122
|
+
__param_position__: 'first'
|
|
123
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
|
|
124
|
+
},
|
|
125
|
+
'OPTIONS'
|
|
126
|
+
>
|
|
127
|
+
>()
|
|
128
|
+
checkFields<
|
|
129
|
+
Diff<
|
|
130
|
+
ParamCheck<RouteContext>,
|
|
131
|
+
{
|
|
132
|
+
__tag__: 'OPTIONS'
|
|
133
|
+
__param_position__: 'second'
|
|
134
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
|
|
135
|
+
},
|
|
136
|
+
'OPTIONS'
|
|
137
|
+
>
|
|
138
|
+
>()
|
|
139
|
+
|
|
140
|
+
checkFields<
|
|
141
|
+
Diff<
|
|
142
|
+
{
|
|
143
|
+
__tag__: 'OPTIONS',
|
|
144
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
__tag__: 'OPTIONS',
|
|
148
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
|
|
149
|
+
},
|
|
150
|
+
'OPTIONS'
|
|
151
|
+
>
|
|
152
|
+
>()
|
|
153
|
+
}
|
|
154
|
+
// Check the prop type of the entry function
|
|
155
|
+
if ('POST' in entry) {
|
|
156
|
+
checkFields<
|
|
157
|
+
Diff<
|
|
158
|
+
ParamCheck<Request | NextRequest>,
|
|
159
|
+
{
|
|
160
|
+
__tag__: 'POST'
|
|
161
|
+
__param_position__: 'first'
|
|
162
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
|
|
163
|
+
},
|
|
164
|
+
'POST'
|
|
165
|
+
>
|
|
166
|
+
>()
|
|
167
|
+
checkFields<
|
|
168
|
+
Diff<
|
|
169
|
+
ParamCheck<RouteContext>,
|
|
170
|
+
{
|
|
171
|
+
__tag__: 'POST'
|
|
172
|
+
__param_position__: 'second'
|
|
173
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
|
|
174
|
+
},
|
|
175
|
+
'POST'
|
|
176
|
+
>
|
|
177
|
+
>()
|
|
178
|
+
|
|
179
|
+
checkFields<
|
|
180
|
+
Diff<
|
|
181
|
+
{
|
|
182
|
+
__tag__: 'POST',
|
|
183
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
__tag__: 'POST',
|
|
187
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
|
|
188
|
+
},
|
|
189
|
+
'POST'
|
|
190
|
+
>
|
|
191
|
+
>()
|
|
192
|
+
}
|
|
193
|
+
// Check the prop type of the entry function
|
|
194
|
+
if ('PUT' in entry) {
|
|
195
|
+
checkFields<
|
|
196
|
+
Diff<
|
|
197
|
+
ParamCheck<Request | NextRequest>,
|
|
198
|
+
{
|
|
199
|
+
__tag__: 'PUT'
|
|
200
|
+
__param_position__: 'first'
|
|
201
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
|
|
202
|
+
},
|
|
203
|
+
'PUT'
|
|
204
|
+
>
|
|
205
|
+
>()
|
|
206
|
+
checkFields<
|
|
207
|
+
Diff<
|
|
208
|
+
ParamCheck<RouteContext>,
|
|
209
|
+
{
|
|
210
|
+
__tag__: 'PUT'
|
|
211
|
+
__param_position__: 'second'
|
|
212
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
|
|
213
|
+
},
|
|
214
|
+
'PUT'
|
|
215
|
+
>
|
|
216
|
+
>()
|
|
217
|
+
|
|
218
|
+
checkFields<
|
|
219
|
+
Diff<
|
|
220
|
+
{
|
|
221
|
+
__tag__: 'PUT',
|
|
222
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
__tag__: 'PUT',
|
|
226
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
|
|
227
|
+
},
|
|
228
|
+
'PUT'
|
|
229
|
+
>
|
|
230
|
+
>()
|
|
231
|
+
}
|
|
232
|
+
// Check the prop type of the entry function
|
|
233
|
+
if ('DELETE' in entry) {
|
|
234
|
+
checkFields<
|
|
235
|
+
Diff<
|
|
236
|
+
ParamCheck<Request | NextRequest>,
|
|
237
|
+
{
|
|
238
|
+
__tag__: 'DELETE'
|
|
239
|
+
__param_position__: 'first'
|
|
240
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
|
|
241
|
+
},
|
|
242
|
+
'DELETE'
|
|
243
|
+
>
|
|
244
|
+
>()
|
|
245
|
+
checkFields<
|
|
246
|
+
Diff<
|
|
247
|
+
ParamCheck<RouteContext>,
|
|
248
|
+
{
|
|
249
|
+
__tag__: 'DELETE'
|
|
250
|
+
__param_position__: 'second'
|
|
251
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
|
|
252
|
+
},
|
|
253
|
+
'DELETE'
|
|
254
|
+
>
|
|
255
|
+
>()
|
|
256
|
+
|
|
257
|
+
checkFields<
|
|
258
|
+
Diff<
|
|
259
|
+
{
|
|
260
|
+
__tag__: 'DELETE',
|
|
261
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
__tag__: 'DELETE',
|
|
265
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
|
|
266
|
+
},
|
|
267
|
+
'DELETE'
|
|
268
|
+
>
|
|
269
|
+
>()
|
|
270
|
+
}
|
|
271
|
+
// Check the prop type of the entry function
|
|
272
|
+
if ('PATCH' in entry) {
|
|
273
|
+
checkFields<
|
|
274
|
+
Diff<
|
|
275
|
+
ParamCheck<Request | NextRequest>,
|
|
276
|
+
{
|
|
277
|
+
__tag__: 'PATCH'
|
|
278
|
+
__param_position__: 'first'
|
|
279
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
|
|
280
|
+
},
|
|
281
|
+
'PATCH'
|
|
282
|
+
>
|
|
283
|
+
>()
|
|
284
|
+
checkFields<
|
|
285
|
+
Diff<
|
|
286
|
+
ParamCheck<RouteContext>,
|
|
287
|
+
{
|
|
288
|
+
__tag__: 'PATCH'
|
|
289
|
+
__param_position__: 'second'
|
|
290
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
|
|
291
|
+
},
|
|
292
|
+
'PATCH'
|
|
293
|
+
>
|
|
294
|
+
>()
|
|
295
|
+
|
|
296
|
+
checkFields<
|
|
297
|
+
Diff<
|
|
298
|
+
{
|
|
299
|
+
__tag__: 'PATCH',
|
|
300
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
__tag__: 'PATCH',
|
|
304
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
|
|
305
|
+
},
|
|
306
|
+
'PATCH'
|
|
307
|
+
>
|
|
308
|
+
>()
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
// Check the arguments and return type of the generateStaticParams function
|
|
312
|
+
if ('generateStaticParams' in entry) {
|
|
313
|
+
checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
|
314
|
+
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export interface PageProps {
|
|
318
|
+
params?: Promise<SegmentParams>
|
|
319
|
+
searchParams?: Promise<any>
|
|
320
|
+
}
|
|
321
|
+
export interface LayoutProps {
|
|
322
|
+
children?: React.ReactNode
|
|
323
|
+
|
|
324
|
+
params?: Promise<SegmentParams>
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// =============
|
|
328
|
+
// Utility types
|
|
329
|
+
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
|
330
|
+
|
|
331
|
+
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
|
332
|
+
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
|
333
|
+
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
|
334
|
+
|
|
335
|
+
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
|
336
|
+
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
|
337
|
+
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
|
338
|
+
|
|
339
|
+
type ParamCheck<T> = {
|
|
340
|
+
__tag__: string
|
|
341
|
+
__param_position__: string
|
|
342
|
+
__param_type__: T
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
|
346
|
+
|
|
347
|
+
// https://github.com/sindresorhus/type-fest
|
|
348
|
+
type Numeric = number | bigint
|
|
349
|
+
type Zero = 0 | 0n
|
|
350
|
+
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
|
351
|
+
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
package/.next/types/routes.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/recover"
|
|
5
|
-
type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/account" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/new" | "/api/agent/running" | "/api/attachment-settings" | "/api/attachments" | "/api/attachments/[id]/transcription" | "/api/attachments/draft" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/display-settings" | "/api/document-text" | "/api/experiments" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/github/projects" | "/api/gpt6/handles" | "/api/gpt6/reply" | "/api/gpt6/token" | "/api/gpt6/web6-session" | "/api/home" | "/api/live/call/[callId]" | "/api/live/events" | "/api/live/interpret" | "/api/live/offer" | "/api/live/voices" | "/api/mcp" | "/api/model-roles" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/plugins" | "/api/project-docs" | "/api/project-trust" | "/api/projects" | "/api/runs" | "/api/runs/[runId]" | "/api/runs/[runId]/prelude" | "/api/runs/[runId]/turns" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/export" | "/api/sessions/[id]/state" | "/api/sessions/search" | "/api/settings" | "/api/sidecars/[service]/[...path]" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/subagents/eta" | "/api/theme" | "/api/tool-image" | "/api/update-maintenance" | "/api/updates" | "/api/web-access" | "/api/web-access/recovery" | "/api/web6/consults" | "/api/worktrees"
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/account" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/new" | "/api/agent/running" | "/api/attachment-settings" | "/api/attachments" | "/api/attachments/[id]/transcription" | "/api/attachments/draft" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/display-settings" | "/api/document-text" | "/api/experiments" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/github/projects" | "/api/gpt6/handles" | "/api/gpt6/reply" | "/api/gpt6/token" | "/api/gpt6/web6-session" | "/api/home" | "/api/live/call/[callId]" | "/api/live/events" | "/api/live/interpret" | "/api/live/interpret/cloud" | "/api/live/interpret/cloud/events" | "/api/live/interpret/cloud/input" | "/api/live/offer" | "/api/live/voices" | "/api/mcp" | "/api/model-roles" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/plugins" | "/api/project-docs" | "/api/project-trust" | "/api/projects" | "/api/runs" | "/api/runs/[runId]" | "/api/runs/[runId]/prelude" | "/api/runs/[runId]/turns" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/export" | "/api/sessions/[id]/state" | "/api/sessions/search" | "/api/settings" | "/api/sidecars/[service]/[...path]" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/subagents/eta" | "/api/theme" | "/api/tool-image" | "/api/update-maintenance" | "/api/updates" | "/api/web-access" | "/api/web-access/recovery" | "/api/web6/consults" | "/api/worktrees"
|
|
6
6
|
type PageRoutes = never
|
|
7
7
|
type LayoutRoutes = "/"
|
|
8
8
|
type RedirectRoutes = never
|
|
@@ -46,6 +46,9 @@ interface ParamMap {
|
|
|
46
46
|
"/api/live/call/[callId]": { "callId": string; }
|
|
47
47
|
"/api/live/events": {}
|
|
48
48
|
"/api/live/interpret": {}
|
|
49
|
+
"/api/live/interpret/cloud": {}
|
|
50
|
+
"/api/live/interpret/cloud/events": {}
|
|
51
|
+
"/api/live/interpret/cloud/input": {}
|
|
49
52
|
"/api/live/offer": {}
|
|
50
53
|
"/api/live/voices": {}
|
|
51
54
|
"/api/mcp": {}
|
package/.next/types/validator.ts
CHANGED
|
@@ -362,6 +362,33 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
362
362
|
type __Unused = __Check
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
+
// Validate ../../app/api/live/interpret/cloud/events/route.ts
|
|
366
|
+
{
|
|
367
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/live/interpret/cloud/events">> = Specific
|
|
368
|
+
const handler = {} as typeof import("../../app/api/live/interpret/cloud/events/route.js")
|
|
369
|
+
type __Check = __IsExpected<typeof handler>
|
|
370
|
+
// @ts-ignore
|
|
371
|
+
type __Unused = __Check
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Validate ../../app/api/live/interpret/cloud/input/route.ts
|
|
375
|
+
{
|
|
376
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/live/interpret/cloud/input">> = Specific
|
|
377
|
+
const handler = {} as typeof import("../../app/api/live/interpret/cloud/input/route.js")
|
|
378
|
+
type __Check = __IsExpected<typeof handler>
|
|
379
|
+
// @ts-ignore
|
|
380
|
+
type __Unused = __Check
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// Validate ../../app/api/live/interpret/cloud/route.ts
|
|
384
|
+
{
|
|
385
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/live/interpret/cloud">> = Specific
|
|
386
|
+
const handler = {} as typeof import("../../app/api/live/interpret/cloud/route.js")
|
|
387
|
+
type __Check = __IsExpected<typeof handler>
|
|
388
|
+
// @ts-ignore
|
|
389
|
+
type __Unused = __Check
|
|
390
|
+
}
|
|
391
|
+
|
|
365
392
|
// Validate ../../app/api/live/interpret/route.ts
|
|
366
393
|
{
|
|
367
394
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/live/interpret">> = Specific
|
package/README.md
CHANGED
|
@@ -8,55 +8,41 @@
|
|
|
8
8
|
<a href="https://bun.sh"><img src="https://img.shields.io/badge/runtime-Bun-f472b6?style=flat&colorA=222222" alt="Bun"></a>
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
-
# CUELO —
|
|
11
|
+
# CUELO — Browser workspace and multi-agent harness for omp (oh-my-pi)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
CUELO is an open-source browser workspace and harness for [omp (oh-my-pi)](https://github.com/can1357/oh-my-pi) coding agents: shared terminal sessions, multi-agent work you can inspect, account usage, and voice.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
CUELO는 터미널에서 쓰던 omp 세션·계정·모델 설정을 브라우저에서 그대로 이어 쓰고, 여러 에이전트의 작업과 검수를 한 화면에서 보는 오픈소스 작업 공간이자 하네스입니다.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
## Why CUELO
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
취소되거나 시간초과된 하위 작업의 늦은 완료 내용은 기존 수용 결과를 덮어쓰지 않습니다. 중단 상태는 성공으로 바뀌지 않으며, 진단용 내용과 기록된 사용량은 별도로 남습니다. 이미 실행된 외부 작업이나 과금을 되돌리는 기능은 아닙니다.
|
|
26
|
-
|
|
27
|
-
소스가 없는 .NET 어셈블리와 JavaScript/Electron 배포물은 [REA 선택 연결 안내](./docs/harness.md#바이너리-분석용-rea-연결선택)에 따라 정적으로 조사할 수 있습니다. Linux에서 기존 MCP 연결·도구 상속·제한 세션 동작을 검증했으며, 프로젝트별 등록은 승인 뒤에만 수행합니다. Windows REA 호환성은 아직 확인하지 않았습니다.
|
|
28
|
-
|
|
29
|
-
CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규칙·실행 절차에 반영해, 사람이 같은 문제를 다시 지적하지 않아도 다음 작업에서 실수를 줄이는 것입니다. 원인을 확인하고 필요한 부분만 바꾸며, 다음 작업에서 적용과 효과를 확인하는 것까지를 지향합니다. 기록을 저장했다는 이유만으로 자동 개선이 끝났다고 보지는 않습니다.
|
|
30
|
-
|
|
31
|
-
작업 규칙은 추가 개선을 제안할 때 해결할 실제 실패, 가장 작은 수정이라고 판단한 이유, 관측 가능한 완료 기준을 먼저 설명하도록 정합니다. 근거가 빠진 개선은 구현을 보류하며, 테스트 통과와 사용자 환경의 실제 동작 확인은 구분합니다.
|
|
32
|
-
|
|
33
|
-
검증 결과는 [연결 검사·실환경 확인·모델 평가](./docs/harness.md#검증-결과-읽기)로 구분해 읽습니다. 도구에 요청을 전달했다는 표시만으로 사용자가 원한 작업까지 끝났다고 판단하지 않습니다.
|
|
34
|
-
|
|
35
|
-
교차 검토를 닫을 때 검토 이후의 파일 변경·삭제를 알려 줍니다. 앞선 라운드에서 이미 검토한 삭제는 다른 파일의 후속 검토를 이어 가도 다시 경고하지 않습니다. 이 안내는 검토 통과 판정을 바꾸지 않습니다.
|
|
36
|
-
|
|
37
|
-
세션은 관련 작업을 시작할 때 미결 항목과 미해결 실패를 현재 근거로 분류하고, 이미 승인된 범위 안의 실행 가능한 일만 원인 확인·처리·재검증한 뒤 문서를 맞춥니다. 막힌 실패는 증거와 재검증 기준을 `HANDOFF.md`에 남겨 다음 관련 세션이 이어받습니다. 백그라운드에서 스스로 고치는 기능은 아닙니다. 자세한 내용은 [하네스 안내](./docs/harness.md#미결-작업-처리)를 참고하세요.
|
|
38
|
-
|
|
39
|
-
WSL에서 작업하는 프로젝트에 기존 Windows 사본이 연결되어 있으면, 작업 완료 후 검증·게시한 소스와 문서를 Windows 사본에도 같은 커밋으로 반영합니다. Windows에 별도로 남은 변경이나 갈라진 이력은 덮어쓰지 않고 알립니다. 실시간 양방향 동기화는 아니며, 설치된 프로필·인증정보·실행 산출물·독립 CLI는 복사하지 않습니다. Windows 전용 장비 프로젝트는 기존 위치와 도구를 유지합니다.
|
|
40
|
-
|
|
41
|
-
Anthropic 구독 계정이 모두 주간 한도에 닿으면, 미리 둔 예비 API 키로 요청을 이어 갈 수 있습니다. 5시간 한도만 찬 경우에는 지금처럼 리셋을 기다리고, 주간 한도가 리셋되면 다시 구독 계정을 씁니다. 키는 폴백할 때만 읽고 에이전트가 실행하는 셸에는 넘기지 않습니다. 키를 두는 위치와 조건은 [하네스 안내](./docs/harness.md)에 있습니다.
|
|
42
|
-
|
|
43
|
-
문서가 없는 프로젝트에서 처음 소스를 커밋하면, 커밋 결과에 그 프로젝트의 인계 문서와 작업 기록을 만들라는 알림이 붙습니다. 알림만 표시하고 커밋을 막지는 않습니다.
|
|
19
|
+
- **One agent home, two surfaces**: the terminal `omp` CLI and the browser share the same `~/.omp/agent` sessions, credentials and model settings. Start in one, continue in the other.
|
|
20
|
+
- **Multi-agent work you can inspect**: Main delegates to Makers; each task gets a card with live status, Main's review verdict, a flow graph and the files it changed.
|
|
21
|
+
- **Accounts and models at a glance**: per-account usage cards with limit windows and reset guidance, plus model roles you switch from the composer.
|
|
22
|
+
- **Voice call and face-to-face interpreter**: a live voice call with the agent, and an interpreter for Korean with English, Chinese, Vietnamese, Japanese or Thai, using your ChatGPT account or Google Cloud.
|
|
23
|
+
- **Phone-ready**: install as a PWA, lock it with a password, and reach it over your own HTTPS proxy or VPN.
|
|
24
|
+
- **A harness that learns from failures**: observed failures become rules and memory so the same mistake is not repeated. It is not an automatic background self-fix.
|
|
44
25
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
교훈의 근거 파일명이나 제목에 비밀 토큰 형태의 문자열이 있으면 저장 전에 거절합니다. 거절된 정정은 기존 기억을 바꾸지 않습니다.
|
|
48
|
-
|
|
49
|
-
이전 세션이나 압축 전 대화에서 빠진 사용자 지시·정정은 원문 회수 도구로 다시 확인할 수 있습니다. 현재 프로젝트와 각 세션의 선택된 분기를 기준으로 찾으며, 보관 세션·다른 프로젝트는 명시한 경우에만 포함합니다. 검색 한도에 걸리면 결과가 일부임을 표시하고, 원문을 읽기만 하며 현재 승인으로 되살리지 않습니다.
|
|
26
|
+
### 한국어 요약
|
|
50
27
|
|
|
51
|
-
|
|
28
|
+
- **한 곳의 에이전트, 두 개의 화면**: 터미널 `omp` CLI와 브라우저가 같은 `~/.omp/agent`의 세션·계정·모델 설정을 씁니다. 터미널에서 하던 세션을 브라우저에서 이어 가고 다시 돌아갈 수 있습니다.
|
|
29
|
+
- **들여다볼 수 있는 여러 에이전트 작업**: Main이 Maker에게 일을 맡기면 작업마다 카드가 붙어 실행 상태, Main의 검수 판정, 흐름 그래프, 바뀐 파일을 보여 줍니다.
|
|
30
|
+
- **계정과 모델 한눈에**: 계정별 사용량 카드에서 한도 창과 리셋 권장을 보고, 입력창에서 모델 역할을 바꿉니다.
|
|
31
|
+
- **실시간 통화와 대면 통역**: 에이전트와 음성으로 통화하고, 한국어와 영어·중국어·베트남어·일본어·태국어 사이를 ChatGPT 계정이나 Google Cloud로 통역합니다.
|
|
32
|
+
- **휴대폰에서도**: PWA로 설치하고 비밀번호로 잠근 뒤, 직접 둔 HTTPS 프록시나 VPN으로 접속합니다.
|
|
33
|
+
- **실패에서 배우는 하네스**: 작업 중 확인한 실패를 규칙과 기억에 반영해 같은 실수를 줄입니다. 백그라운드에서 저절로 고치는 기능은 아닙니다.
|
|
52
34
|
|
|
53
|
-
|
|
35
|
+
## Quick start
|
|
54
36
|
|
|
55
|
-
|
|
37
|
+
```bash
|
|
38
|
+
npm install -g cuelo
|
|
39
|
+
cuelo setup
|
|
40
|
+
cuelo start
|
|
41
|
+
```
|
|
56
42
|
|
|
57
|
-
|
|
43
|
+
Requires Node.js 22.19+ and Bun 1.4.2+. Open http://127.0.0.1:30141 and sign in with your own provider account. For a source install, see [실행하기](#실행하기) and [docs/installation.md](./docs/installation.md).
|
|
58
44
|
|
|
59
|
-
|
|
45
|
+
**한국어:** 웹 앱은 omp SDK를 서버 안에서 실행하고, `omp` CLI와 같은 `~/.omp/agent` 디렉터리를 씁니다. 하네스의 세부 동작은 [하네스 세부 동작](#하네스-세부-동작)과 [하네스 안내](./docs/harness.md)에 있습니다.
|
|
60
46
|
|
|
61
47
|
## 이 저장소로 되는 것과 따로 필요한 것
|
|
62
48
|
|
|
@@ -131,13 +117,13 @@ Anthropic 구독 계정이 모두 주간 한도에 닿으면, 미리 둔 예비
|
|
|
131
117
|
|
|
132
118
|
**통역**
|
|
133
119
|
|
|
134
|
-
- 사이드바의 「통역」을 고르면 작업 화면 위에 통역 화면이 열립니다.
|
|
135
|
-
- 통역은
|
|
120
|
+
- 사이드바의 「통역」을 고르면 작업 화면 위에 통역 화면이 열립니다. 한국어·영어·중국어·베트남어·일본어·태국어 가운데 내 언어와 상대 언어를 고르고 「통역 시작」을 누르면, 휴대폰을 두 사람 사이에 두고 각자 말하기만 하면 됩니다. 누가 말하든 상대 언어로 바로 소리 내어 옮깁니다. 버튼을 번갈아 누를 필요가 없습니다.
|
|
121
|
+
- 통역은 기존 ChatGPT 계정과 **Google Cloud 인증** 가운데 골라 연결할 수 있습니다. 기본값은 기존 ChatGPT 연결이고, Cloud 방식은 서버에 설정한 로그인 인증과 프로젝트를 사용합니다. 통역에는 고른 두 언어, 분위기·내 성별·나이대와 다시 연결할 때의 최근 전사만 들어갑니다. 작업 세션·하네스 규칙·작업 대화 기록은 들어가지 않으며 작업을 위임하지도 않습니다. 기존 연결의 목소리는 **설정 → 통화 음성**의 값을 씁니다. 연결별 준비와 과금 조건은 [라이브 통화 안내](./docs/live-voice.md#통역-엔진-선택)를 확인하세요.
|
|
136
122
|
- 통역은 낱말을 그대로 옮기지 않고 앞 대화를 보고 뜻을 옮깁니다. 한국어에서 빠진 주어도 앞 대화로 채우고, 앞에서 나온 것을 「그거」, 「첫 번째 걸로」처럼 가리키면 그 이름으로 옮깁니다(쌀국수 두 가지를 들은 뒤 「첫 번째 걸로」는 「phở bò로」). 무엇을 가리키는지 애매하면 들은 그대로 옮깁니다. 이름·숫자·가격은 그대로 지킵니다. 베트남어의 anh·chị·em·chú·cô 같은 호칭, 태국어의 ครับ·ค่ะ, 일본어 존댓말을 상대와 분위기에 맞게 고릅니다.
|
|
137
|
-
- 「분위기」(편하게, 정중하게, 격식 있게, 흥정, 긴급)와 「내 성별」·「내
|
|
138
|
-
-
|
|
139
|
-
- 통역 화면을 열거나 언어를 바꾸거나 통역을
|
|
140
|
-
- 통역 중에
|
|
123
|
+
- 「분위기」(편하게, 정중하게, 격식 있게, 흥정, 긴급)와 「내 성별」·「내 나이대」는 모든 통역 연결에서 공통으로 설정할 수 있습니다. 고른 값은 브라우저에 기억하고, 엔진을 바꿔도 유지하며 새 통역에 반영합니다. 세 칸 모두 고르지 않아도 됩니다.
|
|
124
|
+
- 자막은 **통역**과 **들은 원문**을 별도 흐름으로 보여 줍니다. 긴 말의 원문과 통역이 서로 다른 시점에 도착해도 한 문장씩 억지로 짝짓지 않습니다. 휴대폰에서는 통역이 위에, 원문이 아래에 놓이며 넓은 화면에서는 나란히 읽습니다.
|
|
125
|
+
- 통역 화면을 열면 고른 연결의 준비 상태를 확인합니다. 일부 연결 방식은 화면을 열거나 언어를 바꾸거나 통역을 끝낸 뒤 통화를 잠시 미리 연결하며, 「통역 시작」을 누르면 준비된 연결을 사용합니다. 준비 시간이 지나면 누른 뒤 새로 연결합니다. 준비 중에는 마이크를 열지 않습니다. 마이크는 「통역 시작」을 누른 뒤에야 켜지고, 화면을 닫으면 준비된 통화도 끊습니다.
|
|
126
|
+
- 통역 중에 언어나 분위기·화자 설정을 바꾸면 새 설정으로 다시 연결합니다. 와이파이와 모바일 데이터 전환 등으로 연결이 끊기면 마이크를 유지하며 다시 연결하고 앞 대화를 이어갑니다. 그동안 「다시 연결 중…」이 보이며, 말없이 재연결이 반복되면 통역을 멈추고 알려 줍니다. 「대화로」를 누르면 통화와 마이크를 끝냅니다. 마이크는 HTTPS 주소에서만 켜지며, 통역 기록은 화면이 열려 있는 동안 유지하고 CUELO 서버에 영구 저장하지 않습니다. 직접 입력해 번역하는 칸과 자막 다시 듣기는 없습니다.
|
|
141
127
|
- 「마주보기」를 켜면 화면 전체가 위아래로 나뉩니다. 위쪽은 뒤집혀 맞은편 사람이 자기 언어로, 아래쪽은 내가 내 언어로 최근 말을 큰 글씨로 읽고, 가운데 띠에서 통역을 시작·끝내거나 마주보기를 끕니다. 통역하는 동안에는 휴대폰 화면이 꺼지지 않습니다.
|
|
142
128
|
- 통역을 시작하면 언어·분위기 칸이 접히고 맨 윗줄에 언어 짝만 남습니다. 언어 짝을 누르면 다시 펼쳐집니다. 방금 오간 말은 크게, 지난 말은 작고 흐리게 보이고, 「가」 단추로 글자 크기를 세 단계로 바꿀 수 있습니다. 화면 아래에는 지금 상태(연결 중, 듣는 중, 옮기는 중, 다시 연결 중)가 색 점과 글로 보입니다.
|
|
143
129
|
- 홈 화면에 설치한 앱에서는 `/?view=translator` 주소로 열면 처음부터 통역 화면이 열립니다. Android에서는 앱 아이콘을 길게 눌러 「통역」 바로가기를 고를 수 있습니다.
|
|
@@ -169,6 +155,48 @@ Anthropic 구독 계정이 모두 주간 한도에 닿으면, 미리 둔 예비
|
|
|
169
155
|
- 프로젝트 신뢰: 설정에서 프로젝트별 승인을 관리·해제하고, 실행 중에는 작업을 끊지 않고 신뢰 승인을 예약합니다. 신뢰하지 않은 저장소의 확장·훅·도구·MCP는 실행하지 않습니다([docs/project-trust.md](./docs/project-trust.md)).
|
|
170
156
|
- 비밀번호 잠금(HTTP Basic Auth, scrypt 해시 저장)과 `/recover` 복구([docs/authentication.md](./docs/authentication.md)).
|
|
171
157
|
|
|
158
|
+
## 하네스 세부 동작
|
|
159
|
+
|
|
160
|
+
내장 OMP 코어는 **18.12.6**입니다. 별도로 설치한 `omp` CLI의 버전은 웹 업데이트와 독립적이며, 앱에 포함된 CLI를 `omp` 명령으로 사용하는 설치에서는 웹과 같은 코어를 사용합니다.
|
|
161
|
+
|
|
162
|
+
문서 하네스는 기존 Word·Excel·PowerPoint 문서를 열고 편집하거나 변환할 때 LibreOffice를 우선 사용합니다. 원본은 보존하고 출력 결과를 확인하며, 매크로·전용 기능·서식 호환성이 필요하거나 사용자가 지정하면 MS Office를 사용합니다.
|
|
163
|
+
|
|
164
|
+
장기 백그라운드 작업은 관측 기한이 되면 대기를 깨워 상태를 확인하게 합니다. 이미 끝난 결과는 먼저 회수하며, 작업을 자동으로 취소하거나 재실행하지 않습니다. [하네스 안내](./docs/harness.md#발주와-검수-계약)에 적용 범위와 확인 방법이 있습니다.
|
|
165
|
+
|
|
166
|
+
취소되거나 시간초과된 하위 작업의 늦은 완료 내용은 기존 수용 결과를 덮어쓰지 않습니다. 중단 상태는 성공으로 바뀌지 않으며, 진단용 내용과 기록된 사용량은 별도로 남습니다. 이미 실행된 외부 작업이나 과금을 되돌리는 기능은 아닙니다.
|
|
167
|
+
|
|
168
|
+
소스가 없는 .NET 어셈블리와 JavaScript/Electron 배포물은 [REA 선택 연결 안내](./docs/harness.md#바이너리-분석용-rea-연결선택)에 따라 정적으로 조사할 수 있습니다. Linux에서 기존 MCP 연결·도구 상속·제한 세션 동작을 검증했으며, 프로젝트별 등록은 승인 뒤에만 수행합니다. Windows REA 호환성은 아직 확인하지 않았습니다.
|
|
169
|
+
|
|
170
|
+
CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규칙·실행 절차에 반영해, 사람이 같은 문제를 다시 지적하지 않아도 다음 작업에서 실수를 줄이는 것입니다. 원인을 확인하고 필요한 부분만 바꾸며, 다음 작업에서 적용과 효과를 확인하는 것까지를 지향합니다. 기록을 저장했다는 이유만으로 자동 개선이 끝났다고 보지는 않습니다.
|
|
171
|
+
|
|
172
|
+
작업 규칙은 추가 개선을 제안할 때 해결할 실제 실패, 가장 작은 수정이라고 판단한 이유, 관측 가능한 완료 기준을 먼저 설명하도록 정합니다. 근거가 빠진 개선은 구현을 보류하며, 테스트 통과와 사용자 환경의 실제 동작 확인은 구분합니다.
|
|
173
|
+
|
|
174
|
+
검증 결과는 [연결 검사·실환경 확인·모델 평가](./docs/harness.md#검증-결과-읽기)로 구분해 읽습니다. 도구에 요청을 전달했다는 표시만으로 사용자가 원한 작업까지 끝났다고 판단하지 않습니다.
|
|
175
|
+
|
|
176
|
+
교차 검토를 닫을 때 검토 이후의 파일 변경·삭제를 알려 줍니다. 앞선 라운드에서 이미 검토한 삭제는 다른 파일의 후속 검토를 이어 가도 다시 경고하지 않습니다. 이 안내는 검토 통과 판정을 바꾸지 않습니다.
|
|
177
|
+
|
|
178
|
+
세션은 관련 작업을 시작할 때 미결 항목과 미해결 실패를 현재 근거로 분류하고, 이미 승인된 범위 안의 실행 가능한 일만 원인 확인·처리·재검증한 뒤 문서를 맞춥니다. 막힌 실패는 증거와 재검증 기준을 `HANDOFF.md`에 남겨 다음 관련 세션이 이어받습니다. 백그라운드에서 스스로 고치는 기능은 아닙니다. 자세한 내용은 [하네스 안내](./docs/harness.md#미결-작업-처리)를 참고하세요.
|
|
179
|
+
|
|
180
|
+
WSL에서 작업하는 프로젝트에 기존 Windows 사본이 연결되어 있으면, 작업 완료 후 검증·게시한 소스와 문서를 Windows 사본에도 같은 커밋으로 반영합니다. Windows에 별도로 남은 변경이나 갈라진 이력은 덮어쓰지 않고 알립니다. 실시간 양방향 동기화는 아니며, 설치된 프로필·인증정보·실행 산출물·독립 CLI는 복사하지 않습니다. Windows 전용 장비 프로젝트는 기존 위치와 도구를 유지합니다.
|
|
181
|
+
|
|
182
|
+
Anthropic 구독 계정이 모두 주간 한도에 닿으면, 미리 둔 예비 API 키로 요청을 이어 갈 수 있습니다. 5시간 한도만 찬 경우에는 지금처럼 리셋을 기다리고, 주간 한도가 리셋되면 다시 구독 계정을 씁니다. 키는 폴백할 때만 읽고 에이전트가 실행하는 셸에는 넘기지 않습니다. 키를 두는 위치와 조건은 [하네스 안내](./docs/harness.md)에 있습니다.
|
|
183
|
+
|
|
184
|
+
문서가 없는 프로젝트에서 처음 소스를 커밋하면, 커밋 결과에 그 프로젝트의 인계 문서와 작업 기록을 만들라는 알림이 붙습니다. 알림만 표시하고 커밋을 막지는 않습니다.
|
|
185
|
+
|
|
186
|
+
주제별로 저장한 교훈을 정정하면 최초 기록과 최신 정정의 출처를 구분해 조회할 수 있습니다. 회상 목록에도 확인 가능한 전역·프로젝트 범위와 정정 정보를 표시합니다. 기억은 현재 요청과 저장소의 적용 조건을 대조하는 참고 자료이며 실행 승인을 대신하지 않습니다. 이전 교훈 본문을 별도 이력으로 쌓지는 않습니다. 자세한 보존 범위는 [하네스 안내](./docs/harness.md)를 참고하세요.
|
|
187
|
+
|
|
188
|
+
교훈의 근거 파일명이나 제목에 비밀 토큰 형태의 문자열이 있으면 저장 전에 거절합니다. 거절된 정정은 기존 기억을 바꾸지 않습니다.
|
|
189
|
+
|
|
190
|
+
이전 세션이나 압축 전 대화에서 빠진 사용자 지시·정정은 원문 회수 도구로 다시 확인할 수 있습니다. 현재 프로젝트와 각 세션의 선택된 분기를 기준으로 찾으며, 보관 세션·다른 프로젝트는 명시한 경우에만 포함합니다. 검색 한도에 걸리면 결과가 일부임을 표시하고, 원문을 읽기만 하며 현재 승인으로 되살리지 않습니다.
|
|
191
|
+
|
|
192
|
+
하네스의 일반 비-UI 작업은 구성된 구현 후보 가운데 과제의 남은 판단과 검증 방법에 맞는 후보를 추천합니다. 한도 소진 때만 다른 후보를 쓰는 방식은 아니며, 근거가 부족하면 기존 기본값을 유지합니다. 추천은 Main의 선택을 돕는 정보이고 진행 중인 담당자의 모델을 바꾸지 않습니다.
|
|
193
|
+
|
|
194
|
+
컨텍스트 창과 압축 시작점은 따로 관리합니다. 실제 요청·압축 뒤 재탐색·보고 비용을 근거로 설정을 조정하고, 누락된 값은 미상으로 남기는 운영을 따릅니다. 외부 사례의 절감률을 보장하지 않으며 압축 뒤 기존 결정과 검증 증거를 이어받습니다. 설정과 해석은 [하네스 안내](./docs/harness.md#컨텍스트와-압축-운용)를 참고하세요.
|
|
195
|
+
|
|
196
|
+
큰 도구 출력에서 필요한 부분만 찾는 `artifact_search`를 제공합니다. 저장된 원문을 로컬 키워드로 검색하고, 찾은 구간을 원래 `read`로 다시 확인합니다. 기존 명령 실행과 파일 읽기를 대체하거나 다른 세션의 출력을 섞지 않습니다. 사용 범위와 한계는 [큰 출력 검색](./docs/harness.md#큰-출력-검색)을 참고하세요.
|
|
197
|
+
|
|
198
|
+
작업을 시작할 때 회상된 교훈과 현재 요청의 적용 조건·예외·충돌을 점검해 에이전트에게 참고 안내를 제공합니다. 같은 입력은 반복 점검하지 않으며, 판단이 불명확하거나 점검에 실패해도 작업을 막지 않습니다. 현재 지시와 승인 범위가 우선입니다.
|
|
199
|
+
|
|
172
200
|
## 실행하기
|
|
173
201
|
|
|
174
202
|
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-없음)에 있습니다.
|
|
@@ -9,7 +9,7 @@ const MEMORY_RE = /(const phase1Model = await resolveMemoryModel\(\{[^}]*?fallba
|
|
|
9
9
|
const MEMORY_DONE = /const phase1Model = await resolveMemoryModel\(\{[^}]*?fallbackRole: "smol"/;
|
|
10
10
|
const EXPECTED = {
|
|
11
11
|
name: 'cuelo',
|
|
12
|
-
version: '0.10.
|
|
12
|
+
version: '0.10.74',
|
|
13
13
|
distribution: 'cuelo',
|
|
14
14
|
coreVersion: '18.12.6',
|
|
15
15
|
};
|
|
@@ -82,11 +82,16 @@
|
|
|
82
82
|
- 여러 파일을 훑거나 문서·README·저장소 구조를 조사할 때는 먼저 `skim`에 질문한다. 허용 텍스트 파일
|
|
83
83
|
내용은 `skim` 역할 모델(Hive의 DeepSeek v4.1 Flash 1017)로 전송된다. 이 모델이 고정 대체 모델과 같아
|
|
84
84
|
실패해도 다시 부르지 않고 오류로 끝난다. 비밀 자료를 대상으로 삼지 말고, 수정할 정확한 줄은 `read`로 확인한다.
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
- **글씨가 들어가는 콘텐츠는 Gemini가 먼저 쓰고 AI 슬롭 점검을 거친다(2026-10-25 사용자 결정).** 새로 쓰거나 한 문단
|
|
86
|
+
이상 다시 쓰는 글은 Main·Maker 모두 먼저 `draft`로 쓴다. README·CHANGELOG·`docs/`·보고서·안내서·소개 글·게시물,
|
|
87
|
+
`HANDOFF.md`·`doc/history` 작업 기록의 서술, md·csv·Excel·Word·PDF 보고서·표, PPT 슬라이드 문구, HTML·웹 화면과
|
|
88
|
+
UI의 문구가 모두 대상이다. 사실·수치·경로·명령·커밋은 `instruction`이나 `paths`로 넘겨 모델이 지어내지 않게 한다.
|
|
89
|
+
Gemini가 작성해 cwd 안에 저장하고, 실패하면 Hive의 DeepSeek 1017로 한 번 대체한다(참고 텍스트는 Google 또는 Hive로
|
|
90
|
+
전송). 결과는 직접 열어 사실·형식을 검토하고, 반영하기 전에 AI 슬롭 점검을 같은 작업에서 돌린다: 한국어 글은
|
|
91
|
+
`humanizer`, 영어 글은 `stop-slop`, 화면·UI 문구는 `kill-ai-slop` 스킬 절차를 따른다. 틀린 사실과 슬롭만 고쳐
|
|
92
|
+
`edit`로 반영한다. 코드·설정·규칙 파일(`RULES.md`·`AGENTS.md`·`rules/`·SOP), 몇 줄 이하의 정확한 수정, 사용자에게
|
|
93
|
+
하는 대화 답변은 대상이 아니다. Gemini는 이 글쓰기·번역과 OCR 후보(`retry.fallbackChains.ocr`)에 쓰며 같은
|
|
94
|
+
Antigravity 계정 할당량을 공유한다.
|
|
90
95
|
- **문서 기본 편집 도구는 LibreOffice다(2026-10-15 사용자 결정).** 기존 Word·Excel·PowerPoint 문서의
|
|
91
96
|
열기·편집·변환은 Writer·Calc·Impress를 우선 사용한다. 새 문서 초안은 위 `draft` 규칙을 따른다.
|
|
92
97
|
MS Office는 사용자가 지정했거나, 매크로·외부 연결·전용 기능·서식 호환성 때문에 필요한 경우에 쓴다.
|