skykoi 2026.3.11 → 2026.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -157
- package/README.md +148 -148
- package/THIRD_PARTY_LICENSES.txt +1 -1
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/{SkyKoi-root-1Xxoj9c2.js → SKYKOI-root-DgeLuP-Y.js} +4 -4
- package/dist/{SkyKoi-root-DiDuB0tU.js → SKYKOI-root-G1ugMMR_.js} +4 -4
- package/dist/{accounts-DcTOxu8H.js → accounts-6GHVTfhm.js} +3 -3
- package/dist/{acp-cli-DQ8Gl-66.js → acp-cli-B5aXJ7wR.js} +24 -24
- package/dist/{acp-cli-CTyGFzui.js → acp-cli-DuOTW1GG.js} +16 -16
- package/dist/{agent-CRkRcvbn.js → agent-H6F-y_iD.js} +12 -12
- package/dist/{agent-scope-CCWoDpgO.js → agent-scope-BDIcbMHp.js} +2 -2
- package/dist/{agent-scope-DXSQVQ2A.js → agent-scope-DADS8Ogj.js} +7 -7
- package/dist/{agent-scope-Dk1slobN.js → agent-scope-DgrFnRZg.js} +5 -5
- package/dist/{agent-CZyq1zG6.js → agent-ygN2C08W.js} +15 -15
- package/dist/{audit-VcmNZt9_.js → audit-B8AGUDBD.js} +22 -22
- package/dist/{audit-G4JDzluf.js → audit-C_j5JhsI.js} +24 -24
- package/dist/{auth-CYYqbqZq.js → auth-CloPkoo0.js} +1 -1
- package/dist/{auth-Du3kY_jU.js → auth-DSrYkGU-.js} +2 -2
- package/dist/{auth-health-BYXkg4BT.js → auth-health-Csun8UBU.js} +1 -1
- package/dist/{auth-health-rhCcWsjZ.js → auth-health-TetlrB4X.js} +1 -1
- package/dist/{auth-profiles-viaj7704.js → auth-profiles-CBMf9cps.js} +8 -8
- package/dist/build-info.json +5 -0
- package/dist/{call-BVO6e0OD.js → call-DfbUyvOA.js} +6 -6
- package/dist/{call-DGC3m6VR.js → call-DziqC6bx.js} +4 -4
- package/dist/{channel-options-Dacyj8Kj.js → channel-options-C_kxJIN5.js} +8 -8
- package/dist/{channel-options-pNN2vd3X.js → channel-options-DaqVeRaR.js} +3 -3
- package/dist/{channel-selection-CSpC9ZM0.js → channel-selection-DOv5Z4as.js} +2 -2
- package/dist/{channel-selection-bfvCferJ.js → channel-selection-Ha3CW6QO.js} +2 -2
- package/dist/{channel-summary-Dt0IUgRm.js → channel-summary-DgHEXul-.js} +6 -6
- package/dist/{channel-summary-p01w5aXs.js → channel-summary-a3TM-9Y0.js} +7 -7
- package/dist/{channels-cli-BE3wI9Mv.js → channels-cli-D5iKnI5D.js} +48 -48
- package/dist/{channels-cli-4iygBuFl.js → channels-cli-wSsgfIEd.js} +33 -33
- package/dist/{channels-status-issues-BKH5rJhF.js → channels-status-issues-CsbN-n1Z.js} +1 -1
- package/dist/{channels-status-issues-Bz8OanVb.js → channels-status-issues-DcWAx1pE.js} +1 -1
- package/dist/{chrome-DSXXpnUw.js → chrome-BjAcrZj9.js} +24 -24
- package/dist/{chrome-D1IHaA-W.js → chrome-CAXMMO5v.js} +20 -20
- package/dist/{clack-prompter-ZKtp6akD.js → clack-prompter-Bfyih97B.js} +4 -4
- package/dist/cli/daemon-cli.js +2 -0
- package/dist/cli-Cu8HSI7n.js +89 -0
- package/dist/{cli-DMdZvkw_.js → cli-VM4KDWQF.js} +27 -27
- package/dist/{client-C9puJST3.js → client-IgdRFRYF.js} +80 -74
- package/dist/{command-format-CO5K-hjY.js → command-format-DaWwoZ_Z.js} +2 -2
- package/dist/{command-format-Q2sXw1hM.js → command-format-DtOukS6I.js} +2 -2
- package/dist/{command-format-BB7fwONf.js → command-format-JFYLbDtd.js} +2 -2
- package/dist/{command-options-DQyVpvAK.js → command-options-BbwtatGO.js} +4 -4
- package/dist/{commands-B8-QRADK.js → commands-ZFNfMKvF.js} +4 -4
- package/dist/{completion-cli-6Z1gpTrF.js → completion-cli-_LeIQqrx.js} +4 -4
- package/dist/{completion-cli-BGfXuspd.js → completion-cli-eOz2Eok0.js} +32 -32
- package/dist/{config-CooUU1lm.js → config-CXUt1osk.js} +14 -15
- package/dist/{config-CDIS7lkk.js → config-DaVW1uQV.js} +17 -18
- package/dist/{config-C16s_5FY.js → config-HMe-z2NO.js} +17 -18
- package/dist/{config-guard-Dx9IwUUO.js → config-guard-BrvBxgCx.js} +93 -92
- package/dist/{configure-BBzaKe3X.js → configure-COKrJ8VL.js} +23 -23
- package/dist/{configure-B75TkU1Y.js → configure-CRbYmk96.js} +14 -14
- package/dist/{constants-BzsOF9IQ.js → constants-BApFvR9k.js} +10 -10
- package/dist/{constants-D6SqBATZ.js → constants-CK7t8U_8.js} +10 -10
- package/dist/{control-service-GvUafEKO.js → control-service-C36oaRrk.js} +5 -5
- package/dist/{control-service-DhoUNWlV.js → control-service-lnW-BptF.js} +6 -6
- package/dist/{cron-cli-Dcifr5rd.js → cron-cli-BjmEHvkt.js} +18 -18
- package/dist/{cron-cli-Bg35ZebZ.js → cron-cli-DRjfl0ZG.js} +9 -9
- package/dist/{daemon-cli-gCsBZxSC.js → daemon-cli-DH4mlLlX.js} +16 -16
- package/dist/{daemon-cli-DMLKQOvx.js → daemon-cli-Dmax0MZY.js} +21 -21
- package/dist/{daemon-runtime-DY4KIB81.js → daemon-runtime-BT9juKg3.js} +5 -5
- package/dist/{daemon-runtime-8_EOfq2R.js → daemon-runtime-BpkQ2sSp.js} +6 -6
- package/dist/{deliver-PjcQjiUY.js → deliver-BT5WQysj.js} +8 -8
- package/dist/{deliver-DCQNDGoo.js → deliver-By6Hi4QY.js} +4 -4
- package/dist/{deliver-BX5vF22E.js → deliver-DudAn56h.js} +6 -6
- package/dist/{deps-iQTUg-QO.js → deps-BZwKcMsI.js} +2 -2
- package/dist/{deps-C9nfPP2Y.js → deps-ChzRwtjD.js} +2 -2
- package/dist/{devices-cli-CEmVKNQv.js → devices-cli-BBgLn1dd.js} +15 -15
- package/dist/{devices-cli-CXVNY__J.js → devices-cli-DK7sY_Y5.js} +7 -7
- package/dist/{directory-cli-CbMzT8WU.js → directory-cli-BTUY4j4T.js} +7 -7
- package/dist/{directory-cli-lKz_ewUH.js → directory-cli-CINpTp-7.js} +16 -16
- package/dist/{dispatcher-NZEmG6Ya.js → dispatcher-BtPLALoe.js} +1 -1
- package/dist/{dns-cli-BhMTHtM5.js → dns-cli-DLCwIt9i.js} +15 -15
- package/dist/{dns-cli-BbNm1oPD.js → dns-cli-DgvySRgp.js} +7 -7
- package/dist/{docs-cli-CS_hLPrw.js → docs-cli-Cg1jRUwJ.js} +6 -6
- package/dist/{docs-cli-Dt7Qw1FF.js → docs-cli-CwYjCjCA.js} +11 -11
- package/dist/{doctor-D9UUgM2o.js → doctor-BiJToFxm.js} +43 -43
- package/dist/{doctor-CPJXS_4y.js → doctor-DXWbYdiJ.js} +52 -52
- package/dist/entry.js +23 -15
- package/dist/{env-Cttj98du.js → env-BmS1w6Of.js} +1 -1
- package/dist/{errors-DqJAN6FF.js → errors-falFYNUP.js} +16 -16
- package/dist/{exec-DGTxXFQA.js → exec-B_35B71R.js} +1 -1
- package/dist/{exec-CwGfnRxa.js → exec-BfklUyuf.js} +5 -5
- package/dist/{exec-approvals-cli-yFq0PKOT.js → exec-approvals-cli-BjMP4fy3.js} +22 -22
- package/dist/{exec-approvals-cli-DoLrW0px.js → exec-approvals-cli-c47ElmPQ.js} +13 -13
- package/dist/extensionAPI.js +204 -217
- package/dist/{gateway-cli-DEdtZdBY.js → gateway-cli-Cw3myFsr.js} +137 -137
- package/dist/{gateway-cli-bDrZm2WQ.js → gateway-cli-D4pYWVvA.js} +119 -119
- package/dist/{gateway-rpc-VddQSMy_.js → gateway-rpc-85opPBme.js} +3 -3
- package/dist/{gateway-rpc-B_gyT_x5.js → gateway-rpc-DTo9hvWi.js} +2 -2
- package/dist/{github-copilot-auth-CUMuvKKC.js → github-copilot-auth-4421_bDI.js} +8 -8
- package/dist/{github-copilot-auth-BS5SOJNR.js → github-copilot-auth-U-r6wc6D.js} +11 -11
- package/dist/{github-copilot-token-7boTx1D-.js → github-copilot-token-Cyoe9dnQ.js} +1 -1
- package/dist/{github-copilot-token-DkGdbrln.js → github-copilot-token-D5BeSP-k.js} +1 -1
- package/dist/{gmail-setup-utils-zvV9N1hM.js → gmail-setup-utils-CS9hQbr5.js} +4 -4
- package/dist/{gmail-setup-utils-B27zvVD2.js → gmail-setup-utils-_vqr99ln.js} +1 -1
- package/dist/{health-format-CtaiDNoH.js → health-format-DaYoO0eu.js} +11 -11
- package/dist/{health-format-0tokNz7N.js → health-format-DlMsaI-P.js} +16 -16
- package/dist/{help-format-0lndqUB8.js → help-format-q-N7n7vs.js} +1 -1
- package/dist/hooks/bundled/boot-md/HOOK.md +19 -0
- package/dist/hooks/bundled/command-logger/HOOK.md +122 -0
- package/dist/hooks/bundled/session-memory/HOOK.md +109 -0
- package/dist/hooks/bundled/soul-evil/HOOK.md +71 -0
- package/dist/{hooks-cli-hZ2iJjrB.js → hooks-cli-BLRtZLTO.js} +35 -35
- package/dist/{hooks-cli-CdO3iPfP.js → hooks-cli-CYCsB0XJ.js} +50 -50
- package/dist/{hooks-status-D4kldoAx.js → hooks-status-D58LpxJJ.js} +12 -12
- package/dist/{hooks-status-BvxPJlDT.js → hooks-status-DqVSHHPb.js} +11 -11
- package/dist/{image-DRpQid7M.js → image-BJVKKrw4.js} +9 -9
- package/dist/{image-CmoPZA76.js → image-D4akzCbh.js} +8 -8
- package/dist/{image-DioZ-V2D.js → image-D65tbKY7.js} +9 -9
- package/dist/index.js +156 -155
- package/dist/{installs-CWsMIjk0.js → installs-ChtZhX65.js} +11 -11
- package/dist/{installs-BW5OQ0J6.js → installs-VdItzL1f.js} +9 -9
- package/dist/{links-B3xkO8_G.js → links-BYUF0_Hp.js} +1 -1
- package/dist/{loader-B2kCUNEC.js → loader-D0h4mSg-.js} +138 -157
- package/dist/{logging-3phpsMUw.js → logging-CLxV9Na7.js} +2 -2
- package/dist/{login-qr-26UfPN8d.js → login-qr-BsMQdFJj.js} +2 -2
- package/dist/{login-qr-BTxvjeP2.js → login-qr-CphAbJzT.js} +6 -6
- package/dist/{login-qr-D14yUuqm.js → login-qr-D9IaTGzs.js} +3 -3
- package/dist/{logs-cli-B08ibLmT.js → logs-cli-BLfH7BOx.js} +10 -10
- package/dist/{logs-cli-BYwCs6p2.js → logs-cli-C-H2w8K-.js} +18 -18
- package/dist/{manager-VTzR4KLd.js → manager-BJ0u8dRN.js} +10 -10
- package/dist/{manager-BWYzzbUa.js → manager-CPFx0YrU.js} +12 -12
- package/dist/{manager-BFg22Zhv.js → manager-ChMDstgb.js} +6 -6
- package/dist/{manifest-registry-BNfgQinl.js → manifest-registry-BWwhsgX7.js} +4 -4
- package/dist/{manifest-registry-K6hK96M4.js → manifest-registry-_yT8b-UL.js} +3 -3
- package/dist/{message-channel-CBfT5rub.js → message-channel-DHb3z4h2.js} +2 -1
- package/dist/{message-channel-DXR7mBmt.js → message-channel-DuMt9R2u.js} +1 -0
- package/dist/{model-selection-C8DSGWIZ.js → model-selection-Dan3BLAo.js} +13 -13
- package/dist/{model-selection-DKxD5K5m.js → model-selection-H-QqLyJS.js} +11 -11
- package/dist/{models-cli-Bh75MeMf.js → models-cli-BIP4Y8dD.js} +51 -51
- package/dist/{models-cli-BH40x3q-.js → models-cli-qUofxrFk.js} +33 -33
- package/dist/{net-Bmf8t8EC.js → net-sP4-ayNL.js} +82 -76
- package/dist/{node-cli-DOcP1l4K.js → node-cli-Cvl9VzWS.js} +35 -30
- package/dist/{node-cli-BcC0C6Ea.js → node-cli-DDe_hKJy.js} +28 -23
- package/dist/{node-service-CM_a91Iw.js → node-service-0VCYYXMx.js} +2 -2
- package/dist/{node-service-Csia5z0q.js → node-service-Cb_Ly3vx.js} +2 -2
- package/dist/{nodes-cli-COdDszBG.js → nodes-cli-BJsCI47e.js} +19 -19
- package/dist/{nodes-cli-N6oqUb2c.js → nodes-cli-ClHJsBAH.js} +10 -10
- package/dist/{nodes-screen-CE7lnfmY.js → nodes-screen--Fiu4qmi.js} +2 -2
- package/dist/{nodes-screen-CNqmbInv.js → nodes-screen-Dv_Gpr27.js} +2 -2
- package/dist/{note-98hAjjTc.js → note-CrCSjpk3.js} +2 -2
- package/dist/{onboard-channels-BQUBHpSI.js → onboard-channels-DG5cCyLI.js} +8 -8
- package/dist/{onboard-channels-DKHJbpdW.js → onboard-channels-DoyLfJPk.js} +10 -10
- package/dist/{onboard-skills-DWD8eVK9.js → onboard-skills-DP4eNOhj.js} +19 -19
- package/dist/{onboard-skills-DYeRMZPK.js → onboard-skills-mB-9LcbZ.js} +17 -17
- package/dist/{onboarding-CnIlXkVH.js → onboarding-BZE2bqvl.js} +50 -50
- package/dist/{pairing-cli-Cww0qX7n.js → pairing-cli-YpG-4HE1.js} +17 -17
- package/dist/{pairing-cli-sIWp0GND.js → pairing-cli-idAjz2pg.js} +8 -8
- package/dist/{pairing-labels-jqNz0TAK.js → pairing-labels-ByaUyk7_.js} +1 -1
- package/dist/{pairing-labels-kr-LZ7Iv.js → pairing-labels-PIuwtPoI.js} +1 -1
- package/dist/{pairing-store-3EKEJ-wO.js → pairing-store-BQk2-5gz.js} +2 -2
- package/dist/{pairing-store-Du4Eiofj.js → pairing-store-BuS29sYc.js} +1 -1
- package/dist/{path-env-C9kNtksu.js → path-env-B9XpVdel.js} +3 -3
- package/dist/{path-env-CW2YJL2d.js → path-env-CFR2r-B9.js} +4 -4
- package/dist/{paths-DIgugNlf.js → paths-BKn8dZXk.js} +13 -5
- package/dist/{paths-3i01DqyU.js → paths-BP5k1v-m.js} +14 -6
- package/dist/{paths-DqczE7b5.js → paths-BRP11_63.js} +1 -1
- package/dist/{paths-DNYJDWUD.js → paths-Dx_DFiIu.js} +2 -2
- package/dist/{pi-embedded-helpers-BLT8pUGL.js → pi-embedded-helpers-B0chJTph.js} +4 -4
- package/dist/{pi-embedded-helpers-C4fP-hKB.js → pi-embedded-helpers-BbhOWvkU.js} +3 -3
- package/dist/{pi-embedded-helpers-Cy5Wq8I4.js → pi-embedded-helpers-DsIdUyG-.js} +49 -48
- package/dist/{pi-tools.policy-BT3_X5hC.js → pi-tools.policy-ON9ionAS.js} +4 -4
- package/dist/{plugin-auto-enable-B4g3OAkw.js → plugin-auto-enable-BYh5mZH5.js} +6 -6
- package/dist/{plugin-auto-enable-7wp23K3j.js → plugin-auto-enable-Yf-xQDDW.js} +3 -3
- package/dist/plugin-sdk/index.js +139 -126
- package/dist/{plugins-BiBDkJLp.js → plugins-BH3edU40.js} +1 -1
- package/dist/{plugins-GKGgxE5t.js → plugins-DsFDopoj.js} +4 -4
- package/dist/{plugins-cli-BffnLCzl.js → plugins-cli-CqZY_K5E.js} +45 -45
- package/dist/{plugins-cli-BWfurw2x.js → plugins-cli-DdTPwJoS.js} +30 -30
- package/dist/{ports-m_U41gT_.js → ports-X0OBWLHa.js} +1 -1
- package/dist/{program-Cqp5_paZ.js → program-DwLiIvvz.js} +69 -69
- package/dist/{progress-DXkwieg_.js → progress-RqIRAMUO.js} +1 -1
- package/dist/{prompt-style-LrI4wrff.js → prompt-style-CnGSEFh0.js} +1 -1
- package/dist/{pw-ai-TVrenTcr.js → pw-ai-B8h8ig_2.js} +8 -8
- package/dist/{pw-ai-BNrEe8iK.js → pw-ai-CNRN3blT.js} +12 -12
- package/dist/{pw-ai-Ctem9aZt.js → pw-ai-DnYxHTIa.js} +10 -10
- package/dist/{qmd-manager-PlJXhRln.js → qmd-manager-D3PqjB9O.js} +5 -5
- package/dist/{qmd-manager-C-CtHm76.js → qmd-manager-WLlktdCA.js} +1 -1
- package/dist/{qmd-manager-BRInTFIN.js → qmd-manager-vCeFMuic.js} +7 -7
- package/dist/{register.subclis-Bhg4PVz0.js → register.subclis-BI5UBoZ0.js} +28 -28
- package/dist/{reply-CFOVYC1u.js → reply-CjAROg_c.js} +154 -173
- package/dist/{routes-Kek_zngV.js → routes-C8t8rAsZ.js} +8 -8
- package/dist/{routes-CbHFaMB6.js → routes-v5-W2rza.js} +10 -10
- package/dist/{rpc-jXESLLND.js → rpc-DVHEvTgR.js} +2 -2
- package/dist/{rpc-zPKcaOPs.js → rpc-I0LhOosY.js} +3 -3
- package/dist/{run-main-CQEABVvU.js → run-main-C9APoN1r.js} +64 -64
- package/dist/{sandbox-BAKrAQJm.js → sandbox-BQUIJbc5.js} +29 -29
- package/dist/{sandbox-lMMtH_oo.js → sandbox-HZ5_C6Hk.js} +24 -24
- package/dist/{sandbox-cli-i4BGjVdR.js → sandbox-cli-B2UdfSzz.js} +40 -40
- package/dist/{sandbox-cli-fwguXd8d.js → sandbox-cli-CYwLZY_W.js} +30 -30
- package/dist/{security-cli-Bpf-Qepk.js → security-cli-5q-h7uRl.js} +29 -29
- package/dist/{security-cli-DFASXoOB.js → security-cli-BaLrW9zj.js} +19 -19
- package/dist/{server-context-DthBWsuh.js → server-context-7-RDaPH3.js} +15 -15
- package/dist/{server-context-wiE0STjl.js → server-context-D-D-iAUp.js} +13 -13
- package/dist/{server-node-events-DhdM93Wd.js → server-node-events-Cwkqx5AA.js} +43 -43
- package/dist/{server-node-events-Cb7mYgJz.js → server-node-events-Dy1wj11P.js} +28 -28
- package/dist/{service-8UVcO43T.js → service-DCenfuWh.js} +2 -2
- package/dist/{service-F5BEDQpe.js → service-WG1x2OSQ.js} +3 -3
- package/dist/{service-audit-pBdB7wXF.js → service-audit-BTLXANqN.js} +12 -12
- package/dist/{service-audit-DG9j_qzZ.js → service-audit-DDd8ZNai.js} +12 -12
- package/dist/{session-cost-usage-XwMY4gn6.js → session-cost-usage-M2kWIdJ6.js} +1 -1
- package/dist/{shared-DT5rnBex.js → shared-BC2NSpGa.js} +4 -4
- package/dist/{shared-2obeQe6S.js → shared-BV5RRSRC.js} +5 -5
- package/dist/{shared-CLUouoWK.js → shared-DCX0Vtl1.js} +3 -3
- package/dist/{shared-DoNx6s9b.js → shared-DV8oIQ7h.js} +4 -4
- package/dist/{skills-5Vz1MpFY.js → skills-BSZTMk5H.js} +10 -10
- package/dist/{skills-BJmL9G5L.js → skills-BxO5Ecx5.js} +12 -12
- package/dist/{skills-cli-B19BI487.js → skills-cli-6Sqw_srL.js} +16 -16
- package/dist/{skills-cli-BjijbKgU.js → skills-cli-InqkEvxk.js} +8 -8
- package/dist/{skills-status-CDQDAXH-.js → skills-status-D1uoW4lu.js} +3 -3
- package/dist/{skills-status-yJBOK7p_.js → skills-status-H6bA88MV.js} +5 -5
- package/dist/{sqlite-C_5n8NZI.js → sqlite-CBI1pJqV.js} +1 -1
- package/dist/{sqlite-CtiUzPmK.js → sqlite-DRGmFCyY.js} +1 -1
- package/dist/{status-DMsHeaXC.js → status-BDVf9_XP.js} +5 -5
- package/dist/{status-g1VTst9X.js → status-CPGQDZtY.js} +4 -4
- package/dist/{status-CRk0n8qT.js → status-gCd5plro.js} +41 -41
- package/dist/{subsystem-Bn-Knx2Q.js → subsystem-B6KC_eUM.js} +5 -5
- package/dist/{system-cli-B29Ylmwl.js → system-cli-CNO33M0Y.js} +8 -8
- package/dist/{system-cli-Dmh-QQ4h.js → system-cli-gugKB8Ab.js} +16 -16
- package/dist/{systemd-BkP826rW.js → systemd-DmEeTiZ0.js} +2 -2
- package/dist/{systemd-D1yEPZpQ.js → systemd-DyrxDxSB.js} +4 -4
- package/dist/{systemd-hints-DMk8z28R.js → systemd-hints-C_XVx08a.js} +1 -1
- package/dist/{systemd-hints-Ds4nmNMK.js → systemd-hints-dXiOYbUi.js} +1 -1
- package/dist/{systemd-linger-CdeWod0G.js → systemd-linger-CEVIpVG8.js} +1 -1
- package/dist/{systemd-linger-uQ6a86xp.js → systemd-linger-CdE0rrgu.js} +2 -2
- package/dist/{table-C6xP5U7w.js → table-BOthYYmp.js} +2 -2
- package/dist/{tailscale-Dv6sZxfi.js → tailscale-C9oNI3cv.js} +2 -2
- package/dist/{tool-display-DOXnpL7M.js → tool-display-BhorItjT.js} +1 -1
- package/dist/{tui-Dw1bPxa4.js → tui-B8c_1tIW.js} +10 -10
- package/dist/{tui-8xMe1QpO.js → tui-CPap7MXS.js} +13 -13
- package/dist/{tui-cli-DIFHrgzU.js → tui-cli-Bh-WlhY-.js} +26 -26
- package/dist/{tui-cli-eQanSZCi.js → tui-cli-lcU4-YTO.js} +16 -16
- package/dist/{update-CB1s6436.js → update-Col1vYTu.js} +4 -4
- package/dist/{update-CqmTUudh.js → update-DqrpUeKm.js} +3 -3
- package/dist/{update-cli-sjcD4UAN.js → update-cli-3fHG7yxs.js} +95 -95
- package/dist/{update-cli-BJbTBdqV.js → update-cli-BqR67nRm.js} +77 -77
- package/dist/{update-runner-B_rU14d0.js → update-runner-CpLkRIIC.js} +17 -17
- package/dist/{update-runner-wmgE_HQ5.js → update-runner-ZXFy8Xy2.js} +19 -19
- package/dist/{utils-Dq030IDo.js → utils-CV3CeN0V.js} +2 -2
- package/dist/{webhooks-cli-Bq8HS5Nn.js → webhooks-cli-DhFHN9Av.js} +9 -9
- package/dist/{webhooks-cli-CYnUjeTW.js → webhooks-cli-khqNuVIX.js} +16 -16
- package/dist/{widearea-dns-vPa3VRwl.js → widearea-dns-Bxls47LT.js} +6 -6
- package/dist/{widearea-dns-bdiHwdn3.js → widearea-dns-Cr9yVcsB.js} +7 -7
- package/dist/{ws-log-CqjxtHs1.js → ws-log-DxXqar2k.js} +1 -1
- package/dist/{wsl-Dgpt12tO.js → wsl-D52TsyFE.js} +1 -1
- package/docs/.i18n/README.md +1 -1
- package/docs/.i18n/glossary.zh-CN.json +2 -2
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +26 -26
- package/docs/automation/cron-vs-heartbeat.md +7 -7
- package/docs/automation/gmail-pubsub.md +25 -25
- package/docs/automation/hooks.md +62 -62
- package/docs/automation/poll.md +7 -7
- package/docs/automation/troubleshooting.md +25 -25
- package/docs/automation/webhook.md +5 -5
- package/docs/brave-search.md +1 -1
- package/docs/channels/bluebubbles.md +12 -12
- package/docs/channels/broadcast-groups.md +6 -6
- package/docs/channels/channel-routing.md +5 -5
- package/docs/channels/discord.md +17 -17
- package/docs/channels/feishu.md +34 -34
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/group-messages.md +7 -7
- package/docs/channels/groups.md +5 -5
- package/docs/channels/imessage.md +16 -16
- package/docs/channels/index.md +4 -4
- package/docs/channels/line.md +6 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +20 -20
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +26 -26
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/pairing.md +10 -10
- package/docs/channels/signal.md +15 -15
- package/docs/channels/slack.md +22 -22
- package/docs/channels/telegram.md +24 -24
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +17 -17
- package/docs/channels/twitch.md +11 -11
- package/docs/channels/whatsapp.md +25 -25
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +12 -12
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +24 -24
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +6 -6
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -5
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +6 -6
- package/docs/cli/gateway.md +24 -24
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +35 -35
- package/docs/cli/index.md +43 -43
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +11 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +15 -15
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +9 -9
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +5 -5
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +7 -7
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +26 -26
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +1 -1
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/features.md +2 -2
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +29 -29
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +21 -21
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +31 -31
- package/docs/concepts/oauth.md +21 -21
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +16 -16
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +12 -12
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +6 -6
- package/docs/diagnostics/flags.md +5 -5
- package/docs/docs.json +8 -8
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +12 -12
- package/docs/gateway/authentication.md +22 -22
- package/docs/gateway/background-process.md +1 -1
- package/docs/gateway/bonjour.md +17 -17
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +12 -12
- package/docs/gateway/configuration-examples.md +24 -24
- package/docs/gateway/configuration.md +147 -147
- package/docs/gateway/discovery.md +5 -5
- package/docs/gateway/doctor.md +26 -26
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +53 -53
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +20 -20
- package/docs/gateway/network-model.md +2 -2
- package/docs/gateway/openai-http-api.md +10 -10
- package/docs/gateway/openresponses-http-api.md +10 -10
- package/docs/gateway/pairing.md +8 -8
- package/docs/gateway/protocol.md +3 -3
- package/docs/gateway/remote-gateway-readme.md +9 -9
- package/docs/gateway/remote.md +3 -3
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/gateway/sandboxing.md +6 -6
- package/docs/gateway/security/index.md +56 -56
- package/docs/gateway/tailscale.md +7 -7
- package/docs/gateway/tools-invoke-http-api.md +3 -3
- package/docs/gateway/troubleshooting.md +57 -57
- package/docs/help/debugging.md +14 -14
- package/docs/help/environment.md +4 -4
- package/docs/help/faq.md +344 -344
- package/docs/help/scripts.md +1 -1
- package/docs/help/testing.md +13 -13
- package/docs/help/troubleshooting.md +55 -55
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/index.md +21 -21
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +37 -37
- package/docs/install/exe-dev.md +18 -18
- package/docs/install/fly.md +21 -21
- package/docs/install/gcp.md +48 -48
- package/docs/install/hetzner.md +35 -35
- package/docs/install/index.md +26 -26
- package/docs/install/installer.md +68 -68
- package/docs/install/macos-vm.md +27 -27
- package/docs/install/migrating.md +28 -28
- package/docs/install/nix.md +17 -17
- package/docs/install/node.md +6 -6
- package/docs/install/uninstall.md +29 -29
- package/docs/install/updating.md +51 -51
- package/docs/logging.md +58 -58
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +58 -58
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/troubleshooting.md +19 -19
- package/docs/nodes/voicewake.md +3 -3
- package/docs/perplexity.md +2 -2
- package/docs/pi-dev.md +6 -6
- package/docs/pi.md +21 -21
- package/docs/platforms/android.md +11 -11
- package/docs/platforms/digitalocean.md +26 -26
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +12 -12
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +14 -14
- package/docs/platforms/mac/canvas.md +13 -13
- package/docs/platforms/mac/child-process.md +5 -5
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +2 -2
- package/docs/platforms/mac/release.md +16 -16
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos.md +16 -16
- package/docs/platforms/oracle.md +35 -35
- package/docs/platforms/raspberry-pi.md +22 -22
- package/docs/platforms/windows.md +11 -11
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +17 -17
- package/docs/providers/bedrock.md +10 -10
- package/docs/providers/claude-max-api-proxy.md +4 -4
- package/docs/providers/cloudflare-ai-gateway.md +5 -5
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +3 -3
- package/docs/providers/minimax.md +13 -13
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +2 -2
- package/docs/providers/ollama.md +12 -12
- package/docs/providers/openai.md +6 -6
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qianfan.md +5 -5
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +21 -21
- package/docs/providers/vercel-ai-gateway.md +4 -4
- package/docs/providers/xiaomi.md +5 -5
- package/docs/providers/zai.md +5 -5
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +17 -17
- package/docs/reference/RELEASING.md +29 -29
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/credits.md +1 -1
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/AGENTS.md +27 -87
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/HEARTBEAT.md +62 -8
- package/docs/reference/templates/IDENTITY.md +1 -1
- package/docs/reference/templates/SOUL.md +33 -10
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/token-use.md +7 -7
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/reference/wizard.md +25 -25
- package/docs/security/formal-verification.md +7 -7
- package/docs/start/{openclaw.md → SkyKoi.md} +30 -30
- package/docs/start/bootstrapping.md +3 -3
- package/docs/start/docs-directory.md +2 -2
- package/docs/start/getting-started.md +11 -11
- package/docs/start/hubs.md +4 -4
- package/docs/start/lore.md +21 -21
- package/docs/start/onboarding.md +3 -3
- package/docs/start/quickstart.md +1 -1
- package/docs/start/setup.md +23 -23
- package/docs/start/showcase.md +45 -45
- package/docs/start/wizard-cli-automation.md +15 -15
- package/docs/start/wizard-cli-reference.md +18 -18
- package/docs/start/wizard.md +11 -11
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +16 -16
- package/docs/tools/browser-login.md +6 -6
- package/docs/tools/browser.md +127 -127
- package/docs/tools/chrome-extension.md +17 -17
- package/docs/tools/clawhub.md +51 -51
- package/docs/tools/creating-skills.md +7 -7
- package/docs/tools/exec-approvals.md +5 -5
- package/docs/tools/exec.md +4 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +13 -13
- package/docs/tools/llm-task.md +2 -2
- package/docs/tools/lobster.md +13 -13
- package/docs/tools/multi-agent-sandbox-tools.md +15 -15
- package/docs/tools/plugin.md +64 -64
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +39 -39
- package/docs/tools/slash-commands.md +8 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/vps.md +1 -1
- package/docs/web/control-ui.md +11 -11
- package/docs/web/dashboard.md +3 -3
- package/docs/web/index.md +4 -4
- package/docs/web/tui.md +7 -7
- package/docs/zh-CN/AGENTS.md +1 -1
- package/docs/zh-CN/automation/auth-monitoring.md +6 -6
- package/docs/zh-CN/automation/cron-jobs.md +23 -23
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +7 -7
- package/docs/zh-CN/automation/gmail-pubsub.md +25 -25
- package/docs/zh-CN/automation/hooks.md +62 -62
- package/docs/zh-CN/automation/poll.md +7 -7
- package/docs/zh-CN/automation/webhook.md +5 -5
- package/docs/zh-CN/brave-search.md +1 -1
- package/docs/zh-CN/channels/bluebubbles.md +12 -12
- package/docs/zh-CN/channels/broadcast-groups.md +6 -6
- package/docs/zh-CN/channels/channel-routing.md +5 -5
- package/docs/zh-CN/channels/discord.md +16 -16
- package/docs/zh-CN/channels/feishu.md +32 -32
- package/docs/zh-CN/channels/googlechat.md +16 -16
- package/docs/zh-CN/channels/group-messages.md +7 -7
- package/docs/zh-CN/channels/groups.md +4 -4
- package/docs/zh-CN/channels/imessage.md +13 -13
- package/docs/zh-CN/channels/index.md +4 -4
- package/docs/zh-CN/channels/line.md +6 -6
- package/docs/zh-CN/channels/location.md +1 -1
- package/docs/zh-CN/channels/matrix.md +13 -13
- package/docs/zh-CN/channels/mattermost.md +8 -8
- package/docs/zh-CN/channels/msteams.md +26 -26
- package/docs/zh-CN/channels/nextcloud-talk.md +7 -7
- package/docs/zh-CN/channels/nostr.md +9 -9
- package/docs/zh-CN/channels/pairing.md +10 -10
- package/docs/zh-CN/channels/signal.md +9 -9
- package/docs/zh-CN/channels/slack.md +16 -16
- package/docs/zh-CN/channels/telegram.md +24 -24
- package/docs/zh-CN/channels/tlon.md +5 -5
- package/docs/zh-CN/channels/troubleshooting.md +2 -2
- package/docs/zh-CN/channels/twitch.md +11 -11
- package/docs/zh-CN/channels/whatsapp.md +25 -25
- package/docs/zh-CN/channels/zalo.md +8 -8
- package/docs/zh-CN/channels/zalouser.md +12 -12
- package/docs/zh-CN/cli/acp.md +24 -24
- package/docs/zh-CN/cli/agent.md +6 -6
- package/docs/zh-CN/cli/agents.md +12 -12
- package/docs/zh-CN/cli/approvals.md +14 -14
- package/docs/zh-CN/cli/browser.md +24 -24
- package/docs/zh-CN/cli/channels.md +21 -21
- package/docs/zh-CN/cli/config.md +15 -15
- package/docs/zh-CN/cli/configure.md +5 -5
- package/docs/zh-CN/cli/cron.md +5 -5
- package/docs/zh-CN/cli/dashboard.md +4 -4
- package/docs/zh-CN/cli/devices.md +13 -13
- package/docs/zh-CN/cli/directory.md +12 -12
- package/docs/zh-CN/cli/dns.md +5 -5
- package/docs/zh-CN/cli/docs.md +5 -5
- package/docs/zh-CN/cli/doctor.md +6 -6
- package/docs/zh-CN/cli/gateway.md +24 -24
- package/docs/zh-CN/cli/health.md +5 -5
- package/docs/zh-CN/cli/hooks.md +35 -35
- package/docs/zh-CN/cli/index.md +43 -43
- package/docs/zh-CN/cli/logs.md +6 -6
- package/docs/zh-CN/cli/memory.md +11 -11
- package/docs/zh-CN/cli/message.md +11 -11
- package/docs/zh-CN/cli/models.md +15 -15
- package/docs/zh-CN/cli/node.md +14 -14
- package/docs/zh-CN/cli/nodes.md +14 -14
- package/docs/zh-CN/cli/onboard.md +7 -7
- package/docs/zh-CN/cli/pairing.md +4 -4
- package/docs/zh-CN/cli/plugins.md +16 -16
- package/docs/zh-CN/cli/reset.md +5 -5
- package/docs/zh-CN/cli/sandbox.md +28 -28
- package/docs/zh-CN/cli/security.md +5 -5
- package/docs/zh-CN/cli/sessions.md +5 -5
- package/docs/zh-CN/cli/setup.md +6 -6
- package/docs/zh-CN/cli/skills.md +7 -7
- package/docs/zh-CN/cli/status.md +7 -7
- package/docs/zh-CN/cli/system.md +6 -6
- package/docs/zh-CN/cli/tui.md +5 -5
- package/docs/zh-CN/cli/uninstall.md +5 -5
- package/docs/zh-CN/cli/update.md +20 -20
- package/docs/zh-CN/cli/voicecall.md +9 -9
- package/docs/zh-CN/cli/webhooks.md +5 -5
- package/docs/zh-CN/concepts/agent-loop.md +5 -5
- package/docs/zh-CN/concepts/agent-workspace.md +26 -26
- package/docs/zh-CN/concepts/agent.md +12 -12
- package/docs/zh-CN/concepts/architecture.md +1 -1
- package/docs/zh-CN/concepts/compaction.md +5 -5
- package/docs/zh-CN/concepts/context.md +6 -6
- package/docs/zh-CN/concepts/features.md +2 -2
- package/docs/zh-CN/concepts/markdown-formatting.md +3 -3
- package/docs/zh-CN/concepts/memory.md +15 -15
- package/docs/zh-CN/concepts/messages.md +4 -4
- package/docs/zh-CN/concepts/model-failover.md +13 -13
- package/docs/zh-CN/concepts/model-providers.md +21 -21
- package/docs/zh-CN/concepts/models.md +27 -27
- package/docs/zh-CN/concepts/multi-agent.md +31 -31
- package/docs/zh-CN/concepts/oauth.md +21 -21
- package/docs/zh-CN/concepts/presence.md +2 -2
- package/docs/zh-CN/concepts/retry.md +1 -1
- package/docs/zh-CN/concepts/session-pruning.md +1 -1
- package/docs/zh-CN/concepts/session-tool.md +4 -4
- package/docs/zh-CN/concepts/session.md +14 -14
- package/docs/zh-CN/concepts/streaming.md +3 -3
- package/docs/zh-CN/concepts/system-prompt.md +9 -9
- package/docs/zh-CN/concepts/timezone.md +2 -2
- package/docs/zh-CN/concepts/typebox.md +3 -3
- package/docs/zh-CN/concepts/typing-indicators.md +2 -2
- package/docs/zh-CN/concepts/usage-tracking.md +3 -3
- package/docs/zh-CN/date-time.md +2 -2
- package/docs/zh-CN/debug/node-issue.md +6 -6
- package/docs/zh-CN/diagnostics/flags.md +5 -5
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/zh-CN/experiments/research/memory.md +12 -12
- package/docs/zh-CN/gateway/authentication.md +22 -22
- package/docs/zh-CN/gateway/background-process.md +1 -1
- package/docs/zh-CN/gateway/bonjour.md +17 -17
- package/docs/zh-CN/gateway/bridge-protocol.md +2 -2
- package/docs/zh-CN/gateway/cli-backends.md +11 -11
- package/docs/zh-CN/gateway/configuration-examples.md +24 -24
- package/docs/zh-CN/gateway/configuration.md +143 -143
- package/docs/zh-CN/gateway/discovery.md +5 -5
- package/docs/zh-CN/gateway/doctor.md +26 -26
- package/docs/zh-CN/gateway/gateway-lock.md +1 -1
- package/docs/zh-CN/gateway/health.md +11 -11
- package/docs/zh-CN/gateway/heartbeat.md +5 -5
- package/docs/zh-CN/gateway/index.md +53 -53
- package/docs/zh-CN/gateway/local-models.md +2 -2
- package/docs/zh-CN/gateway/logging.md +8 -8
- package/docs/zh-CN/gateway/multiple-gateways.md +20 -20
- package/docs/zh-CN/gateway/network-model.md +2 -2
- package/docs/zh-CN/gateway/openai-http-api.md +10 -10
- package/docs/zh-CN/gateway/openresponses-http-api.md +10 -10
- package/docs/zh-CN/gateway/pairing.md +8 -8
- package/docs/zh-CN/gateway/protocol.md +3 -3
- package/docs/zh-CN/gateway/remote-gateway-readme.md +9 -9
- package/docs/zh-CN/gateway/remote.md +3 -3
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/zh-CN/gateway/sandboxing.md +6 -6
- package/docs/zh-CN/gateway/security/index.md +54 -54
- package/docs/zh-CN/gateway/tailscale.md +7 -7
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +3 -3
- package/docs/zh-CN/gateway/troubleshooting.md +112 -112
- package/docs/zh-CN/help/debugging.md +14 -14
- package/docs/zh-CN/help/environment.md +4 -4
- package/docs/zh-CN/help/faq.md +341 -341
- package/docs/zh-CN/help/scripts.md +1 -1
- package/docs/zh-CN/help/testing.md +13 -13
- package/docs/zh-CN/help/troubleshooting.md +16 -16
- package/docs/zh-CN/hooks/soul-evil.md +2 -2
- package/docs/zh-CN/index.md +20 -20
- package/docs/zh-CN/install/ansible.md +35 -35
- package/docs/zh-CN/install/development-channels.md +10 -10
- package/docs/zh-CN/install/docker.md +36 -36
- package/docs/zh-CN/install/exe-dev.md +16 -16
- package/docs/zh-CN/install/fly.md +21 -21
- package/docs/zh-CN/install/gcp.md +48 -48
- package/docs/zh-CN/install/hetzner.md +35 -35
- package/docs/zh-CN/install/index.md +35 -35
- package/docs/zh-CN/install/installer.md +24 -24
- package/docs/zh-CN/install/macos-vm.md +27 -27
- package/docs/zh-CN/install/migrating.md +28 -28
- package/docs/zh-CN/install/nix.md +17 -17
- package/docs/zh-CN/install/node.md +1 -1
- package/docs/zh-CN/install/uninstall.md +29 -29
- package/docs/zh-CN/install/updating.md +51 -51
- package/docs/zh-CN/logging.md +43 -43
- package/docs/zh-CN/network.md +1 -1
- package/docs/zh-CN/nodes/audio.md +2 -2
- package/docs/zh-CN/nodes/camera.md +18 -18
- package/docs/zh-CN/nodes/images.md +4 -4
- package/docs/zh-CN/nodes/index.md +58 -58
- package/docs/zh-CN/nodes/location-command.md +2 -2
- package/docs/zh-CN/nodes/media-understanding.md +5 -5
- package/docs/zh-CN/nodes/talk.md +1 -1
- package/docs/zh-CN/nodes/voicewake.md +3 -3
- package/docs/zh-CN/perplexity.md +2 -2
- package/docs/zh-CN/pi-dev.md +6 -6
- package/docs/zh-CN/pi.md +21 -21
- package/docs/zh-CN/platforms/android.md +11 -11
- package/docs/zh-CN/platforms/digitalocean.md +26 -26
- package/docs/zh-CN/platforms/index.md +8 -8
- package/docs/zh-CN/platforms/ios.md +12 -12
- package/docs/zh-CN/platforms/linux.md +11 -11
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +13 -13
- package/docs/zh-CN/platforms/mac/canvas.md +13 -13
- package/docs/zh-CN/platforms/mac/child-process.md +5 -5
- package/docs/zh-CN/platforms/mac/dev-setup.md +10 -10
- package/docs/zh-CN/platforms/mac/health.md +2 -2
- package/docs/zh-CN/platforms/mac/icon.md +1 -1
- package/docs/zh-CN/platforms/mac/logging.md +4 -4
- package/docs/zh-CN/platforms/mac/menu-bar.md +1 -1
- package/docs/zh-CN/platforms/mac/peekaboo.md +9 -9
- package/docs/zh-CN/platforms/mac/permissions.md +1 -1
- package/docs/zh-CN/platforms/mac/release.md +16 -16
- package/docs/zh-CN/platforms/mac/remote.md +14 -14
- package/docs/zh-CN/platforms/mac/signing.md +7 -7
- package/docs/zh-CN/platforms/mac/skills.md +4 -4
- package/docs/zh-CN/platforms/mac/webchat.md +1 -1
- package/docs/zh-CN/platforms/mac/xpc.md +4 -4
- package/docs/zh-CN/platforms/macos.md +16 -16
- package/docs/zh-CN/platforms/oracle.md +35 -35
- package/docs/zh-CN/platforms/raspberry-pi.md +22 -22
- package/docs/zh-CN/platforms/windows.md +11 -11
- package/docs/zh-CN/plugins/agent-tools.md +1 -1
- package/docs/zh-CN/plugins/manifest.md +3 -3
- package/docs/zh-CN/plugins/voice-call.md +12 -12
- package/docs/zh-CN/plugins/zalouser.md +9 -9
- package/docs/zh-CN/prose.md +9 -9
- package/docs/zh-CN/providers/anthropic.md +17 -17
- package/docs/zh-CN/providers/bedrock.md +9 -9
- package/docs/zh-CN/providers/claude-max-api-proxy.md +4 -4
- package/docs/zh-CN/providers/deepgram.md +2 -2
- package/docs/zh-CN/providers/github-copilot.md +11 -11
- package/docs/zh-CN/providers/glm.md +4 -4
- package/docs/zh-CN/providers/index.md +3 -3
- package/docs/zh-CN/providers/minimax.md +13 -13
- package/docs/zh-CN/providers/models.md +3 -3
- package/docs/zh-CN/providers/moonshot.md +2 -2
- package/docs/zh-CN/providers/ollama.md +11 -11
- package/docs/zh-CN/providers/openai.md +6 -6
- package/docs/zh-CN/providers/opencode.md +3 -3
- package/docs/zh-CN/providers/openrouter.md +3 -3
- package/docs/zh-CN/providers/qianfan.md +1 -1
- package/docs/zh-CN/providers/qwen.md +6 -6
- package/docs/zh-CN/providers/synthetic.md +4 -4
- package/docs/zh-CN/providers/venice.md +21 -21
- package/docs/zh-CN/providers/vercel-ai-gateway.md +4 -4
- package/docs/zh-CN/providers/xiaomi.md +5 -5
- package/docs/zh-CN/providers/zai.md +5 -5
- package/docs/zh-CN/refactor/exec-host.md +5 -5
- package/docs/zh-CN/refactor/plugin-sdk.md +12 -12
- package/docs/zh-CN/refactor/strict-config.md +11 -11
- package/docs/zh-CN/reference/AGENTS.default.md +17 -17
- package/docs/zh-CN/reference/RELEASING.md +28 -28
- package/docs/zh-CN/reference/api-usage-costs.md +6 -6
- package/docs/zh-CN/reference/credits.md +1 -1
- package/docs/zh-CN/reference/device-models.md +7 -7
- package/docs/zh-CN/reference/rpc.md +3 -3
- package/docs/zh-CN/reference/session-management-compaction.md +19 -19
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +1 -1
- package/docs/zh-CN/reference/templates/BOOT.md +1 -1
- package/docs/zh-CN/reference/templates/IDENTITY.md +1 -1
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +1 -1
- package/docs/zh-CN/reference/templates/USER.dev.md +2 -2
- package/docs/zh-CN/reference/test.md +2 -2
- package/docs/zh-CN/reference/token-use.md +7 -7
- package/docs/zh-CN/reference/transcript-hygiene.md +1 -1
- package/docs/zh-CN/security/formal-verification.md +7 -7
- package/docs/zh-CN/start/{openclaw.md → SkyKoi.md} +35 -35
- package/docs/zh-CN/start/docs-directory.md +2 -2
- package/docs/zh-CN/start/getting-started.md +29 -29
- package/docs/zh-CN/start/hubs.md +3 -3
- package/docs/zh-CN/start/lore.md +21 -21
- package/docs/zh-CN/start/onboarding.md +7 -7
- package/docs/zh-CN/start/quickstart.md +17 -17
- package/docs/zh-CN/start/setup.md +22 -22
- package/docs/zh-CN/start/showcase.md +45 -45
- package/docs/zh-CN/start/wizard.md +30 -30
- package/docs/zh-CN/tools/agent-send.md +10 -10
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +16 -16
- package/docs/zh-CN/tools/browser-login.md +6 -6
- package/docs/zh-CN/tools/browser.md +127 -127
- package/docs/zh-CN/tools/chrome-extension.md +17 -17
- package/docs/zh-CN/tools/clawhub.md +44 -44
- package/docs/zh-CN/tools/creating-skills.md +7 -7
- package/docs/zh-CN/tools/exec-approvals.md +5 -5
- package/docs/zh-CN/tools/exec.md +4 -4
- package/docs/zh-CN/tools/firecrawl.md +2 -2
- package/docs/zh-CN/tools/index.md +13 -13
- package/docs/zh-CN/tools/llm-task.md +2 -2
- package/docs/zh-CN/tools/lobster.md +13 -13
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +15 -15
- package/docs/zh-CN/tools/plugin.md +63 -63
- package/docs/zh-CN/tools/skills-config.md +2 -2
- package/docs/zh-CN/tools/skills.md +34 -34
- package/docs/zh-CN/tools/slash-commands.md +8 -8
- package/docs/zh-CN/tools/web.md +6 -6
- package/docs/zh-CN/tts.md +10 -10
- package/docs/zh-CN/vps.md +1 -1
- package/docs/zh-CN/web/control-ui.md +11 -11
- package/docs/zh-CN/web/dashboard.md +4 -4
- package/docs/zh-CN/web/index.md +4 -4
- package/docs/zh-CN/web/tui.md +7 -7
- package/extensions/bluebubbles/README.md +2 -2
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +1 -1
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +4 -4
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +50 -50
- package/extensions/bluebubbles/src/monitor.ts +6 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.ts +3 -3
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.CMD +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.ps1 +2 -2
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/feishu/index.ts +3 -3
- package/extensions/feishu/package.json +5 -5
- package/extensions/feishu/src/accounts.ts +9 -9
- package/extensions/feishu/src/bitable.ts +2 -2
- package/extensions/feishu/src/bot.ts +4 -4
- package/extensions/feishu/src/channel.ts +3 -3
- package/extensions/feishu/src/directory.ts +5 -5
- package/extensions/feishu/src/docx.ts +2 -2
- package/extensions/feishu/src/drive.ts +2 -2
- package/extensions/feishu/src/media.ts +8 -8
- package/extensions/feishu/src/monitor.ts +3 -3
- package/extensions/feishu/src/onboarding.ts +10 -10
- package/extensions/feishu/src/outbound.ts +1 -1
- package/extensions/feishu/src/perm.ts +2 -2
- package/extensions/feishu/src/policy.ts +1 -1
- package/extensions/feishu/src/reactions.ts +4 -4
- package/extensions/feishu/src/reply-dispatcher.ts +3 -3
- package/extensions/feishu/src/runtime.ts +1 -1
- package/extensions/feishu/src/send.ts +7 -7
- package/extensions/feishu/src/typing.ts +3 -3
- package/extensions/feishu/src/wiki.ts +2 -2
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +2 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +3 -3
- package/extensions/google-gemini-cli-auth/index.ts +1 -1
- package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/package.json +6 -6
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +5 -5
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +5 -5
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +1 -1
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +3 -3
- package/extensions/line/package.json +5 -5
- package/extensions/line/src/card-command.ts +3 -3
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +5 -5
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +6 -6
- package/extensions/lobster/README.md +7 -7
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +7 -7
- package/extensions/lobster/src/lobster-tool.ts +2 -2
- package/extensions/matrix/CHANGELOG.md +17 -17
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +2 -2
- package/extensions/matrix/package.json +5 -5
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +1 -1
- package/extensions/matrix/src/matrix/deps.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/send.test.ts +1 -1
- package/extensions/matrix/src/matrix/send.ts +1 -1
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.test.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.test.ts +3 -3
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
- package/extensions/mattermost/src/onboarding.ts +4 -4
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/package.json +5 -5
- package/extensions/memory-lancedb/config.ts +2 -2
- package/extensions/memory-lancedb/index.test.ts +2 -2
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.ps1 +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/memory-lancedb/skykoi.plugin.json +1 -1
- package/extensions/minimax-portal-auth/README.md +4 -4
- package/extensions/minimax-portal-auth/index.ts +1 -1
- package/extensions/minimax-portal-auth/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +15 -15
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +3 -3
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +2 -2
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +4 -4
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +3 -3
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +3 -3
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +1 -1
- package/extensions/nextcloud-talk/src/channel.ts +6 -6
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +9 -9
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -12
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +3 -3
- package/extensions/nostr/node_modules/.bin/tsc +2 -2
- package/extensions/nostr/node_modules/.bin/tsc.CMD +2 -2
- package/extensions/nostr/node_modules/.bin/tsc.ps1 +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver.CMD +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver.ps1 +2 -2
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +3 -3
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +9 -9
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/twitch/CHANGELOG.md +9 -9
- package/extensions/twitch/README.md +8 -8
- package/extensions/twitch/index.ts +3 -3
- package/extensions/twitch/package.json +4 -4
- package/extensions/twitch/src/actions.ts +1 -1
- package/extensions/twitch/src/config-schema.ts +1 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +4 -4
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +8 -8
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/outbound.ts +2 -2
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +9 -9
- package/extensions/twitch/src/runtime.ts +1 -1
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +5 -5
- package/extensions/twitch/src/token.test.ts +8 -8
- package/extensions/twitch/src/token.ts +3 -3
- package/extensions/twitch/src/twitch-client.ts +3 -3
- package/extensions/twitch/src/types.ts +3 -3
- package/extensions/twitch/src/utils/markdown.ts +1 -1
- package/extensions/voice-call/CHANGELOG.md +19 -19
- package/extensions/voice-call/README.md +16 -16
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +2 -2
- package/extensions/voice-call/src/core-bridge.ts +3 -3
- package/extensions/voice-call/src/manager.test.ts +6 -6
- package/extensions/voice-call/src/manager.ts +1 -1
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +17 -17
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +4 -4
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +5 -5
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +10 -10
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +19 -19
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -12
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.ts +6 -6
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +23 -23
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/package.json +10 -11
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +3 -3
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +6 -6
- package/skills/clawhub/SKILL.md +23 -23
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/healthcheck/SKILL.md +36 -36
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +3 -3
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +7 -7
- package/skills/sherpa-onnx-tts/SKILL.md +10 -10
- package/skills/slack/SKILL.md +4 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +6 -6
- package/skills/tmux/scripts/find-sessions.sh +2 -2
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/skykoi.mjs +1 -1
- package/dist/cli-Dw2CbEat.js +0 -89
- package/extensions/bluebubbles/node_modules/.bin/skykoi +0 -21
- package/extensions/bluebubbles/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/bluebubbles/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/copilot-proxy/node_modules/.bin/skykoi +0 -21
- package/extensions/copilot-proxy/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/copilot-proxy/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/diagnostics-otel/node_modules/.bin/skykoi +0 -21
- package/extensions/diagnostics-otel/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/diagnostics-otel/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/discord/node_modules/.bin/skykoi +0 -21
- package/extensions/discord/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/discord/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/feishu/node_modules/.bin/skykoi +0 -21
- package/extensions/feishu/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/feishu/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/google-antigravity-auth/node_modules/.bin/skykoi +0 -21
- package/extensions/google-antigravity-auth/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/google-antigravity-auth/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/google-gemini-cli-auth/node_modules/.bin/skykoi +0 -21
- package/extensions/google-gemini-cli-auth/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/google-gemini-cli-auth/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/googlechat/node_modules/.bin/skykoi +0 -21
- package/extensions/googlechat/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/googlechat/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/imessage/node_modules/.bin/skykoi +0 -21
- package/extensions/imessage/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/imessage/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/line/node_modules/.bin/skykoi +0 -21
- package/extensions/line/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/line/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/llm-task/node_modules/.bin/skykoi +0 -21
- package/extensions/llm-task/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/llm-task/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/lobster/node_modules/.bin/skykoi +0 -21
- package/extensions/lobster/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/lobster/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/matrix/node_modules/.bin/skykoi +0 -21
- package/extensions/matrix/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/matrix/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/mattermost/node_modules/.bin/skykoi +0 -21
- package/extensions/mattermost/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/mattermost/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/memory-core/node_modules/.bin/skykoi +0 -21
- package/extensions/memory-core/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/memory-core/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/memory-lancedb/node_modules/.bin/skykoi +0 -21
- package/extensions/memory-lancedb/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/memory-lancedb/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/minimax-portal-auth/node_modules/.bin/skykoi +0 -21
- package/extensions/minimax-portal-auth/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/minimax-portal-auth/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/msteams/node_modules/.bin/skykoi +0 -21
- package/extensions/msteams/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/msteams/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/nextcloud-talk/node_modules/.bin/skykoi +0 -21
- package/extensions/nextcloud-talk/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/nextcloud-talk/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/skykoi +0 -21
- package/extensions/nostr/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/open-prose/node_modules/.bin/skykoi +0 -21
- package/extensions/open-prose/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/open-prose/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/signal/node_modules/.bin/skykoi +0 -21
- package/extensions/signal/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/signal/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/slack/node_modules/.bin/skykoi +0 -21
- package/extensions/slack/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/slack/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/telegram/node_modules/.bin/skykoi +0 -21
- package/extensions/telegram/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/telegram/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/tlon/node_modules/.bin/skykoi +0 -21
- package/extensions/tlon/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/tlon/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/twitch/node_modules/.bin/skykoi +0 -21
- package/extensions/twitch/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/twitch/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/voice-call/node_modules/.bin/skykoi +0 -21
- package/extensions/voice-call/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/voice-call/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/whatsapp/node_modules/.bin/skykoi +0 -21
- package/extensions/whatsapp/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/whatsapp/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/zalo/node_modules/.bin/skykoi +0 -21
- package/extensions/zalo/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/zalo/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/zalouser/node_modules/.bin/skykoi +0 -21
- package/extensions/zalouser/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/zalouser/node_modules/.bin/skykoi.ps1 +0 -41
- /package/docs/assets/{openclaw-logo-text-dark.png → SkyKoi-logo-text-dark.png} +0 -0
- /package/docs/assets/{openclaw-logo-text.png → SkyKoi-logo-text.png} +0 -0
- /package/docs/{whatsapp-openclaw-ai-zh.jpg → whatsapp-SkyKoi-ai-zh.jpg} +0 -0
- /package/docs/{whatsapp-openclaw.jpg → whatsapp-SkyKoi.jpg} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@SKYKOI/feishu",
|
|
3
3
|
"version": "2026.2.6-3",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "SKYKOI Feishu/Lark channel plugin (community maintained by @m1heng)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@larksuiteoapi/node-sdk": "^1.58.0",
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"zod": "^4.3.6"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"
|
|
12
|
+
"SKYKOI": "workspace:*"
|
|
13
13
|
},
|
|
14
|
-
"
|
|
14
|
+
"SKYKOI": {
|
|
15
15
|
"extensions": [
|
|
16
16
|
"./index.ts"
|
|
17
17
|
],
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"quickstartAllowFrom": true
|
|
30
30
|
},
|
|
31
31
|
"install": {
|
|
32
|
-
"npmSpec": "@
|
|
32
|
+
"npmSpec": "@SKYKOI/feishu",
|
|
33
33
|
"localPath": "extensions/feishu",
|
|
34
34
|
"defaultChoice": "npm"
|
|
35
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "
|
|
1
|
+
import type { SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
|
+
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "SKYKOI/plugin-sdk";
|
|
3
3
|
import type {
|
|
4
4
|
FeishuConfig,
|
|
5
5
|
FeishuAccountConfig,
|
|
@@ -10,7 +10,7 @@ import type {
|
|
|
10
10
|
/**
|
|
11
11
|
* List all configured account IDs from the accounts field.
|
|
12
12
|
*/
|
|
13
|
-
function listConfiguredAccountIds(cfg:
|
|
13
|
+
function listConfiguredAccountIds(cfg: SKYKOIConfig): string[] {
|
|
14
14
|
const accounts = (cfg.channels?.feishu as FeishuConfig)?.accounts;
|
|
15
15
|
if (!accounts || typeof accounts !== "object") {
|
|
16
16
|
return [];
|
|
@@ -22,7 +22,7 @@ function listConfiguredAccountIds(cfg: SkyKoiConfig): string[] {
|
|
|
22
22
|
* List all Feishu account IDs.
|
|
23
23
|
* If no accounts are configured, returns [DEFAULT_ACCOUNT_ID] for backward compatibility.
|
|
24
24
|
*/
|
|
25
|
-
export function listFeishuAccountIds(cfg:
|
|
25
|
+
export function listFeishuAccountIds(cfg: SKYKOIConfig): string[] {
|
|
26
26
|
const ids = listConfiguredAccountIds(cfg);
|
|
27
27
|
if (ids.length === 0) {
|
|
28
28
|
// Backward compatibility: no accounts configured, use default
|
|
@@ -34,7 +34,7 @@ export function listFeishuAccountIds(cfg: SkyKoiConfig): string[] {
|
|
|
34
34
|
/**
|
|
35
35
|
* Resolve the default account ID.
|
|
36
36
|
*/
|
|
37
|
-
export function resolveDefaultFeishuAccountId(cfg:
|
|
37
|
+
export function resolveDefaultFeishuAccountId(cfg: SKYKOIConfig): string {
|
|
38
38
|
const ids = listFeishuAccountIds(cfg);
|
|
39
39
|
if (ids.includes(DEFAULT_ACCOUNT_ID)) {
|
|
40
40
|
return DEFAULT_ACCOUNT_ID;
|
|
@@ -46,7 +46,7 @@ export function resolveDefaultFeishuAccountId(cfg: SkyKoiConfig): string {
|
|
|
46
46
|
* Get the raw account-specific config.
|
|
47
47
|
*/
|
|
48
48
|
function resolveAccountConfig(
|
|
49
|
-
cfg:
|
|
49
|
+
cfg: SKYKOIConfig,
|
|
50
50
|
accountId: string,
|
|
51
51
|
): FeishuAccountConfig | undefined {
|
|
52
52
|
const accounts = (cfg.channels?.feishu as FeishuConfig)?.accounts;
|
|
@@ -60,7 +60,7 @@ function resolveAccountConfig(
|
|
|
60
60
|
* Merge top-level config with account-specific config.
|
|
61
61
|
* Account-specific fields override top-level fields.
|
|
62
62
|
*/
|
|
63
|
-
function mergeFeishuAccountConfig(cfg:
|
|
63
|
+
function mergeFeishuAccountConfig(cfg: SKYKOIConfig, accountId: string): FeishuConfig {
|
|
64
64
|
const feishuCfg = cfg.channels?.feishu as FeishuConfig | undefined;
|
|
65
65
|
|
|
66
66
|
// Extract base config (exclude accounts field to avoid recursion)
|
|
@@ -101,7 +101,7 @@ export function resolveFeishuCredentials(cfg?: FeishuConfig): {
|
|
|
101
101
|
* Resolve a complete Feishu account with merged config.
|
|
102
102
|
*/
|
|
103
103
|
export function resolveFeishuAccount(params: {
|
|
104
|
-
cfg:
|
|
104
|
+
cfg: SKYKOIConfig;
|
|
105
105
|
accountId?: string | null;
|
|
106
106
|
}): ResolvedFeishuAccount {
|
|
107
107
|
const accountId = normalizeAccountId(params.accountId);
|
|
@@ -137,7 +137,7 @@ export function resolveFeishuAccount(params: {
|
|
|
137
137
|
/**
|
|
138
138
|
* List all enabled and configured accounts.
|
|
139
139
|
*/
|
|
140
|
-
export function listEnabledFeishuAccounts(cfg:
|
|
140
|
+
export function listEnabledFeishuAccounts(cfg: SKYKOIConfig): ResolvedFeishuAccount[] {
|
|
141
141
|
return listFeishuAccountIds(cfg)
|
|
142
142
|
.map((accountId) => resolveFeishuAccount({ cfg, accountId }))
|
|
143
143
|
.filter((account) => account.enabled && account.configured);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIPluginApi } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import { Type } from "@sinclair/typebox";
|
|
3
3
|
import type { FeishuConfig } from "./types.js";
|
|
4
4
|
import { createFeishuClient } from "./client.js";
|
|
@@ -307,7 +307,7 @@ const UpdateRecordSchema = Type.Object({
|
|
|
307
307
|
|
|
308
308
|
// ============ Tool Registration ============
|
|
309
309
|
|
|
310
|
-
export function registerFeishuBitableTools(api:
|
|
310
|
+
export function registerFeishuBitableTools(api: SKYKOIPluginApi) {
|
|
311
311
|
const feishuCfg = api.config?.channels?.feishu as FeishuConfig | undefined;
|
|
312
312
|
if (!feishuCfg?.appId || !feishuCfg?.appSecret) {
|
|
313
313
|
api.logger.debug?.("feishu_bitable: Feishu credentials not configured, skipping bitable tools");
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig, RuntimeEnv } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import {
|
|
3
3
|
buildPendingHistoryContextFromMap,
|
|
4
4
|
recordPendingHistoryEntryIfEnabled,
|
|
5
5
|
clearHistoryEntriesIfEnabled,
|
|
6
6
|
DEFAULT_GROUP_HISTORY_LIMIT,
|
|
7
7
|
type HistoryEntry,
|
|
8
|
-
} from "
|
|
8
|
+
} from "SKYKOI/plugin-sdk";
|
|
9
9
|
import type { FeishuMessageContext, FeishuMediaInfo, ResolvedFeishuAccount } from "./types.js";
|
|
10
10
|
import { resolveFeishuAccount } from "./accounts.js";
|
|
11
11
|
import { createFeishuClient } from "./client.js";
|
|
@@ -322,7 +322,7 @@ function inferPlaceholder(messageType: string): string {
|
|
|
322
322
|
* Similar to Discord's resolveMediaList().
|
|
323
323
|
*/
|
|
324
324
|
async function resolveFeishuMediaList(params: {
|
|
325
|
-
cfg:
|
|
325
|
+
cfg: SKYKOIConfig;
|
|
326
326
|
messageId: string;
|
|
327
327
|
messageType: string;
|
|
328
328
|
content: string;
|
|
@@ -507,7 +507,7 @@ export function parseFeishuMessageEvent(
|
|
|
507
507
|
}
|
|
508
508
|
|
|
509
509
|
export async function handleFeishuMessage(params: {
|
|
510
|
-
cfg:
|
|
510
|
+
cfg: SKYKOIConfig;
|
|
511
511
|
event: FeishuMessageEvent;
|
|
512
512
|
botOpenId?: string;
|
|
513
513
|
runtime?: RuntimeEnv;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ChannelPlugin,
|
|
2
|
-
import { DEFAULT_ACCOUNT_ID, PAIRING_APPROVED_MESSAGE } from "
|
|
1
|
+
import type { ChannelPlugin, SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
|
+
import { DEFAULT_ACCOUNT_ID, PAIRING_APPROVED_MESSAGE } from "SKYKOI/plugin-sdk";
|
|
3
3
|
import type { ResolvedFeishuAccount, FeishuConfig } from "./types.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveFeishuAccount,
|
|
@@ -164,7 +164,7 @@ export const feishuPlugin: ChannelPlugin<ResolvedFeishuAccount> = {
|
|
|
164
164
|
|
|
165
165
|
if (isDefault) {
|
|
166
166
|
// Delete entire feishu config
|
|
167
|
-
const next = { ...cfg } as
|
|
167
|
+
const next = { ...cfg } as SKYKOIConfig;
|
|
168
168
|
const nextChannels = { ...cfg.channels };
|
|
169
169
|
delete (nextChannels as Record<string, unknown>).feishu;
|
|
170
170
|
if (Object.keys(nextChannels).length > 0) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import { resolveFeishuAccount } from "./accounts.js";
|
|
3
3
|
import { createFeishuClient } from "./client.js";
|
|
4
4
|
import { normalizeFeishuTarget } from "./targets.js";
|
|
@@ -16,7 +16,7 @@ export type FeishuDirectoryGroup = {
|
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export async function listFeishuDirectoryPeers(params: {
|
|
19
|
-
cfg:
|
|
19
|
+
cfg: SKYKOIConfig;
|
|
20
20
|
query?: string;
|
|
21
21
|
limit?: number;
|
|
22
22
|
accountId?: string;
|
|
@@ -50,7 +50,7 @@ export async function listFeishuDirectoryPeers(params: {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export async function listFeishuDirectoryGroups(params: {
|
|
53
|
-
cfg:
|
|
53
|
+
cfg: SKYKOIConfig;
|
|
54
54
|
query?: string;
|
|
55
55
|
limit?: number;
|
|
56
56
|
accountId?: string;
|
|
@@ -83,7 +83,7 @@ export async function listFeishuDirectoryGroups(params: {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
export async function listFeishuDirectoryPeersLive(params: {
|
|
86
|
-
cfg:
|
|
86
|
+
cfg: SKYKOIConfig;
|
|
87
87
|
query?: string;
|
|
88
88
|
limit?: number;
|
|
89
89
|
accountId?: string;
|
|
@@ -130,7 +130,7 @@ export async function listFeishuDirectoryPeersLive(params: {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
export async function listFeishuDirectoryGroupsLive(params: {
|
|
133
|
-
cfg:
|
|
133
|
+
cfg: SKYKOIConfig;
|
|
134
134
|
query?: string;
|
|
135
135
|
limit?: number;
|
|
136
136
|
accountId?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as Lark from "@larksuiteoapi/node-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SKYKOIPluginApi } from "SKYKOI/plugin-sdk";
|
|
3
3
|
import { Type } from "@sinclair/typebox";
|
|
4
4
|
import { Readable } from "stream";
|
|
5
5
|
import { listEnabledFeishuAccounts } from "./accounts.js";
|
|
@@ -427,7 +427,7 @@ async function listAppScopes(client: Lark.Client) {
|
|
|
427
427
|
|
|
428
428
|
// ============ Tool Registration ============
|
|
429
429
|
|
|
430
|
-
export function registerFeishuDocTools(api:
|
|
430
|
+
export function registerFeishuDocTools(api: SKYKOIPluginApi) {
|
|
431
431
|
if (!api.config) {
|
|
432
432
|
api.logger.debug?.("feishu_doc: No config available, skipping doc tools");
|
|
433
433
|
return;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as Lark from "@larksuiteoapi/node-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SKYKOIPluginApi } from "SKYKOI/plugin-sdk";
|
|
3
3
|
import { listEnabledFeishuAccounts } from "./accounts.js";
|
|
4
4
|
import { createFeishuClient } from "./client.js";
|
|
5
5
|
import { FeishuDriveSchema, type FeishuDriveParams } from "./drive-schema.js";
|
|
@@ -168,7 +168,7 @@ async function deleteFile(client: Lark.Client, fileToken: string, type: string)
|
|
|
168
168
|
|
|
169
169
|
// ============ Tool Registration ============
|
|
170
170
|
|
|
171
|
-
export function registerFeishuDriveTools(api:
|
|
171
|
+
export function registerFeishuDriveTools(api: SKYKOIPluginApi) {
|
|
172
172
|
if (!api.config) {
|
|
173
173
|
api.logger.debug?.("feishu_drive: No config available, skipping drive tools");
|
|
174
174
|
return;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import os from "os";
|
|
4
4
|
import path from "path";
|
|
@@ -23,7 +23,7 @@ export type DownloadMessageResourceResult = {
|
|
|
23
23
|
* Used for downloading images sent in messages.
|
|
24
24
|
*/
|
|
25
25
|
export async function downloadImageFeishu(params: {
|
|
26
|
-
cfg:
|
|
26
|
+
cfg: SKYKOIConfig;
|
|
27
27
|
imageKey: string;
|
|
28
28
|
accountId?: string;
|
|
29
29
|
}): Promise<DownloadImageResult> {
|
|
@@ -101,7 +101,7 @@ export async function downloadImageFeishu(params: {
|
|
|
101
101
|
* Used for downloading files, audio, and video from messages.
|
|
102
102
|
*/
|
|
103
103
|
export async function downloadMessageResourceFeishu(params: {
|
|
104
|
-
cfg:
|
|
104
|
+
cfg: SKYKOIConfig;
|
|
105
105
|
messageId: string;
|
|
106
106
|
fileKey: string;
|
|
107
107
|
type: "image" | "file";
|
|
@@ -197,7 +197,7 @@ export type SendMediaResult = {
|
|
|
197
197
|
* Supports: JPEG, PNG, WEBP, GIF, TIFF, BMP, ICO
|
|
198
198
|
*/
|
|
199
199
|
export async function uploadImageFeishu(params: {
|
|
200
|
-
cfg:
|
|
200
|
+
cfg: SKYKOIConfig;
|
|
201
201
|
image: Buffer | string; // Buffer or file path
|
|
202
202
|
imageType?: "message" | "avatar";
|
|
203
203
|
accountId?: string;
|
|
@@ -243,7 +243,7 @@ export async function uploadImageFeishu(params: {
|
|
|
243
243
|
* Max file size: 30MB
|
|
244
244
|
*/
|
|
245
245
|
export async function uploadFileFeishu(params: {
|
|
246
|
-
cfg:
|
|
246
|
+
cfg: SKYKOIConfig;
|
|
247
247
|
file: Buffer | string; // Buffer or file path
|
|
248
248
|
fileName: string;
|
|
249
249
|
fileType: "opus" | "mp4" | "pdf" | "doc" | "xls" | "ppt" | "stream";
|
|
@@ -291,7 +291,7 @@ export async function uploadFileFeishu(params: {
|
|
|
291
291
|
* Send an image message using an image_key
|
|
292
292
|
*/
|
|
293
293
|
export async function sendImageFeishu(params: {
|
|
294
|
-
cfg:
|
|
294
|
+
cfg: SKYKOIConfig;
|
|
295
295
|
to: string;
|
|
296
296
|
imageKey: string;
|
|
297
297
|
replyToMessageId?: string;
|
|
@@ -354,7 +354,7 @@ export async function sendImageFeishu(params: {
|
|
|
354
354
|
* Send a file message using a file_key
|
|
355
355
|
*/
|
|
356
356
|
export async function sendFileFeishu(params: {
|
|
357
|
-
cfg:
|
|
357
|
+
cfg: SKYKOIConfig;
|
|
358
358
|
to: string;
|
|
359
359
|
fileKey: string;
|
|
360
360
|
replyToMessageId?: string;
|
|
@@ -465,7 +465,7 @@ function isLocalPath(urlOrPath: string): boolean {
|
|
|
465
465
|
* Upload and send media (image or file) from URL, local path, or buffer
|
|
466
466
|
*/
|
|
467
467
|
export async function sendMediaFeishu(params: {
|
|
468
|
-
cfg:
|
|
468
|
+
cfg: SKYKOIConfig;
|
|
469
469
|
to: string;
|
|
470
470
|
mediaUrl?: string;
|
|
471
471
|
mediaBuffer?: Buffer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig, RuntimeEnv, HistoryEntry } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import * as Lark from "@larksuiteoapi/node-sdk";
|
|
3
3
|
import type { ResolvedFeishuAccount } from "./types.js";
|
|
4
4
|
import { resolveFeishuAccount, listEnabledFeishuAccounts } from "./accounts.js";
|
|
@@ -7,7 +7,7 @@ import { createFeishuWSClient, createEventDispatcher } from "./client.js";
|
|
|
7
7
|
import { probeFeishu } from "./probe.js";
|
|
8
8
|
|
|
9
9
|
export type MonitorFeishuOpts = {
|
|
10
|
-
config?:
|
|
10
|
+
config?: SKYKOIConfig;
|
|
11
11
|
runtime?: RuntimeEnv;
|
|
12
12
|
abortSignal?: AbortSignal;
|
|
13
13
|
accountId?: string;
|
|
@@ -30,7 +30,7 @@ async function fetchBotOpenId(account: ResolvedFeishuAccount): Promise<string |
|
|
|
30
30
|
* Monitor a single Feishu account.
|
|
31
31
|
*/
|
|
32
32
|
async function monitorSingleAccount(params: {
|
|
33
|
-
cfg:
|
|
33
|
+
cfg: SKYKOIConfig;
|
|
34
34
|
account: ResolvedFeishuAccount;
|
|
35
35
|
runtime?: RuntimeEnv;
|
|
36
36
|
abortSignal?: AbortSignal;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
ChannelOnboardingAdapter,
|
|
3
3
|
ChannelOnboardingDmPolicy,
|
|
4
|
-
|
|
4
|
+
SKYKOIConfig,
|
|
5
5
|
DmPolicy,
|
|
6
6
|
WizardPrompter,
|
|
7
|
-
} from "
|
|
8
|
-
import { addWildcardAllowFrom, DEFAULT_ACCOUNT_ID, formatDocsLink } from "
|
|
7
|
+
} from "SKYKOI/plugin-sdk";
|
|
8
|
+
import { addWildcardAllowFrom, DEFAULT_ACCOUNT_ID, formatDocsLink } from "SKYKOI/plugin-sdk";
|
|
9
9
|
import type { FeishuConfig } from "./types.js";
|
|
10
10
|
import { resolveFeishuCredentials } from "./accounts.js";
|
|
11
11
|
import { probeFeishu } from "./probe.js";
|
|
12
12
|
|
|
13
13
|
const channel = "feishu" as const;
|
|
14
14
|
|
|
15
|
-
function setFeishuDmPolicy(cfg:
|
|
15
|
+
function setFeishuDmPolicy(cfg: SKYKOIConfig, dmPolicy: DmPolicy): SKYKOIConfig {
|
|
16
16
|
const allowFrom =
|
|
17
17
|
dmPolicy === "open"
|
|
18
18
|
? addWildcardAllowFrom(cfg.channels?.feishu?.allowFrom)?.map((entry) => String(entry))
|
|
@@ -30,7 +30,7 @@ function setFeishuDmPolicy(cfg: SkyKoiConfig, dmPolicy: DmPolicy): SkyKoiConfig
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
function setFeishuAllowFrom(cfg:
|
|
33
|
+
function setFeishuAllowFrom(cfg: SKYKOIConfig, allowFrom: string[]): SKYKOIConfig {
|
|
34
34
|
return {
|
|
35
35
|
...cfg,
|
|
36
36
|
channels: {
|
|
@@ -51,9 +51,9 @@ function parseAllowFromInput(raw: string): string[] {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
async function promptFeishuAllowFrom(params: {
|
|
54
|
-
cfg:
|
|
54
|
+
cfg: SKYKOIConfig;
|
|
55
55
|
prompter: WizardPrompter;
|
|
56
|
-
}): Promise<
|
|
56
|
+
}): Promise<SKYKOIConfig> {
|
|
57
57
|
const existing = params.cfg.channels?.feishu?.allowFrom ?? [];
|
|
58
58
|
await params.prompter.note(
|
|
59
59
|
[
|
|
@@ -102,9 +102,9 @@ async function noteFeishuCredentialHelp(prompter: WizardPrompter): Promise<void>
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
function setFeishuGroupPolicy(
|
|
105
|
-
cfg:
|
|
105
|
+
cfg: SKYKOIConfig,
|
|
106
106
|
groupPolicy: "open" | "allowlist" | "disabled",
|
|
107
|
-
):
|
|
107
|
+
): SKYKOIConfig {
|
|
108
108
|
return {
|
|
109
109
|
...cfg,
|
|
110
110
|
channels: {
|
|
@@ -118,7 +118,7 @@ function setFeishuGroupPolicy(
|
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
function setFeishuGroupAllowFrom(cfg:
|
|
121
|
+
function setFeishuGroupAllowFrom(cfg: SKYKOIConfig, groupAllowFrom: string[]): SKYKOIConfig {
|
|
122
122
|
return {
|
|
123
123
|
...cfg,
|
|
124
124
|
channels: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelOutboundAdapter } from "
|
|
1
|
+
import type { ChannelOutboundAdapter } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import { sendMediaFeishu } from "./media.js";
|
|
3
3
|
import { getFeishuRuntime } from "./runtime.js";
|
|
4
4
|
import { sendMessageFeishu } from "./send.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as Lark from "@larksuiteoapi/node-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SKYKOIPluginApi } from "SKYKOI/plugin-sdk";
|
|
3
3
|
import { listEnabledFeishuAccounts } from "./accounts.js";
|
|
4
4
|
import { createFeishuClient } from "./client.js";
|
|
5
5
|
import { FeishuPermSchema, type FeishuPermParams } from "./perm-schema.js";
|
|
@@ -117,7 +117,7 @@ async function removeMember(
|
|
|
117
117
|
|
|
118
118
|
// ============ Tool Registration ============
|
|
119
119
|
|
|
120
|
-
export function registerFeishuPermTools(api:
|
|
120
|
+
export function registerFeishuPermTools(api: SKYKOIPluginApi) {
|
|
121
121
|
if (!api.config) {
|
|
122
122
|
api.logger.debug?.("feishu_perm: No config available, skipping perm tools");
|
|
123
123
|
return;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelGroupContext, GroupToolPolicyConfig } from "
|
|
1
|
+
import type { ChannelGroupContext, GroupToolPolicyConfig } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import type { FeishuConfig, FeishuGroupConfig } from "./types.js";
|
|
3
3
|
|
|
4
4
|
export type FeishuAllowlistMatch = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import { resolveFeishuAccount } from "./accounts.js";
|
|
3
3
|
import { createFeishuClient } from "./client.js";
|
|
4
4
|
|
|
@@ -15,7 +15,7 @@ export type FeishuReaction = {
|
|
|
15
15
|
* @see https://open.feishu.cn/document/server-docs/im-v1/message-reaction/emojis-introduce
|
|
16
16
|
*/
|
|
17
17
|
export async function addReactionFeishu(params: {
|
|
18
|
-
cfg:
|
|
18
|
+
cfg: SKYKOIConfig;
|
|
19
19
|
messageId: string;
|
|
20
20
|
emojiType: string;
|
|
21
21
|
accountId?: string;
|
|
@@ -57,7 +57,7 @@ export async function addReactionFeishu(params: {
|
|
|
57
57
|
* Remove a reaction from a message.
|
|
58
58
|
*/
|
|
59
59
|
export async function removeReactionFeishu(params: {
|
|
60
|
-
cfg:
|
|
60
|
+
cfg: SKYKOIConfig;
|
|
61
61
|
messageId: string;
|
|
62
62
|
reactionId: string;
|
|
63
63
|
accountId?: string;
|
|
@@ -86,7 +86,7 @@ export async function removeReactionFeishu(params: {
|
|
|
86
86
|
* List all reactions for a message.
|
|
87
87
|
*/
|
|
88
88
|
export async function listReactionsFeishu(params: {
|
|
89
|
-
cfg:
|
|
89
|
+
cfg: SKYKOIConfig;
|
|
90
90
|
messageId: string;
|
|
91
91
|
emojiType?: string;
|
|
92
92
|
accountId?: string;
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
createReplyPrefixContext,
|
|
3
3
|
createTypingCallbacks,
|
|
4
4
|
logTypingFailure,
|
|
5
|
-
type
|
|
5
|
+
type SKYKOIConfig,
|
|
6
6
|
type RuntimeEnv,
|
|
7
7
|
type ReplyPayload,
|
|
8
|
-
} from "
|
|
8
|
+
} from "SKYKOI/plugin-sdk";
|
|
9
9
|
import type { MentionTarget } from "./mention.js";
|
|
10
10
|
import { resolveFeishuAccount } from "./accounts.js";
|
|
11
11
|
import { getFeishuRuntime } from "./runtime.js";
|
|
@@ -29,7 +29,7 @@ function shouldUseCard(text: string): boolean {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export type CreateFeishuReplyDispatcherParams = {
|
|
32
|
-
cfg:
|
|
32
|
+
cfg: SKYKOIConfig;
|
|
33
33
|
agentId: string;
|
|
34
34
|
runtime: RuntimeEnv;
|
|
35
35
|
chatId: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import type { MentionTarget } from "./mention.js";
|
|
3
3
|
import type { FeishuSendResult } from "./types.js";
|
|
4
4
|
import { resolveFeishuAccount } from "./accounts.js";
|
|
@@ -22,7 +22,7 @@ export type FeishuMessageInfo = {
|
|
|
22
22
|
* Useful for fetching quoted/replied message content.
|
|
23
23
|
*/
|
|
24
24
|
export async function getMessageFeishu(params: {
|
|
25
|
-
cfg:
|
|
25
|
+
cfg: SKYKOIConfig;
|
|
26
26
|
messageId: string;
|
|
27
27
|
accountId?: string;
|
|
28
28
|
}): Promise<FeishuMessageInfo | null> {
|
|
@@ -91,7 +91,7 @@ export async function getMessageFeishu(params: {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
export type SendFeishuMessageParams = {
|
|
94
|
-
cfg:
|
|
94
|
+
cfg: SKYKOIConfig;
|
|
95
95
|
to: string;
|
|
96
96
|
text: string;
|
|
97
97
|
replyToMessageId?: string;
|
|
@@ -192,7 +192,7 @@ export async function sendMessageFeishu(
|
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
export type SendFeishuCardParams = {
|
|
195
|
-
cfg:
|
|
195
|
+
cfg: SKYKOIConfig;
|
|
196
196
|
to: string;
|
|
197
197
|
card: Record<string, unknown>;
|
|
198
198
|
replyToMessageId?: string;
|
|
@@ -254,7 +254,7 @@ export async function sendCardFeishu(params: SendFeishuCardParams): Promise<Feis
|
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
export async function updateCardFeishu(params: {
|
|
257
|
-
cfg:
|
|
257
|
+
cfg: SKYKOIConfig;
|
|
258
258
|
messageId: string;
|
|
259
259
|
card: Record<string, unknown>;
|
|
260
260
|
accountId?: string;
|
|
@@ -301,7 +301,7 @@ export function buildMarkdownCard(text: string): Record<string, unknown> {
|
|
|
301
301
|
* This renders markdown properly in Feishu (code blocks, tables, bold/italic, etc.)
|
|
302
302
|
*/
|
|
303
303
|
export async function sendMarkdownCardFeishu(params: {
|
|
304
|
-
cfg:
|
|
304
|
+
cfg: SKYKOIConfig;
|
|
305
305
|
to: string;
|
|
306
306
|
text: string;
|
|
307
307
|
replyToMessageId?: string;
|
|
@@ -324,7 +324,7 @@ export async function sendMarkdownCardFeishu(params: {
|
|
|
324
324
|
* Note: Feishu only allows editing messages within 24 hours.
|
|
325
325
|
*/
|
|
326
326
|
export async function editMessageFeishu(params: {
|
|
327
|
-
cfg:
|
|
327
|
+
cfg: SKYKOIConfig;
|
|
328
328
|
messageId: string;
|
|
329
329
|
text: string;
|
|
330
330
|
accountId?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SKYKOIConfig } from "SKYKOI/plugin-sdk";
|
|
2
2
|
import { resolveFeishuAccount } from "./accounts.js";
|
|
3
3
|
import { createFeishuClient } from "./client.js";
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ export type TypingIndicatorState = {
|
|
|
16
16
|
* Add a typing indicator (reaction) to a message
|
|
17
17
|
*/
|
|
18
18
|
export async function addTypingIndicator(params: {
|
|
19
|
-
cfg:
|
|
19
|
+
cfg: SKYKOIConfig;
|
|
20
20
|
messageId: string;
|
|
21
21
|
accountId?: string;
|
|
22
22
|
}): Promise<TypingIndicatorState> {
|
|
@@ -50,7 +50,7 @@ export async function addTypingIndicator(params: {
|
|
|
50
50
|
* Remove a typing indicator (reaction) from a message
|
|
51
51
|
*/
|
|
52
52
|
export async function removeTypingIndicator(params: {
|
|
53
|
-
cfg:
|
|
53
|
+
cfg: SKYKOIConfig;
|
|
54
54
|
state: TypingIndicatorState;
|
|
55
55
|
accountId?: string;
|
|
56
56
|
}): Promise<void> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as Lark from "@larksuiteoapi/node-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SKYKOIPluginApi } from "SKYKOI/plugin-sdk";
|
|
3
3
|
import { listEnabledFeishuAccounts } from "./accounts.js";
|
|
4
4
|
import { createFeishuClient } from "./client.js";
|
|
5
5
|
import { resolveToolsConfig } from "./tools-config.js";
|
|
@@ -156,7 +156,7 @@ async function renameNode(client: Lark.Client, spaceId: string, nodeToken: strin
|
|
|
156
156
|
|
|
157
157
|
// ============ Tool Registration ============
|
|
158
158
|
|
|
159
|
-
export function registerFeishuWikiTools(api:
|
|
159
|
+
export function registerFeishuWikiTools(api: SKYKOIPluginApi) {
|
|
160
160
|
if (!api.config) {
|
|
161
161
|
api.logger.debug?.("feishu_wiki: No config available, skipping wiki tools");
|
|
162
162
|
return;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Google Antigravity Auth (
|
|
1
|
+
# Google Antigravity Auth (SKYKOI plugin)
|
|
2
2
|
|
|
3
3
|
OAuth provider plugin for **Google Antigravity** (Cloud Code Assist).
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ OAuth provider plugin for **Google Antigravity** (Cloud Code Assist).
|
|
|
7
7
|
Bundled plugins are disabled by default. Enable this one:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
SKYKOI plugins enable google-antigravity-auth
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Restart the Gateway after enabling.
|
|
@@ -15,7 +15,7 @@ Restart the Gateway after enabling.
|
|
|
15
15
|
## Authenticate
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
|
|
18
|
+
SKYKOI models auth login --provider google-antigravity --set-default
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Notes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash, randomBytes } from "node:crypto";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { createServer } from "node:http";
|
|
4
|
-
import { emptyPluginConfigSchema } from "
|
|
4
|
+
import { emptyPluginConfigSchema } from "SKYKOI/plugin-sdk";
|
|
5
5
|
|
|
6
6
|
// OAuth constants - decoded from pi-ai's base64 encoded values to stay in sync
|
|
7
7
|
const decode = (s: string) => Buffer.from(s, "base64").toString();
|
|
@@ -32,7 +32,7 @@ const RESPONSE_PAGE = `<!DOCTYPE html>
|
|
|
32
32
|
<html lang="en">
|
|
33
33
|
<head>
|
|
34
34
|
<meta charset="utf-8" />
|
|
35
|
-
<title>
|
|
35
|
+
<title>SKYKOI Antigravity OAuth</title>
|
|
36
36
|
</head>
|
|
37
37
|
<body>
|
|
38
38
|
<main>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@SKYKOI/google-antigravity-auth",
|
|
3
3
|
"version": "2026.2.6-3",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "SKYKOI Google Antigravity OAuth provider plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"devDependencies": {
|
|
7
|
-
"
|
|
7
|
+
"SKYKOI": "workspace:*"
|
|
8
8
|
},
|
|
9
|
-
"
|
|
9
|
+
"SKYKOI": {
|
|
10
10
|
"extensions": [
|
|
11
11
|
"./index.ts"
|
|
12
12
|
]
|