skykoi 2026.3.296 → 2026.3.297
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-C24lwsEs.js → APEv2Parser-M_hguWhU.js} +5 -5
- package/dist/{AbstractID3Parser-BLkoWogE.js → AbstractID3Parser-Cwnztz9T.js} +6 -6
- package/dist/{AiffParser-bvHzNbKq.js → AiffParser-j8G1YNJr.js} +7 -7
- package/dist/{AsfParser-ATMipMxi.js → AsfParser-Do5LgWSW.js} +6 -6
- package/dist/{DsdiffParser-BCQCnYWB.js → DsdiffParser-BGpyxW00.js} +7 -7
- package/dist/{DsfParser-Vp-k2zgh.js → DsfParser-Bk6AiG_q.js} +7 -7
- package/dist/{FlacParser-QEaOKOHM.js → FlacParser-ni961vjD.js} +7 -7
- package/dist/{ID3v1Parser-4XCkoVfH.js → ID3v1Parser-DxsVp2X3.js} +5 -5
- package/dist/{ID3v2Parser-D1P8_z00.js → ID3v2Parser-CTJO9obV.js} +6 -6
- package/dist/{ID3v2Token-B7HMK_aG.js → ID3v2Token-Nklg9NJX.js} +2 -2
- package/dist/{MP4Parser-CF9rBgJy.js → MP4Parser-kf6DELXx.js} +9 -9
- package/dist/{MatroskaParser-BVuJkJI1.js → MatroskaParser-8As75DSF.js} +6 -6
- package/dist/{MpegParser-C8mMwZSe.js → MpegParser-Bp3zGnQ7.js} +7 -7
- package/dist/{MusepackParser-De2wHzjO.js → MusepackParser-D8VAfrLl.js} +7 -7
- package/dist/{OggParser-BTgyrnTH.js → OggParser-C2GcKjJo.js} +8 -8
- package/dist/{Util-d47w-Who.js → Util-Cyn7-bI-.js} +3 -3
- package/dist/{WavPackParser-DEDs8oLk.js → WavPackParser-BhcraAjY.js} +6 -6
- package/dist/{WaveParser-BsTZJAhW.js → WaveParser-CppAgu3f.js} +8 -8
- package/dist/{accounts-BfmFQhXZ.js → accounts-Grk0tpBF.js} +3 -3
- package/dist/{acp-cli-C_T2Zkko.js → acp-cli-DGhxU4zv.js} +23 -21
- package/dist/admin-unlock-kahk3vPh.js +171 -0
- package/dist/ansi-By7x1TI7.js +14 -0
- package/dist/{archive-Bvsiggep.js → archive-BtfMOlWi.js} +1 -1
- package/dist/{audio-decode-cVID4ND7.js → audio-decode-BKcxCvoD.js} +6 -6
- package/dist/{audit-CqI7bnha.js → audit-BSp4Sphl.js} +19 -19
- package/dist/{auth-health-CZ6BATwc.js → auth-health-B3BNAX3f.js} +1 -1
- package/dist/{auth-J1HyPpu8.js → auth-oGq4xOCr.js} +2 -2
- package/dist/{bonjour-discovery-cnMfrXln.js → bonjour-discovery-BSmdJTHl.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/{call-CrvVx0Cp.js → call-CJHT-9_x.js} +7 -7
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-D7e7mYih.js → channel-options-BGf9qdmW.js} +5 -5
- package/dist/{channel-selection-WZ9zPQsl.js → channel-selection-C4X4L8u3.js} +2 -2
- package/dist/{channel-summary-4l4OVfkP.js → channel-summary-BUQ4LSEY.js} +9 -8
- package/dist/{channels-cli-DlMZIEgS.js → channels-cli-pxwIdFz-.js} +333 -78
- package/dist/{channels-status-issues-YyyjH6bw.js → channels-status-issues-DBv-Cc4W.js} +1 -1
- package/dist/{chrome-CJOnmcB3.js → chrome-qnrH3SE9.js} +5 -5
- package/dist/{clack-prompter-9RonoVi0.js → clack-prompter-CjPgjdmC.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-DoCf7igL.js +110 -0
- package/dist/{command-format-DQtyHEuH.js → command-format-CAp_zt7z.js} +1 -1
- package/dist/{companions-DIv9ZIYk.js → companions-BkoX5RDr.js} +1 -1
- package/dist/{completion-cli-DU4JaM4C.js → completion-cli-D1x57Hnz.js} +1 -1
- package/dist/{config-Cq2CHkhx.js → config-CJCyYQfd.js} +8 -7
- package/dist/{config-guard-ChNhqpVi.js → config-guard-Iyw9hXxR.js} +63 -46
- package/dist/{configure-8NGTugy3.js → configure-Cv6ik5WL.js} +22 -21
- package/dist/{control-service-CKQT8Q01.js → control-service-Deb7vSlB.js} +5 -5
- package/dist/{core-zaSuwqYw.js → core-CYIM8X9C.js} +4 -4
- package/dist/{cron-cli-CEbGpoFf.js → cron-cli-CarawHRM.js} +27 -25
- package/dist/{daemon-cli-CpIk3oVR.js → daemon-cli-CE7QWZOY.js} +22 -21
- package/dist/{daemon-runtime-BdlP7yjR.js → daemon-runtime-DUaeQ1rH.js} +4 -4
- package/dist/{deliver-D5iXiSA6.js → deliver-8e9qnJCU.js} +10 -10
- package/dist/{deps-BX8CqtPN.js → deps-6i6cAi_2.js} +2 -2
- package/dist/{devices-cli-sDMaJ1LA.js → devices-cli-BisjQG48.js} +20 -18
- package/dist/{directory-cli-BUyGwZ-q.js → directory-cli-B-5k-DPU.js} +22 -20
- package/dist/{dispatcher-CSf0NMPQ.js → dispatcher-CvOxCTiO.js} +2 -25
- package/dist/{dist-CLm8TPvp.js → dist-BkWJaTNZ.js} +4 -4
- package/dist/{dist-9wkUrskD.js → dist-CUiRTtgg.js} +25 -25
- package/dist/{dist-B53KOd9e.js → dist-Cldz93r6.js} +1 -1
- package/dist/{dist-cjs-RAvsnwy3.js → dist-cjs-1OF5lgGm.js} +6 -6
- package/dist/{dist-cjs-BvkGTe6v.js → dist-cjs-BOQB5dy6.js} +11 -11
- package/dist/{dist-cjs-DAnvpST8.js → dist-cjs-BQLEZadT.js} +2 -2
- package/dist/{dist-cjs-CaDdCTBH.js → dist-cjs-BjCBkyDp.js} +1 -1
- package/dist/{codec-parser-CZWmreA6.js → dist-cjs-Bx2I-9t7.js} +181 -0
- package/dist/{dist-cjs-BCJDUVfp.js → dist-cjs-C2tG56W4.js} +3 -3
- package/dist/{dist-cjs-targmcNb.js → dist-cjs-CXdByww0.js} +1 -1
- package/dist/{dist-cjs-HFRV3dhx.js → dist-cjs-CsOhh4Nu.js} +2 -2
- package/dist/{dist-cjs-DPLfSJ3D.js → dist-cjs-DA9majI0.js} +13 -13
- package/dist/{dist-cjs-h4236Nk8.js → dist-cjs-DKbiqPag.js} +10 -10
- package/dist/{dist-cjs-DafAyyJH.js → dist-cjs-DSmKyayM.js} +2 -2
- package/dist/{dist-cjs-cSMurZLH.js → dist-cjs-Dj_SyIVN.js} +5 -5
- package/dist/{dist-cjs-CkfyJ7An.js → dist-cjs-PNFIcV6r.js} +1 -1
- package/dist/{dist-cjs-ClIZVgcw.js → dist-cjs-PX--1rlO.js} +6 -6
- package/dist/{dist-GzqXfR69.js → dist-hFH_iMSO.js} +6 -6
- package/dist/{dns-cli-D4zVCs2-.js → dns-cli-GozA1EoF.js} +18 -16
- package/dist/{docs-cli-nLD4utdW.js → docs-cli-CfNov9zw.js} +17 -15
- package/dist/{doctor-C7Bj_Bf_.js → doctor-uAI2Q7S2.js} +39 -38
- package/dist/{dotenv-CuARfiZR.js → dotenv-2TPorV-O.js} +1 -1
- package/dist/ensure-local-gateway-BxT0FHAY.js +106 -0
- package/dist/entry.js +8 -6
- package/dist/{env-BA3nu3t6.js → env-Dliiu-O6.js} +2 -2
- package/dist/{event-streams-B1gSPLy7.js → event-streams-YALGK3MF.js} +1 -1
- package/dist/{exec-approvals-cli-CjZfxvnf.js → exec-approvals-cli-YLYRZSgV.js} +27 -25
- package/dist/{exec-approvals-evaluate-2CoxCMYX.js → exec-approvals-evaluate-8Ofv0Qt6.js} +2 -2
- package/dist/{exec-approvals-io-CuhwDkLs.js → exec-approvals-io-BJVIbNN_.js} +1 -1
- package/dist/{exec-BE7MIgZB.js → exec-xrC0ejqg.js} +1 -1
- package/dist/extension-api.js +64 -61
- package/dist/first-run-ELkFSgtJ.js +94 -0
- package/dist/{flac-FOQ6k0qD.js → flac-CFLALUEZ.js} +0 -0
- package/dist/{gateway-cli-W--kRNwO.js → gateway-cli-DksX9sL6.js} +134 -131
- package/dist/{gateway-rpc-D-EECaQF.js → gateway-rpc-CyFabm9F.js} +3 -3
- package/dist/{github-copilot-auth-KfNm44LM.js → github-copilot-auth-DzsPSB_G.js} +11 -11
- package/dist/{gmail-setup-utils-DcuIAwKK.js → gmail-setup-utils-RyZRhi5-.js} +3 -3
- package/dist/{health-format-7Xzzj77e.js → health-format-Cwfg7Zt_.js} +17 -16
- package/dist/{help-format-D_sjxIrE.js → help-format-lN5-Ns06.js} +1 -1
- package/dist/{helpers-Bd67GvKn.js → helpers-BMbd4SfJ.js} +1 -1
- package/dist/{hooks-cli-DLd9sf3D.js → hooks-cli-DufDbzl6.js} +69 -66
- package/dist/{hooks-status-BI-Kg4Yg.js → hooks-status-DAyfqKUD.js} +5 -5
- package/dist/{image-DeoUodBT.js → image-B1DusATy.js} +6 -6
- package/dist/{image-ops-D9xaNVCD.js → image-ops-D4trOw4b.js} +3 -3
- package/dist/index.js +111 -107
- package/dist/{installs-VNiqgxKq.js → installs-BGV2Zvfo.js} +5 -5
- package/dist/{koi-3A6Z9OOb.js → koi-D8RuS2-Y.js} +16 -16
- package/dist/{koi-event-bridge-DHL72n3g.js → koi-event-bridge-Be-6d9xF.js} +2 -2
- package/dist/{koi-scope-C1Yp86VQ.js → koi-scope-D8R_V4oO.js} +6 -6
- package/dist/{koi-utterance-trigger-Cvdq1wvb.js → koi-utterance-trigger--dilUqxL.js} +1 -1
- package/dist/{lib-B3b-SJlP.js → lib-CV8D7LfJ.js} +3 -3
- package/dist/{lib-DpvbQ87b.js → lib-DXNrSrdl.js} +24 -24
- package/dist/{lib-XgTLnw5y.js → lib-DzlnrZUo.js} +1 -1
- package/dist/{lib-BDOAt8OS.js → lib-b-BQcNu1.js} +1 -1
- package/dist/{links-D-ozFGY4.js → links-RRRDj3kH.js} +1 -1
- package/dist/{logging-BWWKm3m3.js → logging-C1O4qtJt.js} +1 -1
- package/dist/{login-qr-XjeoeOcL.js → login-qr-Kyo7mOlb.js} +436 -282
- package/dist/{logs-cli-DkaVUy3B.js → logs-cli-QV15CwHW.js} +23 -21
- package/dist/{manager-C7IsWIUj.js → manager-M02jv6fr.js} +9 -9
- package/dist/{manifest-registry-BfJkwq3e.js → manifest-registry-oBOOUSYE.js} +2 -2
- package/dist/{message-channel-DFwjMtH0.js → message-channel-DFpLxeOe.js} +1 -1
- package/dist/{model-selection-Cdqumq-F.js → model-selection-Bue40sP3.js} +17 -17
- package/dist/{models-cli-CLLV1wdP.js → models-cli-DWQ0kLgh.js} +73 -70
- package/dist/{mpg123-decoder-Djog5u_Q.js → mpg123-decoder-Xg0SyeER.js} +0 -0
- package/dist/{multipart-parser-BS3arWOk.js → multipart-parser-DrdF8k3I.js} +1 -1
- package/dist/{net-BMZSt6j0.js → net-CgTtDqcj.js} +5 -5
- package/dist/{node-cli-Dt_TUiRv.js → node-cli-D6EXTrPE.js} +39 -36
- package/dist/{node-service-BUUkrXHj.js → node-service-CMlPSxKk.js} +2 -2
- package/dist/{nodes-cli-DqjC2dbZ.js → nodes-cli-CbjS6gEA.js} +26 -24
- package/dist/{nodes-screen-CwBKcNQ8.js → nodes-screen-e5ukaa2F.js} +1 -1
- package/dist/{note-CSp5eHqT.js → note-DGDjXGAF.js} +8 -3
- package/dist/{ogg-opus-decoder-BLR8niXv.js → ogg-opus-decoder-C73THxbp.js} +0 -0
- package/dist/{ogg-vorbis-C36_wWr_.js → ogg-vorbis-d3RfSrsF.js} +0 -0
- package/dist/{onboard-channels-2RPJbofL.js → onboard-channels-CxwGie__.js} +10 -10
- package/dist/onboard-helpers-BfbPZ2qa.js +365 -0
- package/dist/{onboard-skills-kO3oSwUG.js → onboard-skills-BwvndrGK.js} +17 -16
- package/dist/{onboarding-DogDYNQx.js → onboarding-DQcZx2hh.js} +41 -39
- package/dist/{opus-ml-DpoJpLxd.js → opus-ml-ClWbTGiF.js} +0 -0
- package/dist/{pairing-cli-D_ceBU8F.js → pairing-cli-ZX69bUaj.js} +22 -20
- package/dist/{pairing-labels-BJE6TJxA.js → pairing-labels-gxX2Garz.js} +1 -1
- package/dist/{pairing-store-_qMn7bnW.js → pairing-store-C3Jk-2f9.js} +2 -2
- package/dist/{path-env-BvfjafwG.js → path-env-DGypuWGK.js} +2 -2
- package/dist/{paths-D_A4SLYG.js → paths-DeB-Vw2o.js} +1 -1
- package/dist/{photon_rs-Bgr4Akoj.js → photon_rs-DGgbFbjl.js} +1 -1
- package/dist/{pi-embedded-helpers-PPwnZXfx.js → pi-embedded-helpers-Q1hWOaK2.js} +3 -3
- package/dist/{pi-model-discovery-C2vnlBAx.js → pi-model-discovery-DrIPDY-2.js} +1 -1
- package/dist/{pi-tool-definition-adapter-CdyPRa1I.js → pi-tool-definition-adapter-Bm-MOj6J.js} +5 -5
- package/dist/{pi-tools.policy-6tcuG8Hq.js → pi-tools.policy-CMsux7B0.js} +6 -6
- package/dist/{plugin-auto-enable-C67FYEiB.js → plugin-auto-enable-CAaRgRRA.js} +5 -5
- package/dist/{plugin-registry-CmTGbCn8.js → plugin-registry-CHQBjqFj.js} +4 -4
- package/dist/plugin-sdk/index.js +1881 -571
- package/dist/plugin-sdk/infra/unhandled-rejections.d.ts +8 -0
- package/dist/plugin-sdk/integrations/nylas/nylas.d.ts +132 -0
- package/dist/plugin-sdk/koi/defaults.d.ts +1 -1
- package/dist/plugin-sdk/koi/tools/browser-tool.schema.d.ts +1 -1
- package/dist/plugin-sdk/koi/tools/email-tool.d.ts +2 -0
- package/dist/plugin-sdk/{pi-model-discovery-DIELoDpU.js → pi-model-discovery-CBWcyyqn.js} +3 -3
- package/dist/plugin-sdk/web/qr-image.d.ts +16 -0
- package/dist/plugin-sdk/web/session.d.ts +1 -0
- package/dist/{plugins-BJ8VGKCt.js → plugins-4Dg2aV3Z.js} +5 -5
- package/dist/{plugins-cli-BvddQ3Ms.js → plugins-cli-ZaMVzNrW.js} +70 -67
- package/dist/{ports-D-ffYdXl.js → ports-C1z23xs4.js} +2 -2
- package/dist/{program-CoH42lU_.js → program-he1byI8Z.js} +11 -10
- package/dist/{progress-aeJDq1bY.js → progress-DpXGZ7eP.js} +2 -1
- package/dist/{prompt-style-CVuim3sP.js → prompt-style-VlLGOsyw.js} +1 -1
- package/dist/{pw-ai-CUTDC_6S.js → pw-ai-Dw09x1ge.js} +8 -6
- package/dist/{qmd-manager-Ds4zmXIE.js → qmd-manager-DO-Ox6fu.js} +11 -9
- package/dist/{register.subclis-2i7iYIuD.js → register.subclis-Bbxg5ow3.js} +30 -30
- package/dist/{reply-BeoDzYeX.js → reply-PMxz0ujM.js} +2540 -1066
- package/dist/{routes-BVnNIgfr.js → routes-B_ID_OU2.js} +6 -6
- package/dist/{rpc-DBmR3wN-.js → rpc-DKOVLf7X.js} +3 -3
- package/dist/{run-code-tool-Cjw0xB76.js → run-code-tool-Cth5RE-s.js} +1 -1
- package/dist/run-main-DoB-rR0d.js +236 -0
- package/dist/{runner-du0oebCi.js → runner-DBIvFAAM.js} +12 -12
- package/dist/{sandbox-cli-UB4bYoeE.js → sandbox-cli-DynZdN7g.js} +34 -32
- package/dist/{sandbox-Cs4B_RZP.js → sandbox-ct8K-1YY.js} +12 -12
- package/dist/{security-cli-DIPat66Y.js → security-cli-C9BpKZtD.js} +42 -40
- package/dist/{server-context-By4m-ZR-.js → server-context-BfQWGTuX.js} +6 -6
- package/dist/{server-node-events-VvnfC3pl.js → server-node-events-ChPaq-rf.js} +68 -65
- package/dist/{service-CsKcTbqE.js → service-CYp-ZMZO.js} +3 -3
- package/dist/{service-audit-B3I7zKwq.js → service-audit-CtA-SSNX.js} +4 -4
- package/dist/{session-cost-usage-CmW298Fs.js → session-cost-usage-C1dZUsv0.js} +2 -2
- package/dist/{sessions-DhO6RFbR.js → sessions-DDNCk-6Y.js} +10 -10
- package/dist/{shared-0MG4EjZb.js → shared-BIgTSNKP.js} +5 -5
- package/dist/{shared-DZZpBtc0.js → shared-JypYb4w7.js} +4 -4
- package/dist/{signin-6D1VAeC5.js → signin-DEzrd2Az.js} +8 -8
- package/dist/{skills-DgBgB325.js → skills-BJfsdgbY.js} +6 -6
- package/dist/{skills-cli-CT72Au5I.js → skills-cli-DCs5wtWe.js} +23 -21
- package/dist/{skills-status-QmdDW96R.js → skills-status-MQ9kq-A7.js} +4 -4
- package/dist/{sqlite-DHgvEkS1.js → sqlite-ciTubP4r.js} +1 -1
- package/dist/{src-CDAobb3n.js → src-mupfzKFz.js} +2 -2
- package/dist/{sso-oidc-C4vHy1Qb.js → sso-oidc-DczAhfGO.js} +8 -8
- package/dist/{status-DQHoV3y8.js → status-CJUdb2GD.js} +4 -4
- package/dist/{sts-BulItMvE.js → sts-DSFMrmII.js} +8 -8
- package/dist/{subsystem-RXphV8Xh.js → subsystem-hATE68va.js} +4 -53
- package/dist/{system-cli-CvB-ISpn.js → system-cli-CMOa9kKm.js} +21 -19
- package/dist/{system-prompt-snippet-CpC3IIQh.js → system-prompt-snippet-CvxTckhD.js} +1 -1
- package/dist/{systemd-DvZErSyI.js → systemd-BwrS2WmZ.js} +3 -3
- package/dist/{systemd-hints-DpSjggO1.js → systemd-hints-30iAjwlu.js} +1 -1
- package/dist/{systemd-linger-blVsJyEr.js → systemd-linger-Dppl0X6M.js} +2 -2
- package/dist/{table-BcCXbKbR.js → table-3qkY6e1T.js} +2 -2
- package/dist/{tailscale-CsF9n21t.js → tailscale-B9nalljD.js} +2 -2
- package/dist/theme-C5EwWDWE.js +41 -0
- package/dist/{tool-display-BETeOP8O.js → tool-display-DcE_Uu-6.js} +2 -2
- package/dist/{tool-images-BPzjKQuD.js → tool-images-BotO6WKu.js} +2 -2
- package/dist/{tui-LHHRLUN8.js → tui-Cp9kceCv.js} +55 -54
- package/dist/{tui-cli-Bns8H80d.js → tui-cli-PCdHvSfU.js} +41 -39
- package/dist/{update-GGpkyHHu.js → update-BpZFa_ei.js} +3 -3
- package/dist/{update-cli-Cw5F_C4P.js → update-cli-uGjm4Woh.js} +93 -90
- package/dist/{update-runner-B8endTIk.js → update-runner-ClTnCJiY.js} +9 -9
- package/dist/{utilities-BJ-D3KIP.js → utilities-ZN_T4EvN.js} +1 -1
- package/dist/{utils-rBzA-VDv.js → utils-D019Z2NU.js} +1 -1
- package/dist/{webhooks-cli-C5FfOniT.js → webhooks-cli-1GJGI0QZ.js} +22 -20
- package/dist/{widearea-dns-B62LOarH.js → widearea-dns-BV1FENWO.js} +1 -1
- package/dist/{ws-log-DMyJV-8f.js → ws-log-BSxE5LhM.js} +3 -3
- package/dist/wsl-uZioIdb1.js +25 -0
- package/extensions/bluebubbles/node_modules/.bin/koi +21 -0
- package/extensions/copilot-proxy/node_modules/.bin/koi +21 -0
- package/extensions/diagnostics-otel/node_modules/.bin/koi +21 -0
- package/extensions/discord/node_modules/.bin/koi +21 -0
- package/extensions/feishu/node_modules/.bin/koi +21 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/koi +21 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/koi +21 -0
- package/extensions/googlechat/node_modules/.bin/koi +21 -0
- package/extensions/imessage/node_modules/.bin/koi +21 -0
- package/extensions/line/node_modules/.bin/koi +21 -0
- package/extensions/llm-task/node_modules/.bin/koi +21 -0
- package/extensions/lobster/node_modules/.bin/koi +21 -0
- package/extensions/matrix/node_modules/.bin/koi +21 -0
- package/extensions/mattermost/node_modules/.bin/koi +21 -0
- package/extensions/memory-core/node_modules/.bin/koi +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/koi +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/minimax-portal-auth/node_modules/.bin/koi +21 -0
- package/extensions/msteams/node_modules/.bin/koi +21 -0
- package/extensions/nextcloud-talk/node_modules/.bin/koi +21 -0
- package/extensions/nostr/node_modules/.bin/koi +21 -0
- package/extensions/open-prose/node_modules/.bin/koi +21 -0
- package/extensions/signal/node_modules/.bin/koi +21 -0
- package/extensions/slack/node_modules/.bin/koi +21 -0
- package/extensions/telegram/node_modules/.bin/koi +21 -0
- package/extensions/tlon/node_modules/.bin/koi +21 -0
- package/extensions/twitch/node_modules/.bin/koi +21 -0
- package/extensions/voice-call/node_modules/.bin/koi +21 -0
- package/extensions/whatsapp/node_modules/.bin/koi +21 -0
- package/extensions/zalo/node_modules/.bin/koi +21 -0
- package/extensions/zalouser/node_modules/.bin/koi +21 -0
- package/package.json +3 -2
- package/skykoi.mjs +4 -0
- package/dist/cli-cFz2NDsC.js +0 -107
- package/dist/dist-cjs-BUqZjJeW.js +0 -182
- package/dist/run-main-Ne3LSHZ7.js +0 -219
- /package/dist/{BasicParser-CF9qhd2e.js → BasicParser-CRCWs1CW.js} +0 -0
- /package/dist/{boolean-BXL1jIU4.js → boolean-CBeSt-pi.js} +0 -0
- /package/dist/{brew-DRxkJd80.js → brew-DthNG9In.js} +0 -0
- /package/dist/{cli-utils-BjM5oE0K.js → cli-utils-B9oLkk15.js} +0 -0
- /package/dist/{client-BFs8SS8S.js → client-CDcz2yfp.js} +0 -0
- /package/dist/{constants-BhdMO-tw.js → constants-BKhjbqCK.js} +0 -0
- /package/dist/{core-BRHgNufn.js → core-BsQGdXTu.js} +0 -0
- /package/dist/{declarations-6jM-SyQk.js → declarations-DB4Yh-wL.js} +0 -0
- /package/dist/{device-identity-D215B0gc.js → device-identity-Bb4mQJBL.js} +0 -0
- /package/dist/{dist-cjs-CaIQnMLE.js → dist-cjs-BVFgiGWY.js} +0 -0
- /package/dist/{dist-cjs-Bol3K1bk.js → dist-cjs-DjDx_KTJ.js} +0 -0
- /package/dist/{dist-cjs-xw6-KjNn.js → dist-cjs-hdL0kK_H.js} +0 -0
- /package/dist/{esm-D6L1AidW.js → esm-DjyW9kRZ.js} +0 -0
- /package/dist/{esm-shims-DPQP8ORX.js → esm-shims-D1IMiQfe.js} +0 -0
- /package/dist/{esm-B4typ96M.js → esm-yPyVmDg0.js} +0 -0
- /package/dist/{event-log-DdHyiiQb.js → event-log-Bp_kcsW9.js} +0 -0
- /package/dist/{format-DfUL8x8A.js → format-BReK3zxQ.js} +0 -0
- /package/dist/{from-Co-QLFUN.js → from-CDPzmhg1.js} +0 -0
- /package/dist/{github-copilot-token-v4Mg1eJR.js → github-copilot-token-CNBLk7kR.js} +0 -0
- /package/dist/{helpers-btYENKQf.js → helpers-Bw8Inumq.js} +0 -0
- /package/dist/{is-main-C-HPYgby.js → is-main-IPFNRi1N.js} +0 -0
- /package/dist/{koi-events-resOGhIY.js → koi-events-mTBifGCl.js} +0 -0
- /package/dist/{lib-B-iAYD_i.js → lib-DySFL26z.js} +0 -0
- /package/dist/{logging-w5jq5901.js → logging-DbUpYaKc.js} +0 -0
- /package/dist/{login-CLGP4l3Z.js → login-CmBbN0eq.js} +0 -0
- /package/dist/{node-pairing-LtbSR4JV.js → node-pairing-C8IUm3Xm.js} +0 -0
- /package/dist/{node-pty-DoMghL06.js → node-pty-DDdnVd-f.js} +0 -0
- /package/dist/{node-wav-MzeDSrlT.js → node-wav-Dxydm4tU.js} +0 -0
- /package/dist/{package-51C8Jx5V.js → package-Dse4eP3B.js} +0 -0
- /package/dist/{parse-B5EluDjJ.js → parse-CpfPstIh.js} +0 -0
- /package/dist/{parse-log-line-CVYzLRZv.js → parse-log-line-DSgxApry.js} +0 -0
- /package/dist/{parse-timeout-BViBz9CU.js → parse-timeout-Cu-tR2v-.js} +0 -0
- /package/dist/{pdf-C0DRAHdF.js → pdf-CZO5naQe.js} +0 -0
- /package/dist/{profile-utils-CuAUXxa9.js → profile-utils-DAUN89fV.js} +0 -0
- /package/dist/{prompts-0EnaVIOe.js → prompts-BI__va99.js} +0 -0
- /package/dist/{proxy-from-env-DUE82Vrw.js → proxy-from-env-CZI-BeJ4.js} +0 -0
- /package/dist/{qoa-format-CwaP6T4P.js → qoa-format-BSkDaNXD.js} +0 -0
- /package/dist/{readability-BfNh3Mix.js → readability-BcYpq-hI.js} +0 -0
- /package/dist/{readiness-BpHD5Pcy.js → readiness-YIV1LtAe.js} +0 -0
- /package/dist/{redact-CjQe_7H_.js → redact-AS2CBwfj.js} +0 -0
- /package/dist/{runtime-koi-overlay-DeM9uyPh.js → runtime-koi-overlay-D_7DVBL4.js} +0 -0
- /package/dist/{satisfies-Bw0kftyq.js → satisfies-Bvl3f_kk.js} +0 -0
- /package/dist/{session-key-DvA8Pdt6.js → session-key-B2OXLVi_.js} +0 -0
- /package/dist/{skill-scanner-XSqJHIlH.js → skill-scanner-oZNfZVUO.js} +0 -0
- /package/dist/{skykoi-root-BcOj1-eE.js → skykoi-root-rFrz2aC7.js} +0 -0
- /package/dist/{source-map-DYfYa1Mf.js → source-map-DI_SXNmQ.js} +0 -0
- /package/dist/{sqlite-vec-DpCO_l6H.js → sqlite-vec-ekmQbruP.js} +0 -0
- /package/dist/{src-D8AlCNvU.js → src-CuBVmkDD.js} +0 -0
- /package/dist/{status-B1DCoVQ3.js → status-CpFdq_6F.js} +0 -0
- /package/dist/{tailnet-CUHhVH39.js → tailnet-CZZ-Y3G-.js} +0 -0
- /package/dist/{tool-policy-DFU7NfzA.js → tool-policy-ad0vFRA6.js} +0 -0
- /package/dist/{transcript-events-CSVRDWbt.js → transcript-events-C1GkbPky.js} +0 -0
- /package/dist/{tslib.es6-Cnpv4JrW.js → tslib.es6-CLniAndw.js} +0 -0
- /package/dist/{types-DDz9jkcO.js → types-CFnA9pIJ.js} +0 -0
- /package/dist/{uint8array-extras-2BwdofY4.js → uint8array-extras-BrUcgSkS.js} +0 -0
- /package/dist/{usage-format-BGCAJt5K.js → usage-format-F-4FwfCE.js} +0 -0
- /package/dist/{warnings-MnyHYVbe.js → warnings-WXNLPyeJ.js} +0 -0
- /package/dist/{ws-BFJFY98P.js → ws-BvTjdHhA.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as __toESM, r as __exportAll } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { n as fromBuffer } from "./core-
|
|
3
|
-
import { C as textEncode, S as textDecode, b as Uint8ArrayType, f as UINT16_LE, g as UINT32_LE, u as StringType } from "./lib-
|
|
4
|
-
import { t as require_src } from "./src-
|
|
5
|
-
import { i as InternalParserError, r as FieldDecodingError, s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
6
|
-
import { i as findZero, t as a2hex } from "./Util-
|
|
2
|
+
import { n as fromBuffer } from "./core-BsQGdXTu.js";
|
|
3
|
+
import { C as textEncode, S as textDecode, b as Uint8ArrayType, f as UINT16_LE, g as UINT32_LE, u as StringType } from "./lib-DySFL26z.js";
|
|
4
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
5
|
+
import { i as InternalParserError, r as FieldDecodingError, s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
6
|
+
import { i as findZero, t as a2hex } from "./Util-Cyn7-bI-.js";
|
|
7
7
|
|
|
8
8
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/common/FourCC.js
|
|
9
9
|
const validFourCC = /^[\x21-\x7e©][\x20-\x7e\x00()]{3}/;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { o as EndOfStreamError } from "./core-
|
|
3
|
-
import { t as require_src } from "./src-
|
|
4
|
-
import { t as BasicParser } from "./BasicParser-
|
|
5
|
-
import { r as ID3v2Header } from "./ID3v2Token-
|
|
6
|
-
import { n as ID3v1Parser } from "./ID3v1Parser-
|
|
7
|
-
import { t as ID3v2Parser } from "./ID3v2Parser-
|
|
2
|
+
import { o as EndOfStreamError } from "./core-BsQGdXTu.js";
|
|
3
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
4
|
+
import { t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
5
|
+
import { r as ID3v2Header } from "./ID3v2Token-Nklg9NJX.js";
|
|
6
|
+
import { n as ID3v1Parser } from "./ID3v1Parser-DxsVp2X3.js";
|
|
7
|
+
import { t as ID3v2Parser } from "./ID3v2Parser-CTJO9obV.js";
|
|
8
8
|
|
|
9
9
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js
|
|
10
10
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { n as fromBuffer, o as EndOfStreamError } from "./core-
|
|
3
|
-
import "./lib-
|
|
4
|
-
import { b as Uint8ArrayType, d as UINT16_BE, h as UINT32_BE, u as StringType, y as UINT8 } from "./lib-
|
|
5
|
-
import { t as require_src } from "./src-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
8
|
-
import { t as ID3v2Parser } from "./ID3v2Parser-
|
|
2
|
+
import { n as fromBuffer, o as EndOfStreamError } from "./core-BsQGdXTu.js";
|
|
3
|
+
import "./lib-DzlnrZUo.js";
|
|
4
|
+
import { b as Uint8ArrayType, d as UINT16_BE, h as UINT32_BE, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
5
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
8
|
+
import { t as ID3v2Parser } from "./ID3v2Parser-CTJO9obV.js";
|
|
9
9
|
|
|
10
10
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/aiff/AiffToken.js
|
|
11
11
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { f as UINT16_LE, g as UINT32_LE, u as StringType, v as UINT64_LE } from "./lib-
|
|
3
|
-
import { t as require_src } from "./src-
|
|
4
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
5
|
-
import { a as getBit, c as stripNulls, n as decodeString } from "./Util-
|
|
6
|
-
import { t as AttachedPictureType } from "./ID3v2Token-
|
|
7
|
-
import { n as TrackType } from "./types-
|
|
2
|
+
import { f as UINT16_LE, g as UINT32_LE, u as StringType, v as UINT64_LE } from "./lib-DySFL26z.js";
|
|
3
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
4
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
5
|
+
import { a as getBit, c as stripNulls, n as decodeString } from "./Util-Cyn7-bI-.js";
|
|
6
|
+
import { t as AttachedPictureType } from "./ID3v2Token-Nklg9NJX.js";
|
|
7
|
+
import { n as TrackType } from "./types-CFnA9pIJ.js";
|
|
8
8
|
|
|
9
9
|
//#region node_modules/.pnpm/win-guid@0.2.1/node_modules/win-guid/lib/guid.js
|
|
10
10
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { n as fromBuffer } from "./core-
|
|
3
|
-
import "./lib-
|
|
4
|
-
import { b as Uint8ArrayType, d as UINT16_BE, g as UINT32_LE, h as UINT32_BE, s as INT64_BE, u as StringType, y as UINT8 } from "./lib-
|
|
5
|
-
import { t as require_src } from "./src-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
8
|
-
import { t as ID3v2Parser } from "./ID3v2Parser-
|
|
2
|
+
import { n as fromBuffer } from "./core-BsQGdXTu.js";
|
|
3
|
+
import "./lib-DzlnrZUo.js";
|
|
4
|
+
import { b as Uint8ArrayType, d as UINT16_BE, g as UINT32_LE, h as UINT32_BE, s as INT64_BE, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
5
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
8
|
+
import { t as ID3v2Parser } from "./ID3v2Parser-CTJO9obV.js";
|
|
9
9
|
|
|
10
10
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/dsdiff/DsdiffToken.js
|
|
11
11
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import "./lib-
|
|
3
|
-
import { c as INT64_LE, o as INT32_LE, v as UINT64_LE } from "./lib-
|
|
4
|
-
import { t as require_src } from "./src-
|
|
5
|
-
import { s as makeUnexpectedFileContentError } from "./BasicParser-
|
|
6
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
7
|
-
import { t as ID3v2Parser } from "./ID3v2Parser-
|
|
8
|
-
import { t as AbstractID3Parser } from "./AbstractID3Parser-
|
|
2
|
+
import "./lib-DzlnrZUo.js";
|
|
3
|
+
import { c as INT64_LE, o as INT32_LE, v as UINT64_LE } from "./lib-DySFL26z.js";
|
|
4
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
5
|
+
import { s as makeUnexpectedFileContentError } from "./BasicParser-CRCWs1CW.js";
|
|
6
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
7
|
+
import { t as ID3v2Parser } from "./ID3v2Parser-CTJO9obV.js";
|
|
8
|
+
import { t as AbstractID3Parser } from "./AbstractID3Parser-Cwnztz9T.js";
|
|
9
9
|
|
|
10
10
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/dsf/DsfChunk.js
|
|
11
11
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as __toESM, r as __exportAll } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { S as textDecode, b as Uint8ArrayType, d as UINT16_BE, g as UINT32_LE, h as UINT32_BE, p as UINT24_BE, u as StringType, y as UINT8 } from "./lib-
|
|
3
|
-
import { t as require_src } from "./src-
|
|
4
|
-
import { s as makeUnexpectedFileContentError } from "./BasicParser-
|
|
5
|
-
import { a as getBit, o as getBitAllignedNumber } from "./Util-
|
|
6
|
-
import { t as AttachedPictureType } from "./ID3v2Token-
|
|
7
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
8
|
-
import { t as AbstractID3Parser } from "./AbstractID3Parser-
|
|
2
|
+
import { S as textDecode, b as Uint8ArrayType, d as UINT16_BE, g as UINT32_LE, h as UINT32_BE, p as UINT24_BE, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
3
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
4
|
+
import { s as makeUnexpectedFileContentError } from "./BasicParser-CRCWs1CW.js";
|
|
5
|
+
import { a as getBit, o as getBitAllignedNumber } from "./Util-Cyn7-bI-.js";
|
|
6
|
+
import { t as AttachedPictureType } from "./ID3v2Token-Nklg9NJX.js";
|
|
7
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
8
|
+
import { t as AbstractID3Parser } from "./AbstractID3Parser-Cwnztz9T.js";
|
|
9
9
|
|
|
10
10
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.js
|
|
11
11
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { S as textDecode, u as StringType, y as UINT8 } from "./lib-
|
|
3
|
-
import { t as require_src } from "./src-
|
|
4
|
-
import { t as BasicParser } from "./BasicParser-
|
|
5
|
-
import { u as trimRightNull } from "./Util-
|
|
6
|
-
import { t as APEv2Parser } from "./APEv2Parser-
|
|
2
|
+
import { S as textDecode, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
3
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
4
|
+
import { t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
5
|
+
import { u as trimRightNull } from "./Util-Cyn7-bI-.js";
|
|
6
|
+
import { t as APEv2Parser } from "./APEv2Parser-M_hguWhU.js";
|
|
7
7
|
|
|
8
8
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js
|
|
9
9
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { S as textDecode, b as Uint8ArrayType, h as UINT32_BE, p as UINT24_BE, y as UINT8 } from "./lib-
|
|
3
|
-
import { t as require_src } from "./src-
|
|
4
|
-
import { s as makeUnexpectedFileContentError } from "./BasicParser-
|
|
5
|
-
import { a as getBit, i as findZero, n as decodeString, r as decodeUintBE } from "./Util-
|
|
6
|
-
import { a as SyncTextHeader, l as UINT32SYNCSAFE, n as ExtendedHeader, o as TextEncodingToken, r as ID3v2Header, s as TextHeader, t as AttachedPictureType } from "./ID3v2Token-
|
|
7
|
-
import { t as Genres } from "./ID3v1Parser-
|
|
2
|
+
import { S as textDecode, b as Uint8ArrayType, h as UINT32_BE, p as UINT24_BE, y as UINT8 } from "./lib-DySFL26z.js";
|
|
3
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
4
|
+
import { s as makeUnexpectedFileContentError } from "./BasicParser-CRCWs1CW.js";
|
|
5
|
+
import { a as getBit, i as findZero, n as decodeString, r as decodeUintBE } from "./Util-Cyn7-bI-.js";
|
|
6
|
+
import { a as SyncTextHeader, l as UINT32SYNCSAFE, n as ExtendedHeader, o as TextEncodingToken, r as ID3v2Header, s as TextHeader, t as AttachedPictureType } from "./ID3v2Token-Nklg9NJX.js";
|
|
7
|
+
import { t as Genres } from "./ID3v1Parser-DxsVp2X3.js";
|
|
8
8
|
|
|
9
9
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js
|
|
10
10
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as UINT16_BE, h as UINT32_BE, l as INT8, u as StringType, y as UINT8 } from "./lib-
|
|
2
|
-
import { a as getBit } from "./Util-
|
|
1
|
+
import { d as UINT16_BE, h as UINT32_BE, l as INT8, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
2
|
+
import { a as getBit } from "./Util-Cyn7-bI-.js";
|
|
3
3
|
|
|
4
4
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/id3v2/ID3v2Token.js
|
|
5
5
|
/**
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import "./lib-
|
|
3
|
-
import { S as textDecode, _ as UINT64_BE, a as INT32_BE, b as Uint8ArrayType, d as UINT16_BE, h as UINT32_BE, i as INT24_BE, l as INT8, p as UINT24_BE, r as INT16_BE, u as StringType, x as lib_exports, y as UINT8 } from "./lib-
|
|
4
|
-
import { t as require_src } from "./src-
|
|
5
|
-
import { n as uint8ArrayToHex } from "./uint8array-extras-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { a as getBit } from "./Util-
|
|
8
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
9
|
-
import { t as Genres } from "./ID3v1Parser-
|
|
10
|
-
import { n as TrackType } from "./types-
|
|
2
|
+
import "./lib-DzlnrZUo.js";
|
|
3
|
+
import { S as textDecode, _ as UINT64_BE, a as INT32_BE, b as Uint8ArrayType, d as UINT16_BE, h as UINT32_BE, i as INT24_BE, l as INT8, p as UINT24_BE, r as INT16_BE, u as StringType, x as lib_exports, y as UINT8 } from "./lib-DySFL26z.js";
|
|
4
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
5
|
+
import { n as uint8ArrayToHex } from "./uint8array-extras-BrUcgSkS.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { a as getBit } from "./Util-Cyn7-bI-.js";
|
|
8
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
9
|
+
import { t as Genres } from "./ID3v1Parser-DxsVp2X3.js";
|
|
10
|
+
import { n as TrackType } from "./types-CFnA9pIJ.js";
|
|
11
11
|
|
|
12
12
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/mp4/AtomToken.js
|
|
13
13
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { o as EndOfStreamError } from "./core-
|
|
3
|
-
import "./lib-
|
|
4
|
-
import { _ as UINT64_BE, n as Float64_BE, t as Float32_BE, u as StringType, y as UINT8 } from "./lib-
|
|
5
|
-
import { t as require_src } from "./src-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { n as TrackType, t as TargetType } from "./types-
|
|
2
|
+
import { o as EndOfStreamError } from "./core-BsQGdXTu.js";
|
|
3
|
+
import "./lib-DzlnrZUo.js";
|
|
4
|
+
import { _ as UINT64_BE, n as Float64_BE, t as Float32_BE, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
5
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { n as TrackType, t as TargetType } from "./types-CFnA9pIJ.js";
|
|
8
8
|
|
|
9
9
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/ebml/types.js
|
|
10
10
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { o as EndOfStreamError } from "./core-
|
|
3
|
-
import "./lib-
|
|
4
|
-
import { b as Uint8ArrayType, d as UINT16_BE, h as UINT32_BE, r as INT16_BE, u as StringType, y as UINT8 } from "./lib-
|
|
5
|
-
import { t as require_src } from "./src-
|
|
6
|
-
import { s as makeUnexpectedFileContentError } from "./BasicParser-
|
|
7
|
-
import { c as stripNulls, o as getBitAllignedNumber, s as isBitSet } from "./Util-
|
|
8
|
-
import { t as AbstractID3Parser } from "./AbstractID3Parser-
|
|
2
|
+
import { o as EndOfStreamError } from "./core-BsQGdXTu.js";
|
|
3
|
+
import "./lib-DzlnrZUo.js";
|
|
4
|
+
import { b as Uint8ArrayType, d as UINT16_BE, h as UINT32_BE, r as INT16_BE, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
5
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { c as stripNulls, o as getBitAllignedNumber, s as isBitSet } from "./Util-Cyn7-bI-.js";
|
|
8
|
+
import { t as AbstractID3Parser } from "./AbstractID3Parser-Cwnztz9T.js";
|
|
9
9
|
|
|
10
10
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js
|
|
11
11
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import "./lib-
|
|
3
|
-
import { S as textDecode, f as UINT16_LE, g as UINT32_LE, u as StringType, y as UINT8 } from "./lib-
|
|
4
|
-
import { t as require_src } from "./src-
|
|
5
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
6
|
-
import { o as getBitAllignedNumber, s as isBitSet } from "./Util-
|
|
7
|
-
import { i as FourCcToken, r as tryParseApeHeader } from "./APEv2Parser-
|
|
8
|
-
import { t as AbstractID3Parser } from "./AbstractID3Parser-
|
|
2
|
+
import "./lib-DzlnrZUo.js";
|
|
3
|
+
import { S as textDecode, f as UINT16_LE, g as UINT32_LE, u as StringType, y as UINT8 } from "./lib-DySFL26z.js";
|
|
4
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
5
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
6
|
+
import { o as getBitAllignedNumber, s as isBitSet } from "./Util-Cyn7-bI-.js";
|
|
7
|
+
import { i as FourCcToken, r as tryParseApeHeader } from "./APEv2Parser-M_hguWhU.js";
|
|
8
|
+
import { t as AbstractID3Parser } from "./AbstractID3Parser-Cwnztz9T.js";
|
|
9
9
|
|
|
10
10
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js
|
|
11
11
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { o as EndOfStreamError } from "./core-
|
|
3
|
-
import "./lib-
|
|
4
|
-
import { b as Uint8ArrayType, d as UINT16_BE, f as UINT16_LE, g as UINT32_LE, o as INT32_LE, p as UINT24_BE, u as StringType, v as UINT64_LE, y as UINT8 } from "./lib-
|
|
5
|
-
import { t as require_src } from "./src-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { a as getBit, u as trimRightNull } from "./Util-
|
|
8
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
9
|
-
import { a as BlockType, i as BlockStreamInfo, o as VorbisStream, r as BlockHeader, s as VorbisPictureToken, t as FlacParser } from "./FlacParser-
|
|
2
|
+
import { o as EndOfStreamError } from "./core-BsQGdXTu.js";
|
|
3
|
+
import "./lib-DzlnrZUo.js";
|
|
4
|
+
import { b as Uint8ArrayType, d as UINT16_BE, f as UINT16_LE, g as UINT32_LE, o as INT32_LE, p as UINT24_BE, u as StringType, v as UINT64_LE, y as UINT8 } from "./lib-DySFL26z.js";
|
|
5
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { a as getBit, u as trimRightNull } from "./Util-Cyn7-bI-.js";
|
|
8
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
9
|
+
import { a as BlockType, i as BlockStreamInfo, o as VorbisStream, r as BlockHeader, s as VorbisPictureToken, t as FlacParser } from "./FlacParser-ni961vjD.js";
|
|
10
10
|
|
|
11
11
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/ogg/opus/Opus.js
|
|
12
12
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { u as StringType } from "./lib-
|
|
2
|
-
import { t as getUintBE } from "./uint8array-extras-
|
|
3
|
-
import { r as FieldDecodingError } from "./BasicParser-
|
|
1
|
+
import { u as StringType } from "./lib-DySFL26z.js";
|
|
2
|
+
import { t as getUintBE } from "./uint8array-extras-BrUcgSkS.js";
|
|
3
|
+
import { r as FieldDecodingError } from "./BasicParser-CRCWs1CW.js";
|
|
4
4
|
|
|
5
5
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/common/Util.js
|
|
6
6
|
function getBit(buf, off, bit) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import "./lib-
|
|
3
|
-
import { b as Uint8ArrayType, f as UINT16_LE, g as UINT32_LE, m as UINT24_LE, y as UINT8 } from "./lib-
|
|
4
|
-
import { t as require_src } from "./src-
|
|
5
|
-
import { n as uint8ArrayToHex } from "./uint8array-extras-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { i as FourCcToken, r as tryParseApeHeader } from "./APEv2Parser-
|
|
2
|
+
import "./lib-DzlnrZUo.js";
|
|
3
|
+
import { b as Uint8ArrayType, f as UINT16_LE, g as UINT32_LE, m as UINT24_LE, y as UINT8 } from "./lib-DySFL26z.js";
|
|
4
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
5
|
+
import { n as uint8ArrayToHex } from "./uint8array-extras-BrUcgSkS.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { i as FourCcToken, r as tryParseApeHeader } from "./APEv2Parser-M_hguWhU.js";
|
|
8
8
|
|
|
9
9
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/wavpack/WavPackToken.js
|
|
10
10
|
const SampleRates = [
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import { n as fromBuffer, o as EndOfStreamError } from "./core-
|
|
3
|
-
import "./lib-
|
|
4
|
-
import { b as Uint8ArrayType, f as UINT16_LE, g as UINT32_LE, u as StringType } from "./lib-
|
|
5
|
-
import { t as require_src } from "./src-
|
|
6
|
-
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-
|
|
7
|
-
import { c as stripNulls } from "./Util-
|
|
8
|
-
import { i as FourCcToken } from "./APEv2Parser-
|
|
9
|
-
import { t as ID3v2Parser } from "./ID3v2Parser-
|
|
2
|
+
import { n as fromBuffer, o as EndOfStreamError } from "./core-BsQGdXTu.js";
|
|
3
|
+
import "./lib-DzlnrZUo.js";
|
|
4
|
+
import { b as Uint8ArrayType, f as UINT16_LE, g as UINT32_LE, u as StringType } from "./lib-DySFL26z.js";
|
|
5
|
+
import { t as require_src } from "./src-CuBVmkDD.js";
|
|
6
|
+
import { s as makeUnexpectedFileContentError, t as BasicParser } from "./BasicParser-CRCWs1CW.js";
|
|
7
|
+
import { c as stripNulls } from "./Util-Cyn7-bI-.js";
|
|
8
|
+
import { i as FourCcToken } from "./APEv2Parser-M_hguWhU.js";
|
|
9
|
+
import { t as ID3v2Parser } from "./ID3v2Parser-CTJO9obV.js";
|
|
10
10
|
|
|
11
11
|
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/riff/RiffChunk.js
|
|
12
12
|
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as getChildLogger, b as success, p as info, s as defaultRuntime } from "./subsystem-hATE68va.js";
|
|
2
2
|
import { m as resolveOAuthDir } from "./paths-VdmjGGyc.js";
|
|
3
|
-
import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-
|
|
4
|
-
import { h as resolveUserPath, u as jidToE164 } from "./utils-
|
|
3
|
+
import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-B2OXLVi_.js";
|
|
4
|
+
import { h as resolveUserPath, u as jidToE164 } from "./utils-D019Z2NU.js";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs$1 from "node:fs/promises";
|
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { s as defaultRuntime } from "./subsystem-hATE68va.js";
|
|
2
2
|
import "./paths-VdmjGGyc.js";
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import "./
|
|
10
|
-
import "./
|
|
11
|
-
import "./
|
|
12
|
-
import
|
|
13
|
-
import "./
|
|
14
|
-
import {
|
|
15
|
-
import "./
|
|
16
|
-
import {
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import "./
|
|
20
|
-
import { t as
|
|
21
|
-
import
|
|
22
|
-
import {
|
|
3
|
+
import { r as theme } from "./theme-C5EwWDWE.js";
|
|
4
|
+
import "./ansi-By7x1TI7.js";
|
|
5
|
+
import "./utils-D019Z2NU.js";
|
|
6
|
+
import "./exec-xrC0ejqg.js";
|
|
7
|
+
import "./koi-scope-D8R_V4oO.js";
|
|
8
|
+
import "./model-selection-Bue40sP3.js";
|
|
9
|
+
import "./dist-CUiRTtgg.js";
|
|
10
|
+
import "./dist-cjs-DKbiqPag.js";
|
|
11
|
+
import "./boolean-CBeSt-pi.js";
|
|
12
|
+
import "./env-Dliiu-O6.js";
|
|
13
|
+
import "./github-copilot-token-CNBLk7kR.js";
|
|
14
|
+
import { N as VERSION, o as loadConfig } from "./config-CJCyYQfd.js";
|
|
15
|
+
import "./manifest-registry-oBOOUSYE.js";
|
|
16
|
+
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DFpLxeOe.js";
|
|
17
|
+
import "./device-identity-Bb4mQJBL.js";
|
|
18
|
+
import { l as GatewayClient } from "./net-CgTtDqcj.js";
|
|
19
|
+
import { t as buildGatewayConnectionDetails } from "./call-CJHT-9_x.js";
|
|
20
|
+
import { t as formatDocsLink } from "./links-RRRDj3kH.js";
|
|
21
|
+
import "./tailscale-B9nalljD.js";
|
|
22
|
+
import { t as isMainModule } from "./is-main-IPFNRi1N.js";
|
|
23
|
+
import { t as ensureSKYKOICliOnPath } from "./path-env-DGypuWGK.js";
|
|
24
|
+
import { i as resolveGatewayAuth } from "./auth-oGq4xOCr.js";
|
|
23
25
|
import { fileURLToPath } from "node:url";
|
|
24
26
|
import { spawn } from "node:child_process";
|
|
25
27
|
import { Readable, Writable } from "node:stream";
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { r as __exportAll } from "./chunk-D_gEzPfs.js";
|
|
2
|
+
import { r as theme } from "./theme-C5EwWDWE.js";
|
|
3
|
+
import { o as loadConfig, u as writeConfigFile } from "./config-CJCyYQfd.js";
|
|
4
|
+
import process from "node:process";
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { homedir } from "node:os";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/admin-unlock.ts
|
|
10
|
+
/**
|
|
11
|
+
* @module commands/admin-unlock
|
|
12
|
+
*
|
|
13
|
+
* Admin / team unlock — LOCAL ONLY, never contacts the website.
|
|
14
|
+
*
|
|
15
|
+
* Keys this machine for a fully local koi using an Anthropic API key that is
|
|
16
|
+
* already present in the environment (the shared key synced from Vercel env —
|
|
17
|
+
* e.g. `vercel env pull ~/.skykoi/.env`). There is NO password POST and NO key
|
|
18
|
+
* fetch from the platform; the resulting koi runs on a purely local gateway
|
|
19
|
+
* with the cloud mesh/peer connection cleared.
|
|
20
|
+
*
|
|
21
|
+
* Key lookup order (first non-empty wins): an explicit `--api-key`, then the
|
|
22
|
+
* process env, then `~/.skykoi/.env` — each checked for `ANTHROPIC_API_KEY`,
|
|
23
|
+
* `DEV_ADMIN_ANTHROPIC_KEY`, `SKYKOI_ADMIN_ANTHROPIC_KEY`. The key is persisted
|
|
24
|
+
* into `~/.skykoi/skykoi.json` (home dir, untouched by npm), so the unlock
|
|
25
|
+
* survives reinstalls and updates.
|
|
26
|
+
*/
|
|
27
|
+
var admin_unlock_exports = /* @__PURE__ */ __exportAll({
|
|
28
|
+
adminUnlock: () => adminUnlock,
|
|
29
|
+
adminUnlockCommand: () => adminUnlockCommand
|
|
30
|
+
});
|
|
31
|
+
/** Env var names searched for the Anthropic key, in priority order. */
|
|
32
|
+
const KEY_ENV_VARS = [
|
|
33
|
+
"ANTHROPIC_API_KEY",
|
|
34
|
+
"DEV_ADMIN_ANTHROPIC_KEY",
|
|
35
|
+
"SKYKOI_ADMIN_ANTHROPIC_KEY"
|
|
36
|
+
];
|
|
37
|
+
const FABLE_MODEL_REF = "anthropic/claude-fable-5";
|
|
38
|
+
/**
|
|
39
|
+
* Parse simple `KEY=VALUE` lines from `~/.skykoi/.env` (where the user can
|
|
40
|
+
* drop the Vercel-pulled env). Best-effort: returns {} when the file is absent.
|
|
41
|
+
* Reading from a file — not just `process.env` — lets a koi launched by the
|
|
42
|
+
* macOS app (which doesn't inherit the shell env) still find the key.
|
|
43
|
+
*/
|
|
44
|
+
function readSkykoiEnvFile() {
|
|
45
|
+
const out = {};
|
|
46
|
+
try {
|
|
47
|
+
const raw = fs.readFileSync(join(homedir(), ".skykoi", ".env"), "utf8");
|
|
48
|
+
for (const line of raw.split(/\r?\n/)) {
|
|
49
|
+
const match = /^\s*(?:export\s+)?([A-Za-z0-9_]+)\s*=\s*(.*?)\s*$/.exec(line);
|
|
50
|
+
if (!match) continue;
|
|
51
|
+
let value = match[2];
|
|
52
|
+
if (value.startsWith("\"") && value.endsWith("\"") || value.startsWith("'") && value.endsWith("'")) value = value.slice(1, -1);
|
|
53
|
+
out[match[1]] = value;
|
|
54
|
+
}
|
|
55
|
+
} catch {}
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
/** Resolve the Anthropic key from an explicit override, the process env, then `~/.skykoi/.env`. */
|
|
59
|
+
function resolveAnthropicKey(explicit) {
|
|
60
|
+
const fromExplicit = explicit?.trim();
|
|
61
|
+
if (fromExplicit) return fromExplicit;
|
|
62
|
+
for (const name of KEY_ENV_VARS) {
|
|
63
|
+
const value = process.env[name]?.trim();
|
|
64
|
+
if (value) return value;
|
|
65
|
+
}
|
|
66
|
+
const fileEnv = readSkykoiEnvFile();
|
|
67
|
+
for (const name of KEY_ENV_VARS) {
|
|
68
|
+
const value = fileEnv[name]?.trim();
|
|
69
|
+
if (value) return value;
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Write the local-only Anthropic config: a direct api-key provider on Fable 5,
|
|
75
|
+
* a local gateway, and the cloud mesh/peer connection removed — so nothing
|
|
76
|
+
* dials www.skykoi.com or the cloud gateway. Preserves any other config.
|
|
77
|
+
*/
|
|
78
|
+
async function applyLocalConfig(apiKey) {
|
|
79
|
+
const config = loadConfig();
|
|
80
|
+
const models = config.models ??= {};
|
|
81
|
+
const providers = models.providers ??= {};
|
|
82
|
+
providers.anthropic = {
|
|
83
|
+
baseUrl: "https://api.anthropic.com",
|
|
84
|
+
api: "anthropic-messages",
|
|
85
|
+
auth: "api-key",
|
|
86
|
+
apiKey,
|
|
87
|
+
models: [{
|
|
88
|
+
id: "claude-fable-5",
|
|
89
|
+
name: "Claude Fable 5",
|
|
90
|
+
reasoning: true,
|
|
91
|
+
input: ["text", "image"],
|
|
92
|
+
cost: {
|
|
93
|
+
input: 10,
|
|
94
|
+
output: 50,
|
|
95
|
+
cacheRead: 1,
|
|
96
|
+
cacheWrite: 12.5
|
|
97
|
+
},
|
|
98
|
+
contextWindow: 1e6,
|
|
99
|
+
maxTokens: 64e3
|
|
100
|
+
}]
|
|
101
|
+
};
|
|
102
|
+
const kois = config.kois ??= {};
|
|
103
|
+
const defaults = kois.defaults ??= {};
|
|
104
|
+
defaults.model = { primary: FABLE_MODEL_REF };
|
|
105
|
+
const gateway = config.gateway ??= {};
|
|
106
|
+
gateway.mode = "local";
|
|
107
|
+
delete gateway.remote;
|
|
108
|
+
gateway.mesh = {
|
|
109
|
+
...gateway.mesh ?? {},
|
|
110
|
+
enabled: false
|
|
111
|
+
};
|
|
112
|
+
await writeConfigFile(config);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Run the local admin unlock end-to-end: resolve the key from the environment,
|
|
116
|
+
* write the local-only config, and make sure a local gateway is running. Never
|
|
117
|
+
* touches the network except the local gateway it serves the koi from.
|
|
118
|
+
*/
|
|
119
|
+
async function adminUnlock(opts = {}) {
|
|
120
|
+
const apiKey = resolveAnthropicKey(opts.apiKey);
|
|
121
|
+
if (!apiKey) return {
|
|
122
|
+
ok: false,
|
|
123
|
+
error: "No Anthropic API key found in the environment. Load it from Vercel — e.g. `vercel env pull ~/.skykoi/.env` (or `export ANTHROPIC_API_KEY=…`) — then run `koi admin` again. Admin is local-only and never contacts the website."
|
|
124
|
+
};
|
|
125
|
+
try {
|
|
126
|
+
await applyLocalConfig(apiKey);
|
|
127
|
+
} catch (err) {
|
|
128
|
+
return {
|
|
129
|
+
ok: false,
|
|
130
|
+
error: err?.message ?? "Failed to write config"
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const { ensureLocalGatewayRunning } = await import("./ensure-local-gateway-BxT0FHAY.js").then((n) => n.n);
|
|
134
|
+
const gw = await ensureLocalGatewayRunning();
|
|
135
|
+
if (!gw.ok) return {
|
|
136
|
+
ok: false,
|
|
137
|
+
error: `Keys configured, but ${gw.error}. Try \`koi gateway run\`.`
|
|
138
|
+
};
|
|
139
|
+
return { ok: true };
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Whether this process can read the Messages DB, i.e. macOS Full Disk Access
|
|
143
|
+
* is granted. The koi needs it to map the user's real contact graph from
|
|
144
|
+
* iMessage + WhatsApp during onboarding; without it those sources are dark.
|
|
145
|
+
*/
|
|
146
|
+
function fullDiskAccessGranted() {
|
|
147
|
+
try {
|
|
148
|
+
const fd = fs.openSync(join(homedir(), "Library", "Messages", "chat.db"), "r");
|
|
149
|
+
fs.closeSync(fd);
|
|
150
|
+
return true;
|
|
151
|
+
} catch {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* CLI entry for `koi admin` — runs the local unlock and prints a friendly
|
|
157
|
+
* result. Resolves to true on success so callers can route onward.
|
|
158
|
+
*/
|
|
159
|
+
async function adminUnlockCommand(opts = {}) {
|
|
160
|
+
const result = await adminUnlock(opts);
|
|
161
|
+
if (result.ok) {
|
|
162
|
+
console.log(`\n${theme.success("✓ Admin access unlocked (local).")} Claude Fable 5 is configured on this machine from your environment. Run ${theme.command("koi")} to start. ` + theme.muted("(Local-only: no website, no cloud gateway. Persists across updates.)"));
|
|
163
|
+
if (!fullDiskAccessGranted()) console.log(`\n${theme.muted("One step for full power: grant Full Disk Access so the koi can learn your")} ${theme.muted("real network from Messages + WhatsApp during onboarding.")}\n${theme.muted("System Settings > Privacy & Security > Full Disk Access > enable Terminal, then relaunch.")}`);
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
console.error(`\n${theme.error("✗ " + result.error)}`);
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
export { admin_unlock_exports as n, adminUnlockCommand as t };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/terminal/ansi.ts
|
|
2
|
+
const ANSI_SGR_PATTERN = "\\x1b\\[[0-9;]*m";
|
|
3
|
+
const OSC8_PATTERN = "\\x1b\\]8;;.*?\\x1b\\\\|\\x1b\\]8;;\\x1b\\\\";
|
|
4
|
+
const ANSI_REGEX = new RegExp(ANSI_SGR_PATTERN, "g");
|
|
5
|
+
const OSC8_REGEX = new RegExp(OSC8_PATTERN, "g");
|
|
6
|
+
function stripAnsi(input) {
|
|
7
|
+
return input.replace(OSC8_REGEX, "").replace(ANSI_REGEX, "");
|
|
8
|
+
}
|
|
9
|
+
function visibleWidth(input) {
|
|
10
|
+
return Array.from(stripAnsi(input)).length;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { visibleWidth as n, stripAnsi as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "./chunk-D_gEzPfs.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Ot as require_inherits } from "./reply-PMxz0ujM.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import * as tar from "tar";
|