cuelo 0.9.6 → 0.9.8
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 +11 -10
- package/.next/build-manifest.json +3 -3
- 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 +6 -0
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +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/attachment-settings/route.js +1 -1
- package/.next/server/app/api/attachments/[id]/transcription/route.js +2 -2
- package/.next/server/app/api/attachments/draft/route.js +1 -1
- package/.next/server/app/api/attachments/route.js +3 -3
- 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 +3 -3
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +1 -1
- package/.next/server/app/api/github/projects/route.js +1 -0
- package/.next/server/app/api/github/projects/route.js.nft.json +1 -0
- package/.next/server/app/api/github/projects/route_client-reference-manifest.js +1 -0
- 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/character-voice/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/lounge/events/route.js +2 -2
- package/.next/server/app/api/lounge/route.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/model-roles/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +3 -3
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/office-avatars/[id]/route.js +1 -1
- package/.next/server/app/api/office-avatars/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/sessions/search/route.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/sidecars/[service]/[...path]/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +2 -2
- package/.next/server/app/api/skills/route.js +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 +8 -4
- 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 +5 -5
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +5 -5
- 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 +2 -2
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/office/page.js +2 -2
- package/.next/server/app/office/page_client-reference-manifest.js +1 -1
- package/.next/server/app/office-preview/page.js +2 -2
- package/.next/server/app/office-preview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/office-preview.html +1 -1
- package/.next/server/app/office-preview.rsc +2 -2
- package/.next/server/app/office-preview.segments/_full.segment.rsc +2 -2
- package/.next/server/app/office-preview.segments/_head.segment.rsc +1 -1
- package/.next/server/app/office-preview.segments/_index.segment.rsc +2 -2
- package/.next/server/app/office-preview.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/office-preview.segments/office-preview/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/office-preview.segments/office-preview.segment.rsc +1 -1
- package/.next/server/app/office.html +1 -1
- package/.next/server/app/office.rsc +5 -5
- package/.next/server/app/office.segments/_full.segment.rsc +5 -5
- package/.next/server/app/office.segments/_head.segment.rsc +1 -1
- package/.next/server/app/office.segments/_index.segment.rsc +2 -2
- package/.next/server/app/office.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/office.segments/office/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/office.segments/office.segment.rsc +1 -1
- package/.next/server/app/page.js +2 -2
- 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 +11 -10
- package/.next/server/chunks/1008.js +2 -2
- package/.next/server/chunks/2651.js +1 -1
- package/.next/server/chunks/3379.js +1 -1
- package/.next/server/chunks/5489.js +12 -12
- package/.next/server/chunks/6429.js +6 -6
- package/.next/server/chunks/7362.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +2 -2
- 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/6110-9f1e951aafcdd72e.js +1 -0
- package/.next/static/chunks/9575-a48cda671c8b915d.js +22 -0
- package/.next/static/chunks/app/{api/agent/[id]/bash-output/route-6b1496af498bb4fd.js → _global-error/page-318ea6a550b5034e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/{events/route-6b1496af498bb4fd.js → account/route-318ea6a550b5034e.js} +1 -1
- package/.next/static/chunks/app/{_global-error/page-6b1496af498bb4fd.js → api/agent/[id]/bash-output/route-318ea6a550b5034e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/{account/route-6b1496af498bb4fd.js → events/route-318ea6a550b5034e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/attachment-settings/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/attachments/[id]/transcription/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/attachments/draft/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/attachments/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/display-settings/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/document-text/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/experiments/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/github/projects/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/gpt6/handles/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/gpt6/reply/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/gpt6/token/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/gpt6/web6-session/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/home/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/live/call/[callId]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/live/character-voice/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/live/events/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/live/offer/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/live/voices/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/lounge/events/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/lounge/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/model-roles/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/models/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/office-avatars/[id]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/office-avatars/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/projects/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/runs/[runId]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/runs/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/settings/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/skills/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/theme/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/tool-image/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/update-maintenance/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/updates/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/web-access/recovery/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/web-access/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/web6/consults/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/{layout-15c56b62f49b1c1d.js → layout-489bc5b73326436e.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/app/office/page-8dc604f9b5e6f220.js +1 -0
- package/.next/static/chunks/app/page-952b1ef4df5ac896.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-318ea6a550b5034e.js +1 -0
- package/.next/static/chunks/{webpack-fe8f1f81562a2b61.js → webpack-68986b211ad38cf1.js} +1 -1
- package/.next/static/css/4fae42750604bc1a.css +1 -0
- package/.next/static/pzZcPiD8nl6i7i_Ne9Ko-/_buildManifest.js +1 -0
- package/.next/trace +108 -108
- package/.next/trace-build +1 -1
- package/.next/types/app/api/github/projects/route.ts +351 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/README.md +8 -3
- package/Tools/CUELO_Setup/files/native-runtime-patch.js +3 -3
- package/Tools/OMP_Global_Config/agent/RULES.md +3 -1
- package/Tools/OMP_Global_Config/agent/TITLE_SYSTEM.md +17 -0
- package/Tools/OMP_Global_Config/agent/extensions/jev-runtime.ts +11 -4
- package/Tools/OMP_Global_Config/agent/prompt-copies/RULES.en.md +4 -2
- package/Tools/OMP_Global_Config/agent/tools/git-finalizer/finalizer.ps1 +68 -31
- package/Tools/OMP_Global_Config/agent/tools/git-finalizer/index.ts +8 -6
- package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +1119 -129
- package/bin/docker-entrypoint.mjs +19 -0
- package/install.mjs +11 -7
- package/package.json +8 -7
- package/.next/static/chunks/6110-004be57c825af4d9.js +0 -1
- package/.next/static/chunks/9575-4a84cf066c2f1257.js +0 -22
- package/.next/static/chunks/app/api/agent/[id]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/attachment-settings/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/attachments/[id]/transcription/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/attachments/draft/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/attachments/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/display-settings/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/document-text/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/experiments/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/gpt6/handles/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/gpt6/reply/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/gpt6/token/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/gpt6/web6-session/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/home/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/live/call/[callId]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/live/character-voice/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/live/events/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/live/offer/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/live/voices/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/lounge/events/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/lounge/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/model-roles/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/models/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/office-avatars/[id]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/office-avatars/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/projects/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/runs/[runId]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/runs/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/settings/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/skills/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/theme/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/tool-image/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/update-maintenance/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/updates/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/web-access/recovery/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/web-access/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/web6/consults/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/app/office/page-424e244f1c7fcdc6.js +0 -1
- package/.next/static/chunks/app/page-b43b2b8679ed66e2.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-6b1496af498bb4fd.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6b1496af498bb4fd.js +0 -1
- package/.next/static/css/00f20b26266e86ed.css +0 -1
- package/.next/static/kRJ4zgHxJf680foSBrfpf/_buildManifest.js +0 -1
- /package/.next/static/{kRJ4zgHxJf680foSBrfpf → pzZcPiD8nl6i7i_Ne9Ko-}/_ssgManifest.js +0 -0
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
"/api/worktrees/route": "app/api/worktrees/route.js",
|
|
23
23
|
"/favicon.ico/route": "app/favicon.ico/route.js",
|
|
24
24
|
"/manifest.webmanifest/route": "app/manifest.webmanifest/route.js",
|
|
25
|
-
"/api/agent/[id]/events/route": "app/api/agent/[id]/events/route.js",
|
|
26
25
|
"/api/agent/running/route": "app/api/agent/running/route.js",
|
|
27
|
-
"/api/agent/new/route": "app/api/agent/new/route.js",
|
|
28
26
|
"/api/attachment-settings/route": "app/api/attachment-settings/route.js",
|
|
29
|
-
"/api/
|
|
27
|
+
"/api/agent/[id]/events/route": "app/api/agent/[id]/events/route.js",
|
|
28
|
+
"/api/agent/new/route": "app/api/agent/new/route.js",
|
|
30
29
|
"/api/attachments/draft/route": "app/api/attachments/draft/route.js",
|
|
31
|
-
"/api/attachments/route": "app/api/attachments/route.js",
|
|
30
|
+
"/api/attachments/[id]/transcription/route": "app/api/attachments/[id]/transcription/route.js",
|
|
32
31
|
"/api/auth/all-providers/route": "app/api/auth/all-providers/route.js",
|
|
32
|
+
"/api/attachments/route": "app/api/attachments/route.js",
|
|
33
33
|
"/api/auth/api-key/[provider]/route": "app/api/auth/api-key/[provider]/route.js",
|
|
34
34
|
"/api/auth/logout/[provider]/route": "app/api/auth/logout/[provider]/route.js",
|
|
35
35
|
"/api/auth/providers/route": "app/api/auth/providers/route.js",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"/api/display-settings/route": "app/api/display-settings/route.js",
|
|
38
38
|
"/api/document-text/route": "app/api/document-text/route.js",
|
|
39
39
|
"/api/experiments/route": "app/api/experiments/route.js",
|
|
40
|
+
"/api/github/projects/route": "app/api/github/projects/route.js",
|
|
40
41
|
"/api/gpt6/handles/route": "app/api/gpt6/handles/route.js",
|
|
41
42
|
"/api/gpt6/reply/route": "app/api/gpt6/reply/route.js",
|
|
42
43
|
"/api/gpt6/token/route": "app/api/gpt6/token/route.js",
|
|
@@ -44,22 +45,22 @@
|
|
|
44
45
|
"/api/live/call/[callId]/route": "app/api/live/call/[callId]/route.js",
|
|
45
46
|
"/api/live/character-voice/route": "app/api/live/character-voice/route.js",
|
|
46
47
|
"/api/live/events/route": "app/api/live/events/route.js",
|
|
47
|
-
"/api/live/offer/route": "app/api/live/offer/route.js",
|
|
48
48
|
"/api/live/voices/route": "app/api/live/voices/route.js",
|
|
49
|
+
"/api/live/offer/route": "app/api/live/offer/route.js",
|
|
49
50
|
"/api/lounge/events/route": "app/api/lounge/events/route.js",
|
|
50
51
|
"/api/lounge/route": "app/api/lounge/route.js",
|
|
51
52
|
"/api/model-roles/route": "app/api/model-roles/route.js",
|
|
52
|
-
"/api/mcp/route": "app/api/mcp/route.js",
|
|
53
53
|
"/api/models-config/catalog/route": "app/api/models-config/catalog/route.js",
|
|
54
54
|
"/api/models-config/discover/route": "app/api/models-config/discover/route.js",
|
|
55
55
|
"/api/models-config/route": "app/api/models-config/route.js",
|
|
56
|
+
"/api/mcp/route": "app/api/mcp/route.js",
|
|
56
57
|
"/api/models-config/test/route": "app/api/models-config/test/route.js",
|
|
57
|
-
"/api/models/route": "app/api/models/route.js",
|
|
58
58
|
"/api/office-avatars/[id]/route": "app/api/office-avatars/[id]/route.js",
|
|
59
|
+
"/api/models/route": "app/api/models/route.js",
|
|
59
60
|
"/api/office-avatars/route": "app/api/office-avatars/route.js",
|
|
61
|
+
"/api/runs/[runId]/route": "app/api/runs/[runId]/route.js",
|
|
60
62
|
"/api/plugins/route": "app/api/plugins/route.js",
|
|
61
63
|
"/api/project-trust/route": "app/api/project-trust/route.js",
|
|
62
|
-
"/api/runs/[runId]/route": "app/api/runs/[runId]/route.js",
|
|
63
64
|
"/api/runs/route": "app/api/runs/route.js",
|
|
64
65
|
"/api/sessions/[id]/export/route": "app/api/sessions/[id]/export/route.js",
|
|
65
66
|
"/api/sessions/route": "app/api/sessions/route.js",
|
|
@@ -69,13 +70,13 @@
|
|
|
69
70
|
"/api/skills/check/route": "app/api/skills/check/route.js",
|
|
70
71
|
"/api/skills/install/route": "app/api/skills/install/route.js",
|
|
71
72
|
"/api/skills/route": "app/api/skills/route.js",
|
|
73
|
+
"/api/theme/route": "app/api/theme/route.js",
|
|
72
74
|
"/api/skills/update/route": "app/api/skills/update/route.js",
|
|
73
75
|
"/api/skills/search/route": "app/api/skills/search/route.js",
|
|
74
|
-
"/api/theme/route": "app/api/theme/route.js",
|
|
75
76
|
"/api/updates/route": "app/api/updates/route.js",
|
|
76
77
|
"/api/update-maintenance/route": "app/api/update-maintenance/route.js",
|
|
77
|
-
"/api/web-access/recovery/route": "app/api/web-access/recovery/route.js",
|
|
78
78
|
"/api/web-access/route": "app/api/web-access/route.js",
|
|
79
|
+
"/api/web-access/recovery/route": "app/api/web-access/recovery/route.js",
|
|
79
80
|
"/api/web6/consults/route": "app/api/web6/consults/route.js",
|
|
80
81
|
"/page": "app/page.js",
|
|
81
82
|
"/recover/page": "app/recover/page.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";exports.id=1008,exports.ids=[1008],exports.modules={2632:(a,b,c)=>{c.d(b,{G2:()=>d});function d(a,b){return a&&(void 0!==a.parentToolCallId&&void 0!==b.parentToolCallId?a.parentToolCallId===b.parentToolCallId:void 0===a.sessionFile||void 0===b.sessionFile||a.sessionFile===b.sessionFile)?{...b,index:a.index,agent:a.agent,agentSource:a.agentSource,description:a.description??b.description,task:a.task??b.task,assignment:a.assignment??b.assignment,sessionFile:b.sessionFile??a.sessionFile,parentToolCallId:b.parentToolCallId??a.parentToolCallId}:b}},6539:(a,b,c)=>{c.d(b,{BD:()=>d,hw:()=>g,p8:()=>e});let d="live-transcript";function e(a){if(!a||"object"!=typeof a||!("speaker"in a))return;let b=a.speaker;if(!b||"object"!=typeof b)return;let{alias:c,mode:d}=b;if("string"==typeof c&&""!==c.trim()&&("character"===d||"native"===d))return{alias:c,mode:d}}let f={user:"User (live voice):\n",assistant:"Voice assistant (live voice):\n"};function g(a,b){if(!b||"object"!=typeof b||!("role"in b))return null;let c=b.role;if("user"!==c&&"assistant"!==c||"string"!=typeof a)return null;let d=f[c];if(!a.startsWith(d))return null;let e=a.slice(d.length).trim();return e?{role:c,text:e}:null}RegExp("^(?:아|어|음|응|네|자|그럼|이제|일단|그만|좀|알았어|알겠어|아니|그래)*(?:(?:통화|전화)(?:를|좀|그만)*)?(?:좀|그만)*(?:끊어|끊어봐|끊을게|끊자|끊겠습니다|끊으라고)(?:줘|주세요|요)?$|^(?:아|어|음|응|네|자|그럼|이제|일단|그만|좀|알았어|알겠어|아니|그래)*(?:통화|전화)(?:를|좀|그만)*(?:종료|종료해|종료해봐|종료할게|종료하자|종료하라고)(?:줘|주세요|요)?$","u")},7561:(a,b,c)=>{c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},12144:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>ad,HG:()=>ae,OF:()=>ag});var e=c(63411),f=c(92582),g=c(33594),h=c(94285),i=c(59895),j=c(28315),k=c(25167),l=c(14882),m=c(1740),n=c(9655),o=c(82512),p=c(78310),q=c(3330),r=c(34722),s=c(43696),t=c(90431),u=c(26854),v=c(55511),w=c(29021),x=c(33873),y=c(18437);c(15395);var z=c(88250),A=c(96515),B=c(69453),C=c(15253),D=c(18778),E=c(96942),F=c(72107),G=c(84240),H=c(79055),I=c(14916),J=c(61024),K=c(42556),L=c(38726),M=c(2632),N=c(74407),O=c(57856),P=a([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,A,B,E,F,G,K,L]);[e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,A,B,E,F,G,K,L]=P.then?(await P)():P;let ah=new Set(["agent_start","agent_end","agent_settled","auto_compaction_start","auto_compaction_end","compaction_start","compaction_end"]),ai=new Set(["agent_end","agent_settled","auto_compaction_end","compaction_end"]),aj={abort:!0,extension_ui_input:!0,extension_ui_response:!0,get_commands:!0,get_last_assistant_text:!0,get_session_stats:!0,get_state:!0,get_subagent_messages:!0,get_subagents:!0,get_tools:!0},ak={bash:!0,compact:!0,follow_up:!0,fork:!0,handoff:!0,prompt:!0,steer:!0},al={set_model:!0,set_role_model:!0,set_thinking_level:!0,set_thinking_ceiling:!0,set_fast_mode:!0};async function Q(a,b){let c=a.modelRegistry.authStorage;if(!c?.oauth)return{ok:!1,reason:"이 세션은 OAuth 계정 목록을 읽을 수 없습니다."};try{return await c.reload?.(),{ok:!0,accounts:c.oauth.accounts(b,a.sessionId)}}catch(a){return{ok:!1,reason:`계정 목록을 읽지 못했습니다: ${a instanceof Error?a.message:String(a)}`}}}async function R(a,b){let c=await Q(a,b);return c.ok?{ok:!0,snapshot:{provider:b,credentialId:c.accounts.find(a=>a.active)?.credentialId}}:{ok:!1,reason:c.reason}}async function S(a,b){if(!b)return!1;let c=a.modelRegistry.authStorage;if(!c)return!1;try{if(void 0!==b.credentialId)return c.sessions?.pin(b.provider,a.sessionId,b.credentialId)??!1;return c.sessions?.release(b.provider,a.sessionId)??!1}catch{return!1}}async function T(a,b,c){if(!Number.isSafeInteger(c)||c<0)return{ok:!1,reason:`OAuth 저장 위치 ${String(c)}가 올바르지 않습니다.`};if(!a.modelRegistry.authStorage?.sessions)return{ok:!1,reason:"이 세션은 OAuth 계정 pin을 지원하지 않습니다."};let d=await Q(a,b);if(!d.ok)return{ok:!1,reason:d.reason};if(0===d.accounts.length)return{ok:!1,reason:"저장된 OAuth 계정이 없습니다."};let e=d.accounts.find((a,b)=>(Number.isInteger(a.position)?a.position:b)===c);if(!e)return{ok:!1,reason:`${b} OAuth 저장 위치 ${c}의 계정이 없습니다.`};let f=!1;try{f=a.modelRegistry.authStorage.sessions.pin(b,a.sessionId,e.credentialId)}catch{f=!1}if(!f)return{ok:!1,reason:`${b} OAuth 저장 위치 ${c} 계정을 이 세션의 선호 계정으로 설정하지 못했습니다.`};let g=await Q(a,b),h=g.ok?g.accounts.find((a,b)=>(Number.isInteger(a.position)?a.position:b)===c):void 0;return h?.active!==!0?{ok:!1,reason:`${b} OAuth 저장 위치 ${c}이 이 세션의 선호 계정으로 설정되지 않았습니다.`}:{ok:!0}}async function U(a,b){let c=await W(a,b.previousModel,b.previousRole),d=void 0===b.account||await S(a,b.account),e=!0;if(void 0!==b.previousThinking&&a.configuredThinkingLevel()!==b.previousThinking){try{a.setThinkingLevel(b.previousThinking)}catch{}e=a.configuredThinkingLevel()===b.previousThinking}return{model:c,account:d,thinking:e}}function V(a){let b=[];return a.model||b.push("모델"),a.account||b.push("계정 선호"),a.thinking||b.push("thinking 강도"),0===b.length?"모델\xb7계정\xb7강도를 되돌렸습니다.":`${b.join("\xb7")} 복원에 실패했습니다 — 이전 상태로 돌아가지 않았습니다.`}async function W(a,b,c){if(!b)return!1;let d=a.model;if(d?.provider===b.provider&&d?.id===b.id)return!0;try{return await a.setModel(b,c),!0}catch{return!1}}let am=Object.fromEntries(I.C1.map(a=>[a,!0]));class an extends f.Theme{constructor(){super({thinkingXhigh:""},{},"truecolor","unicode",{})}fg(...[,a]){return a}bg(...[,a]){return a}bold(a){return a}italic(a){return a}underline(a){return a}inverse(a){return a}strikethrough(a){return a}getFgAnsi(){return""}getBgAnsi(){return""}getThinkingBorderColor(){return a=>a}getBashModeBorderColor(){return a=>a}}let ao=new an,ap=new u.KeybindingsManager(u.TUI_KEYBINDINGS);function X(a,b){if(0===b.length)return[];let c=a.getAllToolNames().filter(a=>!0!==am[a]);return[...new Set([...b,...c])]}function Y(a,b,c){let d=c.name.trim();!d||b.has(d)||(b.add(d),a.push({...c,name:d}))}let aq=["fork","goal"];async function Z(a){let b=[],c=new Set;for(let a of aq){let d=i.BUILTIN_SLASH_COMMAND_DEFS.find(b=>b.name===a);if(!d)continue;let e=d.inlineHint;Y(b,c,{name:d.name,aliases:d.aliases,description:d.description,source:"builtin",...e?{input:{hint:e}}:{},...d.subcommands?{subcommands:d.subcommands}:{}})}for(let d of(await (0,g.buildAvailableSlashCommands)(a)))Y(b,c,d);for(let d of a.promptTemplates)Y(b,c,{name:d.name,description:d.description,source:"prompt",...d.source?{path:d.source}:{}});return b}function $(a){let b="asyncJobManager"in a?a.asyncJobManager:void 0;if(b&&"object"==typeof b&&"getRunningJobs"in b&&"function"==typeof b.getRunningJobs&&"hasPendingDeliveries"in b&&"function"==typeof b.hasPendingDeliveries&&"waitForAll"in b&&"function"==typeof b.waitForAll)return b}async function _(a,b){let{promise:c,resolve:d}=Promise.withResolvers(),e=setTimeout(()=>d(!1),Math.max(0,b-Date.now()));try{return await Promise.race([a.then(()=>!0),c])}finally{clearTimeout(e)}}class ar{constructor(a,b){this.inner=a,this.listeners=[],this.pendingUiResponses=new Map,this.keepAliveListeners=new Set,this.pendingUiRequests=new Map,this.activeCustomUis=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.modelMutations=0,this.presetMutation=!1,this.handoffRunning=!1,this.compactionStarted=null,this.extensionsBound=!1,this.extensionBindingPromise=null,this.extensionBindingError=null,this.forceEmptySystemPrompt=!1,this.unsubscribe=null,this.idleTimer=null,this.onDestroyCallback=null,this.shutdownPromise=null,this.subagentHistory=new Map,this.goalModeController=null,this._alive=!0,this.closing=!1,this.projectCodeLoaded=!1,this.backgroundSettleWatch=null,this.subagents=new s.RpcSubagentRegistry(b,a=>{this.rememberSubagentFrame(a),this.emit(a),this.resetIdleTimer(),af()}),this.subagents.setSubscriptionLevel("progress")}rememberSubagentSnapshot(a){if(this.subagentHistory.set(a.id,(0,M.G2)(this.subagentHistory.get(a.id),a)),this.subagentHistory.size<=128)return;let b=[...this.subagentHistory.values()].filter(a=>"pending"!==a.status&&"running"!==a.status).sort((a,b)=>a.lastUpdate-b.lastUpdate);for(;this.subagentHistory.size>128&&b.length>0;){let a=b.shift();a&&this.subagentHistory.delete(a.id)}}rememberSubagentFrame(a){if("subagent_progress"===a.type){let b=a.payload,c=b?.progress?.id;if(!c)return;let d=this.subagents.getSubagents().find(a=>a.id===c);d&&this.rememberSubagentSnapshot(d);return}if("subagent_lifecycle"!==a.type)return;let b=a.payload;if(!b?.id||!b.status)return;let c=this.subagents.getSubagents().find(a=>a.id===b.id);if("started"===b.status){c&&this.rememberSubagentSnapshot(c);return}let d=c??this.subagentHistory.get(b.id),e="failed"===b.status?"failed":"aborted"===b.status?"aborted":"completed";this.rememberSubagentSnapshot({id:b.id,index:b.index??d?.index??0,agent:b.agent??d?.agent??b.id,agentSource:b.agentSource??d?.agentSource??"bundled",description:b.description??d?.description,status:e,task:d?.task,assignment:d?.assignment,sessionFile:b.sessionFile??d?.sessionFile,lastUpdate:Date.now(),parentToolCallId:b.parentToolCallId??d?.parentToolCallId,progress:d?.progress?{...d.progress,status:e}:void 0})}getSubagentSnapshots(){for(let a of this.subagents.getSubagents())this.rememberSubagentSnapshot(a);let a=new Map(this.subagentHistory);for(let b of this.subagents.getSubagents())a.has(b.id)||a.set(b.id,b);return[...a.values()].sort((a,b)=>{let c="pending"===a.status||"running"===a.status,d="pending"===b.status||"running"===b.status;return c!==d?c?-1:1:c?a.index-b.index||a.id.localeCompare(b.id):b.lastUpdate-a.lastUpdate||a.id.localeCompare(b.id)})}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}get cwd(){return this.inner.sessionManager.getCwd()}isAlive(){return this._alive}isWaitingForUser(){return this.pendingUiResponses.size>0}isRunning(){return this._alive&&(this.promptRunning||this.handoffRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning||this.subagents.getSubagents().length>0)}isSafelyIdle(){if(!this._alive||this.closing||this.isRunning()||this.pendingUiResponses.size>0)return!1;let a=$(this.inner);if(a&&(a.getRunningJobs().length>0||a.hasPendingDeliveries()))return!1;let b="hasPendingAsyncWork"in this.inner?this.inner.hasPendingAsyncWork:void 0;if("function"==typeof b&&!0===b.call(this.inner))return!1;let c=this.inner.getGoalModeState?.();return!(c?.enabled&&"active"===c.goal.status)}watchBackgroundWork(){if(this.backgroundSettleWatch||!this._alive)return;let a=$(this.inner);a&&0!==a.getRunningJobs().length&&(this.backgroundSettleWatch=a.waitForAll().catch(()=>{}).finally(()=>{this.backgroundSettleWatch=null,this._alive&&af()}))}beginClose({onlyWhenIdle:a=!1}={}){return!this._alive||!(a&&!this.closing&&this.isRunning())&&(this.closing=!0,!0)}cancelClose(){this._alive&&!this.shutdownPromise&&(this.closing=!1)}bindToolUiContext(a){a(this.createExtensionUiContext(),!0)}start(){this.syncPlanModeFromSession(),this.goalMode.restore().catch(a=>{console.error("[cuelo] failed to restore goal mode:",a instanceof Error?a.message:a)}),this.unsubscribe=this.inner.subscribe(a=>{if("agent_end"===a.type&&(0,B.mD)(),ai.has(a.type)&&this.resetIdleTimer(),"auto_compaction_start"===a.type||"compaction_start"===a.type){let b="string"==typeof a.reason?a.reason:null;this.compactionStarted={at:this.compactionStarted?.at??Date.now(),reason:b??this.compactionStarted?.reason??null}}else("auto_compaction_end"===a.type||"compaction_end"===a.type)&&(this.compactionStarted=null);this.emit(a),ah.has(a.type)&&af(),this.goalMode.handleSessionEvent(a).catch(a=>{console.error("[cuelo] goal mode failed to handle a session event:",a instanceof Error?a.message:a)})}),this.resetIdleTimer(),af()}setForceEmptySystemPrompt(a){this.forceEmptySystemPrompt=a,this.applyForcedEmptySystemPrompt()}beginExtensionBinding(a={}){this.ensureExtensionsBound(a).catch(a=>{console.error("[cuelo] failed to dispatch session_start to extensions:",a instanceof Error?a.message:a)})}async waitUntilReady(){await this.waitForExtensionsBound()}ensureExtensionsBound(a={}){return(a.forceEmptySystemPrompt&&(this.forceEmptySystemPrompt=!0),this.extensionsBound)?(this.applyForcedEmptySystemPrompt(),Promise.resolve()):(this.extensionBindingPromise||(this.extensionBindingError=null,this.extensionBindingPromise=(async()=>{this._alive&&(await (0,n.initializeExtensions)(this.inner,{uiContext:this.createExtensionUiContext(),reportSendError:(a,b)=>this.emit({type:"extension_error",extensionPath:a,event:"send",error:b.message}),reportRuntimeError:a=>this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error}),onShutdown:()=>this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"notify",notifyType:"warning",message:"Extension requested shutdown, but shutdown is not supported in CUELO."})}),this.extensionsBound=!0,this.applyForcedEmptySystemPrompt(),console.log(`[cuelo] session_start dispatched to extensions for session ${this.inner.sessionId}`))})().catch(a=>{throw this.extensionBindingError=a,a})),this.extensionBindingPromise)}async waitForExtensionsBound(){try{this.extensionBindingPromise&&await this.extensionBindingPromise}catch(a){throw a instanceof Error?a:Error(String(a))}if(this.extensionBindingError)throw this.extensionBindingError instanceof Error?this.extensionBindingError:Error(String(this.extensionBindingError))}shouldWaitForExtensions(a){return"prompt"===a||"steer"===a||"follow_up"===a||"handoff"===a||"get_commands"===a||"execute_slash_command"===a||"goal"===a}async withFinalRunningNotification(a){try{return await a()}finally{this.resetIdleTimer(),af()}}async shutdownAfterCommittedFork(a){try{await this.shutdown()}catch(b){console.error(`[cuelo] fork created session ${a}, but wrapper shutdown failed:`,b instanceof Error?b.message:b)}}applyForcedEmptySystemPrompt(){this.forceEmptySystemPrompt&&this.inner.agent.state&&(this.inner.agent.state.systemPrompt=[])}get goalMode(){return this.goalModeController||(this.goalModeController=new K.zd(this.inner,{isBusy:()=>this.promptRunning||this.handoffRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning,runContinuation:a=>this.runGoalContinuation(a),onStatusChange:a=>this.emit({type:"goal_status",status:a})})),this.goalModeController}async runGoalContinuation(a){this.promptRunning=!0,af();try{await this.inner.promptCustomMessage({customType:"goal-continuation",content:a,display:!1,attribution:"user"})}catch(a){throw this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),a}finally{this.promptRunning=!1,this.resetIdleTimer(),this.emit({type:"prompt_done"}),af()}}syncPlanModeFromSession(){let a=this.inner.getPlanModeState?.();if(!a){let b,c=this.inner.sessionManager.getEntries();for(let a=c.length-1;a>=0;a-=1)if(c[a]?.type==="mode_change"){b=c[a];break}let d=b?.data?.planFilePath;b?.mode==="plan"&&"string"==typeof d&&d.length>0&&(a={enabled:!0,planFilePath:d,workflow:b.data?.workflow==="sequential"?"sequential":"parallel",reentry:!0},this.inner.setPlanModeState?.(a))}a?.enabled&&this.inner.setPlanProposalHandler?.(a=>this.handlePlanProposal(a))}async handlePlanProposal(a){let b=this.inner.getPlanModeState?.();if(!b?.enabled||!this.inner.preparePlanForReview)throw Error("Plan mode is not active.");let c=await this.inner.preparePlanForReview(a),d=c.details?.planFilePath,e=c.details?.title;if(!d||!e)throw Error("The proposed plan could not be resolved.");let f=await (0,o.readPlanFile)(d,{cwd:this.cwd,localProtocolOptions:{getArtifactsDir:()=>this.inner.sessionManager.getArtifactsDir(),getSessionId:()=>this.inner.sessionManager.getSessionId()}});if(!f?.trim())throw Error(`Plan file not found at ${d}`);let g=await this.requestExtensionUi({method:"plan_review",title:e,planFilePath:d,planContent:f},JSON.stringify({action:"refine"}),a=>"value"in a?a.value:JSON.stringify({action:"refine"})),h={};try{h=JSON.parse(g)}catch{}let i={planFilePath:d,title:e,planExists:!0};if("approve"===h.action)return this.inner.setPlanReferencePath?.(d),this.inner.setPlanProposalHandler?.(null),this.inner.setPlanModeState?.(void 0),this.inner.sessionManager.appendModeChange("none"),{content:[{type:"text",text:`Plan approved at ${d}. Plan mode exited; proceed with the implementation.`}],details:i};b.planFilePath!==d&&(this.inner.setPlanModeState?.({...b,planFilePath:d}),this.inner.sessionManager.appendModeChange("plan",{planFilePath:d}));let j="string"==typeof h.feedback?h.feedback.trim():"";return{content:[{type:"text",text:["Plan refinement requested.",j?`User feedback:
|
|
2
2
|
${j}`:"",`Update the plan file, then write ${e} to xd://propose again when ready.`].filter(Boolean).join("\n\n")}],details:i}}publishSessionSnapshot(a,b){this.emit({type:"session_snapshot",sessionId:this.sessionId,entryId:a,context:b})}emit(a){for(let b of this.listeners)b(a)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.keepAliveListeners.size>0||this.isRunning()?this.resetIdleTimer():this.shutdown().catch(a=>{console.error("[pi-web] failed to shut down idle session:",a instanceof Error?a.message:a)})},6e5)}persistBashOnlySession(){let a=this.inner.sessionManager,b=a.getSessionFile();if(!b||(0,w.existsSync)(b))return;let c=a.getHeader();if(!c)return;let d=[c,...a.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,w.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"}),a.flushed=!0,(0,B.O8)(this.inner.sessionId,b)}onEvent(a,b={}){for(let c of(this.listeners.push(a),b.keepAlive&&(this.keepAliveListeners.add(a),this.resetIdleTimer()),this.pendingUiRequests.values()))a(c);return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1),this.keepAliveListeners.delete(a)&&0===this.keepAliveListeners.size&&this._alive&&this.resetIdleTimer()}}onDestroy(a){this.onDestroyCallback=a}async sendInternalPrompt(a){return this.send({type:"prompt",message:a},!0)}async emitGenuineUserInput(a,b){let c=this.inner.extensionRunner;if(!c?.hasHandlers?.("input"))return{text:a,images:b};let d=await c.emitInput?.(a,b,"rpc");return d?!0===d.handled?(console.log(`[cuelo] input event consumed by an extension for session ${this.inner.sessionId}`),null):{text:void 0!==d.text?d.text.trim():a,images:void 0!==d.images?d.images:b}:{text:a,images:b}}async send(a,b=!1){this.resetIdleTimer();let c=a.type;if(this.shouldWaitForExtensions(c)&&await this.waitForExtensionsBound(),this.closing&&!0===ak[c])throw Error("Session is closing");if(this.handoffRunning&&!0!==aj[c])throw Error("Cannot modify the session while a handoff is in progress");let d="set_model"===c&&(void 0!==a.thinkingLevel||void 0!==a.oauthPosition);if(!0===al[c]&&(this.presetMutation||d&&this.modelMutations>0))throw Error("Cannot change the model while another model change is in progress");if("prompt"===c&&!b&&this.presetMutation)throw Error("Cannot send a prompt while a Main preset is being applied");if(("prompt"===c||"steer"===c||"follow_up"===c)&&this.syncPlanModeFromSession(),"prompt"===c||"steer"===c||"follow_up"===c){let b=(0,y.kc)(a.images);if(b)throw Error(b)}switch(c){case"prompt":{if(this.inner.isBashRunning)throw Error("Cannot send a prompt while a shell command is running");this.goalMode.onUserPrompt();let c=a.message,d=a.images,e=a.streamingBehavior;if(!b&&void 0===e){let a=await this.emitGenuineUserInput(c,d);if(null===a||(c=a.text,d=a.images,!c&&!d?.length))return null}let f=(0,k.resolveRpcSkillInvocation)(this.inner,c),g=f?(0,j.buildSkillPromptMessage)(f.skill,f,"user").then(a=>this.inner.promptCustomMessage({customType:l.SKILL_PROMPT_MESSAGE_TYPE,content:d?.length?[{type:"text",text:a.message},...d]:a.message,display:!0,details:a.details,attribution:"user"},{...e?{streamingBehavior:e}:{},queueChipText:c})):this.inner.prompt(c,{...d?.length?{images:d}:{},...e?{streamingBehavior:e}:{},userInitiated:!0});return this.promptRunning=!0,af(),g.then(()=>{this.promptRunning=!1,this.resetIdleTimer(),e||this.emit({type:"prompt_done"}),af()}).catch(a=>{this.promptRunning=!1,this.resetIdleTimer(),(0,B.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),e||this.emit({type:"prompt_done"}),af()}),null}case"abort":return this.goalMode.onAbort(),await this.withFinalRunningNotification(()=>this.inner.abort()),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.inner.isBashRunning,isCompacting:this.inner.isCompacting,compaction:this.inner.isCompacting&&this.compactionStarted?{elapsedMs:Math.max(0,Date.now()-this.compactionStarted.at),reason:this.compactionStarted.reason}:null,isHandoffRunning:this.handoffRunning,autoCompactionEnabled:this.inner.autoCompactionEnabled,autoRetryEnabled:this.inner.autoRetryEnabled,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:this.inner.queuedMessageCount,queuedMessages:{steering:[...this.inner.getQueuedMessages().steering],followUp:[...this.inner.getQueuedMessages().followUp]},contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:[this.inner.agent.state?.systemPrompt??""].flat().join("\n"),thinkingLevel:this.inner.agent.state?.thinkingLevel??"off",configuredThinkingLevel:this.inner.configuredThinkingLevel()??"off",thinkingCeiling:this.inner.thinkingLevelCeiling??null,fastModeEnabled:this.inner.isFastModeEnabled(),fastModeActive:this.inner.isFastModeActive(),extensionStatuses:this.getExtensionStatuses(),extensionWidgets:this.getExtensionWidgets(),subagents:this.getSubagentSnapshots(),todoPhases:this.inner.getTodoPhases(),goal:this.goalMode.getStatus()}}case"get_subagents":return{subagents:this.getSubagentSnapshots()};case"get_subagent_messages":{let b=this.subagents.resolveSessionFile(a);return(0,s.readRpcSubagentTranscript)(b,a.fromByte)}case"set_model":{let{provider:b,modelId:c,role:d,oauthPosition:e,thinkingLevel:f}=a,g=void 0!==f||void 0!==e;this.modelMutations+=1,g&&(this.presetMutation=!0);try{let a,g=await (0,G.Ix)(this.inner.modelRegistry,b,c,{forceDiscovery:!0});if(g.miss)throw Error((0,H.zX)(g.miss));let h=g.model,i=this.inner.model,j=void 0!==e||void 0!==f?function(a){try{let b=a.sessionManager.getBranch();if(!Array.isArray(b))return;for(let a=b.length-1;a>=0;a-=1){let c=b[a];if(c?.type==="model_change")return"string"==typeof c.role?c.role:void 0}}catch{}}(this.inner):void 0,k=void 0!==f?this.inner.configuredThinkingLevel():void 0;if(void 0!==e){let b=await R(this.inner,h.provider);if(!b.ok)throw Error(`${b.reason} 계정 변경을 시작하지 않았습니다.`);a=b.snapshot}if(await this.inner.setModel(h,d),void 0!==e){let b=await T(this.inner,h.provider,e);if(!b.ok){let c=await U(this.inner,{previousModel:i,previousRole:j,previousThinking:k,account:a});throw Error(`${b.reason} ${V(c)}`)}}if(void 0!==f)try{this.inner.setThinkingLevel(f)}catch(d){let b=`thinking level ${f} 적용에 실패했습니다: ${d instanceof Error?d.message:String(d)}`,c=await U(this.inner,{previousModel:i,previousRole:j,previousThinking:k,account:a});throw Error(`${b} ${V(c)}`)}return(0,z.kn)(),(0,B.mD)(),{id:h.id,provider:h.provider,...d?{role:d}:{}}}finally{g&&(this.presetMutation=!1),this.modelMutations-=1}}case"set_role_model":{let b=a.role;this.modelMutations+=1;try{await (0,G.Ef)(this.inner.modelRegistry,(0,F.Ex)(this.inner.settings));let a=this.inner.resolveRoleModel(b);if(!a)throw Error(`No model configured for role "${b}"`);return await this.inner.setModel(a,b),(0,z.kn)(),(0,B.mD)(),{id:a.id,provider:a.provider,role:b}}finally{this.modelMutations-=1}}case"fork":{let b;if(this.inner.isBashRunning)throw Error("Cannot fork while a shell command is running");let c=this.inner.sessionManager,d=function(a,b){if("string"==typeof b&&b.length>0)return b;for(let b=a.length-1;b>=0;b-=1){let c=a[b];if(c?.type==="message"&&c.message?.role==="user"&&c.id)return c.id}}(c.getBranch(),a.entryId);if(!d)throw Error("No user message to fork from yet");let e=this.inner.sessionFile;if(!e)return{cancelled:!0};let g=c.getEntry(d);if(!g)throw Error("Invalid entry ID for forking");let h=c.getSessionDir();if(g.parentId){let a=(await f.SessionManager.open(e,h)).createBranchedSession(g.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=f.SessionManager.create(c.getCwd(),h);await a.newSession({parentSession:e}),await a.ensureOnDisk(),b=a.getSessionFile()}let i=(await f.SessionManager.open(b,h)).getSessionId();return(0,B.O8)(i,b),(0,B.mD)(),await this.shutdownAfterCommittedFork(i),{cancelled:!1,newSessionId:i}}case"handoff":{if(this.handoffRunning||this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot hand off while the session is busy");let b=a.customInstructions;this.handoffRunning=!0,af();try{if(!await this.inner.handoff(b))return{cancelled:!0};return(0,B.mD)(),{cancelled:!1}}finally{this.handoffRunning=!1,af()}}case"navigate_tree":if(this.inner.isBashRunning)throw Error("Cannot navigate while a shell command is running");return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;this.modelMutations+=1;try{return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),(0,B.mD)(),null}finally{this.modelMutations-=1}}case"set_thinking_ceiling":{let b=a.ceiling??null;if(null!==b&&!(0,N.KE)(b))throw Error(`Invalid thinking ceiling: ${String(b)}`);this.modelMutations+=1;try{this.inner.setThinkingLevelCeiling(b??void 0);let a=this.inner.sessionManager;return(0,N.hi)(a.getBranch())!==b&&a.appendCustomEntry(N.FR,{ceiling:b}),(0,B.mD)(),null}finally{this.modelMutations-=1}}case"set_fast_mode":if("boolean"!=typeof a.enabled)throw Error("set_fast_mode requires a boolean enabled");this.modelMutations+=1;try{let b=this.inner.setFastMode(a.enabled);if(a.enabled&&!b)throw Error("Fast mode is unavailable for the current model.");return(0,B.mD)(),{enabled:this.inner.isFastModeEnabled(),active:this.inner.isFastModeActive()}}finally{this.modelMutations-=1}case"compact":try{return await this.withFinalRunningNotification(()=>this.inner.compact(a.customInstructions))}finally{(0,B.mD)()}case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return await this.inner.sessionManager.setSessionName(b,"user"),(0,B.mD)(),null}case"get_session_stats":return{...this.inner.getSessionStats(),sessionName:this.inner.sessionManager.getSessionName()};case"get_last_assistant_text":return{text:this.inner.getLastAssistantText()??""};case"set_auto_compaction":return this.inner.setAutoCompactionEnabled(a.enabled),null;case"clear_queue":return this.inner.clearQueue();case"remove_queued_message":{let b=a.queue;if("string"!=typeof a.message)throw Error("message must be a string");if("steering"!==b&&"followUp"!==b)throw Error('queue must be "steering" or "followUp"');return{removed:this.inner.removeQueuedMessage(a.message,b)}}case"steer":{let b=a.images;var e,g=this.sessionId,i=a.message;try{(0,w.appendFileSync)((0,x.join)((0,f.getAgentDir)(),"steering-received.jsonl"),`${JSON.stringify({ts:Date.now(),sessionId:g??null,via:"steer",length:"string"==typeof i?i.length:0})}
|
|
3
|
-
`)}catch{}return await this.inner.steer(a.message,b?.length?b:void 0),null}case"follow_up":{let b=a.images;return await this.inner.followUp(a.message,b?.length?b:void 0),null}case"get_tools":{let a=new Set(this.inner.getActiveToolNames());return(e=this.inner).getAllToolNames().map(a=>({name:a,description:e.getToolByName(a)?.description??""})).map(b=>({name:b.name,description:b.description,active:a.has(b.name)}))}case"get_commands":return{commands:await Z(this.inner)};case"goal":return await this.goalMode.handleCommand(a.args??"");case"execute_slash_command":{let b=[],c=await (0,h.executeAcpBuiltinSlashCommand)(a.message,{session:this.inner,sessionManager:this.inner.sessionManager,settings:this.inner.settings,cwd:this.cwd,output:a=>{b.push(a)},refreshCommands:()=>{},reloadPlugins:async()=>{await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),await this.inner.reload(),await this.inner.refreshSkills?.(),this.applyForcedEmptySystemPrompt(),(0,z.kn)()}});if(!1===c)return{handled:!1,output:b};return{handled:!0,output:b,..."prompt"in c?{prompt:c.prompt}:{}}}case"set_tools":{let b=a.toolNames;return this.setForceEmptySystemPrompt(0===b.length),await this.inner.setActiveToolsByName(this.goalMode.reconcileToolNames(X(this.inner,b))),this.applyForcedEmptySystemPrompt(),null}case"reload":return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),await this.inner.reload(),await this.inner.refreshSkills?.(),this.applyForcedEmptySystemPrompt(),(0,z.kn)(),{success:!0};case"abort_compaction":return this.inner.abortCompaction(),null;case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"set_auto_retry":return this.inner.setAutoRetryEnabled(a.enabled),null;case"bash":{if(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext});af();try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,B.mD)(),af()}}case"abort_bash":return this.inner.abortBash(),null;default:throw Error(`Unsupported command: ${c}`)}}destroy(){if(this._alive){for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.goalModeController?.dispose(),this.subagents.dispose(),this.subagentHistory.clear(),this.keepAliveListeners.clear(),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear();try{this.inner.dispose?.()}finally{try{this.onDestroyCallback?.()}finally{af()}}}}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}await this.inner.extensionRunner?.emit?.({type:"session_shutdown",reason:"quit"})}finally{this.destroy()}})(),this.shutdownPromise):void 0}async stopBackgroundWorkForDrain(a){let b=Date.now()+a,c=function(a){let b="asyncJobManager"in a?a.asyncJobManager:void 0;if(b&&"object"==typeof b&&"cancelAll"in b&&"waitForAll"in b&&"function"==typeof b.cancelAll&&"function"==typeof b.waitForAll)return b}(this.inner);for(let a of(c?.cancelAll(void 0,t.ASYNC_JOB_MANAGER_SHUTDOWN_REASON),this.subagents.getSubagents()))p.AgentRegistry.global().get(a.id)?.session?.abort().catch(()=>{});let d=!c||await _(c.waitForAll(),b);for(;this.subagents.getSubagents().length>0&&Date.now()<b;)await function(){let{promise:a,resolve:b}=Promise.withResolvers();return setTimeout(b,100),a}();return d&&0===this.subagents.getSubagents().length}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}getCustomUiWidth(a){if(!a||"object"!=typeof a)return O.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return O.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):92}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){if("string"!=typeof b)return;let c=this.activeCustomUis.get(a);if(!c){"activity"===b&&this.pendingUiResponses.get(a)?.activity?.();return}try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=(0,v.randomUUID)(),d=this.getCustomUiWidth(b);return new Promise(b=>{let e=!1,f=(0,O.TQ)(()=>{let a=this.activeCustomUis.get(c);a&&this.emitCustomUiRender(c,a)},d),g=a=>{e||(e=!0,b(a))},h=a=>{this.activeCustomUis.has(c)?this.closeCustomUi(c,a):g(a)};Promise.resolve().then(()=>a(f,ao,ap,h)).then(a=>{if(e){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void g(void 0);let b={component:a,width:d,resolve:a=>g(a),settled:!1};this.activeCustomUis.set(c,b),this.emitCustomUiRender(c,b)}).catch(a=>{e||(this.emit({type:"extension_error",extensionPath:`custom-ui:${c}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),g(void 0))})})}requestExtensionUi(a,b,c,d,e,f){let g;if(e?.aborted)return Promise.resolve(b);let h=(0,v.randomUUID)(),i={type:"extension_ui_request",id:h,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}},{promise:j,resolve:k}=Promise.withResolvers(),l=!1,m=()=>{clearTimeout(g),e?.removeEventListener("abort",o),this.pendingUiRequests.delete(h),this.pendingUiResponses.delete(h),af()},n=(a,b=!1)=>{l||(l=!0,m(),b&&this.emit({...i,closed:!0}),k(a))},o=()=>n(b,!0),p=()=>{g&&clearTimeout(g),g=setTimeout(()=>n(f?f():b,!0),d)};return d&&p(),e?.addEventListener("abort",o,{once:!0}),this.pendingUiRequests.set(h,i),this.pendingUiResponses.set(h,{resolve:a=>n(c(a)),cancel:()=>n(b),...d&&f?{activity:()=>{p();let a=this.pendingUiRequests.get(h);a&&this.pendingUiRequests.set(h,{...a,expiresAt:Date.now()+d})}}:{}}),af(),this.emit(i),j}createExtensionUiContext(){return{timeoutStartsOnPresentation:!1,askDialog:(a,b)=>this.requestExtensionUi({method:"ask",questions:a,...b?.timeout?{timeout:b.timeout}:{}},void 0,a=>{if("value"in a)try{return JSON.parse(a.value)}catch{return}},b?.timeout,b?.signal,()=>(function(a){let b=[];for(let c of a){let a=void 0===c.recommended?void 0:c.options[c.recommended];if(!a)return;b.push({id:c.id,question:c.question,options:c.options.map(a=>a.label),multi:c.multi??!1,selectedOptions:[a.label],timedOut:!0})}return{kind:"submit",results:b}})(a)),select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{(void 0===b||Array.isArray(b))&&(void 0===b?this.extensionWidgets.delete(a):this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return ao},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in CUELO extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}}function aa(){if(!globalThis.__ompSessions){globalThis.__ompSessions=new Map;let a=()=>globalThis.__ompSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompSessions}function ab(){return globalThis.__ompClosingSessionIds||(globalThis.__ompClosingSessionIds=new Set),globalThis.__ompClosingSessionIds}function ac(){return globalThis.__ompStartingSessionCwds||(globalThis.__ompStartingSessionCwds=new Map),globalThis.__ompStartingSessionCwds}function ad(a){return aa().get(a)}let as={sessions:()=>aa().values(),isStarting:a=>ac().has(a)};function ae(){let a=new Set;for(let[b,c]of aa())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function af(){let a=ae(),b=[];for(let[a,c]of aa())c.isWaitingForUser()&&b.push(c.sessionId||a);(0,J.p8)(a,b),(0,D.Uc)(as)}async function ag(a,b,c,d={}){let{toolNames:g,initialModel:h,thinkingLevel:i,accountOauthPosition:j}=d,k=aa(),l=(globalThis.__ompStartLocks||(globalThis.__ompStartLocks=new Map),globalThis.__ompStartLocks);if(ab().has(a))throw Error("Session is closing");let n=k.get(a);if(n?.isAlive())return{session:n,realSessionId:a};let o=l.get(a);if(o)return o;let s=(async()=>{let d,l;await (0,f.initTheme)(!1);let n=(0,f.getAgentDir)(),o=b?await f.SessionManager.open(b,void 0):(()=>{if(!c)throw Error("cwd is required for a new session");return f.SessionManager.create(c,void 0)})(),s=o.getCwd(),t=(d=ac(),l=(0,C.LV)(s),d.set(l,(d.get(l)??0)+1),()=>{let a=(d.get(l)??1)-1;a>0?d.set(l,a):d.delete(l)});try{let b,c,d=await (0,G.RD)(),l=await (0,G.ZU)(s);void 0!==g&&(b=0===g.length?[]:void 0);let[t,u]=await Promise.all([(0,f.discoverSessionExtensionPaths)({},s,l),(0,m.discoverCustomToolPaths)([],s)]),v=(0,C.qm)(s,n,{extensionPaths:t,customToolPaths:u}),w=await (0,E.D)(s),{modelRegistry:x}=d;await (0,G.Ef)(x,[...(0,F.Ex)(l),...h?[h]:[]]);let y=await (0,A.p)(x,e.cfgEnabledModels.get(l),l),z=(0,F.Ff)(l),H=h?void 0:z?.thinkingLevel,I=i??H,J=o.buildSessionContext().messages.length>0?{scopedModels:[...y.scopedModels],model:void 0,thinkingLevel:void 0}:(0,A.I)(y,{...h?{requestedModel:h}:{},...z?{defaultModel:z}:{},...I?{thinkingLevel:I}:{}}),K={cwd:s,agentDir:n,settings:l,sessionManager:o,modelRegistry:x,hasUI:!0,...J.model?{model:J.model}:{},...J.thinkingLevel?{thinkingLevel:J.thinkingLevel}:{},...J.scopedModels.length>0?{scopedModels:J.scopedModels}:{},...void 0!==b?{toolNames:b,restrictToolNames:!0}:{},...v??{}};(0,f.applyResolvedSystemPromptInputs)(K,w.systemPrompt,w.appendPrompt);let{session:M,eventBus:O,subagentEventBus:P,setToolUIContext:Q}=await (0,f.createAgentSession)(K);c=(0,N.hi)(M.sessionManager.getBranch()),null!==c&&M.setThinkingLevelCeiling(c,!1),g&&g.length>0&&await M.setActiveToolsByName(X(M,g));let R=new ar(M,O);if(R.projectCodeLoaded=void 0===v,R.bindToolUiContext(Q),void 0!==j){let a=M.model?.provider;if(!a)throw R.destroy(),Error("이 세션의 provider를 알 수 없어 OAuth 계정을 지정하지 못했습니다.");let b=await T(M,a,j);if(!b.ok)throw R.destroy(),Error(b.reason)}g?.length===0&&R.setForceEmptySystemPrompt(!0);let S=M.sessionId,U=ab();if(U.has(a)||U.has(S))throw R.destroy(),Error("Session is closing");if(R.projectCodeLoaded&&(0,D.rt)(s))throw R.destroy(),Error("Project trust was revoked while this session was starting. Please try again.");R.start();let V=M.sessionFile;V&&(0,B.O8)(S,V);let W=V?(0,L.Be)(V,M.getAgentId()??p.MAIN_AGENT_ID,(0,q.createPersistedSubagentReviverFactory)({session:M,authStorage:d.authStorage,modelRegistry:x,settings:l,enableLsp:void 0===b,eventBus:O,subagentEventBus:P}),()=>Math.trunc(Number(r.cfgTaskAgentIdleTtlMs.get(d.settings))||0)):void 0;return R.onDestroy(()=>{W?.(),k.delete(S)}),k.set(S,R),R.beginExtensionBinding({forceEmptySystemPrompt:g?.length===0}),{session:R,realSessionId:S}}finally{t()}})().finally(()=>{l.delete(a)});return l.set(a,s),s}d()}catch(a){d(a)}})},12969:(a,b,c)=>{c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},14e3:(a,b,c)=>{c.d(b,{w:()=>d});function d(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if("user"===c.role||"toolResult"===c.role)return!0;if("assistant"===c.role){if(!c.stopReason)return!0;if("aborted"===c.stopReason||"error"===c.stopReason||"length"===c.stopReason)break;return c.content.some(a=>"toolCall"===a.type)}}return!1}},14916:(a,b,c)=>{c.d(b,{C1:()=>d});let d=["read","bash","edit","write","grep","glob"];Object.fromEntries(d.map(a=>[a,!0]))},15253:(a,b,c)=>{c.d(b,{LV:()=>k,Y1:()=>m,er:()=>n,qm:()=>p});var d=c(29021),e=c(33873),f=c(82368),g=c(12969);let h=[".omp/extensions",".omp/hooks",".omp/tools",".pi/extensions",".pi/hooks",".pi/tools",".claude/extensions",".claude/hooks",".claude/tools",".agents/extensions",".agents/hooks",".agents/tools"],i=[".mcp.json",".omp/.mcp.json",".omp/mcp.json",".claude/.mcp.json",".claude/mcp.json",".cursor/mcp.json"];function j(a){return(0,e.join)(a,"cuelo-trusted-projects.json")}function k(a){let b=(0,e.resolve)(a);try{return(0,d.realpathSync)(b)}catch{return b}}function l(a){try{(0,f.adoptLegacyStateFile)(j(a),"omp-web-trusted-projects.json");let b=JSON.parse((0,d.readFileSync)(j(a),"utf8"));if("object"!=typeof b||null===b||Array.isArray(b))return{};return Object.fromEntries(Object.entries(b).filter(a=>"boolean"==typeof a[1]))}catch{return{}}}function m(a,b){return a&&function(a){if(!a)return!1;for(let b of h)if((0,d.existsSync)((0,e.join)(a,b)))return!0;for(let b of i)if((0,d.existsSync)((0,e.join)(a,b)))return!0;return!1}(a)?{requiresTrust:!0,trusted:!0===l(b)[k(a)]}:{requiresTrust:!1,trusted:!0}}function n(a,b){let c=m(a,b);return c.requiresTrust?(function(a,b,c){let e=l(b);e[k(a)]=c,(0,d.mkdirSync)(b,{recursive:!0}),(0,g.$)(j(b),`${JSON.stringify(e,null,2)}
|
|
3
|
+
`)}catch{}return await this.inner.steer(a.message,b?.length?b:void 0),null}case"follow_up":{let b=a.images;return await this.inner.followUp(a.message,b?.length?b:void 0),null}case"get_tools":{let a=new Set(this.inner.getActiveToolNames());return(e=this.inner).getAllToolNames().map(a=>({name:a,description:e.getToolByName(a)?.description??""})).map(b=>({name:b.name,description:b.description,active:a.has(b.name)}))}case"get_commands":return{commands:await Z(this.inner)};case"goal":return await this.goalMode.handleCommand(a.args??"");case"execute_slash_command":{let b=[],c=await (0,h.executeAcpBuiltinSlashCommand)(a.message,{session:this.inner,sessionManager:this.inner.sessionManager,settings:this.inner.settings,cwd:this.cwd,output:a=>{b.push(a)},refreshCommands:()=>{},reloadPlugins:async()=>{await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),await this.inner.reload(),await this.inner.refreshSkills?.(),this.applyForcedEmptySystemPrompt(),(0,z.kn)()}});if(!1===c)return{handled:!1,output:b};return{handled:!0,output:b,..."prompt"in c?{prompt:c.prompt}:{}}}case"set_tools":{let b=a.toolNames;return this.setForceEmptySystemPrompt(0===b.length),await this.inner.setActiveToolsByName(this.goalMode.reconcileToolNames(X(this.inner,b))),this.applyForcedEmptySystemPrompt(),null}case"reload":return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),await this.inner.reload(),await this.inner.refreshSkills?.(),this.applyForcedEmptySystemPrompt(),(0,z.kn)(),{success:!0};case"abort_compaction":return this.inner.abortCompaction(),null;case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"set_auto_retry":return this.inner.setAutoRetryEnabled(a.enabled),null;case"bash":{if(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext});af();try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,B.mD)(),af()}}case"abort_bash":return this.inner.abortBash(),null;default:throw Error(`Unsupported command: ${c}`)}}destroy(){if(this._alive){for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.goalModeController?.dispose(),this.subagents.dispose(),this.subagentHistory.clear(),this.keepAliveListeners.clear(),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear();try{this.inner.dispose?.()}finally{try{this.onDestroyCallback?.()}finally{af()}}}}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}await this.inner.extensionRunner?.emit?.({type:"session_shutdown",reason:"quit"})}finally{this.destroy()}})(),this.shutdownPromise):void 0}async stopBackgroundWorkForDrain(a){let b=Date.now()+a,c=function(a){let b="asyncJobManager"in a?a.asyncJobManager:void 0;if(b&&"object"==typeof b&&"cancelAll"in b&&"waitForAll"in b&&"function"==typeof b.cancelAll&&"function"==typeof b.waitForAll)return b}(this.inner);for(let a of(c?.cancelAll(void 0,t.ASYNC_JOB_MANAGER_SHUTDOWN_REASON),this.subagents.getSubagents()))p.AgentRegistry.global().get(a.id)?.session?.abort().catch(()=>{});let d=!c||await _(c.waitForAll(),b);for(;this.subagents.getSubagents().length>0&&Date.now()<b;)await function(){let{promise:a,resolve:b}=Promise.withResolvers();return setTimeout(b,100),a}();return d&&0===this.subagents.getSubagents().length}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}getCustomUiWidth(a){if(!a||"object"!=typeof a)return O.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return O.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):92}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){if("string"!=typeof b)return;let c=this.activeCustomUis.get(a);if(!c){"activity"===b&&this.pendingUiResponses.get(a)?.activity?.();return}try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=(0,v.randomUUID)(),d=this.getCustomUiWidth(b);return new Promise(b=>{let e=!1,f=(0,O.TQ)(()=>{let a=this.activeCustomUis.get(c);a&&this.emitCustomUiRender(c,a)},d),g=a=>{e||(e=!0,b(a))},h=a=>{this.activeCustomUis.has(c)?this.closeCustomUi(c,a):g(a)};Promise.resolve().then(()=>a(f,ao,ap,h)).then(a=>{if(e){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void g(void 0);let b={component:a,width:d,resolve:a=>g(a),settled:!1};this.activeCustomUis.set(c,b),this.emitCustomUiRender(c,b)}).catch(a=>{e||(this.emit({type:"extension_error",extensionPath:`custom-ui:${c}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),g(void 0))})})}requestExtensionUi(a,b,c,d,e,f){let g;if(e?.aborted)return Promise.resolve(b);let h=(0,v.randomUUID)(),i={type:"extension_ui_request",id:h,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}},{promise:j,resolve:k}=Promise.withResolvers(),l=!1,m=()=>{clearTimeout(g),e?.removeEventListener("abort",o),this.pendingUiRequests.delete(h),this.pendingUiResponses.delete(h),af()},n=(a,b=!1)=>{l||(l=!0,m(),b&&this.emit({...i,closed:!0}),k(a))},o=()=>n(b,!0),p=()=>{g&&clearTimeout(g),g=setTimeout(()=>n(f?f():b,!0),d)};return d&&p(),e?.addEventListener("abort",o,{once:!0}),this.pendingUiRequests.set(h,i),this.pendingUiResponses.set(h,{resolve:a=>n(c(a)),cancel:()=>n(b),...d&&f?{activity:()=>{p();let a=this.pendingUiRequests.get(h);a&&this.pendingUiRequests.set(h,{...a,expiresAt:Date.now()+d})}}:{}}),af(),this.emit(i),j}createExtensionUiContext(){return{timeoutStartsOnPresentation:!1,askDialog:(a,b)=>this.requestExtensionUi({method:"ask",questions:a,...b?.timeout?{timeout:b.timeout}:{}},void 0,a=>{if("value"in a)try{return JSON.parse(a.value)}catch{return}},b?.timeout,b?.signal,()=>(function(a){let b=[];for(let c of a){let a=void 0===c.recommended?void 0:c.options[c.recommended];if(!a)return;b.push({id:c.id,question:c.question,options:c.options.map(a=>a.label),multi:c.multi??!1,selectedOptions:[a.label],timedOut:!0})}return{kind:"submit",results:b}})(a)),select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{(void 0===b||Array.isArray(b))&&(void 0===b?this.extensionWidgets.delete(a):this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,v.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return ao},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in CUELO extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}}function aa(){if(!globalThis.__ompSessions){globalThis.__ompSessions=new Map;let a=()=>globalThis.__ompSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompSessions}function ab(){return globalThis.__ompClosingSessionIds||(globalThis.__ompClosingSessionIds=new Set),globalThis.__ompClosingSessionIds}function ac(){return globalThis.__ompStartingSessionCwds||(globalThis.__ompStartingSessionCwds=new Map),globalThis.__ompStartingSessionCwds}function ad(a){return aa().get(a)}let as={sessions:()=>aa().values(),isStarting:a=>ac().has(a)};function ae(){let a=new Set;for(let[b,c]of aa())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function af(){let a=ae(),b=[];for(let[a,c]of aa())c.isWaitingForUser()&&b.push(c.sessionId||a);(0,J.p8)(a,b),(0,D.Uc)(as)}async function ag(a,b,c,d={}){let{toolNames:g,initialModel:h,thinkingLevel:i,accountOauthPosition:j}=d,k=aa(),l=(globalThis.__ompStartLocks||(globalThis.__ompStartLocks=new Map),globalThis.__ompStartLocks);if(ab().has(a))throw Error("Session is closing");let n=k.get(a);if(n?.isAlive())return{session:n,realSessionId:a};let o=l.get(a);if(o)return o;let s=(async()=>{let d,l;await (0,f.initTheme)(!1);let n=(0,f.getAgentDir)(),o=b?await f.SessionManager.open(b,void 0):(()=>{if(!c)throw Error("cwd is required for a new session");return f.SessionManager.create(c,void 0)})(),s=o.getCwd(),t=(d=ac(),l=(0,C.LV)(s),d.set(l,(d.get(l)??0)+1),()=>{let a=(d.get(l)??1)-1;a>0?d.set(l,a):d.delete(l)});try{let b,c,d=await (0,G.RD)(),l=await (0,G.ZU)(s);void 0!==g&&(b=0===g.length?[]:void 0);let[t,u]=await Promise.all([(0,f.discoverSessionExtensionPaths)({},s,l),(0,m.discoverCustomToolPaths)([],s)]),v=(0,C.qm)(s,n,{extensionPaths:t,customToolPaths:u}),w=await (0,E.D)(s),{modelRegistry:x}=d;await (0,G.Ef)(x,[...(0,F.Ex)(l),...h?[h]:[]]);let y=await (0,A.p)(x,e.cfgEnabledModels.get(l),l),z=(0,F.Ff)(l),H=h?void 0:z?.thinkingLevel,I=i??H,J=o.buildSessionContext().messages.length>0?{scopedModels:[...y.scopedModels],model:void 0,thinkingLevel:void 0}:(0,A.I)(y,{...h?{requestedModel:h}:{},...z?{defaultModel:z}:{},...I?{thinkingLevel:I}:{}}),K={cwd:s,agentDir:n,settings:l,sessionManager:o,modelRegistry:x,hasUI:!0,...J.model?{model:J.model}:{},...J.thinkingLevel?{thinkingLevel:J.thinkingLevel}:{},...J.scopedModels.length>0?{scopedModels:J.scopedModels}:{},...void 0!==b?{toolNames:b,restrictToolNames:!0}:{},...v??{},...w.titlePrompt?{titleSystemPrompt:w.titlePrompt}:{}};(0,f.applyResolvedSystemPromptInputs)(K,w.systemPrompt,w.appendPrompt);let{session:M,eventBus:O,subagentEventBus:P,setToolUIContext:Q}=await (0,f.createAgentSession)(K);c=(0,N.hi)(M.sessionManager.getBranch()),null!==c&&M.setThinkingLevelCeiling(c,!1),g&&g.length>0&&await M.setActiveToolsByName(X(M,g));let R=new ar(M,O);if(R.projectCodeLoaded=void 0===v,R.bindToolUiContext(Q),void 0!==j){let a=M.model?.provider;if(!a)throw R.destroy(),Error("이 세션의 provider를 알 수 없어 OAuth 계정을 지정하지 못했습니다.");let b=await T(M,a,j);if(!b.ok)throw R.destroy(),Error(b.reason)}g?.length===0&&R.setForceEmptySystemPrompt(!0);let S=M.sessionId,U=ab();if(U.has(a)||U.has(S))throw R.destroy(),Error("Session is closing");if(R.projectCodeLoaded&&(0,D.rt)(s))throw R.destroy(),Error("Project trust was revoked while this session was starting. Please try again.");R.start();let V=M.sessionFile;V&&(0,B.O8)(S,V);let W=V?(0,L.Be)(V,M.getAgentId()??p.MAIN_AGENT_ID,(0,q.createPersistedSubagentReviverFactory)({session:M,authStorage:d.authStorage,modelRegistry:x,settings:l,enableLsp:void 0===b,eventBus:O,subagentEventBus:P}),()=>Math.trunc(Number(r.cfgTaskAgentIdleTtlMs.get(d.settings))||0)):void 0;return R.onDestroy(()=>{W?.(),k.delete(S)}),k.set(S,R),R.beginExtensionBinding({forceEmptySystemPrompt:g?.length===0}),{session:R,realSessionId:S}}finally{t()}})().finally(()=>{l.delete(a)});return l.set(a,s),s}d()}catch(a){d(a)}})},12969:(a,b,c)=>{c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},14e3:(a,b,c)=>{c.d(b,{w:()=>d});function d(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if("user"===c.role||"toolResult"===c.role)return!0;if("assistant"===c.role){if(!c.stopReason)return!0;if("aborted"===c.stopReason||"error"===c.stopReason||"length"===c.stopReason)break;return c.content.some(a=>"toolCall"===a.type)}}return!1}},14916:(a,b,c)=>{c.d(b,{C1:()=>d});let d=["read","bash","edit","write","grep","glob"];Object.fromEntries(d.map(a=>[a,!0]))},15253:(a,b,c)=>{c.d(b,{LV:()=>k,Y1:()=>m,er:()=>n,qm:()=>p});var d=c(29021),e=c(33873),f=c(82368),g=c(12969);let h=[".omp/extensions",".omp/hooks",".omp/tools",".pi/extensions",".pi/hooks",".pi/tools",".claude/extensions",".claude/hooks",".claude/tools",".agents/extensions",".agents/hooks",".agents/tools"],i=[".mcp.json",".omp/.mcp.json",".omp/mcp.json",".claude/.mcp.json",".claude/mcp.json",".cursor/mcp.json"];function j(a){return(0,e.join)(a,"cuelo-trusted-projects.json")}function k(a){let b=(0,e.resolve)(a);try{return(0,d.realpathSync)(b)}catch{return b}}function l(a){try{(0,f.adoptLegacyStateFile)(j(a),"omp-web-trusted-projects.json");let b=JSON.parse((0,d.readFileSync)(j(a),"utf8"));if("object"!=typeof b||null===b||Array.isArray(b))return{};return Object.fromEntries(Object.entries(b).filter(a=>"boolean"==typeof a[1]))}catch{return{}}}function m(a,b){return a&&function(a){if(!a)return!1;for(let b of h)if((0,d.existsSync)((0,e.join)(a,b)))return!0;for(let b of i)if((0,d.existsSync)((0,e.join)(a,b)))return!0;return!1}(a)?{requiresTrust:!0,trusted:!0===l(b)[k(a)]}:{requiresTrust:!1,trusted:!0}}function n(a,b){let c=m(a,b);return c.requiresTrust?(function(a,b,c){let e=l(b);e[k(a)]=c,(0,d.mkdirSync)(b,{recursive:!0}),(0,g.$)(j(b),`${JSON.stringify(e,null,2)}
|
|
4
4
|
`)}(a,b,!0),{requiresTrust:!0,trusted:!0}):c}function o(a,b){let c=(0,e.relative)((0,e.resolve)(b),(0,e.resolve)(a));return""===c||!(0,e.isAbsolute)(c)&&".."!==c&&!c.startsWith(`..${e.sep}`)&&!c.startsWith("../")}function p(a,b,c){let d=m(a,b);if(d.requiresTrust&&!d.trusted)return{preloadedExtensionPaths:c.extensionPaths.filter(b=>!o(b,a)),preloadedCustomToolPaths:c.customToolPaths.filter(b=>b.source?.level!=="project"&&!o(b.path,a)),enableMCP:!1}}},15395:(a,b,c)=>{c.d(b,{Ly:()=>g,YC:()=>f,we:()=>h});let d=/^att_[0-9a-f]{32}$/,e=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function f(a){return"string"==typeof a&&d.test(a)}function g(a){return"string"==typeof a&&e.test(a)}function h(a){return function(a){let b;if(!a.startsWith(i))return null;let c=a.indexOf("\n");if(c<0)return null;let d=a.slice(0,c);if(!d.endsWith(j))return null;try{b=JSON.parse(d.slice(i.length,-j.length))}catch{return null}if(!function(a){if(!a||"object"!=typeof a||!Number.isSafeInteger(a.userMessageLength)||(a.userMessageLength??-1)<0||!Array.isArray(a.documents)||0===a.documents.length||a.documents.length>3)return!1;let b=0,c=0;for(let d of a.documents){if(!d||"object"!=typeof d||"string"!=typeof d.name||0===d.name.length||"text/markdown"!==d.mimeType&&"text/plain"!==d.mimeType&&"application/pdf"!==d.mimeType||!Number.isSafeInteger(d.size)||(d.size??-1)<0||(d.size??0)>8388608||!Number.isSafeInteger(d.textLength)||(d.textLength??-1)<0||(d.textLength??0)>12e4)return!1;b+=d.size??0,c+=d.textLength??0}return b<=0x1000000&&c<=24e4}(b))return null;let e=c+1;if(!a.startsWith(k,e))return null;let f=(e+=k.length)+b.userMessageLength;if(f>a.length)return null;let g=a.slice(e,f);if(e=f,!a.startsWith(l,e))return null;e+=l.length;let h=[];for(let c=0;c<b.documents.length;c+=1){var m,n,o;let d=b.documents[c],f=(m=c,n=d,`
|
|
5
5
|
--- Begin attached document ${m+1}: ${JSON.stringify(n.name)} (${n.mimeType}, ${n.size} bytes) ---
|
|
6
6
|
`);if(!a.startsWith(f,e))return null;let g=(e+=f.length)+d.textLength;if(g>a.length)return null;let i=a.slice(e,g);e=g;let j=(o=c,`
|
|
@@ -12,4 +12,4 @@ Time spent: ${a=g.timeUsedSeconds,b=Math.max(0,Math.round(a)),c=Math.floor(b/360
|
|
|
12
12
|
|
|
13
13
|
${a.summary}`,timestamp:F(a.timestamp)};case"custom_message":if(a.customType===r.BD){let b=(0,r.hw)(a.content,a.details);if(b?.role==="user")return{role:"user",content:b.text,timestamp:F(a.timestamp)};if(b?.role==="assistant"){let c=(0,r.p8)(a.details);return{role:"assistant",content:[{type:"text",text:b.text}],model:"Codex Live",provider:"openai-codex",...c?{liveSpeaker:c}:{},stopReason:"stop",timestamp:F(a.timestamp)}}}if(a.customType===s.gt){let b="string"==typeof a.content?a.content:a.content.map(a=>"text"===a.type?a.text:"").join("\n");if(b.trim())return{role:"assistant",content:[{type:"text",text:b}],model:s.$f,provider:"web6",stopReason:"stop",timestamp:F(a.timestamp)}}return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:F(a.timestamp)};default:return null}}d()}catch(a){d(a)}})},72107:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ex:()=>j,Ff:()=>i});var e=c(73079),f=c(88692),g=c(96282),h=a([e,f,g]);function i(a){let b=(0,g.parseModelString)(a.getModelRole("default")??"");if(!b)return;let c=void 0===b.thinkingLevel||"auto"===b.thinkingLevel?void 0:b.thinkingLevel;return{provider:b.provider,modelId:b.id,...c?{thinkingLevel:c}:{}}}function j(a){let b=new Set,c=[];for(let d of(0,e.getKnownRoleIds)(a)){let e=function(a){if(!a)return;let b=a.indexOf("/");if(b<=0)return;let c=a.slice(b+1).split(":")[0];if(c)return{provider:a.slice(0,b),modelId:c}}(a.getModelRole(d));if(!e)continue;let f=`${e.provider}/${e.modelId}`;b.has(f)||(b.add(f),c.push(e))}return c}[e,f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},74407:(a,b,c)=>{c.d(b,{FR:()=>d,KE:()=>f,hi:()=>g});let d="cuelo-thinking-ceiling",e=["minimal","low","medium","high","xhigh","max"];function f(a){return"string"==typeof a&&e.includes(a)}function g(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(c?.type!=="custom"||c.customType!==d)continue;let e=c.data?.ceiling;return f(e)?e:null}return null}},79055:(a,b,c)=>{function d(a,b={}){let c=b.intervalMs??6e4,e=b.now??Date.now,f=new Map,g=new Map;return{recover:(b,d={})=>{let h=g.get(b);if(h)return h.then(a=>({...a,shared:!0}));let i=e(),j=f.get(b);if(!d.force&&void 0!==j&&i-j<c)return Promise.resolve({outcome:"throttled",shared:!1});f.set(b,i);let k=a.refreshProvider(b,"online").then(()=>({outcome:"refreshed",shared:!1})).catch(a=>({outcome:"failed",shared:!1,error:function(a){let b=[],c=a;for(let a=0;a<3&&void 0!==c;a+=1){if(c instanceof Error){b.push(c.message),c=c.cause;continue}if("object"==typeof c&&null!==c){let a=c;"string"==typeof a.message&&b.push(a.message),"string"==typeof a.code&&b.push(a.code),"number"==typeof a.status&&b.push(`HTTP ${a.status}`),c=a.cause;continue}b.push(String(c));break}let d=b.join(" "),e=d.match(/\b(?:HTTP\s*)?([45]\d{2})\b/i)?.[1];if("401"===e||"403"===e||/\b(?:api[- ]?key|credential|authentication|unauthorized|forbidden)\b/i.test(d))return e?`provider authentication failed (HTTP ${e})`:"provider authentication failed";let f=d.match(/\b(EAI_AGAIN|ECONNREFUSED|ECONNRESET|ENETUNREACH|ENOTFOUND|ETIMEDOUT|UND_ERR_CONNECT_TIMEOUT|UND_ERR_HEADERS_TIMEOUT|UND_ERR_BODY_TIMEOUT)\b/i)?.[1];return f?f.toUpperCase():/\b(?:timed?\s*out|timeout)\b/i.test(d)?"request timed out":e?`HTTP ${e}`:"discovery request failed"}(a)})).finally(()=>{g.get(b)===k&&g.delete(b)});return g.set(b,k),k}}}function e(a){return a.providerKnown?"failed"===a.recovery.outcome?`Model ${a.selector} is not in the model list and the discovery refresh for provider "${a.provider}" failed: ${a.recovery.error??"unknown error"}.`:"throttled"===a.recovery.outcome?`Model ${a.selector} is not in the model list. Discovery for provider "${a.provider}" was refreshed recently, so this lookup did not fetch again.`:`Model ${a.selector} is not in the model list after refreshing discovery for provider "${a.provider}".`:`Unknown model provider "${a.provider}" for ${a.selector}: the provider is not registered.`}c.d(b,{fw:()=>d,zX:()=>e})},81008:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{ABRUPT_RESUME_MESSAGE:()=>C,INTERRUPT_RESUME_MESSAGE:()=>B,effectiveServerOrigin:()=>w,ensureInterruptWatcher:()=>v,handleInterruptRequest:()=>s,recoverAbruptStop:()=>y,resumeInterruptedSessions:()=>t});var e=c(73024),f=c(48161),g=c(76760),h=c(12144),i=c(69453),j=c(14e3),k=c(61024),l=a([h,i]);[h,i]=l.then?(await l)():l;let z=/^[A-Za-z0-9_.-]{1,80}$/,A=/^[0-9a-f-]{36}$/,B="[자동 재개] CUELO 업데이트\xb7재시작 때문에 이 세션의 진행 중 작업이 중단(abort)됐다. 서버가 새 버전으로 다시 떴다. 중단 직전에 돌던 명령\xb7도구 결과는 사라졌을 수 있으니 파일\xb7프로세스 상태를 먼저 확인하고, 하던 작업을 이어서 진행한다. 그때 돌던 SubAgent(task child)도 멈췄지만 기록은 남아 있다. 결과를 받지 못한 child에는 먼저 `write agent://<id>`로 이어서 하라고 보내 되살리고, 되살아나지 않으면(isolated 작업 공간 등) 남은 파일 상태를 확인한 뒤 새로 맡긴다.",C="[자동 재개] CUELO 서버가 예기치 않게 종료돼 이 세션의 진행 중 작업이 중간에 끊겼다. 서버가 다시 떴다. 끊기기 직전에 돌던 명령\xb7도구 결과는 사라졌을 수 있다. 그 명령을 그대로 다시 실행하지 말고, 파일\xb7프로세스 상태를 먼저 확인한 뒤 하던 작업을 이어서 진행한다. 그때 돌던 SubAgent(task child)도 멈췄지만 기록은 남아 있다. 결과를 받지 못한 child에는 먼저 `write agent://<id>`로 이어서 하라고 보내 되살리고, 되살아나지 않으면 남은 파일 상태를 확인한 뒤 새로 맡긴다.";function m(){let a=process.env.CUELO_EXTERNAL_UPDATE_ROOT?.trim();return(0,g.join)((0,g.resolve)(a||(0,g.join)((0,f.homedir)(),".omp","external-update")),"interrupts")}function n(){return(0,g.join)(m(),"pending-resume.json")}function o(a){try{let b=JSON.parse((0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,""));return b&&"object"==typeof b?b:null}catch{return null}}function p(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0});let c=`${a}.${process.pid}.${Date.now()}.tmp`;try{(0,e.writeFileSync)(c,`${JSON.stringify(b,null,2)}
|
|
14
14
|
`,"utf8"),(0,e.renameSync)(c,a)}catch(a){try{(0,e.rmSync)(c,{force:!0})}catch{}throw a}}function q(a){return(a instanceof Error?a.message:String(a)).replace(/\s+/g," ").trim().slice(0,200)}function r(){let a=o(n());if(!a||1!==a.schemaVersion||!Array.isArray(a.sessionIds))return null;let b=a.sessionIds.filter(a=>"string"==typeof a&&A.test(a)),c=[];if(Array.isArray(a.failures))for(let b of a.failures){if(!b||"object"!=typeof b)continue;let a="string"==typeof b.sessionId?b.sessionId:"";A.test(a)&&c.push({sessionId:a,error:String(b.error??""),atUtc:String(b.atUtc??"")})}let d="string"==typeof a.requestId&&z.test(a.requestId)?a.requestId:void 0,e=Array.isArray(a.abruptSessionIds)?a.abruptSessionIds.filter(a=>"string"==typeof a&&A.test(a)&&b.includes(a)):[];return{schemaVersion:1,writerPid:Number(a.writerPid),...d?{requestId:d}:{},sessionIds:b,updatedAtUtc:String(a.updatedAtUtc??""),...c.length>0?{failures:c}:{},...e.length>0?{abruptSessionIds:e}:{}}}async function s(a,b){let c=m(),d=o((0,g.join)(c,"request.json")),f="string"==typeof d?.id?d.id:"";if(!z.test(f)||a.has(f)||b.has(f)||(0,e.existsSync)((0,g.join)(c,`${f}.ack.json`)))return!1;b.add(f);try{let b=Date.parse(String(d?.atUtc??"")),e=Date.now()-1e3*process.uptime();if(!Number.isFinite(b)||b<e)return!1;let i=new Set(Array.isArray(d?.excludeSessionIds)?d.excludeSessionIds.map(a=>String(a).toLowerCase()):[]),j=(0,h.HG)().filter(a=>A.test(a)&&!i.has(a)),k=r(),l=[...new Set([...k?.sessionIds??[],...j])].sort(),m=(k?.failures??[]).filter(a=>l.includes(a.sessionId)),o=(k?.abruptSessionIds??[]).filter(a=>l.includes(a));p(n(),{schemaVersion:1,writerPid:process.pid,requestId:f,sessionIds:l,updatedAtUtc:new Date().toISOString(),...m.length>0?{failures:m}:{},...o.length>0?{abruptSessionIds:o}:{}});let s=[],t=[];for(let a of j)try{await (0,h.A4)(a)?.send({type:"abort"}),s.push(a)}catch(b){t.push({sessionId:a,error:q(b)})}let u=[];return await Promise.all(j.map(async a=>{try{(await (0,h.A4)(a)?.stopBackgroundWorkForDrain(5e3)??!0)||u.push(a)}catch(b){u.push(a),t.push({sessionId:a,error:q(b)})}})),p((0,g.join)(c,`${f}.ack.json`),{schemaVersion:1,id:f,processId:process.pid,aborted:s,failed:t,unsettled:u.sort(),atUtc:new Date().toISOString()}),a.add(f),!0}finally{b.delete(f)}}let D=new Set,E="",F=null;async function t(){if(F)return F;let a=u().finally(()=>{F=null});return F=a,a}async function u(){let a=r();if(!a||a.writerPid===process.pid)return[];let b=a.requestId??`pid:${a.writerPid}`;b!==E&&(E=b,D=new Set);let c=[],d=new Map,f=()=>{try{!function(a,b){let c=r();if(!c||c.writerPid!==a.writerPid||c.requestId!==a.requestId)return;let d=c.sessionIds.filter(a=>!D.has(a));if(0===d.length)return(0,e.rmSync)(n(),{force:!0});let f=new Map;for(let a of c.failures??[])d.includes(a.sessionId)&&f.set(a.sessionId,a);for(let[a,c]of b)d.includes(a)&&f.set(a,c);let g={schemaVersion:1,writerPid:c.writerPid,...c.requestId?{requestId:c.requestId}:{},sessionIds:d,updatedAtUtc:new Date().toISOString()};f.size>0&&(g.failures=[...f.values()]);let h=(c.abruptSessionIds??[]).filter(a=>d.includes(a));h.length>0&&(g.abruptSessionIds=h),p(n(),g)}(a,d)}catch(a){console.error("[update-interrupt] pending save failed:",a)}};for(let b of a.sessionIds)if(!D.has(b))try{let d=(0,h.A4)(b),e=d?.isAlive()?d:await (async()=>{let a=await (0,i.os)(b);if(!a)throw Error(`session record not found: ${b}`);return(await (0,h.OF)(b,a,void 0)).session})();if(e.isRunning()){D.add(b),f();continue}let g=a.abruptSessionIds?.includes(b)===!0;if(g&&!(0,j.w)(e.inner.messages)){D.add(b),f();continue}await e.sendInternalPrompt(g?C:B),c.push(b),D.add(b),f()}catch(a){d.set(b,{sessionId:b,error:q(a),atUtc:new Date().toISOString()}),console.error(`[update-interrupt] resume failed ${b}:`,a)}return f(),c}function v(){let a=globalThis;if(a.__ompwebInterruptWatcher)return;a.__ompwebInterruptWatcher=!0;let b=new Set,c=new Set,d=!1,e=Date.now(),f=async()=>{e=Date.now(),await t()},g=async()=>{if(!d){d=!0;try{try{await s(b,c)}catch(a){console.error("[update-interrupt] request failed:",a)}if(Date.now()-e>=3e3)try{await f()}catch(a){console.error("[update-interrupt] resume failed:",a)}}finally{d=!1}}};setInterval(()=>void g(),1e3).unref?.(),setTimeout(()=>void g(),3e3).unref?.()}function w(){let a=Number(process.env.PORT);return!Number.isInteger(a)||a<=0?null:`port:${a}`}async function x(a){let b=await (0,i.os)(a);return!!b&&(0,j.w)((0,i.Uv)(await (0,i.DK)(b)).messages)}async function y(a={}){let b,c,d,e,f,g=void 0===a.origin?w():a.origin;if(!g)return{queued:[],skipped:[]};let h=(0,k.Q4)(g),i=(0,k.Ef)(g,h.startedAtMs,a.probe);if(!i)return{queued:[],skipped:[]};let j=a.isInterrupted??x,l=[],m=[];for(let a of i.runningSessionIds){if(!A.test(a)||i.waitingSessionIds.includes(a)){m.push(a);continue}try{(await j(a)?l:m).push(a)}catch(b){m.push(a),console.error(`[update-interrupt] abrupt-stop check failed ${a}:`,b)}}return l.length>0&&(b=r(),c=new Set(b?.sessionIds??[]),d=[...new Set([...c,...l])].sort(),e=[...new Set([...b?.abruptSessionIds??[],...l.filter(a=>!c.has(a))])].sort(),f=(b?.failures??[]).filter(a=>d.includes(a.sessionId)),p(n(),{schemaVersion:1,writerPid:b?.writerPid??(i.processId===process.pid?0:i.processId),requestId:b?.requestId??`abrupt-${i.startedAtMs}`,sessionIds:d,updatedAtUtc:new Date().toISOString(),...f.length>0?{failures:f}:{},abruptSessionIds:e})),(0,k.W4)(i,h.startedAtMs),l.length>0&&v(),{queued:l,skipped:m}}d()}catch(a){d(a)}})},82368:(a,b,c)=>{let{createHash:d,randomBytes:e,randomUUID:f,scryptSync:g,timingSafeEqual:h}=c(77598),{mkdirSync:i,readFileSync:j,renameSync:k,statSync:l,unlinkSync:m,writeFileSync:n}=c(73024),{homedir:o}=c(48161),{basename:p,dirname:q,join:r,resolve:s}=c(76760),t="cuelo-auth.json",u={algorithm:"scrypt",cost:16384,blockSize:8,parallelization:1,keyLength:64},v="0123456789ABCDEFGHJKMNPQRSTVWXYZ",w=/^[a-z0-9][a-z0-9._-]{0,63}$/;function x(a=process.env){if(a.PI_CODING_AGENT_DIR)return s(a.PI_CODING_AGENT_DIR);let b=r(o(),a.PI_CONFIG_DIR||".omp"),c=function(a){let b="string"==typeof a?a.trim():"";if(b&&"default"!==b)return w.test(b)&&!b.endsWith(".")?b:void 0}(void 0!==a.OMP_PROFILE?a.OMP_PROFILE:a.PI_PROFILE);return c?r(b,"profiles",c,"agent"):r(b,"agent")}function y(a=process.env){return a.CUELO_AUTH_FILE?s(a.CUELO_AUTH_FILE):r(x(a),t)}function z(a){return"string"!=typeof a?"A password is required.":a.length<8?"The password must be at least 8 characters long.":a.length>256?"The password must be at most 256 characters long.":0===a.trim().length?"The password cannot be only whitespace.":null}function A(a){let b=128*a.cost*a.blockSize*a.parallelization;return{N:a.cost,r:a.blockSize,p:a.parallelization,maxmem:Math.max(2*b,0x2000000)}}function B(a){var b;return!!a&&"object"==typeof a&&"scrypt"===a.algorithm&&"string"==typeof a.salt&&a.salt.length>0&&"string"==typeof a.hash&&a.hash.length>0&&Number.isInteger(b=a.cost)&&b>1&&(b&b-1)==0&&a.cost<=1048576&&Number.isInteger(a.blockSize)&&a.blockSize>=1&&a.blockSize<=32&&Number.isInteger(a.parallelization)&&a.parallelization>=1&&a.parallelization<=8&&Number.isInteger(a.keyLength)&&a.keyLength>=16&&a.keyLength<=128}function C(a,b=u){let c={...u,...b,algorithm:"scrypt"},d=e(16),f=g(a,d,c.keyLength,A(c));return{...c,salt:d.toString("base64"),hash:f.toString("base64")}}function D(a,b){if("string"!=typeof a||!B(b))return!1;try{let c=Buffer.from(b.salt,"base64"),d=Buffer.from(b.hash,"base64");if(0===c.length||d.length!==b.keyLength)return!1;let e=g(a,c,b.keyLength,A(b));return h(e,d)}catch{return!1}}function E(a){try{return l(a),"present"}catch(a){if(a&&"ENOENT"===a.code)return"missing";throw a}}function F(a,b){if("present"===E(a))return;let c=r(q(a),b);if("missing"!==E(c))try{k(c,a)}catch(b){if("present"===E(a))return;throw b}}function G(a=y()){let b;if(p(a)===t)try{F(a,"omp-web-auth.json")}catch{return{status:"unreadable",config:null}}try{b=j(a,"utf8")}catch(a){if(a&&"ENOENT"===a.code)return{status:"missing",config:null};return{status:"unreadable",config:null}}try{let a=JSON.parse(b);if(!a||"object"!=typeof a||Array.isArray(a))return{status:"unreadable",config:null};return{status:"ok",config:a}}catch{return{status:"unreadable",config:null}}}function H(a,b=y()){let c=q(b);i(c,{recursive:!0,mode:448});let d=r(c,`.${p(b)}-${f()}.tmp`);try{n(d,`${JSON.stringify(a,null,2)}
|
|
15
|
-
`,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),k(d,b)}catch(a){try{m(d)}catch{}throw a}}function I(a,{replaceUnreadable:b=!1}={}){let c=G(a);if("unreadable"===c.status){if(b)return{version:1};throw Error(`The CUELO credential file at ${a} could not be read. Run \`cuelo --reset-password\` to replace it.`)}return c.config??{version:1}}function J(a=process.env){let b=a.CUELO_PASSWORD;return"string"==typeof b&&b.length>0?b:null}function K(a={}){let b=a.env??process.env,c=a.file??y(b),d=J(b);if(d)return{mode:"environment",password:d,file:c};let e=G(c);if("missing"===e.status)return{mode:"open",file:c};if("unreadable"===e.status)return{mode:"unavailable",file:c};let f=e.config;return!0!==f.enabled?{mode:"open",file:c}:B(f.password)?{mode:"stored",digest:f.password,file:c}:{mode:"unavailable",file:c}}function L(a={}){let b=a.env??process.env,c=a.file??y(b),d=J(b),e=G(c),f=e.config??{},g=B(f.password);return{enabled:!!d||"ok"===e.status&&!0===f.enabled&&g,configured:!!d||g,stored:g,source:d?"environment":g?"stored":"none",managedByEnvironment:!!d,unreadable:"unreadable"===e.status,username:"omp",updatedAt:"string"==typeof f.updatedAt?f.updatedAt:null,file:c}}let M=new Map;function N(){M.clear()}function O(){return new Date().toISOString()}function P(a,b={}){let c=b.file??y(b.env??process.env),d=z(a);if(d)throw Error(d);return H({...I(c,{replaceUnreadable:!0}),version:1,enabled:!0,password:C(a,b.params),updatedAt:O(),recovery:void 0},c),N(),L({...b,file:c})}function Q(a){return"string"!=typeof a?"":a.toUpperCase().replace(/[OQ]/g,"0").replace(/[IL]/g,"1").replace(/U/g,"V").replace(/[^0-9A-Z]/g,"")}a.exports={MIN_PASSWORD_LENGTH:8,RECOVERY_CODE_TTL_MS:6e5,RECOVERY_MAX_ATTEMPTS:5,WEB_AUTH_FILENAME:t,WEB_AUTH_USERNAME:"omp",adoptLegacyStateFile:F,clearVerificationCache:N,clearWebPassword:function(a={}){let b=a.file??y(a.env??process.env);return H({...I(b),version:1,enabled:!1,password:void 0,recovery:void 0,updatedAt:O()},b),N(),L({...a,file:b})},consumeRecoveryCode:function(a,b,c={}){let d=c.file??y(c.env??process.env),e=c.now??Date.now(),f=I(d),g=f.recovery;if(!g||!B(g))return{ok:!1,reason:"no-code"};if("number"!=typeof g.expiresAt||g.expiresAt<=e)return H({...f,recovery:void 0},d),{ok:!1,reason:"expired"};let h=Number.isInteger(g.attempts)?g.attempts:0;if(h>=5)return H({...f,recovery:void 0},d),{ok:!1,reason:"too-many-attempts"};if(!D(Q(a),g)){let a=5-h-1;return H({...f,recovery:a>0?{...g,attempts:h+1}:void 0},d),{ok:!1,reason:"invalid-code",remainingAttempts:Math.max(a,0)}}let i=z(b);return i?{ok:!1,reason:"invalid-password",message:i}:{ok:!0,status:P(b,{...c,file:d})}},createDigest:C,getWebAuthStatus:L,issueRecoveryCode:function(a={}){let b=a.file??y(a.env??process.env),c=a.now??Date.now(),d=I(b),f=d.recovery;if(f&&"number"==typeof f.issuedAt&&c-f.issuedAt<3e4)return{ok:!1,reason:"throttled",retryAfterMs:3e4-(c-f.issuedAt)};let g=function(a){let b="";for(let c=0;c<12;c+=1)c>0&&c%4==0&&(b+="-"),b+=v[a[c]%v.length];return b}(e(12)),h=c+6e5;return H({...d,version:1,recovery:{...C(Q(g),a.params),issuedAt:c,expiresAt:h,attempts:0}},b),{ok:!0,code:g,expiresAt:h}},normalizeRecoveryCode:Q,readWebAuthState:G,resolveAgentDir:x,resolveWebAuthFile:y,resolveWebAuthPolicy:K,setWebPassword:P,setWebPasswordEnabled:function(a,b={}){let c=b.file??y(b.env??process.env),d=I(c);if(a&&!B(d.password))throw Error("Set a password before enabling password access.");return H({...d,version:1,enabled:!!a},c),N(),L({...b,file:c})},validatePassword:z,verifyDigest:D,verifyWebPassword:function(a,b={}){var c,e,f;let g;if("string"!=typeof a||0===a.length)return!1;let i=b.policy??K(b);if("environment"===i.mode)return c=i.password,h(d("sha256").update(a,"utf8").digest(),d("sha256").update(c,"utf8").digest());if("stored"!==i.mode)return!1;let j=(e=i.digest,f=d("sha256").update(`${e.salt}:${e.hash}`,"utf8").digest("base64"),d("sha256").update(`${f}:${a}`,"utf8").digest("base64"));if((g=M.get(j))&&(!(g<=Date.now())||(M.delete(j),0)))return!0;if(!D(a,i.digest))return!1;if(M.size>=32){let a=Date.now();for(let[b,c]of M)c<=a&&M.delete(b);M.size>=32&&M.delete(M.keys().next().value)}return M.set(j,Date.now()+3e5),!0}}},84240:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ef:()=>m,Ix:()=>l,RD:()=>i,ZU:()=>j});var e=c(92582),f=c(79055),g=a([e]);async function h(){let a=(0,e.getAgentDir)(),b=await e.Settings.init({agentDir:a}),c=await (0,e.discoverAuthStorage)(a),d=new e.ModelRegistry(c);return await d.refresh("online-if-uncached"),{agentDir:a,settings:b,authStorage:c,modelRegistry:d}}function i(){return globalThis.__ompRuntimePromise??=h().catch(a=>{throw globalThis.__ompRuntimePromise=void 0,a}),globalThis.__ompRuntimePromise}async function j(a){let{settings:b}=await i();return a&&b.getCwd()!==a?b.cloneForCwd(a):b}function k(a){let b=globalThis.__ompMissingModelRecovery??=new WeakMap,c=b.get(a);return c||(c=(0,f.fw)(a),b.set(a,c)),c}async function l(a,b,c,d={}){let e=a.find(b,c);if(e)return{model:e};let f=await k(a).recover(b,{force:d.forceDiscovery}),g=a.find(b,c);return g?{model:g}:{miss:{selector:`${b}/${c}`,provider:b,providerKnown:a.hasProvider(b),recovery:f}}}async function m(a,b){let c=new Set;for(let d of b)d.provider&&d.modelId&&(a.find(d.provider,d.modelId)||c.add(d.provider));0!==c.size&&await Promise.all([...c].map(b=>k(a).recover(b)))}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},88250:(a,b,c)=>{c.d(b,{kn:()=>d});function d(){let a=(globalThis.__ompModelsCacheState||(globalThis.__ompModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__ompModelsCacheState);a.generation+=1,a.entries.clear(),a.inFlight.clear()}},95602:(a,b,c)=>{c.d(b,{B:()=>d});function d(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}},96515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>i,p:()=>h});var e=c(88692),f=a([e]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}async function h(a,b,c){let d=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===d.length)return{visible:a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let f=await (0,e.resolveModelScope)(d,a,void 0,c),g=[];if(await Promise.all(d.map(async b=>{let d=await (0,e.resolveModelScope)([b],a,void 0,c);0===d.length&&g.push(`No model matches "${b}" in enabledModels.`)})),0===f.length)return{visible:a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:g};let h={};for(let a of f)a.thinkingLevel&&(h[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:h,warnings:g}}function i(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,j=e?void 0:h??a.scopedModels[0],k=e||j||!d?void 0:a.visible.find(a=>g(a,d)),l=e??j?.model??k,m=f??j,n=b.thinkingLevel??m?.thinkingLevel;return{...l?{model:l}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},96942:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>i});var e=c(58505),f=c(4327),g=a([e,f]);function h(a,b){return(0,e.findConfigFile)(a,{user:!1,cwd:b})??(0,e.findConfigFile)(a,{user:!0,cwd:b})}async function i(a){let[b,c]=await Promise.all([(0,f.resolvePromptInput)(h("SYSTEM.md",a),"system prompt"),(0,f.resolvePromptInput)(h("APPEND_SYSTEM.md",a),"append system prompt")]);return{systemPrompt:b,appendPrompt:c}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})}};
|
|
15
|
+
`,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),k(d,b)}catch(a){try{m(d)}catch{}throw a}}function I(a,{replaceUnreadable:b=!1}={}){let c=G(a);if("unreadable"===c.status){if(b)return{version:1};throw Error(`The CUELO credential file at ${a} could not be read. Run \`cuelo --reset-password\` to replace it.`)}return c.config??{version:1}}function J(a=process.env){let b=a.CUELO_PASSWORD;return"string"==typeof b&&b.length>0?b:null}function K(a={}){let b=a.env??process.env,c=a.file??y(b),d=J(b);if(d)return{mode:"environment",password:d,file:c};let e=G(c);if("missing"===e.status)return{mode:"open",file:c};if("unreadable"===e.status)return{mode:"unavailable",file:c};let f=e.config;return!0!==f.enabled?{mode:"open",file:c}:B(f.password)?{mode:"stored",digest:f.password,file:c}:{mode:"unavailable",file:c}}function L(a={}){let b=a.env??process.env,c=a.file??y(b),d=J(b),e=G(c),f=e.config??{},g=B(f.password);return{enabled:!!d||"ok"===e.status&&!0===f.enabled&&g,configured:!!d||g,stored:g,source:d?"environment":g?"stored":"none",managedByEnvironment:!!d,unreadable:"unreadable"===e.status,username:"omp",updatedAt:"string"==typeof f.updatedAt?f.updatedAt:null,file:c}}let M=new Map;function N(){M.clear()}function O(){return new Date().toISOString()}function P(a,b={}){let c=b.file??y(b.env??process.env),d=z(a);if(d)throw Error(d);return H({...I(c,{replaceUnreadable:!0}),version:1,enabled:!0,password:C(a,b.params),updatedAt:O(),recovery:void 0},c),N(),L({...b,file:c})}function Q(a){return"string"!=typeof a?"":a.toUpperCase().replace(/[OQ]/g,"0").replace(/[IL]/g,"1").replace(/U/g,"V").replace(/[^0-9A-Z]/g,"")}a.exports={MIN_PASSWORD_LENGTH:8,RECOVERY_CODE_TTL_MS:6e5,RECOVERY_MAX_ATTEMPTS:5,WEB_AUTH_FILENAME:t,WEB_AUTH_USERNAME:"omp",adoptLegacyStateFile:F,clearVerificationCache:N,clearWebPassword:function(a={}){let b=a.file??y(a.env??process.env);return H({...I(b),version:1,enabled:!1,password:void 0,recovery:void 0,updatedAt:O()},b),N(),L({...a,file:b})},consumeRecoveryCode:function(a,b,c={}){let d=c.file??y(c.env??process.env),e=c.now??Date.now(),f=I(d),g=f.recovery;if(!g||!B(g))return{ok:!1,reason:"no-code"};if("number"!=typeof g.expiresAt||g.expiresAt<=e)return H({...f,recovery:void 0},d),{ok:!1,reason:"expired"};let h=Number.isInteger(g.attempts)?g.attempts:0;if(h>=5)return H({...f,recovery:void 0},d),{ok:!1,reason:"too-many-attempts"};if(!D(Q(a),g)){let a=5-h-1;return H({...f,recovery:a>0?{...g,attempts:h+1}:void 0},d),{ok:!1,reason:"invalid-code",remainingAttempts:Math.max(a,0)}}let i=z(b);return i?{ok:!1,reason:"invalid-password",message:i}:{ok:!0,status:P(b,{...c,file:d})}},createDigest:C,getWebAuthStatus:L,issueRecoveryCode:function(a={}){let b=a.file??y(a.env??process.env),c=a.now??Date.now(),d=I(b),f=d.recovery;if(f&&"number"==typeof f.issuedAt&&c-f.issuedAt<3e4)return{ok:!1,reason:"throttled",retryAfterMs:3e4-(c-f.issuedAt)};let g=function(a){let b="";for(let c=0;c<12;c+=1)c>0&&c%4==0&&(b+="-"),b+=v[a[c]%v.length];return b}(e(12)),h=c+6e5;return H({...d,version:1,recovery:{...C(Q(g),a.params),issuedAt:c,expiresAt:h,attempts:0}},b),{ok:!0,code:g,expiresAt:h}},normalizeRecoveryCode:Q,readWebAuthState:G,resolveAgentDir:x,resolveWebAuthFile:y,resolveWebAuthPolicy:K,setWebPassword:P,setWebPasswordEnabled:function(a,b={}){let c=b.file??y(b.env??process.env),d=I(c);if(a&&!B(d.password))throw Error("Set a password before enabling password access.");return H({...d,version:1,enabled:!!a},c),N(),L({...b,file:c})},validatePassword:z,verifyDigest:D,verifyWebPassword:function(a,b={}){var c,e,f;let g;if("string"!=typeof a||0===a.length)return!1;let i=b.policy??K(b);if("environment"===i.mode)return c=i.password,h(d("sha256").update(a,"utf8").digest(),d("sha256").update(c,"utf8").digest());if("stored"!==i.mode)return!1;let j=(e=i.digest,f=d("sha256").update(`${e.salt}:${e.hash}`,"utf8").digest("base64"),d("sha256").update(`${f}:${a}`,"utf8").digest("base64"));if((g=M.get(j))&&(!(g<=Date.now())||(M.delete(j),0)))return!0;if(!D(a,i.digest))return!1;if(M.size>=32){let a=Date.now();for(let[b,c]of M)c<=a&&M.delete(b);M.size>=32&&M.delete(M.keys().next().value)}return M.set(j,Date.now()+3e5),!0}}},84240:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ef:()=>m,Ix:()=>l,RD:()=>i,ZU:()=>j});var e=c(92582),f=c(79055),g=a([e]);async function h(){let a=(0,e.getAgentDir)(),b=await e.Settings.init({agentDir:a}),c=await (0,e.discoverAuthStorage)(a),d=new e.ModelRegistry(c);return await d.refresh("online-if-uncached"),{agentDir:a,settings:b,authStorage:c,modelRegistry:d}}function i(){return globalThis.__ompRuntimePromise??=h().catch(a=>{throw globalThis.__ompRuntimePromise=void 0,a}),globalThis.__ompRuntimePromise}async function j(a){let{settings:b}=await i();return a&&b.getCwd()!==a?b.cloneForCwd(a):b}function k(a){let b=globalThis.__ompMissingModelRecovery??=new WeakMap,c=b.get(a);return c||(c=(0,f.fw)(a),b.set(a,c)),c}async function l(a,b,c,d={}){let e=a.find(b,c);if(e)return{model:e};let f=await k(a).recover(b,{force:d.forceDiscovery}),g=a.find(b,c);return g?{model:g}:{miss:{selector:`${b}/${c}`,provider:b,providerKnown:a.hasProvider(b),recovery:f}}}async function m(a,b){let c=new Set;for(let d of b)d.provider&&d.modelId&&(a.find(d.provider,d.modelId)||c.add(d.provider));0!==c.size&&await Promise.all([...c].map(b=>k(a).recover(b)))}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},88250:(a,b,c)=>{c.d(b,{kn:()=>d});function d(){let a=(globalThis.__ompModelsCacheState||(globalThis.__ompModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__ompModelsCacheState);a.generation+=1,a.entries.clear(),a.inFlight.clear()}},95602:(a,b,c)=>{c.d(b,{B:()=>d});function d(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}},96515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>i,p:()=>h});var e=c(88692),f=a([e]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}async function h(a,b,c){let d=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===d.length)return{visible:a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let f=await (0,e.resolveModelScope)(d,a,void 0,c),g=[];if(await Promise.all(d.map(async b=>{let d=await (0,e.resolveModelScope)([b],a,void 0,c);0===d.length&&g.push(`No model matches "${b}" in enabledModels.`)})),0===f.length)return{visible:a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:g};let h={};for(let a of f)a.thinkingLevel&&(h[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:h,warnings:g}}function i(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,j=e?void 0:h??a.scopedModels[0],k=e||j||!d?void 0:a.visible.find(a=>g(a,d)),l=e??j?.model??k,m=f??j,n=b.thinkingLevel??m?.thinkingLevel;return{...l?{model:l}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},96942:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>i});var e=c(58505),f=c(4327),g=a([e,f]);function h(a,b){return(0,e.findConfigFile)(a,{user:!1,cwd:b})??(0,e.findConfigFile)(a,{user:!0,cwd:b})}async function i(a){let[b,c,d]=await Promise.all([(0,f.resolvePromptInput)(h("SYSTEM.md",a),"system prompt"),(0,f.resolvePromptInput)(h("APPEND_SYSTEM.md",a),"append system prompt"),(0,f.resolvePromptInput)((0,f.discoverTitleSystemPromptFile)(a),"title system prompt")]);return{systemPrompt:b,appendPrompt:c,titlePrompt:d}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";exports.id=2651,exports.ids=[2651],exports.modules={8102:(a,b,c)=>{c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},21278:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{y:()=>m});var e=c(29021),f=c(92582),g=c(78772),h=c(34069),i=c(75805),j=c(72498),k=c(38741),l=a([f,g,h,k]);async function m(a){let b=(0,f.getAgentDir)(),c=await (0,k.getSettingsForCwd)(a),{skills:d,warnings:l}=await (0,f.loadSkills)({cwd:a,...g.cfgSkills.get(c)}),m=d.map(a=>({name:a.name,description:a.description,filePath:a.filePath,baseDir:a.baseDir,disableModelInvocation:function(a){try{let{frontmatter:b}=(0,h.parseFrontmatter)((0,e.readFileSync)(a,"utf8"));return!!b["disable-model-invocation"]}catch{return!1}}(a.filePath),sourceInfo:{...a.source?{source:a.source}:{},...a._source?.level?{scope:a._source.level}:{}}}));return{skills:(0,i._)(m,{cwd:a,agentDir:b}),diagnostics:l.map(a=>({type:"warning",message:a.message,path:a.skillPath})),projectResourcesLoaded:(0,j.Y1)(a,b).trusted}}[f,g,h,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},66544:(a,b,c)=>{c.d(b,{E2:()=>k,EN:()=>j,e9:()=>i});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(){return[process.env.CUELO_HOSTNAME,...process.env.CUELO_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}function j(a,b=g()){return!!i(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},72498:(a,b,c)=>{c.d(b,{LV:()=>k,TK:()=>p,Y1:()=>m,er:()=>n,qm:()=>r,wK:()=>o});var d=c(29021),e=c(33873),f=c(13229),g=c(8102);let h=[".omp/extensions",".omp/hooks",".omp/tools",".pi/extensions",".pi/hooks",".pi/tools",".claude/extensions",".claude/hooks",".claude/tools",".agents/extensions",".agents/hooks",".agents/tools"],i=[".mcp.json",".omp/.mcp.json",".omp/mcp.json",".claude/.mcp.json",".claude/mcp.json",".cursor/mcp.json"];function j(a){return(0,e.join)(a,"cuelo-trusted-projects.json")}function k(a){let b=(0,e.resolve)(a);try{return(0,d.realpathSync)(b)}catch{return b}}function l(a){try{(0,f.adoptLegacyStateFile)(j(a),"omp-web-trusted-projects.json");let b=JSON.parse((0,d.readFileSync)(j(a),"utf8"));if("object"!=typeof b||null===b||Array.isArray(b))return{};return Object.fromEntries(Object.entries(b).filter(a=>"boolean"==typeof a[1]))}catch{return{}}}function m(a,b){return a&&function(a){if(!a)return!1;for(let b of h)if((0,d.existsSync)((0,e.join)(a,b)))return!0;for(let b of i)if((0,d.existsSync)((0,e.join)(a,b)))return!0;return!1}(a)?{requiresTrust:!0,trusted:!0===l(b)[k(a)]}:{requiresTrust:!1,trusted:!0}}function n(a,b){let c=m(a,b);return c.requiresTrust?(o(a,b,!0),{requiresTrust:!0,trusted:!0}):c}function o(a,b,c){let e=l(b);e[k(a)]=c,(0,d.mkdirSync)(b,{recursive:!0}),(0,g.$)(j(b),`${JSON.stringify(e,null,2)}
|
|
2
|
-
`)}function p(a){return l(a)}function q(a,b){let c=(0,e.relative)((0,e.resolve)(b),(0,e.resolve)(a));return""===c||!(0,e.isAbsolute)(c)&&".."!==c&&!c.startsWith(`..${e.sep}`)&&!c.startsWith("../")}function r(a,b,c){let d=m(a,b);if(d.requiresTrust&&!d.trusted)return{preloadedExtensionPaths:c.extensionPaths.filter(b=>!q(b,a)),preloadedCustomToolPaths:c.customToolPaths.filter(b=>b.source?.level!=="project"&&!q(b.path,a)),enableMCP:!1}}},75805:(a,b,c)=>{c.d(b,{_:()=>j});var d=c(29021),e=c(21820),f=c(33873);function g(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return b.skills&&"object"==typeof b.skills?b.skills:{}}catch{return{}}}function h(a,b){let c=(0,f.relative)((0,f.resolve)(b),(0,f.resolve)(a));return""!==c&&".."!==c&&!c.startsWith(`..${f.sep}`)&&!(0,f.isAbsolute)(c)}function i(a,b,c){var d;let e=function(a,b){if(a[b])return a[b];let c=b.toLowerCase(),d=Object.keys(a).find(a=>a.toLowerCase()===c);return d?a[d]:void 0}(a,b);if(!e||"string"!=typeof e.source||!e.source.trim())return;let f="string"==typeof e.sourceType?e.sourceType:void 0,g=(d=e.source.trim(),"github"!==f?d.replace(/\/$/,""):d.replace(/^git\+/,"").replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/\.git$/,"").replace(/\/$/,""));if(!g)return;let h="string"==typeof e.skillPath?e.skillPath:void 0,i="string"==typeof e.ref?e.ref:void 0,j="global"===c?e.skillFolderHash:e.computedHash,k="string"==typeof j&&j?j:void 0,l="github"===f&&/^[\w.-]+\/[\w.-]+$/.test(g);return{package:`${g}@${b}`,scope:c,source:g,sourceType:f,skillsShUrl:"local"===f?void 0:function(a,b){if(!a||a.includes("://")||a.startsWith("git@"))return;let c=a.split("/").filter(Boolean).map(encodeURIComponent).join("/");if(c)return`https://skills.sh/${c}/${encodeURIComponent(b)}`}(g,b),...h&&{skillPath:h},...i&&{ref:i},...k&&{versionHash:k},canCheckForUpdates:!!(l&&h&&k&&("global"===c||!i))}}function j(a,{cwd:b,agentDir:c,globalLockPath:k=function({homeDir:a=(0,e.homedir)(),xdgStateHome:b=process.env.XDG_STATE_HOME}={}){return b?(0,f.join)(b,"skills",".skill-lock.json"):(0,f.join)(a,".agents",".skill-lock.json")}(),projectLockPath:l=(0,f.join)(b,"skills-lock.json")}){let m=g(k),n=g(l),o=[(0,f.join)(c,"skills"),(0,f.join)((0,e.homedir)(),".claude","skills")],p=[(0,f.join)(b,".omp","skills"),(0,f.join)(b,".claude","skills")];return a.map(a=>{if(!(0,d.existsSync)(a.filePath))return a;let b=o.some(b=>h(a.filePath,b))?i(m,a.name,"global"):p.some(b=>h(a.filePath,b))?i(n,a.name,"project"):void 0;return b?{...a,install:b}:a})}},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>m,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=a([k]);k=(l.then?(await l)():l)[0];let
|
|
2
|
+
`)}function p(a){return l(a)}function q(a,b){let c=(0,e.relative)((0,e.resolve)(b),(0,e.resolve)(a));return""===c||!(0,e.isAbsolute)(c)&&".."!==c&&!c.startsWith(`..${e.sep}`)&&!c.startsWith("../")}function r(a,b,c){let d=m(a,b);if(d.requiresTrust&&!d.trusted)return{preloadedExtensionPaths:c.extensionPaths.filter(b=>!q(b,a)),preloadedCustomToolPaths:c.customToolPaths.filter(b=>b.source?.level!=="project"&&!q(b.path,a)),enableMCP:!1}}},75805:(a,b,c)=>{c.d(b,{_:()=>j});var d=c(29021),e=c(21820),f=c(33873);function g(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return b.skills&&"object"==typeof b.skills?b.skills:{}}catch{return{}}}function h(a,b){let c=(0,f.relative)((0,f.resolve)(b),(0,f.resolve)(a));return""!==c&&".."!==c&&!c.startsWith(`..${f.sep}`)&&!(0,f.isAbsolute)(c)}function i(a,b,c){var d;let e=function(a,b){if(a[b])return a[b];let c=b.toLowerCase(),d=Object.keys(a).find(a=>a.toLowerCase()===c);return d?a[d]:void 0}(a,b);if(!e||"string"!=typeof e.source||!e.source.trim())return;let f="string"==typeof e.sourceType?e.sourceType:void 0,g=(d=e.source.trim(),"github"!==f?d.replace(/\/$/,""):d.replace(/^git\+/,"").replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/\.git$/,"").replace(/\/$/,""));if(!g)return;let h="string"==typeof e.skillPath?e.skillPath:void 0,i="string"==typeof e.ref?e.ref:void 0,j="global"===c?e.skillFolderHash:e.computedHash,k="string"==typeof j&&j?j:void 0,l="github"===f&&/^[\w.-]+\/[\w.-]+$/.test(g);return{package:`${g}@${b}`,scope:c,source:g,sourceType:f,skillsShUrl:"local"===f?void 0:function(a,b){if(!a||a.includes("://")||a.startsWith("git@"))return;let c=a.split("/").filter(Boolean).map(encodeURIComponent).join("/");if(c)return`https://skills.sh/${c}/${encodeURIComponent(b)}`}(g,b),...h&&{skillPath:h},...i&&{ref:i},...k&&{versionHash:k},canCheckForUpdates:!!(l&&h&&k&&("global"===c||!i))}}function j(a,{cwd:b,agentDir:c,globalLockPath:k=function({homeDir:a=(0,e.homedir)(),xdgStateHome:b=process.env.XDG_STATE_HOME}={}){return b?(0,f.join)(b,"skills",".skill-lock.json"):(0,f.join)(a,".agents",".skill-lock.json")}(),projectLockPath:l=(0,f.join)(b,"skills-lock.json")}){let m=g(k),n=g(l),o=[(0,f.join)(c,"skills"),(0,f.join)((0,e.homedir)(),".claude","skills")],p=[(0,f.join)(b,".omp","skills"),(0,f.join)(b,".claude","skills")];return a.map(a=>{if(!(0,d.existsSync)(a.filePath))return a;let b=o.some(b=>h(a.filePath,b))?i(m,a.name,"global"):p.some(b=>h(a.filePath,b))?i(n,a.name,"project"):void 0;return b?{...a,install:b}:a})}},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,Ph:()=>r,mU:()=>s,mc:()=>n,uK:()=>m,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=a([k]);k=(l.then?(await l)():l)[0];let t=/^[a-zA-Z]:[\\/]/;function m(a){return t.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function n(){let a=Date.now(),b=globalThis.__ompAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.wb)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^omp-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__ompAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){for(let c of b){let b=m(a)||m(c),d=b?h().win32:h(),e=b?"\\":h().sep,f=d.resolve(a),g=d.resolve(c),i=b?f.toLowerCase():f,j=b?g.toLowerCase():g,k=j.endsWith(e)?j:j+e;if(i===j||i.startsWith(k))return!0}return!1}function p(a,b){return(0,j.x)(a,b)}function q(a){return"string"==typeof a?.windows&&t.test(a.windows)&&"string"==typeof a.local&&h().posix.isAbsolute(a.local)}function r(a=(0,k.$M)()){let b=globalThis.__cueloLegacyPathMaps??=new Map,c=b.get(a);if(c)return c;let d=[];try{let b=JSON.parse((0,e.readFileSync)(h().join(a,"cuelo-legacy-paths.json"),"utf8"));Array.isArray(b?.prefixes)&&(d=b.prefixes.filter(q))}catch{}return b.set(a,d),d}function s(a,b){if(!b.length||!t.test(a))return a;let c=a=>h().win32.normalize(a).split("\\").filter(Boolean),d=c(a),e=d.map(a=>a.toLowerCase()),f=null;for(let a of b){let b=c(a.windows).map(a=>a.toLowerCase());b.length>e.length||f&&b.length<=f.length||b.every((a,b)=>a===e[b])&&(f={length:b.length,local:a.local})}return f?h().posix.join(f.local,...d.slice(f.length)):a}d()}catch(a){d(a)}})},82536:(a,b,c)=>{c.d(b,{x:()=>i});var d=c(29021),e=c(33873),f=c.n(e);let g=/^[a-zA-Z]:[\\/]/;function h(a){return g.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return function(a,b){for(let c of b){let b=h(a)||h(c),d=b?f().win32:f(),e=b?"\\":f().sep,g=d.resolve(a),i=d.resolve(c),j=b?g.toLowerCase():g,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}(c,e)}}};
|