@noxsoft/anima 5.0.2 → 5.1.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/dist/{accounts-CSCVz9k9.js → accounts-DjjQHOIW.js} +11 -11
- package/dist/{accounts-CVmv61PJ.js → accounts-Dzi6Ld7X.js} +2 -2
- package/dist/{acp-cli-C8aBckv5.js → acp-cli-I-yv1f5O.js} +15 -15
- package/dist/{acp-cli-DyVMXQS8.js → acp-cli-QBd9GLqD.js} +4 -4
- package/dist/{agent-DiEXJmhj.js → agent-B3KeHK1A.js} +12 -12
- package/dist/{agent-CWQdTmzC.js → agent-fG1PVmNy.js} +16 -16
- package/dist/{agent-scope-DICrDp7Y.js → agent-scope-BHR6uOLT.js} +2 -2
- package/dist/{agent-scope-BLiq3nK_.js → agent-scope-ryeVDUKe.js} +2 -2
- package/dist/{agents-rAIsxGuA.js → agents-DY5ZtGB2.js} +11 -11
- package/dist/{agents.config-Bqr5rrkV.js → agents.config-DmF0fsB6.js} +1 -1
- package/dist/{anthropic-direct-runner-_uCPWuBb.js → anthropic-direct-runner-BJosFvVm.js} +203 -215
- package/dist/{anthropic-direct-runner--MPTWkYA.js → anthropic-direct-runner-BXb24VJt.js} +208 -220
- package/dist/{audit-DqjWCAbO.js → audit-BTMmL_HS.js} +9 -9
- package/dist/{audit-DegswVkZ.js → audit-qHMf9jWY.js} +16 -16
- package/dist/{auth-Cs_c5TKt.js → auth-DQfFqQBz.js} +3 -3
- package/dist/{auth-choice-o5GHtPGA.js → auth-choice-BoyT3ahK.js} +5 -5
- package/dist/{auth-health-D0VUH0FQ.js → auth-health-BcABdgUT.js} +1 -1
- package/dist/{auth-profiles-k5IOWaG2.js → auth-profiles-BF5x9Ej0.js} +1 -1
- package/dist/{auth-profiles-BhZX2spm.js → auth-profiles-C_LmTbMb.js} +5 -5
- package/dist/{auth-profiles-DriJ4HU5.js → auth-profiles-Da39zGOD.js} +4 -4
- package/dist/{auth-store-D0vDEvCx.js → auth-store-CXZzirrJ.js} +3 -3
- package/dist/{auth-store-BMwyg-WK.js → auth-store-DTpDRu--.js} +3 -3
- package/dist/{banner-Gtp-FQrx.js → banner-CJVa8aiZ.js} +1 -1
- package/dist/{bonjour-discovery-DaCmsB4i.js → bonjour-discovery-B3IeIN1u.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +20 -20
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +15 -15
- package/dist/{call-Z_GCO8CL.js → call-BKsdSTVf.js} +1 -1
- package/dist/{call-BOwaQIXo.js → call-C3CH9PNK.js} +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{catalog-B-pfqu76.js → catalog-3hzXhHxJ.js} +2 -2
- package/dist/{channel-web-Dz0XZNjP.js → channel-web-Df3Ay9v7.js} +18 -18
- package/dist/{channels-status-issues-Dqd_vE0e.js → channels-status-issues-BlmAMBCg.js} +2 -2
- package/dist/{channels-status-issues-DenKLCLq.js → channels-status-issues-D5XAOSaj.js} +4 -4
- package/dist/{chrome-CB6uZMvl.js → chrome-B2-33FWf.js} +1 -1
- package/dist/{chrome-C3-muxXb.js → chrome-CLhrEjgx.js} +4 -4
- package/dist/{chrome-CKvch3UL.js → chrome-CkSIMI7j.js} +9 -9
- package/dist/{chunk-DGg8zCWl.js → chunk-Dq7ILx_r.js} +2 -2
- package/dist/{chunk-DFCmYqgJ.js → chunk-fcLG1hME.js} +1 -1
- package/dist/{clack-prompter-OFy356QZ.js → clack-prompter-DmD_A7en.js} +5 -5
- package/dist/{clack-prompter-BRLXmV52.js → clack-prompter-bl-Zsxpq.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-BZz5MnAE.js → cli-0-FvuyBX.js} +35 -35
- package/dist/cli-CLVEx1Po.js +104 -0
- package/dist/{cli-session-8PeURiwF.js → cli-session-CmX1oA1T.js} +11 -11
- package/dist/{cli-session-CczB2Dni.js → cli-session-gR2abU0g.js} +16 -16
- package/dist/{client-BObcTF_9.js → client-BT3pbXCv.js} +3 -3
- package/dist/{command-registry-C9kvlc67.js → command-registry-C2OzDE22.js} +12 -12
- package/dist/{common-k1Cu8adj.js → common-Bi43BlMQ.js} +2 -2
- package/dist/{common-Cd7BmlCQ.js → common-CSTOiddD.js} +2 -2
- package/dist/{common-C5mWuFve.js → common-FlJ-8clz.js} +2 -2
- package/dist/{completion-cli-DhbIrk13.js → completion-cli-BjGTEn0-.js} +3 -3
- package/dist/{completion-cli-Ci_MzRm6.js → completion-cli-Dafpu0xU.js} +2 -2
- package/dist/{config-DezP7V65.js → config-BfhpauV9.js} +6 -6
- package/dist/{config-CG7uuHNE.js → config-Dk-5Mb_G.js} +6 -6
- package/dist/{config-D6D_ieel.js → config-Ofh9gKvs.js} +1 -1
- package/dist/config-cli-CajDGi9m.js +15 -0
- package/dist/{config-cli-ePL5ncye.js → config-cli-De0z7mvk.js} +3 -3
- package/dist/{config-guard-BT3OoaEu.js → config-guard-BnkobgvR.js} +21 -21
- package/dist/{config-guard-CCOBZ77Q.js → config-guard-DlOs5hMU.js} +2 -2
- package/dist/{configure-DxKMnCHX.js → configure-BXK8YRUD.js} +48 -48
- package/dist/{configure-KP7q9c7h.js → configure-Caf6yI_m.js} +24 -24
- package/dist/{configure-D-9Ezgal.js → configure-DS9oQW51.js} +78 -78
- package/dist/{configure-CkGsX5z9.js → configure-DgXRL7Uz.js} +12 -12
- package/dist/{context-Cau0zD3W.js → context-BZV-msqG.js} +1 -1
- package/dist/{control-service-DMoq3DpT.js → control-service-BFYEuU-S.js} +5 -5
- package/dist/{control-service-D3rS-Yd1.js → control-service-DUF4hGd3.js} +4 -4
- package/dist/control-ui/assets/{index-T9qO6Dye.js → index-qmVN_9qV.js} +2 -2
- package/dist/control-ui/assets/{index-T9qO6Dye.js.map → index-qmVN_9qV.js.map} +1 -1
- package/dist/control-ui/index.html +1 -1
- package/dist/{cron-cli-3QY_K0l_.js → cron-cli-BglUapfu.js} +5 -5
- package/dist/{cron-cli-ybIqf_95.js → cron-cli-OHSsCpVe.js} +16 -16
- package/dist/{daemon-cli-C5Tosclk.js → daemon-cli-B2UGyc5z.js} +19 -19
- package/dist/{daemon-cli-NZ84KRN8.js → daemon-cli-CO-1GTE_.js} +7 -7
- package/dist/daemon-cli.js +58 -1
- package/dist/{daemon-runtime-B9AywEma.js → daemon-runtime-BsUCg0Nr.js} +3 -3
- package/dist/{daemon-runtime-DpY6Y5qE.js → daemon-runtime-cGQoReHT.js} +1 -1
- package/dist/{deliver-BhezvxNA.js → deliver-CoAOvyW0.js} +4 -4
- package/dist/{deliver-BJn4EmMZ.js → deliver-DhQSpWQA.js} +4 -4
- package/dist/{deliver-B2p9Fke_.js → deliver-DvbZ8dp4.js} +6 -6
- package/dist/{deps-CBLy0fqA.js → deps-CCbWMWT4.js} +1 -1
- package/dist/{diagnostics-TXSvtpaq.js → diagnostics-CtqVmSaZ.js} +1 -1
- package/dist/{dispatcher-DG44QJKz.js → dispatcher-C4k9ABOv.js} +2 -2
- package/dist/{dispatcher-Bk0gFz4b.js → dispatcher-N_4IYF9I.js} +1 -1
- package/dist/{dns-cli-BklOUsrX.js → dns-cli-DJ8mwzgA.js} +2 -2
- package/dist/{dns-cli-Dq98107U.js → dns-cli-Dk48S2y7.js} +13 -13
- package/dist/{docs-cli-CehJ2v5M.js → docs-cli-BvBEqoCl.js} +7 -7
- package/dist/{doctor-DsRSWr6B.js → doctor-C60p9Wb-.js} +40 -40
- package/dist/{doctor-Bto-K3wL.js → doctor-DUc-8AEz.js} +24 -24
- package/dist/{doctor-completion-B-SFdu-f.js → doctor-completion-BByLPJCm.js} +3 -3
- package/dist/{doctor-completion-OQXTo6RG.js → doctor-completion-hJ6FS0xQ.js} +1 -1
- package/dist/{doctor-config-flow-D0GgdMmi.js → doctor-config-flow-Bno6wZvG.js} +7 -7
- package/dist/{doctor-config-flow-CEkHIHe5.js → doctor-config-flow-rshwu4JS.js} +3 -3
- package/dist/{engine-634ModrT.js → engine-BUfB6LK8.js} +174 -1
- package/dist/{engine-CQSXA0CY.js → engine-CILiNnsV.js} +174 -1
- package/dist/entry.js +59 -2
- package/dist/{env-T3-raV4i.js → env-CLiKFfXU.js} +1 -1
- package/dist/{exec-DbnX_71w.js → exec-Bo7Vwe77.js} +1 -1
- package/dist/{exec-DnanRQle.js → exec-CEFTijVj.js} +1 -1
- package/dist/{exec-approvals-cli-B7hQEhGe.js → exec-approvals-cli-CRqO-FRn.js} +19 -19
- package/dist/{exec-approvals-cli-CcY7IQWQ.js → exec-approvals-cli-i_Bmu0zE.js} +4 -4
- package/dist/extensionAPI.js +227 -127
- package/dist/{gateway-cli-CEGPCQ_C.js → gateway-cli-CIyCKLlw.js} +61 -61
- package/dist/{gateway-cli-Buxz8Y2n.js → gateway-cli-EWjMWXQ8.js} +99 -99
- package/dist/{gateway-rpc-LkRV5joR.js → gateway-rpc-BX-Pz0j8.js} +3 -3
- package/dist/{gateway-rpc-De-TWFvD.js → gateway-rpc-BvqpdNqp.js} +1 -1
- package/dist/{gmail-setup-utils-B4oMbrOI.js → gmail-setup-utils-B-LgbK-5.js} +3 -3
- package/dist/{health-CMIY7xAI.js → health-BVBoq6jM.js} +14 -14
- package/dist/{health-DoGFlPcq.js → health-DKC8u4W8.js} +18 -18
- package/dist/{health-format-Ojy0hLp3.js → health-format-DHYaqzgj.js} +2 -2
- package/dist/{heartbeat-visibility-DuRmIKOk.js → heartbeat-visibility-CF3WzMM0.js} +1 -1
- package/dist/{heartbeat-visibility-BOyU9ccw.js → heartbeat-visibility-CUKC8xqZ.js} +1 -1
- package/dist/{help-format-BZ7j9sHT.js → help-format-mLYxJ3oD.js} +1 -1
- package/dist/{hooks-cli-B1NXXLxe.js → hooks-cli-BHO_BQFY.js} +36 -36
- package/dist/{hooks-cli-BuIU6v0Q.js → hooks-cli-kLrFK7pV.js} +57 -57
- package/dist/{hooks-status-DR_WkhpR.js → hooks-status-CfvVr6eJ.js} +3 -3
- package/dist/{image-ops-B7tKwzpV.js → image-ops-C_aRXc-7.js} +1 -1
- package/dist/index.js +69 -69
- package/dist/{installs-Drds9RDI.js → installs-DBvIs2By.js} +1 -1
- package/dist/{installs-BxZFjTKY.js → installs-DW-ErO4y.js} +5 -5
- package/dist/{lanes-4_8h1ZQO.js → lanes-CrNcoc6P.js} +208 -153
- package/dist/{lifecycle-core-CHv9wUhV.js → lifecycle-core-DWESti3N.js} +6 -6
- package/dist/{links-CziCxopc.js → links-C4Hwnnc9.js} +1 -1
- package/dist/llm-slug-generator.js +15 -15
- package/dist/{logging-Dwz0XtXm.js → logging-CnEuyIPZ.js} +1 -1
- package/dist/{login-BvRe8YZ9.js → login-CY9_XaLc.js} +7 -7
- package/dist/{login-DwP4KleZ.js → login-Dj6hCAFK.js} +5 -5
- package/dist/{login-DevThvtW.js → login-Ga69_Kio.js} +2 -2
- package/dist/{login-qr-FDWY-tu5.js → login-qr-BYeWGzxI.js} +12 -12
- package/dist/{login-qr-wnynuvLt.js → login-qr-DD1apkdT.js} +9 -9
- package/dist/{login-qr-BkpIGqae.js → login-qr-swgX7elR.js} +3 -3
- package/dist/{logs-cli-CiMRc2qL.js → logs-cli-D02oahhw.js} +4 -4
- package/dist/{logs-cli-CsfmPUwa.js → logs-cli-DAVu9h8p.js} +16 -16
- package/dist/{manager-ibNP7jE3.js → manager-CLAy-qOR.js} +10 -10
- package/dist/{manager-v4S80Br3.js → manager-DQPfk6Ea.js} +12 -12
- package/dist/{manager-j0ghUvcW.js → manager-yWxV2UI_.js} +5 -5
- package/dist/{manifest-registry-BiGCvMJ8.js → manifest-registry-BJat2nhC.js} +1 -1
- package/dist/{media-BLVMhFB3.js → media-IIqSkFpd.js} +2 -2
- package/dist/{memory-cli-DSWsPuub.js → memory-cli-B8AsIRG3.js} +7 -7
- package/dist/{memory-cli-Cl2n9UtH.js → memory-cli-bA70cVlm.js} +12 -12
- package/dist/{message-channel-DuxJGOJz.js → message-channel-C5I8UgGH.js} +1 -1
- package/dist/{model-auth-Ja4oelNH.js → model-auth-Be3_KahV.js} +2 -2
- package/dist/{model-auth-DVG37yXU.js → model-auth-DBHvPqaY.js} +4 -4
- package/dist/{model-auth-BKf-GZVK.js → model-auth-DYHjH-Oh.js} +3 -3
- package/dist/{model-selection-DT-L7bjC.js → model-selection-BuMFehML.js} +5 -2
- package/dist/{model-selection-BKFF7fDb.js → model-selection-DFbDH9o2.js} +4 -1
- package/dist/{model-selection-C2dAUmK_.js → model-selection-DRIxw3do.js} +5 -2
- package/dist/{models-BU0CytAy.js → models-B9jYbX5H.js} +39 -39
- package/dist/{node-cli-DcwOFcxq.js → node-cli-C_efNJ2B.js} +11 -11
- package/dist/{node-cli-CZuWFgpO.js → node-cli-ScPCT6uD.js} +28 -28
- package/dist/{node-service-Ds1r16VN.js → node-service-BCfZtWK_.js} +1 -1
- package/dist/{note-Daao-cv8.js → note-DjzS4Am4.js} +2 -2
- package/dist/{npm-registry-spec-fJIJ8GG5.js → npm-registry-spec-Opq9qQXl.js} +1 -1
- package/dist/{onboard-c84IExbH.js → onboard-0jkVY0R7.js} +17 -17
- package/dist/{onboard-Dd5wJkeU.js → onboard-CXF35e0Q.js} +10 -10
- package/dist/{onboard-channels-CCoMzCXV.js → onboard-channels-DSlUCvl1.js} +4 -4
- package/dist/{onboard-channels-DYr7fQZq.js → onboard-channels-DwPNXSwW.js} +9 -9
- package/dist/{onboard-helpers-BgsHO6fO.js → onboard-helpers-CU_S0_Kf.js} +10 -10
- package/dist/{onboard-helpers-BRp_xJvW.js → onboard-helpers-tkuUrdCB.js} +3 -3
- package/dist/{onboarding-BINruD5r.js → onboarding-DUwydrf2.js} +20 -20
- package/dist/{onboarding-192Oe9K6.js → onboarding-DnJvWjIp.js} +11 -11
- package/dist/{outbound-RxegsVGB.js → outbound-B84phlQU.js} +4 -4
- package/dist/{outbound-BVSyNp-t.js → outbound-CKmmCVxJ.js} +2 -2
- package/dist/{outbound-BaBDhLp1.js → outbound-DKM-JeSH.js} +5 -5
- package/dist/{parse-timeout-C1INlSUG.js → parse-timeout-C59j-ev4.js} +2 -2
- package/dist/{parse-timeout-C8t_lmnL.js → parse-timeout-aZGyXXFz.js} +3 -3
- package/dist/{path-env-CsgLP0dy.js → path-env-cFxXrXB1.js} +1 -1
- package/dist/{paths-DybdJi5a.js → paths-CLxC7m0Z.js} +1 -1
- package/dist/{pi-auth-json-MH7vz0HI.js → pi-auth-json-DPoqstQN.js} +7 -7
- package/dist/{pi-auth-json-BY6wRDm0.js → pi-auth-json-DjxzPUt3.js} +2 -2
- package/dist/{pi-auth-json-BSLIRI41.js → pi-auth-json-hMxhauJ8.js} +6 -6
- package/dist/{pi-embedded-DJF_gfcQ.js → pi-embedded-JUmNmkTK.js} +218 -175
- package/dist/{pi-embedded-helpers-iju5zIIA.js → pi-embedded-helpers-B6wVA0hU.js} +1 -1
- package/dist/{tokens-DXjI-TIV.js → pi-embedded-helpers-B_Sx4G6d.js} +40 -30
- package/dist/{pi-tools.policy-Dtytaq21.js → pi-tools.policy-Bn9S3ywB.js} +3 -3
- package/dist/{pi-tools.policy-CN78I2yN.js → pi-tools.policy-ChzY9kW7.js} +7 -7
- package/dist/{plugin-auto-enable-DLrgOd4y.js → plugin-auto-enable-UE1XVFcw.js} +1 -1
- package/dist/{plugin-auto-enable-DIWd94Po.js → plugin-auto-enable-f05JE-GF.js} +5 -5
- package/dist/{plugin-registry-B0k-53-_.js → plugin-registry-BeB2L6Qe.js} +2 -2
- package/dist/{plugin-registry-CqUo-PU_.js → plugin-registry-DIXcynua.js} +4 -4
- package/dist/plugin-sdk/agents/anthropic-direct-runner.d.ts +1 -1
- package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +2 -2
- package/dist/plugin-sdk/gateway/protocol/index.d.ts +22 -22
- package/dist/plugin-sdk/index.js +75 -8
- package/dist/{plugins-C_GedoUi.js → plugins-DCXdhkeB.js} +2 -2
- package/dist/{plugins-BmYfBGLM.js → plugins-NbldDVJs.js} +1 -1
- package/dist/{plugins-cli-YjM8IsVo.js → plugins-cli-CzUD-ewi.js} +58 -58
- package/dist/{plugins-cli-BYLUFsjH.js → plugins-cli-Dk2W0fBT.js} +39 -39
- package/dist/{polls-Cuv4dsX_.js → polls-OzE9fR2s.js} +6 -6
- package/dist/{ports-Bv3sZ3bd.js → ports-COy7Yg_k.js} +1 -1
- package/dist/{ports-DOiSDgNp.js → ports-CWvYU8j6.js} +4 -4
- package/dist/{ports-BQ0cAsGj.js → ports-Cgow804e.js} +2 -2
- package/dist/{ports-BmSDzOHm.js → ports-DyX87qKc.js} +1 -1
- package/dist/{program-CG5u1KAB.js → program-5WLZIQS0.js} +42 -42
- package/dist/{program-context-Co2gkUS0.js → program-context-D9GxGetv.js} +33 -33
- package/dist/{progress-BZZa-fXr.js → progress-DzZ_4Z4f.js} +1 -1
- package/dist/{prompt-style-1bwj7IzZ.js → prompt-style-C7WfXowC.js} +1 -1
- package/dist/{prompts-NvPXbNVc.js → prompts-BfHxhlF9.js} +1 -1
- package/dist/{prompts-DjKZfP5R.js → prompts-DH_nIROF.js} +5 -5
- package/dist/{pw-ai-CvxTpFmB.js → pw-ai-A7vggLw8.js} +3 -3
- package/dist/{pw-ai-BhoKfvvM.js → pw-ai-Bigm0Qwh.js} +7 -7
- package/dist/{pw-ai-C3j5kV3T.js → pw-ai-CsODxGt8.js} +3 -3
- package/dist/{qmd-manager-BGob_1OP.js → qmd-manager-C3z8LWKx.js} +6 -6
- package/dist/{qmd-manager-BDq5_dd6.js → qmd-manager-DQsAtmK7.js} +2 -2
- package/dist/{qmd-manager-BmGj4bZk.js → qmd-manager-lfhigvUf.js} +6 -6
- package/dist/{register.agent-WAjZHuZe.js → register.agent-BVwbjkKx.js} +45 -45
- package/dist/{register.agent-PbAKdlNK.js → register.agent-D0FKVD_s.js} +70 -70
- package/dist/{register.anima-CZNjkwJH.js → register.anima-6AX4kr6X.js} +5 -5
- package/dist/{register.anima-CDcnWfQF.js → register.anima-TQ2FcqSW.js} +5 -5
- package/dist/{register.configure-C2zfgyp9.js → register.configure-BrRG_RtB.js} +47 -47
- package/dist/register.configure-CXKr61Ka.js +108 -0
- package/dist/register.maintenance-BfH0d3D1.js +103 -0
- package/dist/{register.maintenance-DkF1Nu_y.js → register.maintenance-aV9eDZ8M.js} +49 -49
- package/dist/{register.onboard-xOXNrMu-.js → register.onboard-DMIRIaKp.js} +48 -48
- package/dist/{register.onboard-DiZzjEwz.js → register.onboard-KGgXqrIn.js} +71 -71
- package/dist/{register.setup-BmbpgUVU.js → register.setup-Bn-Wvo1o.js} +48 -48
- package/dist/{register.setup-QAjNkIZr.js → register.setup-jbxBj9qs.js} +71 -71
- package/dist/{register.status-health-sessions-RZxaVSa6.js → register.status-health-sessions-D1kjQUAc.js} +67 -67
- package/dist/{register.status-health-sessions-Cm-lxcT6.js → register.status-health-sessions-mdLJbfPN.js} +43 -43
- package/dist/{register.subclis-DCljHJ5a.js → register.subclis-D_5Wry25.js} +20 -20
- package/dist/{reply-Dd3EmI4M.js → reply-CwV-5jE0.js} +56 -52
- package/dist/{reply-Bw4torMz.js → reply-DAGmjvs-.js} +44 -40
- package/dist/{reply-prefix-DIoRETAD.js → reply-prefix-BRsV1Eof.js} +2 -2
- package/dist/{reply-prefix-Dy_yxyCq.js → reply-prefix-CAsFNEP7.js} +2 -2
- package/dist/{routes-C2EyUA9x.js → routes-CYHrkIjB.js} +6 -6
- package/dist/{routes-CNSdZAkl.js → routes-cdfVFYMI.js} +4 -4
- package/dist/{run-DgtaDzEe.js → run-C3FoI9q0.js} +70 -70
- package/dist/{run--R4y3YlU.js → run-DjvqhNEK.js} +47 -47
- package/dist/{run-main-eUWh86lF.js → run-main-y01J5xzi.js} +55 -55
- package/dist/{runtime-guard-B40AREJ_.js → runtime-guard-CNnLK4pn.js} +1 -1
- package/dist/{sandbox-BwUo1b0I.js → sandbox-B4-dXpqZ.js} +6 -6
- package/dist/{sandbox-BoNWDo4X.js → sandbox-DhcoWMaN.js} +2 -2
- package/dist/{sandbox-cli-D9-wZJ9M.js → sandbox-cli-DQMWPCOh.js} +24 -24
- package/dist/{sandbox-cli-lbp0TV67.js → sandbox-cli-TAuv3mTO.js} +12 -12
- package/dist/{security-cli-CX5uciKz.js → security-cli-Da-3YxZ4.js} +29 -29
- package/dist/{security-cli-CfvP5VqT.js → security-cli-Dc-NwTC2.js} +16 -16
- package/dist/{semantic-Buqqx7gZ.js → semantic-BlQgdb3-.js} +1 -1
- package/dist/{semantic-B4TOg4CK.js → semantic-VlSmVCfb.js} +1 -1
- package/dist/{server-context-IfJbmK25.js → server-context-C-usQ5Np.js} +7 -7
- package/dist/{server-context-efO1YgXk.js → server-context-r7wPe4ZD.js} +9 -9
- package/dist/{server-node-events-CFCwOP0n.js → server-node-events-3KeQAwUo.js} +23 -23
- package/dist/{server-node-events-BG4e9Ws7.js → server-node-events-GTSQEd_U.js} +36 -36
- package/dist/{service-D1idQeBv.js → service-DCVAkKlN.js} +1 -1
- package/dist/{service-audit-BzwV-IOi.js → service-audit-Crw1cAbj.js} +1 -1
- package/dist/{service-audit-BbwXAhsr.js → service-audit-DRIpsryX.js} +3 -3
- package/dist/{session-Dvwwi-Eb.js → session-CrGApVik.js} +1 -1
- package/dist/{session-skOcrvF2.js → session-D3BNUwtH.js} +1 -1
- package/dist/{session-DCGAvNG9.js → session-DKCUYHCS.js} +1 -1
- package/dist/{session-cost-usage-6bDLU9Pb.js → session-cost-usage-LvsvRW5g.js} +1 -1
- package/dist/{session-cost-usage-lLyz71EH.js → session-cost-usage-vltn5akf.js} +1 -1
- package/dist/{session-BjPdEBPh.js → session-mpOb9zFL.js} +5 -5
- package/dist/{sessions-kJgmpWtv.js → sessions-BduC6sZj.js} +78 -68
- package/dist/{sessions-C3bteMLZ.js → sessions-CAiEkTKb.js} +21 -11
- package/dist/{sessions-BZgIAOwH.js → sessions-DLPN62LD.js} +5 -5
- package/dist/{settings-cli-C9TMl9Ye.js → settings-cli-BgGYdH4N.js} +77 -77
- package/dist/{settings-cli-Cf0LCRjt.js → settings-cli-f0O0FUVO.js} +48 -48
- package/dist/{setup-token-DBwe6GDq.js → setup-token-lcjrc9sO.js} +28 -28
- package/dist/{setup-token-DTgSXfj7.js → setup-token-ykp60QVx.js} +18 -18
- package/dist/{shared-DC8lQHCt.js → shared-Ca0NTTF0.js} +3 -3
- package/dist/{shell-env-JzaPTLKV.js → shell-env-BZ_fIIlm.js} +1 -1
- package/dist/{shell-env-V934Ymrk.js → shell-env-DaSbgZYX.js} +1 -1
- package/dist/{skill-scanner-DPQDhVEr.js → skill-scanner--TxpCSNF.js} +1 -1
- package/dist/{skill-scanner-HQwt_KRF.js → skill-scanner-BzOYLFR8.js} +1 -1
- package/dist/{skills-cli-OYZS-U1f.js → skills-cli-BpyTvFkg.js} +16 -16
- package/dist/{skills-cli-CSMzc9am.js → skills-cli-Tm326cFx.js} +2 -2
- package/dist/{skills-install-BKz5WLq4.js → skills-install-B2m10oTm.js} +5 -5
- package/dist/{skills-install-CC63dOs4.js → skills-install-D_bxdc-6.js} +2 -2
- package/dist/{skills-status-B_umZ78Q.js → skills-status-D14GZ5WN.js} +3 -3
- package/dist/{skills-ppB3qrZU.js → skills-wS8aRGeO.js} +3 -3
- package/dist/{soul-DpWsWxOa.js → soul-CAEpnUkv.js} +1 -1
- package/dist/{soul-aZoR6Ctt.js → soul-D9EtC35X.js} +1 -1
- package/dist/{sqlite-CnVGUfhz.js → sqlite-B0rfPL8q.js} +2 -2
- package/dist/{sqlite-Duz1QJIT.js → sqlite-CR0WDTae.js} +2 -2
- package/dist/{sqlite-Co_lF3s-.js → sqlite-jyjat2Yt.js} +1 -1
- package/dist/{start-CHLGEHeF.js → start-Bw_vmF_A.js} +58 -58
- package/dist/start-C7I2A2NR.js +157 -0
- package/dist/{status-BsCeWiLS.js → status-BplZv8_T.js} +2 -2
- package/dist/{status-D_FTGxBZ.js → status-K3LGPZeT.js} +4 -4
- package/dist/{status-CwjUrZ7a.js → status-Uzlo7BvY.js} +27 -27
- package/dist/{status-C4ZTdSwA.js → status-rt3tIYmL.js} +18 -18
- package/dist/{status.update-P6xyBet8.js → status.update-B61Emp_r.js} +3 -3
- package/dist/{status.update-Cx5l38lC.js → status.update-yjbKzlMn.js} +2 -2
- package/dist/{subagent-registry-7qo93ip8.js → subagent-registry-DfCDq9hk.js} +14 -14
- package/dist/{subagent-registry-hRt-aJnL.js → subagent-registry-Dpln2inP.js} +15 -15
- package/dist/{subagent-registry-EoZxIEKl.js → subagent-registry-ZIpC5W-9.js} +11 -11
- package/dist/{subsystem-Cn6bJV8Z.js → subsystem-BMsbqSb4.js} +58 -1
- package/dist/{subsystem-WFp78xn1.js → subsystem-BP2l3SHn.js} +58 -1
- package/dist/{system-cli-Dbn4_ed8.js → system-cli-D-eyDWD6.js} +4 -4
- package/dist/{system-cli-lmslA_Ox.js → system-cli-Dy2Pwnbg.js} +15 -15
- package/dist/{systemd-DYPdTwok.js → systemd-DXo2A9_S.js} +2 -2
- package/dist/{systemd-hints-E8yYE8Q1.js → systemd-hints-DIjCA1An.js} +1 -1
- package/dist/{systemd-linger-CpWguZ4b.js → systemd-linger-DgB-ow-D.js} +2 -2
- package/dist/{table-B991ZwKi.js → table-C-GNQABy.js} +2 -2
- package/dist/{timeout-B0mCaCG5.js → timeout-Cl8rWNWO.js} +79 -24
- package/dist/{tokens-k_R7Y792.js → tokens-FGW_JgKz.js} +1 -1
- package/dist/{tool-images-DJZPwGqm.js → tool-images-Df50dvpv.js} +2 -2
- package/dist/{tool-images-BehEzEZF.js → tool-images-RiPaL7wQ.js} +2 -2
- package/dist/{tool-images-09hnvylP.js → tool-images-y_Ribdl6.js} +1 -1
- package/dist/{tui-PCTDV7Ct.js → tui-NlR4LFBm.js} +9 -9
- package/dist/{tui-LRoQ5xyx.js → tui-YsmTyq58.js} +4 -4
- package/dist/{tui-cli-DO_6-GWy.js → tui-cli-CSudxVpO.js} +17 -17
- package/dist/{tui-cli-D39zC_Ew.js → tui-cli-QnKj1We8.js} +28 -28
- package/dist/{update-tjMvDUCw.js → update-B2O46V_t.js} +3 -3
- package/dist/{update-DmVSt9s3.js → update-VFbS9X5L.js} +1 -1
- package/dist/{update-cli-jEzmvaqS.js → update-cli-CYckFoOW.js} +54 -54
- package/dist/{update-cli-CnYFvEud.js → update-cli-qnUbkPLj.js} +86 -86
- package/dist/{update-runner-OPbRGUfX.js → update-runner-U2WcWGfd.js} +5 -5
- package/dist/{update-runner-IARYjXbS.js → update-runner-fvdM_Hip.js} +2 -2
- package/dist/{usage-BTc8TK3f.js → usage-CM-NiwBA.js} +9 -9
- package/dist/{utils-dWKYjULE.js → utils-B60lF9Wq.js} +1 -1
- package/dist/web-BzFhL5WI.js +67 -0
- package/dist/{web-kEraFv8s.js → web-BzuoDOfQ.js} +41 -41
- package/dist/{web-Honf40Cm.js → web-eoSM6P0a.js} +39 -39
- package/dist/{webhooks-cli-CYbIJJF6.js → webhooks-cli-24A2CbXR.js} +2 -2
- package/dist/{webhooks-cli-oRmSfYdd.js → webhooks-cli-CgkxWcH5.js} +13 -13
- package/dist/{whatsapp-actions-I9RXDK_k.js → whatsapp-actions-BVlqbVgY.js} +8 -8
- package/dist/{whatsapp-actions-_BrQebuX.js → whatsapp-actions-BYxKWK0A.js} +12 -12
- package/dist/{whatsapp-actions-BB-Leqn2.js → whatsapp-actions-DagVwYC6.js} +17 -17
- package/dist/{widearea-dns-CkuHFBQy.js → widearea-dns-B1TTb1v5.js} +1 -1
- package/dist/{workspace-DOJssemp.js → workspace-Cvio8QlZ.js} +1 -1
- package/dist/{ws-log-B-xsUQys.js → ws-log-De7GACYn.js} +1 -1
- package/dist/{ws-CQYP0dWu.js → ws-sdRTa2sP.js} +1 -1
- package/package.json +1 -1
- package/templates/CURIOSITY.md +71 -0
- package/templates/GOALS.md +74 -0
- package/templates/HEARTBEAT.md +49 -0
- package/templates/OPEN_THREADS.md +95 -0
- package/templates/WISHES.md +73 -0
- package/dist/cli-CJfwHH_z.js +0 -104
- package/dist/config-cli-uk9vdQZH.js +0 -15
- package/dist/register.configure-CNhagtHN.js +0 -108
- package/dist/register.maintenance-DWJjWsIl.js +0 -103
- package/dist/start-B2DQAmEK.js +0 -157
- package/dist/web-u554zkLK.js +0 -67
- /package/dist/{auth-DK-0XxZU.js → auth-DuBZWd74.js} +0 -0
- /package/dist/{command-format-B1WxXbeU.js → command-format-UwAvxtMC.js} +0 -0
- /package/dist/{errors-B9FgVZ2s.js → errors-D6Vj_xs4.js} +0 -0
- /package/dist/{errors-DjZBTJJ3.js → errors-l_q3lLBC.js} +0 -0
- /package/dist/{file-lock-BRW4LeL0.js → file-lock-BFQVGKm5.js} +0 -0
- /package/dist/{image-ops-BsXjYj1e.js → image-ops-BVtm-rU-.js} +0 -0
- /package/dist/{internal-hooks-CZOlj8zG.js → internal-hooks-CWw3Hgeu.js} +0 -0
- /package/dist/{paths-CxBUgtZS.js → paths-B_RPJLsn.js} +0 -0
- /package/dist/{paths-BvY3CbW0.js → paths-CnuAkdfx.js} +0 -0
- /package/dist/{pi-embedded-helpers-CWl0I3Qm.js → pi-embedded-helpers-Cxzk0pra.js} +0 -0
- /package/dist/{plugins-BDSP0cT6.js → plugins-CFBEoAN4.js} +0 -0
- /package/dist/{tailnet-CjJJHjPU.js → tailnet-CabhakZ7.js} +0 -0
- /package/dist/{tokens-QjoPADtG.js → tokens-DLpZ8RFH.js} +0 -0
- /package/dist/{transcript-events-DUQC5hbS.js → transcript-events-C1hdue6u.js} +0 -0
- /package/dist/{transcript-events-DdnTeoR1.js → transcript-events-CJRvASY_.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as resolveAnimaPackageRoot } from "./anima-root-Bot0EbzI.js";
|
|
2
|
-
import { r as resolveCliName } from "./command-format-
|
|
3
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
-
import { t as note } from "./note-
|
|
2
|
+
import { r as resolveCliName } from "./command-format-UwAvxtMC.js";
|
|
3
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BjGTEn0-.js";
|
|
4
|
+
import { t as note } from "./note-DjzS4Am4.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as resolveCliName } from "./command-format-kLw3YIIu.js";
|
|
2
2
|
import { t as resolveAnimaPackageRoot } from "./anima-root-CxtpOklc.js";
|
|
3
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
3
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Dafpu0xU.js";
|
|
4
4
|
import { t as note } from "./note-CnRyQQ-j.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { f as resolveOAuthDir, m as resolveStateDir, t as CONFIG_PATH } from "./paths-zhVksOvm.js";
|
|
2
|
-
import { f as isRecord, v as resolveHomeDir } from "./utils-
|
|
2
|
+
import { f as isRecord, v as resolveHomeDir } from "./utils-B60lF9Wq.js";
|
|
3
3
|
import { i as buildAgentMainSessionKey, l as normalizeAgentId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-DxcgHezu.js";
|
|
4
|
-
import { c as resolveDefaultAgentId } from "./agent-scope-
|
|
5
|
-
import { d as AnimaSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-
|
|
6
|
-
import { E as canonicalizeMainSessionAlias, s as saveSessionStore } from "./sessions-
|
|
7
|
-
import { t as formatCliCommand } from "./command-format-
|
|
8
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
9
|
-
import { t as note } from "./note-
|
|
4
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-ryeVDUKe.js";
|
|
5
|
+
import { d as AnimaSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-Dk-5Mb_G.js";
|
|
6
|
+
import { E as canonicalizeMainSessionAlias, s as saveSessionStore } from "./sessions-BduC6sZj.js";
|
|
7
|
+
import { t as formatCliCommand } from "./command-format-UwAvxtMC.js";
|
|
8
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-f05JE-GF.js";
|
|
9
|
+
import { t as note } from "./note-DjzS4Am4.js";
|
|
10
10
|
import fs from "node:fs";
|
|
11
11
|
import os from "node:os";
|
|
12
12
|
import path from "node:path";
|
|
@@ -3,9 +3,9 @@ import { t as formatCliCommand } from "./command-format-kLw3YIIu.js";
|
|
|
3
3
|
import { i as buildAgentMainSessionKey, l as normalizeAgentId, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-DP2WHl90.js";
|
|
4
4
|
import { _ as resolveHomeDir, d as isRecord } from "./utils-D1VGbO3C.js";
|
|
5
5
|
import { c as resolveDefaultAgentId } from "./agent-scope-Dm8IL1Ks.js";
|
|
6
|
-
import { d as AnimaSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-
|
|
7
|
-
import { s as saveSessionStore, y as canonicalizeMainSessionAlias } from "./sessions-
|
|
8
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
6
|
+
import { d as AnimaSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-Ofh9gKvs.js";
|
|
7
|
+
import { s as saveSessionStore, y as canonicalizeMainSessionAlias } from "./sessions-CAiEkTKb.js";
|
|
8
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-UE1XVFcw.js";
|
|
9
9
|
import { t as note } from "./note-CnRyQQ-j.js";
|
|
10
10
|
import os from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
@@ -929,6 +929,147 @@ async function executeCycle(beatNumber, orchestrator, options) {
|
|
|
929
929
|
};
|
|
930
930
|
}
|
|
931
931
|
|
|
932
|
+
//#endregion
|
|
933
|
+
//#region src/heartbeat/notification-wake.ts
|
|
934
|
+
/**
|
|
935
|
+
* Notification Wake — lightweight polling for NoxSoft notifications.
|
|
936
|
+
*
|
|
937
|
+
* This runs on a shorter interval than the full heartbeat (e.g., every 30 seconds).
|
|
938
|
+
* When notifications are detected, it triggers a full agent wake.
|
|
939
|
+
*
|
|
940
|
+
* Option B implementation: Poll with smart sleep.
|
|
941
|
+
* - Poll `check_notifications` via NoxSoft MCP every pollIntervalMs
|
|
942
|
+
* - If notifications exist: emit "wake" event -> HeartbeatEngine runs immediate beat
|
|
943
|
+
* - If no notifications: stay in lightweight poll mode (no API calls, minimal CPU)
|
|
944
|
+
*/
|
|
945
|
+
const DEFAULT_CONFIG$1 = {
|
|
946
|
+
pollIntervalMs: 6e4,
|
|
947
|
+
wakeDebounceMs: 12e4,
|
|
948
|
+
enabled: true,
|
|
949
|
+
apiBaseUrl: "https://auth.noxsoft.net"
|
|
950
|
+
};
|
|
951
|
+
var NotificationWake = class extends EventEmitter {
|
|
952
|
+
constructor(config) {
|
|
953
|
+
super();
|
|
954
|
+
this.timer = null;
|
|
955
|
+
this.running = false;
|
|
956
|
+
this.lastWakeTime = null;
|
|
957
|
+
this.lastPollTime = null;
|
|
958
|
+
this.pollCount = 0;
|
|
959
|
+
this.wakeCount = 0;
|
|
960
|
+
this.config = {
|
|
961
|
+
...DEFAULT_CONFIG$1,
|
|
962
|
+
...config
|
|
963
|
+
};
|
|
964
|
+
this.tokenPath = join(homedir(), ".noxsoft-agent-token");
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Start notification polling.
|
|
968
|
+
*/
|
|
969
|
+
start() {
|
|
970
|
+
if (this.running || !this.config.enabled) return;
|
|
971
|
+
this.running = true;
|
|
972
|
+
this.poll();
|
|
973
|
+
this.timer = setInterval(() => {
|
|
974
|
+
this.poll();
|
|
975
|
+
}, this.config.pollIntervalMs);
|
|
976
|
+
if (this.timer && typeof this.timer === "object" && "unref" in this.timer) this.timer.unref();
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Stop notification polling.
|
|
980
|
+
*/
|
|
981
|
+
stop() {
|
|
982
|
+
this.running = false;
|
|
983
|
+
if (this.timer) {
|
|
984
|
+
clearInterval(this.timer);
|
|
985
|
+
this.timer = null;
|
|
986
|
+
}
|
|
987
|
+
this.emit("stopped");
|
|
988
|
+
}
|
|
989
|
+
/**
|
|
990
|
+
* Execute a single poll for notifications.
|
|
991
|
+
*/
|
|
992
|
+
async poll() {
|
|
993
|
+
if (!this.running) return;
|
|
994
|
+
this.pollCount++;
|
|
995
|
+
this.lastPollTime = /* @__PURE__ */ new Date();
|
|
996
|
+
this.emit("poll", {
|
|
997
|
+
pollCount: this.pollCount,
|
|
998
|
+
time: this.lastPollTime
|
|
999
|
+
});
|
|
1000
|
+
try {
|
|
1001
|
+
const token = await this.loadToken();
|
|
1002
|
+
if (!token) return;
|
|
1003
|
+
const notifications = await this.checkNotifications(token);
|
|
1004
|
+
if (notifications.length > 0) {
|
|
1005
|
+
if (this.shouldTriggerWake()) {
|
|
1006
|
+
this.lastWakeTime = /* @__PURE__ */ new Date();
|
|
1007
|
+
this.wakeCount++;
|
|
1008
|
+
this.emit("wake", {
|
|
1009
|
+
wakeCount: this.wakeCount,
|
|
1010
|
+
time: this.lastWakeTime,
|
|
1011
|
+
notifications,
|
|
1012
|
+
reason: `${notifications.length} unread notification(s)`
|
|
1013
|
+
});
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
} catch (err) {
|
|
1017
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
1018
|
+
this.emit("error", {
|
|
1019
|
+
error: message,
|
|
1020
|
+
pollCount: this.pollCount
|
|
1021
|
+
});
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
/**
|
|
1025
|
+
* Load NoxSoft agent token from disk.
|
|
1026
|
+
*/
|
|
1027
|
+
async loadToken() {
|
|
1028
|
+
try {
|
|
1029
|
+
return (await readFile(this.tokenPath, "utf-8")).trim();
|
|
1030
|
+
} catch {
|
|
1031
|
+
return null;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
/**
|
|
1035
|
+
* Call NoxSoft check_notifications API.
|
|
1036
|
+
*/
|
|
1037
|
+
async checkNotifications(token) {
|
|
1038
|
+
const url = `${this.config.apiBaseUrl}/api/agents/notifications`;
|
|
1039
|
+
const response = await fetch(url, {
|
|
1040
|
+
method: "GET",
|
|
1041
|
+
headers: {
|
|
1042
|
+
Authorization: `Bearer ${token}`,
|
|
1043
|
+
"Content-Type": "application/json"
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
if (!response.ok) throw new Error(`Notification check failed: ${response.status} ${response.statusText}`);
|
|
1047
|
+
return (await response.json()).notifications || [];
|
|
1048
|
+
}
|
|
1049
|
+
/**
|
|
1050
|
+
* Check if enough time has passed since last wake to trigger another.
|
|
1051
|
+
*/
|
|
1052
|
+
shouldTriggerWake() {
|
|
1053
|
+
if (!this.lastWakeTime) return true;
|
|
1054
|
+
return Date.now() - this.lastWakeTime.getTime() >= this.config.wakeDebounceMs;
|
|
1055
|
+
}
|
|
1056
|
+
isRunning() {
|
|
1057
|
+
return this.running;
|
|
1058
|
+
}
|
|
1059
|
+
getPollCount() {
|
|
1060
|
+
return this.pollCount;
|
|
1061
|
+
}
|
|
1062
|
+
getWakeCount() {
|
|
1063
|
+
return this.wakeCount;
|
|
1064
|
+
}
|
|
1065
|
+
getLastPollTime() {
|
|
1066
|
+
return this.lastPollTime;
|
|
1067
|
+
}
|
|
1068
|
+
getLastWakeTime() {
|
|
1069
|
+
return this.lastWakeTime;
|
|
1070
|
+
}
|
|
1071
|
+
};
|
|
1072
|
+
|
|
932
1073
|
//#endregion
|
|
933
1074
|
//#region src/heartbeat/engine.ts
|
|
934
1075
|
/**
|
|
@@ -936,6 +1077,10 @@ async function executeCycle(beatNumber, orchestrator, options) {
|
|
|
936
1077
|
*
|
|
937
1078
|
* Manages start/stop/pause/resume of the heartbeat cycle,
|
|
938
1079
|
* with adaptive interval adjustment and event emission.
|
|
1080
|
+
*
|
|
1081
|
+
* Now includes notification-triggered wake: when NoxSoft MCP
|
|
1082
|
+
* notifications arrive, the engine wakes immediately instead
|
|
1083
|
+
* of waiting for the next scheduled beat.
|
|
939
1084
|
*/
|
|
940
1085
|
const DEFAULT_CONFIG = {
|
|
941
1086
|
intervalMs: 3e5,
|
|
@@ -945,7 +1090,9 @@ const DEFAULT_CONFIG = {
|
|
|
945
1090
|
selfReplication: true,
|
|
946
1091
|
freedomEveryN: 3,
|
|
947
1092
|
autoUpdateEnabled: true,
|
|
948
|
-
autoUpdateInterval: 12
|
|
1093
|
+
autoUpdateInterval: 12,
|
|
1094
|
+
notificationWakeEnabled: true,
|
|
1095
|
+
notificationPollIntervalMs: 6e4
|
|
949
1096
|
};
|
|
950
1097
|
var HeartbeatEngine = class extends EventEmitter {
|
|
951
1098
|
constructor(orchestrator, config) {
|
|
@@ -956,6 +1103,7 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
956
1103
|
this.nextBeatTime = null;
|
|
957
1104
|
this.running = false;
|
|
958
1105
|
this.paused = false;
|
|
1106
|
+
this.notificationWake = null;
|
|
959
1107
|
this.config = {
|
|
960
1108
|
...DEFAULT_CONFIG,
|
|
961
1109
|
...config
|
|
@@ -963,6 +1111,16 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
963
1111
|
this.orchestrator = orchestrator || new SessionOrchestrator();
|
|
964
1112
|
this.currentIntervalMs = this.config.intervalMs;
|
|
965
1113
|
this.metrics = createMetrics();
|
|
1114
|
+
if (this.config.notificationWakeEnabled) {
|
|
1115
|
+
this.notificationWake = new NotificationWake({
|
|
1116
|
+
pollIntervalMs: this.config.notificationPollIntervalMs,
|
|
1117
|
+
enabled: true
|
|
1118
|
+
});
|
|
1119
|
+
this.notificationWake.on("wake", async (payload) => {
|
|
1120
|
+
this.emit("notification-wake", payload);
|
|
1121
|
+
await this.triggerImmediateBeat("notification");
|
|
1122
|
+
});
|
|
1123
|
+
}
|
|
966
1124
|
}
|
|
967
1125
|
/**
|
|
968
1126
|
* Start the heartbeat engine.
|
|
@@ -973,6 +1131,7 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
973
1131
|
this.running = true;
|
|
974
1132
|
this.paused = false;
|
|
975
1133
|
if (this.config.selfReplication) await ensureContinuity();
|
|
1134
|
+
if (this.notificationWake) this.notificationWake.start();
|
|
976
1135
|
await this.executeBeat();
|
|
977
1136
|
this.scheduleNextBeat();
|
|
978
1137
|
}
|
|
@@ -986,6 +1145,7 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
986
1145
|
clearTimeout(this.timer);
|
|
987
1146
|
this.timer = null;
|
|
988
1147
|
}
|
|
1148
|
+
if (this.notificationWake) this.notificationWake.stop();
|
|
989
1149
|
this.nextBeatTime = null;
|
|
990
1150
|
this.emit("stopped");
|
|
991
1151
|
}
|
|
@@ -1012,6 +1172,19 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
1012
1172
|
this.emit("resumed");
|
|
1013
1173
|
}
|
|
1014
1174
|
/**
|
|
1175
|
+
* Trigger an immediate beat (e.g., from notification wake).
|
|
1176
|
+
* Cancels any scheduled beat, runs now, then reschedules.
|
|
1177
|
+
*/
|
|
1178
|
+
async triggerImmediateBeat(_reason = "manual") {
|
|
1179
|
+
if (!this.running || this.paused) return;
|
|
1180
|
+
if (this.timer) {
|
|
1181
|
+
clearTimeout(this.timer);
|
|
1182
|
+
this.timer = null;
|
|
1183
|
+
}
|
|
1184
|
+
await this.executeBeat();
|
|
1185
|
+
this.scheduleNextBeat();
|
|
1186
|
+
}
|
|
1187
|
+
/**
|
|
1015
1188
|
* Execute a single heartbeat cycle.
|
|
1016
1189
|
*/
|
|
1017
1190
|
async executeBeat() {
|
|
@@ -929,6 +929,147 @@ async function executeCycle(beatNumber, orchestrator, options) {
|
|
|
929
929
|
};
|
|
930
930
|
}
|
|
931
931
|
|
|
932
|
+
//#endregion
|
|
933
|
+
//#region src/heartbeat/notification-wake.ts
|
|
934
|
+
/**
|
|
935
|
+
* Notification Wake — lightweight polling for NoxSoft notifications.
|
|
936
|
+
*
|
|
937
|
+
* This runs on a shorter interval than the full heartbeat (e.g., every 30 seconds).
|
|
938
|
+
* When notifications are detected, it triggers a full agent wake.
|
|
939
|
+
*
|
|
940
|
+
* Option B implementation: Poll with smart sleep.
|
|
941
|
+
* - Poll `check_notifications` via NoxSoft MCP every pollIntervalMs
|
|
942
|
+
* - If notifications exist: emit "wake" event -> HeartbeatEngine runs immediate beat
|
|
943
|
+
* - If no notifications: stay in lightweight poll mode (no API calls, minimal CPU)
|
|
944
|
+
*/
|
|
945
|
+
const DEFAULT_CONFIG$1 = {
|
|
946
|
+
pollIntervalMs: 6e4,
|
|
947
|
+
wakeDebounceMs: 12e4,
|
|
948
|
+
enabled: true,
|
|
949
|
+
apiBaseUrl: "https://auth.noxsoft.net"
|
|
950
|
+
};
|
|
951
|
+
var NotificationWake = class extends EventEmitter {
|
|
952
|
+
constructor(config) {
|
|
953
|
+
super();
|
|
954
|
+
this.timer = null;
|
|
955
|
+
this.running = false;
|
|
956
|
+
this.lastWakeTime = null;
|
|
957
|
+
this.lastPollTime = null;
|
|
958
|
+
this.pollCount = 0;
|
|
959
|
+
this.wakeCount = 0;
|
|
960
|
+
this.config = {
|
|
961
|
+
...DEFAULT_CONFIG$1,
|
|
962
|
+
...config
|
|
963
|
+
};
|
|
964
|
+
this.tokenPath = join(homedir(), ".noxsoft-agent-token");
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Start notification polling.
|
|
968
|
+
*/
|
|
969
|
+
start() {
|
|
970
|
+
if (this.running || !this.config.enabled) return;
|
|
971
|
+
this.running = true;
|
|
972
|
+
this.poll();
|
|
973
|
+
this.timer = setInterval(() => {
|
|
974
|
+
this.poll();
|
|
975
|
+
}, this.config.pollIntervalMs);
|
|
976
|
+
if (this.timer && typeof this.timer === "object" && "unref" in this.timer) this.timer.unref();
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Stop notification polling.
|
|
980
|
+
*/
|
|
981
|
+
stop() {
|
|
982
|
+
this.running = false;
|
|
983
|
+
if (this.timer) {
|
|
984
|
+
clearInterval(this.timer);
|
|
985
|
+
this.timer = null;
|
|
986
|
+
}
|
|
987
|
+
this.emit("stopped");
|
|
988
|
+
}
|
|
989
|
+
/**
|
|
990
|
+
* Execute a single poll for notifications.
|
|
991
|
+
*/
|
|
992
|
+
async poll() {
|
|
993
|
+
if (!this.running) return;
|
|
994
|
+
this.pollCount++;
|
|
995
|
+
this.lastPollTime = /* @__PURE__ */ new Date();
|
|
996
|
+
this.emit("poll", {
|
|
997
|
+
pollCount: this.pollCount,
|
|
998
|
+
time: this.lastPollTime
|
|
999
|
+
});
|
|
1000
|
+
try {
|
|
1001
|
+
const token = await this.loadToken();
|
|
1002
|
+
if (!token) return;
|
|
1003
|
+
const notifications = await this.checkNotifications(token);
|
|
1004
|
+
if (notifications.length > 0) {
|
|
1005
|
+
if (this.shouldTriggerWake()) {
|
|
1006
|
+
this.lastWakeTime = /* @__PURE__ */ new Date();
|
|
1007
|
+
this.wakeCount++;
|
|
1008
|
+
this.emit("wake", {
|
|
1009
|
+
wakeCount: this.wakeCount,
|
|
1010
|
+
time: this.lastWakeTime,
|
|
1011
|
+
notifications,
|
|
1012
|
+
reason: `${notifications.length} unread notification(s)`
|
|
1013
|
+
});
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
} catch (err) {
|
|
1017
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
1018
|
+
this.emit("error", {
|
|
1019
|
+
error: message,
|
|
1020
|
+
pollCount: this.pollCount
|
|
1021
|
+
});
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
/**
|
|
1025
|
+
* Load NoxSoft agent token from disk.
|
|
1026
|
+
*/
|
|
1027
|
+
async loadToken() {
|
|
1028
|
+
try {
|
|
1029
|
+
return (await readFile(this.tokenPath, "utf-8")).trim();
|
|
1030
|
+
} catch {
|
|
1031
|
+
return null;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
/**
|
|
1035
|
+
* Call NoxSoft check_notifications API.
|
|
1036
|
+
*/
|
|
1037
|
+
async checkNotifications(token) {
|
|
1038
|
+
const url = `${this.config.apiBaseUrl}/api/agents/notifications`;
|
|
1039
|
+
const response = await fetch(url, {
|
|
1040
|
+
method: "GET",
|
|
1041
|
+
headers: {
|
|
1042
|
+
Authorization: `Bearer ${token}`,
|
|
1043
|
+
"Content-Type": "application/json"
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
if (!response.ok) throw new Error(`Notification check failed: ${response.status} ${response.statusText}`);
|
|
1047
|
+
return (await response.json()).notifications || [];
|
|
1048
|
+
}
|
|
1049
|
+
/**
|
|
1050
|
+
* Check if enough time has passed since last wake to trigger another.
|
|
1051
|
+
*/
|
|
1052
|
+
shouldTriggerWake() {
|
|
1053
|
+
if (!this.lastWakeTime) return true;
|
|
1054
|
+
return Date.now() - this.lastWakeTime.getTime() >= this.config.wakeDebounceMs;
|
|
1055
|
+
}
|
|
1056
|
+
isRunning() {
|
|
1057
|
+
return this.running;
|
|
1058
|
+
}
|
|
1059
|
+
getPollCount() {
|
|
1060
|
+
return this.pollCount;
|
|
1061
|
+
}
|
|
1062
|
+
getWakeCount() {
|
|
1063
|
+
return this.wakeCount;
|
|
1064
|
+
}
|
|
1065
|
+
getLastPollTime() {
|
|
1066
|
+
return this.lastPollTime;
|
|
1067
|
+
}
|
|
1068
|
+
getLastWakeTime() {
|
|
1069
|
+
return this.lastWakeTime;
|
|
1070
|
+
}
|
|
1071
|
+
};
|
|
1072
|
+
|
|
932
1073
|
//#endregion
|
|
933
1074
|
//#region src/heartbeat/engine.ts
|
|
934
1075
|
/**
|
|
@@ -936,6 +1077,10 @@ async function executeCycle(beatNumber, orchestrator, options) {
|
|
|
936
1077
|
*
|
|
937
1078
|
* Manages start/stop/pause/resume of the heartbeat cycle,
|
|
938
1079
|
* with adaptive interval adjustment and event emission.
|
|
1080
|
+
*
|
|
1081
|
+
* Now includes notification-triggered wake: when NoxSoft MCP
|
|
1082
|
+
* notifications arrive, the engine wakes immediately instead
|
|
1083
|
+
* of waiting for the next scheduled beat.
|
|
939
1084
|
*/
|
|
940
1085
|
const DEFAULT_CONFIG = {
|
|
941
1086
|
intervalMs: 3e5,
|
|
@@ -945,7 +1090,9 @@ const DEFAULT_CONFIG = {
|
|
|
945
1090
|
selfReplication: true,
|
|
946
1091
|
freedomEveryN: 3,
|
|
947
1092
|
autoUpdateEnabled: true,
|
|
948
|
-
autoUpdateInterval: 12
|
|
1093
|
+
autoUpdateInterval: 12,
|
|
1094
|
+
notificationWakeEnabled: true,
|
|
1095
|
+
notificationPollIntervalMs: 6e4
|
|
949
1096
|
};
|
|
950
1097
|
var HeartbeatEngine = class extends EventEmitter {
|
|
951
1098
|
constructor(orchestrator, config) {
|
|
@@ -956,6 +1103,7 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
956
1103
|
this.nextBeatTime = null;
|
|
957
1104
|
this.running = false;
|
|
958
1105
|
this.paused = false;
|
|
1106
|
+
this.notificationWake = null;
|
|
959
1107
|
this.config = {
|
|
960
1108
|
...DEFAULT_CONFIG,
|
|
961
1109
|
...config
|
|
@@ -963,6 +1111,16 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
963
1111
|
this.orchestrator = orchestrator || new SessionOrchestrator();
|
|
964
1112
|
this.currentIntervalMs = this.config.intervalMs;
|
|
965
1113
|
this.metrics = createMetrics();
|
|
1114
|
+
if (this.config.notificationWakeEnabled) {
|
|
1115
|
+
this.notificationWake = new NotificationWake({
|
|
1116
|
+
pollIntervalMs: this.config.notificationPollIntervalMs,
|
|
1117
|
+
enabled: true
|
|
1118
|
+
});
|
|
1119
|
+
this.notificationWake.on("wake", async (payload) => {
|
|
1120
|
+
this.emit("notification-wake", payload);
|
|
1121
|
+
await this.triggerImmediateBeat("notification");
|
|
1122
|
+
});
|
|
1123
|
+
}
|
|
966
1124
|
}
|
|
967
1125
|
/**
|
|
968
1126
|
* Start the heartbeat engine.
|
|
@@ -973,6 +1131,7 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
973
1131
|
this.running = true;
|
|
974
1132
|
this.paused = false;
|
|
975
1133
|
if (this.config.selfReplication) await ensureContinuity();
|
|
1134
|
+
if (this.notificationWake) this.notificationWake.start();
|
|
976
1135
|
await this.executeBeat();
|
|
977
1136
|
this.scheduleNextBeat();
|
|
978
1137
|
}
|
|
@@ -986,6 +1145,7 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
986
1145
|
clearTimeout(this.timer);
|
|
987
1146
|
this.timer = null;
|
|
988
1147
|
}
|
|
1148
|
+
if (this.notificationWake) this.notificationWake.stop();
|
|
989
1149
|
this.nextBeatTime = null;
|
|
990
1150
|
this.emit("stopped");
|
|
991
1151
|
}
|
|
@@ -1012,6 +1172,19 @@ var HeartbeatEngine = class extends EventEmitter {
|
|
|
1012
1172
|
this.emit("resumed");
|
|
1013
1173
|
}
|
|
1014
1174
|
/**
|
|
1175
|
+
* Trigger an immediate beat (e.g., from notification wake).
|
|
1176
|
+
* Cancels any scheduled beat, runs now, then reschedules.
|
|
1177
|
+
*/
|
|
1178
|
+
async triggerImmediateBeat(_reason = "manual") {
|
|
1179
|
+
if (!this.running || this.paused) return;
|
|
1180
|
+
if (this.timer) {
|
|
1181
|
+
clearTimeout(this.timer);
|
|
1182
|
+
this.timer = null;
|
|
1183
|
+
}
|
|
1184
|
+
await this.executeBeat();
|
|
1185
|
+
this.scheduleNextBeat();
|
|
1186
|
+
}
|
|
1187
|
+
/**
|
|
1015
1188
|
* Execute a single heartbeat cycle.
|
|
1016
1189
|
*/
|
|
1017
1190
|
async executeBeat() {
|
package/dist/entry.js
CHANGED
|
@@ -695,6 +695,8 @@ const DEFAULT_LOG_FILE = path.join(DEFAULT_LOG_DIR, "anima.log");
|
|
|
695
695
|
const LOG_PREFIX = "anima";
|
|
696
696
|
const LOG_SUFFIX = ".log";
|
|
697
697
|
const MAX_LOG_AGE_MS = 1440 * 60 * 1e3;
|
|
698
|
+
const MAX_LOG_SIZE_BYTES = 50 * 1024 * 1024;
|
|
699
|
+
const MAX_LOG_SEGMENTS = 5;
|
|
698
700
|
const requireConfig$1 = createRequire(import.meta.url);
|
|
699
701
|
const externalTransports = /* @__PURE__ */ new Set();
|
|
700
702
|
function attachExternalTransport(logger, transport) {
|
|
@@ -736,6 +738,8 @@ function buildLogger(settings) {
|
|
|
736
738
|
minLevel: levelToMinLevel(settings.level),
|
|
737
739
|
type: "hidden"
|
|
738
740
|
});
|
|
741
|
+
let currentFile = settings.file;
|
|
742
|
+
let currentSize = getFileSize(currentFile);
|
|
739
743
|
logger.attachTransport((logObj) => {
|
|
740
744
|
try {
|
|
741
745
|
const time = logObj.date?.toISOString?.() ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -743,7 +747,16 @@ function buildLogger(settings) {
|
|
|
743
747
|
...logObj,
|
|
744
748
|
time
|
|
745
749
|
});
|
|
746
|
-
|
|
750
|
+
const lineBytes = Buffer.byteLength(line, "utf8") + 1;
|
|
751
|
+
if (currentSize + lineBytes > MAX_LOG_SIZE_BYTES) {
|
|
752
|
+
const rotated = rotateLogFile(currentFile);
|
|
753
|
+
if (rotated) {
|
|
754
|
+
currentFile = rotated;
|
|
755
|
+
currentSize = 0;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
fs.appendFileSync(currentFile, `${line}\n`, { encoding: "utf8" });
|
|
759
|
+
currentSize += lineBytes;
|
|
747
760
|
} catch {}
|
|
748
761
|
});
|
|
749
762
|
for (const transport of externalTransports) attachExternalTransport(logger, transport);
|
|
@@ -791,6 +804,50 @@ function setLoggerOverride(settings) {
|
|
|
791
804
|
loggingState.cachedSettings = null;
|
|
792
805
|
loggingState.cachedConsoleSettings = null;
|
|
793
806
|
}
|
|
807
|
+
function getFileSize(filePath) {
|
|
808
|
+
try {
|
|
809
|
+
return fs.statSync(filePath).size;
|
|
810
|
+
} catch {
|
|
811
|
+
return 0;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
function rotateLogFile(filePath) {
|
|
815
|
+
try {
|
|
816
|
+
const dir = path.dirname(filePath);
|
|
817
|
+
const ext = path.extname(filePath);
|
|
818
|
+
const base = path.basename(filePath, ext);
|
|
819
|
+
let segment = 1;
|
|
820
|
+
while (segment <= MAX_LOG_SEGMENTS) {
|
|
821
|
+
const segmentPath = path.join(dir, `${base}.${segment}${ext}`);
|
|
822
|
+
if (!fs.existsSync(segmentPath)) {
|
|
823
|
+
fs.renameSync(filePath, segmentPath);
|
|
824
|
+
pruneExcessSegments(dir, base, ext);
|
|
825
|
+
return filePath;
|
|
826
|
+
}
|
|
827
|
+
segment++;
|
|
828
|
+
}
|
|
829
|
+
const oldestPath = path.join(dir, `${base}.${MAX_LOG_SEGMENTS}${ext}`);
|
|
830
|
+
fs.rmSync(oldestPath, { force: true });
|
|
831
|
+
for (let i = MAX_LOG_SEGMENTS - 1; i >= 1; i--) {
|
|
832
|
+
const from = path.join(dir, `${base}.${i}${ext}`);
|
|
833
|
+
const to = path.join(dir, `${base}.${i + 1}${ext}`);
|
|
834
|
+
if (fs.existsSync(from)) fs.renameSync(from, to);
|
|
835
|
+
}
|
|
836
|
+
fs.renameSync(filePath, path.join(dir, `${base}.1${ext}`));
|
|
837
|
+
return filePath;
|
|
838
|
+
} catch {
|
|
839
|
+
return null;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
function pruneExcessSegments(dir, base, ext) {
|
|
843
|
+
try {
|
|
844
|
+
for (let i = MAX_LOG_SEGMENTS + 1; i <= MAX_LOG_SEGMENTS + 10; i++) {
|
|
845
|
+
const segmentPath = path.join(dir, `${base}.${i}${ext}`);
|
|
846
|
+
if (fs.existsSync(segmentPath)) fs.rmSync(segmentPath, { force: true });
|
|
847
|
+
else break;
|
|
848
|
+
}
|
|
849
|
+
} catch {}
|
|
850
|
+
}
|
|
794
851
|
function formatLocalDate(date) {
|
|
795
852
|
return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, "0")}-${String(date.getDate()).padStart(2, "0")}`;
|
|
796
853
|
}
|
|
@@ -1531,7 +1588,7 @@ if (!ensureExperimentalWarningSuppressed()) {
|
|
|
1531
1588
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
1532
1589
|
process$1.argv = parsed.argv;
|
|
1533
1590
|
}
|
|
1534
|
-
import("./run-main-
|
|
1591
|
+
import("./run-main-y01J5xzi.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
1535
1592
|
console.error("[anima] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
1536
1593
|
process$1.exitCode = 1;
|
|
1537
1594
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as info, I as shouldLogVerbose, P as logVerboseConsole, R as warn, U as getLogger, d as defaultRuntime, k as danger, t as createSubsystemLogger } from "./subsystem-
|
|
1
|
+
import { A as info, I as shouldLogVerbose, P as logVerboseConsole, R as warn, U as getLogger, d as defaultRuntime, k as danger, t as createSubsystemLogger } from "./subsystem-BMsbqSb4.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { execFile, spawn } from "node:child_process";
|
|
4
4
|
import { promisify } from "node:util";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, u as resolveRequiredHomeDir } from "./paths-B-AkG5FD.js";
|
|
2
|
-
import { C as warn, O as getLogger, _ as info, g as danger, n as defaultRuntime, t as createSubsystemLogger, v as logVerbose, x as shouldLogVerbose, y as logVerboseConsole } from "./subsystem-
|
|
2
|
+
import { C as warn, O as getLogger, _ as info, g as danger, n as defaultRuntime, t as createSubsystemLogger, v as logVerbose, x as shouldLogVerbose, y as logVerboseConsole } from "./subsystem-BP2l3SHn.js";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import fs from "node:fs";
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import "./paths-zhVksOvm.js";
|
|
2
|
-
import { B as isRich, V as theme, d as defaultRuntime } from "./subsystem-
|
|
3
|
-
import "./utils-
|
|
4
|
-
import "./exec-
|
|
5
|
-
import "./agent-scope-
|
|
6
|
-
import "./model-selection-
|
|
7
|
-
import "./config-
|
|
2
|
+
import { B as isRich, V as theme, d as defaultRuntime } from "./subsystem-BMsbqSb4.js";
|
|
3
|
+
import "./utils-B60lF9Wq.js";
|
|
4
|
+
import "./exec-Bo7Vwe77.js";
|
|
5
|
+
import "./agent-scope-ryeVDUKe.js";
|
|
6
|
+
import "./model-selection-DRIxw3do.js";
|
|
7
|
+
import "./config-Dk-5Mb_G.js";
|
|
8
8
|
import "./boolean-Wzu0-e0P.js";
|
|
9
|
-
import "./env-
|
|
10
|
-
import "./shell-env-
|
|
11
|
-
import "./manifest-registry-
|
|
12
|
-
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-
|
|
13
|
-
import "./client-
|
|
14
|
-
import { n as callGateway } from "./call-
|
|
9
|
+
import "./env-CLiKFfXU.js";
|
|
10
|
+
import "./shell-env-BZ_fIIlm.js";
|
|
11
|
+
import "./manifest-registry-BJat2nhC.js";
|
|
12
|
+
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C5I8UgGH.js";
|
|
13
|
+
import "./client-BT3pbXCv.js";
|
|
14
|
+
import { n as callGateway } from "./call-C3CH9PNK.js";
|
|
15
15
|
import { p as saveExecApprovals, s as readExecApprovalsSnapshot } from "./exec-approvals-DgqcXL_v.js";
|
|
16
16
|
import { t as resolveNodeIdFromCandidates } from "./node-match-6kOpTyx1.js";
|
|
17
17
|
import { n as formatTimeAgo } from "./format-relative-htT5sGY3.js";
|
|
18
|
-
import { t as formatDocsLink } from "./links-
|
|
19
|
-
import { n as withProgress } from "./progress-
|
|
20
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
21
|
-
import "./systemd-
|
|
22
|
-
import "./service-
|
|
23
|
-
import { t as renderTable } from "./table-
|
|
24
|
-
import { t as describeUnknownError } from "./shared-
|
|
18
|
+
import { t as formatDocsLink } from "./links-C4Hwnnc9.js";
|
|
19
|
+
import { n as withProgress } from "./progress-DzZ_4Z4f.js";
|
|
20
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-BX-Pz0j8.js";
|
|
21
|
+
import "./systemd-DXo2A9_S.js";
|
|
22
|
+
import "./service-DCVAkKlN.js";
|
|
23
|
+
import { t as renderTable } from "./table-C-GNQABy.js";
|
|
24
|
+
import { t as describeUnknownError } from "./shared-Ca0NTTF0.js";
|
|
25
25
|
import JSON5 from "json5";
|
|
26
26
|
import fs from "node:fs/promises";
|
|
27
27
|
|