skykoi 2026.3.415 → 2026.3.417
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/{APEv2Parser-CQZ2oGz-.js → APEv2Parser-SmqanW0H.js} +2 -2
- package/dist/{AbstractID3Parser-C-7q8rrD.js → AbstractID3Parser-bCQkeSom.js} +4 -4
- package/dist/{AiffParser-Cn8SBV-Z.js → AiffParser-DjrWvyRx.js} +3 -3
- package/dist/{AsfParser-CoFe_l42.js → AsfParser-B_E9lVhV.js} +4 -4
- package/dist/{DsdiffParser-Bm1hLHc0.js → DsdiffParser-DE9e_mIj.js} +3 -3
- package/dist/{DsfParser-CfEPvF1O.js → DsfParser-DpZ8iYTl.js} +4 -4
- package/dist/{FlacParser-Bs6Pkx37.js → FlacParser-8pXQewEG.js} +5 -5
- package/dist/{ID3v1Parser-Cb4WQDuj.js → ID3v1Parser-DAWPkE0z.js} +3 -3
- package/dist/{ID3v2Parser-0vs-_wxB.js → ID3v2Parser-C3Orzadd.js} +4 -4
- package/dist/{ID3v2Token-f446IQwP.js → ID3v2Token-DSDS6UA5.js} +1 -1
- package/dist/{MP4Parser-s-GySkIU.js → MP4Parser-CI7txQ0x.js} +5 -5
- package/dist/{MatroskaParser-C1hIY-G2.js → MatroskaParser-BftJGj5p.js} +2 -2
- package/dist/{MpegParser-D-wO6d-x.js → MpegParser-B9VLLa2F.js} +3 -3
- package/dist/{MusepackParser-C65CQBcT.js → MusepackParser-B8Nylrrl.js} +4 -4
- package/dist/{OggParser-xoWjq9MC.js → OggParser-gI_Bb9Xi.js} +4 -4
- package/dist/{Util-CLkatdtN.js → Util-BFwPcBw2.js} +1 -1
- package/dist/{WavPackParser-BwNYQnde.js → WavPackParser-1pjYuQac.js} +2 -2
- package/dist/{WaveParser-DirYR7f2.js → WaveParser-C33mKha9.js} +4 -4
- package/dist/{acp-cli-kskPi80c.js → acp-cli-C56r_8Lj.js} +13 -13
- package/dist/{admin-unlock-CDnzQ2kS.js → admin-unlock-DJRF9TiS.js} +3 -3
- package/dist/{archive-v5c_oZ0M.js → archive-3kJM-RnF.js} +1 -1
- package/dist/{audio-decode-Ch3D2H1P.js → audio-decode-DP1Jkkiw.js} +6 -6
- package/dist/{audio-recovery-C9f1IYxd.js → audio-recovery-SmensYPx.js} +3 -3
- package/dist/{audit-CdSf5yc6.js → audit-n4-mIgEB.js} +11 -11
- package/dist/{auth-Bv7GrJIF.js → auth-DcBX6MJZ.js} +2 -2
- package/dist/{auth-health-Bf0KV9dc.js → auth-health-xMFe60vn.js} +1 -1
- package/dist/{bonjour-discovery-C601-zWo.js → bonjour-discovery-C3TCSnsw.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/{ca-director-Cj4rkY2x.js → ca-director-CX8CLJlH.js} +206 -20
- package/dist/{call-D9x2Oink.js → call-BEVX8c7Z.js} +5 -5
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{canvas-state-Oz4Obrxj.js → canvas-state-Bq4301XX.js} +2 -2
- package/dist/{capture-service-x5KflO52.js → capture-service-B3REw--j.js} +25 -10
- package/dist/{channel-auth-73FQh9tw.js → channel-auth-DZRHFKcd.js} +6 -6
- package/dist/{channel-options-BO7KFBkh.js → channel-options-vJu7vK4F.js} +2 -2
- package/dist/{channel-summary-CBEmDyZF.js → channel-summary-DWF4XIW6.js} +1 -1
- package/dist/{channels-cli-CqD6eUNX.js → channels-cli-SCdE-Ie-.js} +81 -80
- package/dist/{clack-prompter-DI8b5Pl-.js → clack-prompter-B8vgSXns.js} +4 -4
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-C0n-zgcl.js → cli-BCjVYen8.js} +60 -59
- package/dist/{cli-auto-update-CWErkzCK.js → cli-auto-update-BhhAK4_s.js} +3 -3
- package/dist/{client-izHEJfss.js → client-BiLNqlII.js} +1 -1
- package/dist/{common-g3KrUsDG.js → common-D4jgEdRW.js} +2 -2
- package/dist/{completion-cli-K8Ntq43i.js → completion-cli-D6NvIHy1.js} +1 -1
- package/dist/{config-DkjBRbqs.js → config-Dtw8d1oB.js} +1 -1
- package/dist/{config-guard-qNjpWyqh.js → config-guard-D6W7sJwi.js} +42 -42
- package/dist/{configure-DN6Q8CDB.js → configure-MqoBk3ZA.js} +17 -17
- package/dist/{connect-DFIg7P1v.js → connect-BapV23cV.js} +1 -1
- package/dist/{context-digest-CjHi0Y7g.js → context-digest-BZhtn50t.js} +7 -7
- package/dist/{control-service-RpKA-_F0.js → control-service-CGicvFxv.js} +3 -3
- package/dist/{cron-cli-wtbQqot6.js → cron-cli-ByZhnj0N.js} +13 -13
- package/dist/{daemon-cli-Cyae4A7P.js → daemon-cli-C2fPdVmL.js} +17 -17
- package/dist/{daemon-runtime-Cw8HN1z_.js → daemon-runtime-BCgA9PFA.js} +3 -3
- package/dist/{deliver-ClVjz43p.js → deliver-DIExvjND.js} +5 -5
- package/dist/{deps-CVjDioW-.js → deps-CQfXzOo6.js} +2 -2
- package/dist/{devices-cli-DwveHngR.js → devices-cli-BtDI5l9Y.js} +10 -10
- package/dist/{diagnostics-Db0yQkCa.js → diagnostics-VjGrBFy1.js} +1 -1
- package/dist/{directory-cli-BXkyZjke.js → directory-cli-CzjlrJAJ.js} +9 -9
- package/dist/{dispatcher-D7EzbSw7.js → dispatcher-CWMz7Cyv.js} +1 -1
- package/dist/{dist-D2ZXRCQL.js → dist-B_3AAR3q.js} +3 -3
- package/dist/{dist-ButgT5Gk.js → dist-EVZCJXU2.js} +2 -2
- package/dist/{dist-cjs-DIUV7iyC.js → dist-cjs-B8z3ncj-.js} +2 -2
- package/dist/{dist-cjs-Dbma9Rg0.js → dist-cjs-BvdDM2q1.js} +2 -2
- package/dist/{dist-cjs-DpY0BfdE.js → dist-cjs-C23yOCo2.js} +3 -3
- package/dist/{dist-cjs-BbzAggWT.js → dist-cjs-C351KziI.js} +8 -8
- package/dist/{dist-cjs-B46jZvHR.js → dist-cjs-DI5BLGTw.js} +1 -1
- package/dist/{dist-cjs-BZIxvyyU.js → dist-cjs-DJqZDNhx.js} +3 -3
- package/dist/{dist-cjs-C8pwHZPt.js → dist-cjs-d_7HJfDW.js} +1 -1
- package/dist/{dist-De2BpLLK.js → dist-kkQpvYsv.js} +65 -47
- package/dist/{dns-cli-6Xd6yB_s.js → dns-cli-BzfesjlG.js} +9 -9
- package/dist/{docs-cli-Di4KF_zE.js → docs-cli-CLHjjIPD.js} +6 -6
- package/dist/{doctor-CYGTkAl0.js → doctor-Cu7CoLyP.js} +32 -32
- package/dist/{doctor-completion-BmQxtaJp.js → doctor-completion-DK15LWZe.js} +3 -3
- package/dist/{ensure-local-gateway-DL9v_WFE.js → ensure-local-gateway-CEtQeEN3.js} +5 -5
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CU__ZvF-.js → exec-approvals-cli-okD3-GrW.js} +17 -17
- package/dist/{exec-approvals-evaluate-BYtiDK0u.js → exec-approvals-evaluate-BV8VYXsc.js} +1 -1
- package/dist/extension-api.js +60 -59
- package/dist/{first-run-CFgztpNJ.js → first-run-Apj_hLx-.js} +1 -1
- package/dist/{flac-BvxXqQ1i.js → flac-DNZtHkIC.js} +0 -0
- package/dist/{gateway-cli-Bw46AFDg.js → gateway-cli-D0B0hz2u.js} +164 -139
- package/dist/gateway-client.js +2 -2
- package/dist/{gateway-rpc-Dsim6rTp.js → gateway-rpc-B2Zl68Pc.js} +2 -2
- package/dist/{github-copilot-auth-W7sylWjb.js → github-copilot-auth-BxMpu61Q.js} +6 -6
- package/dist/{gmail-setup-utils-By51E-G_.js → gmail-setup-utils-D2Ea1lxQ.js} +1 -1
- package/dist/{graphics-terminal-setup-CPrRp08U.js → graphics-terminal-setup-TQvrnfna.js} +2 -2
- package/dist/{health-format-BbpMt6U1.js → health-format-C1I7fGDR.js} +8 -8
- package/dist/{hooks-cli-Y2YRhPHM.js → hooks-cli-CcRkXhcY.js} +64 -63
- package/dist/{hooks-status-NwL9AkZD.js → hooks-status-zBq0Dt0N.js} +1 -1
- package/dist/{identify-CHP8NQh2.js → identify-BoluV5CV.js} +82 -11
- package/dist/{image-Xhv1WbJY.js → image-DPbV_lIw.js} +5 -5
- package/dist/{image-ops-C45aI2Og.js → image-ops-IWejMbO7.js} +1 -1
- package/dist/index.js +115 -114
- package/dist/{installs-DYxVB0wb.js → installs-BMe47UM8.js} +2 -2
- package/dist/{sqlite-C0QbeU3t.js → internal-1qVqywRm.js} +1 -11
- package/dist/{io-lVJPpZa9.js → io-Du6-MSB2.js} +1 -1
- package/dist/{koi-B-adVRJ0.js → koi-BM7jpV3i.js} +12 -12
- package/dist/{koi-event-bridge-DcS7JxM8.js → koi-event-bridge-B37C7wQS.js} +2 -2
- package/dist/{koi-utterance-trigger-DEVLYg_A.js → koi-utterance-trigger-Blwlrtt3.js} +1 -1
- package/dist/ledger-BdUzGXai.js +325 -0
- package/dist/{ledger-cli-1TD3AiqE.js → ledger-cli-zbITxCII.js} +1 -1
- package/dist/ledger-facts-CmILTIzD.js +192 -0
- package/dist/ledger-ingest-BLIbTWu2.js +559 -0
- package/dist/ledger-semantic-Cqz5-rFE.js +198 -0
- package/dist/{lib-CqBTO5i4.js → lib-BhsGQdyF.js} +19 -19
- package/dist/{lib-B1krrDBw.js → lib-CF0okPTi.js} +1 -1
- package/dist/{lib-yPXHDJsX.js → lib-DvjhnWTO.js} +1 -1
- package/dist/{login-oFK0z7-J.js → login-DmEyH9jI.js} +6 -6
- package/dist/{login-qr-DPn0cTK-.js → login-qr-BRr7dXxg.js} +5 -5
- package/dist/{logs-cli-DmTobA9e.js → logs-cli-C72hqLnQ.js} +12 -12
- package/dist/{manager-BVWrev6y.js → manager-C3d_9Tmg.js} +4 -3
- package/dist/{message-BGysnvPK.js → message-BwP571QX.js} +5 -5
- package/dist/{model-selection-CmKBBKeL.js → model-selection-BJ3LRxcJ.js} +4 -4
- package/dist/{models-cli-BvE3ukyD.js → models-cli-t7HEOMOY.js} +68 -67
- package/dist/{models-config-CmUg-3zr.js → models-config-DdIU7G3Y.js} +2 -2
- package/dist/{mpg123-decoder-B8VURVkf.js → mpg123-decoder-PuBGeW1X.js} +0 -0
- package/dist/{multipart-parser-notKFbBp.js → multipart-parser-mVErCYU5.js} +1 -1
- package/dist/{net-Cfif-CzD.js → net-ovBD7YwM.js} +1 -1
- package/dist/{node-cli-D6ZR8rGu.js → node-cli-DGzeemhs.js} +23 -23
- package/dist/{node-service-FpI5_Kev.js → node-service-DzB6xdXK.js} +2 -2
- package/dist/{nodes-cli-BJ3UifXn.js → nodes-cli-DCQJ6_hy.js} +16 -16
- package/dist/{note-Dgsh9TJE.js → note-8tBKXM3Y.js} +1 -1
- package/dist/{nylas-U2wHlPwX.js → nylas-CGpgSprO.js} +1 -1
- package/dist/{ogg-opus-decoder-BPruHiaR.js → ogg-opus-decoder-BQ5jS4jY.js} +0 -0
- package/dist/{ogg-vorbis-niFy7Gax.js → ogg-vorbis-NjQY-FLq.js} +0 -0
- package/dist/{onboard-channels-DXgzUduh.js → onboard-channels-BWtszAkD.js} +5 -5
- package/dist/{onboard-helpers-o1U-dn2n.js → onboard-helpers-D69_1Asy.js} +6 -6
- package/dist/{onboard-skills-D2PuvOlq.js → onboard-skills-DZJj6hsm.js} +12 -12
- package/dist/{onboarding-KjPht-vT.js → onboarding-gRDmO4sx.js} +34 -34
- package/dist/{opus-ml-C1IgeK4A.js → opus-ml-CbNjkbR4.js} +0 -0
- package/dist/{pairing-cli-BKTkyxLs.js → pairing-cli-B3jAbF8F.js} +9 -9
- package/dist/{pairing-labels-CaaA_Kt-.js → pairing-labels-C7dPUUMw.js} +1 -1
- package/dist/{path-env-1_C-JRUU.js → path-env-CzqxPBGM.js} +1 -1
- package/dist/{photon_rs-DGS5hX8b.js → photon_rs--v9n3BQJ.js} +1 -1
- package/dist/{pi-embedded-helpers-BnsMD0to.js → pi-embedded-helpers-epijF7kQ.js} +2 -2
- package/dist/{pi-model-discovery-IRS5Bhx-.js → pi-model-discovery-aBaiPknt.js} +1 -1
- package/dist/{pi-tool-definition-adapter-D9igP7jU.js → pi-tool-definition-adapter-CiCAVx0w.js} +1 -1
- package/dist/{pi-tools.policy-DDff0t8l.js → pi-tools.policy-J2VkiSCU.js} +3 -2
- package/dist/{platform-billing-D8f18ubj.js → platform-billing-fV9sjjQz.js} +1 -1
- package/dist/{plugin-auto-enable-D5QYYZDH.js → plugin-auto-enable-DI7yF7Cc.js} +1 -1
- package/dist/{plugin-registry-Dd3gYaF4.js → plugin-registry-B2zHjscw.js} +2 -2
- package/dist/plugin-sdk/capture/capture-store.d.ts +8 -0
- package/dist/plugin-sdk/capture/proactive/addressing.d.ts +1 -1
- package/dist/plugin-sdk/capture/proactive/fast-responder.d.ts +3 -0
- package/dist/plugin-sdk/capture/proactive/second-opinion.d.ts +56 -0
- package/dist/plugin-sdk/index.js +56 -569
- package/dist/plugin-sdk/koi/tools/recall-tool.d.ts +4 -0
- package/dist/plugin-sdk/memory/ledger-facts.d.ts +37 -0
- package/dist/plugin-sdk/memory/ledger-semantic.d.ts +28 -0
- package/dist/plugin-sdk/memory/ledger.d.ts +77 -0
- package/dist/plugin-sdk/{pi-model-discovery-lynj0LAO.js → pi-model-discovery-CbZNnPh6.js} +50 -32
- package/dist/{plugins-cli-CXwGKG5Z.js → plugins-cli-DoBH8Ldm.js} +66 -65
- package/dist/{proactive-eval-BCMSOwxK.js → proactive-eval-JjYdFbQK.js} +39 -15
- package/dist/{program-BvCROCKp.js → program-BWG09WVa.js} +6 -6
- package/dist/{pw-ai-BkS6uRkc.js → pw-ai-xVUhg2oB.js} +1 -1
- package/dist/{qmd-manager-56XH3jlC.js → qmd-manager-D0o600Wg.js} +2 -1
- package/dist/{register.subclis-D4icX3hP.js → register.subclis-Bsy5VQWO.js} +34 -34
- package/dist/{reply-CDp9q1Vc.js → reply-Dx4BNpWV.js} +166 -639
- package/dist/resume-on-boot-BPfSfdNX.js +216 -0
- package/dist/{routes-C_GpVEDZ.js → routes-Ca8LqLcf.js} +3 -3
- package/dist/{rpc-YhAQzNlL.js → rpc-CMZMmrCO.js} +2 -2
- package/dist/{run-code-tool-NbWgGyDu.js → run-code-tool-BRJqCFtn.js} +1 -1
- package/dist/{run-main-q7BkaqXe.js → run-main-BqWJQ9UJ.js} +120 -119
- package/dist/{runner-CpnbA-2N.js → runner-BhG9BJX6.js} +10 -10
- package/dist/{sandbox-zPcju-bV.js → sandbox-D6wJcx47.js} +5 -5
- package/dist/{sandbox-cli-terA6EM2.js → sandbox-cli-uYxxbKBs.js} +14 -14
- package/dist/{security-cli-B5qTCPSE.js → security-cli-DolP28hs.js} +22 -22
- package/dist/{server-context-Dej8i418.js → server-context-CX441p0h.js} +3 -3
- package/dist/{server-node-events-DuXlBGXC.js → server-node-events-CoT51Acr.js} +63 -62
- package/dist/{service-Bz3BLFuQ.js → service-CJCq4R_b.js} +2 -2
- package/dist/{service-audit-CijWRKqR.js → service-audit-D34KRkhd.js} +4 -4
- package/dist/{session-cost-usage-Nmd8bPic.js → session-cost-usage-BHaRWnZF.js} +1 -1
- package/dist/{sessions-BZBtTQCk.js → sessions-Bp3n5YA_.js} +2 -2
- package/dist/{shared-B3rppGQN.js → shared-DurMbV0y.js} +2 -2
- package/dist/{shared-CZVRangM.js → shared-Dx-5oS7g.js} +3 -3
- package/dist/{signin-CvHnO52D.js → signin-krIfJL7l.js} +3 -3
- package/dist/{skills-w4q7XySt.js → skills-Dz6W5j0d.js} +1 -1
- package/dist/{skills-cli-EiZ6YlCl.js → skills-cli-C0bJZmza.js} +10 -10
- package/dist/{skills-status-DzGR295b.js → skills-status-DDdqOMvi.js} +2 -2
- package/dist/sqlite-CcncYUtk.js +12 -0
- package/dist/{src-B1X0ChaP.js → src-ucgcl6Si.js} +2 -2
- package/dist/{sso-oidc-BE_eNisy.js → sso-oidc-DDPPB4nX.js} +3 -3
- package/dist/{status-unalYyJY.js → status-CEKcgj0D.js} +2 -2
- package/dist/{sts-D_bZA39E.js → sts-C27MKuOB.js} +3 -3
- package/dist/{surface-tool-DqCgANSk.js → surface-tool-lPNzOXy0.js} +3 -3
- package/dist/{system-cli-B-e40tyP.js → system-cli-ChCEIpDP.js} +11 -11
- package/dist/{system-prompt-snippet-BPa9MMNP.js → system-prompt-snippet-CRxJI8kA.js} +1 -1
- package/dist/{systemd-5f0_yK5K.js → systemd-cESLgm7E.js} +1 -1
- package/dist/{systemd-linger-sox_shlO.js → systemd-linger-Bk6j0ocU.js} +2 -2
- package/dist/{tool-images-BscwczCb.js → tool-images-wgRd-_EF.js} +1 -1
- package/dist/{tui-eV0dj-x4.js → tui-CCuqycQT.js} +32 -20
- package/dist/{tui-cli-DtHxmn2U.js → tui-cli-C0C18k8a.js} +42 -39
- package/dist/{tui-shell-BNyj67Rq.js → tui-shell-DsFpUP_D.js} +142 -7
- package/dist/{update-CXkUTz34.js → update-D6nbBYbC.js} +1 -1
- package/dist/{update-cli-CT9T8iOX.js → update-cli-nZ8I2m8E.js} +91 -90
- package/dist/{update-runner-DbYE4uWc.js → update-runner-DVmXSVML.js} +3 -3
- package/dist/{usage-reporter-Bx9Nr7UM.js → usage-reporter-DLs6PDXg.js} +1 -1
- package/dist/{utilities-L898lIwo.js → utilities-BrSKHnYL.js} +1 -1
- package/dist/{voices-cli-B-U91QQ3.js → voices-cli-Cbe-vIZU.js} +1 -1
- package/dist/{webhooks-cli-D3K-2gZv.js → webhooks-cli-CA99LCQ2.js} +9 -9
- package/dist/{zen-surface-DBpHONnk.js → zen-surface-Bs0QlPVj.js} +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
- 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/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +10 -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/node_modules/.bin/arrow2csv +21 -0
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +10 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +10 -0
- package/extensions/nostr/node_modules/.bin/tsc +21 -0
- package/extensions/nostr/node_modules/.bin/tsserver +21 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/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 +10 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +10 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +10 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +10 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +2 -2
- /package/dist/{BasicParser-Ctdj2OB-.js → BasicParser-DrWaYfWv.js} +0 -0
- /package/dist/{action-ledger-CZm1RLNd.js → action-ledger-DCDXcaiT.js} +0 -0
- /package/dist/{brew-BV6cdBLU.js → brew-Bl5dSKJe.js} +0 -0
- /package/dist/{capture-cli-DF6O2JDT.js → capture-cli-O-24LrIG.js} +0 -0
- /package/dist/{channel-selection-Dj_CMzvz.js → channel-selection-JDc1W7hU.js} +0 -0
- /package/dist/{channels-status-issues-BUOqiSuy.js → channels-status-issues-CUjFhxft.js} +0 -0
- /package/dist/{cli-utils-uAyQZBvv.js → cli-utils-D2X_bDLt.js} +0 -0
- /package/dist/{codec-parser-B5mYLNyt.js → codec-parser-CAv34q9N.js} +0 -0
- /package/dist/{companions-DOFb9Qnj.js → companions-Bvb-HAcp.js} +0 -0
- /package/dist/{constants-BxOshTSm.js → constants--Vfv4XxQ.js} +0 -0
- /package/dist/{control-ui-assets-D2wZfVim.js → control-ui-assets-D9TU_kVS.js} +0 -0
- /package/dist/{declarations-BCFE6K8P.js → declarations-DiOSCyC-.js} +0 -0
- /package/dist/{device-identity-pxZl9iT8.js → device-identity-DS1vsPIW.js} +0 -0
- /package/dist/{dist-cjs-n19fPEyx.js → dist-cjs-C59lYOdT.js} +0 -0
- /package/dist/{dist-cjs-iuUWDGbR.js → dist-cjs-DUyUHlvJ.js} +0 -0
- /package/dist/{dotenv-sFSCefLS.js → dotenv-DnO0eRof.js} +0 -0
- /package/dist/{esm-BFVtSKFu.js → esm-K3yRBWgD.js} +0 -0
- /package/dist/{esm-shims-DCx9WpXg.js → esm-shims-BmqjA11f.js} +0 -0
- /package/dist/{event-log-8Gy24Q8h.js → event-log-Dfu6U72C.js} +0 -0
- /package/dist/{event-streams-ZjOK6A9_.js → event-streams-BwDnM1IB.js} +0 -0
- /package/dist/{exec-approvals-io-CFVKuSeR.js → exec-approvals-io-Bw_4e0C3.js} +0 -0
- /package/dist/{format-D-VAp4B3.js → format-CD82V1wH.js} +0 -0
- /package/dist/{from-DlxtjhdR.js → from-DPcGvM1R.js} +0 -0
- /package/dist/{help-format-DaracUAB.js → help-format-CRF38mZD.js} +0 -0
- /package/dist/{helpers-Dano2vlT.js → helpers-6_MYSJEW.js} +0 -0
- /package/dist/{helpers-Bf_7MMN1.js → helpers-Jz6ppAYo.js} +0 -0
- /package/dist/{is-main-K-6EEb_n.js → is-main-B8W6VsR-.js} +0 -0
- /package/dist/{koi-events-D5PuKPcz.js → koi-events-CTUrswrV.js} +0 -0
- /package/dist/{links-BqdU0TFi.js → links-B-3YwG1H.js} +0 -0
- /package/dist/{live-broadcast-BIlUXK-0.js → live-broadcast-wTVs5Lzq.js} +0 -0
- /package/dist/{logging-B2js4Jgc.js → logging-DBZsukx5.js} +0 -0
- /package/dist/{native-window-DumLjKeL.js → native-window-C_txmQ01.js} +0 -0
- /package/dist/{node-pairing-CYNP1g4x.js → node-pairing-Bj3AI8zP.js} +0 -0
- /package/dist/{node-pty-DvuSPjhQ.js → node-pty-LGt8VkP5.js} +0 -0
- /package/dist/{node-wav-kZ_sIssA.js → node-wav-BLqEPoTa.js} +0 -0
- /package/dist/{nodes-screen-Cceyy2v6.js → nodes-screen-BOR_MJdR.js} +0 -0
- /package/dist/{package-DKdaLkus.js → package-BpZAR57N.js} +0 -0
- /package/dist/{pairing-store-BJq_rv5S.js → pairing-store-5XKyDoU_.js} +0 -0
- /package/dist/{parse-lztFbXu9.js → parse-CPZl2n13.js} +0 -0
- /package/dist/{parse-log-line-wGjegDXe.js → parse-log-line-BtnrcIoi.js} +0 -0
- /package/dist/{parse-timeout-CIqovswJ.js → parse-timeout-DhzruDDW.js} +0 -0
- /package/dist/{pdf-B52QHMdD.js → pdf-Csqt3I9u.js} +0 -0
- /package/dist/{permissions-cli-Dnf0d1au.js → permissions-cli-1zbwgs_K.js} +0 -0
- /package/dist/{ports-C6-lHXUM.js → ports-DknbMlUw.js} +0 -0
- /package/dist/{progress-QVvXnEt-.js → progress-CxDBFZz4.js} +0 -0
- /package/dist/{prompt-style-DUZn5AjO.js → prompt-style-N11TfIHe.js} +0 -0
- /package/dist/{prompts-CNzp9M83.js → prompts-OFJRqDDg.js} +0 -0
- /package/dist/{proxy-from-env-BI6o-lgV.js → proxy-from-env-BUzvwibb.js} +0 -0
- /package/dist/{qoa-format-HAraj5c4.js → qoa-format-D42wySzF.js} +0 -0
- /package/dist/{readability-CkKLYpoQ.js → readability-DQSf8ukO.js} +0 -0
- /package/dist/{readiness-DjdWO9Fm.js → readiness-6yLyHAf_.js} +0 -0
- /package/dist/{registry-BDi8qkVO.js → registry-D-gnHADJ.js} +0 -0
- /package/dist/{restart-sentinel-B3dQ684O.js → restart-sentinel-CcKTmaz7.js} +0 -0
- /package/dist/{rich-BaT-R-Bj.js → rich-t60oVsBn.js} +0 -0
- /package/dist/{runtime-guard-QJDAE0ub.js → runtime-guard-DLzsEGzz.js} +0 -0
- /package/dist/{satisfies-D2Taq9gG.js → satisfies-B0N-0Ebw.js} +0 -0
- /package/dist/{skill-scanner-b9MamBYt.js → skill-scanner-wcRvvBRm.js} +0 -0
- /package/dist/{source-map-_40euoWs.js → source-map-CrKDPXhx.js} +0 -0
- /package/dist/{sqlite-vec-D70r8h9V.js → sqlite-vec-DdpJSklK.js} +0 -0
- /package/dist/{status-D2sLFE9B.js → status-q8odUh8K.js} +0 -0
- /package/dist/{streams-cli-Buk4KNUn.js → streams-cli-DhojOTpL.js} +0 -0
- /package/dist/{systemd-hints-CALsumZt.js → systemd-hints-jbbKRhsl.js} +0 -0
- /package/dist/{table-SaWmGh81.js → table-OVCv6p-k.js} +0 -0
- /package/dist/{tailnet-CxR_pUEt.js → tailnet-CzyAUePY.js} +0 -0
- /package/dist/{tailscale-BX7pFm3E.js → tailscale-B049NW4V.js} +0 -0
- /package/dist/{transcript-tools-Dy472a2E.js → transcript-tools-BhRPjkKE.js} +0 -0
- /package/dist/{types-BAAOnG0s.js → types-BfUUk5a0.js} +0 -0
- /package/dist/{widearea-dns-zHPAPSiI.js → widearea-dns-jzceKRQ2.js} +0 -0
- /package/dist/{ws-log-K0TDamKG.js → ws-log-CK3PFL3C.js} +0 -0
- /package/dist/{wsl-Dk7vKTAv.js → wsl-DtWC8IsN.js} +0 -0
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { I as listThinkingLevelLabels, L as listThinkingLevels, P as formatThinkingLevels, m as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-
|
|
1
|
+
import { I as listThinkingLevelLabels, L as listThinkingLevels, P as formatThinkingLevels, m as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-epijF7kQ.js";
|
|
2
2
|
import { S as getActivePluginRegistry, t as createSubsystemLogger } from "./subsystem-gU4M25gl.js";
|
|
3
3
|
import { g as resolveStateDir } from "./paths-VdmjGGyc.js";
|
|
4
4
|
import { a as buildKoiMainSessionKey, l as normalizeKoiId, u as normalizeMainKey, v as parseKoiSessionKey } from "./session-key-BIl6GRQN.js";
|
|
5
5
|
import { l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-Cagum3pM.js";
|
|
6
|
-
import { H as resolveEnvApiKey, St as DEFAULT_PROVIDER, bt as DEFAULT_CONTEXT_TOKENS, d as resolveConfiguredModelRef, dt as resolveSKYKOIKoiDir, f as resolveDefaultModelForKoi, xt as DEFAULT_MODEL } from "./model-selection-
|
|
6
|
+
import { H as resolveEnvApiKey, St as DEFAULT_PROVIDER, bt as DEFAULT_CONTEXT_TOKENS, d as resolveConfiguredModelRef, dt as resolveSKYKOIKoiDir, f as resolveDefaultModelForKoi, xt as DEFAULT_MODEL } from "./model-selection-BJ3LRxcJ.js";
|
|
7
7
|
import { a as clearBillingAlert, i as classifyBillingFailure, o as reportBillingAlert } from "./billing-alerts-CL95zVcj.js";
|
|
8
|
-
import { i as loadConfig } from "./io-
|
|
9
|
-
import { I as listChannelDocks, O as canonicalizeMainSessionAlias, U as buildGroupDisplayName, _ as normalizeSessionDeliveryFields, i as loadSessionStore, j as resolveMainSessionKey } from "./sessions-
|
|
10
|
-
import { t as ensureSKYKOIModelsJson } from "./models-config-
|
|
8
|
+
import { i as loadConfig } from "./io-Du6-MSB2.js";
|
|
9
|
+
import { I as listChannelDocks, O as canonicalizeMainSessionAlias, U as buildGroupDisplayName, _ as normalizeSessionDeliveryFields, i as loadSessionStore, j as resolveMainSessionKey } from "./sessions-Bp3n5YA_.js";
|
|
10
|
+
import { t as ensureSKYKOIModelsJson } from "./models-config-DdIU7G3Y.js";
|
|
11
11
|
import { O as visibleWidth } from "./dist-D6Sv3llW.js";
|
|
12
12
|
import { o as resolveStorePath, r as resolveSessionTranscriptPath } from "./paths-6OemP7gm.js";
|
|
13
13
|
import { n as SILENT_REPLY_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Duj-iWBS.js";
|
|
14
|
-
import { a as formatTokenCount, n as extractToolCallNames, r as hasToolCall } from "./transcript-tools-
|
|
15
|
-
import { n as readSkykoiEnvVar } from "./dotenv-
|
|
16
|
-
import { a as R, d as panel, i as HUES, n as BOLD, p as rule, r as DIM, t as ACCENT } from "./rich-
|
|
17
|
-
import { a as containsKoiMention, c as noteMicSpeaker, g as isPrivateMode, h as isAudioMuted, i as classifyMicAddressing, n as resolveVoiceIdentity, o as getAmbientSnapshot, p as getAllEvents, r as WEARER_MATCH_CONFIDENCE, s as isWakeAddress, u as EchoTracker } from "./identify-
|
|
18
|
-
import { a as CA_FAMILIES, i as sendNativeIntent, t as hasNativeWindow } from "./native-window-
|
|
19
|
-
import fs, { closeSync, existsSync, openSync, readSync, statSync } from "node:fs";
|
|
20
|
-
import path, { join } from "node:path";
|
|
21
|
-
import os, { homedir } from "node:os";
|
|
14
|
+
import { a as formatTokenCount, n as extractToolCallNames, r as hasToolCall } from "./transcript-tools-BhRPjkKE.js";
|
|
15
|
+
import { n as readSkykoiEnvVar } from "./dotenv-DnO0eRof.js";
|
|
16
|
+
import { a as R, d as panel, i as HUES, n as BOLD, p as rule, r as DIM, t as ACCENT } from "./rich-t60oVsBn.js";
|
|
17
|
+
import { a as containsKoiMention, c as noteMicSpeaker, g as isPrivateMode, h as isAudioMuted, i as classifyMicAddressing, n as resolveVoiceIdentity, o as getAmbientSnapshot, p as getAllEvents, r as WEARER_MATCH_CONFIDENCE, s as isWakeAddress, u as EchoTracker } from "./identify-BoluV5CV.js";
|
|
18
|
+
import { a as CA_FAMILIES, i as sendNativeIntent, t as hasNativeWindow } from "./native-window-C_txmQ01.js";
|
|
19
|
+
import fs, { closeSync, copyFileSync, existsSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, statSync, unlinkSync } from "node:fs";
|
|
20
|
+
import path, { basename, join } from "node:path";
|
|
21
|
+
import os, { homedir, tmpdir } from "node:os";
|
|
22
22
|
|
|
23
23
|
//#region src/koi/context.ts
|
|
24
24
|
const MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
25
25
|
(async () => {
|
|
26
26
|
try {
|
|
27
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
27
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-aBaiPknt.js").then((n) => n.r);
|
|
28
28
|
await ensureSKYKOIModelsJson(loadConfig());
|
|
29
29
|
const koiDir = resolveSKYKOIKoiDir();
|
|
30
30
|
const models = discoverModels(discoverAuthStorage(koiDir), koiDir).getAll();
|
|
@@ -1772,6 +1772,187 @@ function listSessionsFromStore(params) {
|
|
|
1772
1772
|
};
|
|
1773
1773
|
}
|
|
1774
1774
|
|
|
1775
|
+
//#endregion
|
|
1776
|
+
//#region src/capture/proactive/second-opinion.ts
|
|
1777
|
+
/**
|
|
1778
|
+
* Second-opinion re-transcription for DIRECT koi addresses.
|
|
1779
|
+
*
|
|
1780
|
+
* In a noisy room the realtime STT reliably catches the wake word (context
|
|
1781
|
+
* biasing) but garbles the QUESTION — 2026-07-07 the owner asked "Koi, where
|
|
1782
|
+
* does that water live?" and the live stream delivered "Koi, what is it?
|
|
1783
|
+
* What are the." The koi then confidently answers a question that was never
|
|
1784
|
+
* asked. The SAME audio re-run through Whisper recovered the real question,
|
|
1785
|
+
* so: when the owner addresses the koi, re-transcribe just that utterance's
|
|
1786
|
+
* audio through Groq Whisper (concurrently with the context load — no added
|
|
1787
|
+
* latency) and hand BOTH hearings to the responder.
|
|
1788
|
+
*
|
|
1789
|
+
* Audio sources, in order:
|
|
1790
|
+
* 1. the per-utterance PCM clip (precise, but the voice-ID bridge deletes
|
|
1791
|
+
* clips seconds after embedding — often already gone by eval time),
|
|
1792
|
+
* 2. the 60s rolling WAV buffer chunk covering the utterance timestamp
|
|
1793
|
+
* (lives 24h; upload the chunk, keep only segments overlapping the
|
|
1794
|
+
* utterance window).
|
|
1795
|
+
*/
|
|
1796
|
+
const GROQ_STT_URL = "https://api.groq.com/openai/v1/audio/transcriptions";
|
|
1797
|
+
const GROQ_STT_MODEL = "whisper-large-v3-turbo";
|
|
1798
|
+
const DEFAULT_TIMEOUT_MS = 2500;
|
|
1799
|
+
const CHUNK_SPAN_MS = 65e3;
|
|
1800
|
+
/** mic ts is stamped at utterance END; look back far enough to cover a long
|
|
1801
|
+
* question but no further — the window path is UNSEPARATED room audio and
|
|
1802
|
+
* every extra second invites another speaker's words in. */
|
|
1803
|
+
const UTT_LOOKBACK_MS = 8e3;
|
|
1804
|
+
const UTT_LOOKAHEAD_MS = 1500;
|
|
1805
|
+
const DEFAULT_BUFFER_DIR = join(homedir(), ".skykoi/capture/audio-buffer");
|
|
1806
|
+
const SNAPSHOT_DIR = join(tmpdir(), "skykoi-utt-snapshots");
|
|
1807
|
+
const SNAPSHOT_MAX_AGE_MS = 10 * 6e4;
|
|
1808
|
+
/**
|
|
1809
|
+
* Preserve the DIARIZED per-utterance clip the moment its trigger arrives.
|
|
1810
|
+
* The voice-ID bridge reaps clips seconds after embedding, so by eval time
|
|
1811
|
+
* the precise single-speaker audio is usually gone and the second opinion
|
|
1812
|
+
* would fall back to UNSEPARATED room audio — losing exactly what Soniox's
|
|
1813
|
+
* diarization+endpointing provides. Copy is a few hundred KB; stale
|
|
1814
|
+
* snapshots are pruned on each call. Returns the snapshot path, or null.
|
|
1815
|
+
*/
|
|
1816
|
+
function snapshotClip(audioPath) {
|
|
1817
|
+
if (!audioPath?.endsWith(".pcm")) return null;
|
|
1818
|
+
try {
|
|
1819
|
+
mkdirSync(SNAPSHOT_DIR, { recursive: true });
|
|
1820
|
+
const now = Date.now();
|
|
1821
|
+
for (const name of readdirSync(SNAPSHOT_DIR)) {
|
|
1822
|
+
const p = join(SNAPSHOT_DIR, name);
|
|
1823
|
+
try {
|
|
1824
|
+
if (now - statSync(p).mtimeMs > SNAPSHOT_MAX_AGE_MS) unlinkSync(p);
|
|
1825
|
+
} catch {}
|
|
1826
|
+
}
|
|
1827
|
+
const dest = join(SNAPSHOT_DIR, `${now}-${basename(audioPath)}`);
|
|
1828
|
+
copyFileSync(audioPath, dest);
|
|
1829
|
+
return dest;
|
|
1830
|
+
} catch {
|
|
1831
|
+
return null;
|
|
1832
|
+
}
|
|
1833
|
+
}
|
|
1834
|
+
/** Wrap raw 16 kHz mono s16le PCM (the daemon's clip format) in a WAV header. */
|
|
1835
|
+
function wavFromPcm16(pcm, sampleRate = 16e3) {
|
|
1836
|
+
const header = Buffer.alloc(44);
|
|
1837
|
+
header.write("RIFF", 0);
|
|
1838
|
+
header.writeUInt32LE(36 + pcm.length, 4);
|
|
1839
|
+
header.write("WAVE", 8);
|
|
1840
|
+
header.write("fmt ", 12);
|
|
1841
|
+
header.writeUInt32LE(16, 16);
|
|
1842
|
+
header.writeUInt16LE(1, 20);
|
|
1843
|
+
header.writeUInt16LE(1, 22);
|
|
1844
|
+
header.writeUInt32LE(sampleRate, 24);
|
|
1845
|
+
header.writeUInt32LE(sampleRate * 2, 28);
|
|
1846
|
+
header.writeUInt16LE(2, 32);
|
|
1847
|
+
header.writeUInt16LE(16, 34);
|
|
1848
|
+
header.write("data", 36);
|
|
1849
|
+
header.writeUInt32LE(pcm.length, 40);
|
|
1850
|
+
return Buffer.concat([header, pcm]);
|
|
1851
|
+
}
|
|
1852
|
+
/** Find the rolling-buffer chunk whose 60s window covers `ts`. */
|
|
1853
|
+
function findBufferChunk(ts, dir = DEFAULT_BUFFER_DIR) {
|
|
1854
|
+
let names;
|
|
1855
|
+
try {
|
|
1856
|
+
names = readdirSync(dir);
|
|
1857
|
+
} catch {
|
|
1858
|
+
return null;
|
|
1859
|
+
}
|
|
1860
|
+
let best = null;
|
|
1861
|
+
for (const name of names) {
|
|
1862
|
+
const m = name.match(/^mic-(\d+)\.wav$/);
|
|
1863
|
+
if (!m) continue;
|
|
1864
|
+
const startMs = Number(m[1]);
|
|
1865
|
+
if (startMs <= ts && ts <= startMs + CHUNK_SPAN_MS) {
|
|
1866
|
+
if (!best || startMs > best.startMs) best = {
|
|
1867
|
+
path: join(dir, name),
|
|
1868
|
+
startMs
|
|
1869
|
+
};
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
return best;
|
|
1873
|
+
}
|
|
1874
|
+
const normalize = (t) => t.toLowerCase().replace(/['’]/g, "").replace(/[^a-z0-9 ]+/g, " ").replace(/\s+/g, " ").trim();
|
|
1875
|
+
async function groqTranscribe(audio, filename, groqKey, fetchImpl, signal) {
|
|
1876
|
+
const form = new FormData();
|
|
1877
|
+
form.append("file", new Blob([new Uint8Array(audio)], { type: "audio/wav" }), filename);
|
|
1878
|
+
form.append("model", GROQ_STT_MODEL);
|
|
1879
|
+
form.append("response_format", "verbose_json");
|
|
1880
|
+
try {
|
|
1881
|
+
const res = await fetchImpl(GROQ_STT_URL, {
|
|
1882
|
+
method: "POST",
|
|
1883
|
+
headers: { authorization: `Bearer ${groqKey}` },
|
|
1884
|
+
body: form,
|
|
1885
|
+
signal
|
|
1886
|
+
});
|
|
1887
|
+
if (!res.ok) return null;
|
|
1888
|
+
return await res.json();
|
|
1889
|
+
} catch {
|
|
1890
|
+
return null;
|
|
1891
|
+
}
|
|
1892
|
+
}
|
|
1893
|
+
/**
|
|
1894
|
+
* Re-transcribe the addressed utterance's audio and return the alternate
|
|
1895
|
+
* hearing when it MATERIALLY differs from the realtime transcript. Returns
|
|
1896
|
+
* null when the second engine agrees, the audio is gone, or Groq is
|
|
1897
|
+
* unavailable — callers treat null as "nothing to add".
|
|
1898
|
+
*/
|
|
1899
|
+
async function secondOpinionTranscript(opts) {
|
|
1900
|
+
const groqKey = opts.apiKey ?? resolveEnvApiKey("groq")?.apiKey;
|
|
1901
|
+
if (!groqKey) return null;
|
|
1902
|
+
const fetchImpl = opts.fetchImpl ?? fetch;
|
|
1903
|
+
const controller = new AbortController();
|
|
1904
|
+
const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? DEFAULT_TIMEOUT_MS);
|
|
1905
|
+
try {
|
|
1906
|
+
let alt = null;
|
|
1907
|
+
if (opts.audioPath?.endsWith(".pcm")) {
|
|
1908
|
+
let pcm = null;
|
|
1909
|
+
try {
|
|
1910
|
+
pcm = readFileSync(opts.audioPath);
|
|
1911
|
+
} catch {
|
|
1912
|
+
pcm = null;
|
|
1913
|
+
}
|
|
1914
|
+
if (pcm && pcm.length > 0) {
|
|
1915
|
+
const text = (await groqTranscribe(wavFromPcm16(pcm), "utterance.wav", groqKey, fetchImpl, controller.signal))?.text?.trim();
|
|
1916
|
+
if (text) alt = {
|
|
1917
|
+
text,
|
|
1918
|
+
source: "clip"
|
|
1919
|
+
};
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
if (!alt) {
|
|
1923
|
+
const chunk = findBufferChunk(opts.ts, opts.bufferDir);
|
|
1924
|
+
if (!chunk) return null;
|
|
1925
|
+
let wav;
|
|
1926
|
+
try {
|
|
1927
|
+
wav = readFileSync(chunk.path);
|
|
1928
|
+
} catch {
|
|
1929
|
+
return null;
|
|
1930
|
+
}
|
|
1931
|
+
const data = await groqTranscribe(wav, "window.wav", groqKey, fetchImpl, controller.signal);
|
|
1932
|
+
if (!data) return null;
|
|
1933
|
+
const parts = [];
|
|
1934
|
+
for (const s of data.segments ?? []) {
|
|
1935
|
+
const text = (s.text ?? "").trim();
|
|
1936
|
+
if (!text) continue;
|
|
1937
|
+
if (typeof s.no_speech_prob === "number" && s.no_speech_prob > .6) continue;
|
|
1938
|
+
const startAbs = chunk.startMs + Math.round((s.start ?? 0) * 1e3);
|
|
1939
|
+
const endAbs = chunk.startMs + Math.round((s.end ?? s.start ?? 0) * 1e3);
|
|
1940
|
+
if (startAbs <= opts.ts + UTT_LOOKAHEAD_MS && endAbs >= opts.ts - UTT_LOOKBACK_MS) parts.push(text);
|
|
1941
|
+
}
|
|
1942
|
+
const text = parts.join(" ").trim();
|
|
1943
|
+
if (text) alt = {
|
|
1944
|
+
text,
|
|
1945
|
+
source: "window"
|
|
1946
|
+
};
|
|
1947
|
+
}
|
|
1948
|
+
if (!alt) return null;
|
|
1949
|
+
if (normalize(alt.text) === normalize(opts.text)) return null;
|
|
1950
|
+
return alt;
|
|
1951
|
+
} finally {
|
|
1952
|
+
clearTimeout(timer);
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1775
1956
|
//#endregion
|
|
1776
1957
|
//#region src/capture/proactive/notifications.ts
|
|
1777
1958
|
/**
|
|
@@ -2072,15 +2253,20 @@ function checkAudioFile() {
|
|
|
2072
2253
|
log$1.info(`mic addressing: blocked (${decision.reason}): "${text.slice(0, 80)}"`);
|
|
2073
2254
|
continue;
|
|
2074
2255
|
}
|
|
2075
|
-
lastEngagementAt = ts;
|
|
2256
|
+
if (decision.mode !== "vocative-rescue") lastEngagementAt = ts;
|
|
2076
2257
|
log$1.debug(`mic addressing: eligible (${decision.mode}): "${text.slice(0, 60)}"`);
|
|
2258
|
+
const data = {
|
|
2259
|
+
...evt,
|
|
2260
|
+
addressingMode: decision.mode
|
|
2261
|
+
};
|
|
2262
|
+
if ((decision.mode === "wake" || decision.mode === "vocative-rescue") && typeof evt.audioPath === "string") {
|
|
2263
|
+
const snap = snapshotClip(evt.audioPath);
|
|
2264
|
+
if (snap) data.audioSnapshotPath = snap;
|
|
2265
|
+
}
|
|
2077
2266
|
pendingTriggers.push({
|
|
2078
2267
|
source: "audio",
|
|
2079
2268
|
ts,
|
|
2080
|
-
data
|
|
2081
|
-
...evt,
|
|
2082
|
-
addressingMode: decision.mode
|
|
2083
|
-
}
|
|
2269
|
+
data
|
|
2084
2270
|
});
|
|
2085
2271
|
}
|
|
2086
2272
|
}
|
|
@@ -3546,4 +3732,4 @@ var CaDirector = class {
|
|
|
3546
3732
|
const caDirector = new CaDirector();
|
|
3547
3733
|
|
|
3548
3734
|
//#endregion
|
|
3549
|
-
export {
|
|
3735
|
+
export { readSessionPreviewItemsFromTranscript as $, readConversationTail as A, pendingTriggers as B, resolveKoiDisplayName as C, getSlashCommands as D, builtinCommandNames as E, extractChatMessage as F, listSessionsFromStore as G, tailLines as H, formatTriggersForEval as I, resolveGatewaySessionStoreTarget as J, loadCombinedSessionStoreForGateway as K, initTailOffsets as L, readDurableDigest as M, AUDIO_LIVE_FILE as N, helpRich as O, INPUT_LIVE_FILE as P, readSessionMessages as Q, isDirectKoiInvocation as R, resolveFinalAssistantText as S, aliasCommandsFor as T, secondOpinionTranscript as U, pollTriggerSources as V, listKoisForGateway as W, archiveFileOnDisk as X, resolveSessionModelRef as Y, capArrayByJsonBytes as Z, formatContextUsageLine as _, lookupContextTokens as _t, createNarrator as a, buildCommandTextFromArgs as at, isCommandMessage as b, routeFastLane as c, listChatCommandsForConfig as ct, summarizeForVoice as d, normalizeCommandBody as dt, resolveSessionTranscriptCandidates as et, asString as f, parseCommandArgs as ft, extractThinkingFromMessage as g, shouldHandleTextCommands as gt, extractTextFromMessage as h, serializeCommandArgs as ht, buildDigest as i, writeVoiceMode as it, readConversationTurns as j, parseCommand as k, saveFastModeEnabled as l, listNativeCommandSpecs as lt, extractContentFromMessage as m, resolveCommandArgMenu as mt, caDirector as n, VOICE_MODES as nt, filterAllowedCommands as o, findCommandByNativeName as ot, composeThinkingAndContent as p, resolveCommandArgChoices as pt, loadSessionEntry as q, resolveIntent as r, readVoiceMode as rt, loadFastModeEnabled as s, listChatCommands as st, MOOD_PRESETS as t, stripEnvelopeFromMessages as tt, splitSentences as u, listNativeCommandSpecsForConfig as ut, friendlyToolLabel as v, stripSilentControlTokens as w, parseMessageTime as x, isChannelInboundEcho as y, isTriggerEvent as z };
|
|
@@ -2,12 +2,12 @@ import { r as __exportAll } from "./chunk-D_gEzPfs.js";
|
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-gU4M25gl.js";
|
|
3
3
|
import { g as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-VdmjGGyc.js";
|
|
4
4
|
import { h as resolveUserPath, s as ensureDir, t as CONFIG_DIR, v as shortenHomeInString } from "./utils-BTCspqG1.js";
|
|
5
|
-
import { i as loadConfig } from "./io-
|
|
5
|
+
import { i as loadConfig } from "./io-Du6-MSB2.js";
|
|
6
6
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-CaFjzGb5.js";
|
|
7
|
-
import { r as loadOrCreateDeviceIdentity } from "./device-identity-
|
|
8
|
-
import { t as pickPrimaryTailnetIPv4 } from "./tailnet-
|
|
9
|
-
import { Ot as PROTOCOL_VERSION, Pt as normalizeFingerprint, n as GatewayClient } from "./client-
|
|
10
|
-
import { a as pickPrimaryLanIPv4 } from "./net-
|
|
7
|
+
import { r as loadOrCreateDeviceIdentity } from "./device-identity-DS1vsPIW.js";
|
|
8
|
+
import { t as pickPrimaryTailnetIPv4 } from "./tailnet-CzyAUePY.js";
|
|
9
|
+
import { Ot as PROTOCOL_VERSION, Pt as normalizeFingerprint, n as GatewayClient } from "./client-BiLNqlII.js";
|
|
10
|
+
import { a as pickPrimaryLanIPv4 } from "./net-ovBD7YwM.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import { promisify } from "node:util";
|
|
13
13
|
import fs from "node:fs/promises";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4f6371efbc50d586457838a1bc712f5f2fa41397e77ef742adca8c68223b4fbb
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-VdmjGGyc.js";
|
|
3
|
-
import { t as hasNativeWindow } from "./native-window-
|
|
3
|
+
import { t as hasNativeWindow } from "./native-window-C_txmQ01.js";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import os from "node:os";
|
|
@@ -332,7 +332,7 @@ var GraphicsMedia = class {
|
|
|
332
332
|
}
|
|
333
333
|
/** Resample decoded RGBA frames to the region's exact pixel size. */
|
|
334
334
|
async load(rgbaFrames, delays) {
|
|
335
|
-
const sharp = (await import("./lib-
|
|
335
|
+
const sharp = (await import("./lib-DvjhnWTO.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1))).default;
|
|
336
336
|
const { pxW, pxH } = this.regionPixels();
|
|
337
337
|
this.pxW = pxW;
|
|
338
338
|
this.pxH = pxH;
|
|
@@ -4,8 +4,11 @@ import "./globals-4hwkGgXA.js";
|
|
|
4
4
|
import "./theme-Ql6JHKzG.js";
|
|
5
5
|
import "./ansi-aRwLYlzD.js";
|
|
6
6
|
import { a as clearBillingAlert, i as classifyBillingFailure, o as reportBillingAlert } from "./billing-alerts-CL95zVcj.js";
|
|
7
|
-
import
|
|
8
|
-
import "./
|
|
7
|
+
import "./warnings-C2KFRM58.js";
|
|
8
|
+
import "./sqlite-CcncYUtk.js";
|
|
9
|
+
import "./ledger-BdUzGXai.js";
|
|
10
|
+
import { _ as pushCaptureEvent, b as sweepTmpDbOrphans, d as drainEvents, f as flushToDisk, g as isPrivateMode, h as isAudioMuted, l as DominantSpeakerTracker, n as resolveVoiceIdentity, u as EchoTracker } from "./identify-BoluV5CV.js";
|
|
11
|
+
import "./registry-D-gnHADJ.js";
|
|
9
12
|
import { closeSync, copyFileSync, existsSync, openSync, readFileSync, readSync, statSync, unlinkSync, watch, writeFileSync } from "node:fs";
|
|
10
13
|
import { dirname, extname, join, relative } from "node:path";
|
|
11
14
|
import { homedir } from "node:os";
|
|
@@ -831,8 +834,13 @@ function querySqlite$1(dbPath, query) {
|
|
|
831
834
|
} catch {
|
|
832
835
|
return "";
|
|
833
836
|
} finally {
|
|
834
|
-
|
|
835
|
-
|
|
837
|
+
for (const suffix of [
|
|
838
|
+
"",
|
|
839
|
+
"-shm",
|
|
840
|
+
"-wal",
|
|
841
|
+
"-journal"
|
|
842
|
+
]) try {
|
|
843
|
+
unlinkSync(tmp + suffix);
|
|
836
844
|
} catch {}
|
|
837
845
|
}
|
|
838
846
|
}
|
|
@@ -1349,8 +1357,13 @@ function querySqlite(dbPath, query) {
|
|
|
1349
1357
|
} catch {
|
|
1350
1358
|
return "";
|
|
1351
1359
|
} finally {
|
|
1352
|
-
|
|
1353
|
-
|
|
1360
|
+
for (const suffix of [
|
|
1361
|
+
"",
|
|
1362
|
+
"-shm",
|
|
1363
|
+
"-wal",
|
|
1364
|
+
"-journal"
|
|
1365
|
+
]) try {
|
|
1366
|
+
unlinkSync(tmp + suffix);
|
|
1354
1367
|
} catch {}
|
|
1355
1368
|
}
|
|
1356
1369
|
}
|
|
@@ -2090,6 +2103,8 @@ async function startCaptureService(opts) {
|
|
|
2090
2103
|
let stopped = false;
|
|
2091
2104
|
let lastTerminalSnapshot = [];
|
|
2092
2105
|
let lastProcessSnapshot = null;
|
|
2106
|
+
const reaped = sweepTmpDbOrphans();
|
|
2107
|
+
if (reaped > 0) console.error(`[capture] reaped ${reaped} orphaned _tmp_ sqlite file(s)`);
|
|
2093
2108
|
try {
|
|
2094
2109
|
const inputHandle = await startInputCapture();
|
|
2095
2110
|
stops.push(inputHandle.stop);
|
|
@@ -2206,14 +2221,14 @@ async function startCaptureService(opts) {
|
|
|
2206
2221
|
console.error(`[capture] Audio capture failed to start: ${err}`);
|
|
2207
2222
|
}
|
|
2208
2223
|
try {
|
|
2209
|
-
const { startAudioRecovery } = await import("./audio-recovery-
|
|
2224
|
+
const { startAudioRecovery } = await import("./audio-recovery-SmensYPx.js");
|
|
2210
2225
|
const recoveryHandle = startAudioRecovery();
|
|
2211
2226
|
stops.push(recoveryHandle.stop);
|
|
2212
2227
|
} catch (err) {
|
|
2213
2228
|
console.error(`[capture] Audio recovery failed to start: ${err}`);
|
|
2214
2229
|
}
|
|
2215
2230
|
try {
|
|
2216
|
-
const { reportUsage } = await import("./usage-reporter-
|
|
2231
|
+
const { reportUsage } = await import("./usage-reporter-DLs6PDXg.js").then((n) => n.n);
|
|
2217
2232
|
const audioLive = join(homedir(), ".skykoi", "capture", "audio-live.jsonl");
|
|
2218
2233
|
const HEARING_TICK_MS = 5 * 6e4;
|
|
2219
2234
|
const hearingTimer = setInterval(() => {
|
|
@@ -2231,14 +2246,14 @@ async function startCaptureService(opts) {
|
|
|
2231
2246
|
console.error(`[capture] hearing meter failed to start: ${err}`);
|
|
2232
2247
|
}
|
|
2233
2248
|
try {
|
|
2234
|
-
const { startVoiceId } = await import("./identify-
|
|
2249
|
+
const { startVoiceId } = await import("./identify-BoluV5CV.js").then((n) => n.t);
|
|
2235
2250
|
const voiceIdHandle = startVoiceId();
|
|
2236
2251
|
stops.push(voiceIdHandle.stop);
|
|
2237
2252
|
} catch (err) {
|
|
2238
2253
|
console.error(`[capture] Voice-ID failed to start: ${err}`);
|
|
2239
2254
|
}
|
|
2240
2255
|
try {
|
|
2241
|
-
const { startProactiveEval } = await import("./proactive-eval-
|
|
2256
|
+
const { startProactiveEval } = await import("./proactive-eval-JjYdFbQK.js").then((n) => n.t);
|
|
2242
2257
|
const proactiveHandle = startProactiveEval();
|
|
2243
2258
|
stops.push(proactiveHandle.stop);
|
|
2244
2259
|
} catch (err) {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { m as DEFAULT_CHAT_CHANNEL, s as defaultRuntime } from "./subsystem-gU4M25gl.js";
|
|
2
2
|
import { l as success, n as info, s as setVerbose, t as danger } from "./globals-4hwkGgXA.js";
|
|
3
|
-
import { i as loadConfig } from "./io-
|
|
3
|
+
import { i as loadConfig } from "./io-Du6-MSB2.js";
|
|
4
4
|
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-C450DgVP.js";
|
|
5
5
|
import { d as webAuthExists, s as readWebSelfId } from "./auth-store-B2FaPoSI.js";
|
|
6
6
|
import { r as resolveWhatsAppAccount } from "./accounts-DumyUvSJ.js";
|
|
7
|
-
import { t as sendMessage } from "./message-
|
|
8
|
-
import { c as nylasConfigured, g as sendMessage$1, l as nylasLinked, m as readNylasGrant } from "./nylas-
|
|
9
|
-
import { n as resolveChannelDefaultAccountId } from "./helpers-
|
|
10
|
-
import { t as ensureLocalGatewayRunning } from "./ensure-local-gateway-
|
|
11
|
-
import { n as runNylasConnect } from "./connect-
|
|
7
|
+
import { t as sendMessage } from "./message-BwP571QX.js";
|
|
8
|
+
import { c as nylasConfigured, g as sendMessage$1, l as nylasLinked, m as readNylasGrant } from "./nylas-CGpgSprO.js";
|
|
9
|
+
import { n as resolveChannelDefaultAccountId } from "./helpers-Jz6ppAYo.js";
|
|
10
|
+
import { t as ensureLocalGatewayRunning } from "./ensure-local-gateway-CEtQeEN3.js";
|
|
11
|
+
import { n as runNylasConnect } from "./connect-BapV23cV.js";
|
|
12
12
|
import { execFile } from "node:child_process";
|
|
13
13
|
|
|
14
14
|
//#region src/cli/channel-auth.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as CHAT_CHANNEL_ORDER } from "./subsystem-gU4M25gl.js";
|
|
2
2
|
import { t as isTruthyEnvValue } from "./env-BEtXFLod.js";
|
|
3
3
|
import { n as listChannelPlugins } from "./plugins-C450DgVP.js";
|
|
4
|
-
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-
|
|
5
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
4
|
+
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-DI7yF7Cc.js";
|
|
5
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-B2zHjscw.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/channel-options.ts
|
|
8
8
|
function dedupe(values) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as theme } from "./theme-Ql6JHKzG.js";
|
|
2
2
|
import { t as DEFAULT_ACCOUNT_ID } from "./session-key-BIl6GRQN.js";
|
|
3
|
-
import { i as loadConfig } from "./io-
|
|
3
|
+
import { i as loadConfig } from "./io-Du6-MSB2.js";
|
|
4
4
|
import { n as listChannelPlugins } from "./plugins-C450DgVP.js";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
6
|
import fs from "node:fs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./pi-embedded-helpers-
|
|
2
|
-
import { Dt as fetchChannelPermissionsDiscord, Et as parseDiscordTarget, G as formatUsageReportLines, W as loadProviderUsageSummary, zt as createSlackWebClient } from "./reply-
|
|
1
|
+
import "./pi-embedded-helpers-epijF7kQ.js";
|
|
2
|
+
import { Dt as fetchChannelPermissionsDiscord, Et as parseDiscordTarget, G as formatUsageReportLines, W as loadProviderUsageSummary, zt as createSlackWebClient } from "./reply-Dx4BNpWV.js";
|
|
3
3
|
import { s as defaultRuntime } from "./subsystem-gU4M25gl.js";
|
|
4
4
|
import "./paths-VdmjGGyc.js";
|
|
5
5
|
import { p as getResolvedLoggerSettings, t as danger } from "./globals-4hwkGgXA.js";
|
|
@@ -10,106 +10,107 @@ import "./utils-BTCspqG1.js";
|
|
|
10
10
|
import "./logger-aJ6leLZh.js";
|
|
11
11
|
import "./exec-C3toirSW.js";
|
|
12
12
|
import { l as resolveKoiWorkspaceDir, r as resolveDefaultKoiId } from "./koi-scope-Cagum3pM.js";
|
|
13
|
-
import { st as loadAuthProfileStore } from "./model-selection-
|
|
14
|
-
import "./dist-
|
|
15
|
-
import "./dist-cjs-
|
|
13
|
+
import { st as loadAuthProfileStore } from "./model-selection-BJ3LRxcJ.js";
|
|
14
|
+
import "./dist-kkQpvYsv.js";
|
|
15
|
+
import "./dist-cjs-B8z3ncj-.js";
|
|
16
16
|
import { t as formatCliCommand } from "./command-format-CW3d4lnG.js";
|
|
17
17
|
import "./boolean-B7w0pBkV.js";
|
|
18
18
|
import "./env-BEtXFLod.js";
|
|
19
19
|
import "./github-copilot-token-BlwFn4nA.js";
|
|
20
20
|
import "./billing-alerts-CL95zVcj.js";
|
|
21
21
|
import "./version-BM8pEsQj.js";
|
|
22
|
-
import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./io-
|
|
22
|
+
import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./io-Du6-MSB2.js";
|
|
23
23
|
import "./manifest-registry-Ckw3Vy2p.js";
|
|
24
|
-
import "./config-
|
|
24
|
+
import "./config-Dtw8d1oB.js";
|
|
25
25
|
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-C450DgVP.js";
|
|
26
|
-
import "./sessions-
|
|
27
|
-
import "./image-
|
|
28
|
-
import "./models-config-
|
|
29
|
-
import "./dist-
|
|
26
|
+
import "./sessions-Bp3n5YA_.js";
|
|
27
|
+
import "./image-DPbV_lIw.js";
|
|
28
|
+
import "./models-config-DdIU7G3Y.js";
|
|
29
|
+
import "./dist-EVZCJXU2.js";
|
|
30
30
|
import "./dist-D6Sv3llW.js";
|
|
31
31
|
import "./lib-Dinb6tv6.js";
|
|
32
32
|
import "./src-DR4wHj_N.js";
|
|
33
33
|
import "./core-CeDpMYqo.js";
|
|
34
|
-
import "./pi-model-discovery-
|
|
35
|
-
import "./sandbox-
|
|
34
|
+
import "./pi-model-discovery-aBaiPknt.js";
|
|
35
|
+
import "./sandbox-D6wJcx47.js";
|
|
36
36
|
import "./chrome-B1HAd3Al.js";
|
|
37
|
-
import "./skills-
|
|
38
|
-
import "./routes-
|
|
39
|
-
import "./server-context-
|
|
40
|
-
import "./image-ops-
|
|
37
|
+
import "./skills-Dz6W5j0d.js";
|
|
38
|
+
import "./routes-Ca8LqLcf.js";
|
|
39
|
+
import "./server-context-CX441p0h.js";
|
|
40
|
+
import "./image-ops-IWejMbO7.js";
|
|
41
41
|
import "./message-channel-CaFjzGb5.js";
|
|
42
42
|
import "./logging-q4KyMmY-.js";
|
|
43
43
|
import "./auth-store-B2FaPoSI.js";
|
|
44
44
|
import "./accounts-DumyUvSJ.js";
|
|
45
45
|
import "./paths-6OemP7gm.js";
|
|
46
|
-
import "./tool-images-
|
|
46
|
+
import "./tool-images-wgRd-_EF.js";
|
|
47
47
|
import "./redact-ZAoMZTIY.js";
|
|
48
48
|
import "./tool-display-Dg79vOSW.js";
|
|
49
|
-
import "./deliver-
|
|
50
|
-
import "./ca-director-
|
|
51
|
-
import "./dispatcher-
|
|
49
|
+
import "./deliver-DIExvjND.js";
|
|
50
|
+
import "./ca-director-CX8CLJlH.js";
|
|
51
|
+
import "./dispatcher-CWMz7Cyv.js";
|
|
52
52
|
import "./dist-DsdylfIW.js";
|
|
53
|
-
import "./platform-billing-
|
|
54
|
-
import "./usage-reporter-
|
|
55
|
-
import "./pi-tool-definition-adapter-
|
|
56
|
-
import "./manager-
|
|
57
|
-
import "./sqlite-C0QbeU3t.js";
|
|
53
|
+
import "./platform-billing-fV9sjjQz.js";
|
|
54
|
+
import "./usage-reporter-DLs6PDXg.js";
|
|
55
|
+
import "./pi-tool-definition-adapter-CiCAVx0w.js";
|
|
56
|
+
import "./manager-C3d_9Tmg.js";
|
|
58
57
|
import "./warnings-C2KFRM58.js";
|
|
59
|
-
import "./
|
|
60
|
-
import "./
|
|
61
|
-
import "./
|
|
62
|
-
import "./
|
|
63
|
-
import "./
|
|
64
|
-
import "./
|
|
65
|
-
import
|
|
66
|
-
import "./
|
|
67
|
-
import "./
|
|
68
|
-
import
|
|
69
|
-
import {
|
|
70
|
-
import { n as
|
|
71
|
-
import "./
|
|
72
|
-
import "./
|
|
73
|
-
import "./
|
|
74
|
-
import "./
|
|
75
|
-
import "./
|
|
76
|
-
import "./
|
|
77
|
-
import "./
|
|
78
|
-
import
|
|
79
|
-
import "./
|
|
80
|
-
import "./
|
|
81
|
-
import "./
|
|
82
|
-
import "./
|
|
83
|
-
import "./
|
|
84
|
-
import
|
|
85
|
-
import "./
|
|
86
|
-
import "./
|
|
87
|
-
import "./
|
|
88
|
-
import "./
|
|
89
|
-
import "./
|
|
90
|
-
import "./
|
|
91
|
-
import "./
|
|
92
|
-
import "./
|
|
93
|
-
import
|
|
94
|
-
import "./
|
|
95
|
-
import {
|
|
96
|
-
import
|
|
97
|
-
import {
|
|
98
|
-
import "./
|
|
99
|
-
import "./
|
|
100
|
-
import "./
|
|
101
|
-
import "./
|
|
102
|
-
import "./
|
|
103
|
-
import "./
|
|
104
|
-
import
|
|
105
|
-
import
|
|
106
|
-
import "./
|
|
107
|
-
import "./
|
|
108
|
-
import "./
|
|
109
|
-
import
|
|
110
|
-
import
|
|
111
|
-
import { t as
|
|
112
|
-
import { t as
|
|
58
|
+
import "./sqlite-CcncYUtk.js";
|
|
59
|
+
import "./common-D4jgEdRW.js";
|
|
60
|
+
import "./proxy-from-env-BUzvwibb.js";
|
|
61
|
+
import "./login-qr-BRr7dXxg.js";
|
|
62
|
+
import "./message-BwP571QX.js";
|
|
63
|
+
import "./device-identity-DS1vsPIW.js";
|
|
64
|
+
import "./client-BiLNqlII.js";
|
|
65
|
+
import { n as callGateway } from "./call-BEVX8c7Z.js";
|
|
66
|
+
import "./koi-events-CTUrswrV.js";
|
|
67
|
+
import "./pairing-store-5XKyDoU_.js";
|
|
68
|
+
import { t as formatDocsLink } from "./links-B-3YwG1H.js";
|
|
69
|
+
import { n as runCommandWithRuntime } from "./cli-utils-D2X_bDLt.js";
|
|
70
|
+
import { n as withProgress } from "./progress-CxDBFZz4.js";
|
|
71
|
+
import "./node-pairing-Bj3AI8zP.js";
|
|
72
|
+
import "./pi-tools.policy-J2VkiSCU.js";
|
|
73
|
+
import "./onboard-helpers-D69_1Asy.js";
|
|
74
|
+
import "./prompt-style-N11TfIHe.js";
|
|
75
|
+
import "./pairing-labels-C7dPUUMw.js";
|
|
76
|
+
import "./satisfies-B0N-0Ebw.js";
|
|
77
|
+
import "./session-cost-usage-BHaRWnZF.js";
|
|
78
|
+
import { n as formatAge } from "./channel-summary-DWF4XIW6.js";
|
|
79
|
+
import "./control-service-CGicvFxv.js";
|
|
80
|
+
import "./surface-tool-lPNzOXy0.js";
|
|
81
|
+
import "./ledger-BdUzGXai.js";
|
|
82
|
+
import "./restart-sentinel-CcKTmaz7.js";
|
|
83
|
+
import "./dotenv-DnO0eRof.js";
|
|
84
|
+
import "./nylas-CGpgSprO.js";
|
|
85
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-JDc1W7hU.js";
|
|
86
|
+
import "./zen-surface-Bs0QlPVj.js";
|
|
87
|
+
import "./rich-t60oVsBn.js";
|
|
88
|
+
import "./proactive-eval-JjYdFbQK.js";
|
|
89
|
+
import "./identify-BoluV5CV.js";
|
|
90
|
+
import "./registry-D-gnHADJ.js";
|
|
91
|
+
import "./native-window-C_txmQ01.js";
|
|
92
|
+
import "./action-ledger-DCDXcaiT.js";
|
|
93
|
+
import "./event-log-Dfu6U72C.js";
|
|
94
|
+
import { n as resolveChannelDefaultAccountId } from "./helpers-Jz6ppAYo.js";
|
|
95
|
+
import "./note-8tBKXM3Y.js";
|
|
96
|
+
import { t as createClackPrompter } from "./clack-prompter-B8vgSXns.js";
|
|
97
|
+
import { i as reloadOnboardingPluginRegistry, n as setupChannels, r as ensureOnboardingPluginInstalled } from "./onboard-channels-BWtszAkD.js";
|
|
98
|
+
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-DI7yF7Cc.js";
|
|
99
|
+
import "./archive-3kJM-RnF.js";
|
|
100
|
+
import "./skill-scanner-wcRvvBRm.js";
|
|
101
|
+
import "./installs-BMe47UM8.js";
|
|
102
|
+
import "./service-CJCq4R_b.js";
|
|
103
|
+
import "./systemd-cESLgm7E.js";
|
|
104
|
+
import "./diagnostics-VjGrBFy1.js";
|
|
105
|
+
import { t as collectChannelStatusIssues } from "./channels-status-issues-CUjFhxft.js";
|
|
106
|
+
import { n as hasExplicitOptions } from "./plugin-registry-B2zHjscw.js";
|
|
107
|
+
import "./daemon-runtime-BCgA9PFA.js";
|
|
108
|
+
import "./ensure-local-gateway-CEtQeEN3.js";
|
|
109
|
+
import "./connect-BapV23cV.js";
|
|
110
|
+
import { n as runChannelLoginAll, r as runChannelLogout, t as runChannelLogin } from "./channel-auth-DZRHFKcd.js";
|
|
111
|
+
import { t as formatCliChannelOptions } from "./channel-options-vJu7vK4F.js";
|
|
112
|
+
import { t as buildChannelAccountSnapshot } from "./status-q8odUh8K.js";
|
|
113
|
+
import { t as parseLogLine } from "./parse-log-line-BtnrcIoi.js";
|
|
113
114
|
import fs from "node:fs/promises";
|
|
114
115
|
|
|
115
116
|
//#region src/commands/channels/add-mutators.ts
|