@symerian/symi 2.8.12 → 2.8.13
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/{agents-OAonMxYV.js → agents-CgCg4syn.js} +4 -4
- package/dist/{agents.config-BIhaDwT2.js → agents.config-BnPC7uct.js} +1 -1
- package/dist/{agents.config-DGu_K5xz.js → agents.config-DqWxpgkX.js} +1 -1
- package/dist/{audio-preflight-C6vpFnOG.js → audio-preflight-NdNUAZ0y.js} +4 -4
- package/dist/{auth-choice-DDzWns1k.js → auth-choice-BIlBt2d0.js} +1 -1
- package/dist/{auth-choice-BvPX7B4c.js → auth-choice-BKwypsnS.js} +1 -1
- package/dist/{banner-BFdiq-O5.js → banner-CX5CuLWQ.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-tfnOGSNF.js → channel-options-7y9EuPLO.js} +1 -1
- package/dist/{channel-options-DTqUB0OP.js → channel-options-mUKQVJQl.js} +1 -1
- package/dist/{channel-web-CcUXobcu.js → channel-web-Dldh4zVI.js} +1 -1
- package/dist/{channels-cli-CmShA-wJ.js → channels-cli-Dz9vV1KL.js} +6 -6
- package/dist/{channels-cli-BcE5tHIr.js → channels-cli-Q6Q8LokG.js} +6 -6
- package/dist/{chrome-B14NNyfm.js → chrome-BUT--ob3.js} +7 -7
- package/dist/{cli-CKG2iAr3.js → cli-D4WYEtu4.js} +3 -3
- package/dist/{cli-BxoD2wzk.js → cli-DMsLCQbO.js} +3 -3
- package/dist/{command-registry-D1Le-Fmh.js → command-registry-cEqGIx4b.js} +10 -10
- package/dist/{completion-cli-DgiFjSGS.js → completion-cli-Bw0jbNaG.js} +1 -1
- package/dist/{completion-cli-D9pC-ttw.js → completion-cli-C5GCKfKT.js} +2 -2
- package/dist/{config-cli-C_uZQsTl.js → config-cli-DP0hP7WR.js} +1 -1
- package/dist/{config-cli-5mFA0UDP.js → config-cli-DgHooQ4_.js} +1 -1
- package/dist/{configure-DuRTFCuW.js → configure-BQUkaPdS.js} +3 -3
- package/dist/{configure-BJcy7wXm.js → configure-OUiXvgMg.js} +3 -3
- package/dist/{deliver-D0bWiRCg.js → deliver-B_Q_nWJV.js} +1 -1
- package/dist/{doctor-completion-DCRTHpiY.js → doctor-completion-BSMAyCq_.js} +1 -1
- package/dist/{doctor-completion-sQVhKKei.js → doctor-completion-DlKvncR9.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +7 -7
- package/dist/{gateway-cli-C3ujhxO0.js → gateway-cli-BlRNLVfU.js} +180 -11
- package/dist/{gateway-cli-C_MT4JFm.js → gateway-cli-NI7W2QxR.js} +180 -11
- package/dist/{glass-ui-ws-ColAiWUr.js → glass-ui-ws-BBkFBsKB.js} +9 -9
- package/dist/{glass-ui-ws-B7zRY2BL.js → glass-ui-ws-DxrESDzy.js} +9 -9
- package/dist/{health-vKJZ7iJR.js → health-D4vU-wV-.js} +1 -1
- package/dist/{health-C12hy3Ao.js → health-fOu0S75U.js} +1 -1
- package/dist/{hooks-cli-CdUQvj8s.js → hooks-cli-BdgnXYmw.js} +4 -4
- package/dist/{hooks-cli-fCPl5hur.js → hooks-cli-DdSggQYs.js} +4 -4
- package/dist/{image-MNvheU8U.js → image-tzIqIuKx.js} +1 -1
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +2 -2
- package/dist/{manager-DHRBy5oR.js → manager-DRrGn88w.js} +1 -1
- package/dist/{manager-BJvYQ7xP.js → manager-TOeH0D8K.js} +1 -1
- package/dist/{manager-Df_ZdrNG.js → manager-_RGWWymD.js} +1 -1
- package/dist/{manager-CLrJn9l-.js → manager-syNf_ZrI.js} +1 -1
- package/dist/{memory-cli-T-a5-lqZ.js → memory-cli-0jm-n36m.js} +3 -3
- package/dist/{memory-cli-BgJciaHC.js → memory-cli-BSOOwpt1.js} +3 -3
- package/dist/{models-cli-BI-DyItH.js → models-cli-CtkoEyh3.js} +4 -4
- package/dist/{models-cli-Bs6JAGq-.js → models-cli-DV-J1cm0.js} +5 -5
- package/dist/{models-BXXV_sZU.js → models-sGeWQOmg.js} +2 -2
- package/dist/{onboard-DKDCWveE.js → onboard-CWBYuaCm.js} +2 -2
- package/dist/{onboard-Czi_FRdi.js → onboard-FeTHeA1y.js} +2 -2
- package/dist/{onboard-channels-BUCYZF02.js → onboard-channels-D8bDJYPc.js} +1 -1
- package/dist/{onboard-channels-sTuhQBVu.js → onboard-channels-DpZkjldS.js} +1 -1
- package/dist/{onboarding-Bgx0qZhA.js → onboarding-BsPnnH5g.js} +3 -3
- package/dist/{onboarding-CokRRVEi.js → onboarding-c2qhwP0x.js} +3 -3
- package/dist/{onboarding.finalize-BCv5jB0d.js → onboarding.finalize-7St3fmk2.js} +8 -8
- package/dist/{onboarding.finalize-BzEKyraI.js → onboarding.finalize-id9EHg1P.js} +7 -7
- package/dist/{pi-embedded-DXY7TLac.js → pi-embedded-DCBB1_SC.js} +20 -23
- package/dist/{pi-embedded-helpers-TcYQOZAY.js → pi-embedded-helpers-DjSdA5BG.js} +4 -4
- package/dist/{plugin-registry-CyrsJDyE.js → plugin-registry-BJSfTT8c.js} +1 -1
- package/dist/{plugin-registry-B2cpTmJz.js → plugin-registry-Cy1kfzAy.js} +1 -1
- package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
- package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
- package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
- package/dist/plugin-sdk/{active-listener-CJuvR4C2.js → active-listener-DYjn3fML.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CBsLb_4V.js → api-key-rotation-DGJZ8SVa.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-DucGa8w7.js → audio-preflight-CiVw8470.js} +24 -24
- package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
- package/dist/plugin-sdk/{channel-web-t6enTxNE.js → channel-web-BSDjZSwm.js} +22 -22
- package/dist/plugin-sdk/{chrome-D9kN9org.js → chrome-CEqfiEs0.js} +3 -3
- package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
- package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-BuYpmEx-.js → commands-registry-BhW_oGNt.js} +4 -4
- package/dist/plugin-sdk/{config-BzupW6LN.js → config-Ckum15iC.js} +9 -9
- package/dist/plugin-sdk/{consolidate-CafShdsH.js → consolidate-COuTEt4Z.js} +2 -2
- package/dist/plugin-sdk/{deliver-CKgFosI5.js → deliver-B8Y2t-RH.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-_oc91gNi.js → diagnostic-BR07buTm.js} +1 -1
- package/dist/plugin-sdk/{image-DFyINnvE.js → image-CCmNHDV0.js} +4 -4
- package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
- package/dist/plugin-sdk/index.js +54 -54
- package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
- package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
- package/dist/plugin-sdk/{login-K1YB_7-t.js → login-g_rQAcuM.js} +7 -7
- package/dist/plugin-sdk/{login-qr-lMl_OqDj.js → login-qr-BOUmLSY3.js} +9 -9
- package/dist/plugin-sdk/{manager-LRE7zEk2.js → manager-B9GigLWj.js} +9 -9
- package/dist/plugin-sdk/{manifest-registry-hy3Bn-r9.js → manifest-registry-BRx4JDK0.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
- package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
- package/dist/plugin-sdk/{model-selection-CtVwtb6y.js → model-selection-Bbs4XGPG.js} +4 -4
- package/dist/plugin-sdk/{outbound-DW3cqlQW.js → outbound-BVhSNFy0.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-D7ME_Kib.js → outbound-attachment-B56R1Wi4.js} +2 -2
- package/dist/plugin-sdk/{pi-auth-json-DiyK6bgV.js → pi-auth-json-CB2bV0Jd.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-BL7ZRhGv.js → pi-embedded-helpers-dd3G9Hfi.js} +17 -17
- package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-B3T0mTHr.js → pw-ai-BXeOYCz_.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-BlUikj9s.js → qmd-manager-wIr8qz2n.js} +4 -4
- package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
- package/dist/plugin-sdk/{replies-BR2TPTVW.js → replies-CQ4szNhV.js} +3 -3
- package/dist/plugin-sdk/{reply-JypoGhql.js → reply-DD8z_dUW.js} +79 -82
- package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-CHQ7BTlU.js → resolve-route-CWfcnhza.js} +3 -3
- package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
- package/dist/plugin-sdk/{runner-BhifC1J_.js → runner-BuxCHv_O.js} +9 -9
- package/dist/plugin-sdk/{send-CGhw9mO3.js → send-BtO-7fHs.js} +6 -6
- package/dist/plugin-sdk/{send-DLO_yV5_.js → send-CKXzQuXo.js} +10 -10
- package/dist/plugin-sdk/{send-ZhAe1nXO.js → send-Djq5IPRa.js} +10 -10
- package/dist/plugin-sdk/{send-jsofmTfJ.js → send-XSuwT1PC.js} +7 -7
- package/dist/plugin-sdk/{send-BP5pSPaZ.js → send-fNRDT21N.js} +6 -6
- package/dist/plugin-sdk/{session-BfyK_04G.js → session-ARbcLHE9.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DEfqC_kJ.js → skill-commands-yzJVuTIW.js} +5 -5
- package/dist/plugin-sdk/{skills-C9DbB-Kp.js → skills-BfsaS1F9.js} +7 -7
- package/dist/plugin-sdk/{sqlite-CmVrFEYD.js → sqlite-A3wGzttn.js} +1 -1
- package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
- package/dist/plugin-sdk/{synthesis-_WpVyZKx.js → synthesis-Dv5GwSky.js} +49 -49
- package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
- package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
- package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
- package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
- package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-DseOlBug.js → tool-loop-detection-gmtzSlNZ.js} +2 -2
- package/dist/plugin-sdk/web-CmKqZEsX.js +66 -0
- package/dist/plugin-sdk/{whatsapp-actions-eTefsWhW.js → whatsapp-actions-B_1l8JMU.js} +21 -21
- package/dist/{plugins-cli-B-zoQyqU.js → plugins-cli-6UYkZBH0.js} +4 -4
- package/dist/{plugins-cli-DJwRd3EZ.js → plugins-cli-DPetEhfv.js} +4 -4
- package/dist/{program-H7h6Iqrq.js → program-CVy9LVoS.js} +9 -9
- package/dist/{program-context-BgecQAHU.js → program-context-CBI6gIf-.js} +18 -18
- package/dist/{prompt-select-styled-BglmD29e.js → prompt-select-styled-BlXl_Qf7.js} +6 -6
- package/dist/{prompt-select-styled-BDN2o35i.js → prompt-select-styled-Bv675D48.js} +6 -6
- package/dist/{provider-auth-helpers-MfKmTeLY.js → provider-auth-helpers-BB1lhCy5.js} +1 -1
- package/dist/{provider-auth-helpers-BGIgr7xM.js → provider-auth-helpers-RUQD5XAm.js} +1 -1
- package/dist/{push-apns-b6bH1EBC.js → push-apns-Cr-a1KBt.js} +1 -1
- package/dist/{push-apns-IcfSTzfr.js → push-apns-rPetW5cI.js} +1 -1
- package/dist/{pw-ai-40Jf9QIb.js → pw-ai-CQtaPvM8.js} +1 -1
- package/dist/{register.agent-ChwMSIC4.js → register.agent-DKDwNHQi.js} +8 -8
- package/dist/{register.agent-BgyETrrj.js → register.agent-j6OlKEU-.js} +7 -7
- package/dist/{register.configure-Bm4CvoLF.js → register.configure-BgIXIq9d.js} +8 -8
- package/dist/{register.configure-DH3L2tqW.js → register.configure-CopgSygi.js} +8 -8
- package/dist/{register.maintenance-CAyHUEzP.js → register.maintenance-BKsCM6NG.js} +10 -10
- package/dist/{register.maintenance-BbOBw1eI.js → register.maintenance-DjaGkVtr.js} +9 -9
- package/dist/{register.message-DheqsiR0.js → register.message-C3oHvmdl.js} +4 -4
- package/dist/{register.message-DQ3MOWFE.js → register.message-bxhUcSyj.js} +4 -4
- package/dist/{register.onboard-CxqR4S1C.js → register.onboard-D0DHcb20.js} +6 -6
- package/dist/{register.onboard-DOJkUhoY.js → register.onboard-DijWH8Vd.js} +6 -6
- package/dist/{register.setup-48YBHzMZ.js → register.setup-CrFzd94c.js} +6 -6
- package/dist/{register.setup-zdrIJA2P.js → register.setup-XlCTnTm_.js} +6 -6
- package/dist/{register.status-health-sessions-CimrhScH.js → register.status-health-sessions-AWCg_uLf.js} +5 -5
- package/dist/{register.status-health-sessions-CeT5pVXb.js → register.status-health-sessions-VwvDWUxZ.js} +5 -5
- package/dist/{register.subclis-B-zh940S.js → register.subclis-Bw8k5Z5C.js} +9 -9
- package/dist/{reply-CUR4xpYM.js → reply-D7_t00Jt.js} +5 -8
- package/dist/{run-main-CW_kj5Lj.js → run-main-7BEaNeDG.js} +17 -17
- package/dist/{runner-DFuAePEr.js → runner-Dpjulwnm.js} +1 -1
- package/dist/{server-methods-C1h0A5n0.js → server-methods-CTeJHJSZ.js} +7 -7
- package/dist/{server-methods-C4id-H_X.js → server-methods-FQ-PqiVC.js} +7 -7
- package/dist/{server-node-events-CD2yDaEj.js → server-node-events-BqvcHbuK.js} +4 -4
- package/dist/{server-node-events-BPZEGV_N.js → server-node-events-Z7epDloV.js} +4 -4
- package/dist/{status-_xBnHTlx.js → status-CKROJwI2.js} +1 -1
- package/dist/{status-DCeW2a07.js → status-DLFbpd9v.js} +3 -3
- package/dist/{status-Cb932Vl4.js → status-DMigoL7q.js} +3 -3
- package/dist/{status-DvHD1cnq.js → status-x7WCSVhG.js} +1 -1
- package/dist/{subagent-registry-BKuL9PdW.js → subagent-registry-BvP8AGdE.js} +5 -8
- package/dist/{synthesis-Ia9egx87.js → synthesis-By7KPUAm.js} +3 -3
- package/dist/{synthesis-C9RputIi.js → synthesis-DDId6n26.js} +3 -3
- package/dist/{synthesis-DOiTUsXQ.js → synthesis-DgQz6kPf.js} +7 -7
- package/dist/{synthesis-BUqDGjlc.js → synthesis-E4flT91F.js} +2 -2
- package/dist/{unified-runner-CVItnwwP.js → unified-runner-DaSb-TsZ.js} +6 -9
- package/dist/{update-cli-D6ax3jSX.js → update-cli-C5H6DkNM.js} +9 -9
- package/dist/{update-cli-ChEABesZ.js → update-cli-D0relAZw.js} +10 -10
- package/dist/{update-runner-CWG6GxKs.js → update-runner-B_yVOk8Z.js} +1 -1
- package/dist/{update-runner-B2EY9BWM.js → update-runner-D99V_zHX.js} +1 -1
- package/dist/{web-z-yQ8riS.js → web-BBz1kF_9.js} +2 -2
- package/dist/{web-D6PPeyG7.js → web-BQh2S6oq.js} +3 -3
- package/dist/{web-CpSE67Jp.js → web-Bdebat5l.js} +4 -4
- package/dist/{web-DMdb2p-h.js → web-CiYoJfrl.js} +7 -7
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/skills/long-task/scripts/detach-task.sh +57 -5
- package/dist/plugin-sdk/web-BTVj4kiQ.js +0 -66
package/package.json
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
# → "aborted rc=<N> signal=<NAME>" on SIGTERM/INT/HUP
|
|
16
16
|
#
|
|
17
17
|
# Exit code: 0 on successful spawn, 1 on missing args, 2 on invalid args,
|
|
18
|
-
# 3 on workdir creation failure
|
|
18
|
+
# 3 on workdir creation failure, 4 on task-id collision (a task
|
|
19
|
+
# with the same id is already running).
|
|
19
20
|
#
|
|
20
21
|
# Hardening notes (2.7.0):
|
|
21
22
|
# - task-id is validated against an allow-list ([a-zA-Z0-9._-], 1–60 chars,
|
|
@@ -27,6 +28,14 @@
|
|
|
27
28
|
# - Child shell has a TERM/INT/HUP trap that records an "aborted" status
|
|
28
29
|
# before exiting, so external kill signals leave a deterministic record.
|
|
29
30
|
#
|
|
31
|
+
# Hardening notes (post-2.8.12):
|
|
32
|
+
# - Pre-flight collision check: refuses to overwrite the state files of a
|
|
33
|
+
# task-id whose recorded PID is still alive (exit code 4).
|
|
34
|
+
# - Log file is bounded by LONG_TASK_LOG_MAX_BYTES (default 104857600 =
|
|
35
|
+
# 100 MiB; override via env). Once exceeded, a single marker line is
|
|
36
|
+
# written and further output is silently discarded — the producer keeps
|
|
37
|
+
# running, never gets SIGPIPE.
|
|
38
|
+
#
|
|
30
39
|
# Design notes:
|
|
31
40
|
# - setsid + nohup + disown: triple-armor against SIGHUP when the parent
|
|
32
41
|
# shell exits. The subprocess gets its own session.
|
|
@@ -75,12 +84,31 @@ if ! mkdir -p "$workdir"; then
|
|
|
75
84
|
exit 3
|
|
76
85
|
fi
|
|
77
86
|
|
|
87
|
+
# --- log size cap -----------------------------------------------------------
|
|
88
|
+
log_max_bytes="${LONG_TASK_LOG_MAX_BYTES:-104857600}"
|
|
89
|
+
if ! [[ "$log_max_bytes" =~ ^[0-9]+$ ]] || (( log_max_bytes < 1 )); then
|
|
90
|
+
echo "detach-task: LONG_TASK_LOG_MAX_BYTES must be a positive integer (got: $log_max_bytes)" >&2
|
|
91
|
+
exit 2
|
|
92
|
+
fi
|
|
93
|
+
|
|
78
94
|
pid_file="$workdir/task-${task_id}.pid"
|
|
79
95
|
cmd_file="$workdir/task-${task_id}.cmd"
|
|
80
96
|
started_file="$workdir/task-${task_id}.started"
|
|
81
97
|
log_file="$workdir/task-${task_id}.log"
|
|
82
98
|
status_file="$workdir/task-${task_id}.status"
|
|
83
99
|
|
|
100
|
+
# --- collision check --------------------------------------------------------
|
|
101
|
+
# If a pid file exists and the recorded PID is still alive, a prior task with
|
|
102
|
+
# this id is already running. Refuse to clobber its log/status files.
|
|
103
|
+
# Stale pid files (process already dead) are silently overwritten below.
|
|
104
|
+
if [[ -f "$pid_file" ]]; then
|
|
105
|
+
prior_pid="$(tr -dc '0-9' < "$pid_file" 2>/dev/null || true)"
|
|
106
|
+
if [[ -n "$prior_pid" ]] && kill -0 "$prior_pid" 2>/dev/null; then
|
|
107
|
+
echo "detach-task: task-id '$task_id' is already running (pid=$prior_pid). Pick a different id or wait for it to finish." >&2
|
|
108
|
+
exit 4
|
|
109
|
+
fi
|
|
110
|
+
fi
|
|
111
|
+
|
|
84
112
|
# --- atomic status writer (parent) -----------------------------------------
|
|
85
113
|
write_status_atomic() {
|
|
86
114
|
local _payload="$1"
|
|
@@ -104,7 +132,8 @@ setsid nohup bash -c '
|
|
|
104
132
|
set -u
|
|
105
133
|
_status="$1"
|
|
106
134
|
_log="$2"
|
|
107
|
-
|
|
135
|
+
_max="$3"
|
|
136
|
+
shift 3
|
|
108
137
|
_write() {
|
|
109
138
|
local _tmp="${_status}.$$.${RANDOM}.tmp"
|
|
110
139
|
printf "%s\n" "$1" > "$_tmp" && mv -f "$_tmp" "$_status"
|
|
@@ -115,13 +144,36 @@ setsid nohup bash -c '
|
|
|
115
144
|
_write "aborted rc=$_rc signal=$_sig ended=$(date -u -Iseconds)" 2>/dev/null || true
|
|
116
145
|
exit "$_rc"
|
|
117
146
|
}
|
|
147
|
+
# Reads stdin line-by-line, prints to its stdout (which the caller
|
|
148
|
+
# redirects to the log file) up to _max total bytes, then writes one
|
|
149
|
+
# cap marker and silently discards the rest. Reading continues until
|
|
150
|
+
# EOF so the producing pipe never receives SIGPIPE.
|
|
151
|
+
_log_capper() {
|
|
152
|
+
local _total=0
|
|
153
|
+
local _capped=0
|
|
154
|
+
local _line
|
|
155
|
+
local _ls
|
|
156
|
+
while IFS= read -r _line; do
|
|
157
|
+
if (( _capped )); then
|
|
158
|
+
continue
|
|
159
|
+
fi
|
|
160
|
+
_ls=$(( ${#_line} + 1 ))
|
|
161
|
+
if (( _total + _ls > _max )); then
|
|
162
|
+
printf "[long-task: log capped at %s bytes; further output discarded]\n" "$_max"
|
|
163
|
+
_capped=1
|
|
164
|
+
continue
|
|
165
|
+
fi
|
|
166
|
+
printf "%s\n" "$_line"
|
|
167
|
+
_total=$(( _total + _ls ))
|
|
168
|
+
done
|
|
169
|
+
}
|
|
118
170
|
trap "_on_signal TERM" TERM
|
|
119
171
|
trap "_on_signal INT" INT
|
|
120
172
|
trap "_on_signal HUP" HUP
|
|
121
|
-
"$@"
|
|
122
|
-
rc
|
|
173
|
+
"$@" 2>&1 | _log_capper >> "$_log"
|
|
174
|
+
rc=${PIPESTATUS[0]}
|
|
123
175
|
_write "complete rc=$rc ended=$(date -u -Iseconds)"
|
|
124
|
-
' -- "$status_file" "$log_file" "$@" < /dev/null > /dev/null 2>&1 &
|
|
176
|
+
' -- "$status_file" "$log_file" "$log_max_bytes" "$@" < /dev/null > /dev/null 2>&1 &
|
|
125
177
|
|
|
126
178
|
pid=$!
|
|
127
179
|
disown "$pid" 2>/dev/null || true
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
|
|
2
|
-
import "./reply-JypoGhql.js";
|
|
3
|
-
import "./paths-DR2yt_mP.js";
|
|
4
|
-
import "./github-copilot-token-D9X2phUj.js";
|
|
5
|
-
import "./plugins-BbAvhC25.js";
|
|
6
|
-
import "./fetch-CUNoPTKm.js";
|
|
7
|
-
import "./registry--_pGht6S.js";
|
|
8
|
-
import "./retry-ilSJqnz9.js";
|
|
9
|
-
import "./send-ZhAe1nXO.js";
|
|
10
|
-
import "./config-BzupW6LN.js";
|
|
11
|
-
import "./subsystem-Coz2AgU8.js";
|
|
12
|
-
import "./command-format-DSdvQ_M5.js";
|
|
13
|
-
import "./model-selection-CtVwtb6y.js";
|
|
14
|
-
import "./agent-scope-C3gMMKCU.js";
|
|
15
|
-
import "./manifest-registry-hy3Bn-r9.js";
|
|
16
|
-
import "./redact-DPnDWsnT.js";
|
|
17
|
-
import "./errors-Bv8oZiTO.js";
|
|
18
|
-
import "./channel-activity-Ji7f0gqq.js";
|
|
19
|
-
import "./image-ops-Bnp6LXEx.js";
|
|
20
|
-
import "./ssrf-DKZ8eBrk.js";
|
|
21
|
-
import "./local-roots-Ckk1QfzI.js";
|
|
22
|
-
import "./ir-Fb3qpcis.js";
|
|
23
|
-
import "./chunk-jvk9axTQ.js";
|
|
24
|
-
import "./message-channel-BdI5Ra9S.js";
|
|
25
|
-
import "./bindings-BbwoUGPx.js";
|
|
26
|
-
import "./markdown-tables-Dfaqilz6.js";
|
|
27
|
-
import "./render-BiJZ5W4Z.js";
|
|
28
|
-
import "./tables-DR0NmBeH.js";
|
|
29
|
-
import "./send-jsofmTfJ.js";
|
|
30
|
-
import "./tool-images-D7Lno-TE.js";
|
|
31
|
-
import "./target-errors-B7YyMnIi.js";
|
|
32
|
-
import "./send-BP5pSPaZ.js";
|
|
33
|
-
import "./send-DLO_yV5_.js";
|
|
34
|
-
import "./runner-BhifC1J_.js";
|
|
35
|
-
import "./reply-prefix-BHuV5t70.js";
|
|
36
|
-
import "./tokens-CWMflosr.js";
|
|
37
|
-
import "./skill-commands-DEfqC_kJ.js";
|
|
38
|
-
import "./skills-C9DbB-Kp.js";
|
|
39
|
-
import "./chrome-D9kN9org.js";
|
|
40
|
-
import "./thinking-DCNUIAHY.js";
|
|
41
|
-
import "./accounts-Dtszw3Zn.js";
|
|
42
|
-
import "./accounts-BToL3HlP.js";
|
|
43
|
-
import "./deliver-CKgFosI5.js";
|
|
44
|
-
import "./pi-embedded-helpers-BL7ZRhGv.js";
|
|
45
|
-
import "./paths-A0xdf3yk.js";
|
|
46
|
-
import "./diagnostic-_oc91gNi.js";
|
|
47
|
-
import "./store-Do3t33-c.js";
|
|
48
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-t6enTxNE.js";
|
|
49
|
-
import "./image-DFyINnvE.js";
|
|
50
|
-
import "./pi-model-discovery-LbcEa65a.js";
|
|
51
|
-
import "./api-key-rotation-CBsLb_4V.js";
|
|
52
|
-
import "./diagnostic-session-state-Wd5tNeQG.js";
|
|
53
|
-
import "./manager-LRE7zEk2.js";
|
|
54
|
-
import "./sqlite-CmVrFEYD.js";
|
|
55
|
-
import "./commands-registry-BuYpmEx-.js";
|
|
56
|
-
import "./send-CGhw9mO3.js";
|
|
57
|
-
import "./proxy-D27OUbrW.js";
|
|
58
|
-
import "./resolve-route-CHQ7BTlU.js";
|
|
59
|
-
import "./replies-BR2TPTVW.js";
|
|
60
|
-
import "./pi-auth-json-DiyK6bgV.js";
|
|
61
|
-
import "./outbound-attachment-D7ME_Kib.js";
|
|
62
|
-
import { n as sendMessageWhatsApp } from "./outbound-DW3cqlQW.js";
|
|
63
|
-
import { i as waitForWaConnection, t as createWaSocket } from "./session-BfyK_04G.js";
|
|
64
|
-
import { t as loginWeb } from "./login-K1YB_7-t.js";
|
|
65
|
-
|
|
66
|
-
export { WA_WEB_AUTH_DIR, createWaSocket, logWebSelfId, loginWeb, monitorWebChannel, monitorWebInbox, pickWebChannel, sendMessageWhatsApp, waitForWaConnection, webAuthExists };
|