cuelo 0.10.52 → 0.10.53
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 +35 -35
- package/.next/build-manifest.json +4 -4
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +549 -561
- package/.next/required-server-files.js +25 -25
- package/.next/required-server-files.json +25 -25
- 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]/account/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/attachment-settings/route.js +1 -1
- package/.next/server/app/api/attachment-settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/attachments/[id]/transcription/route.js +2 -2
- package/.next/server/app/api/attachments/[id]/transcription/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/attachments/draft/route.js +1 -1
- package/.next/server/app/api/attachments/draft/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/attachments/route.js +2 -2
- package/.next/server/app/api/attachments/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/character-mode/route.js +1 -2
- package/.next/server/app/api/character-mode/route.js.nft.json +1 -1
- package/.next/server/app/api/character-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/display-settings/route.js +1 -1
- package/.next/server/app/api/display-settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/document-text/route.js +2 -2
- package/.next/server/app/api/document-text/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/experiments/route.js +1 -1
- package/.next/server/app/api/experiments/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/github/projects/route.js +1 -1
- package/.next/server/app/api/github/projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/gpt6/handles/route.js +1 -1
- package/.next/server/app/api/gpt6/handles/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/gpt6/reply/route.js +1 -1
- package/.next/server/app/api/gpt6/reply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/gpt6/token/route.js +1 -1
- package/.next/server/app/api/gpt6/token/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/gpt6/web6-session/route.js +1 -1
- package/.next/server/app/api/gpt6/web6-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/live/call/[callId]/route.js +2 -2
- package/.next/server/app/api/live/call/[callId]/route.js.nft.json +1 -1
- package/.next/server/app/api/live/call/[callId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/live/events/route.js +2 -2
- package/.next/server/app/api/live/events/route.js.nft.json +1 -1
- package/.next/server/app/api/live/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/live/interpret/route.js +2 -2
- package/.next/server/app/api/live/interpret/route.js.nft.json +1 -1
- package/.next/server/app/api/live/interpret/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/live/offer/route.js +1 -1
- package/.next/server/app/api/live/offer/route.js.nft.json +1 -1
- package/.next/server/app/api/live/offer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/live/voices/route.js +1 -1
- package/.next/server/app/api/live/voices/route.js.nft.json +1 -1
- package/.next/server/app/api/live/voices/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/model-roles/route.js +1 -1
- package/.next/server/app/api/model-roles/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/route.js +3 -3
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/office-characters/[...path]/route.js +1 -2
- package/.next/server/app/api/office-characters/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/office-characters/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/project-docs/route.js +1 -1
- package/.next/server/app/api/project-docs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/route.js +2 -2
- package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/[runId]/prelude/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/prelude/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/[runId]/turns/route.js +1 -1
- package/.next/server/app/api/runs/[runId]/turns/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runs/route.js +1 -1
- package/.next/server/app/api/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidecars/[service]/[...path]/route.js +1 -1
- package/.next/server/app/api/sidecars/[service]/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/install/route.js +2 -2
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/eta/route.js +1 -1
- package/.next/server/app/api/subagents/eta/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/theme/route.js +1 -1
- package/.next/server/app/api/theme/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tool-image/route.js +1 -1
- package/.next/server/app/api/tool-image/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update-maintenance/route.js +2 -2
- package/.next/server/app/api/update-maintenance/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/updates/route.js +1 -1
- package/.next/server/app/api/updates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/web-access/recovery/route.js +1 -1
- package/.next/server/app/api/web-access/recovery/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/web-access/route.js +1 -1
- package/.next/server/app/api/web-access/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/web6/consults/route.js +1 -1
- package/.next/server/app/api/web6/consults/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.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/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +5 -5
- 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 +2 -2
- package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +35 -35
- package/.next/server/chunks/1008.js +2 -2
- package/.next/server/chunks/1966.js +2 -0
- package/.next/server/chunks/319.js +3 -3
- package/.next/server/chunks/6429.js +2 -2
- package/.next/server/chunks/6775.js +7 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +9 -9
- 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/_not-found/page-041b64675adcdf82.js +1 -0
- package/.next/static/chunks/app/layout-3b1f8b74c7fc5e77.js +1 -0
- package/.next/static/chunks/app/{page-3640086c732eb87d.js → page-efae4fdcf84b7a14.js} +4 -4
- package/.next/static/chunks/app/recover/{page-c0c40b3c215078a4.js → page-2bcd6a351f3eda3d.js} +1 -1
- package/.next/static/chunks/{main-app-fbc4aa3c15d48613.js → main-app-ca46ab75db2b4e4b.js} +1 -1
- package/.next/static/chunks/main-dd4c9daba44bef88.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-dac2a58a3b9eb28e.js +1 -0
- package/.next/static/chunks/webpack-546c8221d1906945.js +1 -0
- package/.next/trace +107 -107
- package/.next/trace-build +1 -1
- package/.next/types/app/api/agent/[id]/account/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/route.ts +1 -1
- package/.next/types/app/api/agent/new/route.ts +1 -1
- package/.next/types/app/api/agent/running/route.ts +1 -1
- package/.next/types/app/api/attachment-settings/route.ts +1 -1
- package/.next/types/app/api/attachments/[id]/transcription/route.ts +1 -1
- package/.next/types/app/api/attachments/draft/route.ts +1 -1
- package/.next/types/app/api/attachments/route.ts +1 -1
- package/.next/types/app/api/auth/all-providers/route.ts +1 -1
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/providers/route.ts +1 -1
- package/.next/types/app/api/character-mode/route.ts +1 -1
- package/.next/types/app/api/cwd/browse/route.ts +1 -1
- package/.next/types/app/api/cwd/validate/route.ts +1 -1
- package/.next/types/app/api/default-cwd/route.ts +1 -1
- package/.next/types/app/api/display-settings/route.ts +1 -1
- package/.next/types/app/api/document-text/route.ts +1 -1
- package/.next/types/app/api/experiments/route.ts +1 -1
- package/.next/types/app/api/file-index/route.ts +1 -1
- package/.next/types/app/api/files/[...path]/route.ts +1 -1
- package/.next/types/app/api/git/diff/route.ts +1 -1
- package/.next/types/app/api/git/status/route.ts +1 -1
- package/.next/types/app/api/github/projects/route.ts +1 -1
- package/.next/types/app/api/gpt6/handles/route.ts +1 -1
- package/.next/types/app/api/gpt6/reply/route.ts +1 -1
- package/.next/types/app/api/gpt6/token/route.ts +1 -1
- package/.next/types/app/api/gpt6/web6-session/route.ts +1 -1
- package/.next/types/app/api/home/route.ts +1 -1
- package/.next/types/app/api/live/call/[callId]/route.ts +1 -1
- package/.next/types/app/api/live/events/route.ts +1 -1
- package/.next/types/app/api/live/interpret/route.ts +1 -1
- package/.next/types/app/api/live/offer/route.ts +1 -1
- package/.next/types/app/api/live/voices/route.ts +1 -1
- package/.next/types/app/api/mcp/route.ts +1 -1
- package/.next/types/app/api/model-roles/route.ts +1 -1
- package/.next/types/app/api/models/route.ts +1 -1
- package/.next/types/app/api/models-config/catalog/route.ts +1 -1
- package/.next/types/app/api/models-config/discover/route.ts +1 -1
- package/.next/types/app/api/models-config/route.ts +1 -1
- package/.next/types/app/api/models-config/test/route.ts +1 -1
- package/.next/types/app/api/office-characters/[...path]/route.ts +1 -1
- package/.next/types/app/api/plugins/route.ts +1 -1
- package/.next/types/app/api/project-docs/route.ts +1 -1
- package/.next/types/app/api/project-trust/route.ts +1 -1
- package/.next/types/app/api/projects/route.ts +1 -1
- package/.next/types/app/api/runs/[runId]/prelude/route.ts +1 -1
- package/.next/types/app/api/runs/[runId]/route.ts +1 -1
- package/.next/types/app/api/runs/[runId]/turns/route.ts +1 -1
- package/.next/types/app/api/runs/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
- package/.next/types/app/api/sessions/route.ts +1 -1
- package/.next/types/app/api/sessions/search/route.ts +1 -1
- package/.next/types/app/api/settings/route.ts +1 -1
- package/.next/types/app/api/sidecars/[service]/[...path]/route.ts +1 -1
- package/.next/types/app/api/skills/check/route.ts +1 -1
- package/.next/types/app/api/skills/install/route.ts +1 -1
- package/.next/types/app/api/skills/route.ts +1 -1
- package/.next/types/app/api/skills/search/route.ts +1 -1
- package/.next/types/app/api/skills/update/route.ts +1 -1
- package/.next/types/app/api/subagents/eta/route.ts +1 -1
- package/.next/types/app/api/theme/route.ts +1 -1
- package/.next/types/app/api/tool-image/route.ts +1 -1
- package/.next/types/app/api/update-maintenance/route.ts +1 -1
- package/.next/types/app/api/updates/route.ts +1 -1
- package/.next/types/app/api/web-access/recovery/route.ts +1 -1
- package/.next/types/app/api/web-access/route.ts +1 -1
- package/.next/types/app/api/web6/consults/route.ts +1 -1
- package/.next/types/app/api/worktrees/route.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/page.ts +1 -1
- package/.next/types/app/recover/page.ts +1 -1
- package/LICENSE +22 -22
- package/README.md +273 -271
- package/Tools/CUELO_Setup/files/btw-server.js +346 -346
- package/Tools/CUELO_Setup/files/native-runtime-patch.js +238 -238
- package/Tools/CUELO_Setup/files/subagent-server.js +587 -587
- package/Tools/CUELO_Setup/files/usage-server.js +1057 -1057
- package/Tools/OMP_Global_Config/agent/AGENTS.md +144 -144
- package/Tools/OMP_Global_Config/agent/RULES.md +140 -140
- package/Tools/OMP_Global_Config/agent/TITLE_SYSTEM.md +17 -17
- package/Tools/OMP_Global_Config/agent/WATCHDOG.md +55 -55
- package/Tools/OMP_Global_Config/agent/agents/maker.md +413 -413
- package/Tools/OMP_Global_Config/agent/extensions/character-voice.ts +1035 -1035
- package/Tools/OMP_Global_Config/agent/extensions/command-guard/index.ts +1110 -1110
- package/Tools/OMP_Global_Config/agent/extensions/command-guard/interop-hint.ts +133 -133
- package/Tools/OMP_Global_Config/agent/extensions/command-guard/matcher.ts +2258 -2258
- package/Tools/OMP_Global_Config/agent/extensions/command-guard/powershell-syntax.ts +210 -210
- package/Tools/OMP_Global_Config/agent/extensions/command-guard/task-guard.ts +1137 -1121
- package/Tools/OMP_Global_Config/agent/extensions/cross-review.ts +132 -132
- package/Tools/OMP_Global_Config/agent/extensions/docmap-route.ts +133 -133
- package/Tools/OMP_Global_Config/agent/extensions/draft/markdown.ts +226 -226
- package/Tools/OMP_Global_Config/agent/extensions/draft/ooxml.ts +222 -222
- package/Tools/OMP_Global_Config/agent/extensions/draft/pdf.ts +63 -63
- package/Tools/OMP_Global_Config/agent/extensions/draft/zip.ts +73 -73
- package/Tools/OMP_Global_Config/agent/extensions/draft.ts +204 -204
- package/Tools/OMP_Global_Config/agent/extensions/edit-lessons.ts +159 -159
- package/Tools/OMP_Global_Config/agent/extensions/external-advice-check.ts +36 -36
- package/Tools/OMP_Global_Config/agent/extensions/gitnexus-autosync.ts +406 -406
- package/Tools/OMP_Global_Config/agent/extensions/image-question-router.ts +55 -55
- package/Tools/OMP_Global_Config/agent/extensions/jev-runtime.ts +2700 -2700
- package/Tools/OMP_Global_Config/agent/extensions/korean-reply-guard.ts +190 -190
- package/Tools/OMP_Global_Config/agent/extensions/lib/cross-review.ts +1208 -1208
- package/Tools/OMP_Global_Config/agent/extensions/lib/docmap-search.ts +612 -612
- package/Tools/OMP_Global_Config/agent/extensions/lib/job-observation.ts +182 -182
- package/Tools/OMP_Global_Config/agent/extensions/lib/maker-routing.ts +1332 -1332
- package/Tools/OMP_Global_Config/agent/extensions/lib/mcp-selection.ts +361 -361
- package/Tools/OMP_Global_Config/agent/extensions/lib/memory-excerpt.ts +5 -5
- package/Tools/OMP_Global_Config/agent/extensions/lib/native-judge.ts +113 -113
- package/Tools/OMP_Global_Config/agent/extensions/lib/prepared-task.ts +211 -211
- package/Tools/OMP_Global_Config/agent/extensions/lib/routing-ledger.ts +538 -538
- package/Tools/OMP_Global_Config/agent/extensions/lib/session-identity.ts +34 -34
- package/Tools/OMP_Global_Config/agent/extensions/lib/task-progress.ts +492 -492
- package/Tools/OMP_Global_Config/agent/extensions/mcp-selection.ts +301 -301
- package/Tools/OMP_Global_Config/agent/extensions/prompt-compact.ts +67 -67
- package/Tools/OMP_Global_Config/agent/extensions/report-chart-guard.ts +102 -102
- package/Tools/OMP_Global_Config/agent/extensions/skim.ts +332 -332
- package/Tools/OMP_Global_Config/agent/extensions/steering-reply-gate.ts +207 -207
- package/Tools/OMP_Global_Config/agent/extensions/todo-nudge.ts +80 -80
- package/Tools/OMP_Global_Config/agent/extensions/turn-end-guard.ts +421 -421
- package/Tools/OMP_Global_Config/agent/prompt-copies/AGENTS.en.md +147 -147
- package/Tools/OMP_Global_Config/agent/prompt-copies/RULES.en.md +49 -49
- package/Tools/OMP_Global_Config/agent/rules/docs-handoff.md +39 -39
- package/Tools/OMP_Global_Config/agent/rules/frontend.md +74 -74
- package/Tools/OMP_Global_Config/agent/rules/harness-policy.json +1224 -1224
- package/Tools/OMP_Global_Config/agent/rules/legacy-encoding.md +21 -21
- package/Tools/OMP_Global_Config/agent/rules/meta-harness.md +45 -45
- package/Tools/OMP_Global_Config/agent/rules/omp-harness.md +151 -151
- package/Tools/OMP_Global_Config/agent/rules/subagent.md +750 -750
- package/Tools/OMP_Global_Config/agent/rules/task-guard.md +62 -62
- package/Tools/OMP_Global_Config/agent/rules/verdict.md +210 -210
- package/Tools/OMP_Global_Config/agent/rules/web6-consult.md +83 -83
- package/Tools/OMP_Global_Config/agent/sop/_common.md +136 -136
- package/Tools/OMP_Global_Config/agent/sop/_writer.md +259 -259
- package/Tools/OMP_Global_Config/agent/sop/maker.md +9 -9
- package/Tools/OMP_Global_Config/agent/tools/git-finalizer/finalizer.ps1 +409 -409
- package/Tools/OMP_Global_Config/agent/tools/git-finalizer/index.ts +303 -303
- package/Tools/OMP_Global_Config/agent/tools/git-finalizer/sync-checkout.ts +184 -184
- package/Tools/OMP_Global_Config/agent/tools/git-finalizer/wsl-git.ts +96 -96
- package/Tools/OMP_Global_Config/agent/tools/windows-build/index.ts +387 -387
- package/Tools/OMP_Global_Config/agent/tools/windows-control/control.ps1 +200 -200
- package/Tools/OMP_Global_Config/agent/tools/windows-control/index.ts +255 -255
- package/Tools/OMP_Global_Config/notices/orchestrate.md +26 -26
- package/Tools/OMP_Global_Config/notices/ultrathink.md +9 -9
- package/Tools/OMP_Global_Config/notices/workflow.md +16 -16
- package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +18339 -18304
- package/Tools/OMP_Global_Config/patches/apply-notices.mjs +135 -135
- package/bin/cuelo-options.js +38 -38
- package/bin/cuelo.js +273 -273
- package/bin/docker-entrypoint.mjs +19 -19
- package/bin/password-prompt.js +100 -100
- package/bin/prepare-runtime.js +112 -112
- package/bin/runtime.js +134 -134
- package/bin/web-auth-store.d.ts +104 -104
- package/bin/web-auth-store.js +593 -593
- package/install.mjs +427 -427
- package/next.config.ts +104 -104
- package/package.json +141 -141
- package/public/audio/completion/voices.json +1393 -1393
- package/public/fonts/cuelo-display/NOTICE.txt +15 -15
- package/public/fonts/fonts.css +288 -288
- package/public/fonts/jetbrains-mono/OFL.txt +93 -93
- package/public/fonts/wanted-sans/OFL.txt +93 -93
- package/public/icons/catppuccin/LICENSE +22 -22
- package/public/icons/catppuccin/README.md +8 -8
- package/public/icons/catppuccin/latte/_file.svg +3 -3
- package/public/icons/catppuccin/latte/_folder.svg +3 -3
- package/public/icons/catppuccin/latte/_folder_open.svg +3 -3
- package/public/icons/catppuccin/latte/bash.svg +7 -7
- package/public/icons/catppuccin/latte/bun-lock.svg +8 -8
- package/public/icons/catppuccin/latte/config.svg +3 -3
- package/public/icons/catppuccin/latte/css.svg +6 -6
- package/public/icons/catppuccin/latte/database.svg +3 -3
- package/public/icons/catppuccin/latte/docker.svg +3 -3
- package/public/icons/catppuccin/latte/env.svg +3 -3
- package/public/icons/catppuccin/latte/eslint.svg +6 -6
- package/public/icons/catppuccin/latte/git.svg +6 -6
- package/public/icons/catppuccin/latte/go.svg +3 -3
- package/public/icons/catppuccin/latte/graphql.svg +3 -3
- package/public/icons/catppuccin/latte/html.svg +6 -6
- package/public/icons/catppuccin/latte/javascript-react.svg +8 -8
- package/public/icons/catppuccin/latte/javascript.svg +6 -6
- package/public/icons/catppuccin/latte/json.svg +3 -3
- package/public/icons/catppuccin/latte/lock.svg +3 -3
- package/public/icons/catppuccin/latte/markdown.svg +3 -3
- package/public/icons/catppuccin/latte/ms-word.svg +6 -6
- package/public/icons/catppuccin/latte/next.svg +6 -6
- package/public/icons/catppuccin/latte/npm-lock.svg +7 -7
- package/public/icons/catppuccin/latte/pdf.svg +3 -3
- package/public/icons/catppuccin/latte/python.svg +8 -8
- package/public/icons/catppuccin/latte/rust.svg +6 -6
- package/public/icons/catppuccin/latte/sass.svg +3 -3
- package/public/icons/catppuccin/latte/terraform.svg +3 -3
- package/public/icons/catppuccin/latte/toml.svg +3 -3
- package/public/icons/catppuccin/latte/typescript-react.svg +8 -8
- package/public/icons/catppuccin/latte/typescript.svg +6 -6
- package/public/icons/catppuccin/latte/yaml.svg +3 -3
- package/public/icons/catppuccin/mocha/_file.svg +3 -3
- package/public/icons/catppuccin/mocha/_folder.svg +3 -3
- package/public/icons/catppuccin/mocha/_folder_open.svg +3 -3
- package/public/icons/catppuccin/mocha/bash.svg +7 -7
- package/public/icons/catppuccin/mocha/bun-lock.svg +8 -8
- package/public/icons/catppuccin/mocha/config.svg +3 -3
- package/public/icons/catppuccin/mocha/css.svg +6 -6
- package/public/icons/catppuccin/mocha/database.svg +3 -3
- package/public/icons/catppuccin/mocha/docker.svg +3 -3
- package/public/icons/catppuccin/mocha/env.svg +3 -3
- package/public/icons/catppuccin/mocha/eslint.svg +6 -6
- package/public/icons/catppuccin/mocha/git.svg +6 -6
- package/public/icons/catppuccin/mocha/go.svg +3 -3
- package/public/icons/catppuccin/mocha/graphql.svg +3 -3
- package/public/icons/catppuccin/mocha/html.svg +6 -6
- package/public/icons/catppuccin/mocha/javascript-react.svg +8 -8
- package/public/icons/catppuccin/mocha/javascript.svg +6 -6
- package/public/icons/catppuccin/mocha/json.svg +3 -3
- package/public/icons/catppuccin/mocha/lock.svg +3 -3
- package/public/icons/catppuccin/mocha/markdown.svg +3 -3
- package/public/icons/catppuccin/mocha/ms-word.svg +6 -6
- package/public/icons/catppuccin/mocha/next.svg +6 -6
- package/public/icons/catppuccin/mocha/npm-lock.svg +7 -7
- package/public/icons/catppuccin/mocha/pdf.svg +3 -3
- package/public/icons/catppuccin/mocha/python.svg +8 -8
- package/public/icons/catppuccin/mocha/rust.svg +6 -6
- package/public/icons/catppuccin/mocha/sass.svg +3 -3
- package/public/icons/catppuccin/mocha/terraform.svg +3 -3
- package/public/icons/catppuccin/mocha/toml.svg +3 -3
- package/public/icons/catppuccin/mocha/typescript-react.svg +8 -8
- package/public/icons/catppuccin/mocha/typescript.svg +6 -6
- package/public/icons/catppuccin/mocha/yaml.svg +3 -3
- package/public/icons/cuelo-icon.svg +8 -8
- package/public/offline.html +145 -145
- package/public/sw.js +135 -135
- package/.next/server/chunks/205.js +0 -7
- package/.next/server/chunks/7738.js +0 -1
- package/.next/static/chunks/1966.b8f83f7ba376c962.js +0 -1
- package/.next/static/chunks/3899.3f761f7e3a944e8c.js +0 -1
- package/.next/static/chunks/app/_not-found/page-9e5295df095e2e41.js +0 -1
- package/.next/static/chunks/app/layout-8b29ba206a96135e.js +0 -1
- package/.next/static/chunks/main-1ddb405481ce21f6.js +0 -5
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-50782c8c9c06c8b5.js +0 -1
- package/.next/static/chunks/webpack-7b514b9855bd748c.js +0 -1
- /package/.next/static/{dQA--5NX6NZt_A6pLZUde → -mDQEyWQ8VQsAfLpiACIP}/_buildManifest.js +0 -0
- /package/.next/static/{dQA--5NX6NZt_A6pLZUde → -mDQEyWQ8VQsAfLpiACIP}/_ssgManifest.js +0 -0
package/bin/password-prompt.js
CHANGED
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Terminal password entry for `cuelo --authenticated` and `--reset-password`.
|
|
5
|
-
*
|
|
6
|
-
* Reads in raw mode and echoes nothing rather than going through readline's
|
|
7
|
-
* private output hook, so the same code works under Node and under Bun.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
11
|
-
const { validatePassword } = require("./web-auth-store");
|
|
12
|
-
|
|
13
|
-
const ETX = "\u0003"; // Ctrl+C
|
|
14
|
-
const EOT = "\u0004"; // Ctrl+D
|
|
15
|
-
const BACKSPACE = "\u007f";
|
|
16
|
-
const ESCAPE = "\u001b";
|
|
17
|
-
|
|
18
|
-
/** Thrown when the operator interrupts the prompt (Ctrl+C / Ctrl+D). */
|
|
19
|
-
class PromptAbortedError extends Error {
|
|
20
|
-
constructor() {
|
|
21
|
-
super("Password entry cancelled");
|
|
22
|
-
this.name = "PromptAbortedError";
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Whether a person is actually there to answer. Services and pipes are not. */
|
|
27
|
-
function isInteractive(stdin = process.stdin, stdout = process.stdout) {
|
|
28
|
-
return Boolean(stdin.isTTY && stdout.isTTY);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function promptHidden(query) {
|
|
32
|
-
return new Promise((resolvePrompt, rejectPrompt) => {
|
|
33
|
-
const { stdin, stdout } = process;
|
|
34
|
-
if (!isInteractive()) {
|
|
35
|
-
rejectPrompt(new Error("A terminal is required to enter a password."));
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
stdout.write(query);
|
|
40
|
-
const wasRaw = Boolean(stdin.isRaw);
|
|
41
|
-
stdin.setRawMode(true);
|
|
42
|
-
stdin.resume();
|
|
43
|
-
stdin.setEncoding("utf8");
|
|
44
|
-
|
|
45
|
-
let value = "";
|
|
46
|
-
const finish = (result, error) => {
|
|
47
|
-
stdin.removeListener("data", onData);
|
|
48
|
-
stdin.setRawMode(wasRaw);
|
|
49
|
-
stdin.pause();
|
|
50
|
-
stdout.write("\n");
|
|
51
|
-
if (error) rejectPrompt(error);
|
|
52
|
-
else resolvePrompt(result);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const onData = (chunk) => {
|
|
56
|
-
for (const char of chunk) {
|
|
57
|
-
if (char === "\r" || char === "\n") return finish(value);
|
|
58
|
-
// Ctrl+C always cancels; Ctrl+D cancels an empty entry, the usual EOF.
|
|
59
|
-
if (char === ETX || (char === EOT && value.length === 0)) {
|
|
60
|
-
return finish(undefined, new PromptAbortedError());
|
|
61
|
-
}
|
|
62
|
-
if (char === BACKSPACE || char === "\b") {
|
|
63
|
-
value = value.slice(0, -1);
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
// An escape introduces a key sequence (arrows, function keys). Nothing
|
|
67
|
-
// in one belongs in a password, and the rest of the chunk is its body.
|
|
68
|
-
if (char === ESCAPE) return;
|
|
69
|
-
if (char >= " ") value += char;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
stdin.on("data", onData);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Ask for a new password twice, re-asking until the two entries agree and the
|
|
79
|
-
* result is acceptable to the credential store.
|
|
80
|
-
*/
|
|
81
|
-
async function readNewPassword(options = {}) {
|
|
82
|
-
const prompt = options.prompt ?? "New password: ";
|
|
83
|
-
for (;;) {
|
|
84
|
-
const password = await promptHidden(prompt);
|
|
85
|
-
const invalid = validatePassword(password);
|
|
86
|
-
if (invalid) {
|
|
87
|
-
process.stdout.write(`${invalid}\n`);
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const confirmation = await promptHidden("Confirm password: ");
|
|
92
|
-
if (confirmation !== password) {
|
|
93
|
-
process.stdout.write("The passwords do not match. Try again.\n");
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
return password;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
module.exports = { PromptAbortedError, isInteractive, promptHidden, readNewPassword };
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Terminal password entry for `cuelo --authenticated` and `--reset-password`.
|
|
5
|
+
*
|
|
6
|
+
* Reads in raw mode and echoes nothing rather than going through readline's
|
|
7
|
+
* private output hook, so the same code works under Node and under Bun.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
11
|
+
const { validatePassword } = require("./web-auth-store");
|
|
12
|
+
|
|
13
|
+
const ETX = "\u0003"; // Ctrl+C
|
|
14
|
+
const EOT = "\u0004"; // Ctrl+D
|
|
15
|
+
const BACKSPACE = "\u007f";
|
|
16
|
+
const ESCAPE = "\u001b";
|
|
17
|
+
|
|
18
|
+
/** Thrown when the operator interrupts the prompt (Ctrl+C / Ctrl+D). */
|
|
19
|
+
class PromptAbortedError extends Error {
|
|
20
|
+
constructor() {
|
|
21
|
+
super("Password entry cancelled");
|
|
22
|
+
this.name = "PromptAbortedError";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Whether a person is actually there to answer. Services and pipes are not. */
|
|
27
|
+
function isInteractive(stdin = process.stdin, stdout = process.stdout) {
|
|
28
|
+
return Boolean(stdin.isTTY && stdout.isTTY);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function promptHidden(query) {
|
|
32
|
+
return new Promise((resolvePrompt, rejectPrompt) => {
|
|
33
|
+
const { stdin, stdout } = process;
|
|
34
|
+
if (!isInteractive()) {
|
|
35
|
+
rejectPrompt(new Error("A terminal is required to enter a password."));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
stdout.write(query);
|
|
40
|
+
const wasRaw = Boolean(stdin.isRaw);
|
|
41
|
+
stdin.setRawMode(true);
|
|
42
|
+
stdin.resume();
|
|
43
|
+
stdin.setEncoding("utf8");
|
|
44
|
+
|
|
45
|
+
let value = "";
|
|
46
|
+
const finish = (result, error) => {
|
|
47
|
+
stdin.removeListener("data", onData);
|
|
48
|
+
stdin.setRawMode(wasRaw);
|
|
49
|
+
stdin.pause();
|
|
50
|
+
stdout.write("\n");
|
|
51
|
+
if (error) rejectPrompt(error);
|
|
52
|
+
else resolvePrompt(result);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const onData = (chunk) => {
|
|
56
|
+
for (const char of chunk) {
|
|
57
|
+
if (char === "\r" || char === "\n") return finish(value);
|
|
58
|
+
// Ctrl+C always cancels; Ctrl+D cancels an empty entry, the usual EOF.
|
|
59
|
+
if (char === ETX || (char === EOT && value.length === 0)) {
|
|
60
|
+
return finish(undefined, new PromptAbortedError());
|
|
61
|
+
}
|
|
62
|
+
if (char === BACKSPACE || char === "\b") {
|
|
63
|
+
value = value.slice(0, -1);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
// An escape introduces a key sequence (arrows, function keys). Nothing
|
|
67
|
+
// in one belongs in a password, and the rest of the chunk is its body.
|
|
68
|
+
if (char === ESCAPE) return;
|
|
69
|
+
if (char >= " ") value += char;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
stdin.on("data", onData);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Ask for a new password twice, re-asking until the two entries agree and the
|
|
79
|
+
* result is acceptable to the credential store.
|
|
80
|
+
*/
|
|
81
|
+
async function readNewPassword(options = {}) {
|
|
82
|
+
const prompt = options.prompt ?? "New password: ";
|
|
83
|
+
for (;;) {
|
|
84
|
+
const password = await promptHidden(prompt);
|
|
85
|
+
const invalid = validatePassword(password);
|
|
86
|
+
if (invalid) {
|
|
87
|
+
process.stdout.write(`${invalid}\n`);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const confirmation = await promptHidden("Confirm password: ");
|
|
92
|
+
if (confirmation !== password) {
|
|
93
|
+
process.stdout.write("The passwords do not match. Try again.\n");
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
return password;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
module.exports = { PromptAbortedError, isInteractive, promptHidden, readNewPassword };
|
package/bin/prepare-runtime.js
CHANGED
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
5
|
-
const fs = require("node:fs");
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
7
|
-
const path = require("node:path");
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
9
|
-
const { spawnSync } = require("node:child_process");
|
|
10
|
-
|
|
11
|
-
const pkgDir = path.resolve(__dirname, "..");
|
|
12
|
-
const isCheck = process.argv.length === 3 && process.argv[2] === "--check";
|
|
13
|
-
// --source: a source checkout's own node_modules, prepared before typecheck/test/build.
|
|
14
|
-
const isSource = process.argv.length === 3 && process.argv[2] === "--source";
|
|
15
|
-
if (process.argv.length > (isCheck || isSource ? 3 : 2)) {
|
|
16
|
-
console.error("Usage: node bin/prepare-runtime.js [--check|--source]");
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// 소스 체크아웃의 npm postinstall은 작업 중인 node_modules를 수정하지 않는다.
|
|
21
|
-
// 서버 준비 검사는 bun.lock을 추가해도 이 소스 분기를 사용하지 않는다.
|
|
22
|
-
if (!isCheck && !isSource &&
|
|
23
|
-
fs.existsSync(path.join(pkgDir, "bun.lock")) &&
|
|
24
|
-
fs.existsSync(path.join(pkgDir, "app", "layout.tsx"))) {
|
|
25
|
-
console.log("CUELO source install: runtime patch preparation is handled by the source release path.");
|
|
26
|
-
process.exit(0);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const buildId = path.join(pkgDir, ".next", "BUILD_ID");
|
|
30
|
-
if (!isSource && !fs.existsSync(buildId)) {
|
|
31
|
-
console.error("CUELO npm package has no production build (.next/BUILD_ID). Install a prepared tarball.");
|
|
32
|
-
process.exit(1);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const coreRoot = path.join(pkgDir, "node_modules", "@oh-my-pi");
|
|
36
|
-
const corePackages = ["pi-coding-agent", "pi-agent-core", "pi-ai", "pi-tui"];
|
|
37
|
-
const actualRoot = fs.realpathSync(pkgDir);
|
|
38
|
-
for (const name of corePackages) {
|
|
39
|
-
const expected = path.join(coreRoot, name);
|
|
40
|
-
let actual;
|
|
41
|
-
try {
|
|
42
|
-
actual = fs.realpathSync(expected);
|
|
43
|
-
} catch {
|
|
44
|
-
console.error(`CUELO requires a package-owned SDK at ${expected}. Install globally into an isolated prefix, not a hoisted/shared dependency tree.`);
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
47
|
-
const expectedRelative = path.join("node_modules", "@oh-my-pi", name);
|
|
48
|
-
const actualRelative = path.relative(actualRoot, actual);
|
|
49
|
-
if ((process.platform === "win32" ? actualRelative.toLowerCase() : actualRelative) !==
|
|
50
|
-
(process.platform === "win32" ? expectedRelative.toLowerCase() : expectedRelative)) {
|
|
51
|
-
console.error(`CUELO refuses to patch an SDK outside its own package: ${actual}`);
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Bun's default install links package files to its shared cache (nlink > 1), and the patches
|
|
57
|
-
// rewrite files in place, which would change the cached copy for every project. Give the
|
|
58
|
-
// package-owned @oh-my-pi files their own bytes first. Symlinks are never followed.
|
|
59
|
-
function detachLinkedFiles(dir) {
|
|
60
|
-
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
61
|
-
const file = path.join(dir, entry.name);
|
|
62
|
-
if (entry.isDirectory()) {
|
|
63
|
-
detachLinkedFiles(file);
|
|
64
|
-
} else if (entry.isFile() && fs.lstatSync(file).nlink > 1) {
|
|
65
|
-
const copy = `${file}.detach-${process.pid}`;
|
|
66
|
-
try {
|
|
67
|
-
fs.copyFileSync(file, copy);
|
|
68
|
-
fs.renameSync(copy, file);
|
|
69
|
-
} catch (error) {
|
|
70
|
-
fs.rmSync(copy, { force: true });
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (isSource) {
|
|
77
|
-
for (const entry of fs.readdirSync(coreRoot, { withFileTypes: true })) {
|
|
78
|
-
if (entry.isDirectory()) detachLinkedFiles(path.join(coreRoot, entry.name));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const sdk = path.join(coreRoot, "pi-coding-agent");
|
|
83
|
-
const home = path.join(pkgDir, ".runtime-patch-home");
|
|
84
|
-
if (!isCheck) fs.mkdirSync(home, { recursive: true });
|
|
85
|
-
const env = { ...process.env, OMP_CORE_PATCH_TARGET: sdk, HOME: home, USERPROFILE: home };
|
|
86
|
-
const mode = isCheck ? ["--check"] : [];
|
|
87
|
-
const commands = [
|
|
88
|
-
// The native patch edits the production build, which a source preparation does not have yet.
|
|
89
|
-
...(isSource ? [] : [[path.join(pkgDir, "Tools", "CUELO_Setup", "files", "native-runtime-patch.js"), ["--target", pkgDir, ...mode]]]),
|
|
90
|
-
[path.join(pkgDir, "Tools", "OMP_Global_Config", "patches", "apply-core-patch.mjs"), mode],
|
|
91
|
-
[path.join(pkgDir, "Tools", "OMP_Global_Config", "patches", "apply-notices.mjs"), mode],
|
|
92
|
-
];
|
|
93
|
-
for (const [script, args] of commands) {
|
|
94
|
-
const result = spawnSync(process.execPath, [script, ...args], {
|
|
95
|
-
cwd: pkgDir,
|
|
96
|
-
env,
|
|
97
|
-
encoding: "utf8",
|
|
98
|
-
stdio: isCheck ? "pipe" : "inherit",
|
|
99
|
-
});
|
|
100
|
-
if (result.error || result.status !== 0) {
|
|
101
|
-
if (isCheck) {
|
|
102
|
-
if (result.stdout) process.stderr.write(result.stdout);
|
|
103
|
-
if (result.stderr) process.stderr.write(result.stderr);
|
|
104
|
-
}
|
|
105
|
-
console.error(`CUELO runtime preparation ${isCheck ? "check" : "apply"} failed at ${path.basename(script)}: ${result.error?.message ?? `exit ${result.status}`}`);
|
|
106
|
-
if (isCheck) console.error("If installation scripts did not run, use npm run prepare:runtime inside the installed cuelo package.");
|
|
107
|
-
process.exit(1);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (!isCheck) console.log(isSource
|
|
111
|
-
? "CUELO source SDK core patches applied inside this checkout."
|
|
112
|
-
: "CUELO npm runtime patches applied and verified inside this package.");
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
5
|
+
const fs = require("node:fs");
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
7
|
+
const path = require("node:path");
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
9
|
+
const { spawnSync } = require("node:child_process");
|
|
10
|
+
|
|
11
|
+
const pkgDir = path.resolve(__dirname, "..");
|
|
12
|
+
const isCheck = process.argv.length === 3 && process.argv[2] === "--check";
|
|
13
|
+
// --source: a source checkout's own node_modules, prepared before typecheck/test/build.
|
|
14
|
+
const isSource = process.argv.length === 3 && process.argv[2] === "--source";
|
|
15
|
+
if (process.argv.length > (isCheck || isSource ? 3 : 2)) {
|
|
16
|
+
console.error("Usage: node bin/prepare-runtime.js [--check|--source]");
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// 소스 체크아웃의 npm postinstall은 작업 중인 node_modules를 수정하지 않는다.
|
|
21
|
+
// 서버 준비 검사는 bun.lock을 추가해도 이 소스 분기를 사용하지 않는다.
|
|
22
|
+
if (!isCheck && !isSource &&
|
|
23
|
+
fs.existsSync(path.join(pkgDir, "bun.lock")) &&
|
|
24
|
+
fs.existsSync(path.join(pkgDir, "app", "layout.tsx"))) {
|
|
25
|
+
console.log("CUELO source install: runtime patch preparation is handled by the source release path.");
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const buildId = path.join(pkgDir, ".next", "BUILD_ID");
|
|
30
|
+
if (!isSource && !fs.existsSync(buildId)) {
|
|
31
|
+
console.error("CUELO npm package has no production build (.next/BUILD_ID). Install a prepared tarball.");
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const coreRoot = path.join(pkgDir, "node_modules", "@oh-my-pi");
|
|
36
|
+
const corePackages = ["pi-coding-agent", "pi-agent-core", "pi-ai", "pi-tui"];
|
|
37
|
+
const actualRoot = fs.realpathSync(pkgDir);
|
|
38
|
+
for (const name of corePackages) {
|
|
39
|
+
const expected = path.join(coreRoot, name);
|
|
40
|
+
let actual;
|
|
41
|
+
try {
|
|
42
|
+
actual = fs.realpathSync(expected);
|
|
43
|
+
} catch {
|
|
44
|
+
console.error(`CUELO requires a package-owned SDK at ${expected}. Install globally into an isolated prefix, not a hoisted/shared dependency tree.`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
const expectedRelative = path.join("node_modules", "@oh-my-pi", name);
|
|
48
|
+
const actualRelative = path.relative(actualRoot, actual);
|
|
49
|
+
if ((process.platform === "win32" ? actualRelative.toLowerCase() : actualRelative) !==
|
|
50
|
+
(process.platform === "win32" ? expectedRelative.toLowerCase() : expectedRelative)) {
|
|
51
|
+
console.error(`CUELO refuses to patch an SDK outside its own package: ${actual}`);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Bun's default install links package files to its shared cache (nlink > 1), and the patches
|
|
57
|
+
// rewrite files in place, which would change the cached copy for every project. Give the
|
|
58
|
+
// package-owned @oh-my-pi files their own bytes first. Symlinks are never followed.
|
|
59
|
+
function detachLinkedFiles(dir) {
|
|
60
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
61
|
+
const file = path.join(dir, entry.name);
|
|
62
|
+
if (entry.isDirectory()) {
|
|
63
|
+
detachLinkedFiles(file);
|
|
64
|
+
} else if (entry.isFile() && fs.lstatSync(file).nlink > 1) {
|
|
65
|
+
const copy = `${file}.detach-${process.pid}`;
|
|
66
|
+
try {
|
|
67
|
+
fs.copyFileSync(file, copy);
|
|
68
|
+
fs.renameSync(copy, file);
|
|
69
|
+
} catch (error) {
|
|
70
|
+
fs.rmSync(copy, { force: true });
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (isSource) {
|
|
77
|
+
for (const entry of fs.readdirSync(coreRoot, { withFileTypes: true })) {
|
|
78
|
+
if (entry.isDirectory()) detachLinkedFiles(path.join(coreRoot, entry.name));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const sdk = path.join(coreRoot, "pi-coding-agent");
|
|
83
|
+
const home = path.join(pkgDir, ".runtime-patch-home");
|
|
84
|
+
if (!isCheck) fs.mkdirSync(home, { recursive: true });
|
|
85
|
+
const env = { ...process.env, OMP_CORE_PATCH_TARGET: sdk, HOME: home, USERPROFILE: home };
|
|
86
|
+
const mode = isCheck ? ["--check"] : [];
|
|
87
|
+
const commands = [
|
|
88
|
+
// The native patch edits the production build, which a source preparation does not have yet.
|
|
89
|
+
...(isSource ? [] : [[path.join(pkgDir, "Tools", "CUELO_Setup", "files", "native-runtime-patch.js"), ["--target", pkgDir, ...mode]]]),
|
|
90
|
+
[path.join(pkgDir, "Tools", "OMP_Global_Config", "patches", "apply-core-patch.mjs"), mode],
|
|
91
|
+
[path.join(pkgDir, "Tools", "OMP_Global_Config", "patches", "apply-notices.mjs"), mode],
|
|
92
|
+
];
|
|
93
|
+
for (const [script, args] of commands) {
|
|
94
|
+
const result = spawnSync(process.execPath, [script, ...args], {
|
|
95
|
+
cwd: pkgDir,
|
|
96
|
+
env,
|
|
97
|
+
encoding: "utf8",
|
|
98
|
+
stdio: isCheck ? "pipe" : "inherit",
|
|
99
|
+
});
|
|
100
|
+
if (result.error || result.status !== 0) {
|
|
101
|
+
if (isCheck) {
|
|
102
|
+
if (result.stdout) process.stderr.write(result.stdout);
|
|
103
|
+
if (result.stderr) process.stderr.write(result.stderr);
|
|
104
|
+
}
|
|
105
|
+
console.error(`CUELO runtime preparation ${isCheck ? "check" : "apply"} failed at ${path.basename(script)}: ${result.error?.message ?? `exit ${result.status}`}`);
|
|
106
|
+
if (isCheck) console.error("If installation scripts did not run, use npm run prepare:runtime inside the installed cuelo package.");
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (!isCheck) console.log(isSource
|
|
111
|
+
? "CUELO source SDK core patches applied inside this checkout."
|
|
112
|
+
: "CUELO npm runtime patches applied and verified inside this package.");
|