cuelo 0.5.9 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +4 -5
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +2 -2
- package/.next/required-server-files.json +2 -2
- package/.next/routes-manifest.json +0 -6
- 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 +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- 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 +1 -1
- 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/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/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 -1
- package/.next/server/app/api/live/events/route.js +2 -2
- 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 +2 -2
- 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-trust/route.js +1 -1
- package/.next/server/app/api/projects/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/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/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 +2 -2
- 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/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 +2 -2
- 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 +4 -4
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/page.js +15 -15
- 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 +2 -2
- package/.next/server/app/recover.segments/_full.segment.rsc +2 -2
- package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
- package/.next/server/app/recover.segments/_index.segment.rsc +2 -2
- package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
- 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 +4 -5
- package/.next/server/chunks/3379.js +1 -1
- package/.next/server/chunks/5582.js +3 -9
- 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/chunks/app/_global-error/page-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/account/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/attachments/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/display-settings/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/document-text/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/experiments/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/gpt6/handles/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/gpt6/reply/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/gpt6/token/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/gpt6/web6-session/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/home/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/live/call/[callId]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/live/events/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/live/offer/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/live/voices/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/model-roles/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/models/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/projects/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/runs/[runId]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/runs/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/settings/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/skills/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/theme/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/tool-image/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/update-maintenance/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/updates/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/web-access/recovery/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/web-access/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/web6/consults/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/{layout-40ba82e77e62ae9d.js → layout-31a0bfeae1eece12.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/app/{page-282a18bb2d229455.js → page-ba96ee458de51af9.js} +10 -10
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0c0ee2cbde2b8cfd.js +1 -0
- package/.next/static/zqQ2BdsFkwRQpfXpTFeIx/_buildManifest.js +1 -0
- package/.next/trace +104 -104
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +1 -2
- package/.next/types/validator.ts +0 -9
- package/README.md +2 -2
- package/Tools/CUELO_Setup/files/native-runtime-patch.js +5 -5
- package/Tools/OMP_Global_Config/agent/AGENTS.md +1 -0
- package/Tools/OMP_Global_Config/agent/RULES.md +1 -0
- package/Tools/OMP_Global_Config/agent/extensions/character-voice.ts +50 -12
- package/Tools/OMP_Global_Config/agent/prompt-copies/AGENTS.en.md +2 -1
- package/Tools/OMP_Global_Config/agent/prompt-copies/RULES.en.md +2 -1
- package/Tools/OMP_Global_Config/agent/rules/web6-consult.md +7 -8
- package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +191 -57
- package/package.json +7 -7
- package/.next/server/app/api/gpt6/mcp/route.js +0 -2
- package/.next/server/app/api/gpt6/mcp/route.js.nft.json +0 -1
- package/.next/server/app/api/gpt6/mcp/route_client-reference-manifest.js +0 -1
- package/.next/static/A4Y1uTUKhMRX6746EPf7m/_buildManifest.js +0 -1
- package/.next/static/chunks/app/_global-error/page-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/account/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/attachments/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/display-settings/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/document-text/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/experiments/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/gpt6/handles/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/gpt6/mcp/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/gpt6/reply/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/gpt6/token/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/gpt6/web6-session/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/home/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/live/call/[callId]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/live/events/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/live/offer/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/live/voices/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/model-roles/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/models/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/projects/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/runs/[runId]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/runs/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/settings/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/skills/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/theme/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/tool-image/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/update-maintenance/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/updates/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/web-access/recovery/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/web-access/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/web6/consults/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-44cd4075b01d7a06.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-44cd4075b01d7a06.js +0 -1
- package/.next/types/app/api/gpt6/mcp/route.ts +0 -351
- /package/.next/static/{A4Y1uTUKhMRX6746EPf7m → zqQ2BdsFkwRQpfXpTFeIx}/_ssgManifest.js +0 -0
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":109686921,"timestamp":848746,"id":14,"parentId":1,"tags":{},"startTime":1790647188506,"traceId":"a69f4dc1974dc32d"},{"name":"run-typescript","duration":16927818,"timestamp":110910938,"id":10654,"parentId":1,"tags":{},"startTime":1790647298569,"traceId":"a69f4dc1974dc32d"},{"name":"static-check","duration":3744013,"timestamp":127935210,"id":10657,"parentId":1,"tags":{},"startTime":1790647315594,"traceId":"a69f4dc1974dc32d"},{"name":"static-generation","duration":12227591,"timestamp":131771474,"id":10805,"parentId":1,"tags":{},"startTime":1790647319430,"traceId":"a69f4dc1974dc32d"},{"name":"collect-build-traces","duration":21702440,"timestamp":131746323,"id":10802,"parentId":1,"tags":{},"startTime":1790647319405,"traceId":"a69f4dc1974dc32d"},{"name":"telemetry-flush","duration":84,"timestamp":153453520,"id":10814,"parentId":1,"tags":{},"startTime":1790647341112,"traceId":"a69f4dc1974dc32d"},{"name":"next-build","duration":152713097,"timestamp":740533,"id":1,"tags":{"buildMode":"default","version":"16.2.12","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1790647188398,"traceId":"a69f4dc1974dc32d"}]
|
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/attachments" | "/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/gpt6/handles" | "/api/gpt6/
|
|
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/attachments" | "/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/gpt6/handles" | "/api/gpt6/reply" | "/api/gpt6/token" | "/api/gpt6/web6-session" | "/api/home" | "/api/live/call/[callId]" | "/api/live/events" | "/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-trust" | "/api/projects" | "/api/runs" | "/api/runs/[runId]" | "/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/settings" | "/api/sidecars/[service]/[...path]" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/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
|
|
@@ -35,7 +35,6 @@ interface ParamMap {
|
|
|
35
35
|
"/api/git/diff": {}
|
|
36
36
|
"/api/git/status": {}
|
|
37
37
|
"/api/gpt6/handles": {}
|
|
38
|
-
"/api/gpt6/mcp": {}
|
|
39
38
|
"/api/gpt6/reply": {}
|
|
40
39
|
"/api/gpt6/token": {}
|
|
41
40
|
"/api/gpt6/web6-session": {}
|
package/.next/types/validator.ts
CHANGED
|
@@ -272,15 +272,6 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
272
272
|
type __Unused = __Check
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
-
// Validate ../../app/api/gpt6/mcp/route.ts
|
|
276
|
-
{
|
|
277
|
-
type __IsExpected<Specific extends RouteHandlerConfig<"/api/gpt6/mcp">> = Specific
|
|
278
|
-
const handler = {} as typeof import("../../app/api/gpt6/mcp/route.js")
|
|
279
|
-
type __Check = __IsExpected<typeof handler>
|
|
280
|
-
// @ts-ignore
|
|
281
|
-
type __Unused = __Check
|
|
282
|
-
}
|
|
283
|
-
|
|
284
275
|
// Validate ../../app/api/gpt6/reply/route.ts
|
|
285
276
|
{
|
|
286
277
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/gpt6/reply">> = Specific
|
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규
|
|
|
39
39
|
- 작업 공간(프로젝트·worktree)을 바꾸면 그곳에서 마지막으로 열어 둔 세션으로 돌아갑니다.
|
|
40
40
|
- goal 모드의 자동 이어 가기와 todo 진행 상황을 대화창 위에서 확인합니다.
|
|
41
41
|
- 작업 로그 패널에서 이번 턴의 과정 항목과 턴마다 쓴 파일을 따로 봅니다.
|
|
42
|
-
- 입력창에 이미지·문서 외에 음성(받아쓰기), 코드·설정 파일(본문 첨부), 그 밖의 파일(저장 후 경로 첨부)을 붙여넣기·드롭·선택으로 넣습니다. 음성 받아쓰기에는 Google Antigravity
|
|
42
|
+
- 입력창에 이미지·문서 외에 음성(받아쓰기), 코드·설정 파일(본문 첨부), 그 밖의 파일(저장 후 경로 첨부)을 붙여넣기·드롭·선택으로 넣습니다. 음성 받아쓰기에는 Google Antigravity 계정이 필요합니다.
|
|
43
43
|
- 에이전트가 생성하거나 확인한 이미지가 그 턴의 대화 흐름에 썸네일로 보이고, 누르면 크게 열립니다.
|
|
44
44
|
|
|
45
45
|
**계정과 자원**
|
|
@@ -54,7 +54,7 @@ CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규
|
|
|
54
54
|
- 자식 에이전트의 발화가 해당 턴 아래 대화 흐름에 끼어들어 누가 무슨 말을 했는지 이어서 읽힙니다.
|
|
55
55
|
- 공개 하네스는 완료된 Maker의 미기록 Main 판정을 후속 지시 때 안내하고, 재작업 이력과 최종 수용을 구분합니다. 모델별 허용 추론 강도와 적용 경계는 [하네스 안내](./docs/harness.md#발주와-검수-계약)를 따릅니다.
|
|
56
56
|
- 사이드 챗(`/btw`): 본 대화를 끊지 않고 옆 패널에서 따로 묻습니다. 답변은 본 대화와 같은 캐릭터 얼굴·스티커·마크다운으로 보이고, 세션마다 초안이 따로 보관됩니다. 사이드 챗 문답은 본 대화에 남지 않으며, 답변의 「메인에 보내기」를 누를 때만 문답과 추가 지시가 본 대화로 전달됩니다(본 대화가 실행 중이면 steer, 아니면 새 요청).
|
|
57
|
-
- ChatGPT
|
|
57
|
+
- ChatGPT 상담(SHION): 로컬 shim이 전용 ChatGPT 탭에서 받은 답을 현재 omp 세션에 투영하고, 상담 기록과 실패 기록이 대화창에 표시됩니다.
|
|
58
58
|
- 실시간 음성: 브라우저 마이크로 Codex live 음성 세션을 엽니다. 자격 증명은 서버에만 두고 페이지에는 넘기지 않습니다.
|
|
59
59
|
|
|
60
60
|
**알림과 표현**
|
|
@@ -9,12 +9,12 @@ 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.
|
|
12
|
+
version: '0.6.0',
|
|
13
13
|
distribution: 'cuelo',
|
|
14
|
-
coreVersion: '18.
|
|
14
|
+
coreVersion: '18.4.2',
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
// OMP core 18.
|
|
17
|
+
// OMP core 18.4.2 `src/sdk.ts`: session-scoped AsyncJobManager for a process
|
|
18
18
|
// that hosts several top-level sessions (CUELO opens one per browser session).
|
|
19
19
|
// Upstream lets only the first top-level session construct a manager; every
|
|
20
20
|
// later one got `asyncJobManager: undefined`, so its `task` calls logged
|
|
@@ -23,7 +23,7 @@ const EXPECTED = {
|
|
|
23
23
|
// fix: it is disposed with its owning session (CUELO idle-shuts sessions
|
|
24
24
|
// after 10 minutes) and would cancel every other session's jobs, and a
|
|
25
25
|
// disposed manager throws on the next register(). Each edit is an exact text
|
|
26
|
-
// anchor of the pristine 18.
|
|
26
|
+
// anchor of the pristine 18.4.2 source (also present after core patch) and fails closed when it drifts.
|
|
27
27
|
// `insertBefore` edits keep their anchor (the helper is inserted in front of
|
|
28
28
|
// it), so their anchor count stays 1 after patching.
|
|
29
29
|
const SDK_FILE = path.join('node_modules', '@oh-my-pi', 'pi-coding-agent', 'src', 'sdk.ts');
|
|
@@ -177,7 +177,7 @@ function readNativePackage(target) {
|
|
|
177
177
|
throw new Error(`unexpected native package ${packageJson.name}@${packageJson.version}`);
|
|
178
178
|
}
|
|
179
179
|
if (!build || build.distribution !== EXPECTED.distribution || build.coreVersion !== EXPECTED.coreVersion) {
|
|
180
|
-
throw new Error('native cueloBuild metadata does not match cuelo / core 18.
|
|
180
|
+
throw new Error('native cueloBuild metadata does not match cuelo / core 18.4.2');
|
|
181
181
|
}
|
|
182
182
|
return packageJson;
|
|
183
183
|
}
|
|
@@ -90,6 +90,7 @@ SHION은 역할이 아니라 선택적 상담이다. 사용자가 명시했을
|
|
|
90
90
|
| **RIN(린)** | `anthropic/claude-opus-5-5`, 지정 계정 | 지정 계정 고정 task child | 지정 계정 pin 후 현재 세션 전환 |
|
|
91
91
|
| **MIO(미오)** | `anthropic/claude-opus-5-5`, 지정 계정 | 지정 계정 고정 task child | 지정 계정 pin 후 현재 세션 전환 |
|
|
92
92
|
| **NOVA(노바)** | `opencode-go/muse-spark-1.3-contributor` | 이 모델의 task child | 현재 세션만 전환 |
|
|
93
|
+
| **HIKARI(히카리)** | `google-antigravity/gemini-3.8-flash` | 이 모델의 task child | 현재 세션만 전환 |
|
|
93
94
|
| **SHION(시온)** | `web6/gpt-6-pro` | `rule://web6-consult` 상담(비 child) | 금지 |
|
|
94
95
|
|
|
95
96
|
tool-capable 호출은 일반 task child 하나와 정상 linkage를 사용한다. 사용자가 캐릭터의 얼굴·말투로 인사나 발화를 요청하면 summon 동사가 없어도 인라인 summon으로 처리하고, 해당 child 요청과 호출 입력에 정확한 summon marker를 싣는다. RIN/MIO의 지정 OAuth 계정은 session-scoped exact pin이며 사용 불가 시 다른 credential/model로 조용히 대체하지 않는다. `교체` 실패는 이전 session model을 보존하고 전역 default를 바꾸지 않는다. Main·child의 최종 provider 요청에서는 기존 character voice·legacy report-style을 제거하고 선택 voice block 하나만 적용한다. 사용자에게 그 턴에 child·다른 모델 호출의 역할·개수·이유를 알린다. child의 terminal 발화는 인라인 linkage가 확인될 때만 화면 완료로 본다. SHION은 기존 WEB6 상담 경로만 사용한다. 파서·selector 정본은 `harness-policy.json` `characterRouting`과 `extensions/character-voice.ts`다.
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
그 자리에서 멈춰 원인 근거·시도한 것·남은 막힘을 보고한다.
|
|
29
29
|
- 도구·저장소·현재 문맥으로 해결할 수 있는 작업은 확인을 요청하거나 중간 단계에서 멈추지 않고 끝까지 수행한다. 단, 삭제·배포·비용 발생·호환성 파괴는 실행 전에 사용자 승인을 받는다.
|
|
30
30
|
- 배포 확인(사용자, 2026-09-26): 집 PC(hostname `KYS`)의 CUELO 세션이 소스 변경을 검증하고 커밋·push했으면, 그 커밋의 GitHub CI가 끝날 때까지 지켜본 뒤 결과를 보고하고 배포 여부를 묻는다. 사용자가 승인하면 같은 revision의 `Tools/CUELO_Setup/deploy-live.ps1`, `Tools/OMP_Global_Config/setup.ps1 -ProfileOnly`, `Tools/OMP_Global_Config/verify.ps1 -StrictRuntime`을 실행한다(`Tools/CUELO_Setup/setup.ps1`은 앱 전체 설치기라 이 단계가 아니다). 실행 전 `hostname`으로 PC를 확인한다. 예약 작업 같은 자동 배포는 두지 않는다. stage·rollback 삭제, 사무실 PC 배포, CLI 업데이트, 비용이 드는 작업은 따로 승인받는다.
|
|
31
|
+
- CI 감시(사용자, 2026-09-28): 커밋의 CI를 지켜볼 때는 기다릴 워크플로를 이름으로 지정하고(`gh run list --workflow <이름>` 등), 그 run이 끝나는 즉시 결과를 보고한다. 같은 SHA에 걸린 run 전체의 완료를 조건으로 삼지 않는다. CI 성공이 트리거하는 릴리스·배포 run(`workflow_run`)이 몇 초 뒤 같은 SHA로 생겨 CI 완료 보고를 붙잡기 때문이다. 이어 붙는 run은 보고한 뒤 따로 지켜본다.
|
|
31
32
|
- 구현 방법의 불확실성은 명시 요구·승인된 계약, 실제 호출부와 데이터 흐름, 테스트·재현 결과,
|
|
32
33
|
현재 동작과 문서로 좁힌다. 증거로 방향이 정해지면 근거를 남기고 진행하며 사소한 구현 선택마다
|
|
33
34
|
확인을 요청하지 않는다. 테스트·문서·현재 동작 중 어느 하나도 자동으로 정답이 아니므로 요구와
|
|
@@ -100,8 +100,6 @@ export const CHARACTER_TARGETS: Readonly<Record<CharacterAlias, CharacterTarget>
|
|
|
100
100
|
model: "web6/gpt-6-pro",
|
|
101
101
|
toolCapable: false,
|
|
102
102
|
},
|
|
103
|
-
// 호출·교체 별칭은 없다(사용자가 요청하지 않음). 이 표가 전 alias를 요구하므로 실제 모델을 적어 두지만
|
|
104
|
-
// CHARACTER_NAME_PATTERN·NAME_TO_ALIAS에는 넣지 않아 자연어로 부를 수 없다.
|
|
105
103
|
"HIKARI(히카리)": {
|
|
106
104
|
model: "google-antigravity/gemini-3.8-flash",
|
|
107
105
|
toolCapable: true,
|
|
@@ -129,6 +127,8 @@ const NAME_TO_ALIAS: Readonly<Record<string, CharacterAlias>> = {
|
|
|
129
127
|
노바: "NOVA(노바)",
|
|
130
128
|
shion: "SHION(시온)",
|
|
131
129
|
시온: "SHION(시온)",
|
|
130
|
+
hikari: "HIKARI(히카리)",
|
|
131
|
+
히카리: "HIKARI(히카리)",
|
|
132
132
|
};
|
|
133
133
|
|
|
134
134
|
const ANTHROPIC_POSITION_CHARACTER: Readonly<Record<number, CharacterAlias>> = {
|
|
@@ -142,7 +142,7 @@ const REPORT_STYLE_BLOCK = /\n?<report-style\b[^>]*>[\s\S]*?<\/report-style>\n?/
|
|
|
142
142
|
const SUMMON_MARKER = /\[character-summon\s+alias="([^"]+)"\s+model="([^"]+)"(?:\s+oauth-position="(\d+)")?\]/u;
|
|
143
143
|
const SUMMON_MARKER_GLOBAL = /\n?\[character-summon\s+alias="[^"]+"\s+model="[^"]+"(?:\s+oauth-position="\d+")?\]\n?/gu;
|
|
144
144
|
const SUMMON_DIRECTIVE = /^\[character-summon-intent alias="([^"]+)"\]/gmu;
|
|
145
|
-
const CHARACTER_NAME_PATTERN = "(유키|yuki|이사나|isana|미오|mio|린|rin|노바|nova|시온|shion)";
|
|
145
|
+
const CHARACTER_NAME_PATTERN = "(유키|yuki|이사나|isana|미오|mio|린|rin|노바|nova|시온|shion|히카리|hikari)";
|
|
146
146
|
const CHARACTER_NAME_IN_COMMAND = new RegExp(
|
|
147
147
|
`(?<![가-힣A-Za-z0-9])${CHARACTER_NAME_PATTERN}(?=(?:으로|로|을|를|와|과|랑|이랑|하고|이|가|은|는|도)?(?:\\s|$|[.!?,]|교체|호출|불러|소환|${CHARACTER_NAME_PATTERN}))`,
|
|
148
148
|
"giu",
|
|
@@ -191,9 +191,47 @@ function cleanPayloadTextContainer(value: unknown): unknown {
|
|
|
191
191
|
return cleaned;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
// core(pi-ai anthropic.ts `stableSystemSuffixStart`)는 system 배열 맨 끝의 `<memories>` 블록만 변동 구간으로
|
|
195
|
+
// 보고 그 앞 안정 블록에 cache breakpoint를 건다. voice를 그 뒤에 붙이면 recall이 배열 중간에 끼어
|
|
196
|
+
// 세션마다 다른 기억 목록이 system prompt 전체의 캐시를 깬다(2026-09-29 실측: 첫 요청 4만 토큰 재기록).
|
|
197
|
+
const VOLATILE_SYSTEM_PREFIX = "<memories>";
|
|
198
|
+
|
|
199
|
+
function trailingVolatileStart(texts: readonly string[]): number {
|
|
200
|
+
let start = texts.length;
|
|
201
|
+
while (start > 0 && texts[start - 1]!.startsWith(VOLATILE_SYSTEM_PREFIX)) start--;
|
|
202
|
+
return start;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function installCharacterVoice(systemPrompt: readonly string[], alias: CharacterAlias, ...extra: string[]): string[] {
|
|
195
206
|
const preserved = systemPrompt.map(stripPromptStyleBlocks).filter((block) => block.length > 0);
|
|
196
|
-
|
|
207
|
+
const at = trailingVolatileStart(preserved);
|
|
208
|
+
return [...preserved.slice(0, at), renderCharacterVoice(alias), ...extra, ...preserved.slice(at)];
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Anthropic 배열 system: 순수 voice 블록은 제자리에서 텍스트만 바꿔 cache_control 등 필드를 보존한다.
|
|
212
|
+
// 없으면 맨 끝 `<memories>` 앞에 넣는다.
|
|
213
|
+
function injectVoiceIntoSystemBlocks(parts: readonly unknown[], block: string): unknown[] {
|
|
214
|
+
const next: unknown[] = [];
|
|
215
|
+
let placed = false;
|
|
216
|
+
for (const part of parts) {
|
|
217
|
+
if (!part || typeof part !== "object" || !("text" in part) || typeof part.text !== "string") {
|
|
218
|
+
next.push(part);
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
const text = stripPromptStyleBlocks(part.text);
|
|
222
|
+
if (text) {
|
|
223
|
+
next.push({ ...part, text });
|
|
224
|
+
} else if (!placed && part.text.includes(VOICE_OPEN)) {
|
|
225
|
+
next.push({ ...part, text: block });
|
|
226
|
+
placed = true;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (placed) return next;
|
|
230
|
+
const texts = next.map((part) =>
|
|
231
|
+
part && typeof part === "object" && "text" in part && typeof part.text === "string" ? part.text : "",
|
|
232
|
+
);
|
|
233
|
+
const at = trailingVolatileStart(texts);
|
|
234
|
+
return [...next.slice(0, at), { type: "text", text: block }, ...next.slice(at)];
|
|
197
235
|
}
|
|
198
236
|
|
|
199
237
|
function characterAliasForContext(ctx: ExtensionContext, selectedAlias: CharacterAlias | undefined): CharacterAlias | undefined {
|
|
@@ -264,8 +302,8 @@ async function switchCharacterForSession(
|
|
|
264
302
|
try {
|
|
265
303
|
const switched = await pi.setModel(model);
|
|
266
304
|
if (!switched) throw new Error(`${target.model} 인증을 사용할 수 없습니다.`);
|
|
267
|
-
// 교체와 summon 모두 exact pin이다. 일반 explicit pin은 다음 요청의 계정 랭킹(RIN
|
|
268
|
-
//
|
|
305
|
+
// 교체와 summon 모두 exact pin이다. 일반 explicit pin은 다음 요청의 계정 랭킹(RIN 우선·하루
|
|
306
|
+
// 구간 초과 시 MIO)이 다른 계정으로 되돌릴 수 있어 교체 완료 보고와 실제 계정이 어긋났다.
|
|
269
307
|
// exact pin은 sessions.release로 풀 수 없으므로 뒤에 실패할 단계가 없도록 마지막에 건다.
|
|
270
308
|
if (
|
|
271
309
|
targetCredentialId !== undefined &&
|
|
@@ -360,8 +398,8 @@ export function renderCharacterSummonRouting(aliases: CharacterAlias | readonly
|
|
|
360
398
|
`[character-summon-intent alias="${alias}"]`,
|
|
361
399
|
`[CharacterSummon] 사용자가 ${alias}을(를) 인라인으로 호출했다.`,
|
|
362
400
|
`먼저 사용자에게 자연스러운 한국어와 ${alias}의 성격·표현으로 WEB6 상담 경로를 호출한다고 짧고 자연스럽게 답한다.`,
|
|
363
|
-
`그 다음 \`rule://web6-consult\` 계약에 따라 \`${target.model}\` 공급자를 호출한다. provider 요청이 현재 OMP sessionId를 자동 운반하고 새 handle 발급부터
|
|
364
|
-
"task child를 만들거나 세션 Main 모델을 바꾸지 않는다.
|
|
401
|
+
`그 다음 \`rule://web6-consult\` 계약에 따라 \`${target.model}\` 공급자를 호출한다. provider 요청이 현재 OMP sessionId를 자동 운반하고 새 handle 발급부터 relay 답 수집·/api/gpt6/reply 투영까지 이어지므로, raw HTTP·clipboard·수동 붙여넣기·탭 이동을 요구하지 않는다.`,
|
|
402
|
+
"task child를 만들거나 세션 Main 모델을 바꾸지 않는다. 전용 탭의 6 Pro 모델 확인 또는 권한 안전 검증이 실패하면 실제 전송 전에 fail closed한다.",
|
|
365
403
|
"WEB6 요청의 effective prompt 끝에는 아래 character voice block을 정확히 한 번 넣고, 이전 character voice block은 제거한다.",
|
|
366
404
|
renderCharacterVoice(alias),
|
|
367
405
|
"SHION의 terminal 발화는 이미 사용자 화면에 표시되는 정본이다. Main은 그 본문을 다시 인용·요약·재집계하지 않고, 상담이 실패하거나 미완료일 때만 자기 말로 그 상태를 알린다.",
|
|
@@ -541,7 +579,7 @@ export function injectCharacterVoice(payload: unknown, alias: CharacterAlias): u
|
|
|
541
579
|
|
|
542
580
|
const next: Record<string, unknown> = { ...record };
|
|
543
581
|
if ("instructions" in next) next.instructions = cleanPayloadTextContainer(next.instructions);
|
|
544
|
-
if ("system" in next) next.system = cleanPayloadTextContainer(next.system);
|
|
582
|
+
if ("system" in next && !Array.isArray(next.system)) next.system = cleanPayloadTextContainer(next.system);
|
|
545
583
|
if (Array.isArray(next.messages)) {
|
|
546
584
|
const messages: unknown[] = [];
|
|
547
585
|
for (const message of next.messages) {
|
|
@@ -567,7 +605,7 @@ export function injectCharacterVoice(payload: unknown, alias: CharacterAlias): u
|
|
|
567
605
|
return next;
|
|
568
606
|
}
|
|
569
607
|
if (Array.isArray(next.system)) {
|
|
570
|
-
next.system =
|
|
608
|
+
next.system = injectVoiceIntoSystemBlocks(next.system, block);
|
|
571
609
|
return next;
|
|
572
610
|
}
|
|
573
611
|
if (typeof next.instructions === "string") {
|
|
@@ -690,7 +728,7 @@ export default function characterVoice(pi: ExtensionAPI): void {
|
|
|
690
728
|
if (!switched.ok) {
|
|
691
729
|
const failure = `[CharacterSummonRuntime] ${switched.reason} 이 실패를 사용자에게 한국어로 명확히 알리고 다른 캐릭터나 모델로 가장하지 않는다.`;
|
|
692
730
|
return {
|
|
693
|
-
systemPrompt:
|
|
731
|
+
systemPrompt: installCharacterVoice(event.systemPrompt, summonedAlias, failure),
|
|
694
732
|
};
|
|
695
733
|
}
|
|
696
734
|
selectedAlias = summonedAlias;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- source-fingerprint:
|
|
1
|
+
<!-- source-fingerprint: 1e89b0f38c9ee8be -->
|
|
2
2
|
# Global Agent Instructions
|
|
3
3
|
|
|
4
4
|
(Model-facing English copy of the Korean source `AGENTS.md`. All user-facing prose stays Korean.)
|
|
@@ -93,6 +93,7 @@ Alias + `교체` switches the current Main session; alias + `호출`·`불러`·
|
|
|
93
93
|
|**RIN(린)**|`anthropic/claude-opus-5-5`, 지정 계정|task child pinned to its account|pin its account, then switch current session|
|
|
94
94
|
|**MIO(미오)**|`anthropic/claude-opus-5-5`, 지정 계정|task child pinned to its account|pin its account, then switch current session|
|
|
95
95
|
|**NOVA(노바)**|`opencode-go/muse-spark-1.3-contributor`|task child on this model|switch current session only|
|
|
96
|
+
|**HIKARI(히카리)**|`google-antigravity/gemini-3.8-flash`|task child on this model|switch current session only|
|
|
96
97
|
|**SHION(시온)**|`web6/gpt-6-pro`|`rule://web6-consult` consult (not a child)|forbidden|
|
|
97
98
|
|
|
98
99
|
Tool-capable calls use one ordinary task child with normal linkage. If the user asks for a greeting or line in a character's face/voice, treat it as an inline summon even without a summon verb, and put the exact summon marker in that child request and call input. RIN/MIO's designated OAuth account is a session-scoped exact pin; if unavailable, never silently substitute another credential/model. A failed `교체` keeps the previous session model and never changes the global default. In the final provider request of Main and children, strip existing character voice and legacy report-style and apply exactly one selected voice block. Tell the user, in that turn, the role, count, and reason of each child/other-model call. A child's terminal line counts as shown only once inline linkage is confirmed. SHION uses only the existing WEB6 consult path. Parser/selector source of truth: `harness-policy.json` `characterRouting` and `extensions/character-voice.ts`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- source-fingerprint:
|
|
1
|
+
<!-- source-fingerprint: ba6124399de5b81a -->
|
|
2
2
|
# Global Rules
|
|
3
3
|
|
|
4
4
|
(Model-facing English copy of the Korean source `RULES.md`.)
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
- Do not repeat the same action under the same conditions. Diagnosis that narrows the cause from observation and changes the next action accordingly is not blind retrying; the same error string alone does not make it the same attempt. If after the first failure there is neither an action to change nor a safe path forward, do not confirm the same failure a second time — stop there and report the cause evidence, what was tried, and the remaining blocker.
|
|
14
14
|
- Work solvable with tools, the repository, and the current context is carried to completion without asking for confirmation or stopping midway. Exception: get user approval before deletion, deployment, incurring cost, or breaking compatibility.
|
|
15
15
|
- Deploy confirmation (user, 2026-09-26): on the home PC (hostname `KYS`), once a CUELO session has verified a source change and committed and pushed it, watch that commit's GitHub CI until it finishes, report the result, and ask whether to deploy. After the user approves, run `Tools/CUELO_Setup/deploy-live.ps1`, `Tools/OMP_Global_Config/setup.ps1 -ProfileOnly`, and `Tools/OMP_Global_Config/verify.ps1 -StrictRuntime` for that same revision (`Tools/CUELO_Setup/setup.ps1` is the full app installer, not this step). Check the PC with `hostname` first. Do not add automatic deployment such as a scheduled task. Deleting stages or rollbacks, deploying to the office PC, updating the CLI, and anything that incurs cost still need separate approval.
|
|
16
|
+
- CI watching (user, 2026-09-28): when watching a commit's CI, name the workflow you wait on (`gh run list --workflow <name>` or similar) and report the moment that run finishes. Never use "every run for this SHA is completed" as the condition: a release/deploy run triggered by CI success (`workflow_run`) appears seconds later on the same SHA and holds back the CI report. Watch such follow-on runs separately after reporting.
|
|
16
17
|
- Narrow implementation uncertainty using explicit requirements and approved contracts, actual callers and data flow, test/reproduction results, and current behavior and docs. Once evidence settles the direction, proceed and record the basis; do not ask for confirmation on every minor implementation choice. Tests, docs, and current behavior are not automatically right; when they conflict with the requirements, check the actual behavior. Escalate to the user only items that change product meaning and cannot be settled by evidence, or that lack authority or external approval; keep doing independently allowed work even if that part is blocked.
|
|
17
18
|
- Direct causes found within the approved goal, and regressions your change created, are fixed and verified without the user asking again. Outside the allowed boundary, other owners' files, and cleanup or features unrelated to the original completion criteria remain out of scope; being able to read something is not permission to modify it.
|
|
18
19
|
- Even before a final action that needs approval, first finish already-approved or reversible preparation and read-only investigation/review so there is a concrete target to review, then ask for approval. This preparation principle never grants or lowers existing prior-approval boundaries, including deletion, deployment, cost, and compatibility breaks.
|
|
@@ -5,10 +5,10 @@ description: ChatGPT 6 Pro(별칭 SHION) 상담을 쓸 때 자리·발동 조건
|
|
|
5
5
|
# ChatGPT 6 Pro 상담
|
|
6
6
|
|
|
7
7
|
6 Pro는 로컬 OpenAI 호환 shim이 사용자 브라우저의 전용 탭을 몰아서 쓴다. 세션 바인딩은
|
|
8
|
-
로컬에서
|
|
9
|
-
수집해 인증된 로컬 reply 경로로 현재 세션에 투영한다.
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
로컬에서 유지하고 상담은 순수 프롬프트만 보내며, relay가 해당 대화·요청의 완성 답을
|
|
9
|
+
수집해 인증된 로컬 reply 경로로 현재 세션에 투영한다. 왕복은 직렬이며 역할이 아니라
|
|
10
|
+
**상담**이다. 정본은 `harness-policy.json`의 `mainLane.web6Consult`이고 별칭 `SHION`이 이
|
|
11
|
+
대상을 가리킨다.
|
|
12
12
|
|
|
13
13
|
## 들어가는 자리
|
|
14
14
|
|
|
@@ -35,7 +35,7 @@ description: ChatGPT 6 Pro(별칭 SHION) 상담을 쓸 때 자리·발동 조건
|
|
|
35
35
|
호출은 exact `completion(model="web6/gpt-6-pro")` 경로다. core provider가 현재 OMP
|
|
36
36
|
sessionId를 `X-OMP-Session-Id`로 싣고, `CUELO_Setup/web6/web6-server.js`가 세션을 확인하고
|
|
37
37
|
바인딩 통지를 남긴다. 발급된 handleKey는 로컬 요청 메모리에만 두고 브라우저 프롬프트에
|
|
38
|
-
넣지 않는다.
|
|
38
|
+
넣지 않는다. 상담 프롬프트에 도구 멘션이나 게시 지시를 추가하지 않는다.
|
|
39
39
|
|
|
40
40
|
relay는 자신이 만든 전용 ChatGPT 탭에서만 새 상담을 시작하고, 전송 POST의 model과 user
|
|
41
41
|
message id를 확인한다. 답 수집 전에도 현재 경로가 exact conversationId인지 확인한 뒤 그
|
|
@@ -50,9 +50,8 @@ text여야 한다. 다른 모델·다른 대화·중간 답을 성공으로 채
|
|
|
50
50
|
수집한 답은 같은 세션의 기존 `/api/gpt6/reply`에 Bearer 인증으로 한 번만 게시한다. 이 토큰과
|
|
51
51
|
본문은 loopback HTTP(S)에만 보내고 redirect를 따르지 않는다. 게시 확인 뒤에만 provider 응답을
|
|
52
52
|
성공으로 끝낸다. session-native `gpt6-reply` entry가 화면 정본이고 전역 JSONL 성공 기록을
|
|
53
|
-
다시 투영하지 않는다.
|
|
54
|
-
|
|
55
|
-
배포한다. Main의 raw HTTP·clipboard·수동 붙여넣기로 이 경로를 대체하지 않는다.
|
|
53
|
+
다시 투영하지 않는다. 6 Pro가 MCP 도구로 세션을 조회·지시하던 원격 제어 경로는 제거했다.
|
|
54
|
+
Main의 raw HTTP·clipboard·수동 붙여넣기로 이 경로를 대체하지 않는다.
|
|
56
55
|
|
|
57
56
|
task child를 만들거나 Main 모델을 바꾸지 않는다. shim·relay·로그인·수집·투영이 실패하면
|
|
58
57
|
상담 없이 기존 경로로 진행하고 실패 사실만 남긴다.
|