@symerian/symi 2.7.8 → 2.7.10
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/{acp-cli-DV6gYjcL.js → acp-cli-DwKj-AqM.js} +1 -1
- package/dist/{acp-cli-6peVIuMz.js → acp-cli-lkOF8AeX.js} +1 -1
- package/dist/{agents-DhWccW-I.js → agents-Qr0BDw_h.js} +5 -5
- package/dist/{agents.config-DwibJO90.js → agents.config-D0ih9tP3.js} +1 -1
- package/dist/{agents.config-ByNtHnqX.js → agents.config-DIjsIDbS.js} +1 -1
- package/dist/{audio-preflight-DIXDvyz5.js → audio-preflight-D0nJ1LEt.js} +4 -4
- package/dist/{audit-BZU2PNKl.js → audit-DVUHZrf4.js} +1 -1
- package/dist/{audit-CaFXenfE.js → audit-DgAM_dWL.js} +1 -1
- package/dist/{auth-choice-Divyczym.js → auth-choice-DhI8MW-5.js} +2 -2
- package/dist/{auth-choice-DOQ4Xf6i.js → auth-choice-PdYn-qiM.js} +2 -2
- package/dist/{banner-Cyi2LLe-.js → banner-BQhYK_Ag.js} +1 -1
- package/dist/{browser-cli-DUcEYbmP.js → browser-cli-CQKRSqbb.js} +2 -2
- package/dist/{browser-cli-DM3GvpUm.js → browser-cli-ClxJjz9C.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-CJl0moIs.js → call-BrRWr7Lj.js} +1 -0
- package/dist/{call-BHn18ubR.js → call-CVqBgwrx.js} +1 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-C1sGPky6.js → channel-options-CFwo8sFR.js} +1 -1
- package/dist/{channel-options-Bk4m4-d5.js → channel-options-ZHpChVVk.js} +1 -1
- package/dist/{channel-web-BKbzqQ7x.js → channel-web-UmRhDGhI.js} +1 -1
- package/dist/{channels-cli-CAz8gCcs.js → channels-cli-CRDgQtex.js} +6 -6
- package/dist/{channels-cli-CGOOVbGf.js → channels-cli-rzQvsXSw.js} +6 -6
- package/dist/{chrome-ROtrXlNs.js → chrome-C08Z0XAa.js} +7 -7
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-7JBNvH2_.js → cli-CC9jaj6w.js} +3 -3
- package/dist/{cli-C0zcu-AX.js → cli-DN6fX0Xu.js} +3 -3
- package/dist/{command-registry-BGMCr778.js → command-registry-CH1cn-Lz.js} +10 -10
- package/dist/{completion-cli-EO1xz8q6.js → completion-cli-BgneZQ7D.js} +1 -1
- package/dist/{completion-cli-B1wj8Q43.js → completion-cli-CG24rSh8.js} +2 -2
- package/dist/{config-cli-B9RnWD0Y.js → config-cli-CXa7oMTX.js} +1 -1
- package/dist/{config-cli-QugXKbsV.js → config-cli-DVEOa8P5.js} +1 -1
- package/dist/{configure-DOfxxuzV.js → configure-BDxyPzBl.js} +6 -6
- package/dist/{configure-C_BD9gNf.js → configure-U2yrALDt.js} +6 -6
- package/dist/control-ui/css/style.css +213 -6
- package/dist/control-ui/index.html +24 -2
- package/dist/control-ui/js/connections.js +113 -5
- package/dist/{cron-cli-CH0XOOxj.js → cron-cli--z6DSGhk.js} +2 -2
- package/dist/{cron-cli-DBt3Lxhm.js → cron-cli-DZJZ_EvY.js} +2 -2
- package/dist/{daemon-cli-BRMcpQb7.js → daemon-cli-B9yneKpO.js} +2 -2
- package/dist/{daemon-cli-DZeTm_F2.js → daemon-cli-bwFAShzf.js} +2 -2
- package/dist/daemon-cli.js +1 -0
- package/dist/{deliver-BC3liFsT.js → deliver-CLZGlRZt.js} +1 -1
- package/dist/{devices-cli-DwCYjYyV.js → devices-cli-fVRpoa9z.js} +1 -1
- package/dist/{devices-cli-C7aaQeFG.js → devices-cli-oqibXYae.js} +1 -1
- package/dist/{doctor-completion-DL-ojJGb.js → doctor-completion-8zSqfzuU.js} +1 -1
- package/dist/{doctor-completion-Dm4QxJdc.js → doctor-completion-ny9DIsuL.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BcwVEh83.js → exec-approvals-cli-BpOqYXNL.js} +3 -3
- package/dist/{exec-approvals-cli-CWpi7F1X.js → exec-approvals-cli-DjGZKQbZ.js} +3 -3
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-DcrPLnL3.js → gateway-cli-CmfMdGhz.js} +14 -13
- package/dist/{gateway-cli-DyFOMcg2.js → gateway-cli-Dg0UoYav.js} +14 -13
- package/dist/{gateway-rpc-BzkjTxlD.js → gateway-rpc-Bp0KNJtL.js} +1 -1
- package/dist/{gateway-rpc-CJPoGX_W.js → gateway-rpc-XT8cFwtz.js} +1 -1
- package/dist/{glass-ui-ws-Czh-1YjO.js → glass-ui-ws-Bgpyl16w.js} +10 -10
- package/dist/{glass-ui-ws-nxFknxgE.js → glass-ui-ws-aKGCf5hN.js} +10 -10
- package/dist/{health-CFd-Q1SH.js → health-Bj8mUXDd.js} +48 -14
- package/dist/{health-1ZDwurPU.js → health-D9pKXesa.js} +48 -14
- package/dist/{hooks-cli-C4tUO222.js → hooks-cli-5G9JN39f.js} +4 -4
- package/dist/{hooks-cli-nKBiWE2v.js → hooks-cli-DtVT3wM_.js} +4 -4
- package/dist/{image-C6v6m8Id.js → image-BnO8X_hj.js} +1 -1
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{logs-cli-DWqkAMwy.js → logs-cli-gU7p7zX0.js} +2 -2
- package/dist/{logs-cli-q93Kur4b.js → logs-cli-tJPD_Dps.js} +2 -2
- package/dist/{models-Cd9pFy1G.js → models-DQthIpnz.js} +3 -3
- package/dist/{models-cli-Cxo55E0S.js → models-cli-D8zc0jSg.js} +5 -5
- package/dist/{models-cli-CSqy5xI0.js → models-cli-UaHeUaJq.js} +4 -4
- package/dist/{nodes-cli-BHVOxukb.js → nodes-cli-6vHqlpLI.js} +2 -2
- package/dist/{nodes-cli-seBKfjdd.js → nodes-cli-DxHMNlWq.js} +2 -2
- package/dist/{onboard-SceHniST.js → onboard-B7CIWmHb.js} +3 -3
- package/dist/{onboard-CVKCZHVL.js → onboard-CYYcbEPR.js} +3 -3
- package/dist/{onboard-channels-BI-59zLH.js → onboard-channels-CUUTFx1F.js} +1 -1
- package/dist/{onboard-channels-KGMbYFcP.js → onboard-channels-HyGv2y5c.js} +1 -1
- package/dist/{onboard-helpers-BV3zKTt_.js → onboard-helpers-7H_XiJt-.js} +1 -1
- package/dist/{onboard-helpers-BFyI1sla.js → onboard-helpers-CPSKXD5k.js} +1 -1
- package/dist/{onboard-remote-C-EvSvV9.js → onboard-remote-BlCdyTsP.js} +1 -1
- package/dist/{onboard-remote-CvtBwhma.js → onboard-remote-DFavRxQ6.js} +1 -1
- package/dist/{onboard-skills-C1jrqA-P.js → onboard-skills-CssuFDjw.js} +1 -1
- package/dist/{onboard-skills-CWaMGMQi.js → onboard-skills-DVtfVPsB.js} +1 -1
- package/dist/{onboarding-Bs3JhONv.js → onboarding-BHnEBXBG.js} +7 -7
- package/dist/{onboarding-BPjquWC3.js → onboarding-CchD1d-n.js} +7 -7
- package/dist/{onboarding.finalize-lAwIuZFE.js → onboarding.finalize-BZ6tQzoC.js} +8 -8
- package/dist/{onboarding.finalize-Dbx89qG2.js → onboarding.finalize-CnzLAjla.js} +9 -9
- package/dist/{onboarding.gateway-config-Btb5PaGv.js → onboarding.gateway-config-TM8ERKyn.js} +2 -2
- package/dist/{onboarding.gateway-config-gMhAsXgO.js → onboarding.gateway-config-vGTQDqA6.js} +2 -2
- package/dist/{pi-embedded-CG4P3hy3.js → pi-embedded-BIATvD3R.js} +3 -2
- package/dist/{pi-embedded-helpers-BUNbSNWw.js → pi-embedded-helpers-DcN8GHTt.js} +4 -4
- package/dist/{plugin-registry-DSrgdZKM.js → plugin-registry-7MeuYUTG.js} +1 -1
- package/dist/{plugin-registry-C4aoDdOB.js → plugin-registry-Dx8MaVaX.js} +1 -1
- package/dist/plugin-sdk/{channel-web-CsZ6epLT.js → channel-web-C6_r-2VI.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-Rv3jE0Rs.js → reply-CIDYJYie.js} +3 -2
- package/dist/plugin-sdk/{web-D6R4__wu.js → web-CHKraWl6.js} +2 -2
- package/dist/{plugins-cli-DJM_xxIg.js → plugins-cli-bblxpPhT.js} +4 -4
- package/dist/{plugins-cli-CSwcV2M6.js → plugins-cli-oatWFlGr.js} +4 -4
- package/dist/{program-CtX7o1VN.js → program-cj70FFee.js} +9 -9
- package/dist/{program-context-B2HPYMcn.js → program-context-DSkr5IEn.js} +28 -28
- package/dist/{prompt-select-styled-5a7_K1sn.js → prompt-select-styled-C9MQv67C.js} +6 -6
- package/dist/{prompt-select-styled-Cs79EjHm.js → prompt-select-styled-DxtxwQmE.js} +6 -6
- package/dist/{provider-auth-helpers-DOa1Rc3D.js → provider-auth-helpers-CezJXPrZ.js} +1 -1
- package/dist/{provider-auth-helpers-fWAoFIwZ.js → provider-auth-helpers-D9BOiQMP.js} +1 -1
- package/dist/{push-apns-HnaGVJwW.js → push-apns-CL2MBhWP.js} +1 -1
- package/dist/{push-apns-Dnd_jTU-.js → push-apns-DUWtWoB-.js} +1 -1
- package/dist/{pw-ai-BLrC_W1X.js → pw-ai-B476LzSK.js} +1 -1
- package/dist/{register.agent-CaputGWT.js → register.agent-B-v1ixge.js} +8 -8
- package/dist/{register.agent-lqb5eXZs.js → register.agent-Dms0oymW.js} +7 -7
- package/dist/{register.configure-C3AQZaAa.js → register.configure-BP_a-E21.js} +10 -10
- package/dist/{register.configure-C0KBR4e6.js → register.configure-DcwAboPG.js} +10 -10
- package/dist/{register.maintenance-DLY3bZTm.js → register.maintenance-C4tn55a5.js} +9 -9
- package/dist/{register.maintenance-c8Ig4nYO.js → register.maintenance-D_1D-fbi.js} +10 -10
- package/dist/{register.message-CUclEFp5.js → register.message-Csn-WBH0.js} +4 -4
- package/dist/{register.message-Bexo7F0u.js → register.message-FsBEsQeD.js} +4 -4
- package/dist/{register.onboard-CVmFRJ__.js → register.onboard-CHpUtNWT.js} +6 -6
- package/dist/{register.onboard-DpeqS3GT.js → register.onboard-OXqQs97I.js} +6 -6
- package/dist/{register.setup-DogqYYN7.js → register.setup-C8FuEUO_.js} +6 -6
- package/dist/{register.setup-NiDBVZE2.js → register.setup-DbPNjezQ.js} +6 -6
- package/dist/{register.status-health-sessions-C5noW7M3.js → register.status-health-sessions-BzB_lPbR.js} +6 -6
- package/dist/{register.status-health-sessions-CTErhiR9.js → register.status-health-sessions-c8vq6An_.js} +6 -6
- package/dist/{register.subclis-E_1XOkdf.js → register.subclis-Dt0Az0gT.js} +19 -19
- package/dist/{reply-DAMo5JhO.js → reply-B0azB7WR.js} +4 -4
- package/dist/{rpc-IXmOgc1l.js → rpc-CHb_JvbM.js} +1 -1
- package/dist/{rpc-k8pnK8TE.js → rpc-Cog-Z1rx.js} +1 -1
- package/dist/{run-main-Cv91hLSK.js → run-main-D-OIb2fr.js} +16 -16
- package/dist/{runner-QX0Z6K1w.js → runner-D5nFF9E6.js} +1 -1
- package/dist/{security-cli-Cxmb5Rpv.js → security-cli-B5s73Le2.js} +2 -2
- package/dist/{security-cli-BsStEfWU.js → security-cli-CzWHkrqD.js} +2 -2
- package/dist/{server-methods-CXL1Nrbp.js → server-methods-Dph_r18S.js} +68 -10
- package/dist/{server-methods-C_rhjm5p.js → server-methods-b55BoGQD.js} +68 -10
- package/dist/{server-node-events-B_UZBZn_.js → server-node-events-AVxH5dXs.js} +4 -4
- package/dist/{server-node-events-CdUVoXvg.js → server-node-events-Ba9K9DB9.js} +4 -4
- package/dist/{status-CzI_lZth.js → status-Bbss-JjB.js} +5 -5
- package/dist/{status-DQQ-w3eF.js → status-Cg3Vn5FV.js} +5 -5
- package/dist/{status-Ds4oB9tJ.js → status-CpWkGj5h.js} +1 -1
- package/dist/{status-Drn5xFtL.js → status-DNxAYvxM.js} +1 -1
- package/dist/{subagent-registry-CfoRc8ng.js → subagent-registry-CsYeP8wc.js} +4 -4
- package/dist/{system-cli-DnlgTnqh.js → system-cli-D3CVv1ab.js} +2 -2
- package/dist/{system-cli-CQNazJoF.js → system-cli-rpyy5jcw.js} +2 -2
- package/dist/{tui-CXTwJqpz.js → tui-DfPeXwah.js} +1 -1
- package/dist/{tui-DTW81r9y.js → tui-LZPdrFmK.js} +1 -1
- package/dist/{tui-cli-KiaTeKr0.js → tui-cli-Bm3TJgXf.js} +2 -2
- package/dist/{tui-cli-DGmt1Xs0.js → tui-cli-DFXZ7r1F.js} +2 -2
- package/dist/{unified-runner-DweFv8Vx.js → unified-runner-BojeuKIk.js} +17 -16
- package/dist/{update-cli-Ba4La00X.js → update-cli-DO0A0UCN.js} +10 -10
- package/dist/{update-cli-BkJZPKh8.js → update-cli-Dh_GPhI4.js} +11 -11
- package/dist/{update-runner-w3GO-spo.js → update-runner-BE6kDMsw.js} +1 -1
- package/dist/{update-runner-CqWSrJXt.js → update-runner-Cv6hDgKV.js} +1 -1
- package/dist/{web-0cG6_ynp.js → web-BOv3xM7W.js} +4 -4
- package/dist/{web-DHAEIalz.js → web-CYf5I3aU.js} +3 -3
- package/dist/{web-9rrJ5lZr.js → web-Dxkxcp7P.js} +6 -6
- package/dist/{web-Cx3SfQiX.js → web-Ifwqx6Dt.js} +1 -1
- package/docs/connections/email.md +143 -0
- package/docs/connections/msteams.md +80 -0
- package/docs/connections/slack.md +91 -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/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 +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { an as getPrimaryCommand, cn as hasHelpOrVersion } from "./entry.js";
|
|
3
|
-
import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-
|
|
3
|
+
import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-Dt0Az0gT.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/program/command-registry.ts
|
|
6
6
|
var command_registry_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -22,7 +22,7 @@ const coreEntries = [
|
|
|
22
22
|
hasSubcommands: false
|
|
23
23
|
}],
|
|
24
24
|
register: async ({ program }) => {
|
|
25
|
-
(await import("./register.setup-
|
|
25
|
+
(await import("./register.setup-C8FuEUO_.js")).registerSetupCommand(program);
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -32,7 +32,7 @@ const coreEntries = [
|
|
|
32
32
|
hasSubcommands: false
|
|
33
33
|
}],
|
|
34
34
|
register: async ({ program }) => {
|
|
35
|
-
(await import("./register.onboard-
|
|
35
|
+
(await import("./register.onboard-CHpUtNWT.js")).registerOnboardCommand(program);
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
{
|
|
@@ -42,7 +42,7 @@ const coreEntries = [
|
|
|
42
42
|
hasSubcommands: false
|
|
43
43
|
}],
|
|
44
44
|
register: async ({ program }) => {
|
|
45
|
-
(await import("./register.configure-
|
|
45
|
+
(await import("./register.configure-DcwAboPG.js")).registerConfigureCommand(program);
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
{
|
|
@@ -52,7 +52,7 @@ const coreEntries = [
|
|
|
52
52
|
hasSubcommands: true
|
|
53
53
|
}],
|
|
54
54
|
register: async ({ program }) => {
|
|
55
|
-
(await import("./config-cli-
|
|
55
|
+
(await import("./config-cli-DVEOa8P5.js")).registerConfigCli(program);
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
{
|
|
@@ -79,7 +79,7 @@ const coreEntries = [
|
|
|
79
79
|
}
|
|
80
80
|
],
|
|
81
81
|
register: async ({ program }) => {
|
|
82
|
-
(await import("./register.maintenance-
|
|
82
|
+
(await import("./register.maintenance-D_1D-fbi.js")).registerMaintenanceCommands(program);
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
{
|
|
@@ -89,7 +89,7 @@ const coreEntries = [
|
|
|
89
89
|
hasSubcommands: true
|
|
90
90
|
}],
|
|
91
91
|
register: async ({ program, ctx }) => {
|
|
92
|
-
(await import("./register.message-
|
|
92
|
+
(await import("./register.message-Csn-WBH0.js")).registerMessageCommands(program, ctx);
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
{
|
|
@@ -113,7 +113,7 @@ const coreEntries = [
|
|
|
113
113
|
hasSubcommands: true
|
|
114
114
|
}],
|
|
115
115
|
register: async ({ program, ctx }) => {
|
|
116
|
-
(await import("./register.agent-
|
|
116
|
+
(await import("./register.agent-B-v1ixge.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -135,7 +135,7 @@ const coreEntries = [
|
|
|
135
135
|
}
|
|
136
136
|
],
|
|
137
137
|
register: async ({ program }) => {
|
|
138
|
-
(await import("./register.status-health-sessions-
|
|
138
|
+
(await import("./register.status-health-sessions-BzB_lPbR.js")).registerStatusHealthSessionsCommands(program);
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
141
|
{
|
|
@@ -145,7 +145,7 @@ const coreEntries = [
|
|
|
145
145
|
hasSubcommands: true
|
|
146
146
|
}],
|
|
147
147
|
register: async ({ program }) => {
|
|
148
|
-
(await import("./browser-cli-
|
|
148
|
+
(await import("./browser-cli-CQKRSqbb.js")).registerBrowserCli(program);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
];
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
3
3
|
import { h as pathExists } from "./utils-B-0b9bGM.js";
|
|
4
4
|
import { i as routeLogsToStderr } from "./subsystem-D9vIQve0.js";
|
|
5
|
-
import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-
|
|
5
|
+
import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-DSkr5IEn.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Yt as resolveStateDir, l as routeLogsToStderr, nt as pathExists } from "./entry.js";
|
|
3
|
-
import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-
|
|
4
|
-
import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-
|
|
3
|
+
import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-Dt0Az0gT.js";
|
|
4
|
+
import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-CH1cn-Lz.js";
|
|
5
5
|
import { t as getProgramContext } from "./program-context-CqzR_m-7.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
|
|
|
206
206
|
}
|
|
207
207
|
function registerConfigCli(program) {
|
|
208
208
|
const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
209
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
209
|
+
const { configureCommandFromSectionsArg } = await import("./configure-BDxyPzBl.js").then((n) => n.t);
|
|
210
210
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
211
211
|
});
|
|
212
212
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
|
|
|
201
201
|
}
|
|
202
202
|
function registerConfigCli(program) {
|
|
203
203
|
const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
204
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
204
|
+
const { configureCommandFromSectionsArg } = await import("./configure-U2yrALDt.js").then((n) => n.t);
|
|
205
205
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
206
206
|
});
|
|
207
207
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -8,26 +8,26 @@ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } fr
|
|
|
8
8
|
import { a as findTailscaleBinary } from "./tailscale-D5dKabOc.js";
|
|
9
9
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
|
|
10
10
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
11
|
-
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-
|
|
11
|
+
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-CPSKXD5k.js";
|
|
12
12
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CnkMpSXt.js";
|
|
13
13
|
import { t as note$1 } from "./note-DQ9BvHF2.js";
|
|
14
14
|
import { t as WizardCancelledError } from "./prompts-CfOu9uZi.js";
|
|
15
15
|
import { t as createClackPrompter } from "./clack-prompter-DMuVyYP2.js";
|
|
16
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
16
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CUUTFx1F.js";
|
|
17
17
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BT1zC2PU.js";
|
|
18
18
|
import { t as resolveGatewayService } from "./service-osK70kTZ.js";
|
|
19
|
-
import { r as healthCommand } from "./health-
|
|
19
|
+
import { r as healthCommand } from "./health-Bj8mUXDd.js";
|
|
20
20
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
|
|
21
21
|
import { n as logConfigUpdated } from "./logging-KpicI3yD.js";
|
|
22
22
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-Cn6U3t8O.js";
|
|
23
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
23
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DhI8MW-5.js";
|
|
24
24
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-D-n-rWyt.js";
|
|
25
25
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DCskIKcx.js";
|
|
26
26
|
import { a as promptCustomApiConfig } from "./onboard-custom-B3CBlZe5.js";
|
|
27
27
|
import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CjlyK5jc.js";
|
|
28
28
|
import { t as formatHealthCheckFailure } from "./health-format-DRCaak6L.js";
|
|
29
|
-
import { n as promptRemoteGatewayConfig } from "./onboard-remote-
|
|
30
|
-
import { n as setupSkills } from "./onboard-skills-
|
|
29
|
+
import { n as promptRemoteGatewayConfig } from "./onboard-remote-BlCdyTsP.js";
|
|
30
|
+
import { n as setupSkills } from "./onboard-skills-CssuFDjw.js";
|
|
31
31
|
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
32
32
|
|
|
33
33
|
//#region src/commands/configure.shared.ts
|
|
@@ -6,26 +6,26 @@ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } fr
|
|
|
6
6
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
7
7
|
import { a as findTailscaleBinary } from "./tailscale-CbbvYNVw.js";
|
|
8
8
|
import { n as withProgress } from "./progress-BAHiAaDW.js";
|
|
9
|
-
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-
|
|
9
|
+
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-7H_XiJt-.js";
|
|
10
10
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-DwCXob2h.js";
|
|
11
11
|
import { t as note$1 } from "./note-DDecZomM.js";
|
|
12
12
|
import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
|
|
13
13
|
import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
|
|
14
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
14
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-HyGv2y5c.js";
|
|
15
15
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BV78EN62.js";
|
|
16
16
|
import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
|
|
17
|
-
import { r as healthCommand } from "./health-
|
|
17
|
+
import { r as healthCommand } from "./health-D9pKXesa.js";
|
|
18
18
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
|
|
19
19
|
import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
|
|
20
20
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DVcYPG2v.js";
|
|
21
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
21
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-PdYn-qiM.js";
|
|
22
22
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-RQfDGgfM.js";
|
|
23
23
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
|
|
24
24
|
import { a as promptCustomApiConfig } from "./onboard-custom-B1paBymW.js";
|
|
25
25
|
import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-B-xy96ST.js";
|
|
26
26
|
import { t as formatHealthCheckFailure } from "./health-format-CzgUHmmX.js";
|
|
27
|
-
import { n as promptRemoteGatewayConfig } from "./onboard-remote-
|
|
28
|
-
import { n as setupSkills } from "./onboard-skills-
|
|
27
|
+
import { n as promptRemoteGatewayConfig } from "./onboard-remote-DFavRxQ6.js";
|
|
28
|
+
import { n as setupSkills } from "./onboard-skills-DVtfVPsB.js";
|
|
29
29
|
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
30
30
|
|
|
31
31
|
//#region src/commands/configure.shared.ts
|
|
@@ -440,7 +440,8 @@ body {
|
|
|
440
440
|
white-space: nowrap;
|
|
441
441
|
appearance: none;
|
|
442
442
|
-webkit-appearance: none;
|
|
443
|
-
background-image:
|
|
443
|
+
background-image:
|
|
444
|
+
linear-gradient(45deg, transparent 50%, currentColor 50%),
|
|
444
445
|
linear-gradient(135deg, currentColor 50%, transparent 50%);
|
|
445
446
|
background-position:
|
|
446
447
|
calc(100% - 10px) 50%,
|
|
@@ -3630,10 +3631,18 @@ body {
|
|
|
3630
3631
|
font-weight: 600;
|
|
3631
3632
|
letter-spacing: 0.04em;
|
|
3632
3633
|
}
|
|
3633
|
-
.debug-type--chat {
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
.debug-type--
|
|
3634
|
+
.debug-type--chat {
|
|
3635
|
+
color: var(--accent-cyan);
|
|
3636
|
+
}
|
|
3637
|
+
.debug-type--agent {
|
|
3638
|
+
color: var(--accent-purple);
|
|
3639
|
+
}
|
|
3640
|
+
.debug-type--error {
|
|
3641
|
+
color: #ef4444;
|
|
3642
|
+
}
|
|
3643
|
+
.debug-type--other {
|
|
3644
|
+
color: rgba(255, 255, 255, 0.4);
|
|
3645
|
+
}
|
|
3637
3646
|
|
|
3638
3647
|
.debug-summary {
|
|
3639
3648
|
color: rgba(255, 255, 255, 0.55);
|
|
@@ -4114,10 +4123,12 @@ body {
|
|
|
4114
4123
|
display: flex;
|
|
4115
4124
|
align-items: center;
|
|
4116
4125
|
gap: 8px;
|
|
4126
|
+
font-family: inherit;
|
|
4117
4127
|
font-size: 12px;
|
|
4118
4128
|
font-weight: 500;
|
|
4119
4129
|
color: var(--accent-cyan);
|
|
4120
4130
|
text-decoration: none;
|
|
4131
|
+
cursor: pointer;
|
|
4121
4132
|
padding: 8px 14px;
|
|
4122
4133
|
background: rgba(0, 212, 255, 0.1);
|
|
4123
4134
|
border: 1px solid rgba(0, 212, 255, 0.2);
|
|
@@ -4129,6 +4140,203 @@ body {
|
|
|
4129
4140
|
border-color: rgba(0, 212, 255, 0.35);
|
|
4130
4141
|
}
|
|
4131
4142
|
|
|
4143
|
+
/* ── Docs Viewer Modal (scrollable markdown viewer) ────────────────────── */
|
|
4144
|
+
|
|
4145
|
+
.docs-viewer-overlay {
|
|
4146
|
+
position: fixed;
|
|
4147
|
+
inset: 0;
|
|
4148
|
+
z-index: 9100;
|
|
4149
|
+
display: flex;
|
|
4150
|
+
align-items: center;
|
|
4151
|
+
justify-content: center;
|
|
4152
|
+
background: rgba(0, 0, 0, 0.75);
|
|
4153
|
+
backdrop-filter: blur(10px);
|
|
4154
|
+
opacity: 0;
|
|
4155
|
+
visibility: hidden;
|
|
4156
|
+
transition:
|
|
4157
|
+
opacity 0.25s ease,
|
|
4158
|
+
visibility 0.25s ease;
|
|
4159
|
+
}
|
|
4160
|
+
.docs-viewer-overlay.open {
|
|
4161
|
+
opacity: 1;
|
|
4162
|
+
visibility: visible;
|
|
4163
|
+
}
|
|
4164
|
+
|
|
4165
|
+
.docs-viewer {
|
|
4166
|
+
position: relative;
|
|
4167
|
+
width: 92%;
|
|
4168
|
+
max-width: 820px;
|
|
4169
|
+
max-height: 82vh;
|
|
4170
|
+
display: flex;
|
|
4171
|
+
flex-direction: column;
|
|
4172
|
+
background: linear-gradient(135deg, rgba(15, 15, 25, 0.98), rgba(10, 10, 18, 0.98));
|
|
4173
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
4174
|
+
border-radius: 16px;
|
|
4175
|
+
box-shadow:
|
|
4176
|
+
0 28px 90px rgba(0, 0, 0, 0.7),
|
|
4177
|
+
0 0 1px rgba(255, 255, 255, 0.1);
|
|
4178
|
+
transform: scale(0.96) translateY(12px);
|
|
4179
|
+
transition: transform 0.25s ease;
|
|
4180
|
+
overflow: hidden;
|
|
4181
|
+
}
|
|
4182
|
+
.docs-viewer-overlay.open .docs-viewer {
|
|
4183
|
+
transform: scale(1) translateY(0);
|
|
4184
|
+
}
|
|
4185
|
+
|
|
4186
|
+
.docs-viewer-header {
|
|
4187
|
+
display: flex;
|
|
4188
|
+
align-items: center;
|
|
4189
|
+
gap: 14px;
|
|
4190
|
+
padding: 18px 22px;
|
|
4191
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
|
4192
|
+
flex-shrink: 0;
|
|
4193
|
+
}
|
|
4194
|
+
.docs-viewer-title {
|
|
4195
|
+
flex: 1;
|
|
4196
|
+
font-size: 16px;
|
|
4197
|
+
font-weight: 600;
|
|
4198
|
+
color: var(--text);
|
|
4199
|
+
letter-spacing: 0.02em;
|
|
4200
|
+
}
|
|
4201
|
+
.docs-viewer-close {
|
|
4202
|
+
width: 34px;
|
|
4203
|
+
height: 34px;
|
|
4204
|
+
border: none;
|
|
4205
|
+
background: rgba(255, 255, 255, 0.06);
|
|
4206
|
+
border-radius: 8px;
|
|
4207
|
+
color: var(--text-muted);
|
|
4208
|
+
cursor: pointer;
|
|
4209
|
+
display: flex;
|
|
4210
|
+
align-items: center;
|
|
4211
|
+
justify-content: center;
|
|
4212
|
+
transition: all 0.2s ease;
|
|
4213
|
+
}
|
|
4214
|
+
.docs-viewer-close:hover {
|
|
4215
|
+
background: rgba(255, 255, 255, 0.12);
|
|
4216
|
+
color: var(--text);
|
|
4217
|
+
}
|
|
4218
|
+
|
|
4219
|
+
.docs-viewer-body {
|
|
4220
|
+
padding: 20px 28px 28px;
|
|
4221
|
+
overflow-y: auto;
|
|
4222
|
+
flex: 1 1 auto;
|
|
4223
|
+
color: var(--text);
|
|
4224
|
+
font-size: 14px;
|
|
4225
|
+
line-height: 1.6;
|
|
4226
|
+
}
|
|
4227
|
+
.docs-viewer-loading,
|
|
4228
|
+
.docs-viewer-error {
|
|
4229
|
+
color: var(--text-muted);
|
|
4230
|
+
font-style: italic;
|
|
4231
|
+
padding: 8px 0;
|
|
4232
|
+
}
|
|
4233
|
+
.docs-viewer-error {
|
|
4234
|
+
color: var(--accent-red, #f87171);
|
|
4235
|
+
font-style: normal;
|
|
4236
|
+
}
|
|
4237
|
+
|
|
4238
|
+
.docs-viewer-body h1,
|
|
4239
|
+
.docs-viewer-body h2,
|
|
4240
|
+
.docs-viewer-body h3,
|
|
4241
|
+
.docs-viewer-body h4 {
|
|
4242
|
+
color: var(--text);
|
|
4243
|
+
font-weight: 600;
|
|
4244
|
+
line-height: 1.3;
|
|
4245
|
+
margin-top: 1.4em;
|
|
4246
|
+
margin-bottom: 0.5em;
|
|
4247
|
+
}
|
|
4248
|
+
.docs-viewer-body h1 {
|
|
4249
|
+
font-size: 22px;
|
|
4250
|
+
margin-top: 0;
|
|
4251
|
+
}
|
|
4252
|
+
.docs-viewer-body h2 {
|
|
4253
|
+
font-size: 18px;
|
|
4254
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
|
4255
|
+
padding-bottom: 6px;
|
|
4256
|
+
}
|
|
4257
|
+
.docs-viewer-body h3 {
|
|
4258
|
+
font-size: 15px;
|
|
4259
|
+
color: var(--accent-cyan);
|
|
4260
|
+
}
|
|
4261
|
+
.docs-viewer-body h4 {
|
|
4262
|
+
font-size: 13px;
|
|
4263
|
+
text-transform: uppercase;
|
|
4264
|
+
letter-spacing: 0.06em;
|
|
4265
|
+
color: var(--text-muted);
|
|
4266
|
+
}
|
|
4267
|
+
.docs-viewer-body p {
|
|
4268
|
+
margin: 0.6em 0;
|
|
4269
|
+
}
|
|
4270
|
+
.docs-viewer-body ul,
|
|
4271
|
+
.docs-viewer-body ol {
|
|
4272
|
+
margin: 0.5em 0;
|
|
4273
|
+
padding-left: 1.4em;
|
|
4274
|
+
}
|
|
4275
|
+
.docs-viewer-body li {
|
|
4276
|
+
margin: 0.25em 0;
|
|
4277
|
+
}
|
|
4278
|
+
.docs-viewer-body a {
|
|
4279
|
+
color: var(--accent-cyan);
|
|
4280
|
+
text-decoration: underline;
|
|
4281
|
+
text-underline-offset: 2px;
|
|
4282
|
+
}
|
|
4283
|
+
.docs-viewer-body a:hover {
|
|
4284
|
+
color: var(--text);
|
|
4285
|
+
}
|
|
4286
|
+
.docs-viewer-body code {
|
|
4287
|
+
font-family: var(--font-mono);
|
|
4288
|
+
font-size: 12.5px;
|
|
4289
|
+
background: rgba(255, 255, 255, 0.06);
|
|
4290
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
4291
|
+
border-radius: 4px;
|
|
4292
|
+
padding: 1px 5px;
|
|
4293
|
+
color: var(--accent-cyan);
|
|
4294
|
+
}
|
|
4295
|
+
.docs-viewer-body pre {
|
|
4296
|
+
background: rgba(0, 0, 0, 0.45);
|
|
4297
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
4298
|
+
border-radius: 8px;
|
|
4299
|
+
padding: 12px 14px;
|
|
4300
|
+
overflow-x: auto;
|
|
4301
|
+
margin: 0.8em 0;
|
|
4302
|
+
}
|
|
4303
|
+
.docs-viewer-body pre code {
|
|
4304
|
+
background: none;
|
|
4305
|
+
border: none;
|
|
4306
|
+
padding: 0;
|
|
4307
|
+
color: var(--text);
|
|
4308
|
+
font-size: 12px;
|
|
4309
|
+
line-height: 1.55;
|
|
4310
|
+
}
|
|
4311
|
+
.docs-viewer-body table {
|
|
4312
|
+
width: 100%;
|
|
4313
|
+
border-collapse: collapse;
|
|
4314
|
+
margin: 0.8em 0;
|
|
4315
|
+
font-size: 13px;
|
|
4316
|
+
}
|
|
4317
|
+
.docs-viewer-body th,
|
|
4318
|
+
.docs-viewer-body td {
|
|
4319
|
+
text-align: left;
|
|
4320
|
+
padding: 8px 10px;
|
|
4321
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
4322
|
+
}
|
|
4323
|
+
.docs-viewer-body th {
|
|
4324
|
+
background: rgba(255, 255, 255, 0.04);
|
|
4325
|
+
font-weight: 600;
|
|
4326
|
+
color: var(--text);
|
|
4327
|
+
}
|
|
4328
|
+
.docs-viewer-body blockquote {
|
|
4329
|
+
border-left: 3px solid rgba(0, 212, 255, 0.4);
|
|
4330
|
+
margin: 0.8em 0;
|
|
4331
|
+
padding: 0.3em 0 0.3em 14px;
|
|
4332
|
+
color: var(--text-muted);
|
|
4333
|
+
}
|
|
4334
|
+
.docs-viewer-body hr {
|
|
4335
|
+
border: none;
|
|
4336
|
+
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
|
4337
|
+
margin: 1.4em 0;
|
|
4338
|
+
}
|
|
4339
|
+
|
|
4132
4340
|
/* ══════════════════════════════════════════════════════════════════════════
|
|
4133
4341
|
SUBAGENTS PANEL
|
|
4134
4342
|
══════════════════════════════════════════════════════════════════════════ */
|
|
@@ -5488,4 +5696,3 @@ body {
|
|
|
5488
5696
|
box-shadow: 0 0 0 4px rgba(239, 68, 68, 0);
|
|
5489
5697
|
}
|
|
5490
5698
|
}
|
|
5491
|
-
|
|
@@ -798,7 +798,7 @@
|
|
|
798
798
|
</div>
|
|
799
799
|
<div class="conn-modal-body" id="conn-modal-body"></div>
|
|
800
800
|
<div class="conn-modal-footer" id="conn-modal-footer">
|
|
801
|
-
<
|
|
801
|
+
<button class="conn-modal-docs" id="conn-modal-docs" type="button">
|
|
802
802
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none">
|
|
803
803
|
<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20" stroke="currentColor" stroke-width="2" />
|
|
804
804
|
<path
|
|
@@ -808,7 +808,29 @@
|
|
|
808
808
|
/>
|
|
809
809
|
</svg>
|
|
810
810
|
View Documentation
|
|
811
|
-
</
|
|
811
|
+
</button>
|
|
812
|
+
</div>
|
|
813
|
+
</div>
|
|
814
|
+
</div>
|
|
815
|
+
|
|
816
|
+
<!-- ── Docs Viewer Modal (scrollable markdown viewer) ─────────────────── -->
|
|
817
|
+
<div class="docs-viewer-overlay" id="docs-viewer-overlay" aria-hidden="true">
|
|
818
|
+
<div class="docs-viewer" id="docs-viewer" role="dialog" aria-modal="true">
|
|
819
|
+
<div class="docs-viewer-header">
|
|
820
|
+
<div class="docs-viewer-title" id="docs-viewer-title">Documentation</div>
|
|
821
|
+
<button class="docs-viewer-close" id="docs-viewer-close" title="Close" type="button">
|
|
822
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none">
|
|
823
|
+
<path
|
|
824
|
+
d="M18 6L6 18M6 6l12 12"
|
|
825
|
+
stroke="currentColor"
|
|
826
|
+
stroke-width="2"
|
|
827
|
+
stroke-linecap="round"
|
|
828
|
+
/>
|
|
829
|
+
</svg>
|
|
830
|
+
</button>
|
|
831
|
+
</div>
|
|
832
|
+
<div class="docs-viewer-body" id="docs-viewer-body">
|
|
833
|
+
<p class="docs-viewer-loading">Loading documentation…</p>
|
|
812
834
|
</div>
|
|
813
835
|
</div>
|
|
814
836
|
</div>
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
id: "slack",
|
|
12
12
|
name: "Slack",
|
|
13
13
|
configPath: "channels.slack",
|
|
14
|
-
docsUrl: "https://docs.symi.ai/channels/slack",
|
|
15
14
|
icon: `<svg viewBox="0 0 24 24" fill="currentColor">
|
|
16
15
|
<path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.124 2.521a2.528 2.528 0 0 1 2.52-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.52V8.834zm-1.271 0a2.528 2.528 0 0 1-2.521 2.521 2.528 2.528 0 0 1-2.521-2.521V2.522A2.528 2.528 0 0 1 15.166 0a2.528 2.528 0 0 1 2.521 2.522v6.312zm-2.521 10.124a2.528 2.528 0 0 1 2.521 2.52A2.528 2.528 0 0 1 15.166 24a2.528 2.528 0 0 1-2.521-2.522v-2.52h2.521zm0-1.271a2.528 2.528 0 0 1-2.521-2.521 2.528 2.528 0 0 1 2.521-2.521h6.312A2.528 2.528 0 0 1 24 15.166a2.528 2.528 0 0 1-2.522 2.521h-6.312z"/>
|
|
17
16
|
</svg>`,
|
|
@@ -25,7 +24,6 @@
|
|
|
25
24
|
id: "email",
|
|
26
25
|
name: "Email",
|
|
27
26
|
configPath: "hooks.gmail + outlook plugin",
|
|
28
|
-
docsUrl: "https://docs.symi.ai/automation/gmail-pubsub",
|
|
29
27
|
icon: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
30
28
|
<rect x="2" y="4" width="20" height="16" rx="2"/>
|
|
31
29
|
<path d="M22 6l-10 7L2 6"/>
|
|
@@ -39,7 +37,6 @@
|
|
|
39
37
|
id: "msteams",
|
|
40
38
|
name: "Microsoft Teams",
|
|
41
39
|
configPath: "channels.msteams",
|
|
42
|
-
docsUrl: "https://docs.symi.ai/channels/msteams",
|
|
43
40
|
icon: `<svg viewBox="0 0 24 24" fill="currentColor">
|
|
44
41
|
<path d="M19.19 8.77c-.73 0-1.39.29-1.88.76V8.5a2.5 2.5 0 0 0-2.5-2.5h-1.62c.18-.46.28-.96.28-1.48a4.04 4.04 0 0 0-4.04-4.04c-2.23 0-4.04 1.81-4.04 4.04 0 .52.1 1.02.28 1.48H4.5A2.5 2.5 0 0 0 2 8.5v9a2.5 2.5 0 0 0 2.5 2.5h9a2.5 2.5 0 0 0 2.5-2.5v-.97c.49.47 1.15.76 1.88.76a2.69 2.69 0 0 0 2.69-2.69v-3.14a2.69 2.69 0 0 0-2.69-2.69h.31zM9.43 2.98a2.04 2.04 0 1 1 0 4.08 2.04 2.04 0 0 1 0-4.08zm4.57 14.52a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v9zm5.88-4.17a.69.69 0 0 1-.69.69.69.69 0 0 1-.69-.69v-3.14c0-.38.31-.69.69-.69.38 0 .69.31.69.69v3.14z"/>
|
|
45
42
|
<circle cx="17.5" cy="5.5" r="2.5"/>
|
|
@@ -175,6 +172,93 @@
|
|
|
175
172
|
const modalDocs = document.getElementById("conn-modal-docs");
|
|
176
173
|
const modalClose = document.getElementById("conn-modal-close");
|
|
177
174
|
|
|
175
|
+
// Docs viewer (in-app scrollable markdown renderer, stacks above conn modal)
|
|
176
|
+
const docsViewerOverlay = document.getElementById("docs-viewer-overlay");
|
|
177
|
+
const docsViewerBody = document.getElementById("docs-viewer-body");
|
|
178
|
+
const docsViewerTitle = document.getElementById("docs-viewer-title");
|
|
179
|
+
const docsViewerClose = document.getElementById("docs-viewer-close");
|
|
180
|
+
|
|
181
|
+
// Tracks which channel's connection modal is currently open, so the
|
|
182
|
+
// "View Documentation" button knows which docs key to fetch.
|
|
183
|
+
let currentModalChannelId = null;
|
|
184
|
+
|
|
185
|
+
const DOCS_VIEWER_TITLES = {
|
|
186
|
+
email: "Email — Outlook & Gmail",
|
|
187
|
+
slack: "Slack Setup",
|
|
188
|
+
msteams: "Microsoft Teams Setup",
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
function stripFrontmatter(markdown) {
|
|
192
|
+
if (!markdown.startsWith("---\n") && !markdown.startsWith("---\r\n")) {
|
|
193
|
+
return markdown;
|
|
194
|
+
}
|
|
195
|
+
const end = markdown.indexOf("\n---", 4);
|
|
196
|
+
if (end === -1) {
|
|
197
|
+
return markdown;
|
|
198
|
+
}
|
|
199
|
+
return markdown.slice(end + 4).replace(/^\s+/, "");
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
async function openDocsViewer(key) {
|
|
203
|
+
if (!docsViewerOverlay || !docsViewerBody) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
docsViewerTitle.textContent = DOCS_VIEWER_TITLES[key] || "Documentation";
|
|
207
|
+
docsViewerBody.innerHTML = '<p class="docs-viewer-loading">Loading documentation…</p>';
|
|
208
|
+
docsViewerOverlay.classList.add("open");
|
|
209
|
+
docsViewerOverlay.setAttribute("aria-hidden", "false");
|
|
210
|
+
// Capture phase so we beat the conn-modal's Esc handler
|
|
211
|
+
document.addEventListener("keydown", onDocsViewerKey, true);
|
|
212
|
+
|
|
213
|
+
if (!window.gateway?.rpc) {
|
|
214
|
+
docsViewerBody.innerHTML =
|
|
215
|
+
'<p class="docs-viewer-error">Gateway is not connected — cannot load documentation.</p>';
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
try {
|
|
219
|
+
const result = await window.gateway.rpc("docs.get", { key });
|
|
220
|
+
const markdown = result && typeof result.markdown === "string" ? result.markdown : "";
|
|
221
|
+
if (!markdown) {
|
|
222
|
+
docsViewerBody.innerHTML =
|
|
223
|
+
'<p class="docs-viewer-error">Documentation is empty or missing on this install.</p>';
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const body = stripFrontmatter(markdown);
|
|
227
|
+
const html =
|
|
228
|
+
window.marked && typeof window.marked.parse === "function"
|
|
229
|
+
? window.marked.parse(body)
|
|
230
|
+
: "<pre>" + escHtml(body) + "</pre>";
|
|
231
|
+
docsViewerBody.innerHTML = html;
|
|
232
|
+
// Make external links open in a new tab with safe rel
|
|
233
|
+
docsViewerBody.querySelectorAll('a[href^="http"]').forEach((a) => {
|
|
234
|
+
a.setAttribute("target", "_blank");
|
|
235
|
+
a.setAttribute("rel", "noopener noreferrer");
|
|
236
|
+
});
|
|
237
|
+
docsViewerBody.scrollTop = 0;
|
|
238
|
+
} catch (err) {
|
|
239
|
+
const msg = err && err.message ? err.message : String(err);
|
|
240
|
+
docsViewerBody.innerHTML =
|
|
241
|
+
'<p class="docs-viewer-error">Failed to load documentation: ' + escHtml(msg) + "</p>";
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
function closeDocsViewer() {
|
|
246
|
+
if (!docsViewerOverlay) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
docsViewerOverlay.classList.remove("open");
|
|
250
|
+
docsViewerOverlay.setAttribute("aria-hidden", "true");
|
|
251
|
+
document.removeEventListener("keydown", onDocsViewerKey, true);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
function onDocsViewerKey(e) {
|
|
255
|
+
if (e.key === "Escape") {
|
|
256
|
+
// Stop the conn-modal's keydown listener from also firing
|
|
257
|
+
e.stopImmediatePropagation();
|
|
258
|
+
closeDocsViewer();
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
178
262
|
function renderProviderSection(title, connected, detailLine, actionLine) {
|
|
179
263
|
const klass = connected ? "connected" : "disconnected";
|
|
180
264
|
const badge = connected ? "CONNECTED" : "NOT CONFIGURED";
|
|
@@ -229,8 +313,9 @@
|
|
|
229
313
|
// Set title
|
|
230
314
|
modalTitle.textContent = channel.name;
|
|
231
315
|
|
|
232
|
-
//
|
|
233
|
-
|
|
316
|
+
// Remember which channel this modal is showing so the
|
|
317
|
+
// "View Documentation" button knows which docs key to fetch.
|
|
318
|
+
currentModalChannelId = channelId;
|
|
234
319
|
|
|
235
320
|
if (channelId === "email") {
|
|
236
321
|
modalBody.innerHTML = renderEmailModalBody(channelState);
|
|
@@ -285,6 +370,29 @@
|
|
|
285
370
|
});
|
|
286
371
|
}
|
|
287
372
|
|
|
373
|
+
// "View Documentation" button → open in-app docs viewer.
|
|
374
|
+
// The docs-viewer overlay stacks on top of the conn-modal.
|
|
375
|
+
if (modalDocs) {
|
|
376
|
+
modalDocs.addEventListener("click", (e) => {
|
|
377
|
+
e.preventDefault();
|
|
378
|
+
if (currentModalChannelId) {
|
|
379
|
+
void openDocsViewer(currentModalChannelId);
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// Docs viewer event listeners
|
|
385
|
+
if (docsViewerClose) {
|
|
386
|
+
docsViewerClose.addEventListener("click", closeDocsViewer);
|
|
387
|
+
}
|
|
388
|
+
if (docsViewerOverlay) {
|
|
389
|
+
docsViewerOverlay.addEventListener("click", (e) => {
|
|
390
|
+
if (e.target === docsViewerOverlay) {
|
|
391
|
+
closeDocsViewer();
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
|
|
288
396
|
// ── Handle Click ─────────────────────────────────────────────────────────
|
|
289
397
|
function handleChannelClick(channelId) {
|
|
290
398
|
openModal(channelId);
|
|
@@ -17,14 +17,14 @@ import "./accounts-DDuIpcln.js";
|
|
|
17
17
|
import "./bindings-DFaVVCsf.js";
|
|
18
18
|
import "./logging-w5jq5901.js";
|
|
19
19
|
import "./client-B8xmq-Pw.js";
|
|
20
|
-
import "./call-
|
|
20
|
+
import "./call-CVqBgwrx.js";
|
|
21
21
|
import "./pairing-token-CX3NN_qj.js";
|
|
22
22
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
23
23
|
import "./progress-jIePzvGA.js";
|
|
24
24
|
import { n as formatDurationHuman } from "./format-duration-D0B0Uo-I.js";
|
|
25
25
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-CvFURHzt.js";
|
|
26
26
|
import { n as parsePositiveIntOrUndefined } from "./helpers-BtH6pa6c.js";
|
|
27
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
27
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-Bp0KNJtL.js";
|
|
28
28
|
|
|
29
29
|
//#region src/cli/cron-cli/shared.ts
|
|
30
30
|
const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
|