@symerian/symi 2.9.2 → 2.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-DTl30WoB.js → agents-CMoRbMNW.js} +4 -4
- package/dist/{agents.config-CO8F9mkD.js → agents.config-BLuBIvek.js} +1 -1
- package/dist/{agents.config-CZ3GFxPg.js → agents.config-Ebtya9aN.js} +1 -1
- package/dist/{audio-preflight-DQR2Ivi-.js → audio-preflight-CbyJ_yDs.js} +4 -4
- package/dist/{auth-choice-BYDGn7lJ.js → auth-choice-C_lflrPV.js} +1 -1
- package/dist/{auth-choice-BoOyy-ZT.js → auth-choice-DAMY302C.js} +1 -1
- package/dist/{banner-D4MiyUnv.js → banner-4mmBVDxd.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +7 -7
- package/dist/bundled/session-memory/handler.js +7 -7
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-B6qP-vR-.js → channel-options-CqEImsEx.js} +1 -1
- package/dist/{channel-options-BiSSYYQC.js → channel-options-lJBshQMV.js} +1 -1
- package/dist/{channel-web-DP97EUhx.js → channel-web-CBC2RSBF.js} +1 -1
- package/dist/{channels-cli-CE_A3Hai.js → channels-cli-BqW1HbHG.js} +6 -6
- package/dist/{channels-cli-6LNvJQPb.js → channels-cli-CqtSKE5p.js} +6 -6
- package/dist/{chrome-BaMQiegP.js → chrome-CJHOBnUB.js} +7 -7
- package/dist/{cli-D4j_JTug.js → cli-B1Dxc2DT.js} +3 -3
- package/dist/{cli-DwQ3mqhI.js → cli-CjgvXavV.js} +3 -3
- package/dist/{command-registry-b62Qpsi2.js → command-registry-iESIIBvf.js} +10 -10
- package/dist/{completion-cli-DUT2XYgK.js → completion-cli-BEddBU3C.js} +2 -2
- package/dist/{completion-cli-RQyC3L-t.js → completion-cli-euUBlC-J.js} +1 -1
- package/dist/{config-cli-Di8VOhbp.js → config-cli-CAl0wtaC.js} +1 -1
- package/dist/{config-cli-H52N8rp1.js → config-cli-DG8UgJ6z.js} +1 -1
- package/dist/{configure-BF9crM5K.js → configure-B3AtbkbP.js} +3 -3
- package/dist/{configure-DQxuawe-.js → configure-CtYsABUS.js} +3 -3
- package/dist/{deliver-Dx39g9ey.js → deliver-D5655IkX.js} +1 -1
- package/dist/{doctor-completion-BKXQ50ee.js → doctor-completion-B-Oak4dP.js} +1 -1
- package/dist/{doctor-completion-BS2JEeZy.js → doctor-completion-BGriRzaq.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-Do9KUPqe.js → gateway-cli-CPligm4B.js} +11 -11
- package/dist/{gateway-cli-moPf-zP5.js → gateway-cli-CrgMw50H.js} +11 -11
- package/dist/{glass-ui-ws-Dfro-3R8.js → glass-ui-ws-BmrBGwq0.js} +9 -9
- package/dist/{glass-ui-ws-D53pvIov.js → glass-ui-ws-JoAL8aXB.js} +9 -9
- package/dist/{health-BQGRC0xh.js → health-BFlZuHVH.js} +1 -1
- package/dist/{health-CV741PBg.js → health-C5cdo2e_.js} +1 -1
- package/dist/{hooks-cli-CG-PDY2U.js → hooks-cli-BHOi35KU.js} +4 -4
- package/dist/{hooks-cli-CWXGIL9L.js → hooks-cli-DFDzJIQJ.js} +4 -4
- package/dist/{image-C-JvPPpM.js → image-BqpivNGG.js} +1 -1
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{manager-B_2KzUSI.js → manager-Ca7NOWdK.js} +1 -1
- package/dist/{manager-yrUe0KOT.js → manager-DNxvT0P-.js} +1 -1
- package/dist/{manager-Bc-MeMho.js → manager-DlNP6Nui.js} +1 -1
- package/dist/{manager-CLPHK-qG.js → manager-SbxZtjEc.js} +1 -1
- package/dist/{memory-cli-3RSIw4no.js → memory-cli-D2LaloPq.js} +3 -3
- package/dist/{memory-cli-BKNnDIdx.js → memory-cli-xSpyRUEV.js} +3 -3
- package/dist/{models-D_C2JFPw.js → models-C6MaesB8.js} +2 -2
- package/dist/{models-cli-DQE60EtL.js → models-cli-4IVFNhw8.js} +5 -5
- package/dist/{models-cli-j2O4e1Lu.js → models-cli-CjcsH00X.js} +4 -4
- package/dist/{onboard-DUIZfWqa.js → onboard-BoXWv3OF.js} +2 -2
- package/dist/{onboard-Ckw89oRF.js → onboard-Dk5UFbaj.js} +2 -2
- package/dist/{onboard-channels-B8Ouc5sR.js → onboard-channels-BQ-TPkl5.js} +1 -1
- package/dist/{onboard-channels-Oa9IlsGt.js → onboard-channels-DSIBGif0.js} +1 -1
- package/dist/{onboarding-Cjh-Y8ha.js → onboarding-CvCh0fyS.js} +3 -3
- package/dist/{onboarding-JFWHlqAb.js → onboarding-p3SCUopW.js} +3 -3
- package/dist/{onboarding.finalize-CkGLgiEA.js → onboarding.finalize-CrmmBrzK.js} +7 -7
- package/dist/{onboarding.finalize-spzEoVkm.js → onboarding.finalize-l2qeYvn5.js} +8 -8
- package/dist/{pi-embedded-D6Zi01El.js → pi-embedded-DaTqseIp.js} +105 -54
- package/dist/{pi-embedded-helpers-B1P8lkqj.js → pi-embedded-helpers-CU-kYRrF.js} +4 -4
- package/dist/{plugin-registry-CYglC746.js → plugin-registry-B_IeViDg.js} +1 -1
- package/dist/{plugin-registry-zGF6HUkQ.js → plugin-registry-BmdLxUZd.js} +1 -1
- package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +9 -0
- package/dist/plugin-sdk/agents/system-prompt.d.ts +17 -0
- package/dist/plugin-sdk/{channel-web-eeGSjU9N.js → channel-web-DYJYy4et.js} +1 -1
- package/dist/plugin-sdk/config/types.symi.d.ts +7 -0
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{manager-DZ5-lr4s.js → manager-Ca0_Buoj.js} +1 -1
- package/dist/plugin-sdk/{reply-BRGoceel.js → reply-Bfy77FPA.js} +105 -54
- package/dist/plugin-sdk/{synthesis-DVsG2Tbp.js → synthesis-D9SmRgqU.js} +2 -2
- package/dist/plugin-sdk/{web-7u3fdT2S.js → web-qvuO3y6z.js} +3 -3
- package/dist/{plugins-cli-ndIGvW38.js → plugins-cli-CAp8Hyam.js} +4 -4
- package/dist/{plugins-cli-CLb_0vH6.js → plugins-cli-Dhcj3Mah.js} +4 -4
- package/dist/{program-BovNsUAh.js → program-UlEVhGTo.js} +9 -9
- package/dist/{program-context-mFSRQPMm.js → program-context-BFvY5D79.js} +18 -18
- package/dist/{prompt-select-styled-vhI0kQYd.js → prompt-select-styled-BehvQU7S.js} +6 -6
- package/dist/{prompt-select-styled-DlKhnnDV.js → prompt-select-styled-Bf47U3gY.js} +6 -6
- package/dist/{provider-auth-helpers-DXlKD0hY.js → provider-auth-helpers-CEstUTnU.js} +1 -1
- package/dist/{provider-auth-helpers-U0t5YhCn.js → provider-auth-helpers-l2_9mB3E.js} +1 -1
- package/dist/{push-apns-hN0N3Wcu.js → push-apns-Be_K61Y3.js} +1 -1
- package/dist/{push-apns-rDsc17-c.js → push-apns-Cr9FKn9_.js} +1 -1
- package/dist/{pw-ai-BlWK9Tr3.js → pw-ai-BjfsUmjw.js} +1 -1
- package/dist/{register.agent-B1liWWB3.js → register.agent-DXzkaRw1.js} +8 -8
- package/dist/{register.agent-Cyij2g-g.js → register.agent-tfizhRlb.js} +7 -7
- package/dist/{register.configure-CoYKlH75.js → register.configure-CtXnzNAk.js} +8 -8
- package/dist/{register.configure-keWh1w1p.js → register.configure-DsBKnmY3.js} +8 -8
- package/dist/{register.maintenance-CsA9QQRE.js → register.maintenance-BZJLuSs7.js} +10 -10
- package/dist/{register.maintenance-CvY-Yar9.js → register.maintenance-mVD8OA1V.js} +9 -9
- package/dist/{register.message-D7815_7Y.js → register.message-C7Mfqk6i.js} +4 -4
- package/dist/{register.message-DltuBwIg.js → register.message-ZHGwfsV9.js} +4 -4
- package/dist/{register.onboard-CY50To_-.js → register.onboard-B0zHMGtr.js} +6 -6
- package/dist/{register.onboard-FcZymlrx.js → register.onboard-bPMjH-cM.js} +6 -6
- package/dist/{register.setup-8dkIizGs.js → register.setup-aVvT34-g.js} +6 -6
- package/dist/{register.setup-X011Evir.js → register.setup-jLBfOyYo.js} +6 -6
- package/dist/{register.status-health-sessions-DRkIaw1q.js → register.status-health-sessions-Bbp4B0t_.js} +5 -5
- package/dist/{register.status-health-sessions-u9ZbWWea.js → register.status-health-sessions-Ym9Z__5q.js} +5 -5
- package/dist/{register.subclis-vTS3UwIU.js → register.subclis-DHLF7LUE.js} +9 -9
- package/dist/{reply-Dx9DWIO2.js → reply-DaLBaxTg.js} +104 -53
- package/dist/{run-main-BQKf71Kt.js → run-main-i-0RAGWP.js} +17 -17
- package/dist/{runner-C4opGXAA.js → runner-DzNo-GCz.js} +1 -1
- package/dist/{server-methods-DeIwhdBv.js → server-methods-9ygcQLBv.js} +8 -8
- package/dist/{server-methods-1TzYth88.js → server-methods-BTBqGPE0.js} +8 -8
- package/dist/{server-node-events-CFMtnBFU.js → server-node-events-Dwq8UMWp.js} +4 -4
- package/dist/{server-node-events-DF_ks0oa.js → server-node-events-v-YRyTWm.js} +4 -4
- package/dist/{status-CwZgLSfx.js → status-87Am-dN6.js} +3 -3
- package/dist/{status-CvElSWg2.js → status-BwKYtKTR.js} +1 -1
- package/dist/{status-DEQAH4oA.js → status-Cet2zu6k.js} +1 -1
- package/dist/{status-vO4-v0vI.js → status-vF06cYz7.js} +3 -3
- package/dist/{subagent-registry-K1lQH7iR.js → subagent-registry--ttOPMLH.js} +104 -53
- package/dist/{synthesis-DhxkkJq7.js → synthesis-9GndKT3K.js} +2 -2
- package/dist/{synthesis-CZhOC8n4.js → synthesis-DH0gSv7o.js} +7 -7
- package/dist/{synthesis-DazoL-DI.js → synthesis-JzS-852N.js} +3 -3
- package/dist/{synthesis-AYqn8_O8.js → synthesis-aBsVjLIL.js} +3 -3
- package/dist/{unified-runner-CavADnkK.js → unified-runner-C0OC_Ay0.js} +119 -68
- package/dist/{update-cli-DPf2vrJK.js → update-cli-BWulAC_Y.js} +10 -10
- package/dist/{update-cli-DmxFKAmJ.js → update-cli-DAP38iFd.js} +9 -9
- package/dist/{update-runner-D4UIv_1p.js → update-runner-Bl0Y3ndR.js} +1 -1
- package/dist/{update-runner-XU-jPEg_.js → update-runner-DV6ov2uA.js} +1 -1
- package/dist/{web-BJIv_6uQ.js → web-Cl-3dkwx.js} +7 -7
- package/dist/{web-CIj8erCe.js → web-DcZB_7Fo.js} +2 -2
- package/dist/{web-C-E-O8iP.js → web-DhjVLurg.js} +4 -4
- package/dist/{web-BBbVbRTg.js → web-K_bPrtFT.js} +3 -3
- package/docs/capabilities.md +153 -0
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/node_modules/.bin/symi +21 -0
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +5 -1
- package/skills/channel-routing/SKILL.md +42 -0
- package/skills/document-generation/SKILL.md +83 -0
- package/skills/reactions-extensive/SKILL.md +30 -0
- package/skills/reactions-minimal/SKILL.md +31 -0
- package/skills/safe-edit/SKILL.md +51 -0
- package/skills/tool-narration/SKILL.md +40 -0
- package/skills/verify-output/SKILL.md +47 -0
|
@@ -8,7 +8,7 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
|
|
|
8
8
|
import "./github-copilot-token-BbsJ0Qbo.js";
|
|
9
9
|
import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
|
|
10
10
|
import "./tokens-Cn6drXx2.js";
|
|
11
|
-
import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as resolveInboundDebounceMs, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as parseActivationCommand, h as normalizeGroupActivation, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as enqueueSystemEvent, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./pi-embedded-
|
|
11
|
+
import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as resolveInboundDebounceMs, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as parseActivationCommand, h as normalizeGroupActivation, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as enqueueSystemEvent, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./pi-embedded-DaTqseIp.js";
|
|
12
12
|
import "./plugins-71oIavrF.js";
|
|
13
13
|
import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
|
|
14
14
|
import "./bindings-DYVakimr.js";
|
|
@@ -36,7 +36,7 @@ import "./accounts-DImOt9jX.js";
|
|
|
36
36
|
import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
|
|
37
37
|
import "./tool-images-ChC2CXaN.js";
|
|
38
38
|
import "./image-BjyeKf1c.js";
|
|
39
|
-
import "./manager-
|
|
39
|
+
import "./manager-SbxZtjEc.js";
|
|
40
40
|
import "./gemini-auth-DVcG-42i.js";
|
|
41
41
|
import "./retry-QGp0jvVi.js";
|
|
42
42
|
import "./sqlite-Bo4pHfp8.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-DaLBaxTg.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
60
60
|
import "./send-aXMPprv9.js";
|
|
61
61
|
import "./model-ECsJuJew.js";
|
|
62
62
|
import "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import "./memory-cli-
|
|
64
|
-
import "./manager-
|
|
63
|
+
import "./memory-cli-xSpyRUEV.js";
|
|
64
|
+
import "./manager-Ca7NOWdK.js";
|
|
65
65
|
import "./retry-BoS4e4X_.js";
|
|
66
66
|
import "./sqlite-D55gRQbH.js";
|
|
67
67
|
import "./target-errors-C9e6dMU_.js";
|
|
@@ -102,7 +102,7 @@ import "./pi-tools.policy-54ABEJtH.js";
|
|
|
102
102
|
import "./control-service-BkyH7qkF.js";
|
|
103
103
|
import "./stagger-CZ1Rrj7O.js";
|
|
104
104
|
import "./channel-selection-9fIQGtZy.js";
|
|
105
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
105
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CBC2RSBF.js";
|
|
106
106
|
import { n as sendMessageWhatsApp } from "./outbound-CPcVipU-.js";
|
|
107
107
|
import { i as waitForWaConnection, t as createWaSocket } from "./session-CTTpxOx1.js";
|
|
108
108
|
import { t as loginWeb } from "./login-Cd4DTmg6.js";
|
|
@@ -16,7 +16,7 @@ import "./client-CJIMV1WD.js";
|
|
|
16
16
|
import "./call-BCTAmPye.js";
|
|
17
17
|
import "./message-channel-C9dERklz.js";
|
|
18
18
|
import "./pairing-token-Byh6drgn.js";
|
|
19
|
-
import { Bn as formatInboundEnvelope, F as buildHistoryContextFromEntries, I as recordPendingHistoryEntryIfEnabled, Jn as normalizeMentionText, L as shouldAckReactionForWhatsApp, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as createInboundDebouncer, U as createDedupeCache, Un as hasControlCommand, Vn as resolveEnvelopeFormatOptions, W as getReplyFromConfig, Wn as shouldComputeCommandAuthorized, b as sleepWithAbort, nn as normalizeGroupActivation, qn as buildMentionRegexes, rn as parseActivationCommand, wn as enqueueSystemEvent, y as computeBackoff, zn as resolveInboundDebounceMs } from "./subagent-registry
|
|
19
|
+
import { Bn as formatInboundEnvelope, F as buildHistoryContextFromEntries, I as recordPendingHistoryEntryIfEnabled, Jn as normalizeMentionText, L as shouldAckReactionForWhatsApp, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as createInboundDebouncer, U as createDedupeCache, Un as hasControlCommand, Vn as resolveEnvelopeFormatOptions, W as getReplyFromConfig, Wn as shouldComputeCommandAuthorized, b as sleepWithAbort, nn as normalizeGroupActivation, qn as buildMentionRegexes, rn as parseActivationCommand, wn as enqueueSystemEvent, y as computeBackoff, zn as resolveInboundDebounceMs } from "./subagent-registry--ttOPMLH.js";
|
|
20
20
|
import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-CpDbQNFu.js";
|
|
21
21
|
import "./tokens-Csntmwwn.js";
|
|
22
22
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
54
54
|
import "./thinking-8sKPnzpp.js";
|
|
55
55
|
import "./models-config-frWb8fDT.js";
|
|
56
56
|
import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
|
|
57
|
-
import "./memory-cli-
|
|
58
|
-
import "./manager-
|
|
57
|
+
import "./memory-cli-D2LaloPq.js";
|
|
58
|
+
import "./manager-DNxvT0P-.js";
|
|
59
59
|
import "./gemini-auth-DEakvf-D.js";
|
|
60
60
|
import "./retry-C4Q_VPOo.js";
|
|
61
61
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Symi Capabilities Index
|
|
2
|
+
|
|
3
|
+
_Auto-generated by `scripts/build-capabilities-index.ts` — do not hand-edit._
|
|
4
|
+
|
|
5
|
+
Symi version: `2.9.4`
|
|
6
|
+
Generated: 2026-04-29T02:31:05.375Z
|
|
7
|
+
|
|
8
|
+
Stage 4 of the prompt-reduction plan moves capability documentation
|
|
9
|
+
out of the system prompt and into versioned content (skills, tool
|
|
10
|
+
descriptions, runtime guards). This index is the single artifact
|
|
11
|
+
engineering and compliance review for capability deltas — PRs that
|
|
12
|
+
change a skill, plugin, or tool surface will show up here.
|
|
13
|
+
|
|
14
|
+
## Skills
|
|
15
|
+
|
|
16
|
+
Bundled skills are loaded on-demand via `skill_search` (Stage 3.3) or
|
|
17
|
+
auto-loaded via `skills.autoLoadInline` config (Stage 2.2). Triggers
|
|
18
|
+
drive the keyword-matching used by the prompt builder's auto-injection
|
|
19
|
+
block (Stage 3.5).
|
|
20
|
+
|
|
21
|
+
**62 bundled skills.**
|
|
22
|
+
|
|
23
|
+
| Skill | Description | Triggers |
|
|
24
|
+
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
25
|
+
| `1password` | Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op. | 1password |
|
|
26
|
+
| `apple-notes` | Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Symi to add a note, list notes, search notes, or manage note folders. | apple-notes, apple, notes |
|
|
27
|
+
| `apple-reminders` | Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output. | apple-reminders, apple, reminders |
|
|
28
|
+
| `bear-notes` | Create, search, and manage Bear notes via grizzly CLI. | bear-notes, bear, notes |
|
|
29
|
+
| `blogwatcher` | Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI. | blogwatcher |
|
|
30
|
+
| `blucli` | BluOS CLI (blu) for discovery, playback, grouping, and volume. | blucli |
|
|
31
|
+
| `bluebubbles` | Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles". | bluebubbles |
|
|
32
|
+
| `camsnap` | Capture frames or clips from RTSP/ONVIF cameras. | camsnap |
|
|
33
|
+
| `canvas` | Display HTML content on connected Symi nodes (Mac app, iOS, Android). Use for games, visualizations, dashboards, generated HTML, and interactive demos. | canvas, display, html, visualize, dashboard, demo |
|
|
34
|
+
| `channel-routing` | Messaging conventions and channel routing rules. Reply in current session auto-routes to the source channel; cross-session messaging via sessions_send; sub-agent orchestration via subagents tool; syst | message, messaging, channel, route, routing, send, sessions_send, subagent |
|
|
35
|
+
| `coding-agent` | "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large co | coding-agent, coding, agent |
|
|
36
|
+
| `connect-email` | Connect a user's email account (Outlook 365 or Gmail) to Symi. Use when the user asks to connect, link, set up, configure, or troubleshoot email — including any mention of "my email", "work email", "o | connect-email, connect, email |
|
|
37
|
+
| `discord` | "Discord ops via the message tool (channel=discord)." | discord |
|
|
38
|
+
| `document-generation` | Generate Word (.docx), Excel (.xlsx), PowerPoint (.pptx), and PDF documents via npm packages bundled with Symi. Write a short Node.js script (.cjs for CommonJS), execute via exec with host=gateway. Us | document, docx, xlsx, pptx, pdf, word, excel, powerpoint |
|
|
39
|
+
| `eightctl` | Control Eight Sleep pods (status, temperature, alarms, schedules). | eightctl |
|
|
40
|
+
| `food-order` | Reorder Foodora orders + track ETA/status with ordercli. Never confirm without explicit user approval. Triggers: order food, reorder, track ETA. | food-order, food, order |
|
|
41
|
+
| `gemini` | Gemini CLI for one-shot Q&A, summaries, and generation. | gemini |
|
|
42
|
+
| `gh-issues` | "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assi | gh-issues, gh, issues |
|
|
43
|
+
| `gifgrep` | Search GIF providers with CLI/TUI, download results, and extract stills/sheets. | gifgrep |
|
|
44
|
+
| `github` | "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) vie | github |
|
|
45
|
+
| `gog` | Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. | gog |
|
|
46
|
+
| `goplaces` | Query Google Places API (New) via the goplaces CLI for text search, place details, resolve, and reviews. Use for human-friendly place lookup or JSON output for scripts. | goplaces |
|
|
47
|
+
| `healthcheck` | Host security hardening and risk-tolerance configuration for Symi deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, Symi cron schedul | healthcheck |
|
|
48
|
+
| `himalaya` | "CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MI | himalaya |
|
|
49
|
+
| `imsg` | iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app. | imsg |
|
|
50
|
+
| `long-task` | Run long operations (deep scans, brute-forces, big builds, exhaustive enumeration) without hitting the agent-turn timeout. Detaches the command with setsid+nohup and schedules a cron monitor that poll | long-task, long, task |
|
|
51
|
+
| `mcporter` | Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation. | mcporter |
|
|
52
|
+
| `model-usage` | Use CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost d | model-usage, model, usage |
|
|
53
|
+
| `nano-banana-pro` | Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). | nano-banana-pro, nano, banana, pro |
|
|
54
|
+
| `nano-pdf` | Edit PDFs with natural-language instructions using the nano-pdf CLI. | nano-pdf, nano, pdf |
|
|
55
|
+
| `notion` | Notion API for creating and managing pages, databases, and blocks. | notion |
|
|
56
|
+
| `obsidian` | Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli. | obsidian |
|
|
57
|
+
| `openai-image-gen` | Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery. | openai-image-gen, openai, image, gen |
|
|
58
|
+
| `openai-whisper` | Local speech-to-text with the Whisper CLI (no API key). | openai-whisper, openai, whisper |
|
|
59
|
+
| `openai-whisper-api` | Transcribe audio via OpenAI Audio Transcriptions API (Whisper). | openai-whisper-api, openai, whisper, api |
|
|
60
|
+
| `openhue` | Control Philips Hue lights and scenes via the OpenHue CLI. | openhue |
|
|
61
|
+
| `oracle` | Best practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns). | oracle |
|
|
62
|
+
| `ordercli` | Foodora-only CLI for checking past orders and active order status (Deliveroo WIP). | ordercli |
|
|
63
|
+
| `peekaboo` | Capture and automate macOS UI with the Peekaboo CLI. | peekaboo |
|
|
64
|
+
| `reactions-extensive` | Liberal reaction policy for channels configured in EXTENSIVE reactions mode. React naturally — acknowledge messages with appropriate emojis, express sentiment, react to interesting content or notable | reactions, react, emoji, extensive-reactions |
|
|
65
|
+
| `reactions-minimal` | Sparing reaction policy for channels configured in MINIMAL reactions mode. React only when truly relevant — important user requests, genuine sentiment, never routine messages or your own replies. Guid | reactions, react, emoji, minimal-reactions |
|
|
66
|
+
| `safe-edit` | Best practices for the edit tool plus recovery patterns when oldText doesn't match. Read before editing, use shortest unique snippets, prefer distinctive lines, never skip past a failed match. Loaded | edit, oldtext, recovery, match, failed, wrong, snippet, hallucinated |
|
|
67
|
+
| `sag` | ElevenLabs text-to-speech with mac-style say UX. | sag |
|
|
68
|
+
| `session-logs` | Search and analyze your own session logs (older/parent conversations) using jq. | session-logs, session, logs |
|
|
69
|
+
| `sherpa-onnx-tts` | Local text-to-speech via sherpa-onnx (offline, no cloud) | sherpa-onnx-tts, sherpa, onnx, tts |
|
|
70
|
+
| `skill-creator` | Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets. | skill-creator, skill, creator |
|
|
71
|
+
| `slack` | Use when you need to control Slack from Symi via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs. | slack |
|
|
72
|
+
| `songsee` | Generate spectrograms and feature-panel visualizations from audio with the songsee CLI. | songsee |
|
|
73
|
+
| `sonoscli` | Control Sonos speakers (discover/status/play/volume/group). | sonoscli |
|
|
74
|
+
| `spotify-player` | Terminal Spotify playback/search via spogo (preferred) or spotify_player. | spotify-player, spotify, player |
|
|
75
|
+
| `summarize` | Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”). | summarize |
|
|
76
|
+
| `symihub` | Use the SymiHub CLI to search, install, update, and publish agent skills from symihub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or p | symihub |
|
|
77
|
+
| `things-mac` | Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Symi to add a task to Things, list inbox | things-mac, things, mac |
|
|
78
|
+
| `tmux` | Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output. | tmux |
|
|
79
|
+
| `tool-narration` | When and how to narrate tool calls. Default to silence on routine, low-risk tool calls; narrate only when it adds value (multi-step work, sensitive actions, complex problems, or explicit user request) | narrate, narration, tool-call, verbose, explain |
|
|
80
|
+
| `trello` | Manage Trello boards, lists, and cards via the Trello REST API. | trello |
|
|
81
|
+
| `verify-output` | Structured verification pass before delivering code, scripts, configurations, or any technical artifact. Re-read request, check each requirement against output, actually run the code, include tests wh | verify, verification, test, deliver, ship, check, validate, review |
|
|
82
|
+
| `video-frames` | Extract frames or short clips from videos using ffmpeg. | video-frames, video, frames |
|
|
83
|
+
| `voice-call` | Start voice calls via the Symi voice-call plugin. | voice-call, voice, call |
|
|
84
|
+
| `wacli` | Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats). | wacli |
|
|
85
|
+
| `weather` | "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or | weather |
|
|
86
|
+
| `xurl` | A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interac | xurl |
|
|
87
|
+
|
|
88
|
+
## Extensions / Plugins
|
|
89
|
+
|
|
90
|
+
Bundled extension packages. Channel adapters, memory backends, and
|
|
91
|
+
auth providers all live here. Each ships its own `package.json`.
|
|
92
|
+
|
|
93
|
+
**33 bundled extensions/plugins.**
|
|
94
|
+
|
|
95
|
+
| Extension | Version | Description |
|
|
96
|
+
| ------------------------- | ------- | ----------------------------------------------------------------------------------------------------- |
|
|
97
|
+
| `bluebubbles` | 2.9.3 | Symi BlueBubbles channel plugin |
|
|
98
|
+
| `copilot-proxy` | 2.9.3 | Symi Copilot Proxy provider plugin |
|
|
99
|
+
| `diagnostics-otel` | 2.9.3 | Symi diagnostics OpenTelemetry exporter |
|
|
100
|
+
| `discord` | 2.9.3 | Symi Discord channel plugin |
|
|
101
|
+
| `feishu` | 2.9.3 | Symi Feishu/Lark channel plugin (community maintained by @m1heng) |
|
|
102
|
+
| `google-antigravity-auth` | 2.9.3 | Symi Google Antigravity OAuth provider plugin |
|
|
103
|
+
| `google-gemini-cli-auth` | 2.9.3 | Symi Gemini CLI OAuth provider plugin |
|
|
104
|
+
| `googlechat` | 2.9.3 | Symi Google Chat channel plugin |
|
|
105
|
+
| `imessage` | 2.9.3 | Symi iMessage channel plugin |
|
|
106
|
+
| `irc` | 2.9.3 | Symi IRC channel plugin |
|
|
107
|
+
| `learning-loop` | 2.9.3 | Closed-loop learning extension with deterministic quality scoring and vector-indexed learning storage |
|
|
108
|
+
| `line` | 2.9.3 | Symi LINE channel plugin |
|
|
109
|
+
| `llm-task` | 2.9.3 | Symi JSON-only LLM task plugin |
|
|
110
|
+
| `matrix` | 2.9.3 | Symi Matrix channel plugin |
|
|
111
|
+
| `mattermost` | 2.9.3 | Symi Mattermost channel plugin |
|
|
112
|
+
| `memory-core` | 2.9.3 | Symi core memory search plugin |
|
|
113
|
+
| `memory-lancedb` | 2.9.3 | Symi LanceDB-backed long-term memory plugin with auto-recall/capture |
|
|
114
|
+
| `minimax-portal-auth` | 2.9.3 | Symi MiniMax Portal OAuth provider plugin |
|
|
115
|
+
| `msteams` | 2.9.3 | Symi Microsoft Teams channel plugin |
|
|
116
|
+
| `nextcloud-talk` | 2.9.3 | Symi Nextcloud Talk channel plugin |
|
|
117
|
+
| `nostr` | 2.9.3 | Symi Nostr channel plugin for NIP-04 encrypted DMs |
|
|
118
|
+
| `open-prose` | 2.9.3 | OpenProse VM skill pack plugin (slash command + telemetry). |
|
|
119
|
+
| `outlook` | 2.9.3 | Symi Outlook 365 email integration via Microsoft Graph API |
|
|
120
|
+
| `pipeline` | 2.9.3 | Pipeline workflow tool plugin (typed pipelines + resumable approvals) |
|
|
121
|
+
| `signal` | 2.9.3 | Symi Signal channel plugin |
|
|
122
|
+
| `slack` | 2.9.3 | Symi Slack channel plugin |
|
|
123
|
+
| `telegram` | 2.9.3 | Symi Telegram channel plugin |
|
|
124
|
+
| `tlon` | 2.9.3 | Symi Tlon/Urbit channel plugin |
|
|
125
|
+
| `twitch` | 2.9.3 | Symi Twitch channel plugin |
|
|
126
|
+
| `voice-call` | 2.9.3 | Symi voice-call plugin |
|
|
127
|
+
| `whatsapp` | 2.9.3 | Symi WhatsApp channel plugin |
|
|
128
|
+
| `zalo` | 2.9.3 | Symi Zalo channel plugin |
|
|
129
|
+
| `zalouser` | 2.9.3 | Symi Zalo Personal Account plugin via zca-cli |
|
|
130
|
+
|
|
131
|
+
## Behaviour rules enforced by runtime
|
|
132
|
+
|
|
133
|
+
Rules that left the system prompt and now enforce in code:
|
|
134
|
+
|
|
135
|
+
| Rule | Enforcement | Stage |
|
|
136
|
+
| ------------------------------------------------ | ------------------------------------------------------------------------ | ------- |
|
|
137
|
+
| `NO_REPLY` / `SYMIPULSE_OK` strict-match drop | `src/gateway/outbound-filter.ts` | 1.1 |
|
|
138
|
+
| Reply-tag tolerant parsing + auto-injection | `src/utils/directive-tags.ts` + `src/auto-reply/reply/reply-payloads.ts` | 1.2 |
|
|
139
|
+
| Edit refuses unread files | `src/agents/pi-tools.read-edit-guard.ts` | 1.3 |
|
|
140
|
+
| Self-update requires `userRequestAcknowledgment` | `src/agents/tools/gateway-tool.ts` | 1.4 |
|
|
141
|
+
| Tool palette token budget audit | `src/agents/pi-tools.palette-size.test.ts` | 2.3 |
|
|
142
|
+
| Per-profile `promptAdditions` shared constants | `src/config/model-profiles-builtin.ts` | 2.4 |
|
|
143
|
+
| `skill_search` JIT discovery tool | `src/agents/tools/skill-search-tool.ts` | 3.3 |
|
|
144
|
+
| Anchor list + auto-injection blocks | `src/agents/system-prompt-skills-jit.ts` | 3.4/3.5 |
|
|
145
|
+
| `compactMode` section deletions | `src/agents/system-prompt.ts` | 4.5 |
|
|
146
|
+
|
|
147
|
+
## Reproducing this artifact
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
pnpm tsx scripts/build-capabilities-index.ts
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Run after any change to skills, extensions, or runtime behavior rules.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/symi/projects/symi/node_modules:/home/symi/projects/node_modules:/home/symi/node_modules:/home/node_modules:/node_modules:/home/symi/projects/symi/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/symi/projects/symi/node_modules:/home/symi/projects/node_modules:/home/symi/node_modules:/home/node_modules:/node_modules:/home/symi/projects/symi/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../@symerian/symi/symi.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../@symerian/symi/symi.mjs" "$@"
|
|
21
|
+
fi
|