@namzu/cli 38.2.0 → 39.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +111 -50
- package/dist/bin.js +1 -1
- package/dist/chunks/{acp-JU4DX3RK.js → acp-NZITIX4C.js} +40 -37
- package/dist/chunks/acp-NZITIX4C.js.map +6 -0
- package/dist/chunks/{activity-command-TERANSMO.js → activity-command-NKOTZ5FK.js} +11 -11
- package/dist/chunks/{add-MZ6KIHY3.js → add-AONYUNXG.js} +17 -17
- package/dist/chunks/{agent-JZFFS4IP.js → agent-YPKFE66C.js} +29 -28
- package/dist/chunks/agent-session-HFOLAFFL.js +53 -0
- package/dist/chunks/{archive-SXYHKL3H.js → archive-SUE5OUZZ.js} +9 -9
- package/dist/chunks/{bin-main-TFKZQ7NF.js → bin-main-55PUHGTA.js} +3 -3
- package/dist/chunks/{browser-3U3YBKL6.js → browser-HYPSUDAZ.js} +6 -6
- package/dist/chunks/{chat-37QA7HHN.js → chat-6OULID33.js} +14 -14
- package/dist/chunks/{chunk-7S5UB6DX.js → chunk-233DQVSC.js} +6 -6
- package/dist/chunks/{chunk-D5SIC3SF.js → chunk-263WNQB4.js} +9 -9
- package/dist/chunks/{chunk-XKEMUEI5.js → chunk-2KKF45DQ.js} +2 -2
- package/dist/chunks/{chunk-N57QO3AA.js → chunk-2VMMTC2V.js} +2 -2
- package/dist/chunks/{chunk-KUNQW3N3.js → chunk-2WQFRVVQ.js} +4 -4
- package/dist/chunks/{chunk-FOGCQUIH.js → chunk-3JB5NDB4.js} +11 -23
- package/dist/chunks/chunk-3JB5NDB4.js.map +6 -0
- package/dist/chunks/{chunk-LPYWPRIF.js → chunk-3OAGXDRM.js} +4 -4
- package/dist/chunks/{chunk-CDZT7WGY.js → chunk-47TGPZWD.js} +3 -3
- package/dist/chunks/{chunk-IG4O4UAL.js → chunk-4K2NRXHJ.js} +2 -2
- package/dist/chunks/{chunk-2SVXX5QK.js → chunk-5CGH647C.js} +5 -5
- package/dist/chunks/{chunk-ZJHOWWXZ.js → chunk-74U3P65Q.js} +12 -12
- package/dist/chunks/{chunk-ZJMUPGWD.js → chunk-7EASYULO.js} +8 -8
- package/dist/chunks/{chunk-KG2YA6TI.js → chunk-7YXHOSHD.js} +3 -3
- package/dist/chunks/{chunk-EKMOETAY.js → chunk-AZ3YHVFA.js} +2 -2
- package/dist/chunks/{chunk-7O4X4GYL.js → chunk-B2357ETN.js} +7 -7
- package/dist/chunks/{chunk-TCXFKEYW.js → chunk-B73OIFL6.js} +4 -4
- package/dist/chunks/{chunk-TCXFKEYW.js.map → chunk-B73OIFL6.js.map} +1 -1
- package/dist/chunks/{chunk-XIURI2PQ.js → chunk-BEFTUDYP.js} +7 -7
- package/dist/chunks/chunk-CDYUGK7F.js +70 -0
- package/dist/chunks/chunk-CDYUGK7F.js.map +6 -0
- package/dist/chunks/{chunk-DQICYFIG.js → chunk-CL5TCY4F.js} +2 -2
- package/dist/chunks/{chunk-5G3VKTLZ.js → chunk-CUOWARJI.js} +2 -2
- package/dist/chunks/{chunk-WLHI2QSC.js → chunk-CZEU2JYJ.js} +3 -3
- package/dist/chunks/{chunk-WLHI2QSC.js.map → chunk-CZEU2JYJ.js.map} +1 -1
- package/dist/chunks/{chunk-M2EJQU3F.js → chunk-DFA5OB46.js} +4 -4
- package/dist/chunks/{chunk-B5344NIV.js → chunk-E3HCZYGN.js} +3 -3
- package/dist/chunks/{chunk-Z4LTK3HY.js → chunk-EA6SWPO4.js} +4 -4
- package/dist/chunks/{chunk-XNHYUV6G.js → chunk-EUU4TDTH.js} +2 -2
- package/dist/chunks/{chunk-VFBIR3UC.js → chunk-FBNKKDIY.js} +4 -4
- package/dist/chunks/{chunk-PETRJVXF.js → chunk-FQZFVLJB.js} +4 -4
- package/dist/chunks/{chunk-FMJCN6JZ.js → chunk-GU5YARBU.js} +90 -6
- package/dist/chunks/chunk-GU5YARBU.js.map +6 -0
- package/dist/chunks/{chunk-5PDW6VPO.js → chunk-HI2KXIGA.js} +3 -3
- package/dist/chunks/{chunk-LC5VGZO2.js → chunk-HU35YAIZ.js} +2 -2
- package/dist/chunks/{chunk-S5U4BG57.js → chunk-HV77F4SF.js} +3 -52
- package/dist/chunks/chunk-HV77F4SF.js.map +6 -0
- package/dist/chunks/{chunk-2UT6U22B.js → chunk-IAYIUJMI.js} +2 -2
- package/dist/chunks/{chunk-6A7P3I3N.js → chunk-ID334ALD.js} +29 -28
- package/dist/chunks/{chunk-6A7P3I3N.js.map → chunk-ID334ALD.js.map} +1 -1
- package/dist/chunks/{chunk-U3JIZFOS.js → chunk-IE5XIE4W.js} +2 -2
- package/dist/chunks/{chunk-2UUBILYI.js → chunk-II57E2QW.js} +4 -4
- package/dist/chunks/{chunk-CZVHXYGD.js → chunk-IYPP6HSK.js} +4 -32
- package/dist/chunks/chunk-IYPP6HSK.js.map +6 -0
- package/dist/chunks/{chunk-OA5772RG.js → chunk-LFVQSMJG.js} +4 -4
- package/dist/chunks/{chunk-2WHVZCLT.js → chunk-M3TJHQF7.js} +18 -2
- package/dist/chunks/{chunk-2WHVZCLT.js.map → chunk-M3TJHQF7.js.map} +1 -1
- package/dist/chunks/{chunk-U75JG2RT.js → chunk-MCNEFI5Q.js} +2 -2
- package/dist/chunks/{chunk-JN6M424Z.js → chunk-N3FI7O4U.js} +2 -2
- package/dist/chunks/{chunk-3NIZKJJG.js → chunk-N72DH6D5.js} +2 -2
- package/dist/chunks/{chunk-V2VHVH5S.js → chunk-NLKIBRXJ.js} +3 -3
- package/dist/chunks/{chunk-LBPM46OY.js → chunk-OLOTFDTU.js} +2 -2
- package/dist/chunks/{chunk-LLZ32DHS.js → chunk-OXJEMOBQ.js} +860 -253
- package/dist/chunks/chunk-OXJEMOBQ.js.map +6 -0
- package/dist/chunks/{chunk-7MLTWXEW.js → chunk-P2Y4LUPJ.js} +2 -2
- package/dist/chunks/{chunk-KONWJQLM.js → chunk-QNF6COCY.js} +2 -2
- package/dist/chunks/{chunk-TNTP3CNT.js → chunk-QO5JUKFG.js} +2 -2
- package/dist/chunks/{chunk-GTXD263T.js → chunk-RB36O3CE.js} +2 -2
- package/dist/chunks/{chunk-A64X23MU.js → chunk-RQBT4RVE.js} +401 -56
- package/dist/chunks/chunk-RQBT4RVE.js.map +6 -0
- package/dist/chunks/{chunk-LH6J5QQ7.js → chunk-SBPCN24X.js} +2 -2
- package/dist/chunks/{chunk-CK4TOW2N.js → chunk-SIK62TDI.js} +2 -2
- package/dist/chunks/{chunk-XEOZYKPJ.js → chunk-T75ITEN6.js} +3 -3
- package/dist/chunks/{chunk-2T7TZDUE.js → chunk-TJTRVZFN.js} +2 -2
- package/dist/chunks/{chunk-AHVF22PV.js → chunk-UBOPUGDN.js} +5 -5
- package/dist/chunks/{chunk-UQZNYNX7.js → chunk-UIDLXA2K.js} +2 -2
- package/dist/chunks/{chunk-FI7TIM5P.js → chunk-UTMGJDC3.js} +2 -2
- package/dist/chunks/{chunk-CLIP7QVU.js → chunk-UUUNXKL3.js} +3 -3
- package/dist/chunks/{chunk-EUHPTASG.js → chunk-UZCA37QE.js} +2 -2
- package/dist/chunks/{chunk-Z56MZ7UW.js → chunk-W27ZDC4R.js} +4 -4
- package/dist/chunks/{chunk-ICBHR27I.js → chunk-XEHLRJXR.js} +16 -13
- package/dist/chunks/{chunk-ICBHR27I.js.map → chunk-XEHLRJXR.js.map} +1 -1
- package/dist/chunks/{chunk-HOOY63EB.js → chunk-XJ4IUCH6.js} +15 -15
- package/dist/chunks/{chunk-Q6SF7T77.js → chunk-YKEPC6NH.js} +3 -3
- package/dist/chunks/{chunk-3PBSWF6X.js → chunk-Z7XA4Y43.js} +3 -3
- package/dist/chunks/{cli-runtime-PRG53LL6.js → cli-runtime-G3FHYTCI.js} +13 -13
- package/dist/chunks/{commands-QMF4AHAY.js → commands-TIRZH2TK.js} +5 -5
- package/dist/chunks/{crash-report-BSZ6SUOF.js → crash-report-E4J7KQ32.js} +6 -6
- package/dist/chunks/{dist-HRWBXBF3.js → dist-2IUQEIEI.js} +2 -2
- package/dist/chunks/{dist-GNI4DIHI.js → dist-2U6NNEPY.js} +3 -3
- package/dist/chunks/{dist-QSOTJL6Z.js → dist-CVDGKJEI.js} +2 -2
- package/dist/chunks/{dist-JDUOF4K7.js → dist-MKQZKCB4.js} +2 -2
- package/dist/chunks/{dist-MYWLKPXK.js → dist-QCKKBLDW.js} +2 -2
- package/dist/chunks/{dist-SO6XBKFN.js → dist-QHKTYYMX.js} +2 -2
- package/dist/chunks/{dist-XDA5OMB2.js → dist-YX7Q3EJR.js} +3 -3
- package/dist/chunks/{doctor-5MS7V3JB.js → doctor-ASXICRC5.js} +10 -10
- package/dist/chunks/{drain-YGGEC4UE.js → drain-CGS3KBU3.js} +10 -10
- package/dist/chunks/{eval-GWP6MISH.js → eval-XWC3UCFI.js} +2 -2
- package/dist/chunks/{exec-YDIFQY7C.js → exec-FOUQBA6I.js} +42 -30
- package/dist/chunks/{exec-YDIFQY7C.js.map → exec-FOUQBA6I.js.map} +1 -1
- package/dist/chunks/{home-IZ2H7PM3.js → home-76YLI2M6.js} +3 -3
- package/dist/chunks/{host-queries-UCVJBJXU.js → host-queries-ODUQHYBN.js} +14 -14
- package/dist/chunks/{lifecycle-U52Z5ZMZ.js → lifecycle-JN43XQSS.js} +25 -25
- package/dist/chunks/{list-SVKI2XOL.js → list-TC7TYJDR.js} +11 -11
- package/dist/chunks/{login-MNDG4XIT.js → login-CTC6CAM4.js} +10 -10
- package/dist/chunks/{logs-M7RCXYPY.js → logs-2NGJFIQI.js} +4 -4
- package/dist/chunks/{mcp-KEQMYKDA.js → mcp-BPH7KWZ6.js} +18 -18
- package/dist/chunks/{message-command-FZ6VEUK5.js → message-command-A4XU7QQQ.js} +35 -34
- package/dist/chunks/message-command-A4XU7QQQ.js.map +6 -0
- package/dist/chunks/{operator-tools-C57ZIYRG.js → operator-tools-6RYAHVSL.js} +12 -12
- package/dist/chunks/{output-schema-IYQRSIUA.js → output-schema-GSWZHKSI.js} +3 -3
- package/dist/chunks/{pal-NXMTLY6Z.js → pal-4QXXG42H.js} +13 -13
- package/dist/chunks/{providers-TZBRQDXE.js → providers-6PIIF3WR.js} +8 -8
- package/dist/chunks/{resident-DBIZBLOV.js → resident-UP7W6MV6.js} +20 -20
- package/dist/chunks/resume-GJHTPMJS.js +22 -0
- package/dist/chunks/{resume-command-36S3HXPO.js → resume-command-2RFT7AGW.js} +4 -4
- package/dist/chunks/{schedule-UR54S44B.js → schedule-FZISVF6A.js} +8 -8
- package/dist/chunks/{service-VMXEAJCI.js → service-4WADXOUI.js} +24 -24
- package/dist/chunks/session-step-FX6B4TSE.js +29 -0
- package/dist/chunks/{skills-RXYS26H3.js → skills-BJQGVQ23.js} +8 -8
- package/dist/chunks/{state-NS47IVWW.js → state-2KKVQPZ2.js} +2 -2
- package/dist/chunks/{store-3U2GZAZS.js → store-LO4SSRYI.js} +9 -9
- package/dist/chunks/{store-TO65IAIZ.js → store-TKJKR5NM.js} +6 -6
- package/dist/chunks/{store-GNFHH2LZ.js → store-YFTJ24WU.js} +4 -4
- package/dist/chunks/{tui-STU5UZBC.js → tui-HA3JIVON.js} +1802 -1076
- package/dist/chunks/tui-HA3JIVON.js.map +6 -0
- package/dist/chunks/{upgrade-USIXROFG.js → upgrade-3QLPPCII.js} +4 -3
- package/dist/chunks/upgrade-3QLPPCII.js.map +6 -0
- package/dist/chunks/{worktree-AYI5VJ5H.js → worktree-3HYAYSGW.js} +11 -11
- package/dist/cli.d.ts.map +1 -1
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/desktop-model-catalogue.d.ts +1 -1
- package/dist/commands/exec-json.d.ts.map +1 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/resume.d.ts +1 -1
- package/dist/config/load.d.ts +1 -2
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/schema.d.ts +20 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/context/doctrine.d.ts +4 -4
- package/dist/context/doctrine.d.ts.map +1 -1
- package/dist/index.js +14 -14
- package/dist/integrations/harness/codex-protocol.d.ts +1 -1
- package/dist/integrations/harness/codex-protocol.d.ts.map +1 -1
- package/dist/integrations/mcp/tool-search.d.ts +3 -4
- package/dist/integrations/mcp/tool-search.d.ts.map +1 -1
- package/dist/integrations/notifications/idle.d.ts +2 -2
- package/dist/integrations/notifications/idle.d.ts.map +1 -1
- package/dist/integrations/providers/identity.d.ts +1 -1
- package/dist/integrations/resident/runner-worker.js +20 -20
- package/dist/integrations/subagents/activity.d.ts +4 -0
- package/dist/integrations/subagents/activity.d.ts.map +1 -1
- package/dist/integrations/subagents/label-ledger.d.ts +2 -3
- package/dist/integrations/subagents/label-ledger.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +40 -6
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/workflow-assignment.d.ts +13 -0
- package/dist/integrations/subagents/workflow-assignment.d.ts.map +1 -0
- package/dist/integrations/workflows/doctrine.d.ts +4 -3
- package/dist/integrations/workflows/doctrine.d.ts.map +1 -1
- package/dist/integrations/workflows/host.d.ts +5 -0
- package/dist/integrations/workflows/host.d.ts.map +1 -1
- package/dist/integrations/workflows/offering.d.ts +9 -27
- package/dist/integrations/workflows/offering.d.ts.map +1 -1
- package/dist/integrations/workflows/size.d.ts +51 -0
- package/dist/integrations/workflows/size.d.ts.map +1 -0
- package/dist/permissions/live-mode.d.ts +1 -2
- package/dist/permissions/live-mode.d.ts.map +1 -1
- package/dist/permissions/local-settings.d.ts +4 -4
- package/dist/permissions/mode.d.ts +1 -1
- package/dist/permissions/rules.d.ts +1 -2
- package/dist/permissions/rules.d.ts.map +1 -1
- package/dist/permissions/session-allow.d.ts +12 -12
- package/dist/permissions/session-allow.d.ts.map +1 -1
- package/dist/plan/approval.d.ts +1 -2
- package/dist/plan/approval.d.ts.map +1 -1
- package/dist/reminders/frame.d.ts +1 -1
- package/dist/reminders/frame.d.ts.map +1 -1
- package/dist/reminders/hypermode.d.ts +31 -0
- package/dist/reminders/hypermode.d.ts.map +1 -0
- package/dist/reminders/index.d.ts +7 -1
- package/dist/reminders/index.d.ts.map +1 -1
- package/dist/reminders/plan-mode.d.ts +1 -1
- package/dist/reminders/task-nudge.d.ts +1 -1
- package/dist/schedule/fire/fire.d.ts.map +1 -1
- package/dist/tui/AgentExplorer.d.ts +25 -6
- package/dist/tui/AgentExplorer.d.ts.map +1 -1
- package/dist/tui/App.d.ts +10 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/BackgroundAgentRows.d.ts +13 -0
- package/dist/tui/BackgroundAgentRows.d.ts.map +1 -0
- package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/Composer.d.ts +8 -4
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/ComposerFrame.d.ts +1 -1
- package/dist/tui/EffortSlider.d.ts +4 -4
- package/dist/tui/EffortSlider.d.ts.map +1 -1
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/PendingInputPanel.d.ts +1 -1
- package/dist/tui/PendingInputPanel.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts +1 -1
- package/dist/tui/PlanApprovalOverlay.d.ts +2 -2
- package/dist/tui/QuestionDialog.d.ts +1 -1
- package/dist/tui/StatusBar.d.ts +6 -3
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/Transcript.d.ts +5 -6
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/agent-stop-all.d.ts +11 -0
- package/dist/tui/agent-stop-all.d.ts.map +1 -1
- package/dist/tui/agent-transcript-rows.d.ts +28 -15
- package/dist/tui/agent-transcript-rows.d.ts.map +1 -1
- package/dist/tui/agent-view-commands.d.ts +3 -5
- package/dist/tui/agent-view-commands.d.ts.map +1 -1
- package/dist/tui/agent.d.ts +26 -12
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/background-agents.d.ts +46 -0
- package/dist/tui/background-agents.d.ts.map +1 -0
- package/dist/tui/choice-selection.d.ts +3 -1
- package/dist/tui/choice-selection.d.ts.map +1 -1
- package/dist/tui/composer-hints.d.ts +26 -0
- package/dist/tui/composer-hints.d.ts.map +1 -0
- package/dist/tui/context-meter.d.ts +1 -1
- package/dist/tui/diff-rows.d.ts +30 -18
- package/dist/tui/diff-rows.d.ts.map +1 -1
- package/dist/tui/diff-view.d.ts +99 -0
- package/dist/tui/diff-view.d.ts.map +1 -0
- package/dist/tui/hint-counts.d.ts +7 -0
- package/dist/tui/hint-counts.d.ts.map +1 -0
- package/dist/tui/hypermode.d.ts +20 -26
- package/dist/tui/hypermode.d.ts.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/live-window.d.ts +1 -1
- package/dist/tui/live-window.d.ts.map +1 -1
- package/dist/tui/markdown-table.d.ts +1 -2
- package/dist/tui/markdown-table.d.ts.map +1 -1
- package/dist/tui/paste-chips.d.ts +22 -0
- package/dist/tui/paste-chips.d.ts.map +1 -0
- package/dist/tui/placeholder-examples.d.ts +5 -0
- package/dist/tui/placeholder-examples.d.ts.map +1 -0
- package/dist/tui/restored-rows.d.ts +3 -1
- package/dist/tui/restored-rows.d.ts.map +1 -1
- package/dist/tui/schedule/source-deliveries.d.ts +1 -1
- package/dist/tui/schedule/source-deliveries.d.ts.map +1 -1
- package/dist/tui/shell-cell.d.ts +15 -0
- package/dist/tui/shell-cell.d.ts.map +1 -1
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/status-line/StatusLineRows.d.ts +1 -2
- package/dist/tui/status-line/StatusLineRows.d.ts.map +1 -1
- package/dist/tui/status-line/controller.d.ts +1 -1
- package/dist/tui/status-line/output.d.ts +2 -2
- package/dist/tui/status-line/payload.d.ts +2 -2
- package/dist/tui/status-line/run-command.d.ts +1 -1
- package/dist/tui/system-rows.d.ts +8 -0
- package/dist/tui/system-rows.d.ts.map +1 -1
- package/dist/tui/terminal-choice-text.d.ts +7 -0
- package/dist/tui/terminal-choice-text.d.ts.map +1 -1
- package/dist/tui/theme.d.ts +21 -0
- package/dist/tui/theme.d.ts.map +1 -1
- package/dist/tui/tool-end-rows.d.ts +9 -1
- package/dist/tui/tool-end-rows.d.ts.map +1 -1
- package/dist/tui/tool-failure-text.d.ts +13 -0
- package/dist/tui/tool-failure-text.d.ts.map +1 -0
- package/dist/tui/triggers/context-text.d.ts +3 -3
- package/dist/tui/triggers/context-text.d.ts.map +1 -1
- package/dist/tui/triggers/copy.d.ts +7 -11
- package/dist/tui/triggers/copy.d.ts.map +1 -1
- package/dist/tui/triggers/registry.d.ts +2 -3
- package/dist/tui/triggers/registry.d.ts.map +1 -1
- package/dist/tui/typed-input.d.ts +14 -0
- package/dist/tui/typed-input.d.ts.map +1 -0
- package/dist/tui/types.d.ts +7 -5
- package/dist/tui/types.d.ts.map +1 -1
- package/dist/tui/user-text-view.d.ts +25 -0
- package/dist/tui/user-text-view.d.ts.map +1 -0
- package/dist/tui/workflow-runs.d.ts.map +1 -1
- package/dist/tui/workspace-diff.d.ts +3 -4
- package/dist/tui/workspace-diff.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/chunks/acp-JU4DX3RK.js.map +0 -6
- package/dist/chunks/agent-session-YS3JWF6Z.js +0 -52
- package/dist/chunks/chunk-A64X23MU.js.map +0 -6
- package/dist/chunks/chunk-CZVHXYGD.js.map +0 -6
- package/dist/chunks/chunk-FMJCN6JZ.js.map +0 -6
- package/dist/chunks/chunk-FOGCQUIH.js.map +0 -6
- package/dist/chunks/chunk-LLZ32DHS.js.map +0 -6
- package/dist/chunks/chunk-S5U4BG57.js.map +0 -6
- package/dist/chunks/message-command-FZ6VEUK5.js.map +0 -6
- package/dist/chunks/resume-GG6RMJXQ.js +0 -22
- package/dist/chunks/session-step-VJCHKPWD.js +0 -29
- package/dist/chunks/tui-STU5UZBC.js.map +0 -6
- package/dist/chunks/upgrade-USIXROFG.js.map +0 -6
- package/dist/integrations/subagents/failure-text.d.ts +0 -13
- package/dist/integrations/subagents/failure-text.d.ts.map +0 -1
- /package/dist/chunks/{activity-command-TERANSMO.js.map → activity-command-NKOTZ5FK.js.map} +0 -0
- /package/dist/chunks/{add-MZ6KIHY3.js.map → add-AONYUNXG.js.map} +0 -0
- /package/dist/chunks/{agent-JZFFS4IP.js.map → agent-YPKFE66C.js.map} +0 -0
- /package/dist/chunks/{agent-session-YS3JWF6Z.js.map → agent-session-HFOLAFFL.js.map} +0 -0
- /package/dist/chunks/{archive-SXYHKL3H.js.map → archive-SUE5OUZZ.js.map} +0 -0
- /package/dist/chunks/{bin-main-TFKZQ7NF.js.map → bin-main-55PUHGTA.js.map} +0 -0
- /package/dist/chunks/{browser-3U3YBKL6.js.map → browser-HYPSUDAZ.js.map} +0 -0
- /package/dist/chunks/{chat-37QA7HHN.js.map → chat-6OULID33.js.map} +0 -0
- /package/dist/chunks/{chunk-7S5UB6DX.js.map → chunk-233DQVSC.js.map} +0 -0
- /package/dist/chunks/{chunk-D5SIC3SF.js.map → chunk-263WNQB4.js.map} +0 -0
- /package/dist/chunks/{chunk-XKEMUEI5.js.map → chunk-2KKF45DQ.js.map} +0 -0
- /package/dist/chunks/{chunk-N57QO3AA.js.map → chunk-2VMMTC2V.js.map} +0 -0
- /package/dist/chunks/{chunk-KUNQW3N3.js.map → chunk-2WQFRVVQ.js.map} +0 -0
- /package/dist/chunks/{chunk-LPYWPRIF.js.map → chunk-3OAGXDRM.js.map} +0 -0
- /package/dist/chunks/{chunk-CDZT7WGY.js.map → chunk-47TGPZWD.js.map} +0 -0
- /package/dist/chunks/{chunk-IG4O4UAL.js.map → chunk-4K2NRXHJ.js.map} +0 -0
- /package/dist/chunks/{chunk-2SVXX5QK.js.map → chunk-5CGH647C.js.map} +0 -0
- /package/dist/chunks/{chunk-ZJHOWWXZ.js.map → chunk-74U3P65Q.js.map} +0 -0
- /package/dist/chunks/{chunk-ZJMUPGWD.js.map → chunk-7EASYULO.js.map} +0 -0
- /package/dist/chunks/{chunk-KG2YA6TI.js.map → chunk-7YXHOSHD.js.map} +0 -0
- /package/dist/chunks/{chunk-EKMOETAY.js.map → chunk-AZ3YHVFA.js.map} +0 -0
- /package/dist/chunks/{chunk-7O4X4GYL.js.map → chunk-B2357ETN.js.map} +0 -0
- /package/dist/chunks/{chunk-XIURI2PQ.js.map → chunk-BEFTUDYP.js.map} +0 -0
- /package/dist/chunks/{chunk-DQICYFIG.js.map → chunk-CL5TCY4F.js.map} +0 -0
- /package/dist/chunks/{chunk-5G3VKTLZ.js.map → chunk-CUOWARJI.js.map} +0 -0
- /package/dist/chunks/{chunk-M2EJQU3F.js.map → chunk-DFA5OB46.js.map} +0 -0
- /package/dist/chunks/{chunk-B5344NIV.js.map → chunk-E3HCZYGN.js.map} +0 -0
- /package/dist/chunks/{chunk-Z4LTK3HY.js.map → chunk-EA6SWPO4.js.map} +0 -0
- /package/dist/chunks/{chunk-XNHYUV6G.js.map → chunk-EUU4TDTH.js.map} +0 -0
- /package/dist/chunks/{chunk-VFBIR3UC.js.map → chunk-FBNKKDIY.js.map} +0 -0
- /package/dist/chunks/{chunk-PETRJVXF.js.map → chunk-FQZFVLJB.js.map} +0 -0
- /package/dist/chunks/{chunk-5PDW6VPO.js.map → chunk-HI2KXIGA.js.map} +0 -0
- /package/dist/chunks/{chunk-LC5VGZO2.js.map → chunk-HU35YAIZ.js.map} +0 -0
- /package/dist/chunks/{chunk-2UT6U22B.js.map → chunk-IAYIUJMI.js.map} +0 -0
- /package/dist/chunks/{chunk-U3JIZFOS.js.map → chunk-IE5XIE4W.js.map} +0 -0
- /package/dist/chunks/{chunk-2UUBILYI.js.map → chunk-II57E2QW.js.map} +0 -0
- /package/dist/chunks/{chunk-OA5772RG.js.map → chunk-LFVQSMJG.js.map} +0 -0
- /package/dist/chunks/{chunk-U75JG2RT.js.map → chunk-MCNEFI5Q.js.map} +0 -0
- /package/dist/chunks/{chunk-JN6M424Z.js.map → chunk-N3FI7O4U.js.map} +0 -0
- /package/dist/chunks/{chunk-3NIZKJJG.js.map → chunk-N72DH6D5.js.map} +0 -0
- /package/dist/chunks/{chunk-V2VHVH5S.js.map → chunk-NLKIBRXJ.js.map} +0 -0
- /package/dist/chunks/{chunk-LBPM46OY.js.map → chunk-OLOTFDTU.js.map} +0 -0
- /package/dist/chunks/{chunk-7MLTWXEW.js.map → chunk-P2Y4LUPJ.js.map} +0 -0
- /package/dist/chunks/{chunk-KONWJQLM.js.map → chunk-QNF6COCY.js.map} +0 -0
- /package/dist/chunks/{chunk-TNTP3CNT.js.map → chunk-QO5JUKFG.js.map} +0 -0
- /package/dist/chunks/{chunk-GTXD263T.js.map → chunk-RB36O3CE.js.map} +0 -0
- /package/dist/chunks/{chunk-LH6J5QQ7.js.map → chunk-SBPCN24X.js.map} +0 -0
- /package/dist/chunks/{chunk-CK4TOW2N.js.map → chunk-SIK62TDI.js.map} +0 -0
- /package/dist/chunks/{chunk-XEOZYKPJ.js.map → chunk-T75ITEN6.js.map} +0 -0
- /package/dist/chunks/{chunk-2T7TZDUE.js.map → chunk-TJTRVZFN.js.map} +0 -0
- /package/dist/chunks/{chunk-AHVF22PV.js.map → chunk-UBOPUGDN.js.map} +0 -0
- /package/dist/chunks/{chunk-UQZNYNX7.js.map → chunk-UIDLXA2K.js.map} +0 -0
- /package/dist/chunks/{chunk-FI7TIM5P.js.map → chunk-UTMGJDC3.js.map} +0 -0
- /package/dist/chunks/{chunk-CLIP7QVU.js.map → chunk-UUUNXKL3.js.map} +0 -0
- /package/dist/chunks/{chunk-EUHPTASG.js.map → chunk-UZCA37QE.js.map} +0 -0
- /package/dist/chunks/{chunk-Z56MZ7UW.js.map → chunk-W27ZDC4R.js.map} +0 -0
- /package/dist/chunks/{chunk-HOOY63EB.js.map → chunk-XJ4IUCH6.js.map} +0 -0
- /package/dist/chunks/{chunk-Q6SF7T77.js.map → chunk-YKEPC6NH.js.map} +0 -0
- /package/dist/chunks/{chunk-3PBSWF6X.js.map → chunk-Z7XA4Y43.js.map} +0 -0
- /package/dist/chunks/{cli-runtime-PRG53LL6.js.map → cli-runtime-G3FHYTCI.js.map} +0 -0
- /package/dist/chunks/{commands-QMF4AHAY.js.map → commands-TIRZH2TK.js.map} +0 -0
- /package/dist/chunks/{crash-report-BSZ6SUOF.js.map → crash-report-E4J7KQ32.js.map} +0 -0
- /package/dist/chunks/{dist-HRWBXBF3.js.map → dist-2IUQEIEI.js.map} +0 -0
- /package/dist/chunks/{dist-GNI4DIHI.js.map → dist-2U6NNEPY.js.map} +0 -0
- /package/dist/chunks/{dist-QSOTJL6Z.js.map → dist-CVDGKJEI.js.map} +0 -0
- /package/dist/chunks/{dist-JDUOF4K7.js.map → dist-MKQZKCB4.js.map} +0 -0
- /package/dist/chunks/{dist-MYWLKPXK.js.map → dist-QCKKBLDW.js.map} +0 -0
- /package/dist/chunks/{dist-SO6XBKFN.js.map → dist-QHKTYYMX.js.map} +0 -0
- /package/dist/chunks/{dist-XDA5OMB2.js.map → dist-YX7Q3EJR.js.map} +0 -0
- /package/dist/chunks/{doctor-5MS7V3JB.js.map → doctor-ASXICRC5.js.map} +0 -0
- /package/dist/chunks/{drain-YGGEC4UE.js.map → drain-CGS3KBU3.js.map} +0 -0
- /package/dist/chunks/{eval-GWP6MISH.js.map → eval-XWC3UCFI.js.map} +0 -0
- /package/dist/chunks/{home-IZ2H7PM3.js.map → home-76YLI2M6.js.map} +0 -0
- /package/dist/chunks/{host-queries-UCVJBJXU.js.map → host-queries-ODUQHYBN.js.map} +0 -0
- /package/dist/chunks/{lifecycle-U52Z5ZMZ.js.map → lifecycle-JN43XQSS.js.map} +0 -0
- /package/dist/chunks/{list-SVKI2XOL.js.map → list-TC7TYJDR.js.map} +0 -0
- /package/dist/chunks/{login-MNDG4XIT.js.map → login-CTC6CAM4.js.map} +0 -0
- /package/dist/chunks/{logs-M7RCXYPY.js.map → logs-2NGJFIQI.js.map} +0 -0
- /package/dist/chunks/{mcp-KEQMYKDA.js.map → mcp-BPH7KWZ6.js.map} +0 -0
- /package/dist/chunks/{operator-tools-C57ZIYRG.js.map → operator-tools-6RYAHVSL.js.map} +0 -0
- /package/dist/chunks/{output-schema-IYQRSIUA.js.map → output-schema-GSWZHKSI.js.map} +0 -0
- /package/dist/chunks/{pal-NXMTLY6Z.js.map → pal-4QXXG42H.js.map} +0 -0
- /package/dist/chunks/{providers-TZBRQDXE.js.map → providers-6PIIF3WR.js.map} +0 -0
- /package/dist/chunks/{resident-DBIZBLOV.js.map → resident-UP7W6MV6.js.map} +0 -0
- /package/dist/chunks/{resume-GG6RMJXQ.js.map → resume-GJHTPMJS.js.map} +0 -0
- /package/dist/chunks/{resume-command-36S3HXPO.js.map → resume-command-2RFT7AGW.js.map} +0 -0
- /package/dist/chunks/{schedule-UR54S44B.js.map → schedule-FZISVF6A.js.map} +0 -0
- /package/dist/chunks/{service-VMXEAJCI.js.map → service-4WADXOUI.js.map} +0 -0
- /package/dist/chunks/{session-step-VJCHKPWD.js.map → session-step-FX6B4TSE.js.map} +0 -0
- /package/dist/chunks/{skills-RXYS26H3.js.map → skills-BJQGVQ23.js.map} +0 -0
- /package/dist/chunks/{state-NS47IVWW.js.map → state-2KKVQPZ2.js.map} +0 -0
- /package/dist/chunks/{store-3U2GZAZS.js.map → store-LO4SSRYI.js.map} +0 -0
- /package/dist/chunks/{store-GNFHH2LZ.js.map → store-TKJKR5NM.js.map} +0 -0
- /package/dist/chunks/{store-TO65IAIZ.js.map → store-YFTJ24WU.js.map} +0 -0
- /package/dist/chunks/{worktree-AYI5VJ5H.js.map → worktree-3HYAYSGW.js.map} +0 -0
|
@@ -9342,7 +9342,7 @@ function codeFromMessage(message, status) {
|
|
|
9342
9342
|
// a plain invalid request — which is not retryable, and which the
|
|
9343
9343
|
// overflow rescue tests for by exact equality. The turn died holding
|
|
9344
9344
|
// the remedy.
|
|
9345
|
-
m.includes("too long for") || //
|
|
9345
|
+
m.includes("too long for") || // Known wordings: `context window` and
|
|
9346
9346
|
// `input length and max_tokens exceed context limit` matchers).
|
|
9347
9347
|
// Only where the status cannot say otherwise: a 429, 5xx or 401 that
|
|
9348
9348
|
// mentions the window is still a rate limit, a server fault or an auth
|
|
@@ -9781,14 +9781,14 @@ function revisionFileSegment(value) {
|
|
|
9781
9781
|
return out;
|
|
9782
9782
|
}
|
|
9783
9783
|
__name(revisionFileSegment, "revisionFileSegment");
|
|
9784
|
-
function decodeRevisionFileSegment(
|
|
9785
|
-
if (
|
|
9784
|
+
function decodeRevisionFileSegment(segment2) {
|
|
9785
|
+
if (segment2 === "~empty")
|
|
9786
9786
|
return "";
|
|
9787
|
-
if (
|
|
9787
|
+
if (segment2.length === 0)
|
|
9788
9788
|
return null;
|
|
9789
9789
|
let value = "";
|
|
9790
|
-
for (let i = 0; i <
|
|
9791
|
-
const char =
|
|
9790
|
+
for (let i = 0; i < segment2.length; i++) {
|
|
9791
|
+
const char = segment2[i];
|
|
9792
9792
|
if (char === void 0)
|
|
9793
9793
|
return null;
|
|
9794
9794
|
if (char !== "~") {
|
|
@@ -9797,13 +9797,13 @@ function decodeRevisionFileSegment(segment) {
|
|
|
9797
9797
|
value += char;
|
|
9798
9798
|
continue;
|
|
9799
9799
|
}
|
|
9800
|
-
const escaped =
|
|
9800
|
+
const escaped = segment2.slice(i + 1, i + 5);
|
|
9801
9801
|
if (!/^[0-9a-f]{4}$/u.test(escaped))
|
|
9802
9802
|
return null;
|
|
9803
9803
|
value += String.fromCharCode(Number.parseInt(escaped, 16));
|
|
9804
9804
|
i += 4;
|
|
9805
9805
|
}
|
|
9806
|
-
return revisionFileSegment(value) ===
|
|
9806
|
+
return revisionFileSegment(value) === segment2 ? value : null;
|
|
9807
9807
|
}
|
|
9808
9808
|
__name(decodeRevisionFileSegment, "decodeRevisionFileSegment");
|
|
9809
9809
|
var DiskRevisionRecordStore = class {
|
|
@@ -10379,10 +10379,10 @@ var DiskSessionGoalStore = class extends SessionGoalStoreBase {
|
|
|
10379
10379
|
}
|
|
10380
10380
|
location(sessionId5) {
|
|
10381
10381
|
const root = join4(this.config.rootDir, "goals");
|
|
10382
|
-
const
|
|
10382
|
+
const segment2 = revisionFileSegment(sessionId5);
|
|
10383
10383
|
return {
|
|
10384
|
-
legacyPath: join4(root, `${
|
|
10385
|
-
revisionsDir: join4(root, ".revisions",
|
|
10384
|
+
legacyPath: join4(root, `${segment2}.json`),
|
|
10385
|
+
revisionsDir: join4(root, ".revisions", segment2)
|
|
10386
10386
|
};
|
|
10387
10387
|
}
|
|
10388
10388
|
async put(record3) {
|
|
@@ -15849,8 +15849,8 @@ var OVERFLOW_BODY_PATTERNS = [
|
|
|
15849
15849
|
// length" — so a pattern anchored on "exceeded" misses it entirely.
|
|
15850
15850
|
/exceeds?\s+(?:the\s+)?(?:model'?s?\s+)?context\s+(?:length|window|size)/i,
|
|
15851
15851
|
/context\s+(?:length|window|size)\s+exceed/i,
|
|
15852
|
-
// The
|
|
15853
|
-
// window". Here it must sit next to a verb that says the request did not
|
|
15852
|
+
// The bare phrase "context
|
|
15853
|
+
// window" is too broad on its own. Here it must sit next to a verb that says the request did not
|
|
15854
15854
|
// fit ("larger than the model context window of N tokens"), so a 400 that
|
|
15855
15855
|
// only names the window ("does not support this parameter with the 1M
|
|
15856
15856
|
// context window beta") stays an invalid request. The same pattern lives in
|
|
@@ -23111,8 +23111,8 @@ var FILE_NAMES = new Set(PROTECTED_FILE_NAMES.map(fold));
|
|
|
23111
23111
|
var NESTED = PROTECTED_NESTED_DIRECTORIES.map((sequence) => sequence.map(fold));
|
|
23112
23112
|
function isProtectedPath(path2) {
|
|
23113
23113
|
const segments = path2.split(/[\\/]+/).map(fold);
|
|
23114
|
-
for (const
|
|
23115
|
-
if (DIRECTORIES.has(
|
|
23114
|
+
for (const segment2 of segments) {
|
|
23115
|
+
if (DIRECTORIES.has(segment2))
|
|
23116
23116
|
return true;
|
|
23117
23117
|
}
|
|
23118
23118
|
for (const sequence of NESTED) {
|
|
@@ -23345,10 +23345,10 @@ function checkTarget(program, args, spelled, word2, scope) {
|
|
|
23345
23345
|
__name(checkTarget, "checkTarget");
|
|
23346
23346
|
function hasParentAfterName(path2) {
|
|
23347
23347
|
let named = false;
|
|
23348
|
-
for (const
|
|
23349
|
-
if (
|
|
23348
|
+
for (const segment2 of path2.split(/[\\/]+/)) {
|
|
23349
|
+
if (segment2 === "" || segment2 === ".")
|
|
23350
23350
|
continue;
|
|
23351
|
-
if (
|
|
23351
|
+
if (segment2 === "..") {
|
|
23352
23352
|
if (named)
|
|
23353
23353
|
return true;
|
|
23354
23354
|
} else
|
|
@@ -26011,6 +26011,298 @@ var Diff = class {
|
|
|
26011
26011
|
}
|
|
26012
26012
|
};
|
|
26013
26013
|
|
|
26014
|
+
// ../../node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/util/string.js
|
|
26015
|
+
function longestCommonPrefix(str1, str2) {
|
|
26016
|
+
let i;
|
|
26017
|
+
for (i = 0; i < str1.length && i < str2.length; i++) {
|
|
26018
|
+
if (str1[i] != str2[i]) {
|
|
26019
|
+
return str1.slice(0, i);
|
|
26020
|
+
}
|
|
26021
|
+
}
|
|
26022
|
+
return str1.slice(0, i);
|
|
26023
|
+
}
|
|
26024
|
+
__name(longestCommonPrefix, "longestCommonPrefix");
|
|
26025
|
+
function longestCommonSuffix(str1, str2) {
|
|
26026
|
+
let i;
|
|
26027
|
+
if (!str1 || !str2 || str1[str1.length - 1] != str2[str2.length - 1]) {
|
|
26028
|
+
return "";
|
|
26029
|
+
}
|
|
26030
|
+
for (i = 0; i < str1.length && i < str2.length; i++) {
|
|
26031
|
+
if (str1[str1.length - (i + 1)] != str2[str2.length - (i + 1)]) {
|
|
26032
|
+
return str1.slice(-i);
|
|
26033
|
+
}
|
|
26034
|
+
}
|
|
26035
|
+
return str1.slice(-i);
|
|
26036
|
+
}
|
|
26037
|
+
__name(longestCommonSuffix, "longestCommonSuffix");
|
|
26038
|
+
function replacePrefix(string, oldPrefix, newPrefix) {
|
|
26039
|
+
if (string.slice(0, oldPrefix.length) != oldPrefix) {
|
|
26040
|
+
throw Error(`string ${JSON.stringify(string)} doesn't start with prefix ${JSON.stringify(oldPrefix)}; this is a bug`);
|
|
26041
|
+
}
|
|
26042
|
+
return newPrefix + string.slice(oldPrefix.length);
|
|
26043
|
+
}
|
|
26044
|
+
__name(replacePrefix, "replacePrefix");
|
|
26045
|
+
function replaceSuffix(string, oldSuffix, newSuffix) {
|
|
26046
|
+
if (!oldSuffix) {
|
|
26047
|
+
return string + newSuffix;
|
|
26048
|
+
}
|
|
26049
|
+
if (string.slice(-oldSuffix.length) != oldSuffix) {
|
|
26050
|
+
throw Error(`string ${JSON.stringify(string)} doesn't end with suffix ${JSON.stringify(oldSuffix)}; this is a bug`);
|
|
26051
|
+
}
|
|
26052
|
+
return string.slice(0, -oldSuffix.length) + newSuffix;
|
|
26053
|
+
}
|
|
26054
|
+
__name(replaceSuffix, "replaceSuffix");
|
|
26055
|
+
function removePrefix(string, oldPrefix) {
|
|
26056
|
+
return replacePrefix(string, oldPrefix, "");
|
|
26057
|
+
}
|
|
26058
|
+
__name(removePrefix, "removePrefix");
|
|
26059
|
+
function removeSuffix(string, oldSuffix) {
|
|
26060
|
+
return replaceSuffix(string, oldSuffix, "");
|
|
26061
|
+
}
|
|
26062
|
+
__name(removeSuffix, "removeSuffix");
|
|
26063
|
+
function maximumOverlap(string1, string2) {
|
|
26064
|
+
return string2.slice(0, overlapCount(string1, string2));
|
|
26065
|
+
}
|
|
26066
|
+
__name(maximumOverlap, "maximumOverlap");
|
|
26067
|
+
function overlapCount(a, b) {
|
|
26068
|
+
let startA = 0;
|
|
26069
|
+
if (a.length > b.length) {
|
|
26070
|
+
startA = a.length - b.length;
|
|
26071
|
+
}
|
|
26072
|
+
let endB = b.length;
|
|
26073
|
+
if (a.length < b.length) {
|
|
26074
|
+
endB = a.length;
|
|
26075
|
+
}
|
|
26076
|
+
const map = Array(endB);
|
|
26077
|
+
let k = 0;
|
|
26078
|
+
map[0] = 0;
|
|
26079
|
+
for (let j = 1; j < endB; j++) {
|
|
26080
|
+
if (b[j] == b[k]) {
|
|
26081
|
+
map[j] = map[k];
|
|
26082
|
+
} else {
|
|
26083
|
+
map[j] = k;
|
|
26084
|
+
}
|
|
26085
|
+
while (k > 0 && b[j] != b[k]) {
|
|
26086
|
+
k = map[k];
|
|
26087
|
+
}
|
|
26088
|
+
if (b[j] == b[k]) {
|
|
26089
|
+
k++;
|
|
26090
|
+
}
|
|
26091
|
+
}
|
|
26092
|
+
k = 0;
|
|
26093
|
+
for (let i = startA; i < a.length; i++) {
|
|
26094
|
+
while (k > 0 && a[i] != b[k]) {
|
|
26095
|
+
k = map[k];
|
|
26096
|
+
}
|
|
26097
|
+
if (a[i] == b[k]) {
|
|
26098
|
+
k++;
|
|
26099
|
+
}
|
|
26100
|
+
}
|
|
26101
|
+
return k;
|
|
26102
|
+
}
|
|
26103
|
+
__name(overlapCount, "overlapCount");
|
|
26104
|
+
function segment(string, segmenter) {
|
|
26105
|
+
const parts = [];
|
|
26106
|
+
for (const segmentObj of Array.from(segmenter.segment(string))) {
|
|
26107
|
+
const segment2 = segmentObj.segment;
|
|
26108
|
+
if (parts.length && /\s/.test(parts[parts.length - 1]) && /\s/.test(segment2)) {
|
|
26109
|
+
parts[parts.length - 1] += segment2;
|
|
26110
|
+
} else {
|
|
26111
|
+
parts.push(segment2);
|
|
26112
|
+
}
|
|
26113
|
+
}
|
|
26114
|
+
return parts;
|
|
26115
|
+
}
|
|
26116
|
+
__name(segment, "segment");
|
|
26117
|
+
function trailingWs(string, segmenter) {
|
|
26118
|
+
if (segmenter) {
|
|
26119
|
+
return leadingAndTrailingWs(string, segmenter)[1];
|
|
26120
|
+
}
|
|
26121
|
+
let i;
|
|
26122
|
+
for (i = string.length - 1; i >= 0; i--) {
|
|
26123
|
+
if (!string[i].match(/\s/)) {
|
|
26124
|
+
break;
|
|
26125
|
+
}
|
|
26126
|
+
}
|
|
26127
|
+
return string.substring(i + 1);
|
|
26128
|
+
}
|
|
26129
|
+
__name(trailingWs, "trailingWs");
|
|
26130
|
+
function leadingWs(string, segmenter) {
|
|
26131
|
+
if (segmenter) {
|
|
26132
|
+
return leadingAndTrailingWs(string, segmenter)[0];
|
|
26133
|
+
}
|
|
26134
|
+
const match2 = string.match(/^\s*/);
|
|
26135
|
+
return match2 ? match2[0] : "";
|
|
26136
|
+
}
|
|
26137
|
+
__name(leadingWs, "leadingWs");
|
|
26138
|
+
function leadingAndTrailingWs(string, segmenter) {
|
|
26139
|
+
if (!segmenter) {
|
|
26140
|
+
return [leadingWs(string), trailingWs(string)];
|
|
26141
|
+
}
|
|
26142
|
+
if (segmenter.resolvedOptions().granularity != "word") {
|
|
26143
|
+
throw new Error('The segmenter passed must have a granularity of "word"');
|
|
26144
|
+
}
|
|
26145
|
+
const segments = segment(string, segmenter);
|
|
26146
|
+
const firstSeg = segments[0];
|
|
26147
|
+
const lastSeg = segments[segments.length - 1];
|
|
26148
|
+
const head2 = /\s/.test(firstSeg) ? firstSeg : "";
|
|
26149
|
+
const tail = /\s/.test(lastSeg) ? lastSeg : "";
|
|
26150
|
+
return [head2, tail];
|
|
26151
|
+
}
|
|
26152
|
+
__name(leadingAndTrailingWs, "leadingAndTrailingWs");
|
|
26153
|
+
|
|
26154
|
+
// ../../node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/diff/word.js
|
|
26155
|
+
var extendedWordChars = "a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}";
|
|
26156
|
+
var tokenizeIncludingWhitespace = new RegExp(`[${extendedWordChars}]+|\\s+|[^${extendedWordChars}]`, "ug");
|
|
26157
|
+
var WordDiff = class extends Diff {
|
|
26158
|
+
static {
|
|
26159
|
+
__name(this, "WordDiff");
|
|
26160
|
+
}
|
|
26161
|
+
equals(left, right, options) {
|
|
26162
|
+
if (options.ignoreCase) {
|
|
26163
|
+
left = left.toLowerCase();
|
|
26164
|
+
right = right.toLowerCase();
|
|
26165
|
+
}
|
|
26166
|
+
return left.trim() === right.trim();
|
|
26167
|
+
}
|
|
26168
|
+
tokenize(value, options = {}) {
|
|
26169
|
+
let parts;
|
|
26170
|
+
if (options.intlSegmenter) {
|
|
26171
|
+
const segmenter = options.intlSegmenter;
|
|
26172
|
+
if (segmenter.resolvedOptions().granularity != "word") {
|
|
26173
|
+
throw new Error('The segmenter passed must have a granularity of "word"');
|
|
26174
|
+
}
|
|
26175
|
+
parts = segment(value, segmenter);
|
|
26176
|
+
} else {
|
|
26177
|
+
parts = value.match(tokenizeIncludingWhitespace) || [];
|
|
26178
|
+
}
|
|
26179
|
+
const tokens = [];
|
|
26180
|
+
let prevPart = null;
|
|
26181
|
+
parts.forEach((part2) => {
|
|
26182
|
+
if (/\s/.test(part2)) {
|
|
26183
|
+
if (prevPart == null) {
|
|
26184
|
+
tokens.push(part2);
|
|
26185
|
+
} else {
|
|
26186
|
+
tokens.push(tokens.pop() + part2);
|
|
26187
|
+
}
|
|
26188
|
+
} else if (prevPart != null && /\s/.test(prevPart)) {
|
|
26189
|
+
if (tokens[tokens.length - 1] == prevPart) {
|
|
26190
|
+
tokens.push(tokens.pop() + part2);
|
|
26191
|
+
} else {
|
|
26192
|
+
tokens.push(prevPart + part2);
|
|
26193
|
+
}
|
|
26194
|
+
} else {
|
|
26195
|
+
tokens.push(part2);
|
|
26196
|
+
}
|
|
26197
|
+
prevPart = part2;
|
|
26198
|
+
});
|
|
26199
|
+
return tokens;
|
|
26200
|
+
}
|
|
26201
|
+
join(tokens) {
|
|
26202
|
+
return tokens.map((token, i) => {
|
|
26203
|
+
if (i == 0) {
|
|
26204
|
+
return token;
|
|
26205
|
+
} else {
|
|
26206
|
+
return token.replace(/^\s+/, "");
|
|
26207
|
+
}
|
|
26208
|
+
}).join("");
|
|
26209
|
+
}
|
|
26210
|
+
postProcess(changes, options) {
|
|
26211
|
+
if (!changes || options.oneChangePerToken) {
|
|
26212
|
+
return changes;
|
|
26213
|
+
}
|
|
26214
|
+
let lastKeep = null;
|
|
26215
|
+
let insertion = null;
|
|
26216
|
+
let deletion = null;
|
|
26217
|
+
changes.forEach((change) => {
|
|
26218
|
+
if (change.added) {
|
|
26219
|
+
insertion = change;
|
|
26220
|
+
} else if (change.removed) {
|
|
26221
|
+
deletion = change;
|
|
26222
|
+
} else {
|
|
26223
|
+
if (insertion || deletion) {
|
|
26224
|
+
dedupeWhitespaceInChangeObjects(lastKeep, deletion, insertion, change, options.intlSegmenter);
|
|
26225
|
+
}
|
|
26226
|
+
lastKeep = change;
|
|
26227
|
+
insertion = null;
|
|
26228
|
+
deletion = null;
|
|
26229
|
+
}
|
|
26230
|
+
});
|
|
26231
|
+
if (insertion || deletion) {
|
|
26232
|
+
dedupeWhitespaceInChangeObjects(lastKeep, deletion, insertion, null, options.intlSegmenter);
|
|
26233
|
+
}
|
|
26234
|
+
return changes;
|
|
26235
|
+
}
|
|
26236
|
+
};
|
|
26237
|
+
var wordDiff = new WordDiff();
|
|
26238
|
+
function diffWords(oldStr, newStr, options) {
|
|
26239
|
+
if ((options === null || options === void 0 ? void 0 : options.ignoreWhitespace) != null && !options.ignoreWhitespace) {
|
|
26240
|
+
return diffWordsWithSpace(oldStr, newStr, options);
|
|
26241
|
+
}
|
|
26242
|
+
return wordDiff.diff(oldStr, newStr, options);
|
|
26243
|
+
}
|
|
26244
|
+
__name(diffWords, "diffWords");
|
|
26245
|
+
function dedupeWhitespaceInChangeObjects(startKeep, deletion, insertion, endKeep, segmenter) {
|
|
26246
|
+
if (deletion && insertion) {
|
|
26247
|
+
const [oldWsPrefix, oldWsSuffix] = leadingAndTrailingWs(deletion.value, segmenter);
|
|
26248
|
+
const [newWsPrefix, newWsSuffix] = leadingAndTrailingWs(insertion.value, segmenter);
|
|
26249
|
+
if (startKeep) {
|
|
26250
|
+
const commonWsPrefix = longestCommonPrefix(oldWsPrefix, newWsPrefix);
|
|
26251
|
+
startKeep.value = replaceSuffix(startKeep.value, newWsPrefix, commonWsPrefix);
|
|
26252
|
+
deletion.value = removePrefix(deletion.value, commonWsPrefix);
|
|
26253
|
+
insertion.value = removePrefix(insertion.value, commonWsPrefix);
|
|
26254
|
+
}
|
|
26255
|
+
if (endKeep) {
|
|
26256
|
+
const commonWsSuffix = longestCommonSuffix(oldWsSuffix, newWsSuffix);
|
|
26257
|
+
endKeep.value = replacePrefix(endKeep.value, newWsSuffix, commonWsSuffix);
|
|
26258
|
+
deletion.value = removeSuffix(deletion.value, commonWsSuffix);
|
|
26259
|
+
insertion.value = removeSuffix(insertion.value, commonWsSuffix);
|
|
26260
|
+
}
|
|
26261
|
+
} else if (insertion) {
|
|
26262
|
+
if (startKeep) {
|
|
26263
|
+
const ws = leadingWs(insertion.value, segmenter);
|
|
26264
|
+
insertion.value = insertion.value.substring(ws.length);
|
|
26265
|
+
}
|
|
26266
|
+
if (endKeep) {
|
|
26267
|
+
const ws = leadingWs(endKeep.value, segmenter);
|
|
26268
|
+
endKeep.value = endKeep.value.substring(ws.length);
|
|
26269
|
+
}
|
|
26270
|
+
} else if (startKeep && endKeep) {
|
|
26271
|
+
const newWsFull = leadingWs(endKeep.value, segmenter), [delWsStart, delWsEnd] = leadingAndTrailingWs(deletion.value, segmenter);
|
|
26272
|
+
const newWsStart = longestCommonPrefix(newWsFull, delWsStart);
|
|
26273
|
+
deletion.value = removePrefix(deletion.value, newWsStart);
|
|
26274
|
+
const newWsEnd = longestCommonSuffix(removePrefix(newWsFull, newWsStart), delWsEnd);
|
|
26275
|
+
deletion.value = removeSuffix(deletion.value, newWsEnd);
|
|
26276
|
+
endKeep.value = replacePrefix(endKeep.value, newWsFull, newWsEnd);
|
|
26277
|
+
startKeep.value = replaceSuffix(startKeep.value, newWsFull, newWsFull.slice(0, newWsFull.length - newWsEnd.length));
|
|
26278
|
+
} else if (endKeep) {
|
|
26279
|
+
const endKeepWsPrefix = leadingWs(endKeep.value, segmenter);
|
|
26280
|
+
const deletionWsSuffix = trailingWs(deletion.value, segmenter);
|
|
26281
|
+
const overlap = maximumOverlap(deletionWsSuffix, endKeepWsPrefix);
|
|
26282
|
+
deletion.value = removeSuffix(deletion.value, overlap);
|
|
26283
|
+
} else if (startKeep) {
|
|
26284
|
+
const startKeepWsSuffix = trailingWs(startKeep.value, segmenter);
|
|
26285
|
+
const deletionWsPrefix = leadingWs(deletion.value, segmenter);
|
|
26286
|
+
const overlap = maximumOverlap(startKeepWsSuffix, deletionWsPrefix);
|
|
26287
|
+
deletion.value = removePrefix(deletion.value, overlap);
|
|
26288
|
+
}
|
|
26289
|
+
}
|
|
26290
|
+
__name(dedupeWhitespaceInChangeObjects, "dedupeWhitespaceInChangeObjects");
|
|
26291
|
+
var WordsWithSpaceDiff = class extends Diff {
|
|
26292
|
+
static {
|
|
26293
|
+
__name(this, "WordsWithSpaceDiff");
|
|
26294
|
+
}
|
|
26295
|
+
tokenize(value) {
|
|
26296
|
+
const regex = new RegExp(`(\\r?\\n)|[${extendedWordChars}]+|[^\\S\\n\\r]+|[^${extendedWordChars}]`, "ug");
|
|
26297
|
+
return value.match(regex) || [];
|
|
26298
|
+
}
|
|
26299
|
+
};
|
|
26300
|
+
var wordsWithSpaceDiff = new WordsWithSpaceDiff();
|
|
26301
|
+
function diffWordsWithSpace(oldStr, newStr, options) {
|
|
26302
|
+
return wordsWithSpaceDiff.diff(oldStr, newStr, options);
|
|
26303
|
+
}
|
|
26304
|
+
__name(diffWordsWithSpace, "diffWordsWithSpace");
|
|
26305
|
+
|
|
26014
26306
|
// ../../node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/diff/line.js
|
|
26015
26307
|
var LineDiff = class extends Diff {
|
|
26016
26308
|
static {
|
|
@@ -28833,7 +29125,7 @@ function evaluateRule(rule, toolName, toolInput, toolDef, compiledPattern, nameS
|
|
|
28833
29125
|
if (rule.decision === "deny" || rule.decision === "review") {
|
|
28834
29126
|
if (compiledPattern.test(subject))
|
|
28835
29127
|
return rule.decision;
|
|
28836
|
-
if (segments.some((
|
|
29128
|
+
if (segments.some((segment2) => compiledPattern.test(segment2)))
|
|
28837
29129
|
return rule.decision;
|
|
28838
29130
|
if (isUrl)
|
|
28839
29131
|
return null;
|
|
@@ -28841,7 +29133,7 @@ function evaluateRule(rule, toolName, toolInput, toolDef, compiledPattern, nameS
|
|
|
28841
29133
|
}
|
|
28842
29134
|
if (opaque2)
|
|
28843
29135
|
return null;
|
|
28844
|
-
return segments.every((
|
|
29136
|
+
return segments.every((segment2) => compiledPattern.test(segment2)) ? "allow" : null;
|
|
28845
29137
|
}
|
|
28846
29138
|
case "allow_by_tier": {
|
|
28847
29139
|
if (toolDef?.tier && rule.tiers.includes(toolDef.tier)) {
|
|
@@ -34029,9 +34321,20 @@ var CompletionInbox = class {
|
|
|
34029
34321
|
* `log` is optional and unresolved until it is actually needed (the
|
|
34030
34322
|
* eviction-warning path in `hold()`), same reason as `LocalTaskScheduler`.
|
|
34031
34323
|
*/
|
|
34032
|
-
constructor(log) {
|
|
34324
|
+
constructor(log, options = {}) {
|
|
34033
34325
|
this.log = log;
|
|
34326
|
+
this.holdsTurnOpen = options.holdsTurnOpen !== false;
|
|
34034
34327
|
}
|
|
34328
|
+
/**
|
|
34329
|
+
* Whether a turn about to end waits here for the tasks still running.
|
|
34330
|
+
*
|
|
34331
|
+
* `true` (the default) is the original contract: the turn parks at its settle
|
|
34332
|
+
* point until the tasks it launched report back, so their results enter the
|
|
34333
|
+
* same turn. `false` lets the turn end with them still running; the host owns
|
|
34334
|
+
* their completion from then on (it keeps them alive and wakes the model when
|
|
34335
|
+
* they end). Completions that have already arrived are delivered either way.
|
|
34336
|
+
*/
|
|
34337
|
+
holdsTurnOpen;
|
|
34035
34338
|
/**
|
|
34036
34339
|
* Start listening.
|
|
34037
34340
|
*
|
|
@@ -34207,6 +34510,14 @@ var CompletionInbox = class {
|
|
|
34207
34510
|
get hasPendingWork() {
|
|
34208
34511
|
return this.unheard.size > 0 || this.outstanding.size > 0;
|
|
34209
34512
|
}
|
|
34513
|
+
/**
|
|
34514
|
+
* Whether the turn has a reason to wait at its settle point: anything
|
|
34515
|
+
* pending when it {@link holdsTurnOpen}, else only a completion already in
|
|
34516
|
+
* hand (waiting for its persistence gate).
|
|
34517
|
+
*/
|
|
34518
|
+
get holdsTurn() {
|
|
34519
|
+
return this.holdsTurnOpen ? this.hasPendingWork : this.unheard.size > 0;
|
|
34520
|
+
}
|
|
34210
34521
|
/**
|
|
34211
34522
|
* Wait for the next completion, deadline or abort, whichever comes first.
|
|
34212
34523
|
* Aborting releases only this waiter; work and undelivered results remain owned.
|
|
@@ -35093,7 +35404,7 @@ function awaitedJobGraceMs(remainingBeforeFinalizeMs) {
|
|
|
35093
35404
|
}
|
|
35094
35405
|
__name(awaitedJobGraceMs, "awaitedJobGraceMs");
|
|
35095
35406
|
async function* holdForOutstandingWork(ctx, iterationNum, hasToolCalls2, deliverInbound) {
|
|
35096
|
-
const inbox = ctx.completionInbox?.
|
|
35407
|
+
const inbox = ctx.completionInbox?.holdsTurn ? ctx.completionInbox : void 0;
|
|
35097
35408
|
const jobs = ctx.awaitedJobs?.hasPendingWork ? ctx.awaitedJobs : void 0;
|
|
35098
35409
|
if (!inbox && !jobs)
|
|
35099
35410
|
return false;
|
|
@@ -35218,7 +35529,12 @@ function settleOutstandingWork(ctx) {
|
|
|
35218
35529
|
__name(settleOutstandingWork, "settleOutstandingWork");
|
|
35219
35530
|
function recordAbandonedWork(ctx) {
|
|
35220
35531
|
const abandoned = ctx.completionInbox?.outstandingTaskIds ?? [];
|
|
35221
|
-
if (abandoned.length > 0) {
|
|
35532
|
+
if (abandoned.length > 0 && ctx.completionInbox?.holdsTurnOpen === false) {
|
|
35533
|
+
ctx.log.info("Turn ended with delegated work left running in the background", {
|
|
35534
|
+
[NAMZU.TURN_ID]: ctx.recorder.turnId,
|
|
35535
|
+
"namzu.runtime.tasks": abandoned
|
|
35536
|
+
});
|
|
35537
|
+
} else if (abandoned.length > 0) {
|
|
35222
35538
|
ctx.log.warn("Turn ended with delegated work still running", {
|
|
35223
35539
|
[NAMZU.TURN_ID]: ctx.recorder.turnId,
|
|
35224
35540
|
"namzu.runtime.tasks": abandoned
|
|
@@ -35357,11 +35673,11 @@ function tokenize2(text9) {
|
|
|
35357
35673
|
out.push(whole);
|
|
35358
35674
|
const segments = raw.split(/[/\\.:\-]+/).filter((s) => s.length > 0);
|
|
35359
35675
|
if (segments.length > 1) {
|
|
35360
|
-
for (const
|
|
35361
|
-
const lower =
|
|
35676
|
+
for (const segment2 of segments) {
|
|
35677
|
+
const lower = segment2.toLowerCase();
|
|
35362
35678
|
if (!STOP_WORDS.has(lower) && lower !== whole)
|
|
35363
35679
|
out.push(lower);
|
|
35364
|
-
for (const part2 of splitIdentifier(
|
|
35680
|
+
for (const part2 of splitIdentifier(segment2))
|
|
35365
35681
|
out.push(part2.toLowerCase());
|
|
35366
35682
|
}
|
|
35367
35683
|
} else {
|
|
@@ -57457,8 +57773,8 @@ var DiskMessageFeedbackStore = class {
|
|
|
57457
57773
|
}
|
|
57458
57774
|
ids.set(messageId4, messageId4);
|
|
57459
57775
|
}
|
|
57460
|
-
for (const
|
|
57461
|
-
const decoded = decodeRevisionFileSegment(
|
|
57776
|
+
for (const segment2 of await records2.scanNames(this.revisionsDir(sessionId5), "")) {
|
|
57777
|
+
const decoded = decodeRevisionFileSegment(segment2);
|
|
57462
57778
|
if (decoded === null)
|
|
57463
57779
|
continue;
|
|
57464
57780
|
const messageId4 = asMessageId(decoded);
|
|
@@ -61741,7 +62057,7 @@ async function resolveMcpEra(input) {
|
|
|
61741
62057
|
__name(resolveMcpEra, "resolveMcpEra");
|
|
61742
62058
|
|
|
61743
62059
|
// ../sdk/dist/version.js
|
|
61744
|
-
var VERSION2 = "
|
|
62060
|
+
var VERSION2 = "53.0.0";
|
|
61745
62061
|
|
|
61746
62062
|
// ../sdk/dist/connector/mcp/client.js
|
|
61747
62063
|
var MAX_LIST_PAGES = 100;
|
|
@@ -64915,8 +65231,6 @@ var PLAN_MODE_DOCTRINE = `## Plan mode
|
|
|
64915
65231
|
You are in plan mode. Read, search and think; do not change anything. \`read\`, \`grep\`, \`glob\` and the other read-only tools work as usual, and you may keep a task list. Any \`edit\`, \`write\` or shell command that changes state will be refused, so do not attempt one.
|
|
64916
65232
|
|
|
64917
65233
|
When you have understood the task, reply with the plan: what you would change, in which files, in what order, and what you would verify. Be concrete \u2014 name files and functions \u2014 and short enough to read in one screen. Then stop and wait; the user will leave plan mode to have the plan carried out, and that switch is their approval.`;
|
|
64918
|
-
var CODING_AGENT_HYPERMODE_DOCTRINE = `### Hypermode
|
|
64919
|
-
This session has hypermode on: treat delegation through \`Agent\` as the default for substantive work, not the exception. Before doing multi-step work yourself, ask whether an independent piece of it \u2014 a lookup, a draft, a check \u2014 could run as its own delegation, and prefer delegating it when the answer is yes. This changes only how eagerly you reach for \`Agent\` on work you would otherwise do inline; it does not mount a roster or start any delegation by itself. Agents in the same phase are launched in the same response, each with \`run_in_background: true\` when you mean to wait for them together; a phase is never started one agent at a time.`;
|
|
64920
65234
|
|
|
64921
65235
|
// ../sdk/dist/manager/resident/learning.js
|
|
64922
65236
|
import { createHash as createHash23 } from "node:crypto";
|
|
@@ -70148,6 +70462,15 @@ var PRELUDE_SOURCE = String.raw`(function (config) {
|
|
|
70148
70462
|
if (t === 'object') return typeof value.then === 'function' ? 'a promise' : 'an object';
|
|
70149
70463
|
return 'a ' + t;
|
|
70150
70464
|
}
|
|
70465
|
+
function overBudget() {
|
|
70466
|
+
return config.tokenLimit !== null && config.tokenLimit > 0 && spent.tokensUsed >= config.tokenLimit;
|
|
70467
|
+
}
|
|
70468
|
+
function budgetError() {
|
|
70469
|
+
var e = new Error('Workflow token budget exceeded (' + spent.tokensUsed.toLocaleString('en-US') + ' / ' + config.tokenLimit.toLocaleString('en-US') + ' output tokens). Stopping further agent() calls. Agents already running will finish and their results are kept.');
|
|
70470
|
+
e.name = 'WorkflowBudgetExceededError';
|
|
70471
|
+
return e;
|
|
70472
|
+
}
|
|
70473
|
+
function isBudgetError(e) { return !!e && e.name === 'WorkflowBudgetExceededError'; }
|
|
70151
70474
|
async function agent(prompt, opts) {
|
|
70152
70475
|
if (typeof prompt !== 'string' || prompt.length === 0) {
|
|
70153
70476
|
throw new TypeError('agent(prompt, options?): the prompt must be a non-empty string, got ' + kind(prompt));
|
|
@@ -70156,6 +70479,7 @@ var PRELUDE_SOURCE = String.raw`(function (config) {
|
|
|
70156
70479
|
if (typeof o !== 'object' || Array.isArray(o)) {
|
|
70157
70480
|
throw new TypeError('agent(prompt, options?): options must be an object, got ' + kind(o));
|
|
70158
70481
|
}
|
|
70482
|
+
if (overBudget()) throw budgetError();
|
|
70159
70483
|
var request = { prompt: prompt, cursor: cursor };
|
|
70160
70484
|
if (o.label != null) request.label = clean(o.label, 120);
|
|
70161
70485
|
if (o.phase != null) request.phase = clean(o.phase, 120);
|
|
@@ -70176,12 +70500,16 @@ var PRELUDE_SOURCE = String.raw`(function (config) {
|
|
|
70176
70500
|
throw new TypeError('parallel(thunks): item ' + (p + 1) + ' must be a function (wrap the work as () => agent(...)), got ' + kind(thunks[p]));
|
|
70177
70501
|
}
|
|
70178
70502
|
}
|
|
70179
|
-
|
|
70503
|
+
var dropped = 0;
|
|
70504
|
+
var results = await Promise.all(thunks.map(function (t, n) {
|
|
70180
70505
|
return Promise.resolve().then(t).catch(function (e) {
|
|
70181
|
-
|
|
70506
|
+
if (isBudgetError(e)) { dropped++; return null; }
|
|
70507
|
+
log('Step ' + (n + 1) + ' stopped: ' + clean(e && e.message ? e.message : e, 300));
|
|
70182
70508
|
return null;
|
|
70183
70509
|
});
|
|
70184
70510
|
}));
|
|
70511
|
+
if (dropped > 0) log('parallel: ' + dropped + (dropped === 1 ? ' item' : ' items') + ' dropped because the token budget is spent.');
|
|
70512
|
+
return results;
|
|
70185
70513
|
}
|
|
70186
70514
|
async function pipeline(items) {
|
|
70187
70515
|
if (!Array.isArray(items)) {
|
|
@@ -70193,21 +70521,31 @@ var PRELUDE_SOURCE = String.raw`(function (config) {
|
|
|
70193
70521
|
throw new TypeError('pipeline(items, ...stages): stage ' + (s + 1) + ' must be a function, got ' + kind(stages[s]));
|
|
70194
70522
|
}
|
|
70195
70523
|
}
|
|
70196
|
-
|
|
70524
|
+
if (items.length > 0 && overBudget()) throw budgetError();
|
|
70525
|
+
var dropped = 0;
|
|
70526
|
+
var results = await Promise.all(items.map(async function (item, index) {
|
|
70197
70527
|
var value = item;
|
|
70198
70528
|
for (var i = 0; i < stages.length; i++) {
|
|
70199
70529
|
try {
|
|
70200
|
-
value = await stages[i](value,
|
|
70530
|
+
value = await stages[i](value, item, index);
|
|
70201
70531
|
} catch (e) {
|
|
70202
|
-
|
|
70532
|
+
if (isBudgetError(e)) { dropped++; return null; }
|
|
70533
|
+
log('Item ' + (index + 1) + ' stopped at step ' + (i + 1) + ': ' + clean(e && e.message ? e.message : e, 300));
|
|
70203
70534
|
return null;
|
|
70204
70535
|
}
|
|
70205
70536
|
if (value === null || value === undefined) return null;
|
|
70206
70537
|
}
|
|
70207
70538
|
return value;
|
|
70208
70539
|
}));
|
|
70540
|
+
if (dropped > 0) log('pipeline: ' + dropped + (dropped === 1 ? ' item' : ' items') + ' dropped because the token budget is spent.');
|
|
70541
|
+
return results;
|
|
70209
70542
|
}
|
|
70210
70543
|
var budget = Object.freeze({
|
|
70544
|
+
get total() { return config.tokenLimit; },
|
|
70545
|
+
spent: function () { return spent.tokensUsed; },
|
|
70546
|
+
remaining: function () {
|
|
70547
|
+
return config.tokenLimit === null ? Infinity : Math.max(0, config.tokenLimit - spent.tokensUsed);
|
|
70548
|
+
},
|
|
70211
70549
|
get tokensUsed() { return spent.tokensUsed; },
|
|
70212
70550
|
get tokenLimit() { return config.tokenLimit === null ? undefined : config.tokenLimit; },
|
|
70213
70551
|
});
|
|
@@ -70386,6 +70724,11 @@ var AGENT_CALL_KEYS = /* @__PURE__ */ new Set([
|
|
|
70386
70724
|
"model",
|
|
70387
70725
|
"effort"
|
|
70388
70726
|
]);
|
|
70727
|
+
function defaultAgentLabel(prompt, index) {
|
|
70728
|
+
const label5 = prompt.slice(0, 60).replace(/\s+/g, " ").trim();
|
|
70729
|
+
return label5.length > 0 ? label5 : `Agent ${index}`;
|
|
70730
|
+
}
|
|
70731
|
+
__name(defaultAgentLabel, "defaultAgentLabel");
|
|
70389
70732
|
function integer4(name2, value, min, max) {
|
|
70390
70733
|
if (!Number.isSafeInteger(value) || value < min || value > max) {
|
|
70391
70734
|
throw new RangeError(`${name2} must be an integer between ${min} and ${max}.`);
|
|
@@ -70394,10 +70737,10 @@ function integer4(name2, value, min, max) {
|
|
|
70394
70737
|
}
|
|
70395
70738
|
__name(integer4, "integer");
|
|
70396
70739
|
function resolveWorkflowLimits(limits = {}) {
|
|
70397
|
-
const defaultConcurrency = Math.min(
|
|
70740
|
+
const defaultConcurrency = Math.min(16, Math.max(2, cpus().length - 2));
|
|
70398
70741
|
return {
|
|
70399
70742
|
maxConcurrency: integer4("maxConcurrency", limits.maxConcurrency ?? defaultConcurrency, 1, 16),
|
|
70400
|
-
maxAgents: integer4("maxAgents", limits.maxAgents ??
|
|
70743
|
+
maxAgents: integer4("maxAgents", limits.maxAgents ?? 1e3, 1, 1e3),
|
|
70401
70744
|
maxSourceBytes: integer4("maxSourceBytes", limits.maxSourceBytes ?? 256 * 1024, 1, 4 * 1024 * 1024),
|
|
70402
70745
|
memoryLimitBytes: integer4("memoryLimitBytes", limits.memoryLimitBytes ?? 64 * 1024 * 1024, 16 * 1024 * 1024, 256 * 1024 * 1024),
|
|
70403
70746
|
maxValueBytes: integer4("maxValueBytes", limits.maxValueBytes ?? 1024 * 1024, 1, 16 * 1024 * 1024),
|
|
@@ -70729,7 +71072,7 @@ var WorkflowRuntime = class {
|
|
|
70729
71072
|
const queuedAt = now();
|
|
70730
71073
|
const agent = {
|
|
70731
71074
|
index,
|
|
70732
|
-
label: call2.label ||
|
|
71075
|
+
label: call2.label || defaultAgentLabel(call2.prompt, index),
|
|
70733
71076
|
prompt: call2.prompt,
|
|
70734
71077
|
...phase ? { phaseIndex: phase.index, phaseTitle: phase.title } : {},
|
|
70735
71078
|
...call2.agentType !== void 0 ? { agentType: call2.agentType } : {},
|
|
@@ -73518,7 +73861,7 @@ function pathOf(toolInput) {
|
|
|
73518
73861
|
return void 0;
|
|
73519
73862
|
}
|
|
73520
73863
|
__name(pathOf, "pathOf");
|
|
73521
|
-
var
|
|
73864
|
+
var PASCAL_EVENT_NAMES = {
|
|
73522
73865
|
user_prompt_submit: "UserPromptSubmit",
|
|
73523
73866
|
session_start: "SessionStart",
|
|
73524
73867
|
session_end: "SessionEnd",
|
|
@@ -73597,7 +73940,7 @@ function readShellHookJson(event, stdout) {
|
|
|
73597
73940
|
if (typeof named !== "string") {
|
|
73598
73941
|
return { invalid: "`hookSpecificOutput` is missing its `hookEventName`" };
|
|
73599
73942
|
}
|
|
73600
|
-
if (named !== event && named !==
|
|
73943
|
+
if (named !== event && named !== PASCAL_EVENT_NAMES[event]) {
|
|
73601
73944
|
return {
|
|
73602
73945
|
invalid: `\`hookSpecificOutput.hookEventName\` is "${named}" but this hook ran for ${event}`
|
|
73603
73946
|
};
|
|
@@ -74206,7 +74549,7 @@ var AgentManager = class {
|
|
|
74206
74549
|
}
|
|
74207
74550
|
/**
|
|
74208
74551
|
* The refusal for a delegation past the depth limit. It tells the model what
|
|
74209
|
-
* to do instead
|
|
74552
|
+
* to do instead: a bare limit leaves it
|
|
74210
74553
|
* retrying the same spawn, while an instruction to do the work itself ends the
|
|
74211
74554
|
* attempt. The limit is `AgentManagerConfig.maxDepth`; there is no env override.
|
|
74212
74555
|
*/
|
|
@@ -77294,17 +77637,17 @@ function planWalk(root, options) {
|
|
|
77294
77637
|
});
|
|
77295
77638
|
});
|
|
77296
77639
|
const sets = matchers.flatMap((matcher) => matcher.set);
|
|
77297
|
-
if (sets.some((set3) => set3.some((
|
|
77640
|
+
if (sets.some((set3) => set3.some((segment2) => segment2 === ".."))) {
|
|
77298
77641
|
throw new Error("Expanded file walk pattern escapes its root");
|
|
77299
77642
|
}
|
|
77300
77643
|
const patternDepth = Math.max(1, ...sets.map((set3) => set3.includes(GLOBSTAR) ? Number.POSITIVE_INFINITY : set3.length));
|
|
77301
77644
|
const maxDepth = Math.min(patternDepth, options.maxDepth === void 0 ? Number.POSITIVE_INFINITY : positiveInteger(options.maxDepth, "maxDepth"));
|
|
77302
77645
|
const prefix = [];
|
|
77303
77646
|
for (let index = 0; sets.length > 0; index += 1) {
|
|
77304
|
-
const
|
|
77305
|
-
if (typeof
|
|
77647
|
+
const segment2 = sets[0]?.[index];
|
|
77648
|
+
if (typeof segment2 !== "string" || !segment2 || segment2 === "." || sets.some((set3) => index >= set3.length - 1 || set3[index] !== segment2))
|
|
77306
77649
|
break;
|
|
77307
|
-
prefix.push(
|
|
77650
|
+
prefix.push(segment2);
|
|
77308
77651
|
}
|
|
77309
77652
|
const expressions = matchers.flatMap((matcher) => {
|
|
77310
77653
|
const expression = matcher.makeRe();
|
|
@@ -77318,7 +77661,7 @@ function planWalk(root, options) {
|
|
|
77318
77661
|
maxEntries: positiveInteger(options.maxEntries, "maxEntries"),
|
|
77319
77662
|
maxVisitedEntries: positiveInteger(options.maxVisitedEntries ?? 2e4, "maxVisitedEntries"),
|
|
77320
77663
|
includeHidden: options.includeHidden ?? false,
|
|
77321
|
-
patterns: sets.map((set3) => set3.map((
|
|
77664
|
+
patterns: sets.map((set3) => set3.map((segment2) => segment2 === GLOBSTAR ? null : typeof segment2 === "string" ? segment2 : { source: segment2.source, flags: segment2.flags }))
|
|
77322
77665
|
};
|
|
77323
77666
|
}
|
|
77324
77667
|
__name(planWalk, "planWalk");
|
|
@@ -77335,11 +77678,11 @@ function directoryMatcher(plan) {
|
|
|
77335
77678
|
for (const name2 of relative10.split("/")) {
|
|
77336
77679
|
const next = /* @__PURE__ */ new Set();
|
|
77337
77680
|
for (const index of states) {
|
|
77338
|
-
const
|
|
77339
|
-
if (
|
|
77681
|
+
const segment2 = pattern[index];
|
|
77682
|
+
if (segment2 === null) {
|
|
77340
77683
|
if (plan.includeHidden || !name2.startsWith("."))
|
|
77341
77684
|
next.add(index);
|
|
77342
|
-
} else if (typeof
|
|
77685
|
+
} else if (typeof segment2 === "string" ? segment2 === name2 : segment2?.test(name2))
|
|
77343
77686
|
next.add(index + 1);
|
|
77344
77687
|
}
|
|
77345
77688
|
states = closure(next);
|
|
@@ -89911,17 +90254,17 @@ import { isAbsolute as isAbsolute13, join as join43, relative as relative8, sep
|
|
|
89911
90254
|
// ../sdk/dist/tools/posix-path.js
|
|
89912
90255
|
function normalizeSegments(path2) {
|
|
89913
90256
|
const out = [];
|
|
89914
|
-
for (const
|
|
89915
|
-
if (
|
|
90257
|
+
for (const segment2 of path2.split("/")) {
|
|
90258
|
+
if (segment2 === "" || segment2 === ".")
|
|
89916
90259
|
continue;
|
|
89917
|
-
if (
|
|
90260
|
+
if (segment2 === "..") {
|
|
89918
90261
|
if (out.length > 0 && out[out.length - 1] !== "..")
|
|
89919
90262
|
out.pop();
|
|
89920
90263
|
else
|
|
89921
90264
|
out.push("..");
|
|
89922
90265
|
continue;
|
|
89923
90266
|
}
|
|
89924
|
-
out.push(
|
|
90267
|
+
out.push(segment2);
|
|
89925
90268
|
}
|
|
89926
90269
|
return out;
|
|
89927
90270
|
}
|
|
@@ -93244,6 +93587,7 @@ export {
|
|
|
93244
93587
|
findPendingCheckpoint,
|
|
93245
93588
|
isTerminalAgentTaskState,
|
|
93246
93589
|
CompletionInbox,
|
|
93590
|
+
formatCompletionNotification,
|
|
93247
93591
|
buildAskUserQuestionTool,
|
|
93248
93592
|
resolveTriggerThreshold,
|
|
93249
93593
|
resolveContextWindow,
|
|
@@ -93276,6 +93620,8 @@ export {
|
|
|
93276
93620
|
InMemorySessionTokenBudgetStore,
|
|
93277
93621
|
DiskSessionCheckpointStore,
|
|
93278
93622
|
createFileReadTracker,
|
|
93623
|
+
diffWords,
|
|
93624
|
+
structuredPatch,
|
|
93279
93625
|
dryRunEdit,
|
|
93280
93626
|
seedObservationLedger,
|
|
93281
93627
|
toolResultInjectionGuardrail,
|
|
@@ -93357,7 +93703,6 @@ export {
|
|
|
93357
93703
|
CODING_AGENT_WORKING_DOCTRINE,
|
|
93358
93704
|
CODING_AGENT_DELEGATION_DOCTRINE,
|
|
93359
93705
|
PLAN_MODE_DOCTRINE,
|
|
93360
|
-
CODING_AGENT_HYPERMODE_DOCTRINE,
|
|
93361
93706
|
projectResidentLearning,
|
|
93362
93707
|
createResidentStepContributions,
|
|
93363
93708
|
createResidentStepContext,
|
|
@@ -93437,4 +93782,4 @@ export {
|
|
|
93437
93782
|
buildResidentToolEvidenceTools,
|
|
93438
93783
|
createPalMessagingTools
|
|
93439
93784
|
};
|
|
93440
|
-
//# sourceMappingURL=chunk-
|
|
93785
|
+
//# sourceMappingURL=chunk-RQBT4RVE.js.map
|