@rexvane/piweb 0.3.15 → 0.3.16
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 +9 -6
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +6 -6
- package/.next/react-loadable-manifest.json +16 -4
- package/.next/routes-manifest.json +20 -0
- 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 +7 -4
- package/.next/server/app/_not-found.segments/_full.segment.rsc +7 -4
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -2
- 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/swarm/[id]/route.js +1 -0
- package/.next/server/app/api/swarm/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/swarm/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/swarm/route.js +1 -0
- package/.next/server/app/api/swarm/route.js.nft.json +1 -0
- package/.next/server/app/api/swarm/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tests/route.js +2 -0
- package/.next/server/app/api/tests/route.js.nft.json +1 -0
- package/.next/server/app/api/tests/route_client-reference-manifest.js +1 -0
- 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 +9 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -4
- package/.next/server/app/index.segments/_full.segment.rsc +9 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +5 -2
- 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 +8 -5
- package/.next/server/app/login.segments/_full.segment.rsc +8 -5
- package/.next/server/app/login.segments/_tree.segment.rsc +5 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -3
- 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 +9 -6
- package/.next/server/chunks/496.js +1 -1
- package/.next/server/chunks/532.js +1 -1
- package/.next/server/chunks/686.js +6 -2
- package/.next/server/chunks/757.js +1 -0
- package/.next/server/chunks/775.js +3 -0
- 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/0t1jBUAuVaTFTXxRyIo3q/_buildManifest.js +1 -0
- package/.next/static/chunks/2608.43c58236c9cce8e6.js +1 -0
- package/.next/static/chunks/{2716.a9e808190a4e2424.js → 2716.4ec42df1d51354c9.js} +1 -1
- package/.next/static/chunks/4632.62139b565b657aac.js +1 -0
- package/.next/static/chunks/{4673.d3d0a7f2599080fb.js → 4673.7796104395deb8d7.js} +1 -1
- package/.next/static/chunks/4686-17f21a006739a596.js +1 -0
- package/.next/static/chunks/7577.10af9bb661652da8.js +1 -0
- package/.next/static/chunks/8866.38ec4ac4ee5a1b74.js +1 -0
- package/.next/static/chunks/app/_global-error/page-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/tree/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/config/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/files/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/git/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/growth/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/health/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/models/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/pi-settings/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/prompts/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/security/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/skills/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/swarm/[id]/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/swarm/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/tests/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/update/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/version/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/api/workspaces/route-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/app/page-14379b8060d5cf07.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-5148173b3f55e415.js +1 -0
- package/.next/static/chunks/webpack-d1a69ad9edb38b11.js +1 -0
- package/.next/static/css/d0a0162cb481abe8.css +1 -0
- package/.next/types/app/api/swarm/[id]/route.ts +353 -0
- package/.next/types/app/api/swarm/route.ts +353 -0
- package/.next/types/app/api/tests/route.ts +353 -0
- package/.next/types/routes.d.ts +4 -1
- package/.next/types/validator.ts +27 -0
- package/README.md +10 -0
- package/package.json +4 -3
- package/scripts/pick-folder.ps1 +11 -2
- package/scripts/release.mjs +11 -31
- package/scripts/run-test-file.mjs +34 -0
- package/scripts/verify-release-config.mjs +24 -0
- package/src/app/api/config/route.ts +4 -1
- package/src/app/api/security/route.ts +8 -3
- package/src/app/api/swarm/[id]/route.ts +28 -0
- package/src/app/api/swarm/route.ts +24 -0
- package/src/app/api/tests/route.ts +27 -0
- package/src/app/api/update/route.ts +8 -2
- package/src/app/globals.css +777 -0
- package/src/app/layout.tsx +13 -6
- package/src/components/AppShell.tsx +505 -199
- package/src/components/ChatInput.tsx +153 -26
- package/src/components/ChatWindow.tsx +46 -40
- package/src/components/ContextMeter.tsx +11 -17
- package/src/components/FileViewer.tsx +1 -1
- package/src/components/GitPanel.tsx +13 -11
- package/src/components/ModelSelector.tsx +19 -6
- package/src/components/PiMark.tsx +5 -38
- package/src/components/ProjectPanel.tsx +1 -0
- package/src/components/PromptPanel.tsx +132 -51
- package/src/components/SessionImportSection.tsx +17 -17
- package/src/components/SessionSidebar.tsx +159 -57
- package/src/components/SettingsPanel.tsx +330 -193
- package/src/components/SwarmCoordinatorPod.tsx +1021 -0
- package/src/components/TestInspectorPod.tsx +549 -0
- package/src/components/icons.tsx +23 -0
- package/src/hooks/usePiWeb.ts +112 -8
- package/src/i18n.tsx +59 -3
- package/src/lib/agent-manager.ts +180 -12
- package/src/lib/command-validation.ts +9 -1
- package/src/lib/delegation.ts +93 -0
- package/src/lib/managed-niubash.ts +8 -4
- package/src/lib/pi.ts +3 -2
- package/src/lib/runtime-activity.ts +27 -0
- package/src/lib/session-import/index.ts +5 -0
- package/src/lib/session-import/lock.ts +25 -0
- package/src/lib/session-import/writer.ts +8 -3
- package/src/lib/skills-service.ts +16 -9
- package/src/lib/swarm-service.ts +371 -0
- package/src/lib/test-run-service.ts +122 -0
- package/src/lib/theme.ts +68 -1
- package/src/lib/trajectory.ts +1 -0
- package/src/lib/types.ts +14 -0
- package/src/lib/workflow.ts +55 -0
- package/.next/static/DdBwPYoHBKtaJ97QIr6Co/_buildManifest.js +0 -1
- package/.next/static/chunks/2608.ec8ff1f5767c9056.js +0 -1
- package/.next/static/chunks/4632.0ed92ae42905ce40.js +0 -1
- package/.next/static/chunks/4686-7d694def920ff093.js +0 -1
- package/.next/static/chunks/app/_global-error/page-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/tree/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/config/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/files/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/git/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/growth/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/health/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/models/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/pi-settings/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/prompts/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/security/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/skills/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/update/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/version/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/api/workspaces/route-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/app/page-9a5440047c5a415c.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f77e9ede9808b18e.js +0 -1
- package/.next/static/chunks/webpack-42c5aae79b0e5d8c.js +0 -1
- package/.next/static/css/b2d35abc828d4713.css +0 -1
- /package/.next/static/{DdBwPYoHBKtaJ97QIr6Co → 0t1jBUAuVaTFTXxRyIo3q}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
"use strict";exports.id=686,exports.ids=[686],exports.modules={3672:(a,b,c)=>{c.d(b,{H4:()=>e,Pn:()=>g,WZ:()=>h});var d=c(29296);function e(a){if(!a||"object"!=typeof a)return;let b={};return"number"==typeof a.input&&(b.input=a.input),"number"==typeof a.output&&(b.output=a.output),"number"==typeof a.cacheRead&&(b.cacheRead=a.cacheRead),"number"==typeof a.cacheWrite&&(b.cacheWrite=a.cacheWrite),Object.keys(b).length?b:void 0}function f(a){if(null==a)return"";if("string"==typeof a)return a;if(Array.isArray(a))return a.map(f).join("");if("object"==typeof a){if("string"==typeof a.text)return a.text;if("string"==typeof a.thinking)return a.thinking}return""}class g{constructor(a=[]){this.streamingStart=null,this.turnStartedAt=null,this.toolIndex=new Map,this.toolStart=new Map,this.pendingToolArgs=new Map,this.dirty=[],this.entries=a.map(a=>({...a})),this.nextSeq=Math.max(0,...this.entries.map(a=>a.seq))+1}push(a){let b={...a,seq:this.nextSeq++};return this.entries.push(b),this.dirty.push(b),b}touch(a){a&&!this.dirty.includes(a)&&this.dirty.push(a)}drainDirty(){let a=this.dirty;return this.dirty=[],a}onEvent(a,b=Date.now()){switch(a.type){case"turn_start":this.turnStartedAt=b;break;case"message_start":{let c=a.message;if(c?.role==="user")this.push({kind:"user",ts:c.timestamp??b,detail:f(c.content)});else if(c?.role==="assistant"){let a=this.turnStartedAt??b;this.turnStartedAt=null,this.streamingStart={seq:this.nextSeq,t0:a},this.push({kind:"message",ts:a,title:"assistant"})}else if(c?.role==="toolResult"){let a=c.toolCallId?this.toolIndex.get(c.toolCallId):void 0;if(void 0!==a){let b=this.entries[a],g=(0,d.R)(f(c.content));b.detail=g.text||b.detail,b.encodingLoss=g.encodingLoss||b.encodingLoss,b.isError=!0===c.isError,b.tokens=e(c.usage)??b.tokens,this.touch(b)}}break}case"message_update":{let c=a.assistantMessageEvent;if(!c)break;if(("text_delta"===c.type||"thinking_delta"===c.type)&&this.streamingStart&&void 0===this.streamingStart.firstToken){this.streamingStart.firstToken=b;let a=this.entries[this.entries.length-1];a?.kind==="message"&&(a.timing={...a.timing??{},ttftMs:b-this.streamingStart.t0},this.touch(a))}"toolcall_end"===c.type&&c.toolCall&&this.pendingToolArgs.set(c.toolCall.id,c.toolCall.arguments);break}case"message_end":{let c=a.message;if(c?.role==="assistant"){let a=this.entries[this.entries.length-1],d=a?.kind==="message"?a:this.push({kind:"message",ts:b});for(let a of(this.streamingStart&&(d.timing={...void 0===this.streamingStart.firstToken?{}:{ttftMs:this.streamingStart.firstToken-this.streamingStart.t0,decodeMs:b-this.streamingStart.firstToken},durationMs:b-this.streamingStart.t0}),d.tokens=e(c.usage),d.thinking=f((c.content??[]).filter(a=>"thinking"===a.type).map(a=>a.thinking)),d.detail=f((c.content??[]).filter(a=>"text"===a.type)),d.isError="error"===c.stopReason,"error"===c.stopReason&&(d.title="error"),this.touch(d),this.streamingStart=null,c.content??[]))"toolCall"===a.type&&(this.toolIndex.set(a.id,this.entries.length),this.push({kind:"tool",ts:b,toolName:a.name,toolCallId:a.id,title:a.name,detail:JSON.stringify(a.arguments??{},null,2)}))}break}case"tool_execution_start":{this.toolStart.set(a.toolCallId,b);let c=this.toolIndex.get(a.toolCallId);if(void 0===c)c=this.entries.length,this.toolIndex.set(a.toolCallId,c),this.push({kind:"tool",ts:b,toolName:a.toolName,toolCallId:a.toolCallId,title:a.toolName,detail:JSON.stringify(a.args??{},null,2)});else{let b=this.entries[c];b.detail=JSON.stringify(a.args??{},null,2),this.touch(b)}break}case"tool_execution_update":{let b=this.toolIndex.get(a.toolCallId);if(void 0!==b){let c=this.entries[b],e=(0,d.R)(f(a.partialResult));e.text&&(c.preview=e.text.slice(-2e3)),c.encodingLoss=e.encodingLoss||c.encodingLoss,this.touch(c)}break}case"tool_execution_end":{let c=this.toolIndex.get(a.toolCallId);if(void 0!==c){let e=this.entries[c],g=(0,d.R)(f(a.result));e.detail=[e.detail,g.text].filter(Boolean).join("\n\n---\n\n"),e.encodingLoss=g.encodingLoss||e.encodingLoss,e.isError=!0===a.isError;let h=this.toolStart.get(a.toolCallId);void 0!==h&&(e.timing={...e.timing??{},durationMs:b-h}),this.touch(e)}this.toolStart.delete(a.toolCallId);break}case"compaction_start":this.push({kind:"compacted",ts:b,title:`compact (${a.reason})`});break;case"compaction_end":{let b=[...this.entries].reverse().find(a=>"compacted"===a.kind);b&&(a.errorMessage&&(b.isError=!0,b.detail=a.errorMessage),a.result?.tokensBefore!=null&&(b.tokens={input:a.result.tokensBefore}),this.touch(b))}}}}function h(a){let b=[],c=1,g=a=>"number"==typeof a?.timestamp?a.timestamp:Date.now();for(let h of a)if("message"===h.type){let a=h.message;if(!a)continue;if("user"===a.role)b.push({seq:c++,kind:"user",ts:g(a),detail:f(a.content)});else if("assistant"===a.role){let d=f((a.content??[]).filter(a=>"thinking"===a.type)),h=f((a.content??[]).filter(a=>"text"===a.type));for(let f of(b.push({seq:c++,kind:"message",ts:g(a),title:"error"===a.stopReason?"error":"assistant",detail:h,thinking:d||void 0,tokens:e(a.usage),isError:"error"===a.stopReason||void 0}),a.content??[]))"toolCall"===f.type&&b.push({seq:c++,kind:"tool",ts:g(a),toolName:f.name,toolCallId:f.id,title:f.name,detail:JSON.stringify(f.arguments??{},null,2)})}else if("toolResult"===a.role){let c=b.findLast?.(b=>"tool"===b.kind&&(a.toolCallId?b.toolCallId===a.toolCallId:b.toolName===a.toolName));if(c){let b=(0,d.R)(f(a.content));c.detail=[c.detail,b.text].filter(Boolean).join("\n\n---\n\n"),c.encodingLoss=b.encodingLoss||c.encodingLoss,c.isError=!0===a.isError||void 0,c.tokens=e(a.usage)??c.tokens}}}else"compaction"===h.type?b.push({seq:c++,kind:"compacted",ts:g(h),title:"compact",tokens:null!=h.tokensBefore?{input:h.tokensBefore}:e(h.usage)}):"branch_summary"===h.type&&b.push({seq:c++,kind:"compacted",ts:g(h),title:"branch summary",tokens:e(h.usage),detail:h.summary});return b}},14719:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(77598);function e(a){let b=new Map,c=new Map,e=!1,f=(c,f,g,h)=>{if(e||!a.hasViewers()||f?.signal?.aborted)return Promise.resolve(g);let i=(0,d.randomUUID)();return new Promise(d=>{let e=c=>{let e=b.get(i);e&&(b.delete(i),e.timer&&clearTimeout(e.timer),e.removeAbortListener?.(),a.publish({type:"extension_ui_resolved",id:i,ts:Date.now()}),d(c?h(c):g))},j={type:"extension_ui",id:i,...c,timeout:f?.timeout,ts:Date.now()},k={request:j,resolve:a=>e(a)};k.timer=setTimeout(()=>e(null),f?.timeout??6e5),k.timer.unref?.();let l=()=>e(null);f?.signal?.addEventListener("abort",l,{once:!0}),k.removeAbortListener=()=>f?.signal?.removeEventListener("abort",l),b.set(i,k),a.publish(j)})};return{uiContext:{select:(a,b,c)=>f({method:"select",title:a,options:b},c,void 0,a=>a.cancelled?void 0:a.value),confirm:(a,b,c)=>f({method:"confirm",title:a,message:b},c,!1,a=>!a.cancelled&&!0===a.confirmed),input:(a,b,c)=>f({method:"input",title:a,placeholder:b},c,void 0,a=>a.cancelled?void 0:a.value),notify:(b,c)=>{a.publish({type:"extension_ui",id:(0,d.randomUUID)(),method:"notify",message:b,notifyType:c??"info",ts:Date.now()})},setStatus:(b,e)=>{void 0===e?c.delete(b):c.set(b,e),a.publish({type:"extension_ui",id:(0,d.randomUUID)(),method:"setStatus",statusKey:b,statusText:e,ts:Date.now()})},setWorkingMessage:b=>{a.publish({type:"extension_ui",id:(0,d.randomUUID)(),method:"setWorkingMessage",message:b,ts:Date.now()})},onTerminalInput:()=>()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:()=>{},setFooter:()=>{},setHeader:()=>{},setTitle:()=>{},custom:async()=>void 0,pasteToEditor:()=>{},setEditorText:()=>{},getEditorText:()=>"",editor:async()=>void 0,addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>{},getToolsExpanded:()=>!1,setToolsExpanded:()=>{}},statuses:c,getPendingRequests:()=>[...b.values()].map(({request:a})=>({...a,options:a.options?[...a.options]:void 0})),respond(a,c){let d=b.get(a);return!!d&&(d.resolve(c),!0)},dispose(){for(let a of(e=!0,b.values()))a.resolve({cancelled:!0});b.clear()}}}},27739:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>r});var e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(75430),l=c(92584),m=a([k]);k=(m.then?(await m)():m)[0];let s="1.1.4-piweb.0",t="1.1.4",u={x64:{packageName:"@rexvane/piweb-niubash-win32-x64",directory:"piweb-niubash-win32-x64",asset:"niubash-v1.1.4-win-x64.zip",assetSha256:"9f543634288a316f7ed8e5a76ff794eca402cb21e74b8f8a551daffafde162f5",machine:34404},arm64:{packageName:"@rexvane/piweb-niubash-win32-arm64",directory:"piweb-niubash-win32-arm64",asset:"niubash-v1.1.4-win-arm64.zip",assetSha256:"77e98ba8d7f6be70c35388bcc28bdbc883c06bcaafffbe186a88788ad32ccf00",machine:43620}},v={"NIUBASH.txt":"1290aae99e71239ee3154e7847830e49e7a36c758fa6d659d73fa752dc9f81c8","RUBASH.txt":"e426a75a20633f3088da22aef61a5a44d06f1f884c600f6011d00702c3989079","WINUXCMD.txt":"8ffc4ed56f5e6ab8183a7ece2e3aa6ea4800b0a4e8170d11bd60856f2dd760f3"};function n(a){return f().createHash("sha256").update(h().readFileSync(a)).digest("hex")}function o(a){let b=h().statSync(a);if(!b.isFile()||b.size>2097152)throw Error(`${j().basename(a)} is missing or too large`);return JSON.parse(h().readFileSync(a,"utf8"))}function p(a,b){let c=j().resolve(a),d=j().resolve(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}function q(a={}){let b=a.platform??process.platform,c=a.arch??process.arch;if("win32"!==b)return null;let d=u[c];if(!d)return(a.warn??console.warn)(`[piweb] Managed niubash does not support Windows ${c}; using Pi's configured/default Bash.`),null;try{let b=a.loadPackage?a.loadPackage(d.packageName,c):function(a,b,c=l.V){let d;try{return{entryPath:d.resolve(a),value:d(a)}}catch(e){let a=j().join(c,"platform-packages",u[b].directory,"index.cjs");if(h().existsSync(a))return{entryPath:a,value:d(a)};throw e}}(d.packageName,c,a.root);return function(a,b){let c=u[b];if(!a.value||"object"!=typeof a.value)throw Error(`${c.packageName} has no runtime export`);let d=a.value,e=j().dirname(j().resolve(a.entryPath)),f=j().join(e,"runtime"),g=j().join(f,"niu.exe"),i=j().join(e,"runtime-manifest.json");for(let[a,e,f]of[[d.schema,1,"export schema"],[d.packageName,c.packageName,"export package name"],[d.distributionVersion,s,"export distribution version"],[d.niubashVersion,t,"export niubash version"],[d.platform,"win32","export platform"],[d.arch,b,"export architecture"]])if(a!==e)throw Error(`${f} mismatch`);if("string"!=typeof d.runtimeDir||!p(d.runtimeDir,f))throw Error("runtime directory escapes its package");if("string"!=typeof d.shellPath||!p(d.shellPath,g))throw Error("shell path escapes its package");if("string"!=typeof d.manifestPath||!p(d.manifestPath,i))throw Error("manifest path escapes its package");let k=o(j().join(e,"package.json"));if(k.name!==c.packageName||k.version!==s)throw Error("package identity mismatch");if(k.os?.length!==1||"win32"!==k.os[0])throw Error("package OS restriction mismatch");if(k.cpu?.length!==1||k.cpu[0]!==b)throw Error("package CPU restriction mismatch");let l=o(i);if(1!==l.schema||l.source?.repository!=="https://github.com/unixwin/niubash"||l.source?.tag!=="v1.1.4"||l.source?.asset!==c.asset||l.source?.sha256!==c.assetSha256)throw Error("runtime provenance mismatch");if(!l.files||"object"!=typeof l.files||Array.isArray(l.files))throw Error("runtime file manifest is missing");let m=Object.entries(l.files);if(m.length<300||m.length>1e3)throw Error(`runtime file count is invalid (${m.length})`);for(let[a,b]of m){if(!a||a.includes("\\")||j().posix.isAbsolute(a)||/^[A-Za-z]:/.test(a)||a.split("/").includes(".."))throw Error(`unsafe runtime path: ${a}`);if("string"!=typeof b||!/^[a-f0-9]{64}$/.test(b))throw Error(`invalid runtime hash: ${a}`);let c=j().join(f,...a.split("/"));if(!h().statSync(c).isFile())throw Error(`runtime file is missing: ${a}`);if(n(c)!==b)throw Error(`runtime file failed integrity check: ${a}`)}for(let a of["niu.exe","winuxcmd/usr/bin/winuxcmd.exe","bundles/oh-my-niu/bundle.toml"])if(!(a in l.files))throw Error(`runtime file is missing: ${a}`);for(let a of[g,j().join(f,"winuxcmd","usr","bin","winuxcmd.exe")])if(function(a){let b=h().readFileSync(a);if(b.length<64||77!==b[0]||90!==b[1])throw Error(`${j().basename(a)} is not a PE executable`);let c=b.readUInt32LE(60);if(c+6>b.length||"PE\0\0"!==b.toString("ascii",c,c+4))throw Error(`${j().basename(a)} has an invalid PE header`);return b.readUInt16LE(c+4)}(a)!==c.machine)throw Error(`${j().basename(a)} architecture mismatch`);for(let[a,b]of Object.entries(v))if(n(j().join(e,"licenses",a))!==b)throw Error(`license integrity check failed: ${a}`);return Object.freeze({packageName:c.packageName,distributionVersion:s,niubashVersion:t,arch:b,runtimeDir:f,shellPath:g})}(b,c)}catch(b){var e;return(a.warn??console.warn)(`[piweb] Managed niubash is unavailable (${(e=d.packageName,b?.code==="MODULE_NOT_FOUND"?`${e} is not installed`:b instanceof Error?b.message:String(b))}); using Pi's configured/default Bash. Reinstall @rexvane/piweb to restore the bundled Windows shell (\`npm run prepare:niubash\` in a checkout).`),null}}let w=globalThis;function r(a,b){let c=b?q(b):(w.__piWebManagedNiubash||(w.__piWebManagedNiubash={resolved:q()}),w.__piWebManagedNiubash.resolved);return c?[(0,k.createBashToolDefinition)(a,{shellPath:c.shellPath})]:[]}d()}catch(a){d(a)}})},28686:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{B1:()=>ag,H$:()=>x,Hx:()=>aa,Rq:()=>ak,SG:()=>O,Sj:()=>ae,Ui:()=>M,al:()=>ah,g7:()=>ai,lX:()=>aj,tX:()=>af,vJ:()=>al});var e=c(73024),f=c(77598),g=c(76760),h=c.n(g),i=c(75430),j=c(87982),k=c(14719),l=c(35851),m=c(34007),n=c(3672),o=c(31374),p=c(29296),q=c(62433),r=c(34070),s=c(75554),t=c(27739),u=c(6512),v=a([i,j,l,o,q,s,t]);[i,j,l,o,q,s,t]=v.then?(await v)():v;let am=globalThis,an=am.__piWebSessions??=new Map;function w(a){if(null==a)return"";if("string"==typeof a)return a;if(Array.isArray(a))return a.map(w).join("");if("object"==typeof a){if("string"==typeof a.text)return a.text;if("string"==typeof a.thinking)return a.thinking}return""}function x(a,b){if(!a||"object"!=typeof a)return{role:"other",content:[]};let c={role:"other",content:[]};b?c.id=b:"string"==typeof a.id&&(c.id=a.id),"number"==typeof a.timestamp&&(c.timestamp=a.timestamp);let d=[];for(let b of Array.isArray(a.content)?a.content:"string"==typeof a.content?[{type:"text",text:a.content}]:[])b&&"object"==typeof b&&("text"===b.type&&"string"==typeof b.text?d.push({type:"text",text:b.text}):"thinking"===b.type&&"string"==typeof b.thinking?d.push({type:"thinking",thinking:b.thinking}):"toolCall"===b.type?d.push({type:"toolCall",id:String(b.id??""),name:String(b.name??""),arguments:b.arguments}):"image"===b.type&&"string"==typeof b.data&&"string"==typeof b.mimeType&&d.push({type:"image",data:b.data,mimeType:b.mimeType}));if(c.content=d,"user"===a.role)c.role="user";else if("assistant"===a.role)c.role="assistant",c.stopReason=a.stopReason,c.errorMessage=a.errorMessage??void 0,c.usage=(0,n.H4)(a.usage),a.usage?.cost?.total!=null&&(c.usage={...c.usage,cost:{total:a.usage.cost.total}}),c.model="string"==typeof a.model?a.model:void 0,c.provider="string"==typeof a.provider?a.provider:void 0;else if("toolResult"===a.role){c.role="toolResult";let b=(0,p.R)(w(a.content));c.content=[{type:"toolResult",toolCallId:a.toolCallId,text:b.text,isError:!0===a.isError,encodingLoss:b.encodingLoss||void 0,patch:z(a.details)}]}return c}function y(a,b){return{...x(b,function(a,b){for(let c of[...a.getEntries()].reverse())if(c?.type==="message"&&c.message===b)return c.id}(a.sm,b)),streamId:function(a,b){if(!b||"object"!=typeof b)return;a.messageIds??=new WeakMap;let c=a.messageIds.get(b);return c||(c=(0,f.randomUUID)(),a.messageIds.set(b,c)),c}(a,b)}}function z(a){let b=a?.patch;return"string"==typeof b&&b.trim()?b.slice(0,6e4):void 0}let ao=new Map;function A(a){return{target:"string"==typeof a?.path?a.path:"string"==typeof a?.file_path?a.file_path:"",content:"string"==typeof a?.content?a.content:void 0}}function B(a){if(null!=a){if("string"==typeof a)return a.slice(-4e3);if(Array.isArray(a))return a.map(w).join("").slice(-4e3)||void 0;if("object"==typeof a){let b=w(a.content);if(b)return b.slice(-4e3);try{return JSON.stringify(a).slice(-4e3)}catch{}}}}let ap=new WeakMap;function C(a){let b=ap.get(a);if(b){for(;b.length>0&&null!==b[0].events;)for(let c of b.shift().events)D(a,c);0===b.length&&ap.delete(a)}}function D(a,b){if(a.disposed)return;a.seq+=1;let c=JSON.stringify(b);for(let b of(a.buffer.push({seq:a.seq,json:c}),a.buffer.length>400&&a.buffer.shift(),a.subscribers))try{b(a.seq,c)}catch{a.subscribers.delete(b)}}function E(a,b){let c=ap.get(a);if(!c)return D(a,b);c.push({events:[b]}),C(a)}function F(a,b){let c=b.model;E(a,{type:"model",provider:c?String(c.provider??""):void 0,model:c?String(c.id??""):void 0,thinkingLevel:String(b.thinkingLevel??""),thinkingLevels:b.getAvailableThinkingLevels(),ts:Date.now()})}function G(a,b){if(!a.desiredThinkingLevel)return;let c=(0,u.Kt)(b.model,a.desiredThinkingLevel);c!==b.thinkingLevel&&b.setThinkingLevel(c)}function H(a){let b=0,c=0,d=0,e=0,f=0,g=0;for(let h of a.ledger.entries){if("tool"===h.kind){c+=Math.max(0,h.timing?.durationMs??0);continue}"message"===h.kind&&(b+=Math.max(0,h.timing?.durationMs??0),h.timing?.ttftMs!==void 0&&(d+=Math.max(0,h.timing.ttftMs),e+=1),h.timing?.decodeMs!==void 0&&h.tokens?.output!==void 0&&(f+=Math.max(0,h.timing.decodeMs),g+=Math.max(0,h.tokens.output)))}return{llmMs:b,toolMs:c,ttftMs:d,ttftSteps:e,decodeMs:f,decodeTokens:g}}function I(a){if(!a.session)return null;try{let b=a.session.getSessionStats();return{userMessages:b.userMessages,assistantMessages:b.assistantMessages,toolCalls:b.toolCalls,totalMessages:b.totalMessages,tokens:b.tokens,cost:b.cost,...H(a)}}catch{return null}}function J(a){if(!a.session)return null;let b=I(a),c=a.session.getContextUsage()??null;return{type:"usage",stats:b,contextUsage:c?{tokens:c.tokens,contextWindow:c.contextWindow,percent:c.percent}:null,ts:Date.now()}}function K(a){let b=J(a);b&&E(a,b)}function L(a){return a.growth&&a.growth.version!==l.IA&&(a.growth.dispose(),a.growth=null),a.growth??=(0,l.kW)({cwd:a.cwd,sessionPath:a.sessionPath,publish:b=>E(a,b)})}async function M(a,b=""){return N(a),L(a).snapshotNow(b)}function N(a){a.lastActive=Date.now()}function O(a){let b=an.get(a);if(!b){if(!(0,e.existsSync)(a))throw new q.BV("session not found");let c=(0,j.G1)(a);b=P(a,c.getCwd()||process.cwd(),c)}return N(b),b}function P(a,b,c){let d=[];try{d=(0,n.WZ)(c.getEntries())}catch{}let e={sessionPath:a,cwd:b,sm:c,session:null,creating:null,subscribers:new Set,buffer:[],seq:0,inflight:null,ui:null,growth:null,ledger:new n.Pn(d),lastActive:Date.now(),toolPreset:"readonly",resourceVersion:0,resourceReloadPending:!1,resourceReloading:!1,promptSubmitting:!1,runActive:!1,disposed:!1,messageIds:new WeakMap};return an.set(a,e),e}function Q(a,b=(0,j.ye)(a)){let c=b.getAgentsFiles().agentsFiles.map(a=>({path:a.path,content:a.content,source:"project"})),d=b.getAppendSystemPrompt(),e=b.getAppendSystemPromptSources();return[...c,...d.map((a,b)=>({path:e[b]?.path??`Appended system prompt ${b+1}`,content:a,source:"extension"}))]}async function R(a,b,c){let d={systemPrompt:0,systemTools:0,customTools:0,memory:0,skills:0,compacted:0,autoCompactBuffer:0};if(!b)return d;try{let a=b.systemPrompt??"",f=c.filter(a=>"project"===a.source).map(a=>a.content).join("\n\n");d.memory=(0,r.ec)(f);try{let{skills:c}=b.resourceLoader.getSkills();if(c.length&&a){let b=a.indexOf("The following skills provide specialized instructions"),c=a.indexOf("</available_skills>");b>=0&&c>b&&(d.skills=(0,r.ec)(a.slice(b,c+19)))}}catch{}let g=d.memory+d.skills;d.systemPrompt=Math.max(0,(0,r.ec)(a)-g);try{for(let a of b.getAllTools()){let b=(0,r.ec)(JSON.stringify({name:a.name,description:a.description,parameters:a.parameters,promptGuidelines:a.promptGuidelines}));a.sourceInfo?.source==="builtin"?d.systemTools+=b:d.customTools+=b}}catch{}try{var e;let a=(e=b,e.sm?.getEntries?.()??e.sessionManager?.getEntries?.()??[]);for(let b=a.length-1;b>=0;b-=1){let c=a[b];if(c?.type==="compaction"&&"string"==typeof c.summary){d.compacted=(0,r.ec)(c.summary);break}}}catch{}try{let a=await (0,s.J0)();a.compaction.enabled&&(d.autoCompactBuffer=a.compaction.reserveTokens)}catch{}}catch{}return d}function S(a,b){let c=a.ledger.entries[0]?.ts??Date.now(),d=[];b?.systemPrompt&&d.push({seq:-1,kind:"system",ts:c,title:"Initial System Prompt",detail:b.systemPrompt});try{Q(a.cwd,a.session?.resourceLoader).forEach((a,b)=>d.push({seq:-2-b,kind:"context",ts:c,title:a.path,detail:a.content}))}catch{}return d}function T(a,b){for(let c of S(a,b))E(a,{type:"traj",entry:c,ts:Date.now()})}async function U(a){if(a.disposed)throw Error("session is disposed");return a.creating?a.creating:a.session?a.session:(a.creating=(async()=>{let b;await (0,j.Df)(a.cwd);let c=await (0,j.Yb)(a.cwd);try{var d,f;let g,l;if(a.disposed)throw Error("session is disposed");let{session:m}=await (0,j.az)({cwd:a.cwd,agentDir:(0,j.$M)(),sessionManager:a.sm,modelRuntime:await (0,j.uU)(),resourceLoader:c,settingsManager:(0,j.vT)(a.cwd),customTools:(0,t.$k)(a.cwd)});if(b=m,a.disposed)throw Error("session is disposed");a.session=m,d=a,g=(f=m).setActiveToolsByName.bind(f),f.setActiveToolsByName=a=>{let b=W(d,f);g([...new Set(a)].filter(a=>b.includes(a)))},l=f.reload.bind(f),f.reload=async a=>{if(d.disposed)throw Error("session is disposed");if(V(d))throw Error("session is busy");d.resourceReloading=!0;try{await (0,j.YW)(async()=>{if(d.disposed||d.runActive||!f.isIdle)throw Error("session is busy");await l({beforeSessionStart:async()=>{X(d,f),await a?.beforeSessionStart?.(),X(d,f)}})}),d.resourceVersion=(0,j.Ec)(d.cwd)}finally{X(d,f),d.resourceReloading=!1,d.disposed||(Y(d,f),T(d,f),ac(d))}},X(a,m),m.subscribe(b=>{a.disposed||function(a,b){a.ledger.onEvent(b),L(a).onEvent(b);let c=Date.now();switch(b.type){case"message_start":{let d=b.message,e=y(a,d);"assistant"===e.role&&(a.inflight=d,a.inflightId=e.streamId,a.inflightIndex=a.session?.messages.length,e.stopReason="pending",e.content=e.content.map(a=>"text"===a.type?{...a,text:""}:"thinking"===a.type?{...a,thinking:""}:a)),("user"===e.role||"assistant"===e.role)&&E(a,{type:"message",message:e,phase:"start",ts:c});break}case"message_update":{let d=b.assistantMessageEvent;if(b.message&&(a.inflight=b.message,a.inflightId&&a.messageIds.set(b.message,a.inflightId)),!d)break;"text_delta"===d.type&&"string"==typeof d.delta?E(a,{type:"delta",kind:"text",contentIndex:d.contentIndex,delta:d.delta,messageId:a.inflightId,ts:c}):"thinking_delta"===d.type&&"string"==typeof d.delta&&E(a,{type:"delta",kind:"thinking",contentIndex:d.contentIndex,delta:d.delta,messageId:a.inflightId,ts:c});break}case"message_end":{let d,e,f=b.message;f?.role==="assistant"&&(a.inflightId&&a.messageIds.set(f,a.inflightId),a.inflight=null,a.inflightId=void 0,a.inflightIndex=void 0),d=ap.get(a)??[],e={events:null},d.push(e),ap.set(a,d),queueMicrotask(()=>{e.events=(()=>{let b=y(a,f);"assistant"===b.role&&(b.endedAt=c);let d=J(a);return d?[{type:"message",message:b,phase:"end",ts:c},d]:[{type:"message",message:b,phase:"end",ts:c}]})(),C(a)});break}case"tool_execution_start":b.toolName?.toLowerCase()==="write"&&function(a,b,c,d){let{target:f}=A(d);if(f)try{let d=h().isAbsolute(f)?f:h().resolve(a,f),g=(0,e.statSync)(d);if(!g.isFile()||g.size>524288)return;let i=(0,e.readFileSync)(d,"utf8");if(i.includes("\0"))return;ao.size>256&&ao.clear(),ao.set(`${b}\u0000${c}`,i)}catch{}}(a.cwd,a.sessionPath,b.toolCallId,b.args),E(a,{type:"tool",id:b.toolCallId,name:b.toolName,args:b.args,state:"running",ts:c});break;case"tool_execution_update":{let d=(0,p.R)(B(b.partialResult)??"");E(a,{type:"tool",id:b.toolCallId,name:b.toolName,args:b.args,state:"running",partialResult:d.text||void 0,encodingLoss:d.encodingLoss||void 0,ts:c});break}case"tool_execution_end":{let d=(0,p.R)(B(b.result)??"");E(a,{type:"tool",id:b.toolCallId,name:b.toolName,args:b.args,state:"done",result:d.text||void 0,isError:b.isError,encodingLoss:d.encodingLoss||void 0,patch:z(b.result?.details)??(b.toolName?.toLowerCase()==="write"?function(a,b,c,d){let e=`${b}\u0000${c}`,f=ao.get(e);if(ao.delete(e),void 0===f)return;let{target:g,content:h}=A(d);if(void 0!==h&&h!==f)try{return(0,i.generateUnifiedPatch)(g,f,h).slice(0,6e4)}catch{return}}(a.cwd,a.sessionPath,b.toolCallId,b.args):void 0),ts:c}),K(a);break}case"agent_start":a.runActive=!0,E(a,{type:"status",isStreaming:!0,state:"running",ts:c});break;case"agent_end":K(a);break;case"agent_settled":a.runActive=!1,E(a,{type:"status",isStreaming:!1,state:"idle",ts:c}),K(a),a.resourceReloadPending&&queueMicrotask(()=>void ad(a));break;case"queue_update":E(a,{type:"queue",steering:[...b.steering],followUp:[...b.followUp],ts:c});break;case"compaction_start":E(a,{type:"status",isStreaming:!0,state:"compacting",ts:c}),E(a,{type:"compaction",phase:"start",reason:b.reason,ts:c});break;case"compaction_end":E(a,{type:"compaction",phase:"end",reason:b.reason,errorMessage:b.errorMessage,ts:c}),K(a),"manual"===b.reason&&(E(a,{type:"status",isStreaming:V(a),state:V(a)?"running":"idle",ts:c}),a.resourceReloadPending&&queueMicrotask(()=>void ad(a)));break;case"session_info_changed":E(a,{type:"name",name:b.name??"",ts:c});break;case"thinking_level_changed":a.session?F(a,a.session):E(a,{type:"model",thinkingLevel:b.level,ts:c});break;case"auto_retry_start":E(a,{type:"retry",attempt:Number(b.attempt)||0,maxAttempts:Number(b.maxAttempts)||0,message:String(b.errorMessage??""),ts:c})}for(let b of a.ledger.drainDirty())E(a,{type:"traj",entry:b,ts:Date.now()})}(a,b)});let n=(0,k.X)({publish:b=>E(a,b),hasViewers:()=>!a.disposed&&a.subscribers.size>0});if(a.ui=n,await m.bindExtensions({mode:"rpc",uiContext:n.uiContext,onError:b=>{E(a,{type:"error",message:`扩展 ${b.extensionPath.split(/[\\/]/).pop()} 在 ${b.event} 出错:${b.error}`,ts:Date.now()})},abortHandler:()=>void m.abort().catch(()=>void 0)}),a.disposed)throw Error("session is disposed");return X(a,m),a.resourceVersion=(0,j.Ec)(a.cwd),T(a,m),Y(a,m),ac(a),K(a),m}catch(d){throw a.ui?.dispose(),a.ui=null,b?.dispose(),c.getExtensions().runtime.invalidate(),a.session=null,d}})().catch(b=>{throw a.disposed||E(a,{type:"error",message:String(b?.message??b),ts:Date.now()}),b}).finally(()=>{a.creating=null}),a.creating)}function V(a){return a.promptSubmitting||a.resourceReloading||a.runActive||!!(a.session&&!a.session.isIdle)}function W(a,b){let c=a.customActiveTools??("full"===a.toolPreset?void 0:j.Ax[a.toolPreset]);return Z(b).filter(a=>!c||c.includes(a))}function X(a,b){b.setActiveToolsByName(W(a,b))}function Y(a,b){E(a,{type:"tools",active:$(b),all:Z(b),toolPreset:a.toolPreset,customActiveTools:a.customActiveTools??null,ts:Date.now()})}function Z(a){let b=a.getAllTools?.();return b?b.map(a=>a.name):[]}function $(a){return a.getActiveToolNames?.()??[]}function _(a){if(!a.disposed){a.disposed=!0,a.ui?.dispose(),a.ui=null,a.growth?.dispose(),a.growth=null;try{a.session?.dispose()}catch{}for(let b of(a.creating&&a.creating.then(a=>{try{a?.dispose()}catch{}}).catch(()=>void 0),a.subscribers))try{b(a.seq,JSON.stringify({type:"status",isStreaming:!1,state:"disposed",ts:Date.now()}))}catch{}a.subscribers.clear(),an.delete(a.sessionPath)}}async function aa(a){let b=an.get(a);if(!b)return;let c=b.session??(b.creating?await b.creating.catch(()=>null):null);c?.isStreaming&&await c.abort().catch(()=>void 0),_(b)}function ab(a){let b=a.session?.resourceLoader??(0,j.v9)(a.cwd)??(0,j.ye)(a.cwd),c=[],d=[];try{let a=b.getSkills();for(let b of(d=a.skills.map(a=>({name:String(a.name??""),description:String(a.description??"")})),a.diagnostics??[]))c.push({kind:"skill",path:b.path,message:b.message})}catch{d=[]}let e=[];try{let a=b.getPrompts();for(let b of(e=a.prompts.map(a=>({name:String(a.name??""),description:String(a.description??""),argumentHint:a.argumentHint})),a.diagnostics??[]))c.push({kind:"prompt",path:b.path,message:b.message})}catch{e=[]}try{for(let a of b.getExtensions().errors??[])c.push({kind:"extension",path:a.path,message:a.error})}catch{}let f=[];if(a.session)try{let b=a.session.extensionRunner;if(b)for(let a of(f=b.getRegisteredCommands().map(a=>({name:a.invocationName,description:String(a.description??""),source:String(a.sourceInfo?.path??"").split(/[\\/]/).pop()??""})),b.getCommandDiagnostics()??[]))c.push({kind:"command",path:a.path,message:a.message})}catch{f=[]}return{skills:d,promptTemplates:e,extensionCommands:f,projectTrust:(0,j.af)(a.cwd),resourceDiagnostics:c}}function ac(a){E(a,{type:"resources",...ab(a),ts:Date.now()})}async function ad(a){if(a.disposed||!a.session||a.creating||V(a))return!1;a.resourceReloadPending=!1;try{return await a.session.reload(),!0}catch(b){return E(a,{type:"error",message:`重载扩展失败:${String(b?.message??b)}`,ts:Date.now()}),!1}finally{a.resourceReloadPending&&!V(a)&&queueMicrotask(()=>void ad(a))}}async function ae(a){let b=a=>"win32"===process.platform?a.replace(/\\/g,"/").toLowerCase():a.replace(/\\/g,"/"),c=0;for(let d of an.values())if(!a||b(d.cwd)===b(a)){if(!d.session){d.subscribers.size>0&&ac(d);continue}if(d.creating||V(d)){d.resourceReloadPending=!0,E(d,{type:"error",message:"资源已更新,将在本轮结束后生效",ts:Date.now()}),ac(d);continue}await ad(d)&&(c+=1)}return c}async function af(a){let b,c,d,e;N(a),await (0,j.Df)(a.cwd);try{a.session&&V(a)?((0,j.Dc)(a.cwd)||a.resourceVersion!==(0,j.Ec)(a.cwd))&&(a.resourceReloadPending=!0):(await (0,j.jz)(a.cwd),a.session&&(a.resourceReloadPending||a.resourceVersion!==(0,j.Ec)(a.cwd))&&(a.resourceReloadPending=!0,await ad(a)))}catch{}let f=a.session,g=[],h=!1,i=["off","minimal","low","medium","high","xhigh","max"];if(f){let e=function(a,b){if(!a.inflightId||void 0===a.inflightIndex)return!1;let c=b.messages[a.inflightIndex];return!!c&&"assistant"===c.role&&(a.messageIds.set(c,a.inflightId),!0)}(a,f);if(g=f.messages.map(b=>y(a,b)),!e&&a.inflight){let b=y(a,a.inflight);"assistant"===b.role&&g.push({...b,stopReason:"pending"})}b=a.seq;let j=f.model;j&&(c={provider:String(j.provider??""),id:String(j.id??""),name:String(j.name??j.id??"")}),d=String(f.thinkingLevel??"");try{i=f.getAvailableThinkingLevels()}catch{}h=V(a)}else{try{g=a.sm.buildContextEntries().filter(a=>"message"===a.type&&a.message).map(a=>x(a.message,a.id))}catch{g=[]}try{let b=a.sm,e=b.buildSessionContext?.();if(e?.model&&(c={provider:e.model.provider,id:e.model.modelId,name:e.model.modelId}),d=e?.thinkingLevel,e?.model){let a=(await (0,j.uU)()).getModel(e.model.provider,e.model.modelId);a&&(i=(0,u.W8)(a),d&&(d=(0,u.Kt)(a,d)))}}catch{}}let k=f?I(a):function(a){let b=0,c=0,d=0,e=0,f={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},g=0,h=a=>{a&&"object"==typeof a&&(f.input+=Number(a.input??0),f.output+=Number(a.output??0),f.cacheRead+=Number(a.cacheRead??0),f.cacheWrite+=Number(a.cacheWrite??0),g+=Number(a.cost?.total??0))};for(let f of a.sm.getEntries()){if(("branch_summary"===f.type||"compaction"===f.type)&&f.usage&&h(f.usage),"message"!==f.type||!f.message)continue;e+=1;let a=f.message;"user"===a.role?b+=1:"assistant"===a.role?(c+=1,d+=Array.isArray(a.content)?a.content.filter(a=>a?.type==="toolCall").length:0,h(a.usage)):"toolResult"===a.role&&h(a.usage)}return f.total=f.input+f.output+f.cacheRead+f.cacheWrite,{userMessages:b,assistantMessages:c,toolCalls:d,totalMessages:e,tokens:f,cost:g,...H(a)}}(a),l=null;if(f){let a=f.getContextUsage()??null;l=a?{tokens:a.tokens,contextWindow:a.contextWindow,percent:a.percent}:null}else if(c)try{let b=(await (0,j.uU)()).getModels(c.provider).find(a=>String(a.id)===c.id),d=Number(b?.contextWindow??0),e=0,f=a.sm.getEntries(),h=!1;for(let a=f.length-1;a>=0;a--){let b=f[a];if("compaction"===b.type||"branch_summary"===b.type){h=!0;break}if("message"===b.type&&b.message?.role==="assistant"&&"error"!==b.message.stopReason&&"aborted"!==b.message.stopReason)break}for(let a=g.length-1;a>=0&&!h;a--){let b=g[a];if("assistant"===b.role&&b.usage){e=Number(b.usage.input??0)+Number(b.usage.cacheRead??0)+Number(b.usage.cacheWrite??0)+Number(b.usage.output??0);break}}d>0&&e>0?l={tokens:e,contextWindow:d,percent:e/d*100}:d>0&&(l={tokens:null,contextWindow:d,percent:null})}catch{}let o=f?{active:$(f),all:Z(f).map(a=>({name:a}))}:{active:[],all:[]},p=f?{steering:[...f.getSteeringMessages()],followUp:[...f.getFollowUpMessages()]}:{steering:[],followUp:[]},q="";try{q=a.sm.getSessionName?.()??""}catch{q=""}let r=[];try{r=Q(a.cwd,a.session?.resourceLoader)}catch{r=[]}try{e=await R(a.cwd,a.session,r)}catch{e=void 0}let s=ab(a),t=a.ledger.entries.length?a.ledger.entries:function(a){try{return(0,n.WZ)(a.sm.getEntries())}catch{return[]}}(a),v=[...S(a,f),...t];return{seq:b??a.seq,sessionPath:a.sessionPath,cwd:a.cwd,name:q,contextFiles:r.map(a=>a.path),contextResources:r,contextBreakdown:e,...s,messages:g,userTurns:(0,m.g)(a.sm.getEntries()),growthError:a.growth?.getError?.()??null,model:c,thinkingLevel:d,thinkingLevels:i,toolPreset:a.toolPreset,customActiveTools:a.customActiveTools??null,extensionUiRequests:a.ui?.getPendingRequests()??[],tools:o,stats:k,contextUsage:l,queue:p,trajectory:v,isStreaming:h}}function ag(a,b,c){if(N(a),c<0||c>a.seq)return!1;let d=a.buffer.filter(a=>a.seq>c);if(d.length!==a.seq-c)return!1;let e=new Set(a.ui?.getPendingRequests().map(a=>a.id));if(d.some(a=>{let b=JSON.parse(a.json);return"extension_ui"===b.type&&["select","confirm","input"].includes(b.method)&&!e.has(b.id)}))return!1;for(let c of(a.subscribers.add(b),d))b(c.seq,c.json);return!0}function ah(a,b){a.subscribers.delete(b)}async function ai(a,b){N(a);try{switch(b.cmd){case"prepare":return await U(a),{ok:!0};case"prompt":{let c=(b.text??"").trim();if(!c&&!b.images?.length)return{ok:!1,error:"empty prompt"};if(a.promptSubmitting||a.resourceReloading)return{ok:!1,error:"session is busy accepting another command"};a.promptSubmitting=!0;try{let d=await U(a);if(a.disposed)throw Error("session is disposed");if((d.isStreaming||a.runActive)&&!b.behavior)return{ok:!1,error:"session is busy; choose steer or followUp"};if(d.isStreaming||await Promise.race([L(a).prepare().catch(()=>void 0),new Promise(a=>setTimeout(a,5e3))]),a.disposed)throw Error("session is disposed");return await new Promise(e=>{let f=!1;d.prompt(c,{images:b.images,streamingBehavior:b.behavior,source:"rpc",preflightResult:a=>{a&&(f=!0,e({ok:!0,data:{accepted:!0}}))}}).then(()=>{f||e({ok:!1,error:"prompt completed without acceptance"})},b=>{let c=String(b?.message??b);f?E(a,{type:"error",message:c,ts:Date.now()}):e({ok:!1,error:c})})})}finally{a.promptSubmitting=!1,a.disposed||E(a,{type:"status",isStreaming:V(a),state:V(a)?"running":"idle",ts:Date.now()}),a.resourceReloadPending&&queueMicrotask(()=>void ad(a))}}case"steer":case"followUp":{if(a.promptSubmitting||a.resourceReloading)return{ok:!1,error:"session is busy accepting another command"};let c=await U(a);if(a.promptSubmitting||a.resourceReloading||!c.isStreaming)return{ok:!1,error:"session is not accepting queued messages"};return await c[b.cmd](b.text??"",b.images),{ok:!0}}case"clearQueue":{if(!a.session)return{ok:!0,data:{steering:[],followUp:[]}};let b=a.session.clearQueue();return E(a,{type:"queue",steering:[],followUp:[],ts:Date.now()}),{ok:!0,data:b}}case"abort":{if(!a.session)return{ok:!0,data:{steering:[],followUp:[]}};let b=a.session.clearQueue();return await a.session.abort(),E(a,{type:"status",isStreaming:!1,state:"aborted",ts:Date.now()}),{ok:!0,data:b}}case"compact":{let c=await U(a);return await c.compact(b.instructions||void 0),{ok:!0}}case"setModel":{let c=await U(a),d=(await (0,j.uU)()).getModels(b.provider).find(a=>a.id===b.modelId);if(!d)return{ok:!1,error:`unknown model ${b.provider}/${b.modelId}`};return await c.setModel(d,{persist:!1}),G(a,c),F(a,c),{ok:!0,data:{thinkingLevel:c.thinkingLevel,thinkingLevels:c.getAvailableThinkingLevels()}}}case"setThinkingLevel":{let c=await U(a),d=String(b.level??"medium"),e=(0,u.Kt)(c.model,d);return a.desiredThinkingLevel=d,c.setThinkingLevel(e),F(a,c),{ok:!0,data:{requested:d,thinkingLevel:c.thinkingLevel,clamped:c.thinkingLevel!==d}}}case"setToolPreset":{let c=b.preset;if(!Object.hasOwn(j.Ax,c))return{ok:!1,error:"invalid tool preset"};if(V(a))return{ok:!1,error:"cannot change tools while the agent is running"};let d=await U(a);if(V(a))return{ok:!1,error:"cannot change tools while the agent is running"};return a.toolPreset=c,a.customActiveTools=void 0,X(a,d),T(a,d),Y(a,d),{ok:!0}}case"setActiveTools":{if(V(a))return{ok:!1,error:"cannot change tools while the agent is running"};let c=await U(a);if(V(a))return{ok:!1,error:"cannot change tools while the agent is running"};let d=Array.isArray(b.names)?b.names.map(String):[],e=Z(c),f=[...new Set(d)].filter(a=>e.includes(a));if(0===f.length)return{ok:!1,error:"cannot disable all tools"};return a.customActiveTools=f,X(a,c),T(a,c),Y(a,c),{ok:!0,data:{active:$(c)}}}case"cycleModel":{let c=await U(a),d=await c.cycleModel(b.direction??"forward");if(d?.model)return G(a,c),F(a,c),{ok:!0,data:{model:String(d.model.id??""),thinkingLevel:c.thinkingLevel}};return{ok:!1,error:"no scoped models to cycle"}}case"navigate":{let c=await U(a),d=String(b.entryId??"");if(!d)return{ok:!1,error:"missing entryId"};let e=await c.navigateTree(d);return{ok:!e?.cancelled,data:{cancelled:e?.cancelled===!0,editorText:e?.editorText}}}case"editAndResend":{let c=String(b.entryId??""),d=(b.text??"").trim();if(!c)return{ok:!1,error:"missing entryId"};if(!d)return{ok:!1,error:"empty prompt"};if(a.promptSubmitting||a.resourceReloading)return{ok:!1,error:"session is busy accepting another command"};a.promptSubmitting=!0;try{let b=await U(a);if(a.disposed)throw Error("session is disposed");if(b.isStreaming||a.runActive){await b.abort().catch(()=>void 0);for(let c=0;c<50&&!a.disposed&&(b.isStreaming||a.runActive);c+=1)await new Promise(a=>setTimeout(a,100))}if(a.disposed)throw Error("session is disposed");let e=await b.navigateTree(c);if(e?.cancelled)return{ok:!1,error:"edit cancelled"};return await L(a).prepare().catch(()=>void 0),await b.prompt(d),{ok:!0}}finally{a.promptSubmitting=!1}}case"rename":{let c=(b.text??"").trim();return a.session?a.session.setSessionName(c):a.sm.appendSessionInfo(c),E(a,{type:"name",name:c,ts:Date.now()}),{ok:!0}}case"extensionUiResponse":return a.ui?.respond(String(b.requestId),{value:b.value,confirmed:b.confirmed,cancelled:b.cancelled})?{ok:!0}:{ok:!1,error:"no pending extension request"};case"reload":{if(V(a))return{ok:!1,error:"session is busy"};let b=await U(a);return await b.reload(),{ok:!0}}case"fork":{let c=(b.entryId?j.Cv.open(a.sessionPath).createBranchedSession(b.entryId):j.Cv.forkFrom(a.sessionPath,a.cwd).getSessionFile())??"";if(!c)return{ok:!1,error:"failed to create forked session"};return{ok:!0,data:{sessionPath:c}}}default:return{ok:!1,error:"unknown cmd"}}}catch(a){return{ok:!1,error:String(a?.message??a)}}}async function aj(a){let b=j.Cv.create(a),c=b.getSessionFile()??"";if(!c)throw Error("failed to create session file");return P(c,a,b),{sessionPath:c}}function ak(){let a={};for(let[b,c]of an){let d;if(c.session){for(let a=c.ledger.entries.length-1;a>=0;a-=1){let b=c.ledger.entries[a];if("tool"===b.kind){d=[b.toolName,(b.preview??b.title??"").split("\n")[0].slice(0,80)].filter(Boolean).join(" \xb7 ");break}}a[b]={streaming:V(c),lastStep:d}}}return a}async function al(a,b){let d=a.sessionPath.replace(/\\/g,"/").split("/").pop()??"session";if("jsonl"===b){let{readFile:b}=await Promise.resolve().then(c.t.bind(c,51455,23));return{filename:d,content:await b(a.sessionPath,"utf8"),contentType:"application/jsonl"}}let e=await U(a),f=await e.exportToHtml(),{readFile:g,rm:h}=await Promise.resolve().then(c.t.bind(c,51455,23)),i=await g(f,"utf8");return await h(f,{force:!0}).catch(()=>void 0),{filename:d.replace(/\.jsonl$/,".html"),content:i,contentType:"text/html"}}setInterval(function(){let a=Date.now();for(let b of[...an.values()])!(b.subscribers.size>0)&&!(a-b.lastActive<=6e5)&&(b.creating||V(b)||_(b));let b=[...an.values()].filter(a=>a.session);if(b.length>6)for(let a of b.filter(a=>!a.creating&&!V(a)&&0===a.subscribers.size).sort((a,b)=>a.lastActive-b.lastActive).slice(0,b.length-6))_(a)},6e4).unref?.(),(0,o.j8)({isActive:function(a){let b="win32"===process.platform?a.toLowerCase():a;for(let a of an.keys())if(("win32"===process.platform?a.toLowerCase():a)===b)return!0;return!1},log:a=>console.log(a)}),d()}catch(a){d(a)}})},29296:(a,b,c)=>{c.d(b,{R:()=>d});function d(a){return a.includes("�")?{text:a.split(/\r?\n/).filter(a=>!a.includes("�")).join("\n").replace(/\n{3,}/g,"\n\n").trim(),encodingLoss:!0}:{text:a,encodingLoss:!1}}},31374:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{j8:()=>l});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(6896),j=a([i]);async function k({now:a=Date.now(),retentionDays:b=30,isActive:d=()=>!1,log:e=console.log,dryRun:g=!1}={}){let j={scanned:0,deleted:[],missing:[],skippedActive:[],kept:0};if(!Number.isFinite(b)||b<=0)return j;let l=a-24*b*36e5,{archivedSessions:m}=await (0,i.vQ)();for(let k of m){let m;j.scanned+=1;let n=h().resolve(k);if(d(n)){j.skippedActive.push(n),j.kept+=1;continue}try{let a=await f().stat(n);if(!a.isFile())throw Object.assign(Error("not a file"),{code:"ENOENT"});m=a.mtimeMs}catch(a){if("ENOENT"!==a.code)throw a;j.missing.push(n),g||await (0,i.Iz)(n);continue}if(m>l){j.kept+=1;continue}let o=Math.floor((a-m)/864e5);if(j.deleted.push({path:n,idleDays:o}),g)continue;let{deleteSession:p}=await c.e(229).then(c.bind(c,66229));await p(n),await (0,i.Iz)(n),e(`[piweb] 归档会话已超过 ${b} 天没有活动(${o} 天),已删除:${n}`)}return j}i=(j.then?(await j)():j)[0];let m=!1;function l({intervalMs:a=216e5,delayMs:b=5e3,log:c=console.log,isActive:d}={}){if(m)return;m=!0;let e=async()=>{Date.now();try{let a=await k({log:c,isActive:d});(a.deleted.length||a.missing.length)&&c(`[piweb] 归档清理:删除 ${a.deleted.length} 个,清理失效记录 ${a.missing.length} 个,保留 ${a.kept} 个`)}catch(a){c(`[piweb] 归档清理失败:${a instanceof Error?a.message:a}`)}},f=setTimeout(()=>{e();let b=setInterval(()=>void e(),a);b.unref?.()},b);f.unref?.()}d()}catch(a){d(a)}})},34007:(a,b,c)=>{c.d(b,{g:()=>d});function d(a){let b=[];for(let[c,d]of a.entries()){if("message"!==d.type||d.message?.role!=="user")continue;let a="number"==typeof d.timestamp?d.timestamp:Date.parse(d.timestamp??""),e=Number.isFinite(a)?a:d.message.timestamp;b.push({id:d.id??`entry:${c}`,ts:"number"==typeof e&&Number.isFinite(e)?e:NaN})}return b}},34070:(a,b,c)=>{c.d(b,{ec:()=>d});function d(a){return Math.ceil(a.length/4)}},35851:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IA:()=>o,kW:()=>m});var e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(69460),j=a([i]);i=(j.then?(await j)():j)[0];let n=new Set(["read","grep","find","ls"]),o=3;function k(a){return!n.has(a.toLowerCase())}function l(a,b){if(!h().isAbsolute(b))return b.replace(/\\/g,"/");let c=h().relative(a,b);return!c||c.startsWith("..")||h().isAbsolute(c)?b.replace(/\\/g,"/"):c.replace(/\\/g,"/")}let p=/(?:^|\/)(?:\.DS_Store|Thumbs\.db|[^/]*\.log|[^/]*\.tsbuildinfo|next-env\.d\.ts)$/;function m(a){let b,c,d,g,{cwd:j,sessionPath:m,publish:n}=a,q=new Set,r=new Map,s=[],t=new Set,u=0,v=null,w=!1,x=!1,y=null,z=!1,A=null,B=!1,C=0,D=!1,E=null,F=Promise.resolve(),G=a=>{let e=a instanceof Error?a.message:String(a),f=a instanceof i.qy&&("unavailable"===a.code||"too-large"===a.code);if(f){z=!0,A=a;try{v?.close()}catch{}v=null,b&&clearTimeout(b),c&&clearTimeout(c),d&&clearTimeout(d),b=c=d=void 0,s.length=0,q.clear(),r.clear(),t.size&&(t.clear(),n({type:"growth_pending",paths:[],ts:Date.now()}))}D=!0,E=e;let g=Date.now();(f||!(g-C<6e4))&&(C=g,console.warn(`[piweb] growth snapshot failed for ${j}: ${e}`),n({type:"growth_error",message:e,ts:g}))},H=()=>{c=void 0,n({type:"growth_pending",paths:[...t].slice(0,200),ts:Date.now()})},I=a=>F=F.then(a,a).catch(G),J=async(a,b=!1)=>{if(z||B)return;let d=await (0,i.P9)(j,{...a,session:m,force:b});D&&(D=!1,E=null,n({type:"growth_error",message:null,ts:Date.now()})),d&&!B&&(n({type:"growth",step:d,ts:Date.now()}),t.size&&(t.clear(),c&&clearTimeout(c),H()))},K=(a,b=!1)=>I(()=>J(a,b)),L=()=>x?F:(y||(y=I(async()=>{z||B||(await (0,i.k$)(j,m)||await J({kind:"baseline",label:"",ts:g},!0),x=!0)})).finally(()=>{y=null}),y),M=()=>{b=void 0;let a=s.splice(0);if(!a.length)return;let c=a.filter(a=>"tool"===a.kind),d=c[0]??a[0],e=c.length>1?` +${c.length-1}`:"",f=a.reduce((a,b)=>b.ts??a,void 0)??g;(x?Promise.resolve():L().catch(()=>void 0)).then(()=>{B||z||K({kind:d.kind,label:`${d.label}${e}`,toolCallId:d.toolCallId,toolName:d.toolName,ts:f})})},N=(a,e)=>{if(z||B)return;let g=null==e?"":String(e).replace(/\\/g,"/");if(!(g&&((0,i.vt)(g)||p.test(g)))){if(q.size>0){if(!g||t.size+u>=500)return;u+=1,f().promises.stat(h().join(j,g)).then(a=>a.isDirectory(),()=>!1).then(a=>{if(B||z)return;let b=a?`${g}/`:g;!(t.size>=500||t.has(b))&&(t.add(b),c||(c=setTimeout(H,300)))}).finally(()=>{u-=1});return}s.length||b||(d&&clearTimeout(d),d=setTimeout(()=>{d=void 0,q.size>0||s.length||K({kind:"external",label:""})},1500))}},O=()=>{if(!v&&!w&&!z)try{let a=j;try{a=e.realpathSync.native(j)}catch{}(v=f().watch(a,{recursive:!0,persistent:!1},N)).on("error",()=>{w=!0;try{v?.close()}catch{}v=null})}catch{w=!0,v=null}};return{version:o,getError:()=>E,async prepare(){g=Date.now(),O(),await L()},onEvent(a){if(!B&&!z)switch(a.type){case"agent_start":g=a.ts??Date.now(),O(),L();break;case"tool_execution_start":if(!k(a.toolName))break;q.add(a.toolCallId),r.size>64&&r.delete(r.keys().next().value),r.set(a.toolCallId,a.args),d&&(clearTimeout(d),d=void 0);break;case"tool_execution_end":{var c,e;let f,h;if(!k(a.toolName))break;q.delete(a.toolCallId);let i=r.get(a.toolCallId);r.delete(a.toolCallId),e={kind:"tool",label:(c=a.toolName,f=i&&"object"==typeof i?i:{},h="","string"==typeof f.command?h=f.command:"string"==typeof f.path?h=l(j,f.path):"string"==typeof f.file_path&&(h=l(j,f.file_path)),(h=(h=h.split("\n").map(a=>a.trim()).find(Boolean)??"").replace(/\s+/g," ")).length>60&&(h=`${h.slice(0,59)}…`),h?`${c} \xb7 ${h}`:c),toolCallId:a.toolCallId,toolName:a.toolName},z||(d&&(clearTimeout(d),d=void 0),s.push("tool"===e.kind&&void 0!==g?{...e,ts:e.ts??g}:e),b&&clearTimeout(b),b=setTimeout(M,200));break}case"agent_end":q.clear(),b&&clearTimeout(b),M(),a.willRetry||I(()=>J({kind:"turn",label:"",ts:g},!0)),g=void 0}},async snapshotNow(a=""){let b;if(z)throw A??new i.qy("growth tracking is disabled for this workspace","unavailable");let c=null;if(await I(async()=>{try{if(z)throw A??new i.qy("growth tracking is disabled for this workspace","unavailable");let b=await (0,i.P9)(j,{kind:"manual",label:a,session:m});D&&(D=!1,E=null,n({type:"growth_error",message:null,ts:Date.now()})),b&&(c=b,n({type:"growth",step:b,ts:Date.now()}))}catch(a){b=a,G(a)}}),b)throw b;return c},dispose(){B=!0,b&&clearTimeout(b),c&&clearTimeout(c),d&&clearTimeout(d);try{v?.close()}catch{}v=null}}}d()}catch(a){d(a)}})},62433:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BV:()=>q,CN:()=>l,Eb:()=>o,XI:()=>n,gS:()=>p,os:()=>m});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(87982),j=a([i]);i=(j.then?(await j)():j)[0];class q extends Error{constructor(a){super(a),this.name="BoundaryError"}}function k(a){let b=h().resolve(a);return"win32"===process.platform?b.toLowerCase():b}function l(a,b){let c=h().relative(k(a),k(b));return""===c||!c.startsWith("..")&&!h().isAbsolute(c)}async function m(a,b){if(!(0,i.Sd)(a))throw new q("invalid session id");let c=(0,i.Gg)(a);if(!h().isAbsolute(c)||".jsonl"!==h().extname(c).toLowerCase())throw new q("invalid session path");let d=h().join((0,i.$M)(),"sessions"),e=await f().realpath(d).catch(()=>h().resolve(d));if(!l(e,h().resolve(c)))throw new q("session path is outside the Pi session store");if(b?.allowPending){let a=await f().realpath(c).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(!a){let a=h().dirname(c);for(;l(d,a);){let b=await f().realpath(a).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(b){if(!l(e,b))throw new q("session path escapes the Pi session store");return c}if(o(a,d))break;a=h().dirname(a)}throw new q("session store not found")}if(!l(e,a))throw new q("session path escapes the Pi session store");return c}let g=await f().realpath(c).catch(()=>{throw new q("session not found")});if(!l(e,g))throw new q("session path escapes the Pi session store");if(!(await f().stat(g)).isFile())throw new q("session is not a file");return g}async function n(a){if("string"!=typeof a||0===a.trim().length||a.length>4096)throw new q("invalid workspace path");let b=await f().realpath(h().resolve(a.trim())).catch(()=>{throw new q("workspace not found")});if(!(await f().stat(b)).isDirectory())throw new q("workspace is not a directory");return b}function o(a,b){return k(a)===k(b)}async function p(a,b){if("string"!=typeof a||!h().isAbsolute(a)||a.length>4096)throw new q("invalid resource path");let c=await f().realpath(a).catch(()=>{throw new q("resource not found")});for(let a of b){if(!a)continue;let b=await f().realpath(a).catch(()=>null);if(b&&o(c,b))return c}throw new q("resource is not part of the discovered Pi configuration")}d()}catch(a){d(a)}})},69460:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I$:()=>F,P9:()=>D,e2:()=>E,iv:()=>I,k$:()=>G,nT:()=>H,qY:()=>K,qy:()=>O,vO:()=>J,vt:()=>q});var e=c(31421),f=c(77598),g=c(73024),h=c(51455),i=c.n(h),j=c(76760),k=c.n(j),l=c(96743),m=c(87982),n=a([m]);m=(n.then?(await n)():n)[0];let L=l.It,M=new Set(L.map(a=>a.toLowerCase())),N=`# PiWeb growth snapshot exclusions (generated, do not edit)
|
|
1
|
+
"use strict";exports.id=686,exports.ids=[686],exports.modules={2995:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{t:()=>j});var e=c(75430),f=c(65138),g=c(87982),h=a([e,g]);[e,g]=h.then?(await h)():h;let k=f.ZUJ.Object({tasks:f.ZUJ.Array(f.ZUJ.Object({title:f.ZUJ.String({minLength:1,maxLength:80}),instruction:f.ZUJ.String({minLength:1,maxLength:4e3})}),{minItems:1,maxItems:3})});async function i(a,b,c,d){let f,h;if(d?.aborted)throw Error("Delegation cancelled");let i=new e.DefaultResourceLoader({cwd:a,agentDir:(0,g.$M)(),settingsManager:(0,g.vT)(a),noExtensions:!0,noPromptTemplates:!0,noThemes:!0,appendSystemPrompt:["You are a read-only PiWeb subagent. Investigate the assigned task and return a concise, evidence-based report. Do not modify files or run commands. Do not delegate further."]}),j=!1,k=()=>{f?.abort().catch(()=>void 0)};try{let l;if(await (0,g.YW)(()=>i.reload()),d?.aborted||(f=(await (0,e.createAgentSession)({cwd:a,agentDir:(0,g.$M)(),sessionManager:e.SessionManager.inMemory(a),modelRuntime:await (0,g.uU)(),model:b.model??void 0,thinkingLevel:b.thinkingLevel,settingsManager:(0,g.vT)(a),resourceLoader:i,tools:g.Ax.readonly})).session,d?.aborted))throw Error("Delegation cancelled");if(d?.addEventListener("abort",k,{once:!0}),h=setTimeout(()=>{j=!0,k()},12e4),await f.prompt(c,{source:"rpc",expandPromptTemplates:!1}),j)throw Error("Subagent timed out after two minutes");if(d?.aborted)throw Error("Delegation cancelled");return(l=[...f.messages].reverse().find(a=>"assistant"===a.role))&&"assistant"===l.role?l.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n").slice(0,12e3)||"The subagent returned no text answer.":"The subagent returned no assistant answer."}finally{h&&clearTimeout(h),d?.removeEventListener("abort",k),f?.dispose(),i.getExtensions().runtime.invalidate()}}function j(a,b){return(0,e.defineTool)({name:"piweb_delegate",label:"Delegate research",description:"Delegate one to three independent, read-only research or review tasks to temporary Pi subagents. They cannot edit files, run shell commands, or delegate further. Use only when parallel investigation is useful; summarize their findings yourself.",promptSnippet:"Delegate bounded, read-only research tasks to temporary subagents.",parameters:k,executionMode:"sequential",async execute(c,{tasks:d},e,f){let g=b();if(!g)throw Error("Parent session is unavailable");let h=Array(d.length);if(await Promise.all(d.map(async(b,c)=>{try{let d=await i(a,g,b.instruction,e);h[c]=`## ${b.title}
|
|
2
|
+
${d}`}catch(a){h[c]=`## ${b.title}
|
|
3
|
+
Failed: ${String(a?.message??a)}`}f?.({content:[{type:"text",text:h.filter(Boolean).join("\n\n")}],details:void 0})})),e?.aborted)throw Error("Delegation cancelled");let j=h.join("\n\n");return{content:[{type:"text",text:j}],details:void 0}}})}d()}catch(a){d(a)}})},3672:(a,b,c)=>{c.d(b,{H4:()=>e,Pn:()=>g,WZ:()=>h});var d=c(29296);function e(a){if(!a||"object"!=typeof a)return;let b={};return"number"==typeof a.input&&(b.input=a.input),"number"==typeof a.output&&(b.output=a.output),"number"==typeof a.cacheRead&&(b.cacheRead=a.cacheRead),"number"==typeof a.cacheWrite&&(b.cacheWrite=a.cacheWrite),"number"==typeof a.totalTokens&&(b.totalTokens=a.totalTokens),Object.keys(b).length?b:void 0}function f(a){if(null==a)return"";if("string"==typeof a)return a;if(Array.isArray(a))return a.map(f).join("");if("object"==typeof a){if("string"==typeof a.text)return a.text;if("string"==typeof a.thinking)return a.thinking}return""}class g{constructor(a=[]){this.streamingStart=null,this.turnStartedAt=null,this.toolIndex=new Map,this.toolStart=new Map,this.pendingToolArgs=new Map,this.dirty=[],this.entries=a.map(a=>({...a})),this.nextSeq=Math.max(0,...this.entries.map(a=>a.seq))+1}push(a){let b={...a,seq:this.nextSeq++};return this.entries.push(b),this.dirty.push(b),b}touch(a){a&&!this.dirty.includes(a)&&this.dirty.push(a)}drainDirty(){let a=this.dirty;return this.dirty=[],a}onEvent(a,b=Date.now()){switch(a.type){case"turn_start":this.turnStartedAt=b;break;case"message_start":{let c=a.message;if(c?.role==="user")this.push({kind:"user",ts:c.timestamp??b,detail:f(c.content)});else if(c?.role==="assistant"){let a=this.turnStartedAt??b;this.turnStartedAt=null,this.streamingStart={seq:this.nextSeq,t0:a},this.push({kind:"message",ts:a,title:"assistant"})}else if(c?.role==="toolResult"){let a=c.toolCallId?this.toolIndex.get(c.toolCallId):void 0;if(void 0!==a){let b=this.entries[a],g=(0,d.R)(f(c.content));b.detail=g.text||b.detail,b.encodingLoss=g.encodingLoss||b.encodingLoss,b.isError=!0===c.isError,b.tokens=e(c.usage)??b.tokens,this.touch(b)}}break}case"message_update":{let c=a.assistantMessageEvent;if(!c)break;if(("text_delta"===c.type||"thinking_delta"===c.type)&&this.streamingStart&&void 0===this.streamingStart.firstToken){this.streamingStart.firstToken=b;let a=this.entries[this.entries.length-1];a?.kind==="message"&&(a.timing={...a.timing??{},ttftMs:b-this.streamingStart.t0},this.touch(a))}"toolcall_end"===c.type&&c.toolCall&&this.pendingToolArgs.set(c.toolCall.id,c.toolCall.arguments);break}case"message_end":{let c=a.message;if(c?.role==="assistant"){let a=this.entries[this.entries.length-1],d=a?.kind==="message"?a:this.push({kind:"message",ts:b});for(let a of(this.streamingStart&&(d.timing={...void 0===this.streamingStart.firstToken?{}:{ttftMs:this.streamingStart.firstToken-this.streamingStart.t0,decodeMs:b-this.streamingStart.firstToken},durationMs:b-this.streamingStart.t0}),d.tokens=e(c.usage),d.thinking=f((c.content??[]).filter(a=>"thinking"===a.type).map(a=>a.thinking)),d.detail=f((c.content??[]).filter(a=>"text"===a.type)),d.isError="error"===c.stopReason,"error"===c.stopReason&&(d.title="error"),this.touch(d),this.streamingStart=null,c.content??[]))"toolCall"===a.type&&(this.toolIndex.set(a.id,this.entries.length),this.push({kind:"tool",ts:b,toolName:a.name,toolCallId:a.id,title:a.name,detail:JSON.stringify(a.arguments??{},null,2)}))}break}case"tool_execution_start":{this.toolStart.set(a.toolCallId,b);let c=this.toolIndex.get(a.toolCallId);if(void 0===c)c=this.entries.length,this.toolIndex.set(a.toolCallId,c),this.push({kind:"tool",ts:b,toolName:a.toolName,toolCallId:a.toolCallId,title:a.toolName,detail:JSON.stringify(a.args??{},null,2)});else{let b=this.entries[c];b.detail=JSON.stringify(a.args??{},null,2),this.touch(b)}break}case"tool_execution_update":{let b=this.toolIndex.get(a.toolCallId);if(void 0!==b){let c=this.entries[b],e=(0,d.R)(f(a.partialResult));e.text&&(c.preview=e.text.slice(-2e3)),c.encodingLoss=e.encodingLoss||c.encodingLoss,this.touch(c)}break}case"tool_execution_end":{let c=this.toolIndex.get(a.toolCallId);if(void 0!==c){let e=this.entries[c],g=(0,d.R)(f(a.result));e.detail=[e.detail,g.text].filter(Boolean).join("\n\n---\n\n"),e.encodingLoss=g.encodingLoss||e.encodingLoss,e.isError=!0===a.isError;let h=this.toolStart.get(a.toolCallId);void 0!==h&&(e.timing={...e.timing??{},durationMs:b-h}),this.touch(e)}this.toolStart.delete(a.toolCallId);break}case"compaction_start":this.push({kind:"compacted",ts:b,title:`compact (${a.reason})`});break;case"compaction_end":{let b=[...this.entries].reverse().find(a=>"compacted"===a.kind);b&&(a.errorMessage&&(b.isError=!0,b.detail=a.errorMessage),a.result?.tokensBefore!=null&&(b.tokens={input:a.result.tokensBefore}),this.touch(b))}}}}function h(a){let b=[],c=1,g=a=>"number"==typeof a?.timestamp?a.timestamp:Date.now();for(let h of a)if("message"===h.type){let a=h.message;if(!a)continue;if("user"===a.role)b.push({seq:c++,kind:"user",ts:g(a),detail:f(a.content)});else if("assistant"===a.role){let d=f((a.content??[]).filter(a=>"thinking"===a.type)),h=f((a.content??[]).filter(a=>"text"===a.type));for(let f of(b.push({seq:c++,kind:"message",ts:g(a),title:"error"===a.stopReason?"error":"assistant",detail:h,thinking:d||void 0,tokens:e(a.usage),isError:"error"===a.stopReason||void 0}),a.content??[]))"toolCall"===f.type&&b.push({seq:c++,kind:"tool",ts:g(a),toolName:f.name,toolCallId:f.id,title:f.name,detail:JSON.stringify(f.arguments??{},null,2)})}else if("toolResult"===a.role){let c=b.findLast?.(b=>"tool"===b.kind&&(a.toolCallId?b.toolCallId===a.toolCallId:b.toolName===a.toolName));if(c){let b=(0,d.R)(f(a.content));c.detail=[c.detail,b.text].filter(Boolean).join("\n\n---\n\n"),c.encodingLoss=b.encodingLoss||c.encodingLoss,c.isError=!0===a.isError||void 0,c.tokens=e(a.usage)??c.tokens}}}else"compaction"===h.type?b.push({seq:c++,kind:"compacted",ts:g(h),title:"compact",tokens:null!=h.tokensBefore?{input:h.tokensBefore}:e(h.usage)}):"branch_summary"===h.type&&b.push({seq:c++,kind:"compacted",ts:g(h),title:"branch summary",tokens:e(h.usage),detail:h.summary});return b}},14719:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(77598);function e(a){let b=new Map,c=new Map,e=!1,f=(c,f,g,h)=>{if(e||!a.hasViewers()||f?.signal?.aborted)return Promise.resolve(g);let i=(0,d.randomUUID)();return new Promise(d=>{let e=c=>{let e=b.get(i);e&&(b.delete(i),e.timer&&clearTimeout(e.timer),e.removeAbortListener?.(),a.publish({type:"extension_ui_resolved",id:i,ts:Date.now()}),d(c?h(c):g))},j={type:"extension_ui",id:i,...c,timeout:f?.timeout,ts:Date.now()},k={request:j,resolve:a=>e(a)};k.timer=setTimeout(()=>e(null),f?.timeout??6e5),k.timer.unref?.();let l=()=>e(null);f?.signal?.addEventListener("abort",l,{once:!0}),k.removeAbortListener=()=>f?.signal?.removeEventListener("abort",l),b.set(i,k),a.publish(j)})};return{uiContext:{select:(a,b,c)=>f({method:"select",title:a,options:b},c,void 0,a=>a.cancelled?void 0:a.value),confirm:(a,b,c)=>f({method:"confirm",title:a,message:b},c,!1,a=>!a.cancelled&&!0===a.confirmed),input:(a,b,c)=>f({method:"input",title:a,placeholder:b},c,void 0,a=>a.cancelled?void 0:a.value),notify:(b,c)=>{a.publish({type:"extension_ui",id:(0,d.randomUUID)(),method:"notify",message:b,notifyType:c??"info",ts:Date.now()})},setStatus:(b,e)=>{void 0===e?c.delete(b):c.set(b,e),a.publish({type:"extension_ui",id:(0,d.randomUUID)(),method:"setStatus",statusKey:b,statusText:e,ts:Date.now()})},setWorkingMessage:b=>{a.publish({type:"extension_ui",id:(0,d.randomUUID)(),method:"setWorkingMessage",message:b,ts:Date.now()})},onTerminalInput:()=>()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:()=>{},setFooter:()=>{},setHeader:()=>{},setTitle:()=>{},custom:async()=>void 0,pasteToEditor:()=>{},setEditorText:()=>{},getEditorText:()=>"",editor:async()=>void 0,addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>{},getToolsExpanded:()=>!1,setToolsExpanded:()=>{}},statuses:c,getPendingRequests:()=>[...b.values()].map(({request:a})=>({...a,options:a.options?[...a.options]:void 0})),respond(a,c){let d=b.get(a);return!!d&&(d.resolve(c),!0)},dispose(){for(let a of(e=!0,b.values()))a.resolve({cancelled:!0});b.clear()}}}},27739:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>s});var e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(98995),j=c(76760),k=c.n(j),l=c(75430),m=c(92584),n=a([l]);l=(n.then?(await n)():n)[0];let t="1.1.4-piweb.0",u="1.1.4",v={x64:{packageName:"@rexvane/piweb-niubash-win32-x64",directory:"piweb-niubash-win32-x64",asset:"niubash-v1.1.4-win-x64.zip",assetSha256:"9f543634288a316f7ed8e5a76ff794eca402cb21e74b8f8a551daffafde162f5",machine:34404},arm64:{packageName:"@rexvane/piweb-niubash-win32-arm64",directory:"piweb-niubash-win32-arm64",asset:"niubash-v1.1.4-win-arm64.zip",assetSha256:"77e98ba8d7f6be70c35388bcc28bdbc883c06bcaafffbe186a88788ad32ccf00",machine:43620}},w={"NIUBASH.txt":"1290aae99e71239ee3154e7847830e49e7a36c758fa6d659d73fa752dc9f81c8","RUBASH.txt":"e426a75a20633f3088da22aef61a5a44d06f1f884c600f6011d00702c3989079","WINUXCMD.txt":"8ffc4ed56f5e6ab8183a7ece2e3aa6ea4800b0a4e8170d11bd60856f2dd760f3"};function o(a){return f().createHash("sha256").update(h().readFileSync(a)).digest("hex")}function p(a){let b=h().statSync(a);if(!b.isFile()||b.size>2097152)throw Error(`${k().basename(a)} is missing or too large`);return JSON.parse(h().readFileSync(a,"utf8"))}function q(a,b){let c=k().resolve(a),d=k().resolve(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}function r(a={}){let b=a.platform??process.platform,c=a.arch??process.arch;if("win32"!==b)return null;let d=v[c];if(!d)return(a.warn??console.warn)(`[piweb] Managed niubash does not support Windows ${c}; using Pi's configured/default Bash.`),null;try{let b=a.loadPackage?a.loadPackage(d.packageName,c):function(a,b,c=m.V){let d=i.createRequire(k().join(c,"package.json")),e=d.resolve.bind(d);try{return{entryPath:e(a),value:d(a)}}catch(e){let a=k().join(c,"platform-packages",v[b].directory,"index.cjs");if(h().existsSync(a))return{entryPath:a,value:d(a)};throw e}}(d.packageName,c,a.root);return function(a,b){let c=v[b];if(!a.value||"object"!=typeof a.value)throw Error(`${c.packageName} has no runtime export`);let d=a.value,e=k().dirname(k().resolve(a.entryPath)),f=k().join(e,"runtime"),g=k().join(f,"niu.exe"),i=k().join(e,"runtime-manifest.json");for(let[a,e,f]of[[d.schema,1,"export schema"],[d.packageName,c.packageName,"export package name"],[d.distributionVersion,t,"export distribution version"],[d.niubashVersion,u,"export niubash version"],[d.platform,"win32","export platform"],[d.arch,b,"export architecture"]])if(a!==e)throw Error(`${f} mismatch`);if("string"!=typeof d.runtimeDir||!q(d.runtimeDir,f))throw Error("runtime directory escapes its package");if("string"!=typeof d.shellPath||!q(d.shellPath,g))throw Error("shell path escapes its package");if("string"!=typeof d.manifestPath||!q(d.manifestPath,i))throw Error("manifest path escapes its package");let j=p(k().join(e,"package.json"));if(j.name!==c.packageName||j.version!==t)throw Error("package identity mismatch");if(j.os?.length!==1||"win32"!==j.os[0])throw Error("package OS restriction mismatch");if(j.cpu?.length!==1||j.cpu[0]!==b)throw Error("package CPU restriction mismatch");let l=p(i);if(1!==l.schema||l.source?.repository!=="https://github.com/unixwin/niubash"||l.source?.tag!=="v1.1.4"||l.source?.asset!==c.asset||l.source?.sha256!==c.assetSha256)throw Error("runtime provenance mismatch");if(!l.files||"object"!=typeof l.files||Array.isArray(l.files))throw Error("runtime file manifest is missing");let m=Object.entries(l.files);if(m.length<300||m.length>1e3)throw Error(`runtime file count is invalid (${m.length})`);for(let[a,b]of m){if(!a||a.includes("\\")||k().posix.isAbsolute(a)||/^[A-Za-z]:/.test(a)||a.split("/").includes(".."))throw Error(`unsafe runtime path: ${a}`);if("string"!=typeof b||!/^[a-f0-9]{64}$/.test(b))throw Error(`invalid runtime hash: ${a}`);let c=k().join(f,...a.split("/"));if(!h().statSync(c).isFile())throw Error(`runtime file is missing: ${a}`);if(o(c)!==b)throw Error(`runtime file failed integrity check: ${a}`)}for(let a of["niu.exe","winuxcmd/usr/bin/winuxcmd.exe","bundles/oh-my-niu/bundle.toml"])if(!(a in l.files))throw Error(`runtime file is missing: ${a}`);for(let a of[g,k().join(f,"winuxcmd","usr","bin","winuxcmd.exe")])if(function(a){let b=h().readFileSync(a);if(b.length<64||77!==b[0]||90!==b[1])throw Error(`${k().basename(a)} is not a PE executable`);let c=b.readUInt32LE(60);if(c+6>b.length||"PE\0\0"!==b.toString("ascii",c,c+4))throw Error(`${k().basename(a)} has an invalid PE header`);return b.readUInt16LE(c+4)}(a)!==c.machine)throw Error(`${k().basename(a)} architecture mismatch`);for(let[a,b]of Object.entries(w))if(o(k().join(e,"licenses",a))!==b)throw Error(`license integrity check failed: ${a}`);return Object.freeze({packageName:c.packageName,distributionVersion:t,niubashVersion:u,arch:b,runtimeDir:f,shellPath:g})}(b,c)}catch(b){var e;return(a.warn??console.warn)(`[piweb] Managed niubash is unavailable (${(e=d.packageName,b?.code==="MODULE_NOT_FOUND"?`${e} is not installed`:b instanceof Error?b.message:String(b))}); using Pi's configured/default Bash. Reinstall @rexvane/piweb to restore the bundled Windows shell (\`npm run prepare:niubash\` in a checkout).`),null}}let x=globalThis;function s(a,b){let c=b?r(b):(x.__piWebManagedNiubash||(x.__piWebManagedNiubash={resolved:r()}),x.__piWebManagedNiubash.resolved);return c?[(0,l.createBashToolDefinition)(a,{shellPath:c.shellPath})]:[]}d()}catch(a){d(a)}})},28686:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{B1:()=>am,H$:()=>A,Hx:()=>ag,Rq:()=>as,SG:()=>R,Sj:()=>ak,Ui:()=>P,al:()=>an,g7:()=>ao,lX:()=>ar,tX:()=>al,vJ:()=>at});var e=c(73024),f=c(77598),g=c(76760),h=c.n(g),i=c(75430),j=c(87982),k=c(14719),l=c(35851),m=c(34007),n=c(3672),o=c(31374),p=c(29296),q=c(62433),r=c(99951),s=c(34070),t=c(75554),u=c(27739),v=c(2995),w=c(72244),x=c(6512),y=a([i,j,l,o,q,t,u,v]);[i,j,l,o,q,t,u,v]=y.then?(await y)():y;let au=globalThis,av=au.__piWebSessions??=new Map;function z(a){if(null==a)return"";if("string"==typeof a)return a;if(Array.isArray(a))return a.map(z).join("");if("object"==typeof a){if("string"==typeof a.text)return a.text;if("string"==typeof a.thinking)return a.thinking}return""}function A(a,b){if(!a||"object"!=typeof a)return{role:"other",content:[]};let c={role:"other",content:[]};b?c.id=b:"string"==typeof a.id&&(c.id=a.id),"number"==typeof a.timestamp&&(c.timestamp=a.timestamp);let d=[];for(let b of Array.isArray(a.content)?a.content:"string"==typeof a.content?[{type:"text",text:a.content}]:[])b&&"object"==typeof b&&("text"===b.type&&"string"==typeof b.text?d.push({type:"text",text:b.text}):"thinking"===b.type&&"string"==typeof b.thinking?d.push({type:"thinking",thinking:b.thinking}):"toolCall"===b.type?d.push({type:"toolCall",id:String(b.id??""),name:String(b.name??""),arguments:b.arguments}):"image"===b.type&&"string"==typeof b.data&&"string"==typeof b.mimeType&&d.push({type:"image",data:b.data,mimeType:b.mimeType}));if(c.content=d,"user"===a.role)c.role="user";else if("assistant"===a.role)c.role="assistant",c.stopReason=a.stopReason,c.errorMessage=a.errorMessage??void 0,c.usage=(0,n.H4)(a.usage),a.usage?.cost?.total!=null&&(c.usage={...c.usage,cost:{total:a.usage.cost.total}}),c.model="string"==typeof a.model?a.model:void 0,c.provider="string"==typeof a.provider?a.provider:void 0;else if("toolResult"===a.role){c.role="toolResult";let b=(0,p.R)(z(a.content));c.content=[{type:"toolResult",toolCallId:a.toolCallId,text:b.text,isError:!0===a.isError,encodingLoss:b.encodingLoss||void 0,patch:C(a.details)}]}return c}function B(a,b){return{...A(b,function(a,b){for(let c of[...a.getEntries()].reverse())if(c?.type==="message"&&c.message===b)return c.id}(a.sm,b)),streamId:function(a,b){if(!b||"object"!=typeof b)return;a.messageIds??=new WeakMap;let c=a.messageIds.get(b);return c||(c=(0,f.randomUUID)(),a.messageIds.set(b,c)),c}(a,b)}}function C(a){let b=a?.patch;return"string"==typeof b&&b.trim()?b.slice(0,6e4):void 0}let aw=new Map;function D(a){return{target:"string"==typeof a?.path?a.path:"string"==typeof a?.file_path?a.file_path:"",content:"string"==typeof a?.content?a.content:void 0}}function E(a){if(null!=a){if("string"==typeof a)return a.slice(-4e3);if(Array.isArray(a))return a.map(z).join("").slice(-4e3)||void 0;if("object"==typeof a){let b=z(a.content);if(b)return b.slice(-4e3);try{return JSON.stringify(a).slice(-4e3)}catch{}}}}let ax=new WeakMap;function F(a){let b=ax.get(a);if(b){for(;b.length>0&&null!==b[0].events;)for(let c of b.shift().events)G(a,c);0===b.length&&ax.delete(a)}}function G(a,b){if(a.disposed)return;a.seq+=1;let c=JSON.stringify(b);for(let b of(a.buffer.push({seq:a.seq,json:c}),a.buffer.length>400&&a.buffer.shift(),a.subscribers))try{b(a.seq,c)}catch{a.subscribers.delete(b)}}function H(a,b){let c=ax.get(a);if(!c)return G(a,b);c.push({events:[b]}),F(a)}function I(a,b){let c=b.model;H(a,{type:"model",provider:c?String(c.provider??""):void 0,model:c?String(c.id??""):void 0,thinkingLevel:String(b.thinkingLevel??""),thinkingLevels:b.getAvailableThinkingLevels(),ts:Date.now()})}function J(a,b){if(!a.desiredThinkingLevel)return;let c=(0,x.Kt)(b.model,a.desiredThinkingLevel);c!==b.thinkingLevel&&b.setThinkingLevel(c)}function K(a){let b=0,c=0,d=0,e=0,f=0,g=0;for(let h of a.ledger.entries){if("tool"===h.kind){c+=Math.max(0,h.timing?.durationMs??0);continue}"message"===h.kind&&(b+=Math.max(0,h.timing?.durationMs??0),h.timing?.ttftMs!==void 0&&(d+=Math.max(0,h.timing.ttftMs),e+=1),h.timing?.decodeMs!==void 0&&h.tokens?.output!==void 0&&(f+=Math.max(0,h.timing.decodeMs),g+=Math.max(0,h.tokens.output)))}return{llmMs:b,toolMs:c,ttftMs:d,ttftSteps:e,decodeMs:f,decodeTokens:g}}function L(a){if(!a.session)return null;try{let b=a.session.getSessionStats();return{userMessages:b.userMessages,assistantMessages:b.assistantMessages,toolCalls:b.toolCalls,totalMessages:b.totalMessages,tokens:b.tokens,cost:b.cost,...K(a)}}catch{return null}}function M(a){if(!a.session)return null;let b=L(a),c=a.session.getContextUsage()??null;return{type:"usage",stats:b,contextUsage:c?{tokens:c.tokens,contextWindow:c.contextWindow,percent:c.percent}:null,ts:Date.now()}}function N(a){let b=M(a);b&&H(a,b)}function O(a){return a.growth&&a.growth.version!==l.IA&&(a.growth.dispose(),a.growth=null),a.growth??=(0,l.kW)({cwd:a.cwd,sessionPath:a.sessionPath,publish:b=>H(a,b)})}async function P(a,b=""){return Q(a),O(a).snapshotNow(b)}function Q(a){a.lastActive=Date.now()}function R(a){let b=av.get(a);if(!b){if(!(0,e.existsSync)(a))throw new q.BV("session not found");let c=(0,j.G1)(a);b=S(a,c.getCwd()||process.cwd(),c)}return Q(b),b}function S(a,b,c){let d=[];try{d=(0,n.WZ)(c.getEntries())}catch{}let e={sessionPath:a,cwd:b,sm:c,session:null,creating:null,subscribers:new Set,buffer:[],seq:0,inflight:null,ui:null,growth:null,ledger:new n.Pn(d),lastActive:Date.now(),toolPreset:"readonly",workflow:(0,w.S6)(c),resourceVersion:0,resourceReloadPending:!1,resourceReloading:!1,promptSubmitting:!1,runActive:!1,disposed:!1,messageIds:new WeakMap};return av.set(a,e),e}function T(a,b=(0,j.ye)(a)){let c=b.getAgentsFiles().agentsFiles.map(a=>({path:a.path,content:a.content,source:"project"})),d=b.getAppendSystemPrompt(),e=b.getAppendSystemPromptSources();return[...c,...d.map((a,b)=>({path:e[b]?.path??`Appended system prompt ${b+1}`,content:a,source:"extension"}))]}async function U(a,b,c){let d={systemPrompt:0,systemTools:0,customTools:0,memory:0,skills:0,compacted:0,autoCompactBuffer:0};if(!b)return d;try{let a=b.systemPrompt??"",f=c.filter(a=>"project"===a.source).map(a=>a.content).join("\n\n");d.memory=(0,s.ec)(f);try{let{skills:c}=b.resourceLoader.getSkills();if(c.length&&a){let b=a.indexOf("The following skills provide specialized instructions"),c=a.indexOf("</available_skills>");b>=0&&c>b&&(d.skills=(0,s.ec)(a.slice(b,c+19)))}}catch{}let g=d.memory+d.skills;d.systemPrompt=Math.max(0,(0,s.ec)(a)-g);try{for(let a of b.getAllTools()){let b=(0,s.ec)(JSON.stringify({name:a.name,description:a.description,parameters:a.parameters,promptGuidelines:a.promptGuidelines}));a.sourceInfo?.source==="builtin"?d.systemTools+=b:d.customTools+=b}}catch{}try{var e;let a=(e=b,e.sm?.getEntries?.()??e.sessionManager?.getEntries?.()??[]);for(let b=a.length-1;b>=0;b-=1){let c=a[b];if(c?.type==="compaction"&&"string"==typeof c.summary){d.compacted=(0,s.ec)(c.summary);break}}}catch{}try{let a=await (0,t.J0)();a.compaction.enabled&&(d.autoCompactBuffer=a.compaction.reserveTokens)}catch{}}catch{}return d}function V(a,b){let c=a.ledger.entries[0]?.ts??Date.now(),d=[];b?.systemPrompt&&d.push({seq:-1,kind:"system",ts:c,title:"Initial System Prompt",detail:b.systemPrompt});try{T(a.cwd,a.session?.resourceLoader).forEach((a,b)=>d.push({seq:-2-b,kind:"context",ts:c,title:a.path,detail:a.content}))}catch{}return d}function W(a,b){for(let c of V(a,b))H(a,{type:"traj",entry:c,ts:Date.now()})}async function X(a){let b=(0,r.Nd)("session");try{return await Y(a)}finally{b()}}async function Y(a){if(a.disposed)throw Error("session is disposed");return a.creating?a.creating:a.session?a.session:(a.creating=(async()=>{let b;await (0,j.Df)(a.cwd);let c=await (0,j.Yb)(a.cwd,[{name:"piweb-workflow",hidden:!0,factory:b=>{b.on("before_agent_start",b=>{let c=(0,w.OW)(a.workflow);c?void 0!==b.systemPromptOptions.forceSystemPrompt?b.systemPromptOptions.forceSystemPrompt+=`
|
|
4
|
+
|
|
5
|
+
${c}`:b.systemPromptOptions.sections.piweb_workflow=c:delete b.systemPromptOptions.sections.piweb_workflow,"plan"===a.workflow.mode&&"executing"!==a.workflow.planStatus&&(b.systemPromptOptions.selectedTools=b.systemPromptOptions.selectedTools.filter(a=>[...j.Ax.readonly,"piweb_delegate"].includes(a)))})}}]);try{var d,f;let g,l;if(a.disposed)throw Error("session is disposed");let{session:m}=await (0,j.az)({cwd:a.cwd,agentDir:(0,j.$M)(),sessionManager:a.sm,modelRuntime:await (0,j.uU)(),resourceLoader:c,settingsManager:(0,j.vT)(a.cwd),customTools:[...(0,u.$k)(a.cwd),(0,v.t)(a.cwd,()=>a.session)]});if(b=m,a.disposed)throw Error("session is disposed");a.session=m,d=a,g=(f=m).setActiveToolsByName.bind(f),f.setActiveToolsByName=a=>{let b=$(d,f);g([...new Set(a)].filter(a=>b.includes(a)))},l=f.reload.bind(f),f.reload=async a=>{if(d.disposed)throw Error("session is disposed");if(Z(d))throw Error("session is busy");d.resourceReloading=!0;try{await (0,j.YW)(async()=>{if(d.disposed||d.runActive||!f.isIdle)throw Error("session is busy");await l({beforeSessionStart:async()=>{_(d,f),await a?.beforeSessionStart?.(),_(d,f)}})}),d.resourceVersion=(0,j.Ec)(d.cwd)}finally{_(d,f),d.resourceReloading=!1,d.disposed||(aa(d,f),W(d,f),ai(d))}},_(a,m),m.subscribe(b=>{a.disposed||function(a,b){a.ledger.onEvent(b),O(a).onEvent(b);let c=Date.now();switch(b.type){case"message_start":{let d=b.message,e=B(a,d);"assistant"===e.role&&(a.inflight=d,a.inflightId=e.streamId,a.inflightIndex=a.session?.messages.length,e.stopReason="pending",e.content=e.content.map(a=>"text"===a.type?{...a,text:""}:"thinking"===a.type?{...a,thinking:""}:a)),("user"===e.role||"assistant"===e.role)&&H(a,{type:"message",message:e,phase:"start",ts:c});break}case"message_update":{let d=b.assistantMessageEvent;if(b.message&&(a.inflight=b.message,a.inflightId&&a.messageIds.set(b.message,a.inflightId)),!d)break;"text_delta"===d.type&&"string"==typeof d.delta?H(a,{type:"delta",kind:"text",contentIndex:d.contentIndex,delta:d.delta,messageId:a.inflightId,ts:c}):"thinking_delta"===d.type&&"string"==typeof d.delta&&H(a,{type:"delta",kind:"thinking",contentIndex:d.contentIndex,delta:d.delta,messageId:a.inflightId,ts:c});break}case"message_end":{let d,e,f=b.message;f?.role==="assistant"&&(a.inflightId&&a.messageIds.set(f,a.inflightId),a.inflight=null,a.inflightId=void 0,a.inflightIndex=void 0),d=ax.get(a)??[],e={events:null},d.push(e),ax.set(a,d),queueMicrotask(()=>{e.events=(()=>{let b=B(a,f);"assistant"===b.role&&(b.endedAt=c);let d=M(a);return d?[{type:"message",message:b,phase:"end",ts:c},d]:[{type:"message",message:b,phase:"end",ts:c}]})(),F(a)});break}case"tool_execution_start":b.toolName?.toLowerCase()==="write"&&function(a,b,c,d){let{target:f}=D(d);if(f)try{let d=h().isAbsolute(f)?f:h().resolve(a,f),g=(0,e.statSync)(d);if(!g.isFile()||g.size>524288)return;let i=(0,e.readFileSync)(d,"utf8");if(i.includes("\0"))return;aw.size>256&&aw.clear(),aw.set(`${b}\u0000${c}`,i)}catch{}}(a.cwd,a.sessionPath,b.toolCallId,b.args),H(a,{type:"tool",id:b.toolCallId,name:b.toolName,args:b.args,state:"running",ts:c});break;case"tool_execution_update":{let d=(0,p.R)(E(b.partialResult)??"");H(a,{type:"tool",id:b.toolCallId,name:b.toolName,args:b.args,state:"running",partialResult:d.text||void 0,encodingLoss:d.encodingLoss||void 0,ts:c});break}case"tool_execution_end":{let d=(0,p.R)(E(b.result)??"");H(a,{type:"tool",id:b.toolCallId,name:b.toolName,args:b.args,state:"done",result:d.text||void 0,isError:b.isError,encodingLoss:d.encodingLoss||void 0,patch:C(b.result?.details)??(b.toolName?.toLowerCase()==="write"?function(a,b,c,d){let e=`${b}\u0000${c}`,f=aw.get(e);if(aw.delete(e),void 0===f)return;let{target:g,content:h}=D(d);if(void 0!==h&&h!==f)try{return(0,i.generateUnifiedPatch)(g,f,h).slice(0,6e4)}catch{return}}(a.cwd,a.sessionPath,b.toolCallId,b.args):void 0),ts:c}),N(a);break}case"agent_start":a.runActive=!0,H(a,{type:"status",isStreaming:!0,state:"running",ts:c});break;case"agent_end":N(a);break;case"agent_settled":if(a.runActive=!1,"plan"===a.workflow.mode){if("planning"===a.workflow.planStatus){let b=[...a.session?.messages??[]].reverse().find(a=>"assistant"===a.role),c=b?.role==="assistant"&&"stop"===b.stopReason&&b.content.some(a=>"text"===a.type&&a.text.trim())?a.sm.getBranch().slice().reverse().find(a=>"message"===a.type&&"assistant"===a.message.role&&"stop"===a.message.stopReason):void 0;ab(a,{...a.workflow,planStatus:c?"ready":"idle",planId:c?.id})}else if("executing"===a.workflow.planStatus){let b=[...a.session?.messages??[]].reverse().find(a=>"assistant"===a.role),c=b?.role==="assistant"&&("error"===b.stopReason||"aborted"===b.stopReason)?a.sm.getLeafId():null;ab(a,c?{...a.workflow,planStatus:"ready",planId:c}:{...a.workflow,planStatus:"idle",planId:void 0})}}H(a,{type:"status",isStreaming:!1,state:"idle",ts:c}),N(a),a.resourceReloadPending&&queueMicrotask(()=>void aj(a));break;case"queue_update":H(a,{type:"queue",steering:[...b.steering],followUp:[...b.followUp],ts:c});break;case"compaction_start":H(a,{type:"status",isStreaming:!0,state:"compacting",ts:c}),H(a,{type:"compaction",phase:"start",reason:b.reason,ts:c});break;case"compaction_end":H(a,{type:"compaction",phase:"end",reason:b.reason,errorMessage:b.errorMessage,ts:c}),N(a),"manual"===b.reason&&(H(a,{type:"status",isStreaming:Z(a),state:Z(a)?"running":"idle",ts:c}),a.resourceReloadPending&&queueMicrotask(()=>void aj(a)));break;case"session_info_changed":H(a,{type:"name",name:b.name??"",ts:c});break;case"thinking_level_changed":a.session?I(a,a.session):H(a,{type:"model",thinkingLevel:b.level,ts:c});break;case"auto_retry_start":H(a,{type:"retry",attempt:Number(b.attempt)||0,maxAttempts:Number(b.maxAttempts)||0,message:String(b.errorMessage??""),ts:c})}for(let b of a.ledger.drainDirty())H(a,{type:"traj",entry:b,ts:Date.now()})}(a,b)});let n=(0,k.X)({publish:b=>H(a,b),hasViewers:()=>!a.disposed&&a.subscribers.size>0});if(a.ui=n,await m.bindExtensions({mode:"rpc",uiContext:n.uiContext,onError:b=>{H(a,{type:"error",message:`扩展 ${b.extensionPath.split(/[\\/]/).pop()} 在 ${b.event} 出错:${b.error}`,ts:Date.now()})},abortHandler:()=>void m.abort().catch(()=>void 0)}),a.disposed)throw Error("session is disposed");return _(a,m),a.resourceVersion=(0,j.Ec)(a.cwd),W(a,m),aa(a,m),ai(a),N(a),m}catch(d){throw a.ui?.dispose(),a.ui=null,b?.dispose(),c.getExtensions().runtime.invalidate(),a.session=null,d}})().catch(b=>{throw a.disposed||H(a,{type:"error",message:String(b?.message??b),ts:Date.now()}),b}).finally(()=>{a.creating=null}),a.creating)}function Z(a){return a.promptSubmitting||a.resourceReloading||a.runActive||!!(a.session&&!a.session.isIdle)}function $(a,b){let c=a.customActiveTools??("full"===a.toolPreset?void 0:j.Ax[a.toolPreset]),d=c?[...c,...a.customActiveTools||"readonly"===a.toolPreset?[]:["piweb_delegate"]]:void 0,e="plan"===a.workflow.mode&&"executing"!==a.workflow.planStatus;return ad(b).filter(a=>(!d||d.includes(a))&&(!e||[...j.Ax.readonly,"piweb_delegate"].includes(a)))}function _(a,b){b.setActiveToolsByName($(a,b))}function aa(a,b){H(a,{type:"tools",active:ae(b),all:ad(b),toolPreset:a.toolPreset,customActiveTools:a.customActiveTools??null,ts:Date.now()})}function ab(a,b){(0,w.l2)(a.sm,b),a.workflow=b,ac(a)}function ac(a){a.session&&!a.disposed&&(_(a,a.session),aa(a,a.session)),H(a,{type:"workflow",workflow:a.workflow,ts:Date.now()})}function ad(a){let b=a.getAllTools?.();return b?b.map(a=>a.name):[]}function ae(a){return a.getActiveToolNames?.()??[]}function af(a){if(!a.disposed){a.disposed=!0,a.ui?.dispose(),a.ui=null,a.growth?.dispose(),a.growth=null;try{a.session?.dispose()}catch{}for(let b of(a.creating&&a.creating.then(a=>{try{a?.dispose()}catch{}}).catch(()=>void 0),a.subscribers))try{b(a.seq,JSON.stringify({type:"status",isStreaming:!1,state:"disposed",ts:Date.now()}))}catch{}a.subscribers.clear(),av.delete(a.sessionPath)}}async function ag(a){let b=av.get(a);if(!b)return;let c=b.session??(b.creating?await b.creating.catch(()=>null):null);c?.isStreaming&&await c.abort().catch(()=>void 0),af(b)}function ah(a){let b=a.session?.resourceLoader??(0,j.v9)(a.cwd)??(0,j.ye)(a.cwd),c=[],d=[];try{let a=b.getSkills();for(let b of(d=a.skills.map(a=>({name:String(a.name??""),description:String(a.description??"")})),a.diagnostics??[]))c.push({kind:"skill",path:b.path,message:b.message})}catch{d=[]}let e=[];try{let a=b.getPrompts();for(let b of(e=a.prompts.map(a=>({name:String(a.name??""),description:String(a.description??""),argumentHint:a.argumentHint})),a.diagnostics??[]))c.push({kind:"prompt",path:b.path,message:b.message})}catch{e=[]}try{for(let a of b.getExtensions().errors??[])c.push({kind:"extension",path:a.path,message:a.error})}catch{}let f=[];if(a.session)try{let b=a.session.extensionRunner;if(b)for(let a of(f=b.getRegisteredCommands().map(a=>({name:a.invocationName,description:String(a.description??""),source:String(a.sourceInfo?.path??"").split(/[\\/]/).pop()??""})),b.getCommandDiagnostics()??[]))c.push({kind:"command",path:a.path,message:a.message})}catch{f=[]}return{skills:d,promptTemplates:e,extensionCommands:f,projectTrust:(0,j.af)(a.cwd),resourceDiagnostics:c}}function ai(a){H(a,{type:"resources",...ah(a),ts:Date.now()})}async function aj(a){if(a.disposed||!a.session||a.creating||Z(a))return!1;a.resourceReloadPending=!1;try{return await a.session.reload(),!0}catch(b){return H(a,{type:"error",message:`重载扩展失败:${String(b?.message??b)}`,ts:Date.now()}),!1}finally{a.resourceReloadPending&&!Z(a)&&queueMicrotask(()=>void aj(a))}}async function ak(a){let b=a=>"win32"===process.platform?a.replace(/\\/g,"/").toLowerCase():a.replace(/\\/g,"/"),c=0;for(let d of av.values())if(!a||b(d.cwd)===b(a)){if(!d.session){d.subscribers.size>0&&ai(d);continue}if(d.creating||Z(d)){d.resourceReloadPending=!0,H(d,{type:"error",message:"资源已更新,将在本轮结束后生效",ts:Date.now()}),ai(d);continue}await aj(d)&&(c+=1)}return c}async function al(a){let b,c,d,e;Q(a),await (0,j.Df)(a.cwd);try{a.session&&Z(a)?((0,j.Dc)(a.cwd)||a.resourceVersion!==(0,j.Ec)(a.cwd))&&(a.resourceReloadPending=!0):(await (0,j.jz)(a.cwd),a.session&&(a.resourceReloadPending||a.resourceVersion!==(0,j.Ec)(a.cwd))&&(a.resourceReloadPending=!0,await aj(a)))}catch{}let f=a.session,g=[],h=!1,i=["off","minimal","low","medium","high","xhigh","max"];if(f){let e=function(a,b){if(!a.inflightId||void 0===a.inflightIndex)return!1;let c=b.messages[a.inflightIndex];return!!c&&"assistant"===c.role&&(a.messageIds.set(c,a.inflightId),!0)}(a,f);if(g=f.messages.map(b=>B(a,b)),!e&&a.inflight){let b=B(a,a.inflight);"assistant"===b.role&&g.push({...b,stopReason:"pending"})}b=a.seq;let j=f.model;j&&(c={provider:String(j.provider??""),id:String(j.id??""),name:String(j.name??j.id??"")}),d=String(f.thinkingLevel??"");try{i=f.getAvailableThinkingLevels()}catch{}h=Z(a)}else{try{g=a.sm.buildContextEntries().filter(a=>"message"===a.type&&a.message).map(a=>A(a.message,a.id))}catch{g=[]}try{let b=a.sm,e=b.buildSessionContext?.();if(e?.model&&(c={provider:e.model.provider,id:e.model.modelId,name:e.model.modelId}),d=e?.thinkingLevel,e?.model){let a=(await (0,j.uU)()).getModel(e.model.provider,e.model.modelId);a&&(i=(0,x.W8)(a),d&&(d=(0,x.Kt)(a,d)))}}catch{}}let k=f?L(a):function(a){let b=0,c=0,d=0,e=0,f={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},g=0,h=a=>{a&&"object"==typeof a&&(f.input+=Number(a.input??0),f.output+=Number(a.output??0),f.cacheRead+=Number(a.cacheRead??0),f.cacheWrite+=Number(a.cacheWrite??0),g+=Number(a.cost?.total??0))};for(let f of a.sm.getEntries()){if(("branch_summary"===f.type||"compaction"===f.type)&&f.usage&&h(f.usage),"message"!==f.type||!f.message)continue;e+=1;let a=f.message;"user"===a.role?b+=1:"assistant"===a.role?(c+=1,d+=Array.isArray(a.content)?a.content.filter(a=>a?.type==="toolCall").length:0,h(a.usage)):"toolResult"===a.role&&h(a.usage)}return f.total=f.input+f.output+f.cacheRead+f.cacheWrite,{userMessages:b,assistantMessages:c,toolCalls:d,totalMessages:e,tokens:f,cost:g,...K(a)}}(a),l=null;if(f){let a=f.getContextUsage()??null;l=a?{tokens:a.tokens,contextWindow:a.contextWindow,percent:a.percent}:null}else if(c)try{let b=(await (0,j.uU)()).getModels(c.provider).find(a=>String(a.id)===c.id),d=Number(b?.contextWindow??0),e=0,f=a.sm.getEntries(),h=!1;for(let a=f.length-1;a>=0;a--){let b=f[a];if("compaction"===b.type||"branch_summary"===b.type){h=!0;break}if("message"===b.type&&b.message?.role==="assistant"&&"error"!==b.message.stopReason&&"aborted"!==b.message.stopReason)break}for(let a=g.length-1;a>=0&&!h;a--){let b=g[a];if("assistant"===b.role&&b.usage&&"error"!==b.stopReason&&"aborted"!==b.stopReason){e=Number(b.usage.totalTokens??0)||Number(b.usage.input??0)+Number(b.usage.cacheRead??0)+Number(b.usage.cacheWrite??0)+Number(b.usage.output??0);break}}d>0&&e>0?l={tokens:e,contextWindow:d,percent:e/d*100}:d>0&&(l={tokens:null,contextWindow:d,percent:null})}catch{}let o=f?{active:ae(f),all:ad(f).map(a=>({name:a}))}:{active:[],all:[]},p=f?{steering:[...f.getSteeringMessages()],followUp:[...f.getFollowUpMessages()]}:{steering:[],followUp:[]},q="";try{q=a.sm.getSessionName?.()??""}catch{q=""}let r=[];try{r=T(a.cwd,a.session?.resourceLoader)}catch{r=[]}try{e=await U(a.cwd,a.session,r)}catch{e=void 0}let s=ah(a),t=a.ledger.entries.length?a.ledger.entries:function(a){try{return(0,n.WZ)(a.sm.getEntries())}catch{return[]}}(a),u=[...V(a,f),...t];return{seq:b??a.seq,sessionPath:a.sessionPath,cwd:a.cwd,name:q,contextFiles:r.map(a=>a.path),contextResources:r,contextBreakdown:e,...s,messages:g,userTurns:(0,m.g)(a.sm.getEntries()),growthError:a.growth?.getError?.()??null,model:c,thinkingLevel:d,thinkingLevels:i,toolPreset:a.toolPreset,workflow:a.workflow,customActiveTools:a.customActiveTools??null,extensionUiRequests:a.ui?.getPendingRequests()??[],tools:o,stats:k,contextUsage:l,queue:p,trajectory:u,isStreaming:h}}function am(a,b,c){if(Q(a),c<0||c>a.seq)return!1;let d=a.buffer.filter(a=>a.seq>c);if(d.length!==a.seq-c)return!1;let e=new Set(a.ui?.getPendingRequests().map(a=>a.id));if(d.some(a=>{let b=JSON.parse(a.json);return"extension_ui"===b.type&&["select","confirm","input"].includes(b.method)&&!e.has(b.id)}))return!1;for(let c of(a.subscribers.add(b),d))b(c.seq,c.json);return!0}function an(a,b){a.subscribers.delete(b)}async function ao(a,b){let c;try{return["abort","clearQueue","extensionUiResponse"].includes(b.cmd)||(c=(0,r.Nd)("session")),await aq(a,b)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}finally{c?.()}}function ap(a,...b){let c=(0,r.Nd)("session");try{return a.prompt(...b).finally(c)}catch(a){throw c(),a}}async function aq(a,b){Q(a);try{switch(b.cmd){case"prepare":return await X(a),{ok:!0};case"setWorkflowMode":if(!(0,w.JD)(b.mode))return{ok:!1,error:"invalid workflow mode"};if(Z(a))return{ok:!1,error:"cannot change workflow while the agent is running"};if(b.mode===a.workflow.mode)return{ok:!0};return ab(a,{mode:b.mode,planStatus:"idle",goal:""}),{ok:!0};case"approvePlan":{if(!(0,w.PD)(a.workflow))return{ok:!1,error:"there is no plan awaiting approval"};if(Z(a))return{ok:!1,error:"session is busy"};let b=a.sm.getBranch(),c=b.findIndex(b=>b.id===a.workflow.planId);if(c<0||b.slice(c+1).some(a=>"message"===a.type))return{ok:!1,error:"the plan is no longer the latest conversation; request a new plan"};let d=a.workflow;ab(a,{...d,planStatus:"executing"});let e=await ao(a,{cmd:"prompt",text:"Execute the plan you just proposed. Verify the changes and report any unfinished work."});return e.ok||ab(a,d),e}case"prompt":{let c=(b.text??"").trim();if(!c&&!b.images?.length)return{ok:!1,error:"empty prompt"};if(a.promptSubmitting||a.resourceReloading)return{ok:!1,error:"session is busy accepting another command"};a.promptSubmitting=!0;try{let d=await X(a);if(a.disposed)throw Error("session is disposed");if((d.isStreaming||a.runActive)&&!b.behavior)return{ok:!1,error:"session is busy; choose steer or followUp"};if("plan"===a.workflow.mode&&(d.isStreaming||a.runActive))return{ok:!1,error:"wait for the current plan or execution to finish"};if(d.isStreaming||await Promise.race([O(a).prepare().catch(()=>void 0),new Promise(a=>setTimeout(a,5e3))]),a.disposed)throw Error("session is disposed");let e=a.workflow;"plan"===a.workflow.mode&&"executing"!==a.workflow.planStatus?ab(a,{...a.workflow,planStatus:"planning",planId:void 0}):"goal"===a.workflow.mode&&!a.workflow.goal&&c&&ab(a,{...a.workflow,goal:c.slice(0,8e3)});let f=await new Promise(e=>{let f=!1;ap(d,c,{images:b.images,streamingBehavior:b.behavior,expandPromptTemplates:"plan"!==a.workflow.mode||"executing"===a.workflow.planStatus,source:"rpc",preflightResult:a=>{a&&(f=!0,e({ok:!0,data:{accepted:!0}}))}}).then(()=>{f||e({ok:!1,error:"prompt completed without acceptance"})},b=>{let c=String(b?.message??b);f?H(a,{type:"error",message:c,ts:Date.now()}):e({ok:!1,error:c})})});return f.ok||a.workflow===e||ab(a,e),f}finally{a.promptSubmitting=!1,a.disposed||H(a,{type:"status",isStreaming:Z(a),state:Z(a)?"running":"idle",ts:Date.now()}),a.resourceReloadPending&&queueMicrotask(()=>void aj(a))}}case"steer":case"followUp":{if("plan"===a.workflow.mode)return{ok:!1,error:"Plan mode does not queue prompts"};if(a.promptSubmitting||a.resourceReloading)return{ok:!1,error:"session is busy accepting another command"};let c=await X(a);if(a.promptSubmitting||a.resourceReloading||!c.isStreaming)return{ok:!1,error:"session is not accepting queued messages"};return await c[b.cmd](b.text??"",b.images),{ok:!0}}case"clearQueue":{if(!a.session)return{ok:!0,data:{steering:[],followUp:[]}};let b=a.session.clearQueue();return H(a,{type:"queue",steering:[],followUp:[],ts:Date.now()}),{ok:!0,data:b}}case"abort":{if(!a.session)return{ok:!0,data:{steering:[],followUp:[]}};let b=a.session.clearQueue();return await a.session.abort(),H(a,{type:"status",isStreaming:!1,state:"aborted",ts:Date.now()}),{ok:!0,data:b}}case"compact":{let c=await X(a);return await c.compact(b.instructions||void 0),{ok:!0}}case"setModel":{let c=await X(a),d=(await (0,j.uU)()).getModels(b.provider).find(a=>a.id===b.modelId);if(!d)return{ok:!1,error:`unknown model ${b.provider}/${b.modelId}`};return await c.setModel(d,{persist:!1}),J(a,c),I(a,c),{ok:!0,data:{thinkingLevel:c.thinkingLevel,thinkingLevels:c.getAvailableThinkingLevels()}}}case"setThinkingLevel":{let c=await X(a),d=String(b.level??"medium"),e=(0,x.Kt)(c.model,d);return a.desiredThinkingLevel=d,c.setThinkingLevel(e),I(a,c),{ok:!0,data:{requested:d,thinkingLevel:c.thinkingLevel,clamped:c.thinkingLevel!==d}}}case"setToolPreset":{let c=b.preset;if(!Object.hasOwn(j.Ax,c))return{ok:!1,error:"invalid tool preset"};if(Z(a))return{ok:!1,error:"cannot change tools while the agent is running"};let d=await X(a);if(Z(a))return{ok:!1,error:"cannot change tools while the agent is running"};return a.toolPreset=c,a.customActiveTools=void 0,_(a,d),W(a,d),aa(a,d),{ok:!0}}case"setActiveTools":{if(Z(a))return{ok:!1,error:"cannot change tools while the agent is running"};let c=await X(a);if(Z(a))return{ok:!1,error:"cannot change tools while the agent is running"};let d=Array.isArray(b.names)?b.names.map(String):[],e=ad(c),f=[...new Set(d)].filter(a=>e.includes(a));if(0===f.length)return{ok:!1,error:"cannot disable all tools"};return a.customActiveTools=f,_(a,c),W(a,c),aa(a,c),{ok:!0,data:{active:ae(c)}}}case"cycleModel":{let c=await X(a),d=await c.cycleModel(b.direction??"forward");if(d?.model)return J(a,c),I(a,c),{ok:!0,data:{model:String(d.model.id??""),thinkingLevel:c.thinkingLevel}};return{ok:!1,error:"no scoped models to cycle"}}case"navigate":{let c=await X(a),d=String(b.entryId??"");if(!d)return{ok:!1,error:"missing entryId"};let e=await c.navigateTree(d);return e?.cancelled||(a.workflow=(0,w.S6)(a.sm),ac(a)),{ok:!e?.cancelled,data:{cancelled:e?.cancelled===!0,editorText:e?.editorText}}}case"editAndResend":{let c=String(b.entryId??""),d=(b.text??"").trim();if(!c)return{ok:!1,error:"missing entryId"};if(!d)return{ok:!1,error:"empty prompt"};let e=a.sm.getEntry(c);if(e?.type!=="message"||"user"!==e.message.role)return{ok:!1,error:"message is not editable"};let f=Array.isArray(e.message.content)?e.message.content.filter(a=>"image"===a.type):[];if(a.promptSubmitting||a.resourceReloading)return{ok:!1,error:"session is busy accepting another command"};a.promptSubmitting=!0;try{let b,g=await X(a);if(a.disposed)throw Error("session is disposed");if(g.isStreaming||a.runActive){await g.abort().catch(()=>void 0);for(let b=0;b<50&&!a.disposed&&(g.isStreaming||a.runActive);b+=1)await new Promise(a=>setTimeout(a,100))}if(a.disposed)throw Error("session is disposed");let h=a.sm.getLeafId(),i=h===c;i&&(e.parentId?a.sm.branch(e.parentId):a.sm.resetLeaf());try{b=await g.navigateTree(c)}catch(b){throw i&&a.sm.branch(c),b}if(b?.cancelled&&i&&a.sm.branch(c),b?.cancelled)return{ok:!1,error:"edit cancelled"};a.workflow=(0,w.S6)(a.sm),ac(a),await O(a).prepare().catch(()=>void 0);let j=a.workflow;"plan"===a.workflow.mode?ab(a,{...a.workflow,planStatus:"planning",planId:void 0}):"goal"===a.workflow.mode&&(0,w.ze)(a.sm)&&a.workflow.goal!==d.slice(0,8e3)&&ab(a,{...a.workflow,goal:d.slice(0,8e3)});let k={images:f,expandPromptTemplates:"plan"!==a.workflow.mode};return await new Promise(b=>{let c=!1;ap(g,d,{...k,preflightResult:a=>{a&&(c=!0,b({ok:!0,data:{accepted:!0}}))}}).then(()=>{c||b({ok:!0})},d=>{let e=String(d?.message??d);if(c)return void H(a,{type:"error",message:e,ts:Date.now()});try{h?a.sm.branch(h):a.sm.resetLeaf(),g.refreshContext(),a.workflow=(0,w.S6)(a.sm),ac(a)}catch{a.workflow!==j&&ab(a,j)}b({ok:!1,error:e})})})}finally{a.promptSubmitting=!1}}case"rename":{let c=(b.text??"").trim();return a.session?a.session.setSessionName(c):a.sm.appendSessionInfo(c),H(a,{type:"name",name:c,ts:Date.now()}),{ok:!0}}case"extensionUiResponse":return a.ui?.respond(String(b.requestId),{value:b.value,confirmed:b.confirmed,cancelled:b.cancelled})?{ok:!0}:{ok:!1,error:"no pending extension request"};case"reload":{if(Z(a))return{ok:!1,error:"session is busy"};let b=await X(a);return await b.reload(),{ok:!0}}case"fork":{let c=(b.entryId?j.Cv.open(a.sessionPath).createBranchedSession(b.entryId):j.Cv.forkFrom(a.sessionPath,a.cwd).getSessionFile())??"";if(!c)return{ok:!1,error:"failed to create forked session"};return{ok:!0,data:{sessionPath:c}}}default:return{ok:!1,error:"unknown cmd"}}}catch(a){return{ok:!1,error:String(a?.message??a)}}}async function ar(a){let b=j.Cv.create(a),c=b.getSessionFile()??"";if(!c)throw Error("failed to create session file");return S(c,a,b),{sessionPath:c}}function as(){let a={};for(let[b,c]of av){let d;if(c.session){for(let a=c.ledger.entries.length-1;a>=0;a-=1){let b=c.ledger.entries[a];if("tool"===b.kind){d=[b.toolName,(b.preview??b.title??"").split("\n")[0].slice(0,80)].filter(Boolean).join(" \xb7 ");break}}a[b]={streaming:Z(c),lastStep:d}}}return a}async function at(a,b){let d=a.sessionPath.replace(/\\/g,"/").split("/").pop()??"session";if("jsonl"===b){let{readFile:b}=await Promise.resolve().then(c.t.bind(c,51455,23));return{filename:d,content:await b(a.sessionPath,"utf8"),contentType:"application/jsonl"}}let e=await X(a),f=await e.exportToHtml(),{readFile:g,rm:h}=await Promise.resolve().then(c.t.bind(c,51455,23)),i=await g(f,"utf8");return await h(f,{force:!0}).catch(()=>void 0),{filename:d.replace(/\.jsonl$/,".html"),content:i,contentType:"text/html"}}setInterval(function(){let a=Date.now();for(let b of[...av.values()])!(b.subscribers.size>0)&&!(a-b.lastActive<=6e5)&&(b.creating||Z(b)||af(b));let b=[...av.values()].filter(a=>a.session);if(b.length>6)for(let a of b.filter(a=>!a.creating&&!Z(a)&&0===a.subscribers.size).sort((a,b)=>a.lastActive-b.lastActive).slice(0,b.length-6))af(a)},6e4).unref?.(),(0,o.j8)({isActive:function(a){let b="win32"===process.platform?a.toLowerCase():a;for(let a of av.keys())if(("win32"===process.platform?a.toLowerCase():a)===b)return!0;return!1},log:a=>console.log(a)}),d()}catch(a){d(a)}})},29296:(a,b,c)=>{c.d(b,{R:()=>d});function d(a){return a.includes("�")?{text:a.split(/\r?\n/).filter(a=>!a.includes("�")).join("\n").replace(/\n{3,}/g,"\n\n").trim(),encodingLoss:!0}:{text:a,encodingLoss:!1}}},31374:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{j8:()=>l});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(6896),j=a([i]);async function k({now:a=Date.now(),retentionDays:b=30,isActive:d=()=>!1,log:e=console.log,dryRun:g=!1}={}){let j={scanned:0,deleted:[],missing:[],skippedActive:[],kept:0};if(!Number.isFinite(b)||b<=0)return j;let l=a-24*b*36e5,{archivedSessions:m}=await (0,i.vQ)();for(let k of m){let m;j.scanned+=1;let n=h().resolve(k);if(d(n)){j.skippedActive.push(n),j.kept+=1;continue}try{let a=await f().stat(n);if(!a.isFile())throw Object.assign(Error("not a file"),{code:"ENOENT"});m=a.mtimeMs}catch(a){if("ENOENT"!==a.code)throw a;j.missing.push(n),g||await (0,i.Iz)(n);continue}if(m>l){j.kept+=1;continue}let o=Math.floor((a-m)/864e5);if(j.deleted.push({path:n,idleDays:o}),g)continue;let{deleteSession:p}=await c.e(229).then(c.bind(c,66229));await p(n),await (0,i.Iz)(n),e(`[piweb] 归档会话已超过 ${b} 天没有活动(${o} 天),已删除:${n}`)}return j}i=(j.then?(await j)():j)[0];let m=!1;function l({intervalMs:a=216e5,delayMs:b=5e3,log:c=console.log,isActive:d}={}){if(m)return;m=!0;let e=async()=>{Date.now();try{let a=await k({log:c,isActive:d});(a.deleted.length||a.missing.length)&&c(`[piweb] 归档清理:删除 ${a.deleted.length} 个,清理失效记录 ${a.missing.length} 个,保留 ${a.kept} 个`)}catch(a){c(`[piweb] 归档清理失败:${a instanceof Error?a.message:a}`)}},f=setTimeout(()=>{e();let b=setInterval(()=>void e(),a);b.unref?.()},b);f.unref?.()}d()}catch(a){d(a)}})},34007:(a,b,c)=>{c.d(b,{g:()=>d});function d(a){let b=[];for(let[c,d]of a.entries()){if("message"!==d.type||d.message?.role!=="user")continue;let a="number"==typeof d.timestamp?d.timestamp:Date.parse(d.timestamp??""),e=Number.isFinite(a)?a:d.message.timestamp;b.push({id:d.id??`entry:${c}`,ts:"number"==typeof e&&Number.isFinite(e)?e:NaN})}return b}},34070:(a,b,c)=>{c.d(b,{ec:()=>d});function d(a){return Math.ceil(a.length/4)}},35851:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IA:()=>o,kW:()=>m});var e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(69460),j=a([i]);i=(j.then?(await j)():j)[0];let n=new Set(["read","grep","find","ls"]),o=3;function k(a){return!n.has(a.toLowerCase())}function l(a,b){if(!h().isAbsolute(b))return b.replace(/\\/g,"/");let c=h().relative(a,b);return!c||c.startsWith("..")||h().isAbsolute(c)?b.replace(/\\/g,"/"):c.replace(/\\/g,"/")}let p=/(?:^|\/)(?:\.DS_Store|Thumbs\.db|[^/]*\.log|[^/]*\.tsbuildinfo|next-env\.d\.ts)$/;function m(a){let b,c,d,g,{cwd:j,sessionPath:m,publish:n}=a,q=new Set,r=new Map,s=[],t=new Set,u=0,v=null,w=!1,x=!1,y=null,z=!1,A=null,B=!1,C=0,D=!1,E=null,F=Promise.resolve(),G=a=>{let e=a instanceof Error?a.message:String(a),f=a instanceof i.qy&&("unavailable"===a.code||"too-large"===a.code);if(f){z=!0,A=a;try{v?.close()}catch{}v=null,b&&clearTimeout(b),c&&clearTimeout(c),d&&clearTimeout(d),b=c=d=void 0,s.length=0,q.clear(),r.clear(),t.size&&(t.clear(),n({type:"growth_pending",paths:[],ts:Date.now()}))}D=!0,E=e;let g=Date.now();(f||!(g-C<6e4))&&(C=g,console.warn(`[piweb] growth snapshot failed for ${j}: ${e}`),n({type:"growth_error",message:e,ts:g}))},H=()=>{c=void 0,n({type:"growth_pending",paths:[...t].slice(0,200),ts:Date.now()})},I=a=>F=F.then(a,a).catch(G),J=async(a,b=!1)=>{if(z||B)return;let d=await (0,i.P9)(j,{...a,session:m,force:b});D&&(D=!1,E=null,n({type:"growth_error",message:null,ts:Date.now()})),d&&!B&&(n({type:"growth",step:d,ts:Date.now()}),t.size&&(t.clear(),c&&clearTimeout(c),H()))},K=(a,b=!1)=>I(()=>J(a,b)),L=()=>x?F:(y||(y=I(async()=>{z||B||(await (0,i.k$)(j,m)||await J({kind:"baseline",label:"",ts:g},!0),x=!0)})).finally(()=>{y=null}),y),M=()=>{b=void 0;let a=s.splice(0);if(!a.length)return;let c=a.filter(a=>"tool"===a.kind),d=c[0]??a[0],e=c.length>1?` +${c.length-1}`:"",f=a.reduce((a,b)=>b.ts??a,void 0)??g;(x?Promise.resolve():L().catch(()=>void 0)).then(()=>{B||z||K({kind:d.kind,label:`${d.label}${e}`,toolCallId:d.toolCallId,toolName:d.toolName,ts:f})})},N=(a,e)=>{if(z||B)return;let g=null==e?"":String(e).replace(/\\/g,"/");if(!(g&&((0,i.vt)(g)||p.test(g)))){if(q.size>0){if(!g||t.size+u>=500)return;u+=1,f().promises.stat(h().join(j,g)).then(a=>a.isDirectory(),()=>!1).then(a=>{if(B||z)return;let b=a?`${g}/`:g;!(t.size>=500||t.has(b))&&(t.add(b),c||(c=setTimeout(H,300)))}).finally(()=>{u-=1});return}s.length||b||(d&&clearTimeout(d),d=setTimeout(()=>{d=void 0,q.size>0||s.length||K({kind:"external",label:""})},1500))}},O=()=>{if(!v&&!w&&!z)try{let a=j;try{a=e.realpathSync.native(j)}catch{}(v=f().watch(a,{recursive:!0,persistent:!1},N)).on("error",()=>{w=!0;try{v?.close()}catch{}v=null})}catch{w=!0,v=null}};return{version:o,getError:()=>E,async prepare(){g=Date.now(),O(),await L()},onEvent(a){if(!B&&!z)switch(a.type){case"agent_start":g=a.ts??Date.now(),O(),L();break;case"tool_execution_start":if(!k(a.toolName))break;q.add(a.toolCallId),r.size>64&&r.delete(r.keys().next().value),r.set(a.toolCallId,a.args),d&&(clearTimeout(d),d=void 0);break;case"tool_execution_end":{var c,e;let f,h;if(!k(a.toolName))break;q.delete(a.toolCallId);let i=r.get(a.toolCallId);r.delete(a.toolCallId),e={kind:"tool",label:(c=a.toolName,f=i&&"object"==typeof i?i:{},h="","string"==typeof f.command?h=f.command:"string"==typeof f.path?h=l(j,f.path):"string"==typeof f.file_path&&(h=l(j,f.file_path)),(h=(h=h.split("\n").map(a=>a.trim()).find(Boolean)??"").replace(/\s+/g," ")).length>60&&(h=`${h.slice(0,59)}…`),h?`${c} \xb7 ${h}`:c),toolCallId:a.toolCallId,toolName:a.toolName},z||(d&&(clearTimeout(d),d=void 0),s.push("tool"===e.kind&&void 0!==g?{...e,ts:e.ts??g}:e),b&&clearTimeout(b),b=setTimeout(M,200));break}case"agent_end":q.clear(),b&&clearTimeout(b),M(),a.willRetry||I(()=>J({kind:"turn",label:"",ts:g},!0)),g=void 0}},async snapshotNow(a=""){let b;if(z)throw A??new i.qy("growth tracking is disabled for this workspace","unavailable");let c=null;if(await I(async()=>{try{if(z)throw A??new i.qy("growth tracking is disabled for this workspace","unavailable");let b=await (0,i.P9)(j,{kind:"manual",label:a,session:m});D&&(D=!1,E=null,n({type:"growth_error",message:null,ts:Date.now()})),b&&(c=b,n({type:"growth",step:b,ts:Date.now()}))}catch(a){b=a,G(a)}}),b)throw b;return c},dispose(){B=!0,b&&clearTimeout(b),c&&clearTimeout(c),d&&clearTimeout(d);try{v?.close()}catch{}v=null}}}d()}catch(a){d(a)}})},62433:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BV:()=>q,CN:()=>l,Eb:()=>o,XI:()=>n,gS:()=>p,os:()=>m});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(87982),j=a([i]);i=(j.then?(await j)():j)[0];class q extends Error{constructor(a){super(a),this.name="BoundaryError"}}function k(a){let b=h().resolve(a);return"win32"===process.platform?b.toLowerCase():b}function l(a,b){let c=h().relative(k(a),k(b));return""===c||!c.startsWith("..")&&!h().isAbsolute(c)}async function m(a,b){if(!(0,i.Sd)(a))throw new q("invalid session id");let c=(0,i.Gg)(a);if(!h().isAbsolute(c)||".jsonl"!==h().extname(c).toLowerCase())throw new q("invalid session path");let d=h().join((0,i.$M)(),"sessions"),e=await f().realpath(d).catch(()=>h().resolve(d));if(!l(e,h().resolve(c)))throw new q("session path is outside the Pi session store");if(b?.allowPending){let a=await f().realpath(c).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(!a){let a=h().dirname(c);for(;l(d,a);){let b=await f().realpath(a).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(b){if(!l(e,b))throw new q("session path escapes the Pi session store");return c}if(o(a,d))break;a=h().dirname(a)}throw new q("session store not found")}if(!l(e,a))throw new q("session path escapes the Pi session store");return c}let g=await f().realpath(c).catch(()=>{throw new q("session not found")});if(!l(e,g))throw new q("session path escapes the Pi session store");if(!(await f().stat(g)).isFile())throw new q("session is not a file");return g}async function n(a){if("string"!=typeof a||0===a.trim().length||a.length>4096)throw new q("invalid workspace path");let b=await f().realpath(h().resolve(a.trim())).catch(()=>{throw new q("workspace not found")});if(!(await f().stat(b)).isDirectory())throw new q("workspace is not a directory");return b}function o(a,b){return k(a)===k(b)}async function p(a,b){if("string"!=typeof a||!h().isAbsolute(a)||a.length>4096)throw new q("invalid resource path");let c=await f().realpath(a).catch(()=>{throw new q("resource not found")});for(let a of b){if(!a)continue;let b=await f().realpath(a).catch(()=>null);if(b&&o(c,b))return c}throw new q("resource is not part of the discovered Pi configuration")}d()}catch(a){d(a)}})},69460:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I$:()=>F,P9:()=>D,e2:()=>E,iv:()=>I,k$:()=>G,nT:()=>H,qY:()=>K,qy:()=>O,vO:()=>J,vt:()=>q});var e=c(31421),f=c(77598),g=c(73024),h=c(51455),i=c.n(h),j=c(76760),k=c.n(j),l=c(96743),m=c(87982),n=a([m]);m=(n.then?(await n)():n)[0];let L=l.It,M=new Set(L.map(a=>a.toLowerCase())),N=`# PiWeb growth snapshot exclusions (generated, do not edit)
|
|
2
6
|
${[...L.map(a=>`${a}/`),".DS_Store","Thumbs.db","*.log",".env",".env.*","!.env.example","*.pem","*.key","*.p12","*.pfx","id_rsa*","id_ed25519*"].join("\n")}
|
|
3
7
|
`;class O extends Error{constructor(a,b="failed"){super(a),this.code=b,this.name="GrowthError"}}let P=globalThis,Q=P.__piWebGrowth??={workspaces:new Map};function o(a){let b=k().resolve(a).replace(/\\/g,"/");return"win32"===process.platform?b.toLowerCase():b}function p(a){let b=k().resolve(a);try{b=g.realpathSync.native(b)}catch{}let c=o(b),d=c.replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").slice(-48).toLowerCase();return`${d||"root"}-${(0,f.createHash)("sha1").update(c).digest("hex").slice(0,8)}`}function q(a){return a.replace(/\\/g,"/").split("/").filter(Boolean).some(a=>M.has(a.toLowerCase()))}async function r(){if(Q.gitBin)return Q.gitBin;let a="git";if("win32"!==process.platform&&!await new Promise(a=>{let b=(0,e.spawn)("git",["--version"],{stdio:"ignore"});b.on("error",()=>a(!1)),b.on("close",b=>a(0===b))})){for(let b of["/opt/homebrew/bin/git","/usr/local/bin/git","/usr/bin/git","/usr/local/git/bin/git"])if(await new Promise(a=>{let c=(0,e.spawn)(b,["--version"],{stdio:"ignore"});c.on("error",()=>a(!1)),c.on("close",b=>a(0===b))})){a=b;break}}return Q.gitBin=a,a}function s(a,b={}){let c=b.maxBuffer??0x4000000;return r().then(d=>new Promise((f,h)=>{let i=(0,e.spawn)(d,a,{cwd:b.cwd,env:{...process.env,GIT_TERMINAL_PROMPT:"0",GIT_OPTIONAL_LOCKS:"0",...b.env},windowsHide:!0,stdio:["pipe","pipe","pipe"]}),j=[],k=[],l=0,m=!1,n=setTimeout(()=>o(new O("git timed out","failed")),3e4),o=a=>{m||(m=!0,clearTimeout(n),i.kill(),h(a))};i.stdout.on("data",a=>{if((l+=a.length)>c){i.kill(),o(new O("git output exceeded the buffer limit","too-large"));return}j.push(a)}),i.stderr.on("data",a=>k.push(a)),i.on("error",a=>{"ENOENT"===a.code&&b.cwd&&!(0,g.existsSync)(b.cwd)?o(new O("workspace directory not found","failed")):o("ENOENT"===a.code?new O("git is not installed","unavailable"):a)}),i.on("close",a=>{m||(m=!0,clearTimeout(n),f({stdout:Buffer.concat(j),stderr:Buffer.concat(k).toString("utf8"),code:a??-1}))}),void 0!==b.input?i.stdin.end(b.input):i.stdin.end()}))}async function t(){if(Q.gitOk)return Q.gitOk;if(Q.gitFailedAt&&Date.now()-Q.gitFailedAt<6e4)return!1;let a=s(["--version"]).then(a=>0===a.code,()=>!1);return Q.gitOk=a,a.then(a=>{Q.gitOk=void 0,a?Q.gitFailedAt=void 0:Q.gitFailedAt=Date.now()}),a}async function u(a,b,c={}){let d=["--git-dir",a.repo,"--work-tree",a.cwd,"-c","core.autocrlf=false","-c","core.safecrlf=false","-c","core.quotepath=false","-c","core.fsmonitor=false","-c","core.untrackedCache=false"],e=await s([...d,...b],{cwd:a.cwd,input:c.input,maxBuffer:c.maxBuffer,env:c.env});if(0!==e.code&&!c.allowFail)throw new O(`git ${b[0]} failed: ${e.stderr.trim().split("\n")[0]||`exit ${e.code}`}`);return e}function v(){return k().join((0,m.$M)(),"web-growth")}async function w(a){if(!await t())throw new O("git is not installed","unavailable");let b=p(a),c=k().join(v(),b),d=k().join(c,"repo"),e=k().join(c,"ledger.jsonl");if(await i().mkdir(c,{recursive:!0}),!await i().stat(k().join(d,"HEAD")).then(()=>!0,()=>!1)){let a=await s(["init","-q","--bare",d]);if(0!==a.code)throw new O(`git init failed: ${a.stderr.trim()}`)}await i().mkdir(k().join(d,"info"),{recursive:!0}),await i().writeFile(k().join(d,"info","exclude"),N,"utf8"),await i().writeFile(k().join(c,"meta.json"),JSON.stringify({cwd:a,key:b,createdAt:new Date().toISOString()},null,2),"utf8");let f=[];try{for(let a of(await i().readFile(e,"utf8")).split("\n")){if(!a.trim())continue;let b=function(a){try{let b=JSON.parse(a);if("string"!=typeof b?.tree||"number"!=typeof b.seq)return null;return b}catch{return null}}(a);b&&f.push(b)}}catch(a){if("ENOENT"!==a.code)throw a}let g={key:b,cwd:a,dir:c,repo:d,ledger:e,steps:f,emptyTree:"",excludeRules:N,lock:Promise.resolve()},h=f[f.length-1];g.lastTree=h?.tree,g.lastCommit=h?.commit;let j=await u(g,["hash-object","-t","tree","--stdin"],{input:""});return g.emptyTree=j.stdout.toString("utf8").trim(),g}async function x(a){let b=await i().realpath(k().resolve(a)).catch(()=>k().resolve(a)),c=p(b),d=Q.workspaces.get(c);if(d){let a=await d.catch(()=>null);a&&await i().stat(k().join(a.repo,"HEAD")).then(()=>!0,()=>!1)||(Q.workspaces.delete(c),d=void 0)}return d||(d=w(b),Q.workspaces.set(c,d),d.catch(()=>Q.workspaces.delete(c))),d}function y(a,b){let c=a.lock.then(b,b);return a.lock=c.then(()=>void 0,()=>void 0),c}let R=/^[0-9a-f]{40}([0-9a-f]{24})?$/;function z(a,b="hash"){if("string"!=typeof a||!R.test(a))throw new O(`invalid ${b}`,"not-found");return a}function A(a){if("string"!=typeof a||!a.trim())throw new O("missing path","not-found");let b=a.replace(/\\/g,"/").replace(/^\.\//,"");if(b.startsWith("/")||/^[A-Za-z]:\//.test(b)||b.split("/").some(a=>".."===a))throw new O("invalid path","not-found");return b}async function B(a,b,c){let[d,e]=await Promise.all([u(a,["diff-tree","-r","-M","--name-status","-z",b,c]),u(a,["diff-tree","-r","-M","--numstat","-z",b,c])]),f=function(a){let b=a.split("\0"),c=[];for(let a=0;a<b.length;a+=1){let d=b[a];if(!d)continue;let e=d[0];if("R"===e||"C"===e){let d=b[a+1],f=b[a+2];if(a+=2,void 0===f)break;c.push("R"===e?{status:"R",path:f,from:d}:{status:"A",path:f});continue}let f=b[a+1];if(a+=1,void 0===f)break;"A"===e||"M"===e||"D"===e?c.push({status:e,path:f}):"T"===e&&c.push({status:"M",path:f})}return c}(d.stdout.toString("utf8")),g=function(a){let b=a.split("\0"),c=new Map;for(let a=0;a<b.length;a+=1){let d=b[a];if(!d)continue;let[e,f,g]=d.split(" ");if(void 0===e||void 0===f)continue;let h="-"===e||"-"===f,i={add:h?0:Number(e)||0,del:h?0:Number(f)||0,binary:h};if(void 0===g||""===g){let d=b[a+2];a+=2,void 0!==d&&c.set(d,i);continue}c.set(g,i)}return c}(e.stdout.toString("utf8"));for(let a of f){let b=g.get(a.path);b&&(a.add=b.add,a.del=b.del,b.binary&&(a.binary=!0))}return f.sort((a,b)=>a.path.localeCompare(b.path)),f}async function C(a){let b=await u(a,["ls-files","-z","--others","--modified","--deleted","--exclude-standard"]),c=Array.from(new Set(b.stdout.toString("utf8").split("\0").filter(a=>a&&!a.endsWith("/"))));if(c.length>5e4){let a=new Map;for(let b of c){let c=b.split("/"),d=c.length>1?c.slice(0,2).join("/"):"(root)";a.set(d,(a.get(d)??0)+1)}let b=[...a].sort((a,b)=>b[1]-a[1]).slice(0,3).map(([a,b])=>`${a}: ${b}`).join(", ");throw new O(`snapshot has ${c.length} candidate files (limit 50000); largest directories: ${b}. Exclude generated directories with .gitignore`,"too-large")}let d=[],e=[],f=new Map,g=b=>{if(!b)return Promise.resolve(!0);let c=f.get(b);if(c)return c;let d=(async()=>{let c=b.includes("/")?b.slice(0,b.lastIndexOf("/")):"";if(!await g(c))return!1;let d=await i().lstat(k().join(a.cwd,b)).catch(a=>{if("ENOENT"===a.code||"ENOTDIR"===a.code)return null;throw a});return!!(d?.isDirectory()&&!d.isSymbolicLink())})();return f.set(b,d),d};for(let b=0;b<c.length;b+=256)for(let{rel:f,include:h}of(await Promise.all(c.slice(b,b+256).map(async b=>{let c=b.includes("/")?b.slice(0,b.lastIndexOf("/")):"";if(!await g(c))return{rel:b,include:!1};let d=await i().lstat(k().join(a.cwd,b)).catch(a=>{if("ENOENT"===a.code||"ENOTDIR"===a.code)return null;throw a});return{rel:b,include:!!(d?.isFile()&&d.size<=1048576)}}))))(h?d:e).push(f);for(let b=0;b<e.length;b+=256)await u(a,["update-index","--force-remove","-z","--stdin"],{input:`${e.slice(b,b+256).join("\0")}\0`});for(let b=0;b<d.length;b+=256)await u(a,["update-index","--add","--remove","--replace","-z","--stdin"],{input:`${d.slice(b,b+256).join("\0")}\0`});return c.length}async function D(a,b){let c=await x(a);return y(c,async()=>{c.excludeRules!==N&&(await i().writeFile(k().join(c.repo,"info","exclude"),N,"utf8"),c.excludeRules=N),await C(c);let a=(await u(c,["write-tree"])).stdout.toString("utf8").trim();z(a,"tree");let d=c.lastTree??c.emptyTree;if(a===d&&!b.force)return null;let e=void 0===c.lastTree,f=e?[]:await B(c,d,a),g=f.slice(0,2e3),h=["commit-tree",a,"-m",`${b.kind}: ${b.label||"snapshot"}`];c.lastCommit&&h.push("-p",c.lastCommit);let j=(await u(c,h,{env:{GIT_AUTHOR_NAME:"PiWeb",GIT_AUTHOR_EMAIL:"piweb@localhost",GIT_COMMITTER_NAME:"PiWeb",GIT_COMMITTER_EMAIL:"piweb@localhost"}})).stdout.toString("utf8").trim();await u(c,["update-ref","refs/piweb/growth",j]);let l={seq:(c.steps[c.steps.length-1]?.seq??0)+1,ts:b.ts??Date.now(),session:b.session,kind:b.kind,label:b.label.slice(0,200),tree:a,parent:d,commit:j,toolCallId:b.toolCallId,toolName:b.toolName,changes:g,truncated:f.length>g.length||void 0,initial:e||void 0,stats:function(a){let b={added:0,modified:0,deleted:0,renamed:0,add:0,del:0};for(let c of a)"A"===c.status?b.added+=1:"M"===c.status?b.modified+=1:"D"===c.status?b.deleted+=1:b.renamed+=1,b.add+=c.add??0,b.del+=c.del??0;return b}(f)};return await i().appendFile(c.ledger,`${JSON.stringify(l)}
|
|
4
|
-
`,"utf8"),c.steps.push(l),c.lastTree=a,c.lastCommit=j,l.seq%100==0&&y(c,async()=>{await u(c,["gc","--auto","-q"],{allowFail:!0})}).catch(()=>void 0),l})}async function E(){return t()}async function F(a,b){let c=await i().realpath(k().resolve(a)).catch(()=>k().resolve(a)),d=p(c);if(!Q.workspaces.has(d)&&!await i().stat(k().join(v(),d,"ledger.jsonl")).then(()=>!0,()=>!1))return[];let e=await x(c);return b?e.steps.filter(a=>{var c;return c=a.session,o(c)===o(b)}):[...e.steps]}async function G(a,b){return(await x(a)).steps.some(a=>{var c;return c=a.session,o(c)===o(b)})}async function H(a,b){let c=await x(a),d=z(b,"tree");if(d===c.emptyTree)return[];var e=(await u(c,["ls-tree","-r","-l","-z",d])).stdout.toString("utf8");let f=[];for(let a of e.split("\0")){if(!a)continue;let b=a.match(/^(\d+) (\w+) ([0-9a-f]+) +(-|\d+)\t([\s\S]+)$/);b&&"blob"===b[2]&&f.push({path:b[5],size:"-"===b[4]?0:Number(b[4])})}return f}async function I(a,b,c){let d=await x(a);return B(d,z(b,"from"),z(c,"to"))}async function J(a,b,c,d,e){let f=await x(a),g=[A(d)];"string"==typeof e&&e&&g.push(A(e));let h=await u(f,["diff","-M","--no-color","--no-ext-diff","-U1000000",z(b,"from"),z(c,"to"),"--",...g]);return/^Binary files .* differ$/m.test(h.stdout.toString("utf8",0,Math.min(h.stdout.length,65536)))?{patch:"",binary:!0,truncated:!1}:h.stdout.length<=4194304?{patch:h.stdout.toString("utf8"),binary:!1,truncated:!1}:{patch:h.stdout.subarray(0,4194304).toString("utf8"),binary:!1,truncated:!0}}async function K(a,b,c){let d=await x(a),e=A(c),f=await u(d,["cat-file","-p",`${z(b,"tree")}:${e}`],{allowFail:!0});if(0!==f.code)throw new O("file not found in this snapshot","not-found");let g=f.stdout;return g.subarray(0,Math.min(g.length,8e3)).includes(0)?{content:"",binary:!0,truncated:!1,size:g.length}:g.length<=262144?{content:g.toString("utf8"),binary:!1,truncated:!1,size:g.length}:{content:g.subarray(0,262144).toString("utf8"),binary:!1,truncated:!0,size:g.length}}d()}catch(a){d(a)}})},75554:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>p,Gh:()=>u,J0:()=>o});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c(87982),k=c(49904),l=a([j]);j=(l.then?(await l)():l)[0];let q=16384,r=2e4,s=3,t=2e3;async function m(){let a;try{a=await f().readFile(h().join((0,j.$M)(),"settings.json"),"utf8")}catch(a){if("ENOENT"===a.code)return{};throw a}let b=JSON.parse(a.replace(/^\uFEFF/,""));if(!b||"object"!=typeof b||Array.isArray(b))throw Error("settings.json must contain a JSON object");return b}function n(a,b){let c=a[b];return c&&"object"==typeof c&&!Array.isArray(c)?c:{}}async function o(){let a=await m(),b=a.compaction??{},c=a.retry??{},d=(a,b)=>"number"==typeof a&&Number.isSafeInteger(a)&&a>=0?a:b;return{compaction:{enabled:!1!==b.enabled,reserveTokens:d(b.reserveTokens,q),keepRecentTokens:d(b.keepRecentTokens,r)},retry:{enabled:!1!==c.enabled,maxRetries:d(c.maxRetries,s),baseDelayMs:d(c.baseDelayMs,t)}}}class u extends Error{}async function p(a){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a))throw new u("invalid settings patch");if(Object.keys(a).some(a=>"compaction"!==a&&"retry"!==a))throw new u("unknown settings field");let b={};for(let c of["compaction","retry"]){if(void 0===a[c])continue;let d=a[c];if(!d||"object"!=typeof d||Array.isArray(d))throw new u(`invalid ${c} settings`);let e="compaction"===c?["enabled","reserveTokens","keepRecentTokens"]:["enabled","maxRetries","baseDelayMs"];for(let[a,b]of Object.entries(d)){if(!e.includes(a))throw new u(`unknown ${c} field: ${a}`);if("enabled"===a){if("boolean"!=typeof b)throw new u(`${c}.${a} must be boolean`)}else if("number"!=typeof b||!Number.isSafeInteger(b)||b<0||b>1e9)throw new u(`${c}.${a} must be a non-negative integer`)}"compaction"===c?b.compaction=d:b.retry=d}return b}(a),c=h().join((0,j.$M)(),"settings.json");await (0,k.Ax)(c,()=>(0,k._i)(c,async()=>{let a=await m();b.compaction&&(a.compaction={...n(a,"compaction"),...b.compaction}),b.retry&&(a.retry={...n(a,"retry"),...b.retry}),await f().mkdir(h().dirname(c),{recursive:!0});let d=`${c}.${process.pid}.${(0,i.randomUUID)()}.tmp`;try{await f().writeFile(d,JSON.stringify(a,null," "),"utf8"),await f().rename(d,c)}finally{await f().rm(d,{force:!0}).catch(()=>void 0)}})),await (0,j.BW)()}d()}catch(a){d(a)}})},96743:(a,b,c)=>{c.d(b,{It:()=>d});let d=["node_modules",".git",".next",".next-dev",".next-dev-webpack",".next-dev-clean","dist","build","out",".venv","venv","__pycache__",".cache","target",".turbo",".pytest_cache",".mypy_cache",".ruff_cache",".idea",".pnpm",".pnpm-store",".npm",".yarn",".gradle",".tox",".nox",".uv",".pixi",".conda",".svelte-kit",".nuxt",".output",".parcel-cache",".angular",".expo",".dart_tool",".terraform",".serverless",".aws-sam","coverage","htmlcov"]}};
|
|
8
|
+
`,"utf8"),c.steps.push(l),c.lastTree=a,c.lastCommit=j,l.seq%100==0&&y(c,async()=>{await u(c,["gc","--auto","-q"],{allowFail:!0})}).catch(()=>void 0),l})}async function E(){return t()}async function F(a,b){let c=await i().realpath(k().resolve(a)).catch(()=>k().resolve(a)),d=p(c);if(!Q.workspaces.has(d)&&!await i().stat(k().join(v(),d,"ledger.jsonl")).then(()=>!0,()=>!1))return[];let e=await x(c);return b?e.steps.filter(a=>{var c;return c=a.session,o(c)===o(b)}):[...e.steps]}async function G(a,b){return(await x(a)).steps.some(a=>{var c;return c=a.session,o(c)===o(b)})}async function H(a,b){let c=await x(a),d=z(b,"tree");if(d===c.emptyTree)return[];var e=(await u(c,["ls-tree","-r","-l","-z",d])).stdout.toString("utf8");let f=[];for(let a of e.split("\0")){if(!a)continue;let b=a.match(/^(\d+) (\w+) ([0-9a-f]+) +(-|\d+)\t([\s\S]+)$/);b&&"blob"===b[2]&&f.push({path:b[5],size:"-"===b[4]?0:Number(b[4])})}return f}async function I(a,b,c){let d=await x(a);return B(d,z(b,"from"),z(c,"to"))}async function J(a,b,c,d,e){let f=await x(a),g=[A(d)];"string"==typeof e&&e&&g.push(A(e));let h=await u(f,["diff","-M","--no-color","--no-ext-diff","-U1000000",z(b,"from"),z(c,"to"),"--",...g]);return/^Binary files .* differ$/m.test(h.stdout.toString("utf8",0,Math.min(h.stdout.length,65536)))?{patch:"",binary:!0,truncated:!1}:h.stdout.length<=4194304?{patch:h.stdout.toString("utf8"),binary:!1,truncated:!1}:{patch:h.stdout.subarray(0,4194304).toString("utf8"),binary:!1,truncated:!0}}async function K(a,b,c){let d=await x(a),e=A(c),f=await u(d,["cat-file","-p",`${z(b,"tree")}:${e}`],{allowFail:!0});if(0!==f.code)throw new O("file not found in this snapshot","not-found");let g=f.stdout;return g.subarray(0,Math.min(g.length,8e3)).includes(0)?{content:"",binary:!0,truncated:!1,size:g.length}:g.length<=262144?{content:g.toString("utf8"),binary:!1,truncated:!1,size:g.length}:{content:g.subarray(0,262144).toString("utf8"),binary:!1,truncated:!0,size:g.length}}d()}catch(a){d(a)}})},72244:(a,b,c)=>{c.d(b,{JD:()=>f,OW:()=>j,PD:()=>k,S6:()=>g,l2:()=>h,ze:()=>i});let d="piweb.workflow.v1",e={mode:"agent",planStatus:"idle",goal:""};function f(a){return"agent"===a||"plan"===a||"goal"===a}function g(a){for(let b of a.getBranch().slice().reverse()){if("custom"!==b.type||b.customType!==d)continue;let a=b.data;if(!a||!f(a.mode))break;return{mode:a.mode,planStatus:"plan"===a.mode&&"ready"===a.planStatus?"ready":"idle",planId:"plan"===a.mode&&"string"==typeof a.planId?a.planId:void 0,goal:"goal"===a.mode&&"string"==typeof a.goal?a.goal.slice(0,8e3):""}}return{...e}}function h(a,b){a.appendCustomEntry(d,b)}function i(a){for(let b of a.getBranch().slice().reverse()){if("custom"===b.type&&b.customType===d)break;if("message"===b.type&&"user"===b.message.role)return!1}return!0}function j(a){return"plan"===a.mode?"executing"===a.planStatus?"The user approved the plan in this conversation. Execute it now, verify the result, and report any unfinished work. Respect the active tool permissions.":"Planning mode: investigate using read-only tools. Do not edit files, run commands, or cause side effects. Produce a concrete implementation plan with verification steps, then stop and wait for explicit approval in PiWeb.":"goal"===a.mode?`Goal mode: work toward the user's objective, verify the result before claiming completion, and clearly report blockers or unverified assumptions. Do not silently change the objective. Objective: ${a.goal||"Use the next user message as the objective."}`:""}function k(a){return"plan"===a.mode&&"ready"===a.planStatus}},75554:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>p,Gh:()=>u,J0:()=>o});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c(87982),k=c(49904),l=a([j]);j=(l.then?(await l)():l)[0];let q=16384,r=2e4,s=3,t=2e3;async function m(){let a;try{a=await f().readFile(h().join((0,j.$M)(),"settings.json"),"utf8")}catch(a){if("ENOENT"===a.code)return{};throw a}let b=JSON.parse(a.replace(/^\uFEFF/,""));if(!b||"object"!=typeof b||Array.isArray(b))throw Error("settings.json must contain a JSON object");return b}function n(a,b){let c=a[b];return c&&"object"==typeof c&&!Array.isArray(c)?c:{}}async function o(){let a=await m(),b=a.compaction??{},c=a.retry??{},d=(a,b)=>"number"==typeof a&&Number.isSafeInteger(a)&&a>=0?a:b;return{compaction:{enabled:!1!==b.enabled,reserveTokens:d(b.reserveTokens,q),keepRecentTokens:d(b.keepRecentTokens,r)},retry:{enabled:!1!==c.enabled,maxRetries:d(c.maxRetries,s),baseDelayMs:d(c.baseDelayMs,t)}}}class u extends Error{}async function p(a){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a))throw new u("invalid settings patch");if(Object.keys(a).some(a=>"compaction"!==a&&"retry"!==a))throw new u("unknown settings field");let b={};for(let c of["compaction","retry"]){if(void 0===a[c])continue;let d=a[c];if(!d||"object"!=typeof d||Array.isArray(d))throw new u(`invalid ${c} settings`);let e="compaction"===c?["enabled","reserveTokens","keepRecentTokens"]:["enabled","maxRetries","baseDelayMs"];for(let[a,b]of Object.entries(d)){if(!e.includes(a))throw new u(`unknown ${c} field: ${a}`);if("enabled"===a){if("boolean"!=typeof b)throw new u(`${c}.${a} must be boolean`)}else if("number"!=typeof b||!Number.isSafeInteger(b)||b<0||b>1e9)throw new u(`${c}.${a} must be a non-negative integer`)}"compaction"===c?b.compaction=d:b.retry=d}return b}(a),c=h().join((0,j.$M)(),"settings.json");await (0,k.Ax)(c,()=>(0,k._i)(c,async()=>{let a=await m();b.compaction&&(a.compaction={...n(a,"compaction"),...b.compaction}),b.retry&&(a.retry={...n(a,"retry"),...b.retry}),await f().mkdir(h().dirname(c),{recursive:!0});let d=`${c}.${process.pid}.${(0,i.randomUUID)()}.tmp`;try{await f().writeFile(d,JSON.stringify(a,null," "),"utf8"),await f().rename(d,c)}finally{await f().rm(d,{force:!0}).catch(()=>void 0)}})),await (0,j.BW)()}d()}catch(a){d(a)}})},96743:(a,b,c)=>{c.d(b,{It:()=>d});let d=["node_modules",".git",".next",".next-dev",".next-dev-webpack",".next-dev-clean","dist","build","out",".venv","venv","__pycache__",".cache","target",".turbo",".pytest_cache",".mypy_cache",".ruff_cache",".idea",".pnpm",".pnpm-store",".npm",".yarn",".gradle",".tox",".nox",".uv",".pixi",".conda",".svelte-kit",".nuxt",".output",".parcel-cache",".angular",".expo",".dart_tool",".terraform",".serverless",".aws-sam","coverage","htmlcov"]},99951:(a,b,c)=>{c.d(b,{Fw:()=>h,Nd:()=>g,iC:()=>f});let d=globalThis,e=d.__piwebRuntimeActivity??={active:new Map,maintenance:!1};class f extends Error{}function g(a){if(e.maintenance)throw new f("update maintenance is active; wait for the release to finish");let b=Symbol(a);return e.active.set(b,a),()=>{e.active.delete(b)}}function h(){if(e.maintenance||e.active.size)throw new f("work is active; wait for sessions, swarms and tests to finish before entering the maintenance window");e.maintenance=!0;let a=!1;return()=>{a||(e.maintenance=!1),a=!0}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=757,exports.ids=[757],exports.modules={65138:(a,b,c)=>{c.d(b,{ZUJ:()=>g});var d,e,f={};c.r(f),c.d(f,{ExtendsFalse:()=>df,ExtendsTrue:()=>dd,ExtendsUnion:()=>db,IsExtendsFalse:()=>dg,IsExtendsTrue:()=>de,IsExtendsTrueLike:()=>dh,IsExtendsUnion:()=>dc,Match:()=>di});var g={};c.r(g),c.d(g,{Any:()=>U,Array:()=>J,BigInt:()=>aK,Boolean:()=>aM,Call:()=>dV,Capitalize:()=>dZ,Codec:()=>ay,Conditional:()=>ed,Constructor:()=>M,ConstructorParameters:()=>eg,Cyclic:()=>ae,Decode:()=>az,DecodeBuilder:()=>ax,Dependent:()=>al,Encode:()=>aA,EncodeBuilder:()=>aw,Enum:()=>ao,Evaluate:()=>fo,Exclude:()=>ej,Extends:()=>dJ,ExtendsResult:()=>f,Extract:()=>em,Function:()=>O,Generic:()=>S,Identifier:()=>aO,Immutable:()=>aC,Index:()=>eq,Infer:()=>aj,InstanceType:()=>eF,Instantiate:()=>fl,Integer:()=>aR,Interface:()=>dA,Intersect:()=>aq,IsAny:()=>V,IsArray:()=>K,IsBigInt:()=>aL,IsBoolean:()=>aN,IsCall:()=>dW,IsCodec:()=>aB,IsConstructor:()=>N,IsCyclic:()=>af,IsDependent:()=>am,IsEnum:()=>ap,IsEnumValue:()=>an,IsFunction:()=>P,IsGeneric:()=>T,IsIdentifier:()=>aP,IsImmutable:()=>aD,IsInfer:()=>ak,IsInteger:()=>aS,IsIntersect:()=>ar,IsKind:()=>D,IsLiteral:()=>aW,IsNever:()=>X,IsNull:()=>aY,IsNumber:()=>a_,IsObject:()=>ab,IsOptional:()=>_,IsParameter:()=>a3,IsReadonly:()=>aH,IsRecord:()=>bD,IsRef:()=>R,IsRefine:()=>aJ,IsRest:()=>bF,IsSchema:()=>E,IsString:()=>a5,IsSymbol:()=>a1,IsTemplateLiteral:()=>da,IsThis:()=>bH,IsTuple:()=>be,IsUndefined:()=>bJ,IsUnion:()=>a7,IsUnknown:()=>ad,IsUnsafe:()=>ah,IsVoid:()=>bL,KeyOf:()=>eI,Literal:()=>aU,Lowercase:()=>d_,Mapped:()=>eL,Module:()=>fp,Never:()=>W,NonNullable:()=>eP,Null:()=>aX,Number:()=>a$,Object:()=>aa,Omit:()=>eS,Optional:()=>$,Parameter:()=>a2,Parameters:()=>eW,Partial:()=>eZ,Pick:()=>e0,Readonly:()=>aG,ReadonlyObject:()=>e3,ReadonlyType:()=>e4,Record:()=>by,RecordKey:()=>bB,RecordPattern:()=>bA,RecordValue:()=>bC,Ref:()=>Q,Refine:()=>aI,Required:()=>e7,Rest:()=>bE,ReturnType:()=>fa,Script:()=>fq,String:()=>a4,Symbol:()=>a0,TemplateLiteral:()=>c9,This:()=>bG,Tuple:()=>bd,Uncapitalize:()=>d1,Undefined:()=>bI,Union:()=>a6,Unknown:()=>ac,Unsafe:()=>ag,Uppercase:()=>d3,Void:()=>bK,With:()=>fd});let h={assign:0,create:0,clone:0,discard:0,update:0};function i(a){return Array.isArray(a)}function j(a){return"bigint"==typeof a}function k(a){return"boolean"==typeof a}function l(a){return"function"==typeof a}function m(a){return null===a}function n(a){return Number.isFinite(a)}function o(a){return p(a)&&!i(a)}function p(a){return"object"==typeof a&&!m(a)}function q(a){return"string"==typeof a}function r(a,b,c){return 0===a.length?c():b(a[0],a.slice(1))}function s(a){return"__proto__"===a||"constructor"===a||"prototype"===a}function t(a,b){return s(b)?Object.prototype.hasOwnProperty.call(a,b):b in a}function u(a){return Object.getOwnPropertyNames(a)}function v(a){return Object.values(a)}let w={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function x(a){return w.immutableTypes?Object.freeze(a):a}function y(a,b){return h.assign+=1,x({...a,...b})}function z(a){return h.clone+=1,function a(b){return globalThis.ArrayBuffer.isView(b)?b.slice():b instanceof globalThis.RegExp?new RegExp(b.source,b.flags):b instanceof globalThis.Map?new Map(a([...b.entries()])):b instanceof globalThis.Set?new Set(a([...b.values()])):i(b)?b.map(b=>a(b)):p(b)?function(b){return!function(a){if(!p(a))return!1;let b=globalThis.Object.getPrototypeOf(a);return!m(b)&&"function"==typeof b.constructor&&b.constructor!==globalThis.Object&&"Object"!==b.constructor.name}(b)?t(b,"~kind")||t(b,"~unsafe")?function(b){let c={};for(let d of u(b)){if(s(d))continue;let e=Object.getOwnPropertyDescriptor(b,d);(e.value=a(e.value),!0===e.enumerable)?c[d]=e.value:Object.defineProperty(c,d,e)}return c}(b):function(b){let c={};for(let d of u(b))s(d)||(c[d]=a(b[d]));for(let d of Object.getOwnPropertySymbols(b))c[d]=a(b[d]);return c}(b):b}(b):b}(a)}function A(a,b,c={}){h.create+=1;let d={...b,...c};return x(w.enumerableKind?{...d,...a}:function(a,b){for(let c of Object.keys(b))Object.defineProperty(a,c,{configurable:!0,writable:!0,enumerable:!1,value:b[c]});return a}(d,a))}function B(a,b){h.discard+=1;let c={};for(let d of u(a)){if(b.includes(d))continue;let e=Object.getOwnPropertyDescriptor(a,d);e.value=z(e.value),Object.defineProperty(c,d,e)}return x(c)}function C(a,b,c){h.update+=1;let d=z(a);for(let a of Object.keys(b))Object.defineProperty(d,a,{configurable:!0,writable:!0,enumerable:w.enumerableKind,value:b[a]});for(let a of Object.keys(c))Object.defineProperty(d,a,{configurable:!0,enumerable:!0,writable:!0,value:c[a]});return x(d)}function D(a,b){return p(a)&&t(a,"~kind")&&a["~kind"]===b}function E(a){return p(a)}function F(a,b,c){return A({"~kind":"Deferred"},{type:"deferred",action:a,parameters:b,options:c},{})}function G(a){return D(a,"Deferred")}function H(a,b){return C(C(a,{"~readonly":!0},{}),{},b)}function I(a,b){return C(C(a,{"~optional":!0},{}),{},b)}function J(a,b){return A({"~kind":"Array"},{type:"array",items:a},b)}function K(a){return D(a,"Array")}function L(a){return B(a,["~kind","type","items"])}function M(a,b,c={}){return A({"~kind":"Constructor"},{type:"constructor",parameters:a,instanceType:b},c)}function N(a){return D(a,"Constructor")}function O(a,b,c={}){return A({"~kind":"Function"},{type:"function",parameters:a,returnType:b},c)}function P(a){return D(a,"Function")}function Q(a,b){return A({"~kind":"Ref"},{$ref:a},b)}function R(a){return D(a,"Ref")}function S(a,b){return A({"~kind":"Generic"},{type:"generic",parameters:a,expression:b})}function T(a){return D(a,"Generic")}function U(a){return A({"~kind":"Any"},{},a)}function V(a){return D(a,"Any")}function W(a){return A({"~kind":"Never"},{not:{}},a)}function X(a){return D(a,"Never")}function Y(a,b={}){return F("AddOptional",[a],b)}function Z(a,b={}){return I(a,b)}function $(a){return Z(a)}function _(a){return p(a)&&t(a,"~optional")}function aa(a,b={}){let c=u(a).filter(b=>!_(a[b]));return A({"~kind":"Object"},{type:"object",...c.length>0?{required:c}:{},properties:a},b)}function ab(a){return D(a,"Object")}function ac(a){return A({"~kind":"Unknown"},{},a)}function ad(a){return D(a,"Unknown")}function ae(a,b,c){return A({"~kind":"Cyclic"},{$defs:u(a).reduce((b,c)=>({...b,[c]:C(a[c],{},{$id:c})}),{}),$ref:b},c)}function af(a){return D(a,"Cyclic")}function ag(a){return C(a,{"~unsafe":null},{})}function ah(a){return o(a)&&t(a,"~unsafe")&&m(a["~unsafe"])}function ai(a,b){return b[a.length]?.(...a)??(()=>{throw Error("Invalid Arguments")})()}function aj(...a){let[b,c]=ai(a,{2:(a,b)=>[a,b,b],1:a=>[a,ac(),ac()]});return A({"~kind":"Infer"},{type:"infer",name:b,extends:c},{})}function ak(a){return D(a,"Infer")}function al(a,b,c,d={}){return A({"~kind":"Dependent"},{if:a,then:b,else:c},d)}function am(a){return D(a,"Dependent")}function an(a){return q(a)||n(a)}function ao(a,b){return A({"~kind":"Enum"},{enum:o(a)?u(a).filter(a=>isNaN(a)).reduce((b,c)=>[...b,a[c]],[]):a},b)}function ap(a){return D(a,"Enum")}function aq(a,b={}){return A({"~kind":"Intersect"},{allOf:a},b)}function ar(a){return D(a,"Intersect")}(d=e||(e={}))[d.Array=0]="Array",d[d.BigInt=1]="BigInt",d[d.Boolean=2]="Boolean",d[d.Date=3]="Date",d[d.Constructor=4]="Constructor",d[d.Function=5]="Function",d[d.Null=6]="Null",d[d.Number=7]="Number",d[d.Object=8]="Object",d[d.RegExp=9]="RegExp",d[d.String=10]="String",d[d.Symbol=11]="Symbol",d[d.TypeArray=12]="TypeArray",d[d.Undefined=13]="Undefined",BigInt("14695981039346656037");let[as,at]=[BigInt("1099511628211"),BigInt("18446744073709551616")];Array.from({length:256}).map((a,b)=>BigInt(b));let au=new Float64Array(1);function av(){throw Error("Unreachable")}new DataView(au.buffer),new Uint8Array(au.buffer),new TextEncoder;class aw{constructor(a,b){this.type=a,this.decode=b}Encode(a){let b=this.type,c=aB(b)?a=>this.decode(b["~codec"].decode(a)):this.decode,d=aB(b)?c=>b["~codec"].encode(a(c)):a;return C(this.type,{"~codec":{decode:c,encode:d}},{})}}class ax{constructor(a){this.type=a}Decode(a){return new aw(this.type,a)}}function ay(a){return new ax(a)}function az(a,b){return ay(a).Decode(b).Encode(()=>{throw Error("Encode not implemented")})}function aA(a,b){return ay(a).Decode(()=>{throw Error("Decode not implemented")}).Encode(b)}function aB(a){return p(a)&&t(a,"~codec")&&p(a["~codec"])&&t(a["~codec"],"encode")&&t(a["~codec"],"decode")}function aC(a){return fn(a)}function aD(a){return p(a)&&t(a,"~immutable")}function aE(a,b={}){return F("AddReadonly",[a],b)}function aF(a,b={}){return H(a,b)}function aG(a){return aF(a)}function aH(a){return p(a)&&t(a,"~readonly")}function aI(...a){var b;let c,[d,e,f]=ai(a,{3:(a,b,c)=>[a,b,c],2:(a,b)=>[a,b,()=>"Refine Error"]});return b={check:e,error:f},c=aJ(d)?[...d["~refine"],b]:[b],C(d,{"~refine":c},{})}function aJ(a){var b,c;return p(a)&&t(a,"~refine")&&i(a["~refine"])&&(b=a["~refine"],c=a=>o(a)&&t(a,"check")&&t(a,"error")&&l(a.check)&&l(a.error),b.every((a,b)=>b<0||c(a)))}function aK(a){return A({"~kind":"BigInt"},{type:"bigint"},a)}function aL(a){return D(a,"BigInt")}function aM(a){return A({"~kind":"Boolean"},{type:"boolean"},a)}function aN(a){return D(a,"Boolean")}function aO(a){return A({"~kind":"Identifier"},{name:a})}function aP(a){return D(a,"Identifier")}let aQ="-?(?:0|[1-9][0-9]*)";function aR(a){return A({"~kind":"Integer"},{type:"integer"},a)}function aS(a){return D(a,"Integer")}class aT extends Error{constructor(a){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:a},writable:!1,configurable:!1,enumerable:!1})}}function aU(a,b){return A({"~kind":"Literal"},{type:j(a)?"bigint":k(a)?"boolean":n(a)?"number":q(a)?"string":(()=>{throw new aT(a)})(),const:a},b)}function aV(a){return j(a)||k(a)||n(a)||q(a)}function aW(a){return D(a,"Literal")}function aX(a){return A({"~kind":"Null"},{type:"null"},a)}function aY(a){return D(a,"Null")}let aZ="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?";function a$(a){return A({"~kind":"Number"},{type:"number"},a)}function a_(a){return D(a,"Number")}function a0(a){return A({"~kind":"Symbol"},{type:"symbol"},a)}function a1(a){return D(a,"Symbol")}function a2(...a){let[b,c,d]=ai(a,{3:(a,b,c)=>[a,b,c],2:(a,b)=>[a,b,b],1:a=>[a,ac(),ac()]});return A({"~kind":"Parameter"},{name:b,extends:c,equals:d},{})}function a3(a){return D(a,"Parameter")}function a4(a){return A({"~kind":"String"},{type:"string"},a)}function a5(a){return D(a,"String")}function a6(a,b={}){return A({"~kind":"Union"},{anyOf:a},b)}function a7(a){return D(a,"Union")}function a8(a){let b=c0(a);return 2===b.length?b[0]:[]}function a9(a){return 0!==a.length&&function a(b){return r(b,(b,c)=>{var d;return!!(a7(d=b)?a9(d.anyOf):!!aW(d)&&(d.const,!0))&&a(c)},()=>!0)}(a)}function ba(a){return A({"~kind":"TemplateLiteral"},{type:"string",pattern:a},{})}function bb(a){var b;let c=a8(a);return 0===c.length?a4():a9(c)?0===(b=c).length?av():1===b.length&&aW(b[0])?b[0]:a6((function a(b,c){return r(c,(c,d)=>a(function a(b,c){var d,e;return a7(c)?function b(c,d,e=[]){return r(d,(d,f)=>b(c,f,[...e,...a(c,d)]),()=>e)}(b,c.anyOf):aW(c)?(d=b,e=c.const,0===d.length?[`${e}`]:function a(b,c,d=[]){return r(b,(b,e)=>a(e,c,[...d,`${b}${c}`]),()=>d)}(d,e)):av()}(b,c),d),()=>b)})([],b).map(a=>aU(a))):ba(a)}function bc(a,b){return A({"~kind":"Record"},{type:"object",patternProperties:{[a]:b}})}function bd(a,b={}){let[c,d,e]=[a,a.length,!1];return A({"~kind":"Tuple"},{type:"array",additionalItems:e,items:c,minItems:d},b)}function be(a){return D(a,"Tuple")}function bf(a,b){return C(B(a,["~readonly"]),{},b)}function bg(a,b){return C(B(a,["~optional"]),{},b)}function bh(a,b={}){return bg(a,b)}function bi(a){return a.reduceRight((a,b,c)=>({[c]:b,...a}),{})}function bj(a){return ab(a)?a.properties:be(a)?bi(a.items):{}}function bk(a,b){let c=bq(a);return bp(function a(b,c,d=[]){return r(b,(b,e)=>a(e,c,[...d,...dh(dJ({},b,c))?[]:[b]]),()=>d)}(a7(c)?c.anyOf:[c],b))}function bl(a,b,c){return bp([bn([a,b]),bk(c,a)])}function bm(a,b=[]){return r(a,(a,c)=>bm(c,[...b,aU(a)]),()=>bp(b))}function bn(a){return bp(bs(dO(function a(b,c=[]){return r(b,(b,d)=>a7(b)?a(d,function b(c,d,e=[]){return r(c,(c,f)=>b(f,d,[...e,...a([c],d)]),()=>e)}(b.anyOf,c)):a(d,function a(b,c,d=[]){return r(c,(c,e)=>{var f,g;let h,i,j,k,l,m,n;return a(b,e,[...d,(h=bq(c),(i=bq(b),a7(h)||a7(i))?bn([h,i]):X(h)||V(h)?h:ad(h)||X(i)||V(i)?i:ad(i)?h:(j=ab(h)||be(h),k=ab(i)||be(i),j&&k?(l=bj(h),aa((m=bj(i),[...new Set([...u(l),...u(m)])].reduce((a,b)=>{var c,d;let e,f,g;return{...a,[b]:b in l?b in m?(c=l[b],d=m[b],e=!!aH(c)&&!!aH(d),f=!!_(c)&&!!_(d),g=function(a,b={}){return bf(a,b)}(bh(bn([c,d]))),e&&f?aF(Z(g)):e&&!f?aF(g):!e&&f?Z(g):g):l[b]:b in m?m[b]:W()}},{})))):j&&!k?h:!j&&k?i:(n=dN(f=h,g=i))===dL?f:n===dM||n===dK?g:W()))])},()=>0===d.length?[b]:d)}(b,c)),()=>c)}(a))))}function bo(a){let b;return bq(da(b=bb(a))?a4():b)}function bp(a){return br(bs(dO(a)))}function bq(a){return am(a)?bl(a.if,a.then,a.else):ap(a)?bm(a.enum):ar(a)?bn(a.allOf):da(a)?bo(a.pattern):a7(a)?bp(a.anyOf):a}function br(a){return 1===a.length?a[0]:0===a.length?W():a6(a)}function bs(a,b=[]){return r(a,(a,c)=>bs(c,[...b,...a7(a)?bs(a.anyOf):[a]]),()=>b)}function bt(a,b,c){return fg([a])?C(function a(b,c){var d,e,f,g,h,i;return V(b)?bc(bw,c):aN(b)?aa({true:c,false:c}):ap(b)?(d=b.enum,a(bm(d),c)):aS(b)?bc(bu,c):ar(b)?(e=b.allOf,a(bn(e),c)):aW(b)?(f=b.const,g=c,q(f)||n(f)?aa({[f]:g}):!1===f?aa({false:g}):!0===f?aa({true:g}):aa({})):a_(b)?bc(bv,c):a7(b)?function(a,b){var c,d;let e=bs(a),f=(c=e,d=b,!0===c.some(a=>a5(a)||a_(a)||aS(a))?bc(bw,d):void 0);return p(f)?f:aa(e.reduce((a,c)=>aW(c)&&(q(c.const)||n(c.const))?{...a,[c.const]:b}:a,{}))}(b.anyOf,c):a5(b)?t(b,"pattern")&&(q(b.pattern)||b.pattern instanceof RegExp)?bc(b.pattern.toString(),c):bc(bw,c):da(b)?(h=b.pattern,i=c,a9(a8(h))?a(bo(h),i):bc(h,i)):aa({})}(a,b),{},c):bx(a,b,c)}let bu=`^${aQ}$`,bv=`^${aZ}$`,bw="^.*$";function bx(a,b,c={}){return F("Record",[a,b],c)}function by(a,b,c={}){return bt(a,b,c)}function bz(a){return a===bw?a4():a===bu?aR():a===bv?a$():bb(a)}function bA(a){return u(a.patternProperties)[0]}function bB(a){return bz(bA(a))}function bC(a){return a.patternProperties[bA(a)]}function bD(a){return D(a,"Record")}function bE(a){return A({"~kind":"Rest"},{type:"rest",items:a},{})}function bF(a){return D(a,"Rest")}function bG(a){return A({"~kind":"This"},{$ref:"#"},a)}function bH(a){return D(a,"This")}function bI(a){return A({"~kind":"Undefined"},{type:"undefined"},a)}function bJ(a){return D(a,"Undefined")}function bK(a){return A({"~kind":"Void"},{type:"void"},a)}function bL(a){return D(a,"Void")}function bM(){throw Error("Unreachable")}function bN(a){return 3===a.length?[a[0],...function a(b,c=[]){return r(b,(b,d)=>a(d,[...c,b[1]]),()=>c)}(a[1])]:[]}function bO(a,b){return b.reduce((a,b)=>1===b.length?ep(a,b[0]):0===b.length?J(a):bM(),a)}function bP(a,b){return 3===b.length?ec(a,b[0],b[1],b[2]):a}function bQ(a,b){return 3===b.length?(()=>{let[c,d,e]=b,f=bQ(d,e);return"&"===c?ar(f)?aq([a,...f.allOf]):aq([a,f]):"|"===c?a7(f)?a6([a,...f.anyOf]):a6([a,f]):void bM()})():a}function bR(a){return a.reduce((a,b)=>t(b,bu)||t(b,bv)||t(b,bw)?[a[0],y(a[1],b)]:[y(a[0],b),a[1]],[{},{}])}function bS(a,b){return"remove"===a?function(a,b={}){return F("RemoveReadonly",[a],b)}(b):"add"===a?aE(b):b}function bT(a,b){return"remove"===a?function(a,b={}){return F("RemoveOptional",[a],b)}(b):"add"===a?Y(b):b}function bU(a){return 2===a.length}function bV(a,b,c){return bU(a)?b(a[0],a[1]):c()}function bW(a,b){for(let e=0;e<a.length;e++){var c,d;let f=(c=a[e],0===(d=b).indexOf(c)?[c,d.slice(c.length)]:[]);if(bU(f))return f}return[]}function bX(a,b){return Array.from({length:b-a+1},(b,c)=>String.fromCharCode(a+c))}let bY=[...bX(97,122),...bX(65,90)],bZ=bX(49,57),b$=["0",...bZ];function b_(a){let b=a.indexOf("*/");return -1===b?"":a.slice(b+2)}function b0(a){let b=a.indexOf("\n");return -1===b?"":a.slice(b)}function b1(a){let b=a.trimStart();return b.startsWith("/*")?b1(b_(b.slice(2))):b.startsWith("//")?b1(b0(b.slice(2))):b}function b2(a,b){return bV(bW([a],b),(a,b)=>[a,b],()=>["",b])}function b3(a,b,c,d=""){return bV(bW(a,c),(c,e)=>b.includes(c)?b3(a,b,e,d):b3(a,b,e,`${d}${c}`),()=>[d,c])}let b4=[...b$,"_"];function b5(a){var b;return bV(bW(["0"],b=b1(a)),(a,b)=>[a,b],()=>bV(bW(bZ,b),(a,b)=>bV(b3(b4,["_"],b),(b,c)=>[`${a}${b}`,c],()=>[]),()=>[]))}function b6(a){return bV(bV(b2("-",b1(a)),(a,b)=>bV(b5(b),(b,c)=>[`${a}${b}`,c],()=>[]),()=>[]),(a,b)=>bV(bW(["n"],b),(b,c)=>[`${a}`,c],()=>[]),()=>[])}function b7(a,b){return""===a?["",b]:a.startsWith("\n")?bW([a],function a(b){let c=b.replace(/^[ \t\r\f\v]+/,"");return c.startsWith("/*")?a(b_(c.slice(2))):c.startsWith("//")?a(b0(c.slice(2))):c}(b)):a.startsWith(" ")?bW([a],b):bW([a],b1(b))}let b8=[...bY,"_","$"],b9=[...b8,...b$];function ca(a){return bV(bW(b8,b1(a)),(a,b)=>bV(function a(b,c=""){return bV(bW(b9,b),(b,d)=>a(d,`${c}${b}`),()=>[c,b])}(b),(b,c)=>[`${a}${b}`,c],()=>[]),()=>[])}let cb=[...b$,"_"];function cc(a){return bV(b3(cb,["_"],a),(a,b)=>""===a?[]:[a,b],()=>[])}function cd(a){return bV(b2("-",b1(a)),(a,b)=>{var c;return bV(bU(bW(["."],c=b1(b)))?bV(bW(["."],c),(a,b)=>bV(cc(b),(b,c)=>[`0${a}${b}`,c],()=>[]),()=>[]):bV(b5(c),(a,b)=>bV(bW(["."],b),(b,c)=>bV(cc(c),(c,d)=>[`${a}${b}${c}`,d],()=>[`${a}`,c]),()=>[`${a}`,b]),()=>[]),(b,c)=>[`${a}${b}`,c],()=>[])},()=>[])}function ce(a,b,c=""){var d;return bV(""===(d=b)?[]:[d.slice(0,1),d.slice(1)],(d,e)=>!function a(b,c){return r(b,(b,d)=>!!c.startsWith(b)||a(d,c),()=>!1)}(a,b)?ce(a,e,`${c}${d}`):[c,b],()=>[])}function cf(a,b){return bV(bW(a,b1(b)),(a,b)=>{var c;return c=`${a}${b}`,bV(bW([a],b1(c)),(b,c)=>bV(ce(["\n",a],c),(b,c)=>bV(bW([a],c),(a,c)=>[`${b}`,c],()=>[]),()=>[]),()=>[])},()=>[])}let cg=(a,b,c=()=>[])=>2===a.length?b(a):c(),ch=a=>cg(cg(cg(cg(ca(a),([a,b])=>cg(b7("extends",b),([b,c])=>cg(cz(c),([c,d])=>cg(b7("=",d),([d,e])=>cg(cz(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[a2(a[0],a[2],a[4]),b]),([a,b])=>[a,b],()=>cg(cg(cg(ca(a),([a,b])=>cg(b7("extends",b),([b,c])=>cg(cz(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a2(a[0],a[2],a[2]),b]),([a,b])=>[a,b],()=>cg(cg(cg(ca(a),([a,b])=>cg(b7("=",b),([b,c])=>cg(cz(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a2(a[0],ac(),a[2]),b]),([a,b])=>[a,b],()=>cg(cg(ca(a),([a,b])=>[a2(a,ac(),ac()),b]),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),ci=(a,b=[])=>cg(cg(b7(",",a),([a,b])=>cg(ch(b),([b,c])=>[[a,b],c])),([a,c])=>ci(c,[...b,a]),()=>[b,a]),cj=a=>cg(cg(b7("<",a),([a,b])=>cg(cg(cg(cg(ch(b),([a,b])=>cg(ci(b),([b,c])=>cg(cg(b7(",",c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>cg(b7(">",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),ck=(a,b=[])=>cg(cg(b7(",",a),([a,b])=>cg(cz(b),([b,c])=>[[a,b],c])),([a,c])=>ck(c,[...b,a]),()=>[b,a]),cl=a=>cg(cg(cg(b7(";",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[null,b]),cm=a=>cg(b7("string",a),([a,b])=>[a4(),b]),cn=a=>cg(b7("number",a),([a,b])=>[a$(),b]),co=a=>cg(b7("integer",a),([a,b])=>[aR(),b]),cp=a=>cg(b7("symbol",a),([a,b])=>[a0(),b]),cq=a=>cg(ce(["${","`"],a),([a,b])=>[aU(a),b]),cr=a=>cg(cg(cg(cq(a),([a,b])=>cg(cg(cg(b7("${",b),([a,b])=>cg(cz(b),([b,c])=>cg(b7("}",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),([b,c])=>cg(cr(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg(cg(cq(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg(cg(cq(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[]))),([a,b])=>{var c;return[3===(c=a).length?[c[0],c[1],...c[2]]:[c[0]],b]}),cs=a=>cg(cg(b7("`",a),([a,b])=>cg(cr(b),([b,c])=>cg(b7("`",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),ct=(a,b=[])=>cg(cg(cg(b7("[",a),([a,b])=>cg(cz(b),([b,c])=>cg(b7("]",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg(cg(b7("[",a),([a,b])=>cg(b7("]",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>[])),([a,c])=>ct(c,[...b,a]),()=>[b,a]),cu=a=>cg(cg(cg(cg(cg(b7("keyof",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a.length>0,b]),([a,b])=>cg(cg(cg(cg(b7("(",b),([a,b])=>cg(cz(b),([b,c])=>cg(b7(")",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg(cm(b),([a,b])=>[a,b],()=>cg(cn(b),([a,b])=>[a,b],()=>cg(cg(b7("boolean",b),([a,b])=>[aM(),b]),([a,b])=>[a,b],()=>cg(cg(b7("undefined",b),([a,b])=>[bI(),b]),([a,b])=>[a,b],()=>cg(cg(b7("null",b),([a,b])=>[aX(),b]),([a,b])=>[a,b],()=>cg(co(b),([a,b])=>[a,b],()=>cg(cg(b7("bigint",b),([a,b])=>[aK(),b]),([a,b])=>[a,b],()=>cg(cg(b7("unknown",b),([a,b])=>[ac(),b]),([a,b])=>[a,b],()=>cg(cg(b7("any",b),([a,b])=>[U(),b]),([a,b])=>[a,b],()=>cg(cg(b7("object",b),([a,b])=>[aa({}),b]),([a,b])=>[a,b],()=>cg(cg(b7("never",b),([a,b])=>[W(),b]),([a,b])=>[a,b],()=>cg(cp(b),([a,b])=>[a,b],()=>cg(cg(b7("void",b),([a,b])=>[bK(),b]),([a,b])=>[a,b],()=>cg(cg(b7("this",b),([a,b])=>[bG(),b]),([a,b])=>[a,b],()=>cg(cg(b6(b),([a,b])=>[aU(BigInt(a)),b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("true",b),([a,b])=>[a,b],()=>cg(b7("false",b),([a,b])=>[a,b],()=>[])),([a,b])=>[aU("true"===a),b]),([a,b])=>[a,b],()=>cg(cg(cd(b),([a,b])=>[aU(parseFloat(a)),b]),([a,b])=>[a,b],()=>cg(cg(cf(["'",'"'],b),([a,b])=>[aU(a),b]),([a,b])=>[a,b],()=>cg(cg(cs(b),([a,b])=>[c8(a),b]),([a,b])=>[a,b],()=>cg(cg(cg(cg(b7("if",b),([a,b])=>cg(cz(b),([b,c])=>cg(b7("then",c),([c,d])=>cg(cz(d),([d,e])=>cg(b7("else",e),([e,f])=>cg(cz(f),([f,g])=>[[a,b,c,d,e,f],g])))))),([a,b])=>[a,b],()=>cg(cg(b7("if",b),([a,b])=>cg(cz(b),([b,c])=>cg(b7("then",c),([c,d])=>cg(cz(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>[])),([a,b])=>[6===a.length?al(a[1],a[3],a[5]):al(a[1],a[3],ac()),b]),([a,b])=>[a,b],()=>cg(cH(b),([a,b])=>[a,b],()=>cg(cL(b),([a,b])=>[a,b],()=>cg(cR(b),([a,b])=>[a,b],()=>cg(cQ(b),([a,b])=>[a,b],()=>cg(cS(b),([a,b])=>[a,b],()=>cg(cg(cg(ca(b),([a,b])=>cg(cg(cg(b7("<",b),([a,b])=>cg(cg(cg(cg(cz(b),([a,b])=>cg(ck(b),([b,c])=>cg(cg(b7(",",c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>cg(b7(">",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),([b,c])=>[[a,b],c])),([a,b])=>{var c,d;return[(c=a[0],d=a[1],"Array"===c?J(d[0]):"Capitalize"===c?dY(d[0]):"ConstructorParameters"===c?ef(d[0]):"Evaluate"===c?function(a,b={}){return F("Evaluate",[a],b)}(d[0]):"Exclude"===c?ei(d[0],d[1]):"Extract"===c?el(d[0],d[1]):"Index"===c?ep(d[0],d[1]):"InstanceType"===c?eE(d[0]):"Lowercase"===c?d$(d[0]):"NonNullable"===c?eO(d[0]):"Omit"===c?eR(d[0],d[1]):"Parameters"===c?eV(d[0]):"Partial"===c?eY(d[0]):"Pick"===c?e_(d[0],d[1]):"Readonly"===c?e2(d[0]):"KeyOf"===c?eH(d[0]):"Record"===c?bx(d[0],d[1]):"Required"===c?e6(d[0]):"ReturnType"===c?e9(d[0]):"Uncapitalize"===c?d0(d[0]):"Uppercase"===c?d2(d[0]):dU(Q(c),d)),b]}),([a,b])=>[a,b],()=>cg(cT(b),([a,b])=>[a,b],()=>[])))))))))))))))))))))))))))),([a,b])=>[i(a)&&3===a.length?a[1]:a,b]),([b,c])=>cg(cg(ct(c),([a,b])=>[a.reduce((a,b)=>3===b.length?[...a,[b[1]]]:[...a,[]],[]),b]),([c,d])=>cg(cg(cg(cg(b7("extends",d),([a,b])=>cg(cz(b),([b,c])=>cg(b7("?",c),([c,d])=>cg(cz(d),([d,e])=>cg(b7(":",e),([e,f])=>cg(cz(f),([f,g])=>[[a,b,c,d,e,f],g])))))),([a,b])=>[a,b],()=>cg([[],d],([a,b])=>[a,b],()=>[])),([a,b])=>[6===a.length?[a[1],a[3],a[5]]:[],b]),([d,e])=>cg(cg(cg(cg(b7("with",e),([a,b])=>cg(cW(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg([[],e],([a,b])=>[a,b],()=>[])),([a,b])=>[2===a.length?a[1]:[],b]),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[function(a){let[b,c,d,e,f]=a;var g=b?bP(eH(bO(c,d)),e):bP(bO(c,d),e);return i(f)&&0===f.length?g:fc(g,f)}(a),b]),cv=a=>cg(cg(cg(b7("&",a),([a,b])=>cg(cu(b),([b,c])=>cg(cv(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a,b]),cw=a=>cg(cg(cu(a),([a,b])=>cg(cv(b),([b,c])=>[[a,b],c])),([a,b])=>[function(a){let[b,c]=a;return bQ(b,c)}(a),b]),cx=a=>cg(cg(cg(b7("|",a),([a,b])=>cg(cw(b),([b,c])=>cg(cx(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a,b]),cy=a=>cg(cg(cw(a),([a,b])=>cg(cx(b),([b,c])=>[[a,b],c])),([a,b])=>[function(a){let[b,c]=a;return bQ(b,c)}(a),b]),cz=a=>cg(cg(cg(cg(cg(b7("infer",a),([a,b])=>cg(ca(b),([b,c])=>cg(b7("extends",c),([c,d])=>cg(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>cg(cg(b7("infer",a),([a,b])=>cg(ca(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>[])),([a,b])=>[4===a.length?aj(a[1],a[3]):2===a.length?aj(a[1],ac()):bM(),b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("|",a),([a,b])=>cg(cy(b),([b,c])=>[[a,b],c])),([a,b])=>[a[1],b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("readonly",a),([a,b])=>cg(cy(b),([b,c])=>[[a,b],c])),([a,b])=>[function(a,b={}){return F("AddImmutable",[a],b)}(a[1]),b]),([a,b])=>[a,b],()=>cg(cy(a),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),cA=a=>cg(cg(cg(cd(a),([a,b])=>[`${a}`,b]),([a,b])=>[a,b],()=>cg(cg(ca(a),([a,b])=>[a,b]),([a,b])=>[a,b],()=>cg(cg(cf(["'",'"'],a),([a,b])=>[a,b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("[",a),([a,b])=>cg(ca(b),([b,c])=>cg(b7(":",c),([c,d])=>cg(cg(co(d),([a,b])=>[a,b],()=>cg(cn(d),([a,b])=>[a,b],()=>cg(cm(d),([a,b])=>[a,b],()=>cg(cp(d),([a,b])=>[a,b],()=>[])))),([d,e])=>cg(b7("]",e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[aS(a[3])?bu:a_(a[3])?bv:a1(a[3])||a5(a[3])?bw:bM(),b]),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),cB=a=>cg(cg(cg(b7("readonly",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a.length>0,b]),cC=a=>cg(cg(cg(b7("?",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a.length>0,b]),cD=a=>cg(cg(cB(a),([a,b])=>cg(cA(b),([b,c])=>cg(cC(c),([c,d])=>cg(b7(":",d),([d,e])=>cg(cz(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[function(a){let[b,c,d,e,f]=a;return{[c]:b&&d?aE(Y(f)):b&&!d?aE(f):!b&&d?Y(f):f}}(a),b]),cE=a=>cg(cg(cg(b7(",",a),([a,b])=>cg(b7("\n",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7(";",a),([a,b])=>cg(b7("\n",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7(",",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg(cg(b7(";",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg(cg(b7("\n",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[]))))),([a,b])=>[a,b]),cF=(a,b=[])=>cg(cg(cE(a),([a,b])=>cg(cD(b),([b,c])=>[[a,b],c])),([a,c])=>cF(c,[...b,a]),()=>[b,a]),cG=a=>cg(cg(b7("{",a),([a,b])=>cg(cg(cg(cg(cD(b),([a,b])=>cg(cF(b),([b,c])=>cg(cg(cE(c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>cg(b7("}",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[bR(a[1]),b]),cH=a=>cg(cG(a),([a,b])=>[function(a){let[b,c]=a;return aa(b,0===u(c).length?{}:{patternProperties:c})}(a),b]),cI=a=>cg(cg(cg(cg(cg(ca(a),([a,b])=>cg(b7("?",b),([b,c])=>cg(b7(":",c),([c,d])=>cg(b7("readonly",d),([d,e])=>cg(cz(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[a,b],()=>cg(cg(ca(a),([a,b])=>cg(b7(":",b),([b,c])=>cg(b7("readonly",c),([c,d])=>cg(cz(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>cg(cg(ca(a),([a,b])=>cg(b7("?",b),([b,c])=>cg(b7(":",c),([c,d])=>cg(cz(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>cg(cg(ca(a),([a,b])=>cg(b7(":",b),([b,c])=>cg(cz(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>[])))),([a,b])=>[5===a.length?aE(Y(a[4])):3===a.length?a[2]:4===a.length?"readonly"===a[2]?aE(a[3]):Y(a[3]):bM(),b]),([a,b])=>[a,b],()=>cg(cg(cB(a),([a,b])=>cg(cz(b),([b,c])=>cg(cC(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>[])),([a,b])=>[function(a){if(!i(a)||3!==a.length)return a;let[b,c,d]=a;return b&&d?aE(Y(c)):b&&!d?aE(c):!b&&d?Y(c):c}(a),b]),cJ=a=>cg(cg(cg(b7("...",a),([a,b])=>cg(cI(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(cI(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[])),([a,b])=>{var c;return[2===(c=a).length?bE(c[1]):1===c.length?c[0]:bM(),b]}),cK=(a,b=[])=>cg(cg(b7(",",a),([a,b])=>cg(cJ(b),([b,c])=>[[a,b],c])),([a,c])=>cK(c,[...b,a]),()=>[b,a]),cL=a=>cg(cg(b7("[",a),([a,b])=>cg(cg(cg(cg(cJ(b),([a,b])=>cg(cK(b),([b,c])=>cg(cg(b7(",",c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>cg(b7("]",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[bd(a[1]),b]),cM=a=>cg(cg(cg(cg(ca(a),([a,b])=>cg(b7("?",b),([b,c])=>cg(b7(":",c),([c,d])=>cg(b7("readonly",d),([d,e])=>cg(cz(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[aE(Y(a[4])),b]),([a,b])=>[a,b],()=>cg(cg(cg(ca(a),([a,b])=>cg(b7(":",b),([b,c])=>cg(b7("readonly",c),([c,d])=>cg(cz(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[aE(a[3]),b]),([a,b])=>[a,b],()=>cg(cg(cg(ca(a),([a,b])=>cg(b7("?",b),([b,c])=>cg(b7(":",c),([c,d])=>cg(cz(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[Y(a[3]),b]),([a,b])=>[a,b],()=>cg(cg(cg(ca(a),([a,b])=>cg(b7(":",b),([b,c])=>cg(cz(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[2],b]),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),cN=a=>cg(cg(cg(b7("...",a),([a,b])=>cg(cM(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(cM(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[])),([a,b])=>{var c;return[2===(c=a).length?bE(c[1]):1===c.length?c[0]:bM(),b]}),cO=(a,b=[])=>cg(cg(b7(",",a),([a,b])=>cg(cN(b),([b,c])=>[[a,b],c])),([a,c])=>cO(c,[...b,a]),()=>[b,a]),cP=a=>cg(cg(cg(cN(a),([a,b])=>cg(cO(b),([b,c])=>cg(cg(b7(",",c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),cQ=a=>cg(cg(b7("(",a),([a,b])=>cg(cP(b),([b,c])=>cg(b7(")",c),([c,d])=>cg(b7("=>",d),([d,e])=>cg(cz(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[O(a[1],a[4]),b]),cR=a=>cg(cg(b7("new",a),([a,b])=>cg(b7("(",b),([b,c])=>cg(cP(c),([c,d])=>cg(b7(")",d),([d,e])=>cg(b7("=>",e),([e,f])=>cg(cz(f),([f,g])=>[[a,b,c,d,e,f],g])))))),([a,b])=>[M(a[2],a[5]),b]),cS=a=>cg(cg(b7("{",a),([a,b])=>cg(cg(cg(cg(b7("+",b),([a,b])=>cg(b7("readonly",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7("-",b),([a,b])=>cg(b7("readonly",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7("readonly",b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])))),([a,b])=>[2===a.length&&"-"===a[0]?"remove":2===a.length&&"+"===a[0]||1===a.length?"add":"none",b]),([b,c])=>cg(b7("[",c),([c,d])=>cg(ca(d),([d,e])=>cg(b7("in",e),([e,f])=>cg(cz(f),([f,g])=>cg(cg(cg(cg(b7("as",g),([a,b])=>cg(cz(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg([[],g],([a,b])=>[a,b],()=>[])),([a,b])=>[2===a.length?[a[1]]:[],b]),([g,h])=>cg(b7("]",h),([h,i])=>cg(cg(cg(cg(b7("+",i),([a,b])=>cg(b7("?",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7("-",i),([a,b])=>cg(b7("?",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7("?",i),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],i],([a,b])=>[a,b],()=>[])))),([a,b])=>[2===a.length&&"-"===a[0]?"remove":2===a.length&&"+"===a[0]||1===a.length?"add":"none",b]),([i,j])=>cg(b7(":",j),([j,k])=>cg(cz(k),([k,l])=>cg(cl(l),([l,m])=>cg(b7("}",m),([m,n])=>[[a,b,c,d,e,f,g,h,i,j,k,l,m],n]))))))))))))),([a,b])=>{var c;return[i((c=a)[6])&&1===c[6].length?eK(aO(c[3]),c[5],c[6][0],bS(c[1],bT(c[8],c[10]))):eK(aO(c[3]),c[5],Q(c[3]),bS(c[1],bT(c[8],c[10]))),b]}),cT=a=>cg(ca(a),([a,b])=>[Q(a),b]),cU=a=>cg(cg(cA(a),([a,b])=>cg(b7(":",b),([b,c])=>cg(cY(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[{[a[0]]:a[2]},b]),cV=(a,b=[])=>cg(cg(cE(a),([a,b])=>cg(cU(b),([b,c])=>[[a,b],c])),([a,c])=>cV(c,[...b,a]),()=>[b,a]),cW=a=>cg(cg(b7("{",a),([a,b])=>cg(cg(cg(cg(cU(b),([a,b])=>cg(cV(b),([b,c])=>cg(cg(cE(c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>cg(b7("}",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1].reduce((a,b)=>y(a,b),{}),b]),cX=(a,b=[])=>cg(cg(b7(",",a),([a,b])=>cg(cY(b),([b,c])=>[[a,b],c])),([a,c])=>cX(c,[...b,a]),()=>[b,a]),cY=a=>cg(cg(cg(b6(a),([a,b])=>[BigInt(a),b]),([a,b])=>[a,b],()=>cg(cg(cd(a),([a,b])=>[parseFloat(a),b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("true",a),([a,b])=>[a,b],()=>cg(b7("false",a),([a,b])=>[a,b],()=>[])),([a,b])=>["true"===a,b]),([a,b])=>[a,b],()=>cg(cg(cf(['"',"'"],a),([a,b])=>[a,b]),([a,b])=>[a,b],()=>cg(cg(b7("null",a),([a,b])=>[null,b]),([a,b])=>[a,b],()=>cg(cg(b7("undefined",a),([a,b])=>[void 0,b]),([a,b])=>[a,b],()=>cg(cW(a),([a,b])=>[a,b],()=>cg(cg(cg(b7("[",a),([a,b])=>cg(cg(cg(cg(cY(b),([a,b])=>cg(cX(b),([b,c])=>cg(cg(b7(",",c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>cg(b7("]",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),([a,b])=>[a,b],()=>[])))))))),([a,b])=>[a,b]),cZ=a=>cg(cg(cg(c$(a),([a,b])=>cg(b7("|",b),([b,c])=>cg(cZ(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg(cg(c$(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[]))),([a,b])=>[3===a.length?[...a[0],...a[2]]:1===a.length?[...a[0]]:[],b]),c$=a=>{let b;return cg(cg(cg(cg(cg(b7("-?(?:0|[1-9][0-9]*)n",b=a),([a,b])=>[aK(),b]),([a,b])=>[a,b],()=>cg(cg(b7(".*",b),([a,b])=>[a4(),b]),([a,b])=>[a,b],()=>cg(cg(b7("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",b),([a,b])=>[a$(),b]),([a,b])=>[a,b],()=>cg(cg(b7("-?(?:0|[1-9][0-9]*)",b),([a,b])=>[aR(),b]),([a,b])=>[a,b],()=>cg(cg(b7("(?!)",b),([a,b])=>[W(),b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("(",b),([a,b])=>cg(c_(b),([b,c])=>cg(b7(")",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a6(a[1]),b]),([a,b])=>[a,b],()=>cg(cg(bV(ce(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],b),(a,b)=>""===a?[]:[a,b],()=>[]),([a,b])=>[aU(a),b]),([a,b])=>[a,b],()=>[]))))))),([a,b])=>[a,b]),([a,b])=>cg(c_(b),([b,c])=>[[a,b],c])),([a,b])=>[[a[0],...a[1]],b])},c_=a=>cg(cg(cZ(a),([a,b])=>[a,b],()=>cg(c$(a),([a,b])=>[a,b],()=>[])),([a,b])=>[a,b]),c0=a=>cg(cg(b7("^",a),([a,b])=>cg(c_(b),([b,c])=>cg(b7("$",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),c1=(a,b=[])=>cg(cg(b7(",",a),([a,b])=>cg(cz(b),([b,c])=>[[a,b],c])),([a,c])=>c1(c,[...b,a]),()=>[b,a]),c2=a=>cg(cg(cg(b7("extends",a),([a,b])=>cg(cg(cg(cg(cz(b),([a,b])=>cg(c1(b),([b,c])=>cg(cg(b7(",",c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>{var c;return[2===(c=a).length?c[1]:[],b]}),c3=a=>cg(cg(cg(b7(";",a),([a,b])=>cg(b7("\n",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cg(cg(b7(";",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg(cg(b7("\n",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[]))),([a,b])=>[a,b]),c4=(a,b=[])=>cg(cg(c3(a),([a,b])=>cg(c5(b),([b,c])=>[[a,b],c])),([a,c])=>c4(c,[...b,a]),()=>[b,a]),c5=a=>cg(cg(cg(cg(cg(b7("export",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cg([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[null,b]),([a,b])=>cg(cg(cg(cg(b7("interface",b),([a,b])=>cg(ca(b),([b,c])=>cg(cj(c),([c,d])=>cg(c2(d),([d,e])=>cg(cG(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[function(a){let b=a[2],c=a[3],[d,e]=a[4],f=0===u(e).length?{}:{patternProperties:e};return{[a[1]]:S(b,dy(c,d,f))}}(a),b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("interface",b),([a,b])=>cg(ca(b),([b,c])=>cg(c2(c),([c,d])=>cg(cG(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[function(a){let b=a[2],[c,d]=a[3],e=0===u(d).length?{}:{patternProperties:d};return{[a[1]]:dy(b,c,e)}}(a),b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("type",b),([a,b])=>cg(ca(b),([b,c])=>cg(cj(c),([c,d])=>cg(b7("=",d),([d,e])=>cg(cz(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[{[a[1]]:S(a[2],a[4])},b]),([a,b])=>[a,b],()=>cg(cg(cg(b7("type",b),([a,b])=>cg(ca(b),([b,c])=>cg(b7("=",c),([c,d])=>cg(cz(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[{[a[1]]:a[3]},b]),([a,b])=>[a,b],()=>[])))),([b,c])=>cg(cl(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]);function c6(a,b){return r(a,(a,c)=>(function a(b,c,d){var e,f,g,h,i;return ap(b)?(e=b.enum,a(bm(e),c,d)):aS(b)?c6(c,`${d}${aQ}`):aW(b)?(f=b.const,c6(c,`${d}${f}`)):aL(b)?c6(c,`${d}-?(?:0|[1-9][0-9]*)n`):aN(b)?a(a6([aU("false"),aU("true")]),c,d):a_(b)?c6(c,`${d}${aZ}`):a5(b)?c6(c,`${d}.*`):da(b)?(g=b.pattern,c6(c,`${d}${g.slice(1,g.length-1)}`)):p(i=b)&&t(i,"action")&&"TemplateLiteral"===i.action?(h=b.parameters[0],a(c7(h,{}),c,d)):a7(b)?function b(c,d,e,f=[]){return r(c,(c,g)=>b(g,d,e,[...f,a(c,[],"")]),()=>c6(d,`${e}(${f.join("|")})`))}(b.anyOf,c,d):"(?!)"})(a,c,b),()=>b)}function c7(a,b){let c;return fg(a)?C(ba((c=c6(a,""),`^${c}$`)),{},b):c8(a,b)}function c8(a,b={}){return F("TemplateLiteral",[a],b)}function c9(a,b={}){var c;let d;return C(q(a)?c7((c=a,2===(d=cs(`\`${c}\``)).length?d[0]:av()),{}):c7(a,{}),{},b)}function da(a){return D(a,"TemplateLiteral")}function db(a){return A({"~kind":"ExtendsUnion"},{inferred:a})}function dc(a){return p(a)&&t(a,"~kind")&&t(a,"inferred")&&"ExtendsUnion"===a["~kind"]&&p(a.inferred)}function dd(a){return A({"~kind":"ExtendsTrue"},{inferred:a})}function de(a){return p(a)&&t(a,"~kind")&&t(a,"inferred")&&"ExtendsTrue"===a["~kind"]&&p(a.inferred)}function df(){return A({"~kind":"ExtendsFalse"},{})}function dg(a){return p(a)&&t(a,"~kind")&&"ExtendsFalse"===a["~kind"]}function dh(a){return dc(a)||de(a)}function di(a,b,c){return dh(a)?b(a.inferred):c()}function dj(a,b,c){var d,e,f,g;return V(c)?dd(a):am(c)?(d=c.if,e=c.then,f=c.else,di(dw(a,b,d),a=>di(dw(a,b,e),a=>dd(a),()=>df()),()=>di(dw(a,b,f),a=>dd(a),()=>df()))):ap(c)?dw(a,b,bm(c.enum)):ak(c)?(g=c.name,di(dw(a,b,c.extends),c=>dd(y(y(a,c),{[g]:b})),()=>df())):ar(c)?function a(b,c,d){return r(d,(d,e)=>di(dw(b,c,d),b=>a(b,c,e),()=>df()),()=>dd(b))}(a,b,c.allOf):da(c)?dw(a,b,bo(c.pattern)):a7(c)?function a(b,c,d){return r(d,(d,e)=>di(dw(b,c,d),a=>dd(a),()=>a(b,c,e)),()=>df())}(a,b,c.anyOf):ad(c)?dd(a):df()}function dk(a,b,c){return r(b,(b,d)=>r(c,(c,e)=>{let f,g,h,i;return f=ak(c)?b:c,g=ak(c)?c:b,h=_(b),i=_(c),!h&&i?df():di(dw(a,f,g),a=>dk(a,d,e),()=>df())},()=>_(b)?dd(a):df()),()=>dd(a))}function dl(a,b,c){return bL(c)?dd(a):dw(a,b,c)}function dm(a,b,c){return b===c?dd(a):df()}function dn(a,b){return A({"~kind":"Inferrable"},{name:a,type:b},{})}function dp(a){return p(a)&&t(a,"~kind")&&t(a,"name")&&t(a,"type")&&"Inferrable"===a["~kind"]&&q(a.name)&&p(a.type)}function dq(a){return bF(a)?ak(a.items)?K(a.items.extends)?dn(a.items.name,a.items.extends.items):ad(a.items.extends)?dn(a.items.name,a.items.extends):void 0:av():void 0}function dr(a){return ak(a)?dn(a.name,a.extends):void 0}function ds(a,b,c=[]){return r(a,(a,d)=>di(dw({},a,b),()=>ds(d,b,[...c,a]),()=>void 0),()=>c)}function dt(a,b,c,d){let e=ds(c,d);return i(e)?dd(y(a,{[b]:a6(e)})):df()}function du(a,b){return b?[...a].reverse():a}function dv(a,b,c){return r(b,(b,d)=>di(function a(b,c,d){return r(d,(d,e)=>di(dw(b,c,d),a=>dd(a),()=>a(b,c,e)),()=>df())}(a,b,c),a=>dv(a,d,c),()=>df()),()=>dd(a))}function dw(a,b,c){var d,e,f,g,h,l,m,o,s,w,x,z,A,B,C,D,E,F,G,H,I,J,L,M;let O,Q,R,S,T,U,W,Y,Z,$;return V(b)?ak(c)?dj(a,b,c):V(c)||ad(c)?dd(a):db(a):K(b)?(d=b.items,K(c)?(O=aD(b),Q=aD(c),O&&Q||!O&&Q||!O||Q)?dw(a,d,c.items):df():dj(a,b,c)):aL(b)?aL(c)?dd(a):dj(a,b,c):aN(b)?aN(c)?dd(a):dj(a,b,c):N(b)?(e=b.parameters,f=b.instanceType,V(c)||ad(c)?dd(a):N(c)?di(dk(a,e,c.parameters),a=>dl(a,f,c.instanceType),()=>df()):df()):am(b)?(g=b.if,h=b.then,l=b.else,di(dw(a,g,c),()=>dw(a,h,c),()=>dw(a,l,c))):ap(b)?(m=b.enum,dw(a,bm(m),c)):P(b)?(o=b.parameters,s=b.returnType,V(c)||ad(c)?dd(a):P(c)?di(dk(a,o,c.parameters),a=>dl(a,s,c.returnType),()=>df()):df()):aS(b)?aS(c)||a_(c)?dd(a):dj(a,b,c):ar(b)?(w=b.allOf,dw(a,bn(w),c)):aW(b)?j(b.const)?(x=b.const,aW(c)?dm(a,x,c.const):aL(c)?dd(a):dj(a,aU(x),c)):k(b.const)?(z=b.const,aW(c)?dm(a,z,c.const):aN(c)?dd(a):dj(a,aU(z),c)):n(b.const)?(A=b.const,aW(c)?dm(a,A,c.const):a_(c)?dd(a):dj(a,aU(A),c)):q(b.const)?(B=b.const,aW(c)?dm(a,B,c.const):a5(c)?dd(a):dj(a,aU(B),c)):av():X(b)?ak(c)?dj(a,b,c):dd(a):aY(b)?aY(c)?dd(a):dj(a,b,c):a_(b)?a_(c)?dd(a):dj(a,b,c):ab(b)?(C=b.properties,bD(c)?(bA(c),D=bC(c),R=u(C),function a(b,c,d,e){return r(c,(c,f)=>di(dw({},b[c],d),c=>a(b,f,d,u(c).reduce((a,b)=>({...a,[b]:t(e,b)?a7(a[b])?a6([...a[b].anyOf,c[b]]):a6([e[b],c[b]]):c[b]}),e)),()=>df()),()=>dd(e))}(C,R,D,a)):ab(c)?(S=function(a,b,c){var d;let e={};for(let d of u(c))e[d]=d in b?function(a,b,c){return ak(c)&&X(c.extends)?df():di(dw(a,b,c),a=>_(b)?_(c)?dd(a):df():dd(a),()=>df())}({},b[d],c[d]):_(c[d])?ak(c[d])?dd(y(a,{[c[d].name]:c[d].extends})):dd(a):df();let f=v(e).every(a=>dh(a)),g=f?(d=u(e),d.reduce((a,b)=>b in e&&dh(e[b])?{...a,...e[b].inferred}:av(),{})):{};return f?dd(g):df()}(a,C,c.properties),dh(S)?dd(y(a,S.inferred)):df()):dj(a,aa(C),c)):bD(b)?(E=bA(b),F=bC(b),bD(c)?(bz(E),bz(bA(c)),dw(a,F,bC(c))):ab(c)?(L=a,0===u(c.properties).length?dd(L):df()):V(c)||ad(c)?dd(a):df()):a5(b)?a5(c)?dd(a):dj(a,b,c):a1(b)?a1(c)?dd(a):dj(a,b,c):da(b)?(G=b.pattern,dw(a,bo(G),c)):be(b)?(H=b.items,T=fi(a,ff([],[]),H),be(c)?(I=c.items,$=p(Z=(M=U=fi(a,ff([],[]),I)).length>0?M[0]:void 0)?dq(Z):void 0,function a(b,c,d,e){return r(e,(e,f)=>{var g;let h,j;return dp(h=dq(e))?(g=h.name,i(j=ds(du(d,c),h.type))?dd(y(b,{[g]:bd(j)})):df()):r(d,(d,g)=>di(dw(b,d,e),b=>a(b,c,g,f),()=>df()),()=>df())},()=>0===d.length?dd(b):df())}(a,W=p($),du(T,W),du(U,W))):K(c)?function a(b,c,d){let e=dr(d);return dp(e)?dt(b,e.name,c,e.type):r(c,(c,e)=>di(dw(b,c,d),b=>a(b,e,d),()=>df()),()=>dd(b))}(a,T,c.items):dj(a,bd(T),c)):bJ(b)?bL(c)||bJ(c)?dd(a):dj(a,b,c):a7(b)?(J=b.anyOf,dp(Y=dr(c))?dt(a,Y.name,J,Y.type):a7(c)?dv(a,J,c.anyOf):dv(a,J,[c])):ad(b)?ak(c)?dj(a,b,c):V(c)||ad(c)?dd(a):df():bL(b)?bL(c)?dd(a):dj(a,b,c):df()}function dx(a,b,c){return fg(a)?C(bn([...a,aa(b)]),{},c):dy(a,b,c)}function dy(a,b,c={}){return F("Interface",[a,b],c)}function dz(a){return p(a)&&t(a,"action")&&"Interface"===a.action}function dA(a,b,c={}){return dx(a,b,c)}function dB(a,b,c){return r(c,(c,d)=>!!dC(a,b,c)||dB(a,b,d),()=>!1)}function dC(a,b,c){var d;return R(c)?(d=c.$ref,!!a.includes(d)||dC([...a,d],b,b[d])):K(c)?dC(a,b,c.items):N(c)?dB(a,b,[...c.parameters,c.instanceType]):P(c)?dB(a,b,[...c.parameters,c.returnType]):dz(c)?dB(a,b,v(c.parameters[1])):ar(c)?dB(a,b,c.allOf):ab(c)?dB(a,b,v(c.properties)):a7(c)?dB(a,b,c.anyOf):be(c)?dB(a,b,c.items):!!bD(c)&&dC(a,b,bC(c))}function dD(a,b,c){return b.reduce((b,c)=>dE(a,c,b),c)}function dE(a,b,c){var d,e,f,g,h,i,j;return R(b)?(d=b.$ref,c.includes(d)?c:d in a?dE(a,a[d],[...c,d]):av()):K(b)?dE(a,b.items,c):N(b)?dD(a,[...b.parameters,b.instanceType],c):P(b)?dD(a,[...b.parameters,b.returnType],c):dz(b)?(e=a,f=b.parameters[1],g=c,dD(e,v(f),g)):ar(b)?dD(a,b.allOf,c):ab(b)?(h=a,i=b.properties,j=c,dD(h,v(i),j)):a7(b)?dD(a,b.anyOf,c):be(b)?dD(a,b.items,c):bD(b)?dE(a,bC(b),c):c}function dF(a){return a.reduce((a,b)=>[...a,dG(b)],[])}function dG(a){var b;return R(a)?(a.$ref,U()):K(a)?J(dG(a.items),L(a)):N(a)?M(dF(a.parameters),dG(a.instanceType)):P(a)?O(dF(a.parameters),dG(a.returnType)):ar(a)?aq(dF(a.allOf)):ab(a)?aa(u(b=a.properties).reduce((a,c)=>({...a,[c]:dG(b[c])}),{})):bD(a)?by(bB(a),dG(bC(a))):a7(a)?a6(dF(a.anyOf)):be(a)?bd(dF(a.items)):a}function dH(a,b){return function a(b,c){return c in b?R(b[c])?a(b,b[c].$ref):b[c]:W()}(a,b)}function dI(a){var b,c;return af(a)?(b=a.$defs,(c=a.$ref)in b?dG(b[c]):ac()):ah(a)?ac():a}function dJ(a,b,c){return dw(a,dI(b),dI(c))}let dK=0,dL=2,dM=3;function dN(a,b){let c=[dJ({},a,b),dJ({},b,a)];return dh(c[0])&&dh(c[1])?dK:dh(c[0])&&dg(c[1])?dL:dg(c[0])&&dh(c[1])?dM:1}function dO(a,b=[]){return r(a,(a,c)=>{let d;return V(d=bq(a))||ad(d)?[d]:X(d)?dO(c,b):ab(d)?dO(c,[...b,d]):dO(c,function a(b,c,d=[],e=c){return r(c,(c,f)=>{let g=dN(b,c);return g===dL||g===dK?e:1===g?a(b,f,[...d,c],e):a(b,f,d,e)},()=>[...d,b])}(d,b))},()=>b)}function dP(a,b){return b.reduce((b,c)=>[...b,...a.reduce((a,b)=>[...a,[...b,c]],[])],[])}function dQ(a,b,c,d,e){let f=fk(a,b,e);return!function(a,b,c){if(!(ak(b)||dW(b)||dh(dJ({},b,c))))throw Error(`Argument for parameter ${a} does not satisfy constraint`,{cause:{parameter:a,expect:c,actual:b}})}(c,f,d),y(a,{[c]:f})}let dR=0,dS=0;function dT(a,b,c,d){var e;let f=fj(a,b,d),g=function a(b,c,d,e){var f;return T(d)?[c,S(d.parameters,d.expression)]:R(d)?(f=d.$ref,f in b?a(b,f,b[f],e):["(not-resolvable)",W()]):["(not-generic)",W()]}(a,"(anonymous)",c,d),h=g[0],i=g[1];return T(i)?((e=b).callstack.length>0?e.callstack[e.callstack.length-1]:"")===h?dU(Q(h),f):function(a,b,c,d,e,f){let g=function(a,b,c){let d=function a(b,c=[]){return G(b)&&"Conditional"===b.action?R(b.parameters[0])?a(b.parameters[2],a(b.parameters[3],[...c,b.parameters[0].$ref])):a(b.parameters[2],a(b.parameters[3],c)):G(b)&&"Mapped"===b.action&&G(b.parameters[1])&&"KeyOf"===b.parameters[1].action&&R(b.parameters[1].parameters[0])?[...c,b.parameters[1].parameters[0].$ref]:c}(c),e=function a(b,c,d=[]){return r(b,(b,e)=>r(c,(c,f)=>a(e,f,[...d,[c,b]]),()=>d),()=>d)}(b,a.reduce((a,b)=>[...a,d.includes(b.name)],[]));return G(c)&&"Conditional"===c.action||G(c)&&"Mapped"===c.action?e.reduce((a,b)=>{var c;let d;return!0===b[0]?dP(a,a7(d=da(c=b[1])?bo(c.pattern):ap(c)?bm(c.enum):c)?[...d.anyOf]:[d]):dP(a,[b[1]])},[[]]):[b]}(d,f,e),h=g.reduce((f,g)=>[...f,function(a,b,c,d,e,f){if(!(dS<w.maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite");dS++,dR++;try{let g=function a(b,c,d,e){return r(d,(d,f)=>{let g,h;return g=fk(b,c,d.extends),h=fk(b,c,d.equals),r(e,(e,h)=>a(dQ(b,c,d.name,g,e),c,f,h),()=>a(dQ(b,c,d.name,g,h),c,f,[]))},()=>b)}(a,b,d,f),h=fk(g,ff([...b.callstack,c.$ref],b.visited),e);return fk(g,ff([],[]),h)}finally{0==--dR&&(dS=0)}}(a,b,c,d,e,g)],[]);return 1===h.length?h[0]:bp(h)}(a,b,Q(h),i.parameters,i.expression,f):dU(c,f)}function dU(a,b){return A({"~kind":"Call"},{type:"call",target:a,arguments:b},{})}function dV(a,b){return dT({},ff([],[]),a,b)}function dW(a){return D(a,"Call")}function dX(a,b){var c,d;return aW(b)?(c=a,q(d=b.const)?aU(c(d)):aU(d)):da(b)?dX(a,bo(b.pattern)):a7(b)?a6(b.anyOf.map(b=>dX(a,b))):b}function dY(a,b={}){return F("Capitalize",[a],b)}function dZ(a,b={}){return d8(a,b)}function d$(a,b={}){return F("Lowercase",[a],b)}function d_(a,b={}){return d9(a,b)}function d0(a,b={}){return F("Uncapitalize",[a],b)}function d1(a,b={}){return ea(a,b)}function d2(a,b={}){return F("Uppercase",[a],b)}function d3(a,b={}){return eb(a,b)}let d4=a=>a[0].toUpperCase()+a.slice(1),d5=a=>a.toLowerCase(),d6=a=>a[0].toLowerCase()+a.slice(1),d7=a=>a.toUpperCase();function d8(a,b){return fg([a])?C(dX(d4,a),{},b):dY(a,b)}function d9(a,b){return fg([a])?C(dX(d5,a),{},b):d$(a,b)}function ea(a,b){return fg([a])?C(dX(d6,a),{},b):d0(a,b)}function eb(a,b){return fg([a])?C(dX(d7,a),{},b):d2(a,b)}function ec(a,b,c,d,e={}){return F("Conditional",[a,b,c,d],e)}function ed(a,b,c,d,e={}){return ee({},ff([],[]),a,b,c,d,e)}function ee(a,b,c,d,e,f,g){let h;return fg([c,d])?C(dc(h=dJ(a,c,d))?a6([fk(h.inferred,b,e),fk(a,b,f)]):de(h)?fk(h.inferred,b,e):fk(a,b,f),{},g):ec(c,d,e,f,g)}function ef(a,b={}){return F("ConstructorParameters",[a],b)}function eg(a,b={}){return eh(a,b)}function eh(a,b){let c;return fg([a])?C((c=N(a)?a.parameters:[],bd(fi({},ff([],[]),c))),{},b):ef(a,b)}function ei(a,b,c={}){return F("Exclude",[a,b],c)}function ej(a,b,c={}){return ek(a,b,c)}function ek(a,b,c){return fg([a,b])?C(bk(a,b),{},c):ei(a,b,c)}function el(a,b,c={}){return F("Extract",[a,b],c)}function em(a,b,c={}){return en(a,b,c)}function en(a,b,c){let d;return fg([a,b])?C(bp(function a(b,c,d=[]){return r(b,(b,e)=>a(e,c,[...d,...dh(dJ({},b,c))?[b]:[]]),()=>d)}(a7(d=bq(a))?d.anyOf:[d],b)),{},c):el(a,b,c)}function eo(a){return a6(a.reduce((a,b)=>aV(b)?[...a,aU(b)]:a,[]))}function ep(a,b,c={}){return F("Index",[a,b],c)}function eq(a,b,c={}){return eD(a,i(b)?eo(b):b,c)}function er(a){var b;return af(a)?er(dH(a.$defs,a.$ref)):am(a)?(b=a.if,er(bl(b,a.then,a.else))):ar(a)?a.allOf.reduce((a,b)=>{var c;let d,e,f,g,h,i,j;return c=er(b),d=u(a).filter(a=>!t(c,a)),e=u(c).filter(b=>!t(a,b)),f=u(a).filter(a=>t(c,a)),g=d.reduce((b,c)=>({...b,[c]:a[c]}),{}),h=e.reduce((a,b)=>({...a,[b]:c[b]}),{}),i=f.reduce((b,d)=>({...b,[d]:bn([a[d],c[d]])}),{}),j=y(g,h),y(j,i)},{}):a7(a)?r(a.anyOf,(a,b)=>(function a(b,c){return r(b,(b,d)=>{var e;return a(d,(e=er(b),u(c).filter(a=>a in e).reduce((a,b)=>({...a,[b]:bp([c[b],e[b]])}),{})))},()=>c)})(b,er(a)),()=>av()):be(a)?er(aa(bi(bd(a.items).items))):ab(a)?a.properties:{}}let es=RegExp("^(?:0|[1-9][0-9]*)$");function et(a){let b=`${a}`;return es.test(b)?parseInt(b):a}function eu(a){return a.map(a=>ev(a))}function ev(a){return ar(a)?aq(eu(a.allOf)):a7(a)?a6(eu(a.anyOf)):aW(a)?aU(et(a.const)):a}function ew(a){var b,c;return af(a)?ew(dH(a.$defs,a.$ref)):am(a)?(b=a.if,ew(bl(b,a.then,a.else))):ap(a)?ew(bm(a.enum)):ar(a)?ew(bn(a.allOf)):aW(a)?(c=a.const,[`${c}`]):da(a)?ew(bo(a.pattern)):a7(a)?a.anyOf.reduce((a,b)=>[...a,...ew(b)],[]):[]}function ex(a,b){return b.map(b=>ey(a,b))}function ey(a,b){return K(b)?J(ey(a,b.items)):N(b)?M(ex(a,b.parameters),ey(a,b.instanceType)):P(b)?O(ex(a,b.parameters),ey(a,b.returnType)):be(b)?bd(ex(a,b.items)):a7(b)?a6(ex(a,b.anyOf)):ar(b)?aq(ex(a,b.allOf)):bH(b)?aa(a):b}function ez(a,b){return b.reduce((b,c)=>{var d,e;let f;return[...b,(d=a,f=(e=c)in d?d[e]:W(),ey(d,f))]},[])}let eA=new RegExp(bu);function eB(a){return a.map(a=>eC(a))}function eC(a){return ar(a)?aq(eB(a.allOf)):a7(a)?a6(eB(a.anyOf)):aW(a)?aU(et(a.const)):a}function eD(a,b,c){var d,e,f,g,h,i;let j;return fg([a,b])?C((d=af(f=a)||am(f)||ar(f)||a7(f)?aa(er(f)):f,K(d)?(g=d.items,dh(dJ({},ev(h=b),a$()))?g:aW(h)&&"length"===h.const?a$():W()):ab(d)?(e=d.properties,a_(b)?(j=u(i=e).filter(a=>eA.test(a)),bp(ez(i,j))):bp(ez(e,ew(b)))):be(d)?function(a,b){let c;return aW(b)&&"length"===b.const?aU(a.length):a_(b)||aS(b)?br(a):br((c=eC(b),a.reduceRight((a,b,d)=>dh(dJ({},aU(d),c))?[b,...a]:a,[])))}(d.items,b):W()),{},c):ep(a,b,c)}function eE(a,b={}){return F("InstanceType",[a],b)}function eF(a,b={}){return eG(a,b)}function eG(a,b){return fg([a])?C(N(a)?a.instanceType:W(),{},b):eE(a,b)}function eH(a,b={}){return F("KeyOf",[a],b)}function eI(a,b={}){return eJ(a,b)}function eJ(a,b){var c,d;return fg([a])?C(V(d=af(c=a)||am(c)||ar(c)||a7(c)?aa(er(c)):c)?a6([a$(),a4(),a0()]):K(d)?(d.items,a$()):ab(d)?br(u(d.properties).reduce((a,b)=>aV(b)?[...a,aU(et(b))]:av(),[])):bD(d)?bB(d):be(d)?br(d.items.map((a,b)=>aU(b))):W(),{},b):eH(a,b)}function eK(a,b,c,d,e={}){return F("Mapped",[a,b,c,d],e)}function eL(a,b,c,d,e={}){return eM({},ff([],[]),a,b,c,d,e)}function eM(a,b,c,d,e,f,g){return fg([d])?C(function(a,b,c,d,e,f){let g=function a(b){var c;return ap(b)?a(bm(b.enum)):aW(b)?n(c=b.const)?[aU(`${c}`)]:[aU(c)]:da(b)?a(bo(b.pattern)):a7(b)?b.anyOf.reduce((b,c)=>[...b,...a(c)],[]):[b]}(d);return bn(g.reduce((d,g)=>{var h;let i,j,k;return[...d,(j=da(h=fk(i=y(a,{[c.name]:g}),b,e))?bo(h.pattern):h,k=fk(i,b,f),aW(j)&&n(j.const)||aW(j)&&q(j.const)?{[j.const]:k}:{})]},[]).reduce((a,b)=>[...a,aa(b)],[]))}(a,b,c,d,e,f),{},g):eK(c,d,e,f,g)}function eN(a,b,c,d){let e,f,g,h,i;return e=function(a){let b=u(a);return b.reduce((b,c)=>dC([c],a,a[c])?[...b,c]:b,[])}(c),f=y(a,c),g=u(c).filter(a=>e.includes(a)).reduce((a,b)=>({...a,[b]:function(a,b,c){let d=dE(a,c,[b]);return ae(u(a).filter(a=>d.includes(a)).reduce((b,c)=>{var d,e;let f=a[c],g=dz(f)?(d=f.parameters[0],e=f.parameters[1],bn([...fj(a,ff([],[]),d),aa(fh({},ff([],[]),e))])):f;return{...b,[c]:g}},{}),b)}(f,b,c[b])}),{}),h=y(a,c),i=u(c).filter(a=>!e.includes(a)).reduce((a,b)=>({...a,[b]:fk(h,ff([],[]),c[b])}),{}),C({...g,...i},{},d)}function eO(a,b={}){return F("NonNullable",[a],b)}function eP(a,b={}){return eQ(a,b)}function eQ(a,b){return fg([a])?C(ek(a,a6([aX(),bI()]),{}),{},b):eO(a,b)}function eR(a,b,c={}){return F("Omit",[a,b],c)}function eS(a,b,c={}){return eU(a,i(b)?eo(b):b,c)}function eT(a){let b=aa(er(a));return ab(b)?b.properties:av()}function eU(a,b,c){return fg([a,b])?C(function(a,b){let c=eT(a),d=ew(b);return aa(u(c).reduce((a,b)=>d.includes(b)?a:{...a,[b]:c[b]},{}))}(a,b),{},c):eR(a,b,c)}function eV(a,b={}){return F("Parameters",[a],b)}function eW(a,b={}){return eX(a,b)}function eX(a,b){let c;return fg([a])?C((c=P(a)?a.parameters:[],bd(fi({},ff([],[]),c))),{},b):eV(a,b)}function eY(a,b={}){return F("Partial",[a],b)}function eZ(a,b={}){return e$(a,b)}function e$(a,b){return fg([a])?C(function a(b){var c,d,e,f;let g;return af(b)?(g=a(dH(c=b.$defs,d=b.$ref)),ae(y(c,{[d]:g}),d)):am(b)?(e=b.if,a(bl(e,b.then,b.else))):ar(b)?a(bn(b.allOf)):a7(b)?a6(b.anyOf.map(b=>a(b))):ab(b)?aa(u(f=b.properties).reduce((a,b)=>({...a,[b]:Z(f[b])}),{})):aa({})}(a),{},b):eY(a,b)}function e_(a,b,c={}){return F("Pick",[a,b],c)}function e0(a,b,c={}){return e1(a,i(b)?eo(b):b,c)}function e1(a,b,c){return fg([a,b])?C(function(a,b){let c=eT(a),d=ew(b);return aa(u(c).reduce((a,b)=>d.includes(b)?y(a,{[b]:c[b]}):a,{}))}(a,b),{},c):e_(a,b,c)}function e2(a,b={}){return F("ReadonlyObject",[a],b)}function e3(a,b={}){return e5(a,b)}let e4=e3;function e5(a,b){return fg([a])?C(function a(b){var c,d,e,f;let g;return K(b)?fn(J(b.items)):af(b)?(g=a(dH(c=b.$defs,d=b.$ref)),ae(y(c,{[d]:g}),d)):am(b)?(e=b.if,a(bl(e,b.then,b.else))):ar(b)?a(bn(b.allOf)):ab(b)?aa(u(f=b.properties).reduce((a,b)=>({...a,[b]:aF(f[b])}),{})):be(b)?fn(bd(b.items)):a7(b)?a6(b.anyOf.map(b=>a(b))):b}(a),{},b):e2(a)}function e6(a,b={}){return F("Required",[a],b)}function e7(a,b={}){return e8(a,b)}function e8(a,b){return fg([a])?C(function a(b){var c,d,e,f;let g;return af(b)?(g=a(dH(c=b.$defs,d=b.$ref)),ae(y(c,{[d]:g}),d)):am(b)?(e=b.if,a(bl(e,b.then,b.else))):ar(b)?a(bn(b.allOf)):a7(b)?a6(b.anyOf.map(b=>a(b))):ab(b)?aa(u(f=b.properties).reduce((a,b)=>({...a,[b]:bh(f[b])}),{})):aa({})}(a),{},b):e6(a,b)}function e9(a,b={}){return F("ReturnType",[a],b)}function fa(a,b={}){return fb(a,b)}function fb(a,b){return fg([a])?C(P(a)?a.returnType:W(),{},b):e9(a,b)}function fc(a,b){return F("With",[a,b],{})}function fd(a,b){return fe(a,b)}function fe(a,b){return fg([a])?C(a,{},b):fc(a,b)}function ff(a,b){return{callstack:a,visited:b}}function fg(a){return r(a,(a,b)=>!R(a)&&fg(b),()=>!0)}function fh(a,b,c){return u(c).reduce((d,e)=>({...d,[e]:fk(a,b,c[e])}),{})}function fi(a,b,c){return function a(b){return b.reduce((b,c)=>[...b,...bF(c)?be(c.items)?a(c.items.items):ak(c.items)||R(c.items)?[c]:[W()]:[c]],[])}(fj(a,b,c))}function fj(a,b,c){return c.map(c=>fk(a,b,c))}function fk(a,b,c){return G(c)?function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,D,E,G,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad;let ae,af,ag;return"AddImmutable"===c?(aa=a,ab=b,ac=d[0],ad=e,fm(fk(aa,ab,ac),ad)):"RemoveImmutable"===c?(f=d[0],g=fk(a,b,f),C(B(g,["~immutable"]),{},e)):"AddReadonly"===c?(h=d[0],H(fk(a,b,h),e)):"RemoveReadonly"===c?(i=d[0],bf(fk(a,b,i),e)):"AddOptional"===c?(j=d[0],I(fk(a,b,j),e)):"RemoveOptional"===c?(k=d[0],bg(fk(a,b,k),e)):"Capitalize"===c?(l=d[0],d8(fk(a,b,l),e)):"Conditional"===c?(m=d[0],n=d[1],o=d[2],p=d[3],ae=fk(a,b,m),af=fk(a,b,n),ee(a,b,ae,af,o,p,e)):"ConstructorParameters"===c?(q=d[0],eh(fk(a,b,q),e)):"Evaluate"===c?(r=d[0],s=fk(a,b,r),C(bq(s),{},e)):"Exclude"===c?(t=d[0],u=d[1],ek(fk(a,b,t),fk(a,b,u),e)):"Extract"===c?(v=d[0],w=d[1],en(fk(a,b,v),fk(a,b,w),e)):"Index"===c?(x=d[0],y=d[1],eD(fk(a,b,x),fk(a,b,y),e)):"InstanceType"===c?function(a,b,c,d={}){return eG(fk(a,b,c),d)}(a,b,d[0],e):"Interface"===c?(z=d[0],A=d[1],dx(fj(a,b,z),fh(a,b,A),e)):"KeyOf"===c?(D=d[0],eJ(fk(a,b,D),e)):"Lowercase"===c?(E=d[0],d9(fk(a,b,E),e)):"Mapped"===c?(G=d[0],J=d[1],K=d[2],L=d[3],ag=fk(a,b,J),eM(a,b,G,ag,K,L,e)):"Module"===c?eN(a,b,d[0],e):"NonNullable"===c?(M=d[0],eQ(fk(a,b,M),e)):"Pick"===c?(N=d[0],O=d[1],e1(fk(a,b,N),fk(a,b,O),e)):"Parameters"===c?(P=d[0],eX(fk(a,b,P),e)):"Partial"===c?(Q=d[0],e$(fk(a,b,Q),e)):"Omit"===c?(R=d[0],S=d[1],eU(fk(a,b,R),fk(a,b,S),e)):"ReadonlyObject"===c?(T=d[0],e5(fk(a,b,T),e)):"Record"===c?(U=d[0],V=d[1],bt(fk(a,b,U),fk(a,b,V),e)):"Required"===c?(W=d[0],e8(fk(a,b,W),e)):"ReturnType"===c?function(a,b,c,d={}){return fb(fk(a,b,c),d)}(a,b,d[0],e):"TemplateLiteral"===c?(X=d[0],c7(fj(a,b,X),e)):"Uncapitalize"===c?(Y=d[0],ea(fk(a,b,Y),e)):"Uppercase"===c?(Z=d[0],eb(fk(a,b,Z),e)):"With"===c?($=d[0],_=d[1],fe(fk(a,b,$),_)):F(c,d,e)}(a,b,c.action,c.parameters,c.options):function(a,b,c){var d;let e,f,g=R(c)?(d=c.$ref,b.visited.includes(d)?c:d in a?fk(a,ff(b.callstack,[...b.visited,d]),a[d]):c):K(c)?J(fk(a,b,c.items),L(c)):dW(c)?dT(a,b,c.target,c.arguments):N(c)?M(fj(a,b,c.parameters),fk(a,b,c.instanceType),B(c,["~kind","type","parameters","instanceType"])):P(c)?O(fj(a,b,c.parameters),fk(a,b,c.returnType),B(c,["~kind","type","parameters","returnType"])):am(c)?al(fk(a,b,c.if),fk(a,b,c.then),fk(a,b,c.else),B(c,["~kind","if","then","else"])):ar(c)?aq(fj(a,b,c.allOf),B(c,["~kind","allOf"])):ab(c)?aa(fh(a,b,c.properties),B(c,["~kind","type","properties","required"])):bD(c)?bc(bA(c),fk(a,b,bC(c))):bF(c)?bE(fk(a,b,c.items)):be(c)?bd(fi(a,b,c.items),B(c,["~kind","type","items","minItems","additionalItems"])):a7(c)?a6(fj(a,b,c.anyOf),B(c,["~kind","anyOf"])):c;return e=_(c)?I(g,{}):g,f=aH(c)?H(e,{}):e,aD(c)?fm(f,{}):f}(a,b,c)}function fl(a,b){return fk(a,ff([],[]),b)}function fm(a,b){return C(C(a,{"~immutable":!0},{}),{},b)}function fn(a,b={}){return fm(a,b)}function fo(a,b={}){return C(bq(a),{},b)}function fp(a,b={}){return eN({},ff([],[]),a,b)}function fq(...a){let b,[c,d,e]=ai(a,{2:(a,b)=>q(a)?[{},a,b]:[a,b,{}],3:(a,b,c)=>[a,b,c],1:a=>[{},a,{}]}),f=cg(cg(cg(cg(c5(b=d),([a,b])=>cg(cg(cg(cg(c5(b),([a,b])=>cg(c4(b),([b,c])=>cg(cg(c3(c),([a,b])=>[[a],b],()=>[[],c]),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cg([[],b],([a,b])=>[a,b],()=>[])),([a,b])=>[bN(a),b]),([b,c])=>[[a,b],c])),([a,b])=>[function(a){let[b,c]=[a[0],a[1]];return function(a,b={}){return F("Module",[a],b)}(y(b,bR(c)[0]))}(a),b]),([a,b])=>[a,b],()=>cg(cg(cg(cj(b),([a,b])=>cg(b7("=",b),([b,c])=>cg(cz(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[S(a[0],a[2]),b]),([a,b])=>[a,b],()=>cg(cz(b),([a,b])=>[a,b],()=>[]))),([a,b])=>[a,b]);return C(i(f)&&2===f.length?fk(c,ff([],[]),f[0]):W(),{},e)}}};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
exports.id=775,exports.ids=[775],exports.modules={4411:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{C7:()=>H,Om:()=>F,ZO:()=>E,d2:()=>G,zJ:()=>C});var e=c(31421),f=c(51455),g=c.n(f),h=c(76760),i=c.n(h),j=c(57975),k=c(77598),l=c(75430),m=c(65138),n=c(62433),o=c(87982),p=c(99951),q=a([l,n,o]);[l,n,o]=q.then?(await q)():q;let I=(0,j.promisify)(e.execFile),J=i().join((0,o.$M)(),"piweb-swarms"),K=new Map,L=new Map,M=new Map,N=new Set,O=new Map;function r(a){return structuredClone(a)}function s(a){if(!/^[0-9a-f-]{36}$/.test(a))throw new n.BV("invalid swarm id");return i().join(J,"jobs",`${a}.json`)}function t(a){let b=(M.get(a.id)??Promise.resolve()).catch(()=>void 0).then(async()=>{let b=s(a.id);await g().mkdir(i().dirname(b),{recursive:!0});let c=`${b}.${(0,k.randomUUID)()}.tmp`;await g().writeFile(c,JSON.stringify(a),"utf8"),await g().rename(c,b)});return M.set(a.id,b),b}async function u(a,b,c=4e6){return(await I("git",b,{cwd:a,timeout:3e4,maxBuffer:c,windowsHide:!0,env:{...process.env,GIT_OPTIONAL_LOCKS:"0",GIT_TERMINAL_PROMPT:"0"}})).stdout}function v(a,b){let c=(O.get(a)??Promise.resolve()).catch(()=>void 0).then(()=>u(a,b));return O.set(a,c.then(()=>void 0,()=>void 0)),c}async function w(a){let b=await (0,n.XI)(a),c=i().resolve((await u(b,["rev-parse","--show-toplevel"]).catch(()=>{throw new n.BV("workspace is not a Git repository")})).trim());if(!(0,n.CN)(c,b))throw new n.BV("invalid repository root");if(!(0,o.af)(c).trusted)throw new n.BV("trust this project before running swarm tasks");if(await u(c,["status","--porcelain","-z"]))throw new n.BV("commit or stash workspace changes before starting a swarm");return{cwd:b,root:c,base:(await u(c,["rev-parse","HEAD"])).trim()}}function x(a){let b="win32"===process.platform?a.toLowerCase().split(":")[0].replace(/[. ]+$/,""):a;return".git"===b||"node_modules"===b}function y(a,b){if(!(0,n.CN)(a,b))throw new n.BV("path escapes isolated worktree");if(i().relative(a,b).split(i().sep).some(x))throw new n.BV("protected worktree path")}async function z(a,b){if("string"!=typeof b||!b.trim()||b.length>4096)throw new n.BV("invalid file path");let c=i().resolve(a,b);y(a,c);let d=await g().realpath(a),e=c;for(;;){let a=await g().realpath(e).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(a){y(d,a);break}let b=i().dirname(e);if(b===e)throw new n.BV("invalid worktree path");e=b}return c}function A(a){return{content:[{type:"text",text:a}],details:void 0}}async function B(a,b,c){let d,e,f=a.tasks[b],h=i().join(J,"worktrees",a.id,String(b)),j=!1,k=!1;try{if(c.aborted||(f.status="running",await t(a),await g().mkdir(i().dirname(h),{recursive:!0}),await v(a.root,["worktree","add","--detach",h,a.base]),j=!0,c.aborted))throw Error("cancelled");let b=new l.DefaultResourceLoader({cwd:h,agentDir:(0,o.$M)(),settingsManager:(0,o.vT)(h),noExtensions:!0,noPromptTemplates:!0,noThemes:!0,appendSystemPrompt:["You are a PiWeb swarm worker in an isolated Git worktree. Use only swarm_* tools. Never access other directories. Make only the assigned changes, then report what changed and what you could not verify. Do not claim tests ran; no command execution is available."]});try{if(await (0,o.YW)(()=>b.reload()),c.aborted||(d=(await (0,l.createAgentSession)({cwd:h,agentDir:(0,o.$M)(),sessionManager:l.SessionManager.inMemory(h),modelRuntime:await (0,o.uU)(),settingsManager:(0,o.vT)(h),resourceLoader:b,tools:["swarm_read","swarm_list","swarm_search","swarm_edit","swarm_write"],customTools:[(0,l.defineTool)({name:"swarm_read",label:"Read isolated file",description:"Read a UTF-8 file inside this isolated worktree.",parameters:m.ZUJ.Object({path:m.ZUJ.String()}),async execute(a,b){let c=await z(h,b.path),d=await g().stat(c);if(!d.isFile()||d.size>2e5)throw new n.BV("file is not readable or is too large");return A(await g().readFile(c,"utf8"))}}),(0,l.defineTool)({name:"swarm_list",label:"List isolated directory",description:"List files and directories inside this isolated worktree.",parameters:m.ZUJ.Object({path:m.ZUJ.String()}),async execute(a,b){let c=await z(h,b.path),d=(await g().readdir(c,{withFileTypes:!0})).filter(a=>!x(a.name)).slice(0,200).map(a=>`${a.isDirectory()?"dir ":"file"} ${a.name}`);return A(d.join("\n")||"(empty)")}}),(0,l.defineTool)({name:"swarm_search",label:"Search isolated files",description:"Find a literal text string in tracked source files inside this isolated worktree.",parameters:m.ZUJ.Object({query:m.ZUJ.String(),path:m.ZUJ.Optional(m.ZUJ.String())}),async execute(a,b){if(!b.query||b.query.length>200)throw new n.BV("invalid search query");let c=await z(h,b.path||"."),d=[],e=0;async function f(a){if(!(e>=1e3)&&!(d.length>=100))for(let c of(await g().readdir(a,{withFileTypes:!0}))){if(x(c.name)||c.isSymbolicLink())continue;let j=await z(h,i().join(a,c.name));if(c.isDirectory())await f(j);else if(c.isFile()){if(e+=1,(await g().stat(j)).size>2e5)continue;(await g().readFile(j,"utf8")).split("\n").forEach((a,c)=>{d.length<100&&a.includes(b.query)&&d.push(`${i().relative(h,j)}:${c+1}: ${a.slice(0,300)}`)})}if(e>=1e3||d.length>=100)break}}let j=await g().stat(c);return j.isDirectory()?await f(c):j.isFile()&&(await g().readFile(c,"utf8")).split("\n").forEach((a,e)=>{d.length<100&&a.includes(b.query)&&d.push(`${i().relative(h,c)}:${e+1}: ${a.slice(0,300)}`)}),A(d.join("\n")||"No matches")}}),(0,l.defineTool)({name:"swarm_edit",label:"Edit isolated file",description:"Replace one exact, unique text occurrence in an isolated file.",executionMode:"sequential",parameters:m.ZUJ.Object({path:m.ZUJ.String(),oldText:m.ZUJ.String(),newText:m.ZUJ.String()}),async execute(a,b){let c=await z(h,b.path);if(!b.oldText||b.newText.length>2e5)throw new n.BV("invalid edit");let d=await g().stat(c);if(!d.isFile()||d.size>2e5)throw new n.BV("file is not editable or is too large");let e=await g().readFile(c,"utf8"),f=e.indexOf(b.oldText);if(f<0||e.indexOf(b.oldText,f+1)>=0)throw new n.BV("oldText must match exactly once");let j=e.slice(0,f)+b.newText+e.slice(f+b.oldText.length);if(Buffer.byteLength(j)>2e5)throw new n.BV("edited file is too large");return await g().writeFile(c,j,"utf8"),A(`Updated ${i().relative(h,c)}`)}}),(0,l.defineTool)({name:"swarm_write",label:"Write isolated file",description:"Create or replace a UTF-8 file inside this isolated worktree.",executionMode:"sequential",parameters:m.ZUJ.Object({path:m.ZUJ.String(),content:m.ZUJ.String()}),async execute(a,b){if(Buffer.byteLength(b.content)>2e5)throw new n.BV("file is too large");let c=await z(h,b.path);return await g().mkdir(i().dirname(c),{recursive:!0}),await g().writeFile(c,b.content,"utf8"),A(`Wrote ${i().relative(h,c)}`)}})]})).session,c.aborted))throw Error("cancelled");let a=()=>{d?.abort().catch(()=>void 0)};c.addEventListener("abort",a,{once:!0}),e=setTimeout(()=>{k=!0,a()},6e5);try{await d.prompt(`${f.title}
|
|
2
|
+
|
|
3
|
+
${f.instruction}`,{source:"rpc",expandPromptTemplates:!1})}finally{c.removeEventListener("abort",a)}if(k)throw Error("task timed out after ten minutes");if(c.aborted)throw Error("cancelled");f.report=function(a){let b=[...a.messages].reverse().find(a=>"assistant"===a.role);if(!b||"assistant"!==b.role)throw Error("agent returned no assistant response");if("stop"!==b.stopReason)throw Error(b.errorMessage||`agent stopped: ${b.stopReason}`);return b.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n").slice(0,2e4)}(d),await u(h,["add","-N","--","."]);let j=await u(h,["diff","--binary","HEAD","--","."],2001024);if(Buffer.byteLength(j)>2e6)throw Error("patch exceeds 2 MB limit");f.patch=j,f.status="completed"}finally{d?.dispose(),b.getExtensions().runtime.invalidate()}}catch(a){f.status=c.aborted?"cancelled":"failed",f.error=String(a?.stderr||a?.message||a).trim().slice(0,1e3)}finally{e&&clearTimeout(e),j&&await v(a.root,["worktree","remove","--force",h]).catch(()=>void 0),(0,n.CN)(i().join(J,"worktrees"),h)&&await g().rm(h,{recursive:!0,force:!0}).catch(()=>void 0),await t(a)}}async function C(a,b){let c=(0,p.Nd)("swarm");try{return await D(a,b,c)}catch(a){throw c(),a}}async function D(a,b,c){let d=function(a){if(!Array.isArray(a)||a.length<1||a.length>3)throw new n.BV("provide one to three tasks");return a.map(a=>{let b=a?.title,c=a?.instruction;if("string"!=typeof b||!b.trim()||b.length>80||"string"!=typeof c||!c.trim()||c.length>4e3)throw new n.BV("invalid swarm task");return{title:b.trim(),instruction:c.trim()}})}(b),{cwd:e,root:f,base:g}=await w(a);if([...K.values()].some(a=>(0,n.Eb)(a.root,f)&&"running"===a.status))throw new n.BV("a swarm is already running for this repository");let h={id:(0,k.randomUUID)(),cwd:e,root:f,base:g,status:"running",createdAt:Date.now(),tasks:d.map(a=>({...a,status:"pending"}))};K.set(h.id,h);let i=new AbortController;L.set(h.id,i);try{await t(h)}catch(a){throw L.delete(h.id),K.delete(h.id),a}return Promise.all(h.tasks.map((a,b)=>B(h,b,i.signal))).then(async()=>{h.status=i.signal.aborted?"cancelled":h.tasks.every(a=>"completed"===a.status)?"completed":"failed",h.finishedAt=Date.now(),L.delete(h.id),await t(h)}).catch(async()=>{h.status="failed",h.finishedAt=Date.now(),L.delete(h.id),await t(h).catch(()=>void 0)}).finally(c),r(h)}async function E(a){let b=K.get(a);if(b)return r(b);let c=await g().readFile(s(a),"utf8").catch(()=>{throw new n.BV("swarm not found")}),d=JSON.parse(c);return"running"===d.status&&(d.status="interrupted"),r(d)}async function F(a){let b=await (0,n.XI)(a),c=await g().readdir(i().join(J,"jobs")).catch(()=>[]);return(await Promise.all(c.filter(a=>/^[0-9a-f-]{36}\.json$/.test(a)).map(a=>E(a.slice(0,-5)).catch(()=>null)))).filter(a=>!!a&&(0,n.Eb)(a.cwd,b)).sort((a,b)=>b.createdAt-a.createdAt).slice(0,20)}async function G(a,b){let c=await E(a),d=await (0,n.XI)(b);if(!(0,n.Eb)(c.cwd,d))throw new n.BV("swarm belongs to another workspace");let e=L.get(a);if(!e||"running"!==c.status)throw new n.BV("swarm is not running");return e.abort(),E(a)}async function H(a,b,c){let d=K.get(a)??await E(a),e=await (0,n.XI)(c);if(!(0,n.Eb)(d.cwd,e))throw new n.BV("swarm belongs to another workspace");if("running"===d.status)throw new n.BV("wait for all swarm tasks to finish before accepting changes");if(!(0,o.af)(d.root).trusted)throw new n.BV("trust this project before accepting changes");if(!Number.isInteger(b)||b<0||b>=d.tasks.length)throw new n.BV("invalid task index");let f=d.tasks[b];if("completed"!==f.status||!f.patch||f.accepted)throw new n.BV("task has no unapplied patch");if(N.has(d.root))throw new n.BV("another patch is being accepted");N.add(d.root);let h=i().join(J,`accept-${(0,k.randomUUID)()}.patch`);try{if((await u(d.root,["rev-parse","HEAD"])).trim()!==d.base)throw new n.BV("repository HEAD changed; review the patch again before applying");return await g().mkdir(J,{recursive:!0}),await g().writeFile(h,f.patch,"utf8"),await u(d.root,["apply","--check","--binary",h]),await u(d.root,["apply","--binary",h]),f.accepted=!0,K.set(a,d),await t(d),r(d)}finally{N.delete(d.root),(0,n.CN)(J,h)&&await g().rm(h,{force:!0}).catch(()=>void 0)}}d()}catch(a){d(a)}})},62433:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{BV:()=>q,CN:()=>l,Eb:()=>o,XI:()=>n,gS:()=>p,os:()=>m});var e=c(51455),f=c.n(e),g=c(76760),h=c.n(g),i=c(87982),j=a([i]);i=(j.then?(await j)():j)[0];class q extends Error{constructor(a){super(a),this.name="BoundaryError"}}function k(a){let b=h().resolve(a);return"win32"===process.platform?b.toLowerCase():b}function l(a,b){let c=h().relative(k(a),k(b));return""===c||!c.startsWith("..")&&!h().isAbsolute(c)}async function m(a,b){if(!(0,i.Sd)(a))throw new q("invalid session id");let c=(0,i.Gg)(a);if(!h().isAbsolute(c)||".jsonl"!==h().extname(c).toLowerCase())throw new q("invalid session path");let d=h().join((0,i.$M)(),"sessions"),e=await f().realpath(d).catch(()=>h().resolve(d));if(!l(e,h().resolve(c)))throw new q("session path is outside the Pi session store");if(b?.allowPending){let a=await f().realpath(c).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(!a){let a=h().dirname(c);for(;l(d,a);){let b=await f().realpath(a).catch(a=>{if("ENOENT"===a.code)return null;throw a});if(b){if(!l(e,b))throw new q("session path escapes the Pi session store");return c}if(o(a,d))break;a=h().dirname(a)}throw new q("session store not found")}if(!l(e,a))throw new q("session path escapes the Pi session store");return c}let g=await f().realpath(c).catch(()=>{throw new q("session not found")});if(!l(e,g))throw new q("session path escapes the Pi session store");if(!(await f().stat(g)).isFile())throw new q("session is not a file");return g}async function n(a){if("string"!=typeof a||0===a.trim().length||a.length>4096)throw new q("invalid workspace path");let b=await f().realpath(h().resolve(a.trim())).catch(()=>{throw new q("workspace not found")});if(!(await f().stat(b)).isDirectory())throw new q("workspace is not a directory");return b}function o(a,b){return k(a)===k(b)}async function p(a,b){if("string"!=typeof a||!h().isAbsolute(a)||a.length>4096)throw new q("invalid resource path");let c=await f().realpath(a).catch(()=>{throw new q("resource not found")});for(let a of b){if(!a)continue;let b=await f().realpath(a).catch(()=>null);if(b&&o(c,b))return c}throw new q("resource is not part of the discovered Pi configuration")}d()}catch(a){d(a)}})},78335:()=>{},87982:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>i.getAgentDir,Ax:()=>Q,BW:()=>D,Cv:()=>i.SessionManager,Dc:()=>z,Df:()=>x,Ec:()=>w,G1:()=>J,Gg:()=>H,QR:()=>F,Sd:()=>I,X1:()=>E,YW:()=>r,Yb:()=>t,af:()=>n,az:()=>i.createAgentSession,fm:()=>p,jz:()=>A,rC:()=>l,uU:()=>k,v9:()=>B,vT:()=>q,wK:()=>o,wj:()=>G,xD:()=>C,ye:()=>u});var e=c(76760),f=c.n(e),g=c(73024),h=c.n(g),i=c(75430),j=a([i]);i=(j.then?(await j)():j)[0],process.env.PYTHONUTF8??="1",process.env.PYTHONIOENCODING??="utf-8";let K=null;function k(){return K||(K=i.ModelRuntime.create().catch(a=>{throw K=null,a})),K}function l(){K=null}let L=new Map,M=null;function m(){return M||(M=new i.ProjectTrustStore((0,i.getAgentDir)())),M}function n(a){let b=f().resolve(a),c=!1;try{c=(0,i.hasTrustRequiringProjectResources)(b)}catch{c=!1}if(!c)return{required:!1,trusted:!0,source:"not-required"};let d=m().get(b);if(null!==d)return{required:!0,trusted:d,source:"remembered"};let e=function(){try{let a=JSON.parse(h().readFileSync(f().join((0,i.getAgentDir)(),"settings.json"),"utf8"));return"always"===a.defaultProjectTrust||"never"===a.defaultProjectTrust?a.defaultProjectTrust:"ask"}catch{return"ask"}}();return"always"===e?{required:!0,trusted:!0,source:"default-always"}:"never"===e?{required:!0,trusted:!1,source:"default-never"}:{required:!0,trusted:!1,source:"undecided"}}function o(a,b){let c=f().resolve(a);m().set(c,b);let d=n(c),e="win32"===process.platform?c.toLowerCase():c,g=L.get(e);return g&&g.setProjectTrusted(d.trusted),d}function p(){for(let[a,b]of(M=null,L))try{b.setProjectTrusted(n(a).trusted)}catch{}}function q(a){let b=f().resolve(a),c="win32"===process.platform?b.toLowerCase():b,d=L.get(c);return d||(d=i.SettingsManager.create(b,(0,i.getAgentDir)(),{projectTrusted:n(b).trusted}),L.set(c,d)),d}let N=new Map,O=Promise.resolve();function r(a){let b=O.then(a,a);return O=b.then(()=>void 0,()=>void 0),b}function s(a){let b=f().resolve(a);return"win32"===process.platform?b.toLowerCase():b}async function t(a,b=[]){let c=q(a);c.setProjectTrusted(n(a).trusted);let d=new i.DefaultResourceLoader({cwd:f().resolve(a),agentDir:(0,i.getAgentDir)(),settingsManager:c,extensionFactories:b}),e=d.reload.bind(d);d.reload=async b=>{c.setProjectTrusted(n(a).trusted),await e(b)};try{return await r(()=>d.reload()),d}catch(a){throw d.getExtensions().runtime.invalidate(),a}}function u(a){let b=s(a),c=N.get(b);return c||(c={loader:new i.DefaultResourceLoader({cwd:f().resolve(a),agentDir:(0,i.getAgentDir)(),settingsManager:q(a)}),ready:Promise.resolve(),version:0,fingerprint:""},N.set(b,c),v(a,c)),c.loader}function v(a,b){let c=r(async()=>{q(a).setProjectTrusted(n(a).trusted),b.loader.getExtensions().runtime.invalidate();let c=y(a);await b.loader.reload(),b.fingerprint=c,b.version+=1});return b.ready=c,c.catch(()=>void 0),c}function w(a){return N.get(s(a))?.version??0}async function x(a){u(a),await N.get(s(a)).ready}function y(a){let b,c,d=[String(n(a).trusted)],e=(a,b)=>{try{let c=h().statSync(a);if(d.push(`${a}:${c.mtimeMs}:${c.ctimeMs}:${c.size}`),c.isDirectory()&&b<2)for(let c of h().readdirSync(a,{withFileTypes:!0}).sort((a,b)=>a.name.localeCompare(b.name)))"node_modules"!==c.name&&e(f().join(a,c.name),b+1)}catch{d.push(`${a}:missing`)}};for(let d of(b=(0,i.getAgentDir)(),c=f().join(f().resolve(a),".pi"),[f().join(b,"prompts"),f().join(b,"skills"),f().join(b,"extensions"),f().join(c,"prompts"),f().join(c,"skills"),f().join(c,"extensions")]))e(d,0);for(let b of[f().join((0,i.getAgentDir)(),"settings.json"),f().join(a,".pi","settings.json")])e(b,2);return d.join("\n")}function z(a){let b=N.get(s(a));return!b||y(a)!==b.fingerprint}async function A(a){await x(a);let b=N.get(s(a));return!!b&&y(a)!==b.fingerprint&&(await C(a),!0)}function B(a){return N.get(s(a))?.loader}async function C(a){let b=N.get(s(a));b?await v(a,b):await x(a)}async function D(){for(let a of L.values())try{await a.reload()}catch{}}async function E(){for(let a of L.values())try{await a.reload()}catch{}P.clear();let a=[];for(let[b,c]of N)try{await v(b,c),a.push(b)}catch{}return a}let P=new Map;function F(a){let b=f().resolve(a),c="win32"===process.platform?b.toLowerCase():b,d=P.get(c);return d||(d=new i.DefaultPackageManager({cwd:b,agentDir:(0,i.getAgentDir)(),settingsManager:q(b)}),P.set(c,d)),d}function G(a){return Buffer.from(a,"utf8").toString("base64url")}function H(a){return Buffer.from(a,"base64url").toString("utf8")}function I(a){return/^[A-Za-z0-9_-]+$/.test(a)&&a.length>8}function J(a){return i.SessionManager.open(a)}let Q={readonly:["read","grep","find","ls"],standard:["read","grep","find","ls","bash","edit","write"],full:[]};d()}catch(a){d(a)}})},96487:()=>{},99951:(a,b,c)=>{"use strict";c.d(b,{Fw:()=>h,Nd:()=>g,iC:()=>f});let d=globalThis,e=d.__piwebRuntimeActivity??={active:new Map,maintenance:!1};class f extends Error{}function g(a){if(e.maintenance)throw new f("update maintenance is active; wait for the release to finish");let b=Symbol(a);return e.active.set(b,a),()=>{e.active.delete(b)}}function h(){if(e.maintenance||e.active.size)throw new f("work is active; wait for sessions, swarms and tests to finish before entering the maintenance window");e.maintenance=!0;let a=!1;return()=>{a||(e.maintenance=!1),a=!0}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/0t1jBUAuVaTFTXxRyIo3q/_buildManifest.js","static/0t1jBUAuVaTFTXxRyIo3q/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d1a69ad9edb38b11.js","static/chunks/4bd1b696-93bf506b236d6248.js","static/chunks/3794-3679f1c05160977c.js","static/chunks/main-app-e9b53f0e1c6591b2.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__REACT_LOADABLE_MANIFEST='{"components/AppShell.tsx -> @/components/FileViewer":{"id":2716,"files":["static/chunks/2155.2f27fe7098987699.js","static/chunks/2716.
|
|
1
|
+
self.__REACT_LOADABLE_MANIFEST='{"components/AppShell.tsx -> @/components/FileViewer":{"id":2716,"files":["static/chunks/2155.2f27fe7098987699.js","static/chunks/2716.4ec42df1d51354c9.js"]},"components/AppShell.tsx -> @/components/GitPanel":{"id":2608,"files":["static/chunks/2608.43c58236c9cce8e6.js"]},"components/AppShell.tsx -> @/components/ProjectPanel":{"id":4673,"files":["static/chunks/2155.2f27fe7098987699.js","static/chunks/4673.7796104395deb8d7.js"]},"components/AppShell.tsx -> @/components/SettingsPanel":{"id":4632,"files":["static/css/2959bd6b626b7ffe.css","static/chunks/4632.62139b565b657aac.js"]},"components/AppShell.tsx -> @/components/SwarmCoordinatorPod":{"id":7577,"files":["static/chunks/7577.10af9bb661652da8.js"]},"components/AppShell.tsx -> @/components/TestInspectorPod":{"id":8866,"files":["static/chunks/8866.38ec4ac4ee5a1b74.js"]},"components/AppShell.tsx -> @/components/TrajectoryView":{"id":618,"files":["static/css/08815507594e8b8d.css","static/chunks/618.ee5d5bf1c647e483.js"]}}';
|