@rexvane/piweb 0.3.16 → 0.3.17
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 +8 -11
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +6 -6
- package/.next/react-loadable-manifest.json +4 -16
- package/.next/required-server-files.js +1 -3
- package/.next/required-server-files.json +1 -3
- package/.next/routes-manifest.json +0 -20
- package/.next/server/app/_global-error/page.js +2 -2
- 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/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- 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 +4 -7
- package/.next/server/app/_not-found.segments/_full.segment.rsc +4 -7
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -5
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -5
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/tree/route.js +1 -1
- package/.next/server/app/api/agent/[id]/tree/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/files/route.js +1 -1
- package/.next/server/app/api/files/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route.js +2 -2
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/growth/route.js +1 -1
- package/.next/server/app/api/growth/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/pi-settings/route.js +1 -1
- package/.next/server/app/api/pi-settings/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/route.js.nft.json +1 -1
- package/.next/server/app/api/prompts/route.js +1 -1
- package/.next/server/app/api/prompts/route.js.nft.json +1 -1
- package/.next/server/app/api/security/route.js +1 -1
- package/.next/server/app/api/security/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/import/route.js +3 -3
- package/.next/server/app/api/sessions/import/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +2 -2
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route.js +2 -2
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/api/web-auth/route.js +1 -1
- package/.next/server/app/api/workspaces/route.js +1 -1
- package/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/.next/server/app/icon.svg/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -9
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -7
- package/.next/server/app/index.segments/_full.segment.rsc +6 -9
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -5
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +5 -8
- package/.next/server/app/login.segments/_full.segment.rsc +5 -8
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -5
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -6
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +8 -11
- package/.next/server/chunks/496.js +1 -1
- package/.next/server/chunks/532.js +1 -1
- package/.next/server/chunks/686.js +4 -8
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/2608.ec8ff1f5767c9056.js +1 -0
- package/.next/static/chunks/2716.93be8ad5c970c516.js +1 -0
- package/.next/static/chunks/4632.112d2e893d48d188.js +1 -0
- package/.next/static/chunks/4673.c1fb1580efc6ace7.js +1 -0
- package/.next/static/chunks/4686-f4a037d609cea3f2.js +1 -0
- package/.next/static/chunks/app/_global-error/page-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/tree/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/config/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/files/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/git/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/growth/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/health/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/models/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/pi-settings/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/prompts/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/security/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/skills/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/update/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/version/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/api/workspaces/route-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/app/page-b51087831582ee37.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f77e9ede9808b18e.js +1 -0
- package/.next/static/chunks/webpack-c31263fd83d75ce6.js +1 -0
- package/.next/static/css/850c2fd130ffa2fc.css +1 -0
- package/.next/static/zsynuO_9Kx6nrXgkTUJ04/_buildManifest.js +1 -0
- package/.next/types/routes.d.ts +1 -4
- package/.next/types/validator.ts +0 -27
- package/README.md +17 -29
- package/assets/archive.jpg +0 -0
- package/assets/growth-1.jpg +0 -0
- package/assets/growth-2.jpg +0 -0
- package/assets/import.jpg +0 -0
- package/assets/main.jpg +0 -0
- package/assets/outline.jpg +0 -0
- package/assets/prompts-1.jpg +0 -0
- package/assets/prompts-2.jpg +0 -0
- package/assets/providers-1.jpg +0 -0
- package/assets/providers-2.jpg +0 -0
- package/assets/providers-3.jpg +0 -0
- package/assets/trace-1.jpg +0 -0
- package/assets/trace-2.png +0 -0
- package/assets/trace-3.png +0 -0
- package/assets/trace-4.png +0 -0
- package/assets/viewer-1.jpg +0 -0
- package/assets/viewer-2.jpg +0 -0
- package/bin/pi.js +50 -0
- package/next.config.ts +32 -7
- package/package.json +4 -9
- package/scripts/launcher.mjs +1 -1
- package/scripts/pick-folder.ps1 +2 -11
- package/scripts/release.mjs +31 -11
- package/scripts/verify-package.mjs +0 -53
- package/src/app/api/config/route.ts +1 -4
- package/src/app/api/growth/route.ts +14 -14
- package/src/app/api/models/route.ts +2 -1
- package/src/app/api/security/route.ts +3 -8
- package/src/app/api/update/route.ts +2 -8
- package/src/app/globals.css +90 -777
- package/src/app/layout.tsx +6 -13
- package/src/components/AppShell.tsx +229 -521
- package/src/components/ChatInput.tsx +26 -153
- package/src/components/ChatWindow.tsx +231 -51
- package/src/components/ContextMeter.tsx +17 -11
- package/src/components/FileViewer.tsx +11 -10
- package/src/components/GitPanel.tsx +11 -13
- package/src/components/ModelSelector.tsx +6 -19
- package/src/components/PiMark.tsx +38 -5
- package/src/components/ProjectPanel.tsx +111 -95
- package/src/components/PromptPanel.tsx +51 -132
- package/src/components/SessionImportSection.tsx +37 -53
- package/src/components/SessionSidebar.tsx +57 -159
- package/src/components/SettingsPanel.tsx +193 -330
- package/src/components/icons.tsx +0 -23
- package/src/hooks/useGrowth.ts +123 -156
- package/src/hooks/usePiWeb.ts +15 -122
- package/src/i18n.tsx +42 -98
- package/src/lib/agent-manager.ts +21 -187
- package/src/lib/command-validation.ts +1 -9
- package/src/lib/growth-service.ts +390 -166
- package/src/lib/growth-tracker.ts +64 -264
- package/src/lib/growth-turns.ts +31 -1
- package/src/lib/models/model-scope.ts +15 -0
- package/src/lib/models-service.ts +16 -0
- package/src/lib/pi-settings.ts +7 -0
- package/src/lib/pi.ts +2 -3
- package/src/lib/session-import/claude.ts +2 -13
- package/src/lib/session-import/codex.ts +8 -44
- package/src/lib/session-import/files.ts +0 -14
- package/src/lib/session-import/grok.ts +24 -54
- package/src/lib/session-import/index.ts +0 -5
- package/src/lib/session-import/types.ts +0 -12
- package/src/lib/session-import/writer.ts +3 -8
- package/src/lib/skills-service.ts +9 -16
- package/src/lib/theme.ts +1 -68
- package/src/lib/trajectory.ts +0 -1
- package/src/lib/types.ts +27 -36
- package/tsconfig.json +2 -1
- package/.next/server/app/api/swarm/[id]/route.js +0 -1
- package/.next/server/app/api/swarm/[id]/route.js.nft.json +0 -1
- package/.next/server/app/api/swarm/[id]/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/swarm/route.js +0 -1
- package/.next/server/app/api/swarm/route.js.nft.json +0 -1
- package/.next/server/app/api/swarm/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/tests/route.js +0 -2
- package/.next/server/app/api/tests/route.js.nft.json +0 -1
- package/.next/server/app/api/tests/route_client-reference-manifest.js +0 -1
- package/.next/server/chunks/757.js +0 -1
- package/.next/server/chunks/775.js +0 -3
- package/.next/static/0t1jBUAuVaTFTXxRyIo3q/_buildManifest.js +0 -1
- package/.next/static/chunks/2608.43c58236c9cce8e6.js +0 -1
- package/.next/static/chunks/2716.4ec42df1d51354c9.js +0 -1
- package/.next/static/chunks/4632.62139b565b657aac.js +0 -1
- package/.next/static/chunks/4673.7796104395deb8d7.js +0 -1
- package/.next/static/chunks/4686-17f21a006739a596.js +0 -1
- package/.next/static/chunks/7577.10af9bb661652da8.js +0 -1
- package/.next/static/chunks/8866.38ec4ac4ee5a1b74.js +0 -1
- package/.next/static/chunks/app/_global-error/page-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/tree/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/config/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/files/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/git/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/growth/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/health/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/models/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/pi-settings/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/prompts/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/security/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/skills/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/swarm/[id]/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/swarm/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/tests/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/update/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/version/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/api/workspaces/route-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/app/page-14379b8060d5cf07.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-5148173b3f55e415.js +0 -1
- package/.next/static/chunks/webpack-d1a69ad9edb38b11.js +0 -1
- package/.next/static/css/d0a0162cb481abe8.css +0 -1
- package/.next/types/app/api/swarm/[id]/route.ts +0 -353
- package/.next/types/app/api/swarm/route.ts +0 -353
- package/.next/types/app/api/tests/route.ts +0 -353
- package/assets/archive.png +0 -0
- package/assets/growth-1.png +0 -0
- package/assets/growth-2.png +0 -0
- package/assets/import.png +0 -0
- package/assets/main.png +0 -0
- package/assets/outline.png +0 -0
- package/assets/prompts-1.png +0 -0
- package/assets/prompts-2.png +0 -0
- package/assets/providers-1.png +0 -0
- package/assets/providers-2.png +0 -0
- package/assets/providers-3.png +0 -0
- package/assets/trace-1.png +0 -0
- package/assets/viewer-1.png +0 -0
- package/assets/viewer-2.png +0 -0
- package/scripts/managed-niubash-assets.mjs +0 -146
- package/scripts/prepare-niubash-packages.mjs +0 -182
- package/scripts/run-test-file.mjs +0 -34
- package/scripts/smoke-managed-niubash.mjs +0 -62
- package/scripts/verify-release-config.mjs +0 -24
- package/src/app/api/swarm/[id]/route.ts +0 -28
- package/src/app/api/swarm/route.ts +0 -24
- package/src/app/api/tests/route.ts +0 -27
- package/src/components/SwarmCoordinatorPod.tsx +0 -1021
- package/src/components/TestInspectorPod.tsx +0 -549
- package/src/lib/delegation.ts +0 -93
- package/src/lib/growth-rounds.ts +0 -84
- package/src/lib/managed-niubash.ts +0 -231
- package/src/lib/runtime-activity.ts +0 -27
- package/src/lib/session-import/lock.ts +0 -25
- package/src/lib/swarm-service.ts +0 -371
- package/src/lib/test-run-service.ts +0 -122
- package/src/lib/workflow.ts +0 -55
- /package/.next/static/{0t1jBUAuVaTFTXxRyIo3q → zsynuO_9Kx6nrXgkTUJ04}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=772,a.ids=[772],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},
|
|
1
|
+
(()=>{var a={};a.id=772,a.ids=[772],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},85992:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>f,dynamic:()=>e});var d=c(23211);let e="force-dynamic";function f(){return d.NextResponse.json({success:!0,data:{ok:!0,service:"piweb"}},{headers:{"Cache-Control":"no-store"}})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95935:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/health/route",pathname:"/api/health",filename:"route",bundlePath:"app/api/health/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/PiWeb/PiWeb/src/app/api/health/route.ts",nextConfigOutput:"",userland:()=>c(85992),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/health/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813],()=>b(b.s=95935));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20067:(a,b,c)=>{c.d(b,{E:()=>d});class d{entries=new Map;async read(a,b){b?.signal?.throwIfAborted();let c=this.entries.get(a);return c?structuredClone(c):void 0}async write(a,b,c){c?.signal?.throwIfAborted(),this.entries.set(a,structuredClone(b))}async delete(a,b){b?.signal?.throwIfAborted(),this.entries.delete(a)}}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},38522:a=>{a.exports=require("node:zlib")},38708:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>i,POST:()=>j,dynamic:()=>k});var e=c(38522),f=c(23211),g=c(65501),h=a([g]);g=(h.then?(await h)():h)[0];let k="force-dynamic";async function i(a){let b=new URL(a.url).searchParams,c="1"===b.get("custom"),d=c||"1"===b.get("full");try{let b=c?await (0,g.Qn)():null,f=await (0,g.D)(),h=d?f.models:f.models.map(a=>({provider:a.provider,id:a.id,name:a.name,reasoning:a.reasoning,thinkingLevels:a.thinkingLevels,contextWindow:a.contextWindow})),i=d?f.providers:f.providers.map(a=>({id:a.id,name:a.name,authReady:a.authReady,builtIn:a.builtIn,modelCount:a.modelCount}));return function(a,b){let c=JSON.stringify(b),d=a.headers.get("accept-encoding")??"";if(!/\bgzip\b/.test(d)||c.length<2048)return new Response(c,{headers:{"Content-Type":"application/json; charset=utf-8"}});let f=(0,e.gzipSync)(Buffer.from(c,"utf8"));return new Response(new Uint8Array(f),{headers:{"Content-Type":"application/json; charset=utf-8","Content-Encoding":"gzip",Vary:"Accept-Encoding","Cache-Control":"no-store"}})}(a,{success:!0,data:{providers:i,models:h,customProviders:b}})}catch(a){return f.NextResponse.json({success:!1,error:String(a?.message??a)},{status:500})}}async function j(a){try{let b=await a.json();if("setKey"===b.action){if(!b.providerId||!b.apiKey)return f.NextResponse.json({success:!1,error:"missing fields"},{status:400});return await (0,g.d8)(b.providerId,b.apiKey),f.NextResponse.json({success:!0})}if("removeKey"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return await (0,g.kK)(b.providerId),f.NextResponse.json({success:!0})}if("saveCustomProviders"===b.action){if("string"!=typeof b.content)return f.NextResponse.json({success:!1,error:"missing content"},{status:400});if(void 0!==b.revision&&("string"!=typeof b.revision||!/^(?:missing|[a-f0-9]{64})$/.test(b.revision)))return f.NextResponse.json({success:!1,error:"invalid revision"},{status:400});return await (0,g.P2)(b.content,b.revision),f.NextResponse.json({success:!0,data:{requiresSessionReopen:!0}})}if("discoverModels"===b.action){if(!b.baseUrl)return f.NextResponse.json({success:!1,error:"missing baseUrl"},{status:400});let a=await (0,g.wt)({baseUrl:b.baseUrl,api:b.api,apiKey:b.apiKey,providerId:b.providerId,allowPrivate:!0===b.allowPrivate});return f.NextResponse.json({success:!0,data:{models:a}})}if("providerUsage"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});let a=await (0,g.VV)(b.providerId,!0===b.force);return f.NextResponse.json({success:!0,data:{usage:a}})}if("loginStart"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return await (0,g.c$)(b.providerId),f.NextResponse.json({success:!0,data:(0,g.$i)(b.providerId)})}if("loginState"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return f.NextResponse.json({success:!0,data:(0,g.$i)(b.providerId)})}if("loginAnswer"===b.action){if(!b.providerId||"string"!=typeof b.text)return f.NextResponse.json({success:!1,error:"missing fields"},{status:400});return f.NextResponse.json({success:!0,data:{delivered:(0,g.ig)(b.providerId,b.text)}})}if("loginCancel"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return(0,g.IX)(b.providerId),f.NextResponse.json({success:!0})}return f.NextResponse.json({success:!1,error:"unknown action"},{status:400})}catch(b){let a=b instanceof g.w9?409:b instanceof g.Ts||b instanceof SyntaxError?400:500;return f.NextResponse.json({success:!1,error:String(b?.message??b)},{status:a})}}d()}catch(a){d(a)}})},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65501:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$i:()=>ah,D:()=>y,IX:()=>aj,P2:()=>aq,Qn:()=>ao,Ts:()=>az,VV:()=>J,c$:()=>ag,d8:()=>B,ig:()=>ai,kK:()=>C,w9:()=>aA,wt:()=>I});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c(71553),k=c.n(j),l=c(37067),m=c(44708),n=c(77030),o=c(75430),p=c(71808),q=c(87982),r=c(28686),s=c(71322),t=c(20067),u=c(6512),v=c(49904),w=c(97138),x=a([o,q,r]);[o,q,r]=x.then?(await x)():x;let ar=null,as=null;function y(){if(as&&Date.now()-as.at<5e3)return as.value;let a=A().catch(a=>{throw as=null,a});return as={at:Date.now(),value:a},a}async function z(){let a=new Map;try{let b=JSON.parse(await f().readFile(h().join((0,q.$M)(),"auth.json"),"utf8"));for(let[c,d]of[...Object.entries(b??{}),...Object.entries(b?.providers??{})])!a.has(c)&&(d?.type==="oauth"?a.set(c,"oauth"):d&&"object"==typeof d&&[d.apiKey,d.api_key,d.key].some(a=>"string"==typeof a&&a.trim())&&a.set(c,"api_key"))}catch{}return a}async function A(){let a=await (0,q.uU)(),b=await (!ar&&(ar=o.ModelRuntime.create({modelsPath:null,refreshOnCreate:!1,allowModelNetwork:!1,credentials:new s.f,modelsStore:new t.E}).then(a=>new Set(a.getProviders().map(a=>a.id))).catch(a=>{throw ar=null,a})),ar),c=a.getProviders(),d=await z(),e=[],f=[];for(let g of(await Promise.all(c.map(async b=>{let c,d,e=String(b.id??b.name??"");if(!e)return null;let f=null;try{f=a.getProviderAuthStatus(e)}catch{f=null}let g=a.hasConfiguredAuth(e),h=!1;if(f?.configured===!0||g)try{let b=await a.checkAuth(e,{signal:AbortSignal.timeout(5e3)});h=void 0!==b,c=b?.source}catch(a){d=a instanceof Error?a.message:String(a)}return{pid:e,p:b,auth:f,authFastPath:g,authReady:h,resolvedAuthSource:c,authError:d}})))){if(!g)continue;let{pid:c,p:h,auth:i,authFastPath:j,authReady:k,resolvedAuthSource:l,authError:m}=g,n=a.getModels(c),o=[];for(let a of(h.auth?.apiKey&&o.push("api_key"),h.auth?.oauth&&o.push("oauth"),e.push({id:c,name:String(h.name??c),baseUrl:"string"==typeof h.baseUrl?h.baseUrl:void 0,apiKeyLabel:"string"==typeof h.auth?.apiKey?.name?h.auth.apiKey.name:void 0,authTypes:o,apis:[...new Set(n.map(a=>String(a.api??"")).filter(Boolean))].sort(),builtIn:b.has(c),authConfigured:i?.configured===!0,authSource:i?.source,authReady:k,authFastPath:j,resolvedAuthSource:l,authError:m,keyManaged:i?.source==="stored",storedAuthType:i?.source==="stored"?d.get(c):void 0,modelCount:n.length}),n))f.push({provider:c,id:String(a.id),name:String(a.name??a.id),api:String(a.api??""),baseUrl:"string"==typeof a.baseUrl?a.baseUrl:void 0,reasoning:!0===a.reasoning,thinkingLevels:(0,u.W8)(a),contextWindow:Number(a.contextWindow??0),input:Array.isArray(a.input)?a.input.map(String):["text"],cost:a.cost?{input:a.cost.input,output:a.cost.output}:null})}return f.sort((a,b)=>a.provider.localeCompare(b.provider)||a.id.localeCompare(b.id)),{providers:e,models:f}}async function B(a,b){let c=ad(a),d=await ae(c);await af(c,d,"api_key",b)}async function C(a){aj(a);let b=await (0,q.uU)();await b.logout(a),as=null}async function D(a){let b=await an(ak());if(void 0!==b.content){let c=al(b.content).providers[a]?.apiKey;if("string"==typeof c&&c.trim())return{key:c.trim(),oauth:!1}}try{let b=JSON.parse(await f().readFile(h().join((0,q.$M)(),"auth.json"),"utf8")),c=b?.[a]??b?.providers?.[a],d=c?.apiKey??c?.api_key??c?.key;if("string"==typeof d&&d.trim())return{key:d.trim(),oauth:!1};if(c?.type==="oauth"&&"string"==typeof c?.access&&c.access.trim()){let a="string"==typeof c.accountId&&c.accountId.trim()?c.accountId.trim():void 0;return{key:c.access.trim(),oauth:!0,...void 0===a?{}:{accountId:a}}}}catch{}}function E(a){let b=new URL(a),c=b.pathname.replace(/\/+$/,"");return b.pathname=c.endsWith("/models")?c:`${c}/models`,b.hash="",b}let at=new n.BlockList;for(let[a,b]of[["0.0.0.0",8],["10.0.0.0",8],["100.64.0.0",10],["127.0.0.0",8],["169.254.0.0",16],["172.16.0.0",12],["192.0.0.0",24],["192.0.2.0",24],["192.88.99.0",24],["192.168.0.0",16],["198.18.0.0",15],["198.51.100.0",24],["203.0.113.0",24],["224.0.0.0",4],["240.0.0.0",4]])at.addSubnet(a,b,"ipv4");let au=new n.BlockList;au.addSubnet("2000::",3,"ipv6");let av=new n.BlockList;for(let[a,b]of[["2001::",23],["2001:db8::",32],["2002::",16]])av.addSubnet(a,b,"ipv6");function F(a){let b=(0,n.isIP)(a);return 4===b?!at.check(a,"ipv4"):6===b&&au.check(a,"ipv6")&&!av.check(a,"ipv6")}async function G(a,b,c,d=!1){let e=d||"1"===process.env.PI_WEB_ALLOW_PRIVATE_MODEL_DISCOVERY,f=(0,n.isIP)(a.hostname.replace(/^\[|\]$/g,""));if(!e&&f&&!F(a.hostname.replace(/^\[|\]$/g,"")))throw Error("模型目录地址指向本机或私有网络;勾选「允许访问本机/私有网络地址」后重试,或设置 PI_WEB_ALLOW_PRIVATE_MODEL_DISCOVERY=1");return new Promise((d,f)=>{let g=("https:"===a.protocol?m.request:l.request)(a,{headers:b,signal:c,agent:!1,lookup:e?void 0:(a,b,c)=>{k().lookup(a,{all:!0}).then(a=>{let d=a.find(({address:a})=>F(a));d?b.all?c(null,[d]):c(null,d.address,d.family):c(Error("模型目录地址指向本机或私有网络;勾选「允许访问本机/私有网络地址」后重试,或设置 PI_WEB_ALLOW_PRIVATE_MODEL_DISCOVERY=1"),"",0)},a=>c(a,"",0))}},a=>{let b=a.statusCode??0;if(b>=300&&b<400){a.destroy(),f(Error("模型目录不允许重定向"));return}let c=[],e=0;if(Number(a.headers["content-length"])>4194304){a.destroy(),f(Error("模型目录响应过大(上限 4 MiB)"));return}a.on("data",b=>{if((e+=b.length)>4194304){a.destroy(),f(Error("模型目录响应过大(上限 4 MiB)"));return}c.push(b)}),a.on("error",f),a.on("close",()=>{a.complete||f(Error("模型目录连接提前关闭"))}),a.on("end",()=>d(new Response(204===b||205===b||304===b?null:Buffer.concat(c,e),{status:b})))});g.on("error",f),g.end()})}async function H(a){if(Number(a.headers.get("content-length"))>4194304)throw Error("模型目录响应过大(上限 4 MiB)");if(!a.body)throw Error("模型目录响应为空");let b=a.body.getReader(),c=[],d=0;try{for(;;){let{done:a,value:e}=await b.read();if(a)break;if((d+=e.byteLength)>4194304)throw Error("模型目录响应过大(上限 4 MiB)");c.push(Buffer.from(e))}}finally{await b.cancel().catch(()=>void 0),b.releaseLock()}return JSON.parse(Buffer.concat(c,d).toString("utf8"))}async function I(a){let b=a.baseUrl.trim();if(!b)throw Error("缺少 API 地址");let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)throw Error("API 地址必须使用 http 或 https");if(c.username||c.password)throw Error("API 地址不能包含用户名或密码");let d=E(c),e={Accept:"application/json"},f=a.apiKey?.trim()?{key:a.apiKey.trim(),oauth:!1}:a.providerId?await D(a.providerId):void 0;if(f&&!a.apiKey?.trim()){let b,c=await (0,q.uU)(),e=c.getProviders().find(b=>b.id===a.providerId),f=[e?.baseUrl,...e?c.getModels(e.id).map(a=>a.baseUrl):[]];if(b=E(d).href,!f.some(a=>{if(!a)return!1;try{let c=new URL(a);return!c.username&&!c.password&&E(c).href===b}catch{return!1}}))throw Error("已存凭证只能用于该 Provider 已配置的 API 地址;新地址请显式填写密钥")}let g=f?.key;if(!a.apiKey?.trim()&&f?.oauth&&"openai-codex"===a.providerId)throw Error("OpenAI Codex 的模型目录由 SDK 内置,无需获取;如需自定义请手动添加模型 ID");g&&("anthropic-messages"===a.api?(e["x-api-key"]=g,f?.oauth&&(e["anthropic-beta"]="oauth-2025-04-20")):e.Authorization=`Bearer ${g}`),"anthropic-messages"===a.api&&(e["anthropic-version"]="2023-06-01");let h=new AbortController,i=setTimeout(()=>h.abort(),15e3);try{let b=await G(d,e,h.signal,!0===a.allowPrivate);if(401===b.status)throw Error(g?"模型目录请求失败(HTTP 401):密钥或令牌无效":"模型目录请求失败(HTTP 401):请先填写 API 密钥");if(403===b.status)throw Error(f?.oauth?"模型目录请求失败(HTTP 403):该 OAuth 令牌无权访问模型目录(部分提供商不支持),请手动填写模型 ID":"模型目录请求失败(HTTP 403):密钥无权访问模型目录");if(!b.ok)throw Error(`模型目录请求失败(HTTP ${b.status})`);let c=await H(b),i=(Array.isArray(c)?c:c&&"object"==typeof c?Array.isArray(c.data)?c.data:Array.isArray(c.models)?c.models:[]:[]).map(a=>{if("string"==typeof a)return{id:a};if(!a||"object"!=typeof a)return null;let b="string"==typeof a.id?a.id.trim():"";if(!b)return null;let c="string"==typeof a.name&&a.name.trim()?a.name.trim():void 0;return{id:b,...c?{name:c}:{}}}).filter(a=>!!a).filter((a,b,c)=>c.findIndex(b=>b.id===a.id)===b).slice(0,500);if(!i.length)throw Error("响应中没有可识别的模型 ID");return i}catch(a){if(a instanceof Error&&"AbortError"===a.name)throw Error("模型目录请求超时");if(a&&"object"==typeof a&&"code"in a&&["ECONNREFUSED","ECONNRESET","ENOTFOUND","EHOSTUNREACH","ENETUNREACH","ETIMEDOUT"].includes(String(a.code))||a instanceof TypeError&&a.message.toLowerCase().includes("fetch"))throw Error("无法连接模型目录,请检查 API 地址和网络");throw a}finally{clearTimeout(i)}}let aw=new Map;async function J(a,b=!1){let c=function(a){switch(a){case"xai":return Z;case"openai-codex":return N;case"anthropic":return O;case"deepseek":return Q;case"openrouter":return R;case"moonshotai":return()=>S("moonshotai");case"moonshotai-cn":return()=>S("moonshotai-cn");case"kimi-coding":return V;case"github-copilot":return W;case"vercel-ai-gateway":return X;case"opencode-go":return Y;default:return null}}(a);if(!c)return null;let d=aw.get(a);if(!b&&d&&Date.now()-d.at<3e5)return d.value;let e=await c();return aw.set(a,{at:Date.now(),value:e}),e}async function K(a,b,c=1e4){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{...b,signal:d.signal});if(!c.ok)return void c.body?.cancel().catch(()=>{});return await c.json()}catch{return}finally{clearTimeout(e)}}function L(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:void 0}function M(a){if("string"!=typeof a)return;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():void 0}async function N(){let a=await D("openai-codex");if(!a)return null;let b=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1]??"","base64").toString("utf8")),c=b?.["https://api.openai.com/auth"]?.chatgpt_plan_type;return"string"==typeof c&&c.trim()?c.trim():void 0}catch{return}}(a.key),c=await K("https://chatgpt.com/backend-api/wham/usage",{headers:{Authorization:`Bearer ${a.key}`,...a.accountId?{"chatgpt-account-id":a.accountId}:{}}});if(void 0===c)return void 0===b?null:{kind:"quota",planType:b,windows:[],probedAt:Date.now()};let d=function(a){let b=L(a);if(!b)return{windows:[]};let c=L(b.rate_limit),d=[c?.primary_window,c?.secondary_window].map(L).flatMap(a=>{let b;if(!a||"number"!=typeof a.limit_window_seconds||a.limit_window_seconds<=0||"number"!=typeof a.used_percent||!Number.isFinite(a.used_percent))return[];if(Number.isSafeInteger(a.reset_at)&&a.reset_at>0){let c=new Date(1e3*a.reset_at);Number.isFinite(c.getTime())&&(b=c.toISOString())}return[{limitWindowSeconds:a.limit_window_seconds,remainingPercent:Math.min(100,Math.max(0,Math.round(100-a.used_percent))),...void 0===b?{}:{resetAt:b}}]}).sort(U),e=b.plan_type;return{..."string"==typeof e&&e.trim()?{planType:e.trim()}:{},windows:d}}(c),e=d.planType??b;return{kind:"quota",...d,...void 0===e?{}:{planType:e},probedAt:Date.now()}}async function O(){let a=await D("anthropic");if(!a?.oauth)return null;let b=await K("https://api.anthropic.com/api/oauth/usage",{headers:{Authorization:`Bearer ${a.key}`,"anthropic-beta":"oauth-2025-04-20"}});if(void 0===b)return null;let c=function(a){let b=L(a);if(!b)return{windows:[]};let c=(a,c,d)=>{let e=L(b[a]);if(!e||"number"!=typeof e.utilization||!Number.isFinite(e.utilization))return[];let f=M(e.resets_at);return[{limitWindowSeconds:c,remainingPercent:Math.min(100,Math.max(0,Math.round(100-e.utilization))),...void 0===f?{}:{resetAt:f},...void 0===d?{}:{variant:d}}]};return{windows:[...c("five_hour",18e3),...c("seven_day",w.fv),...c("seven_day_opus",w.fv,"opus")].sort(U)}}(b);return 0===c.windows.length?null:{kind:"quota",...c,probedAt:Date.now()}}function P(a,b){return"number"==typeof a&&Number.isFinite(a)?{amount:a.toFixed(2),...void 0===b?{}:{currency:b}}:"string"==typeof a&&a.trim()&&Number.isFinite(Number(a))?{amount:Number(a).toFixed(2),...void 0===b?{}:{currency:b}}:void 0}let ax={moonshotai:{base:"https://api.moonshot.ai",currency:"USD"},"moonshotai-cn":{base:"https://api.moonshot.cn",currency:"CNY"}};async function Q(){let a=await D("deepseek");if(!a)return null;let b=await K("https://api.deepseek.com/user/balance",{headers:{Authorization:`Bearer ${a.key}`}});return void 0===b?null:{kind:"balance",...function(a){let b=L(a),c=(Array.isArray(b?.balance_infos)?b.balance_infos.map(L).filter(Boolean):[])[0];if(!c)return{details:[]};let d="string"==typeof c.currency&&c.currency.trim()?c.currency.trim():void 0,e=[],f=P(c.granted_balance,d);f&&e.push({key:"granted",...f});let g=P(c.topped_up_balance,d);g&&e.push({key:"toppedUp",...g});let h=P(c.total_balance,d);return{...void 0===h?{}:{primary:h},details:e}}(b),probedAt:Date.now()}}async function R(){let a=await D("openrouter");if(!a)return null;let b=await K("https://openrouter.ai/api/v1/key",{headers:{Authorization:`Bearer ${a.key}`}});return void 0===b?null:{kind:"balance",...function(a){let b=L(L(a)?.data);if(!b)return{details:[]};let c=[],d=P(b.limit,"USD");d&&c.push({key:"limit",...d});let e=P(b.usage,"USD");e&&c.push({key:"used",...e});let f=P(b.limit_remaining,"USD");return f?{primary:f,details:c}:e?{primaryKey:"used",primary:e,details:c}:{details:c}}(b),probedAt:Date.now()}}async function S(a){let b=await D(a);if(!b)return null;let c=ax[a],d=await K(`${c.base}/v1/users/me/balance`,{headers:{Authorization:`Bearer ${b.key}`}});return void 0===d?null:{kind:"balance",...function(a,b){let c=L(a),d=L(c?.data);if(!d||c?.status===!1)return{details:[]};let e=[],f=P(d.voucher_balance,b);f&&e.push({key:"voucher",...f});let g=P(d.cash_balance,b);g&&e.push({key:"cash",...g});let h=P(d.available_balance,b);return{...void 0===h?{}:{primary:h},details:e}}(d,c.currency),probedAt:Date.now()}}function T(a){return Math.min(100,Math.max(0,Math.round(100-a)))}function U(a,b){return(a.limitWindowSeconds??1/0)-(b.limitWindowSeconds??1/0)}async function V(){let a=await D("kimi-coding");if(!a)return null;let b=await K("https://api.kimi.com/coding/v1/usages",{headers:{Authorization:`Bearer ${a.key}`,Accept:"application/json"}});if(void 0===b)return null;let c=function(a){let b=L(L(a)?.usages);if(!b)return{windows:[]};let c=(a,c,d)=>{let e=L(b[a]);if(!e||"number"!=typeof e.used_ratio||!Number.isFinite(e.used_ratio))return[];let f=M(e.reset_time);return[{limitWindowSeconds:c,remainingPercent:T(100*e.used_ratio),...void 0===f?{}:{resetAt:f},...void 0===d?{}:{variant:d}}]};return{windows:[...c("limit_5h",18e3),...c("limit_7d",w.fv),...c("limit_month_total",w.lG),...c("limit_month_code",w.lG,"code")].sort(U)}}(b);return 0===c.windows.length?null:{kind:"quota",...c,probedAt:Date.now()}}async function W(){let a=await D("github-copilot");if(!a?.oauth)return null;let b=await K("https://api.github.com/copilot_internal/user",{headers:{Authorization:`Bearer ${a.key}`,Accept:"application/json"}});if(void 0===b)return null;let c=function(a){let b=L(a);if(!b)return{windows:[]};let c=L(b.quota_snapshots),d=b.copilot_plan,e=M(b.quota_reset_date),f=[["premium_interactions","premium"],["chat","chat"],["completions","completions"]].flatMap(([a,b])=>{let d=L(c?.[a]);return d&&!1!==d.has_quota&&!0!==d.unlimited&&"number"==typeof d.percent_remaining&&Number.isFinite(d.percent_remaining)?[{remainingPercent:Math.min(100,Math.max(0,Math.round(d.percent_remaining))),...void 0===e?{}:{resetAt:e},name:b}]:[]});return{..."string"==typeof d&&d.trim()?{planType:d.trim()}:{},windows:f}}(b);return 0===c.windows.length&&void 0===c.planType?null:{kind:"quota",...c,probedAt:Date.now()}}async function X(){let a=await D("vercel-ai-gateway");if(!a)return null;let b=await K("https://ai-gateway.vercel.sh/v1/credits",{headers:{Authorization:`Bearer ${a.key}`}});return void 0===b?null:{kind:"balance",...function(a){let b=L(a);if(!b)return{details:[]};let c=[],d=P(b.total_used,"USD");d&&c.push({key:"used",...d});let e=P(b.balance,"USD");return{...void 0===e?{}:{primary:e},details:c}}(b),probedAt:Date.now()}}async function Y(){let a=await D("opencode-go");if(!a)return null;let b=await K("https://opencode.ai/zen/go/v1/usage",{headers:{Authorization:`Bearer ${a.key}`,Accept:"application/json"}});if(void 0===b)return null;let c=function(a){let b=L(L(a)?.usage);if(!b)return{windows:[]};let c=(a,c)=>{let d=L(b[a]);if(!d||"number"!=typeof d.percent||!Number.isFinite(d.percent))return[];let e=M(d.resetsAt);return[{...void 0===c?{name:a}:{limitWindowSeconds:c},remainingPercent:T(d.percent),...void 0===e?{}:{resetAt:e}}]};return{windows:[...c("rolling"),...c("weekly",w.fv),...c("monthly",w.lG)].sort(U)}}(b);return 0===c.windows.length?null:{kind:"quota",...c,probedAt:Date.now()}}async function Z(){let a=await D("xai");if(!a)return null;let b=a.key,c="";try{let a=(await (0,q.uU)()).getModels("xai").map(a=>String(a.id)).filter(a=>!a.includes("imagine")&&!a.includes("multi-agent"));c=["grok-4.6","grok-4.5","grok-4.3"].find(b=>a.some(a=>a===b||a.startsWith(`${b}-`)))??a[0]??""}catch{return null}if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),2e4);try{let a=await fetch("https://api.x.ai/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${b}`,"Content-Type":"application/json"},body:JSON.stringify({model:c,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:d.signal});a.body?.cancel().catch(()=>{});let e=b=>Number(a.headers.get(b)??NaN),f=e("x-ratelimit-limit-requests"),g=e("x-ratelimit-remaining-requests"),h=e("x-ratelimit-limit-tokens"),i=e("x-ratelimit-remaining-tokens");if(![f,g,h,i].every(Number.isFinite))return null;return{kind:"xai",model:c,requestLimit:f,requestRemaining:g,tokenLimit:h,tokenRemaining:i,probedAt:Date.now()}}catch{return null}finally{clearTimeout(e)}}let ay=new Map;function $(){let a=Date.now();for(let[b,c]of ay)c.done&&void 0!==c.finishedAt&&a-c.finishedAt>6e5&&ay.delete(b)}function _(a){return ay.get(a.providerId)===a&&!a.done&&!a.controller.signal.aborted}function aa(a){if(a.controller.signal.throwIfAborted(),!_(a))throw Error("canceled")}function ab(a,b){return ay.get(a.providerId)===a&&!a.done&&(a.done=!0,void 0!==b&&(a.error=b instanceof Error?b.message:String(b)),a.finishedAt=Date.now(),a.timeout&&clearTimeout(a.timeout),a.timeout=null,a.rejecter?.(b instanceof Error?b:Error(a.error??"login finished")),a.prompt=null,a.resolver=null,a.rejecter=null,!0)}function ac(a,b){ab(a,b),a.controller.abort(b)}function ad(a){$();let b=ay.get(a);b&&!b.done&&ac(b,Error("canceled"));let c={providerId:a,controller:new AbortController,timeout:null,prompt:null,resolver:null,rejecter:null,notifyLog:[],done:!1};return ay.set(a,c),c.timeout=setTimeout(()=>ac(c,Error("login timed out")),6e5),c.timeout.unref?.(),c}async function ae(a){try{let b=await (0,q.uU)();return aa(a),b}catch(b){throw ab(a,b),b}}async function af(a,b,c,d){let e=!1,f={signal:a.controller.signal,prompt:async b=>{let c;return(aa(a),b.signal?.throwIfAborted(),void 0===d||e||"select"===b.type)?(aa(a),(c=b.signal?AbortSignal.any([a.controller.signal,b.signal]):a.controller.signal).throwIfAborted(),a.rejecter?.(Error("prompt replaced")),new Promise((d,e)=>{let f=!1,g=()=>{c.removeEventListener("abort",j),a.resolver===h&&(a.prompt=null,a.resolver=null,a.rejecter=null)},h=a=>{f||(f=!0,g(),d(a))},i=a=>{f||(f=!0,g(),e(a))},j=()=>i(c.reason instanceof Error?c.reason:Error("canceled"));a.prompt=b,a.resolver=h,a.rejecter=i,c.addEventListener("abort",j,{once:!0}),c.aborted&&j()})):(e=!0,d)},notify:b=>{_(a)&&(a.notifyLog.push("string"==typeof b?b:JSON.stringify(b)),a.notifyLog.length>20&&a.notifyLog.shift())}};try{aa(a),await b.login(a.providerId,c,f),aa(a),ab(a)&&(as=null)}catch(b){throw ab(a,b),b}}async function ag(a){let b=ad(a),c=await ae(b);af(b,c,"oauth").catch(()=>void 0)}function ah(a){$();let b=ay.get(a);return b?{prompt:b.prompt?{type:b.prompt.type,message:b.prompt.message,placeholder:"placeholder"in b.prompt?b.prompt.placeholder:void 0,options:"select"===b.prompt.type?b.prompt.options.map(a=>({label:a.label,value:a.id})):void 0}:null,notifyLog:[...b.notifyLog],done:b.done,error:b.error}:{prompt:null,notifyLog:[],done:!0}}function ai(a,b){let c=ay.get(a);return!!c&&!!_(c)&&!!c.resolver&&(c.resolver(b),!0)}function aj(a){$();let b=ay.get(a);return!!b&&(b.done||ac(b,Error("canceled")),!0)}function ak(){return h().join((0,q.$M)(),"models.json")}class az extends Error{}class aA extends Error{constructor(){super("models.json 已被修改,请重新加载后再保存")}}function al(a){let b=[],c=(0,p.cZ)(a.replace(/^\uFEFF/,""),b,{allowTrailingComma:!0,allowEmptyContent:!1});if(b.length||!c){let a=b[0];throw new az(`models.json JSONC 无效${a?` (${(0,p._n)(a.error)}, offset ${a.offset})`:""}`)}let d=(0,p.yQ)(c);if(!am(d)||!am(d.providers))throw new az('models.json 顶层必须是 { "providers": { ... } }');for(let[a,b]of Object.entries(d.providers))if(!am(b))throw new az(`provider "${a}" 必须是对象`);return d}function am(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}async function an(a){try{let b=await f().readFile(a,"utf8");return{content:b,revision:(0,i.createHash)("sha256").update(b).digest("hex")}}catch(a){if("ENOENT"!==a.code)throw a;return{content:void 0,revision:"missing"}}}async function ao(){let a=await an(ak());return{...function(a){let b=al(a),c=[];for(let[a,d]of Object.entries(b.providers))Object.prototype.hasOwnProperty.call(d,"apiKey")&&(delete d.apiKey,c.push(a));return{content:JSON.stringify(b,null,2),secretProviderIds:c}}(a.content??'{"providers":{}}'),exists:void 0!==a.content,revision:a.revision}}async function ap(a){let b=(await o.ModelRuntime.create({modelsPath:a,credentials:new s.f,modelsStore:new t.E,allowModelNetwork:!1,refreshOnCreate:!1})).getError();if(b)throw new az(b)}async function aq(a,b){let c=ak();await (0,v.Ax)(c,()=>(0,v._i)(c,async()=>{let d=await an(c);if(void 0!==b&&b!==d.revision)throw new aA;let e=al(a),g=al(d.content??'{"providers":{}}'),h=`${c}.${process.pid}.${(0,i.randomUUID)()}.tmp`;try{void 0!==d.content&&(await f().writeFile(h,JSON.stringify(g,null,2),{encoding:"utf8",flag:"wx",mode:384}),await ap(h));for(let[a,b]of Object.entries(e.providers))if(null===b.apiKey)delete b.apiKey;else if(void 0===b.apiKey){let c=g.providers[a];c&&Object.prototype.hasOwnProperty.call(c,"apiKey")&&(b.apiKey=c.apiKey)}for(let a of Object.values(e.providers))void 0===a.apiKey&&"string"==typeof a.baseUrl&&/^https?:\/\/(localhost|127\.0\.0\.1|\[::1\]|192\.168\.|10\.|172\.(1[6-9]|2\d|3[01])\.)/i.test(a.baseUrl.trim())&&(a.apiKey="unused");for(let[a,b]of Object.entries(e.providers)){if(!a.trim())throw new az("provider ID 必须是非空字符串");let c=Array.isArray(b.models)?b.models:[],d=am(b.modelOverrides)?Object.values(b.modelOverrides):[];for(let b of[...c,...d])if(am(b)){for(let c of["contextWindow","maxTokens"])if(void 0!==b[c]&&("number"!=typeof b[c]||!Number.isSafeInteger(b[c])||b[c]<=0))throw new az(`provider "${a}" 的 ${c} 必须是正整数`)}}if(await f().writeFile(h,JSON.stringify(e,null,2),{encoding:"utf8",flag:void 0===d.content?"wx":"w",mode:384}),await ap(h),(await an(c)).revision!==d.revision)throw new aA;await f().rename(h,c)}finally{await f().rm(h,{force:!0}).catch(()=>void 0)}})),(0,q.rC)(),as=null,await (0,r.Sj)()}d()}catch(a){d(a)}})},71322:(a,b,c)=>{function d(a){if(void 0!==a.reason)return a.reason;let b=Error("The operation was aborted");return b.name="AbortError",b}c.d(b,{f:()=>e});class e{credentials=new Map;chains=new Map;enqueue(a,b,c){let e=c?.signal??new AbortController().signal,f=this.chains.get(a)??Promise.resolve(),g=(async()=>(await f.catch(()=>{}),e.throwIfAborted(),b()))(),h=g.catch(()=>{});return this.chains.set(a,h),h.then(()=>{this.chains.get(a)===h&&this.chains.delete(a)}),e.aborted?(g.catch(()=>{}),Promise.reject(d(e))):new Promise((a,b)=>{let c=!1,f=()=>{c||(c=!0,e.removeEventListener("abort",f),b(d(e)))};e.addEventListener("abort",f,{once:!0}),g.then(b=>{c||(c=!0,e.removeEventListener("abort",f),a(b))},a=>{c||(c=!0,e.removeEventListener("abort",f),b(a))}),e.aborted&&f()})}async read(a,b){return b?.signal?.throwIfAborted(),this.credentials.get(a)}async list(a){return a?.signal?.throwIfAborted(),[...this.credentials].map(([a,b])=>({providerId:a,type:b.type}))}modify(a,b,c){return this.enqueue(a,async()=>{let d=this.credentials.get(a),e=await b(d);return c?.signal?.throwIfAborted(),void 0!==e&&this.credentials.set(a,e),e??d},c)}delete(a,b){return this.enqueue(a,async()=>{this.credentials.delete(a)},b)}}},71553:a=>{a.exports=require("node:dns/promises")},71808:(a,b,c)=>{var d,e,f,g,h,i,j,k,l;function m(a){return 32===a||9===a}function n(a){return 10===a||13===a}function o(a){return a>=48&&a<=57}c.d(b,{yQ:()=>q,cZ:()=>p,_n:()=>r}),(i=d||(d={}))[i.lineFeed=10]="lineFeed",i[i.carriageReturn=13]="carriageReturn",i[i.space=32]="space",i[i._0=48]="_0",i[i._1=49]="_1",i[i._2=50]="_2",i[i._3=51]="_3",i[i._4=52]="_4",i[i._5=53]="_5",i[i._6=54]="_6",i[i._7=55]="_7",i[i._8=56]="_8",i[i._9=57]="_9",i[i.a=97]="a",i[i.b=98]="b",i[i.c=99]="c",i[i.d=100]="d",i[i.e=101]="e",i[i.f=102]="f",i[i.g=103]="g",i[i.h=104]="h",i[i.i=105]="i",i[i.j=106]="j",i[i.k=107]="k",i[i.l=108]="l",i[i.m=109]="m",i[i.n=110]="n",i[i.o=111]="o",i[i.p=112]="p",i[i.q=113]="q",i[i.r=114]="r",i[i.s=115]="s",i[i.t=116]="t",i[i.u=117]="u",i[i.v=118]="v",i[i.w=119]="w",i[i.x=120]="x",i[i.y=121]="y",i[i.z=122]="z",i[i.A=65]="A",i[i.B=66]="B",i[i.C=67]="C",i[i.D=68]="D",i[i.E=69]="E",i[i.F=70]="F",i[i.G=71]="G",i[i.H=72]="H",i[i.I=73]="I",i[i.J=74]="J",i[i.K=75]="K",i[i.L=76]="L",i[i.M=77]="M",i[i.N=78]="N",i[i.O=79]="O",i[i.P=80]="P",i[i.Q=81]="Q",i[i.R=82]="R",i[i.S=83]="S",i[i.T=84]="T",i[i.U=85]="U",i[i.V=86]="V",i[i.W=87]="W",i[i.X=88]="X",i[i.Y=89]="Y",i[i.Z=90]="Z",i[i.asterisk=42]="asterisk",i[i.backslash=92]="backslash",i[i.closeBrace=125]="closeBrace",i[i.closeBracket=93]="closeBracket",i[i.colon=58]="colon",i[i.comma=44]="comma",i[i.dot=46]="dot",i[i.doubleQuote=34]="doubleQuote",i[i.minus=45]="minus",i[i.openBrace=123]="openBrace",i[i.openBracket=91]="openBracket",i[i.plus=43]="plus",i[i.slash=47]="slash",i[i.formFeed=12]="formFeed",i[i.tab=9]="tab",Array(20).fill(0).map((a,b)=>" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\n"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r\n"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\n"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r\n"+" ".repeat(b)),(e||(e={})).DEFAULT={allowTrailingComma:!1},(j=f||(f={}))[j.None=0]="None",j[j.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",j[j.UnexpectedEndOfString=2]="UnexpectedEndOfString",j[j.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",j[j.InvalidUnicode=4]="InvalidUnicode",j[j.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",j[j.InvalidCharacter=6]="InvalidCharacter",(k=g||(g={}))[k.OpenBraceToken=1]="OpenBraceToken",k[k.CloseBraceToken=2]="CloseBraceToken",k[k.OpenBracketToken=3]="OpenBracketToken",k[k.CloseBracketToken=4]="CloseBracketToken",k[k.CommaToken=5]="CommaToken",k[k.ColonToken=6]="ColonToken",k[k.NullKeyword=7]="NullKeyword",k[k.TrueKeyword=8]="TrueKeyword",k[k.FalseKeyword=9]="FalseKeyword",k[k.StringLiteral=10]="StringLiteral",k[k.NumericLiteral=11]="NumericLiteral",k[k.LineCommentTrivia=12]="LineCommentTrivia",k[k.BlockCommentTrivia=13]="BlockCommentTrivia",k[k.LineBreakTrivia=14]="LineBreakTrivia",k[k.Trivia=15]="Trivia",k[k.Unknown=16]="Unknown",k[k.EOF=17]="EOF";let p=function(a,b=[],c=e.DEFAULT){let d={type:"array",offset:-1,length:-1,children:[],parent:void 0};function f(a){"property"===d.type&&(d.length=a-d.offset,d=d.parent)}function g(a){return d.children.push(a),a}!function(a,b,c=e.DEFAULT){var d;let f=function(a,b=!1){let c=a.length,d=0,e="",f=0,g=16,h=0,i=0,j=0,k=0,l=0;function p(){if(e="",l=0,f=d,i=h,k=j,d>=c)return f=c,g=17;let b=a.charCodeAt(d);if(m(b)){do d++,e+=String.fromCharCode(b),b=a.charCodeAt(d);while(m(b));return g=15}if(n(b))return d++,e+=String.fromCharCode(b),13===b&&10===a.charCodeAt(d)&&(d++,e+="\n"),h++,j=d,g=14;switch(b){case 123:return d++,g=1;case 125:return d++,g=2;case 91:return d++,g=3;case 93:return d++,g=4;case 58:return d++,g=6;case 44:return d++,g=5;case 34:return d++,e=function(){let b="",e=d;for(;;){if(d>=c){b+=a.substring(e,d),l=2;break}let f=a.charCodeAt(d);if(34===f){b+=a.substring(e,d),d++;break}if(92===f){if(b+=a.substring(e,d),++d>=c){l=2;break}switch(a.charCodeAt(d++)){case 34:b+='"';break;case 92:b+="\\";break;case 47:b+="/";break;case 98:b+="\b";break;case 102:b+="\f";break;case 110:b+="\n";break;case 114:b+="\r";break;case 116:b+=" ";break;case 117:let f=function(b){let c=0,e=0;for(;c<4||!b;){let b=a.charCodeAt(d);if(b>=48&&b<=57)e=16*e+b-48;else if(b>=65&&b<=70)e=16*e+b-65+10;else if(b>=97&&b<=102)e=16*e+b-97+10;else break;d++,c++}return c<4&&(e=-1),e}(!0);f>=0?b+=String.fromCharCode(f):l=4;break;default:l=5}e=d;continue}if(f>=0&&f<=31)if(n(f)){b+=a.substring(e,d),l=2;break}else l=6;d++}return b}(),g=10;case 47:let p=d-1;if(47===a.charCodeAt(d+1)){for(d+=2;d<c&&!n(a.charCodeAt(d));)d++;return e=a.substring(p,d),g=12}if(42===a.charCodeAt(d+1)){d+=2;let b=c-1,f=!1;for(;d<b;){let b=a.charCodeAt(d);if(42===b&&47===a.charCodeAt(d+1)){d+=2,f=!0;break}d++,n(b)&&(13===b&&10===a.charCodeAt(d)&&d++,h++,j=d)}return f||(d++,l=1),e=a.substring(p,d),g=13}return e+=String.fromCharCode(b),d++,g=16;case 45:if(e+=String.fromCharCode(b),++d===c||!o(a.charCodeAt(d)))return g=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return e+=function(){let b=d;if(48===a.charCodeAt(d))d++;else for(d++;d<a.length&&o(a.charCodeAt(d));)d++;if(d<a.length&&46===a.charCodeAt(d)){if(!(++d<a.length&&o(a.charCodeAt(d))))return l=3,a.substring(b,d);for(d++;d<a.length&&o(a.charCodeAt(d));)d++}let c=d;if(d<a.length&&(69===a.charCodeAt(d)||101===a.charCodeAt(d)))if((++d<a.length&&43===a.charCodeAt(d)||45===a.charCodeAt(d))&&d++,d<a.length&&o(a.charCodeAt(d))){for(d++;d<a.length&&o(a.charCodeAt(d));)d++;c=d}else l=3;return a.substring(b,c)}(),g=11;default:for(;d<c&&function(a){if(m(a)||n(a))return!1;switch(a){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}(b);)d++,b=a.charCodeAt(d);if(f!==d){switch(e=a.substring(f,d)){case"true":return g=8;case"false":return g=9;case"null":return g=7}return g=16}return e+=String.fromCharCode(b),d++,g=16}}return{setPosition:function(a){d=a,e="",f=0,g=16,l=0},getPosition:()=>d,scan:b?function(){let a;do a=p();while(a>=12&&a<=15);return a}:p,getToken:()=>g,getTokenValue:()=>e,getTokenOffset:()=>f,getTokenLength:()=>d-f,getTokenStartLine:()=>i,getTokenStartCharacter:()=>f-k,getTokenError:()=>l}}(a,!1),g=[],h=0;function i(a){return a?b=>0===h&&a(b,f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter()):()=>!0}function j(a){return a?b=>0===h&&a(b,f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter(),()=>g.slice()):()=>!0}function k(a){return a?()=>{h>0?h++:!1===a(f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter(),()=>g.slice())&&(h=1)}:()=>!0}function l(a){return a?()=>{h>0&&h--,0===h&&a(f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter())}:()=>!0}let p=k(b.onObjectBegin),q=j(b.onObjectProperty),r=l(b.onObjectEnd),s=k(b.onArrayBegin),t=l(b.onArrayEnd),u=j(b.onLiteralValue),v=i(b.onSeparator),w=(d=b.onComment)?()=>0===h&&d(f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter()):()=>!0,x=i(b.onError),y=c&&c.disallowComments,z=c&&c.allowTrailingComma;function A(){for(;;){let a=f.scan();switch(f.getTokenError()){case 4:B(14);break;case 5:B(15);break;case 3:B(13);break;case 1:y||B(11);break;case 2:B(12);break;case 6:B(16)}switch(a){case 12:case 13:y?B(10):w();break;case 16:B(1);break;case 15:case 14:break;default:return a}}}function B(a,b=[],c=[]){if(x(a),b.length+c.length>0){let a=f.getToken();for(;17!==a;){if(-1!==b.indexOf(a)){A();break}if(-1!==c.indexOf(a))break;a=A()}}}function C(a){let b=f.getTokenValue();return a?u(b):(q(b),g.push(b)),A(),!0}if(A(),17===f.getToken())return c.allowEmptyContent||B(4,[],[]);!function a(){switch(f.getToken()){case 3:s(),A();let b=!0,c=!1;for(;4!==f.getToken()&&17!==f.getToken();){if(5===f.getToken()){if(c||B(4,[],[]),v(","),A(),4===f.getToken()&&z)break}else c&&B(6,[],[]);b?(g.push(0),b=!1):g[g.length-1]++,a()||B(4,[],[4,5]),c=!0}return t(),b||g.pop(),4!==f.getToken()?B(8,[4],[]):A(),!0;case 1:p(),A();let d=!1;for(;2!==f.getToken()&&17!==f.getToken();){if(5===f.getToken()){if(d||B(4,[],[]),v(","),A(),2===f.getToken()&&z)break}else d&&B(6,[],[]);(10!==f.getToken()?(B(3,[],[2,5]),1):(C(!1),6===f.getToken()?(v(":"),A(),a()||B(4,[],[2,5])):B(5,[],[2,5]),g.pop(),0))&&B(4,[],[2,5]),d=!0}return r(),2!==f.getToken()?B(7,[2],[]):A(),!0;case 10:return C(!0);default:switch(f.getToken()){case 11:let e=Number(f.getTokenValue());isNaN(e)&&(B(2),e=0),u(e);break;case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return A(),!0}}()?B(4,[],[]):17!==f.getToken()&&B(9,[],[])}(a,{onObjectBegin:a=>{d=g({type:"object",offset:a,length:-1,parent:d,children:[]})},onObjectProperty:(a,b,c)=>{(d=g({type:"property",offset:b,length:-1,parent:d,children:[]})).children.push({type:"string",value:a,offset:b,length:c,parent:d})},onObjectEnd:(a,b)=>{f(a+b),d.length=a+b-d.offset,d=d.parent,f(a+b)},onArrayBegin:(a,b)=>{d=g({type:"array",offset:a,length:-1,parent:d,children:[]})},onArrayEnd:(a,b)=>{d.length=a+b-d.offset,d=d.parent,f(a+b)},onLiteralValue:(a,b,c)=>{g({type:function(a){switch(typeof a){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":if(!a)return"null";if(Array.isArray(a))return"array";return"object";default:return"null"}}(a),offset:b,length:c,parent:d,value:a}),f(b+c)},onSeparator:(a,b,c)=>{"property"===d.type&&(":"===a?d.colonOffset=b:","===a&&f(b))},onError:(a,c,d)=>{b.push({error:a,offset:c,length:d})}},c);let h=d.children[0];return h&&delete h.parent,h},q=function a(b){switch(b.type){case"array":return b.children.map(a);case"object":let c=Object.create(null);for(let d of b.children){let b=d.children[1];b&&(c[d.children[0].value]=a(b))}return c;case"null":case"string":case"number":case"boolean":return b.value;default:return}};function r(a){switch(a){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}(l=h||(h={}))[l.InvalidSymbol=1]="InvalidSymbol",l[l.InvalidNumberFormat=2]="InvalidNumberFormat",l[l.PropertyNameExpected=3]="PropertyNameExpected",l[l.ValueExpected=4]="ValueExpected",l[l.ColonExpected=5]="ColonExpected",l[l.CommaExpected=6]="CommaExpected",l[l.CloseBraceExpected=7]="CloseBraceExpected",l[l.CloseBracketExpected=8]="CloseBracketExpected",l[l.EndOfFileExpected=9]="EndOfFileExpected",l[l.InvalidCommentToken=10]="InvalidCommentToken",l[l.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",l[l.UnexpectedEndOfString=12]="UnexpectedEndOfString",l[l.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",l[l.InvalidUnicode=14]="InvalidUnicode",l[l.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",l[l.InvalidCharacter=16]="InvalidCharacter"},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},80481:a=>{a.exports=require("node:readline")},81115:a=>{a.exports=require("constants")},83914:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/PiWeb/PiWeb/src/app/api/models/route.ts",nextConfigOutput:"",userland:()=>c(38708),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")},97138:(a,b,c)=>{c.d(b,{fv:()=>d,lG:()=>e});let d=604800,e=2592e3},98995:a=>{a.exports=require("node:module")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813,757,593,131,532,686],()=>b(b.s=83914));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},12616:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{x:()=>g});var e=c(75430),f=a([e]);async function g(a,b,c){if(0===b.length)return a;let{scopedModels:d}=await (0,e.resolveModelScopeWithDiagnostics)(b,c),f=new Set(d.map(({model:a})=>`${a.provider}/${a.id}`));return a.filter(a=>f.has(`${a.provider}/${a.id}`))}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20067:(a,b,c)=>{c.d(b,{E:()=>d});class d{entries=new Map;async read(a,b){b?.signal?.throwIfAborted();let c=this.entries.get(a);return c?structuredClone(c):void 0}async write(a,b,c){c?.signal?.throwIfAborted(),this.entries.set(a,structuredClone(b))}async delete(a,b){b?.signal?.throwIfAborted(),this.entries.delete(a)}}},24503:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/PiWeb/PiWeb/src/app/api/models/route.ts",nextConfigOutput:"",userland:()=>c(38708),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},37067:a=>{a.exports=require("node:http")},38522:a=>{a.exports=require("node:zlib")},38708:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>i,POST:()=>j,dynamic:()=>k});var e=c(38522),f=c(23211),g=c(65501),h=a([g]);g=(h.then?(await h)():h)[0];let k="force-dynamic";async function i(a){let b=new URL(a.url).searchParams,c="1"===b.get("custom"),d=c||"1"===b.get("full");try{let b=c?await (0,g.Qn)():null,f=await (d?(0,g.D)():(0,g.Fo)()),h=d?f.models:f.models.map(a=>({provider:a.provider,id:a.id,name:a.name,reasoning:a.reasoning,thinkingLevels:a.thinkingLevels,contextWindow:a.contextWindow})),i=d?f.providers:f.providers.map(a=>({id:a.id,name:a.name,authReady:a.authReady,builtIn:a.builtIn,modelCount:a.modelCount}));return function(a,b){let c=JSON.stringify(b),d=a.headers.get("accept-encoding")??"";if(!/\bgzip\b/.test(d)||c.length<2048)return new Response(c,{headers:{"Content-Type":"application/json; charset=utf-8"}});let f=(0,e.gzipSync)(Buffer.from(c,"utf8"));return new Response(new Uint8Array(f),{headers:{"Content-Type":"application/json; charset=utf-8","Content-Encoding":"gzip",Vary:"Accept-Encoding","Cache-Control":"no-store"}})}(a,{success:!0,data:{providers:i,models:h,customProviders:b}})}catch(a){return f.NextResponse.json({success:!1,error:String(a?.message??a)},{status:500})}}async function j(a){try{let b=await a.json();if("setKey"===b.action){if(!b.providerId||!b.apiKey)return f.NextResponse.json({success:!1,error:"missing fields"},{status:400});return await (0,g.d8)(b.providerId,b.apiKey),f.NextResponse.json({success:!0})}if("removeKey"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return await (0,g.kK)(b.providerId),f.NextResponse.json({success:!0})}if("saveCustomProviders"===b.action){if("string"!=typeof b.content)return f.NextResponse.json({success:!1,error:"missing content"},{status:400});if(void 0!==b.revision&&("string"!=typeof b.revision||!/^(?:missing|[a-f0-9]{64})$/.test(b.revision)))return f.NextResponse.json({success:!1,error:"invalid revision"},{status:400});return await (0,g.P2)(b.content,b.revision),f.NextResponse.json({success:!0,data:{requiresSessionReopen:!0}})}if("discoverModels"===b.action){if(!b.baseUrl)return f.NextResponse.json({success:!1,error:"missing baseUrl"},{status:400});let a=await (0,g.wt)({baseUrl:b.baseUrl,api:b.api,apiKey:b.apiKey,providerId:b.providerId,allowPrivate:!0===b.allowPrivate});return f.NextResponse.json({success:!0,data:{models:a}})}if("providerUsage"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});let a=await (0,g.VV)(b.providerId,!0===b.force);return f.NextResponse.json({success:!0,data:{usage:a}})}if("loginStart"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return await (0,g.c$)(b.providerId),f.NextResponse.json({success:!0,data:(0,g.$i)(b.providerId)})}if("loginState"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return f.NextResponse.json({success:!0,data:(0,g.$i)(b.providerId)})}if("loginAnswer"===b.action){if(!b.providerId||"string"!=typeof b.text)return f.NextResponse.json({success:!1,error:"missing fields"},{status:400});return f.NextResponse.json({success:!0,data:{delivered:(0,g.ig)(b.providerId,b.text)}})}if("loginCancel"===b.action){if(!b.providerId)return f.NextResponse.json({success:!1,error:"missing providerId"},{status:400});return(0,g.IX)(b.providerId),f.NextResponse.json({success:!0})}return f.NextResponse.json({success:!1,error:"unknown action"},{status:400})}catch(b){let a=b instanceof g.w9?409:b instanceof g.Ts||b instanceof SyntaxError?400:500;return f.NextResponse.json({success:!1,error:String(b?.message??b)},{status:a})}}d()}catch(a){d(a)}})},44708:a=>{a.exports=require("node:https")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65501:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$i:()=>ak,D:()=>A,Fo:()=>B,IX:()=>am,P2:()=>at,Qn:()=>ar,Ts:()=>aC,VV:()=>M,c$:()=>aj,d8:()=>E,ig:()=>al,kK:()=>F,w9:()=>aD,wt:()=>L});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c(71553),k=c.n(j),l=c(37067),m=c(44708),n=c(77030),o=c(75430),p=c(71808),q=c(12616),r=c(87982),s=c(75554),t=c(28686),u=c(71322),v=c(20067),w=c(6512),x=c(49904),y=c(97138),z=a([o,q,r,s,t]);[o,q,r,s,t]=z.then?(await z)():z;let au=null,av=null;function A(){if(av&&Date.now()-av.at<5e3)return av.value;let a=D().catch(a=>{throw av=null,a});return av={at:Date.now(),value:a},a}async function B(){let a=await A(),b=await (0,s.MO)();if(!b?.length)return a;let c=await (0,q.x)(a.models,b,await (0,r.uU)()),d=new Map;for(let a of c)d.set(a.provider,(d.get(a.provider)??0)+1);return{models:c,providers:a.providers.map(a=>({...a,modelCount:d.get(a.id)??0}))}}async function C(){let a=new Map;try{let b=JSON.parse(await f().readFile(h().join((0,r.$M)(),"auth.json"),"utf8"));for(let[c,d]of[...Object.entries(b??{}),...Object.entries(b?.providers??{})])!a.has(c)&&(d?.type==="oauth"?a.set(c,"oauth"):d&&"object"==typeof d&&[d.apiKey,d.api_key,d.key].some(a=>"string"==typeof a&&a.trim())&&a.set(c,"api_key"))}catch{}return a}async function D(){let a=await (0,r.uU)(),b=await (!au&&(au=o.ModelRuntime.create({modelsPath:null,refreshOnCreate:!1,allowModelNetwork:!1,credentials:new u.f,modelsStore:new v.E}).then(a=>new Set(a.getProviders().map(a=>a.id))).catch(a=>{throw au=null,a})),au),c=a.getProviders(),d=await C(),e=[],f=[];for(let g of(await Promise.all(c.map(async b=>{let c,d,e=String(b.id??b.name??"");if(!e)return null;let f=null;try{f=a.getProviderAuthStatus(e)}catch{f=null}let g=a.hasConfiguredAuth(e),h=!1;if(f?.configured===!0||g)try{let b=await a.checkAuth(e,{signal:AbortSignal.timeout(5e3)});h=void 0!==b,c=b?.source}catch(a){d=a instanceof Error?a.message:String(a)}return{pid:e,p:b,auth:f,authFastPath:g,authReady:h,resolvedAuthSource:c,authError:d}})))){if(!g)continue;let{pid:c,p:h,auth:i,authFastPath:j,authReady:k,resolvedAuthSource:l,authError:m}=g,n=a.getModels(c),o=[];for(let a of(h.auth?.apiKey&&o.push("api_key"),h.auth?.oauth&&o.push("oauth"),e.push({id:c,name:String(h.name??c),baseUrl:"string"==typeof h.baseUrl?h.baseUrl:void 0,apiKeyLabel:"string"==typeof h.auth?.apiKey?.name?h.auth.apiKey.name:void 0,authTypes:o,apis:[...new Set(n.map(a=>String(a.api??"")).filter(Boolean))].sort(),builtIn:b.has(c),authConfigured:i?.configured===!0,authSource:i?.source,authReady:k,authFastPath:j,resolvedAuthSource:l,authError:m,keyManaged:i?.source==="stored",storedAuthType:i?.source==="stored"?d.get(c):void 0,modelCount:n.length}),n))f.push({provider:c,id:String(a.id),name:String(a.name??a.id),api:String(a.api??""),baseUrl:"string"==typeof a.baseUrl?a.baseUrl:void 0,reasoning:!0===a.reasoning,thinkingLevels:(0,w.W8)(a),contextWindow:Number(a.contextWindow??0),input:Array.isArray(a.input)?a.input.map(String):["text"],cost:a.cost?{input:a.cost.input,output:a.cost.output}:null})}return f.sort((a,b)=>a.provider.localeCompare(b.provider)||a.id.localeCompare(b.id)),{providers:e,models:f}}async function E(a,b){let c=ag(a),d=await ah(c);await ai(c,d,"api_key",b)}async function F(a){am(a);let b=await (0,r.uU)();await b.logout(a),av=null}async function G(a){let b=await aq(an());if(void 0!==b.content){let c=ao(b.content).providers[a]?.apiKey;if("string"==typeof c&&c.trim())return{key:c.trim(),oauth:!1}}try{let b=JSON.parse(await f().readFile(h().join((0,r.$M)(),"auth.json"),"utf8")),c=b?.[a]??b?.providers?.[a],d=c?.apiKey??c?.api_key??c?.key;if("string"==typeof d&&d.trim())return{key:d.trim(),oauth:!1};if(c?.type==="oauth"&&"string"==typeof c?.access&&c.access.trim()){let a="string"==typeof c.accountId&&c.accountId.trim()?c.accountId.trim():void 0;return{key:c.access.trim(),oauth:!0,...void 0===a?{}:{accountId:a}}}}catch{}}function H(a){let b=new URL(a),c=b.pathname.replace(/\/+$/,"");return b.pathname=c.endsWith("/models")?c:`${c}/models`,b.hash="",b}let aw=new n.BlockList;for(let[a,b]of[["0.0.0.0",8],["10.0.0.0",8],["100.64.0.0",10],["127.0.0.0",8],["169.254.0.0",16],["172.16.0.0",12],["192.0.0.0",24],["192.0.2.0",24],["192.88.99.0",24],["192.168.0.0",16],["198.18.0.0",15],["198.51.100.0",24],["203.0.113.0",24],["224.0.0.0",4],["240.0.0.0",4]])aw.addSubnet(a,b,"ipv4");let ax=new n.BlockList;ax.addSubnet("2000::",3,"ipv6");let ay=new n.BlockList;for(let[a,b]of[["2001::",23],["2001:db8::",32],["2002::",16]])ay.addSubnet(a,b,"ipv6");function I(a){let b=(0,n.isIP)(a);return 4===b?!aw.check(a,"ipv4"):6===b&&ax.check(a,"ipv6")&&!ay.check(a,"ipv6")}async function J(a,b,c,d=!1){let e=d||"1"===process.env.PI_WEB_ALLOW_PRIVATE_MODEL_DISCOVERY,f=(0,n.isIP)(a.hostname.replace(/^\[|\]$/g,""));if(!e&&f&&!I(a.hostname.replace(/^\[|\]$/g,"")))throw Error("模型目录地址指向本机或私有网络;勾选「允许访问本机/私有网络地址」后重试,或设置 PI_WEB_ALLOW_PRIVATE_MODEL_DISCOVERY=1");return new Promise((d,f)=>{let g=("https:"===a.protocol?m.request:l.request)(a,{headers:b,signal:c,agent:!1,lookup:e?void 0:(a,b,c)=>{k().lookup(a,{all:!0}).then(a=>{let d=a.find(({address:a})=>I(a));d?b.all?c(null,[d]):c(null,d.address,d.family):c(Error("模型目录地址指向本机或私有网络;勾选「允许访问本机/私有网络地址」后重试,或设置 PI_WEB_ALLOW_PRIVATE_MODEL_DISCOVERY=1"),"",0)},a=>c(a,"",0))}},a=>{let b=a.statusCode??0;if(b>=300&&b<400){a.destroy(),f(Error("模型目录不允许重定向"));return}let c=[],e=0;if(Number(a.headers["content-length"])>4194304){a.destroy(),f(Error("模型目录响应过大(上限 4 MiB)"));return}a.on("data",b=>{if((e+=b.length)>4194304){a.destroy(),f(Error("模型目录响应过大(上限 4 MiB)"));return}c.push(b)}),a.on("error",f),a.on("close",()=>{a.complete||f(Error("模型目录连接提前关闭"))}),a.on("end",()=>d(new Response(204===b||205===b||304===b?null:Buffer.concat(c,e),{status:b})))});g.on("error",f),g.end()})}async function K(a){if(Number(a.headers.get("content-length"))>4194304)throw Error("模型目录响应过大(上限 4 MiB)");if(!a.body)throw Error("模型目录响应为空");let b=a.body.getReader(),c=[],d=0;try{for(;;){let{done:a,value:e}=await b.read();if(a)break;if((d+=e.byteLength)>4194304)throw Error("模型目录响应过大(上限 4 MiB)");c.push(Buffer.from(e))}}finally{await b.cancel().catch(()=>void 0),b.releaseLock()}return JSON.parse(Buffer.concat(c,d).toString("utf8"))}async function L(a){let b=a.baseUrl.trim();if(!b)throw Error("缺少 API 地址");let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)throw Error("API 地址必须使用 http 或 https");if(c.username||c.password)throw Error("API 地址不能包含用户名或密码");let d=H(c),e={Accept:"application/json"},f=a.apiKey?.trim()?{key:a.apiKey.trim(),oauth:!1}:a.providerId?await G(a.providerId):void 0;if(f&&!a.apiKey?.trim()){let b,c=await (0,r.uU)(),e=c.getProviders().find(b=>b.id===a.providerId),f=[e?.baseUrl,...e?c.getModels(e.id).map(a=>a.baseUrl):[]];if(b=H(d).href,!f.some(a=>{if(!a)return!1;try{let c=new URL(a);return!c.username&&!c.password&&H(c).href===b}catch{return!1}}))throw Error("已存凭证只能用于该 Provider 已配置的 API 地址;新地址请显式填写密钥")}let g=f?.key;if(!a.apiKey?.trim()&&f?.oauth&&"openai-codex"===a.providerId)throw Error("OpenAI Codex 的模型目录由 SDK 内置,无需获取;如需自定义请手动添加模型 ID");g&&("anthropic-messages"===a.api?(e["x-api-key"]=g,f?.oauth&&(e["anthropic-beta"]="oauth-2025-04-20")):e.Authorization=`Bearer ${g}`),"anthropic-messages"===a.api&&(e["anthropic-version"]="2023-06-01");let h=new AbortController,i=setTimeout(()=>h.abort(),15e3);try{let b=await J(d,e,h.signal,!0===a.allowPrivate);if(401===b.status)throw Error(g?"模型目录请求失败(HTTP 401):密钥或令牌无效":"模型目录请求失败(HTTP 401):请先填写 API 密钥");if(403===b.status)throw Error(f?.oauth?"模型目录请求失败(HTTP 403):该 OAuth 令牌无权访问模型目录(部分提供商不支持),请手动填写模型 ID":"模型目录请求失败(HTTP 403):密钥无权访问模型目录");if(!b.ok)throw Error(`模型目录请求失败(HTTP ${b.status})`);let c=await K(b),i=(Array.isArray(c)?c:c&&"object"==typeof c?Array.isArray(c.data)?c.data:Array.isArray(c.models)?c.models:[]:[]).map(a=>{if("string"==typeof a)return{id:a};if(!a||"object"!=typeof a)return null;let b="string"==typeof a.id?a.id.trim():"";if(!b)return null;let c="string"==typeof a.name&&a.name.trim()?a.name.trim():void 0;return{id:b,...c?{name:c}:{}}}).filter(a=>!!a).filter((a,b,c)=>c.findIndex(b=>b.id===a.id)===b).slice(0,500);if(!i.length)throw Error("响应中没有可识别的模型 ID");return i}catch(a){if(a instanceof Error&&"AbortError"===a.name)throw Error("模型目录请求超时");if(a&&"object"==typeof a&&"code"in a&&["ECONNREFUSED","ECONNRESET","ENOTFOUND","EHOSTUNREACH","ENETUNREACH","ETIMEDOUT"].includes(String(a.code))||a instanceof TypeError&&a.message.toLowerCase().includes("fetch"))throw Error("无法连接模型目录,请检查 API 地址和网络");throw a}finally{clearTimeout(i)}}let az=new Map;async function M(a,b=!1){let c=function(a){switch(a){case"xai":return aa;case"openai-codex":return Q;case"anthropic":return R;case"deepseek":return T;case"openrouter":return U;case"moonshotai":return()=>V("moonshotai");case"moonshotai-cn":return()=>V("moonshotai-cn");case"kimi-coding":return Y;case"github-copilot":return Z;case"vercel-ai-gateway":return $;case"opencode-go":return _;default:return null}}(a);if(!c)return null;let d=az.get(a);if(!b&&d&&Date.now()-d.at<3e5)return d.value;let e=await c();return az.set(a,{at:Date.now(),value:e}),e}async function N(a,b,c=1e4){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{...b,signal:d.signal});if(!c.ok)return void c.body?.cancel().catch(()=>{});return await c.json()}catch{return}finally{clearTimeout(e)}}function O(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:void 0}function P(a){if("string"!=typeof a)return;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():void 0}async function Q(){let a=await G("openai-codex");if(!a)return null;let b=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1]??"","base64").toString("utf8")),c=b?.["https://api.openai.com/auth"]?.chatgpt_plan_type;return"string"==typeof c&&c.trim()?c.trim():void 0}catch{return}}(a.key),c=await N("https://chatgpt.com/backend-api/wham/usage",{headers:{Authorization:`Bearer ${a.key}`,...a.accountId?{"chatgpt-account-id":a.accountId}:{}}});if(void 0===c)return void 0===b?null:{kind:"quota",planType:b,windows:[],probedAt:Date.now()};let d=function(a){let b=O(a);if(!b)return{windows:[]};let c=O(b.rate_limit),d=[c?.primary_window,c?.secondary_window].map(O).flatMap(a=>{let b;if(!a||"number"!=typeof a.limit_window_seconds||a.limit_window_seconds<=0||"number"!=typeof a.used_percent||!Number.isFinite(a.used_percent))return[];if(Number.isSafeInteger(a.reset_at)&&a.reset_at>0){let c=new Date(1e3*a.reset_at);Number.isFinite(c.getTime())&&(b=c.toISOString())}return[{limitWindowSeconds:a.limit_window_seconds,remainingPercent:Math.min(100,Math.max(0,Math.round(100-a.used_percent))),...void 0===b?{}:{resetAt:b}}]}).sort(X),e=b.plan_type;return{..."string"==typeof e&&e.trim()?{planType:e.trim()}:{},windows:d}}(c),e=d.planType??b;return{kind:"quota",...d,...void 0===e?{}:{planType:e},probedAt:Date.now()}}async function R(){let a=await G("anthropic");if(!a?.oauth)return null;let b=await N("https://api.anthropic.com/api/oauth/usage",{headers:{Authorization:`Bearer ${a.key}`,"anthropic-beta":"oauth-2025-04-20"}});if(void 0===b)return null;let c=function(a){let b=O(a);if(!b)return{windows:[]};let c=(a,c,d)=>{let e=O(b[a]);if(!e||"number"!=typeof e.utilization||!Number.isFinite(e.utilization))return[];let f=P(e.resets_at);return[{limitWindowSeconds:c,remainingPercent:Math.min(100,Math.max(0,Math.round(100-e.utilization))),...void 0===f?{}:{resetAt:f},...void 0===d?{}:{variant:d}}]};return{windows:[...c("five_hour",18e3),...c("seven_day",y.fv),...c("seven_day_opus",y.fv,"opus")].sort(X)}}(b);return 0===c.windows.length?null:{kind:"quota",...c,probedAt:Date.now()}}function S(a,b){return"number"==typeof a&&Number.isFinite(a)?{amount:a.toFixed(2),...void 0===b?{}:{currency:b}}:"string"==typeof a&&a.trim()&&Number.isFinite(Number(a))?{amount:Number(a).toFixed(2),...void 0===b?{}:{currency:b}}:void 0}let aA={moonshotai:{base:"https://api.moonshot.ai",currency:"USD"},"moonshotai-cn":{base:"https://api.moonshot.cn",currency:"CNY"}};async function T(){let a=await G("deepseek");if(!a)return null;let b=await N("https://api.deepseek.com/user/balance",{headers:{Authorization:`Bearer ${a.key}`}});return void 0===b?null:{kind:"balance",...function(a){let b=O(a),c=(Array.isArray(b?.balance_infos)?b.balance_infos.map(O).filter(Boolean):[])[0];if(!c)return{details:[]};let d="string"==typeof c.currency&&c.currency.trim()?c.currency.trim():void 0,e=[],f=S(c.granted_balance,d);f&&e.push({key:"granted",...f});let g=S(c.topped_up_balance,d);g&&e.push({key:"toppedUp",...g});let h=S(c.total_balance,d);return{...void 0===h?{}:{primary:h},details:e}}(b),probedAt:Date.now()}}async function U(){let a=await G("openrouter");if(!a)return null;let b=await N("https://openrouter.ai/api/v1/key",{headers:{Authorization:`Bearer ${a.key}`}});return void 0===b?null:{kind:"balance",...function(a){let b=O(O(a)?.data);if(!b)return{details:[]};let c=[],d=S(b.limit,"USD");d&&c.push({key:"limit",...d});let e=S(b.usage,"USD");e&&c.push({key:"used",...e});let f=S(b.limit_remaining,"USD");return f?{primary:f,details:c}:e?{primaryKey:"used",primary:e,details:c}:{details:c}}(b),probedAt:Date.now()}}async function V(a){let b=await G(a);if(!b)return null;let c=aA[a],d=await N(`${c.base}/v1/users/me/balance`,{headers:{Authorization:`Bearer ${b.key}`}});return void 0===d?null:{kind:"balance",...function(a,b){let c=O(a),d=O(c?.data);if(!d||c?.status===!1)return{details:[]};let e=[],f=S(d.voucher_balance,b);f&&e.push({key:"voucher",...f});let g=S(d.cash_balance,b);g&&e.push({key:"cash",...g});let h=S(d.available_balance,b);return{...void 0===h?{}:{primary:h},details:e}}(d,c.currency),probedAt:Date.now()}}function W(a){return Math.min(100,Math.max(0,Math.round(100-a)))}function X(a,b){return(a.limitWindowSeconds??1/0)-(b.limitWindowSeconds??1/0)}async function Y(){let a=await G("kimi-coding");if(!a)return null;let b=await N("https://api.kimi.com/coding/v1/usages",{headers:{Authorization:`Bearer ${a.key}`,Accept:"application/json"}});if(void 0===b)return null;let c=function(a){let b=O(O(a)?.usages);if(!b)return{windows:[]};let c=(a,c,d)=>{let e=O(b[a]);if(!e||"number"!=typeof e.used_ratio||!Number.isFinite(e.used_ratio))return[];let f=P(e.reset_time);return[{limitWindowSeconds:c,remainingPercent:W(100*e.used_ratio),...void 0===f?{}:{resetAt:f},...void 0===d?{}:{variant:d}}]};return{windows:[...c("limit_5h",18e3),...c("limit_7d",y.fv),...c("limit_month_total",y.lG),...c("limit_month_code",y.lG,"code")].sort(X)}}(b);return 0===c.windows.length?null:{kind:"quota",...c,probedAt:Date.now()}}async function Z(){let a=await G("github-copilot");if(!a?.oauth)return null;let b=await N("https://api.github.com/copilot_internal/user",{headers:{Authorization:`Bearer ${a.key}`,Accept:"application/json"}});if(void 0===b)return null;let c=function(a){let b=O(a);if(!b)return{windows:[]};let c=O(b.quota_snapshots),d=b.copilot_plan,e=P(b.quota_reset_date),f=[["premium_interactions","premium"],["chat","chat"],["completions","completions"]].flatMap(([a,b])=>{let d=O(c?.[a]);return d&&!1!==d.has_quota&&!0!==d.unlimited&&"number"==typeof d.percent_remaining&&Number.isFinite(d.percent_remaining)?[{remainingPercent:Math.min(100,Math.max(0,Math.round(d.percent_remaining))),...void 0===e?{}:{resetAt:e},name:b}]:[]});return{..."string"==typeof d&&d.trim()?{planType:d.trim()}:{},windows:f}}(b);return 0===c.windows.length&&void 0===c.planType?null:{kind:"quota",...c,probedAt:Date.now()}}async function $(){let a=await G("vercel-ai-gateway");if(!a)return null;let b=await N("https://ai-gateway.vercel.sh/v1/credits",{headers:{Authorization:`Bearer ${a.key}`}});return void 0===b?null:{kind:"balance",...function(a){let b=O(a);if(!b)return{details:[]};let c=[],d=S(b.total_used,"USD");d&&c.push({key:"used",...d});let e=S(b.balance,"USD");return{...void 0===e?{}:{primary:e},details:c}}(b),probedAt:Date.now()}}async function _(){let a=await G("opencode-go");if(!a)return null;let b=await N("https://opencode.ai/zen/go/v1/usage",{headers:{Authorization:`Bearer ${a.key}`,Accept:"application/json"}});if(void 0===b)return null;let c=function(a){let b=O(O(a)?.usage);if(!b)return{windows:[]};let c=(a,c)=>{let d=O(b[a]);if(!d||"number"!=typeof d.percent||!Number.isFinite(d.percent))return[];let e=P(d.resetsAt);return[{...void 0===c?{name:a}:{limitWindowSeconds:c},remainingPercent:W(d.percent),...void 0===e?{}:{resetAt:e}}]};return{windows:[...c("rolling"),...c("weekly",y.fv),...c("monthly",y.lG)].sort(X)}}(b);return 0===c.windows.length?null:{kind:"quota",...c,probedAt:Date.now()}}async function aa(){let a=await G("xai");if(!a)return null;let b=a.key,c="";try{let a=(await (0,r.uU)()).getModels("xai").map(a=>String(a.id)).filter(a=>!a.includes("imagine")&&!a.includes("multi-agent"));c=["grok-4.6","grok-4.5","grok-4.3"].find(b=>a.some(a=>a===b||a.startsWith(`${b}-`)))??a[0]??""}catch{return null}if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),2e4);try{let a=await fetch("https://api.x.ai/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${b}`,"Content-Type":"application/json"},body:JSON.stringify({model:c,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:d.signal});a.body?.cancel().catch(()=>{});let e=b=>Number(a.headers.get(b)??NaN),f=e("x-ratelimit-limit-requests"),g=e("x-ratelimit-remaining-requests"),h=e("x-ratelimit-limit-tokens"),i=e("x-ratelimit-remaining-tokens");if(![f,g,h,i].every(Number.isFinite))return null;return{kind:"xai",model:c,requestLimit:f,requestRemaining:g,tokenLimit:h,tokenRemaining:i,probedAt:Date.now()}}catch{return null}finally{clearTimeout(e)}}let aB=new Map;function ab(){let a=Date.now();for(let[b,c]of aB)c.done&&void 0!==c.finishedAt&&a-c.finishedAt>6e5&&aB.delete(b)}function ac(a){return aB.get(a.providerId)===a&&!a.done&&!a.controller.signal.aborted}function ad(a){if(a.controller.signal.throwIfAborted(),!ac(a))throw Error("canceled")}function ae(a,b){return aB.get(a.providerId)===a&&!a.done&&(a.done=!0,void 0!==b&&(a.error=b instanceof Error?b.message:String(b)),a.finishedAt=Date.now(),a.timeout&&clearTimeout(a.timeout),a.timeout=null,a.rejecter?.(b instanceof Error?b:Error(a.error??"login finished")),a.prompt=null,a.resolver=null,a.rejecter=null,!0)}function af(a,b){ae(a,b),a.controller.abort(b)}function ag(a){ab();let b=aB.get(a);b&&!b.done&&af(b,Error("canceled"));let c={providerId:a,controller:new AbortController,timeout:null,prompt:null,resolver:null,rejecter:null,notifyLog:[],done:!1};return aB.set(a,c),c.timeout=setTimeout(()=>af(c,Error("login timed out")),6e5),c.timeout.unref?.(),c}async function ah(a){try{let b=await (0,r.uU)();return ad(a),b}catch(b){throw ae(a,b),b}}async function ai(a,b,c,d){let e=!1,f={signal:a.controller.signal,prompt:async b=>{let c;return(ad(a),b.signal?.throwIfAborted(),void 0===d||e||"select"===b.type)?(ad(a),(c=b.signal?AbortSignal.any([a.controller.signal,b.signal]):a.controller.signal).throwIfAborted(),a.rejecter?.(Error("prompt replaced")),new Promise((d,e)=>{let f=!1,g=()=>{c.removeEventListener("abort",j),a.resolver===h&&(a.prompt=null,a.resolver=null,a.rejecter=null)},h=a=>{f||(f=!0,g(),d(a))},i=a=>{f||(f=!0,g(),e(a))},j=()=>i(c.reason instanceof Error?c.reason:Error("canceled"));a.prompt=b,a.resolver=h,a.rejecter=i,c.addEventListener("abort",j,{once:!0}),c.aborted&&j()})):(e=!0,d)},notify:b=>{ac(a)&&(a.notifyLog.push("string"==typeof b?b:JSON.stringify(b)),a.notifyLog.length>20&&a.notifyLog.shift())}};try{ad(a),await b.login(a.providerId,c,f),ad(a),ae(a)&&(av=null)}catch(b){throw ae(a,b),b}}async function aj(a){let b=ag(a),c=await ah(b);ai(b,c,"oauth").catch(()=>void 0)}function ak(a){ab();let b=aB.get(a);return b?{prompt:b.prompt?{type:b.prompt.type,message:b.prompt.message,placeholder:"placeholder"in b.prompt?b.prompt.placeholder:void 0,options:"select"===b.prompt.type?b.prompt.options.map(a=>({label:a.label,value:a.id})):void 0}:null,notifyLog:[...b.notifyLog],done:b.done,error:b.error}:{prompt:null,notifyLog:[],done:!0}}function al(a,b){let c=aB.get(a);return!!c&&!!ac(c)&&!!c.resolver&&(c.resolver(b),!0)}function am(a){ab();let b=aB.get(a);return!!b&&(b.done||af(b,Error("canceled")),!0)}function an(){return h().join((0,r.$M)(),"models.json")}class aC extends Error{}class aD extends Error{constructor(){super("models.json 已被修改,请重新加载后再保存")}}function ao(a){let b=[],c=(0,p.cZ)(a.replace(/^\uFEFF/,""),b,{allowTrailingComma:!0,allowEmptyContent:!1});if(b.length||!c){let a=b[0];throw new aC(`models.json JSONC 无效${a?` (${(0,p._n)(a.error)}, offset ${a.offset})`:""}`)}let d=(0,p.yQ)(c);if(!ap(d)||!ap(d.providers))throw new aC('models.json 顶层必须是 { "providers": { ... } }');for(let[a,b]of Object.entries(d.providers))if(!ap(b))throw new aC(`provider "${a}" 必须是对象`);return d}function ap(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}async function aq(a){try{let b=await f().readFile(a,"utf8");return{content:b,revision:(0,i.createHash)("sha256").update(b).digest("hex")}}catch(a){if("ENOENT"!==a.code)throw a;return{content:void 0,revision:"missing"}}}async function ar(){let a=await aq(an());return{...function(a){let b=ao(a),c=[];for(let[a,d]of Object.entries(b.providers))Object.prototype.hasOwnProperty.call(d,"apiKey")&&(delete d.apiKey,c.push(a));return{content:JSON.stringify(b,null,2),secretProviderIds:c}}(a.content??'{"providers":{}}'),exists:void 0!==a.content,revision:a.revision}}async function as(a){let b=(await o.ModelRuntime.create({modelsPath:a,credentials:new u.f,modelsStore:new v.E,allowModelNetwork:!1,refreshOnCreate:!1})).getError();if(b)throw new aC(b)}async function at(a,b){let c=an();await (0,x.Ax)(c,()=>(0,x._i)(c,async()=>{let d=await aq(c);if(void 0!==b&&b!==d.revision)throw new aD;let e=ao(a),g=ao(d.content??'{"providers":{}}'),h=`${c}.${process.pid}.${(0,i.randomUUID)()}.tmp`;try{void 0!==d.content&&(await f().writeFile(h,JSON.stringify(g,null,2),{encoding:"utf8",flag:"wx",mode:384}),await as(h));for(let[a,b]of Object.entries(e.providers))if(null===b.apiKey)delete b.apiKey;else if(void 0===b.apiKey){let c=g.providers[a];c&&Object.prototype.hasOwnProperty.call(c,"apiKey")&&(b.apiKey=c.apiKey)}for(let a of Object.values(e.providers))void 0===a.apiKey&&"string"==typeof a.baseUrl&&/^https?:\/\/(localhost|127\.0\.0\.1|\[::1\]|192\.168\.|10\.|172\.(1[6-9]|2\d|3[01])\.)/i.test(a.baseUrl.trim())&&(a.apiKey="unused");for(let[a,b]of Object.entries(e.providers)){if(!a.trim())throw new aC("provider ID 必须是非空字符串");let c=Array.isArray(b.models)?b.models:[],d=ap(b.modelOverrides)?Object.values(b.modelOverrides):[];for(let b of[...c,...d])if(ap(b)){for(let c of["contextWindow","maxTokens"])if(void 0!==b[c]&&("number"!=typeof b[c]||!Number.isSafeInteger(b[c])||b[c]<=0))throw new aC(`provider "${a}" 的 ${c} 必须是正整数`)}}if(await f().writeFile(h,JSON.stringify(e,null,2),{encoding:"utf8",flag:void 0===d.content?"wx":"w",mode:384}),await as(h),(await aq(c)).revision!==d.revision)throw new aD;await f().rename(h,c)}finally{await f().rm(h,{force:!0}).catch(()=>void 0)}})),(0,r.rC)(),av=null,await (0,t.Sj)()}d()}catch(a){d(a)}})},71322:(a,b,c)=>{function d(a){if(void 0!==a.reason)return a.reason;let b=Error("The operation was aborted");return b.name="AbortError",b}c.d(b,{f:()=>e});class e{credentials=new Map;chains=new Map;enqueue(a,b,c){let e=c?.signal??new AbortController().signal,f=this.chains.get(a)??Promise.resolve(),g=(async()=>(await f.catch(()=>{}),e.throwIfAborted(),b()))(),h=g.catch(()=>{});return this.chains.set(a,h),h.then(()=>{this.chains.get(a)===h&&this.chains.delete(a)}),e.aborted?(g.catch(()=>{}),Promise.reject(d(e))):new Promise((a,b)=>{let c=!1,f=()=>{c||(c=!0,e.removeEventListener("abort",f),b(d(e)))};e.addEventListener("abort",f,{once:!0}),g.then(b=>{c||(c=!0,e.removeEventListener("abort",f),a(b))},a=>{c||(c=!0,e.removeEventListener("abort",f),b(a))}),e.aborted&&f()})}async read(a,b){return b?.signal?.throwIfAborted(),this.credentials.get(a)}async list(a){return a?.signal?.throwIfAborted(),[...this.credentials].map(([a,b])=>({providerId:a,type:b.type}))}modify(a,b,c){return this.enqueue(a,async()=>{let d=this.credentials.get(a),e=await b(d);return c?.signal?.throwIfAborted(),void 0!==e&&this.credentials.set(a,e),e??d},c)}delete(a,b){return this.enqueue(a,async()=>{this.credentials.delete(a)},b)}}},71553:a=>{a.exports=require("node:dns/promises")},71808:(a,b,c)=>{var d,e,f,g,h,i,j,k,l;function m(a){return 32===a||9===a}function n(a){return 10===a||13===a}function o(a){return a>=48&&a<=57}c.d(b,{yQ:()=>q,cZ:()=>p,_n:()=>r}),(i=d||(d={}))[i.lineFeed=10]="lineFeed",i[i.carriageReturn=13]="carriageReturn",i[i.space=32]="space",i[i._0=48]="_0",i[i._1=49]="_1",i[i._2=50]="_2",i[i._3=51]="_3",i[i._4=52]="_4",i[i._5=53]="_5",i[i._6=54]="_6",i[i._7=55]="_7",i[i._8=56]="_8",i[i._9=57]="_9",i[i.a=97]="a",i[i.b=98]="b",i[i.c=99]="c",i[i.d=100]="d",i[i.e=101]="e",i[i.f=102]="f",i[i.g=103]="g",i[i.h=104]="h",i[i.i=105]="i",i[i.j=106]="j",i[i.k=107]="k",i[i.l=108]="l",i[i.m=109]="m",i[i.n=110]="n",i[i.o=111]="o",i[i.p=112]="p",i[i.q=113]="q",i[i.r=114]="r",i[i.s=115]="s",i[i.t=116]="t",i[i.u=117]="u",i[i.v=118]="v",i[i.w=119]="w",i[i.x=120]="x",i[i.y=121]="y",i[i.z=122]="z",i[i.A=65]="A",i[i.B=66]="B",i[i.C=67]="C",i[i.D=68]="D",i[i.E=69]="E",i[i.F=70]="F",i[i.G=71]="G",i[i.H=72]="H",i[i.I=73]="I",i[i.J=74]="J",i[i.K=75]="K",i[i.L=76]="L",i[i.M=77]="M",i[i.N=78]="N",i[i.O=79]="O",i[i.P=80]="P",i[i.Q=81]="Q",i[i.R=82]="R",i[i.S=83]="S",i[i.T=84]="T",i[i.U=85]="U",i[i.V=86]="V",i[i.W=87]="W",i[i.X=88]="X",i[i.Y=89]="Y",i[i.Z=90]="Z",i[i.asterisk=42]="asterisk",i[i.backslash=92]="backslash",i[i.closeBrace=125]="closeBrace",i[i.closeBracket=93]="closeBracket",i[i.colon=58]="colon",i[i.comma=44]="comma",i[i.dot=46]="dot",i[i.doubleQuote=34]="doubleQuote",i[i.minus=45]="minus",i[i.openBrace=123]="openBrace",i[i.openBracket=91]="openBracket",i[i.plus=43]="plus",i[i.slash=47]="slash",i[i.formFeed=12]="formFeed",i[i.tab=9]="tab",Array(20).fill(0).map((a,b)=>" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\n"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r\n"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\n"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r"+" ".repeat(b)),Array(200).fill(0).map((a,b)=>"\r\n"+" ".repeat(b)),(e||(e={})).DEFAULT={allowTrailingComma:!1},(j=f||(f={}))[j.None=0]="None",j[j.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",j[j.UnexpectedEndOfString=2]="UnexpectedEndOfString",j[j.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",j[j.InvalidUnicode=4]="InvalidUnicode",j[j.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",j[j.InvalidCharacter=6]="InvalidCharacter",(k=g||(g={}))[k.OpenBraceToken=1]="OpenBraceToken",k[k.CloseBraceToken=2]="CloseBraceToken",k[k.OpenBracketToken=3]="OpenBracketToken",k[k.CloseBracketToken=4]="CloseBracketToken",k[k.CommaToken=5]="CommaToken",k[k.ColonToken=6]="ColonToken",k[k.NullKeyword=7]="NullKeyword",k[k.TrueKeyword=8]="TrueKeyword",k[k.FalseKeyword=9]="FalseKeyword",k[k.StringLiteral=10]="StringLiteral",k[k.NumericLiteral=11]="NumericLiteral",k[k.LineCommentTrivia=12]="LineCommentTrivia",k[k.BlockCommentTrivia=13]="BlockCommentTrivia",k[k.LineBreakTrivia=14]="LineBreakTrivia",k[k.Trivia=15]="Trivia",k[k.Unknown=16]="Unknown",k[k.EOF=17]="EOF";let p=function(a,b=[],c=e.DEFAULT){let d={type:"array",offset:-1,length:-1,children:[],parent:void 0};function f(a){"property"===d.type&&(d.length=a-d.offset,d=d.parent)}function g(a){return d.children.push(a),a}!function(a,b,c=e.DEFAULT){var d;let f=function(a,b=!1){let c=a.length,d=0,e="",f=0,g=16,h=0,i=0,j=0,k=0,l=0;function p(){if(e="",l=0,f=d,i=h,k=j,d>=c)return f=c,g=17;let b=a.charCodeAt(d);if(m(b)){do d++,e+=String.fromCharCode(b),b=a.charCodeAt(d);while(m(b));return g=15}if(n(b))return d++,e+=String.fromCharCode(b),13===b&&10===a.charCodeAt(d)&&(d++,e+="\n"),h++,j=d,g=14;switch(b){case 123:return d++,g=1;case 125:return d++,g=2;case 91:return d++,g=3;case 93:return d++,g=4;case 58:return d++,g=6;case 44:return d++,g=5;case 34:return d++,e=function(){let b="",e=d;for(;;){if(d>=c){b+=a.substring(e,d),l=2;break}let f=a.charCodeAt(d);if(34===f){b+=a.substring(e,d),d++;break}if(92===f){if(b+=a.substring(e,d),++d>=c){l=2;break}switch(a.charCodeAt(d++)){case 34:b+='"';break;case 92:b+="\\";break;case 47:b+="/";break;case 98:b+="\b";break;case 102:b+="\f";break;case 110:b+="\n";break;case 114:b+="\r";break;case 116:b+=" ";break;case 117:let f=function(b){let c=0,e=0;for(;c<4||!b;){let b=a.charCodeAt(d);if(b>=48&&b<=57)e=16*e+b-48;else if(b>=65&&b<=70)e=16*e+b-65+10;else if(b>=97&&b<=102)e=16*e+b-97+10;else break;d++,c++}return c<4&&(e=-1),e}(!0);f>=0?b+=String.fromCharCode(f):l=4;break;default:l=5}e=d;continue}if(f>=0&&f<=31)if(n(f)){b+=a.substring(e,d),l=2;break}else l=6;d++}return b}(),g=10;case 47:let p=d-1;if(47===a.charCodeAt(d+1)){for(d+=2;d<c&&!n(a.charCodeAt(d));)d++;return e=a.substring(p,d),g=12}if(42===a.charCodeAt(d+1)){d+=2;let b=c-1,f=!1;for(;d<b;){let b=a.charCodeAt(d);if(42===b&&47===a.charCodeAt(d+1)){d+=2,f=!0;break}d++,n(b)&&(13===b&&10===a.charCodeAt(d)&&d++,h++,j=d)}return f||(d++,l=1),e=a.substring(p,d),g=13}return e+=String.fromCharCode(b),d++,g=16;case 45:if(e+=String.fromCharCode(b),++d===c||!o(a.charCodeAt(d)))return g=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return e+=function(){let b=d;if(48===a.charCodeAt(d))d++;else for(d++;d<a.length&&o(a.charCodeAt(d));)d++;if(d<a.length&&46===a.charCodeAt(d)){if(!(++d<a.length&&o(a.charCodeAt(d))))return l=3,a.substring(b,d);for(d++;d<a.length&&o(a.charCodeAt(d));)d++}let c=d;if(d<a.length&&(69===a.charCodeAt(d)||101===a.charCodeAt(d)))if((++d<a.length&&43===a.charCodeAt(d)||45===a.charCodeAt(d))&&d++,d<a.length&&o(a.charCodeAt(d))){for(d++;d<a.length&&o(a.charCodeAt(d));)d++;c=d}else l=3;return a.substring(b,c)}(),g=11;default:for(;d<c&&function(a){if(m(a)||n(a))return!1;switch(a){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}(b);)d++,b=a.charCodeAt(d);if(f!==d){switch(e=a.substring(f,d)){case"true":return g=8;case"false":return g=9;case"null":return g=7}return g=16}return e+=String.fromCharCode(b),d++,g=16}}return{setPosition:function(a){d=a,e="",f=0,g=16,l=0},getPosition:()=>d,scan:b?function(){let a;do a=p();while(a>=12&&a<=15);return a}:p,getToken:()=>g,getTokenValue:()=>e,getTokenOffset:()=>f,getTokenLength:()=>d-f,getTokenStartLine:()=>i,getTokenStartCharacter:()=>f-k,getTokenError:()=>l}}(a,!1),g=[],h=0;function i(a){return a?b=>0===h&&a(b,f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter()):()=>!0}function j(a){return a?b=>0===h&&a(b,f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter(),()=>g.slice()):()=>!0}function k(a){return a?()=>{h>0?h++:!1===a(f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter(),()=>g.slice())&&(h=1)}:()=>!0}function l(a){return a?()=>{h>0&&h--,0===h&&a(f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter())}:()=>!0}let p=k(b.onObjectBegin),q=j(b.onObjectProperty),r=l(b.onObjectEnd),s=k(b.onArrayBegin),t=l(b.onArrayEnd),u=j(b.onLiteralValue),v=i(b.onSeparator),w=(d=b.onComment)?()=>0===h&&d(f.getTokenOffset(),f.getTokenLength(),f.getTokenStartLine(),f.getTokenStartCharacter()):()=>!0,x=i(b.onError),y=c&&c.disallowComments,z=c&&c.allowTrailingComma;function A(){for(;;){let a=f.scan();switch(f.getTokenError()){case 4:B(14);break;case 5:B(15);break;case 3:B(13);break;case 1:y||B(11);break;case 2:B(12);break;case 6:B(16)}switch(a){case 12:case 13:y?B(10):w();break;case 16:B(1);break;case 15:case 14:break;default:return a}}}function B(a,b=[],c=[]){if(x(a),b.length+c.length>0){let a=f.getToken();for(;17!==a;){if(-1!==b.indexOf(a)){A();break}if(-1!==c.indexOf(a))break;a=A()}}}function C(a){let b=f.getTokenValue();return a?u(b):(q(b),g.push(b)),A(),!0}if(A(),17===f.getToken())return c.allowEmptyContent||B(4,[],[]);!function a(){switch(f.getToken()){case 3:s(),A();let b=!0,c=!1;for(;4!==f.getToken()&&17!==f.getToken();){if(5===f.getToken()){if(c||B(4,[],[]),v(","),A(),4===f.getToken()&&z)break}else c&&B(6,[],[]);b?(g.push(0),b=!1):g[g.length-1]++,a()||B(4,[],[4,5]),c=!0}return t(),b||g.pop(),4!==f.getToken()?B(8,[4],[]):A(),!0;case 1:p(),A();let d=!1;for(;2!==f.getToken()&&17!==f.getToken();){if(5===f.getToken()){if(d||B(4,[],[]),v(","),A(),2===f.getToken()&&z)break}else d&&B(6,[],[]);(10!==f.getToken()?(B(3,[],[2,5]),1):(C(!1),6===f.getToken()?(v(":"),A(),a()||B(4,[],[2,5])):B(5,[],[2,5]),g.pop(),0))&&B(4,[],[2,5]),d=!0}return r(),2!==f.getToken()?B(7,[2],[]):A(),!0;case 10:return C(!0);default:switch(f.getToken()){case 11:let e=Number(f.getTokenValue());isNaN(e)&&(B(2),e=0),u(e);break;case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return A(),!0}}()?B(4,[],[]):17!==f.getToken()&&B(9,[],[])}(a,{onObjectBegin:a=>{d=g({type:"object",offset:a,length:-1,parent:d,children:[]})},onObjectProperty:(a,b,c)=>{(d=g({type:"property",offset:b,length:-1,parent:d,children:[]})).children.push({type:"string",value:a,offset:b,length:c,parent:d})},onObjectEnd:(a,b)=>{f(a+b),d.length=a+b-d.offset,d=d.parent,f(a+b)},onArrayBegin:(a,b)=>{d=g({type:"array",offset:a,length:-1,parent:d,children:[]})},onArrayEnd:(a,b)=>{d.length=a+b-d.offset,d=d.parent,f(a+b)},onLiteralValue:(a,b,c)=>{g({type:function(a){switch(typeof a){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":if(!a)return"null";if(Array.isArray(a))return"array";return"object";default:return"null"}}(a),offset:b,length:c,parent:d,value:a}),f(b+c)},onSeparator:(a,b,c)=>{"property"===d.type&&(":"===a?d.colonOffset=b:","===a&&f(b))},onError:(a,c,d)=>{b.push({error:a,offset:c,length:d})}},c);let h=d.children[0];return h&&delete h.parent,h},q=function a(b){switch(b.type){case"array":return b.children.map(a);case"object":let c=Object.create(null);for(let d of b.children){let b=d.children[1];b&&(c[d.children[0].value]=a(b))}return c;case"null":case"string":case"number":case"boolean":return b.value;default:return}};function r(a){switch(a){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}(l=h||(h={}))[l.InvalidSymbol=1]="InvalidSymbol",l[l.InvalidNumberFormat=2]="InvalidNumberFormat",l[l.PropertyNameExpected=3]="PropertyNameExpected",l[l.ValueExpected=4]="ValueExpected",l[l.ColonExpected=5]="ColonExpected",l[l.CommaExpected=6]="CommaExpected",l[l.CloseBraceExpected=7]="CloseBraceExpected",l[l.CloseBracketExpected=8]="CloseBracketExpected",l[l.EndOfFileExpected=9]="EndOfFileExpected",l[l.InvalidCommentToken=10]="InvalidCommentToken",l[l.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",l[l.UnexpectedEndOfString=12]="UnexpectedEndOfString",l[l.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",l[l.InvalidUnicode=14]="InvalidUnicode",l[l.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",l[l.InvalidCharacter=16]="InvalidCharacter"},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},80481:a=>{a.exports=require("node:readline")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")},97138:(a,b,c)=>{c.d(b,{fv:()=>d,lG:()=>e});let d=604800,e=2592e3}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813,593,131,532,686],()=>b(b.s=24503));module.exports=c})();
|