@symerian/symi 3.0.20 → 3.0.22

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.
Files changed (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
@@ -1,451 +0,0 @@
1
- # Glass UI Rendering Invariants
2
-
3
- **Created:** 2026-04-29
4
- **Branch:** `symi-phase3`
5
- **Purpose:** Specification of the Glass UI rendering properties that the
6
- pipeline-collapse work (Phase 1-6) MUST preserve.
7
-
8
- This document is the contract every subsequent phase has to honor. Every
9
- property below maps to user-visible Glass UI behaviour and to specific
10
- file:line references in the current codebase. If a refactor breaks any of
11
- these, the rendering quality regresses and the user sees it.
12
-
13
- The corresponding parity test suite lives at
14
- `src/gateway/glass-ui-rendering-parity.test.ts` — every invariant has a
15
- test that asserts the contract.
16
-
17
- ---
18
-
19
- ## Why this exists
20
-
21
- The pipeline-collapse plan (Phases 1-6) refactors how events flow from
22
- `runAgentTurn` to the user's surface. Phase 5 specifically touches the
23
- WebSocket subscription layer that Glass UI consumes. Without an explicit
24
- contract, a "cleaner" event-shape rewrite could silently drop fields the
25
- renderer depends on, regressing user-visible quality.
26
-
27
- The user's directive: _"the way symi renders in the glass ui is perfect
28
- now and i dont want to lose the ability."_
29
-
30
- This doc is the operationalization of that directive.
31
-
32
- ---
33
-
34
- ## The 15 invariants
35
-
36
- ### I-1. Incremental delta semantics
37
-
38
- **What:** When the gateway broadcasts a delta event, the `delta` (or
39
- `message.content[0].text` in the broadcast payload) carries ONLY the
40
- incremental tokens since the last delta — never accumulated text.
41
-
42
- **Why it matters:** Glass UI's `updateStream(text)` does
43
- `textContent += text`. If the gateway sent accumulated text, every delta
44
- would re-append the entire response so far, producing the "looping" bug
45
- documented in master doc §22 and §14.1. That bug took 18 releases and
46
- ~6,000 lines of changes to find.
47
-
48
- **Source:**
49
-
50
- - Gateway: `src/gateway/server-chat.ts:557` — `evt.data.delta` is read,
51
- not `evt.data.text`.
52
- - Browser: `glass-ui/js/app.js:177-184` — `updateStream(text)` appends.
53
-
54
- **Test:** `parity.test.ts > I-1: delta is incremental`
55
-
56
- ---
57
-
58
- ### I-2. Streaming bubble lifecycle
59
-
60
- **What:** First delta opens a stream bubble. Subsequent deltas append.
61
- Final event closes the stream bubble and replaces plain text with rendered
62
- markdown HTML.
63
-
64
- **Why it matters:** Without the stream-bubble lifecycle, users see plain
65
- text first, then a flash to rendered HTML, then markdown. The current
66
- behaviour gives smooth token-by-token typing-style UX with formatted
67
- output at the end.
68
-
69
- **Source:**
70
-
71
- - `glass-ui/js/app.js:165-171` — `openStreamBubble()`
72
- - `glass-ui/js/app.js:177-184` — `updateStream(text)`
73
- - `glass-ui/js/app.js:185-220` — `closeStreamBubble(model)`
74
- - `glass-ui/js/app.js:725-731` — wired to delta events
75
- - `glass-ui/js/app.js:782-794` — wired to final events
76
-
77
- **Test:** `parity.test.ts > I-2: bubble open/close on delta/final`
78
-
79
- ---
80
-
81
- ### I-3. Markdown rendering
82
-
83
- **What:** `marked.js` v15 with custom renderer for code blocks, links
84
- opening in new tabs, tables, lists.
85
-
86
- **Why it matters:** Code blocks have language-specific syntax highlighting
87
- via hljs. Tables render as actual tables. Links open in new tabs (not
88
- breaking the SPA). Lists indent correctly. Without this, every assistant
89
- reply is plain text with markdown syntax visible.
90
-
91
- **Source:**
92
-
93
- - `glass-ui/js/render.js:5-37` — `marked.setOptions` + `marked.use`
94
- - `glass-ui/js/render.js:38-87` — custom renderer for code, link, etc.
95
- - `glass-ui/js/marked.min.js` — vendored library
96
-
97
- **Test:** Manual visual regression — text with ` ```ts\nconst x = 1\n``` `
98
- must render as a syntax-highlighted code block, not literal triple-backtick
99
- text.
100
-
101
- ---
102
-
103
- ### I-4. Syntax highlighting
104
-
105
- **What:** Code blocks invoke `hljs.highlight(raw, { language })` with
106
- language detection from the fence (` ```ts ` → typescript) or fallback to
107
- plaintext.
108
-
109
- **Why it matters:** Code reviews / paste-from-Symi workflows depend on
110
- readable, colored code. Without it, `<pre>` blocks are unstyled monospace.
111
-
112
- **Source:**
113
-
114
- - `glass-ui/js/render.js:57-65` — language resolution + hljs invocation
115
- - `glass-ui/js/highlight.min.js` — vendored library
116
-
117
- **Test:** Manual visual regression — fenced code blocks have hljs
118
- class names applied (`hljs-keyword`, `hljs-string`, etc.).
119
-
120
- ---
121
-
122
- ### I-5. Thinking → Reasoning panel
123
-
124
- **What:** Agent events with `stream: "thinking"` accumulate into a
125
- per-`runId` buffer. On `thinking_end` (or final), the buffer flushes to a
126
- dedicated Reasoning panel (sidebar), not the main chat feed.
127
-
128
- **Why it matters:** Reasoning models (Nemotron, Qwen 3.5/3.6) emit
129
- thousands of tokens of internal monologue. Showing it inline in the chat
130
- bubble would drown the actual answer. The Reasoning panel keeps it
131
- visible-but-separate.
132
-
133
- **Source:**
134
-
135
- - `glass-ui/js/app.js:133` — `thinkingBuffers = new Map()`
136
- - `glass-ui/js/app.js:145` — `set(runId, "")` on thinking_start
137
- - `glass-ui/js/app.js:151-152` — accumulate delta or content
138
- - `glass-ui/js/app.js:156-157` — flush + delete on thinking_end
139
-
140
- **Test:** `parity.test.ts > I-5: thinking events route to thinking buffer`
141
-
142
- ---
143
-
144
- ### I-6. Heartbeat → Symipulse panel
145
-
146
- **What:** Events with `isHeartbeat: true` route to the dedicated Symipulse
147
- panel via `window.appendToSymipulsePanel(text, timestamp)`. Heartbeat
148
- content does NOT appear in the main chat feed.
149
-
150
- **Why it matters:** Symipulse fires every 30 minutes producing ack/alert
151
- content. Without routing, the main feed accumulates routine "all clear"
152
- acks and obscures real conversation history.
153
-
154
- **Source:**
155
-
156
- - `glass-ui/js/app.js:406-422` — `if (m.isHeartbeat) appendToSymipulsePanel(...)`
157
- - Gateway-side `isHeartbeat` injection: `src/gateway/server-chat.ts` —
158
- added to broadcast payload when `heartbeatCtx?.isHeartbeat`
159
-
160
- **Test:** `parity.test.ts > I-6: isHeartbeat flag preserved through broadcast`
161
-
162
- ---
163
-
164
- ### I-7. Status orb states
165
-
166
- **What:** A visual orb in the UI header transitions through six states
167
- based on agent lifecycle events: `STANDBY` (cyan), `WAITING` (amber),
168
- `PROCESSING` (violet), `RESPONDING` (green), `COMPLETE` (green, then
169
- reverts to `STANDBY` after 3s), `FAILED` (red).
170
-
171
- **Why it matters:** Without the orb, users have no peripheral signal of
172
- what the agent is doing. They have to look at the chat feed to see
173
- activity. The orb gives a glance-able status.
174
-
175
- **Source:**
176
-
177
- - `glass-ui/js/app.js` — `setAgentStatus(state)` function
178
- - Driven by: `state: "thinking"`, `state: "delta"`, `state: "final"`,
179
- `state: "error"` events from gateway
180
-
181
- **Test:** `parity.test.ts > I-7: orb-driving events emit correct state values`
182
-
183
- ---
184
-
185
- ### I-8. Watchdog timer
186
-
187
- **What:** A 300-second watchdog timer re-arms on every event from the
188
- gateway. If no event arrives within 300s, the orb transitions to FAILED
189
- and a notice appears in the feed.
190
-
191
- **Why it matters:** Long Nemotron reasoning phases used to look like a
192
- hung agent (master doc §26.A.3). The watchdog catches genuine hangs while
193
- allowing legitimate long pauses (when at least heartbeat events flow).
194
-
195
- **Source:**
196
-
197
- - `glass-ui/js/app.js:69` — watchdog interval
198
- - `glass-ui/js/app.js:278` — re-arm on event arrival
199
- - Per-profile `watchdogMs` from `ModelProfile.ui.watchdogMs`
200
-
201
- **Test:** `parity.test.ts > I-8: watchdog re-arms on every gateway event`
202
-
203
- ---
204
-
205
- ### I-9. Per-WebSocket dedup
206
-
207
- **What:** Each browser WebSocket connection tracks `lastBroadcastSeq`. The
208
- gateway's `broadcastToBrowsers` drops frames with `seq <= lastBroadcastSeq`
209
- for that client. New events monotonically increment `seq`.
210
-
211
- **Why it matters:** When a tab reconnects after a brief network hiccup, it
212
- sees the full event history from the buffer. Without dedup, it would
213
- re-render every event since gateway start.
214
-
215
- **Source:**
216
-
217
- - `src/gateway/glass-ui-ws.ts:159-175` — `broadcastToBrowsers` with seq filter
218
- - `src/gateway/server-chat.ts` — monotonic `agentRunSeq` counter
219
-
220
- **Test:** `parity.test.ts > I-9: every emitted event has monotonic seq`
221
-
222
- ---
223
-
224
- ### I-10. localStorage feed cache
225
-
226
- **What:** Last 200 messages cached in browser localStorage under
227
- `symi:feed-cache`. Restored on:
228
-
229
- - Server returns empty history (gateway restart edge case)
230
- - WebSocket disconnect with no history available
231
- - Page reload while gateway unreachable
232
-
233
- **Why it matters:** Master doc §27 documented the original feed-disappears
234
- bug. Without the cache, every gateway restart wipes the user's view.
235
-
236
- **Source:**
237
-
238
- - `glass-ui/js/app.js:22-54` — `feedCache` module (save/load/append/clear)
239
- - Populated from server history (bulk save), user sends (append), assistant
240
- finals (append)
241
-
242
- **Test:** Manual — restart gateway, reload Glass UI, feed must restore from
243
- localStorage.
244
-
245
- ---
246
-
247
- ### I-11. Profile event handling
248
-
249
- **What:** When the active model changes, the gateway broadcasts a `profile`
250
- event with the resolved `ModelProfile`. Glass UI updates:
251
-
252
- - Model badge (text label like "Claude" / "Spider" / "CoreWeave")
253
- - `WATCHDOG_MS` (per-profile timeout)
254
- - `armWatchdogOnSend` flag (whether watchdog starts on user send vs first
255
- delta)
256
- - `stripPatterns` for client-side rendering
257
-
258
- **Why it matters:** Different models have different streaming behaviour.
259
- Without profile updates, watchdog timing is wrong and stripping is
260
- incorrect.
261
-
262
- **Source:**
263
-
264
- - `src/gateway/server-reload-handlers.ts` — profile broadcast on model change
265
- - `glass-ui/js/gateway.js` — profile event listener
266
- - `glass-ui/js/app.js` — `window.activeModelProfile` consumer
267
-
268
- **Test:** `parity.test.ts > I-11: profile event payload shape preserved`
269
-
270
- ---
271
-
272
- ### I-12. Tool-call view in transcript modal
273
-
274
- **What:** History drawer's transcript modal renders `tool_use` and
275
- `tool_result` content blocks inline with chat. `tool_use` shows the tool
276
- name + truncated input JSON; `tool_result` shows ok/error status +
277
- truncated output. Toggleable via "Show tool calls" button (Stage 2.8.17).
278
-
279
- **Why it matters:** Debugging "what did the agent actually do during this
280
- session?" — without tool-call view, the user only sees text replies.
281
- Sub-agent and cron review depend on this.
282
-
283
- **Source:**
284
-
285
- - `glass-ui/js/history.js:loadTranscript` + `renderTranscript` (split for
286
- toggle re-render)
287
- - `glass-ui/js/history.js:extractToolBlocks` + `renderToolBlock`
288
- - Master doc §46.4
289
-
290
- **Test:** `parity.test.ts > I-12: tool_use and tool_result blocks preserved
291
- as structured objects in events (not flattened to strings)`
292
-
293
- ---
294
-
295
- ### I-13. History drawer + cross-session search
296
-
297
- **What:** Persistent debounced search input above the history drawer.
298
- Stage 2.8.17 added cross-session content search via `sessions.search` RPC.
299
- Results show `<mark>`-highlighted snippets, click to open transcript modal,
300
- "Load Session" to adopt.
301
-
302
- **Why it matters:** Without it, users can't find prior conversations. The
303
- history drawer is one of Glass UI's signature features.
304
-
305
- **Source:**
306
-
307
- - `glass-ui/js/history.js` — search box, `runSessionSearch`,
308
- `renderSearchMatch`, `highlightSnippet`
309
- - `src/gateway/server-methods/sessions.ts` — `sessions.search` RPC
310
- - Master doc §46.3
311
-
312
- **Test:** Server-side `sessions.search` RPC test exists; client-side is
313
- manual (visual regression).
314
-
315
- ---
316
-
317
- ### I-14. Reply-tag stripping in renderer input
318
-
319
- **What:** `[[reply_to_current]]` and `[[reply_to:<id>]]` tags are stripped
320
- gateway-side before reaching the renderer. The renderer assumes its input
321
- is clean.
322
-
323
- **Why it matters:** Without stripping, literal `[[reply_to_current]]` text
324
- appears in every assistant message. Stage 1.2 verified the parser is
325
- already tolerant; Phase 1-6 must not inadvertently route un-stripped text
326
- to Glass UI.
327
-
328
- **Source:**
329
-
330
- - Gateway: `src/utils/directive-tags.ts:parseInlineDirectives` (tolerant
331
- parser)
332
- - Gateway: applied in `src/auto-reply/reply/reply-payloads.ts`
333
- - Renderer: assumes clean input — no stripping in `glass-ui/js/render.js`
334
-
335
- **Test:** `parity.test.ts > I-14: events delivered to renderer never
336
- contain reply tags`
337
-
338
- ---
339
-
340
- ### I-15. Active subagent count
341
-
342
- **What:** Final events carry `activeSubagentCount: number`. Glass UI shows
343
- "N subagents active" indicator when > 0.
344
-
345
- **Why it matters:** Sub-agent fan-out (master doc §19) means the user
346
- might have multiple agents working in parallel. Without the indicator,
347
- fan-out is invisible.
348
-
349
- **Source:**
350
-
351
- - Gateway: `src/gateway/server-chat.ts:346` — `countActiveRunsForSession`
352
- injected into final payload
353
- - Glass UI: reads `payload.activeSubagentCount` in final-event handler
354
-
355
- **Test:** `parity.test.ts > I-15: activeSubagentCount preserved on final events`
356
-
357
- ---
358
-
359
- ## How this doc is consumed
360
-
361
- ### During Phase 1 (outbound filter lift)
362
-
363
- Pre-merge check: zero invariants affected. The filter moves up one layer;
364
- the renderer's input is unchanged.
365
-
366
- ### During Phase 2 (universal event stream)
367
-
368
- Pre-merge check: every invariant must have a corresponding field in the
369
- universal `AgentEvent` shape. Specifically:
370
-
371
- - `delta` field must remain incremental (I-1)
372
- - `state` field must drive the orb (I-7)
373
- - `isHeartbeat` field must survive the universal-shape redesign (I-6)
374
- - `seq` field must stay monotonic (I-9)
375
- - `activeSubagentCount` field must be preserved (I-15)
376
- - `message.content[]` must preserve structured tool blocks (I-12)
377
- - `stream: "thinking"` must remain a distinct event type (I-5)
378
-
379
- If the universal shape design omits any of these, redesign before merging.
380
-
381
- ### During Phase 3-4 (dispatch chain collapse + RPC merge)
382
-
383
- Pre-merge check: the renderer's input shape doesn't depend on the dispatch
384
- chain at all — events come from `emitChatDelta`/`emitChatFinal`, which sit
385
- outside the chain. Verify these functions still produce the same shapes
386
- post-collapse.
387
-
388
- ### During Phase 5 (surface adapters)
389
-
390
- **This is the highest-risk phase for rendering regression.** Pre-merge
391
- checks:
392
-
393
- 1. `glass-ui/js/render.js` is **untouched**.
394
- 2. `glass-ui/js/app.js` rendering functions (`openStreamBubble`,
395
- `updateStream`, `closeStreamBubble`, `renderMessage`) are **untouched**.
396
- 3. `glass-ui/js/history.js`, `symipulse.js`, marked.js / hljs config are
397
- **untouched**.
398
- 4. The only file that may be refactored is `glass-ui/js/gateway.js` —
399
- the WebSocket subscription layer. It must convert the universal
400
- `AgentEvent` to the legacy `chat`/`agent` event shapes the rest of the
401
- browser code consumes.
402
- 5. Run the full parity test suite + manual visual smoke test before merge.
403
-
404
- ### During Phase 6 (cleanup)
405
-
406
- Re-run parity tests on the final shape. Confirm no invariants regressed
407
- through the series.
408
-
409
- ---
410
-
411
- ## Manual visual regression checklist
412
-
413
- In addition to automated parity tests, every Phase 1-6 PR must include a
414
- manual smoke test of the 15 properties before merge:
415
-
416
- - [ ] **I-1, I-2** — Send a multi-paragraph response. Watch tokens stream
417
- in token-by-token. On final, confirm rendered markdown replaces plain
418
- text.
419
- - [ ] **I-3, I-4** — Send a code-task message. Confirm code block has
420
- syntax highlighting (colored keywords, strings, comments).
421
- - [ ] **I-5** — Switch to a reasoning model (Qwen 3.6 / Claude with
422
- thinking). Send a math problem. Confirm thinking content appears in the
423
- Reasoning panel, not the main chat feed.
424
- - [ ] **I-6** — Wait for a Symipulse heartbeat (or trigger one). Confirm
425
- it appears in the Symipulse panel, not the main feed.
426
- - [ ] **I-7** — Send a message. Watch orb transition: STANDBY → WAITING
427
- → PROCESSING → RESPONDING → COMPLETE → STANDBY.
428
- - [ ] **I-8** — Trigger a 300s+ stuck run (e.g., model with no response).
429
- Confirm watchdog fires FAILED state.
430
- - [ ] **I-9** — Open Glass UI in two tabs. Send a message. Confirm both
431
- tabs receive each event exactly once.
432
- - [ ] **I-10** — Restart gateway. Confirm feed restores from localStorage.
433
- - [ ] **I-11** — Switch model via UI dropdown. Confirm model badge
434
- updates immediately.
435
- - [ ] **I-12** — Open history drawer → click a session → toggle "Show
436
- tool calls". Confirm tool_use blocks render with name + input JSON.
437
- - [ ] **I-13** — Open history drawer → type in search box. Confirm
438
- cross-session matches with `<mark>` highlighting.
439
- - [ ] **I-14** — Trigger a reply-quote scenario. Confirm no literal
440
- `[[reply_to_current]]` text in any assistant message.
441
- - [ ] **I-15** — Spawn a sub-agent task. Confirm subagent indicator shows
442
- N>0 during fan-out.
443
-
444
- ---
445
-
446
- ## Revisions
447
-
448
- | Date | Phase | Change |
449
- | -------------------------- | ------- | ----------------------------------------------- |
450
- | 2026-04-29 | Phase 0 | Initial authorship — 15 invariants, parity test |
451
- | skeleton, visual checklist |
@@ -1,162 +0,0 @@
1
- ---
2
- summary: "Debugging tools: watch mode, raw model streams, and tracing reasoning leakage"
3
- read_when:
4
- - You need to inspect raw model output for reasoning leakage
5
- - You want to run the Gateway in watch mode while iterating
6
- - You need a repeatable debugging workflow
7
- title: "Debugging"
8
- ---
9
-
10
- # Debugging
11
-
12
- This page covers debugging helpers for streaming output, especially when a
13
- provider mixes reasoning into normal text.
14
-
15
- ## Runtime debug overrides
16
-
17
- Use `/debug` in chat to set **runtime-only** config overrides (memory, not disk).
18
- `/debug` is disabled by default; enable with `commands.debug: true`.
19
- This is handy when you need to toggle obscure settings without editing `symi.json`.
20
-
21
- Examples:
22
-
23
- ```
24
- /debug show
25
- /debug set messages.responsePrefix="[symi]"
26
- /debug unset messages.responsePrefix
27
- /debug reset
28
- ```
29
-
30
- `/debug reset` clears all overrides and returns to the on-disk config.
31
-
32
- ## Gateway watch mode
33
-
34
- For fast iteration, run the gateway under the file watcher:
35
-
36
- ```bash
37
- pnpm gateway:watch
38
- ```
39
-
40
- This maps to:
41
-
42
- ```bash
43
- node --watch-path src --watch-path tsconfig.json --watch-path package.json --watch-preserve-output scripts/run-node.mjs gateway --force
44
- ```
45
-
46
- Add any gateway CLI flags after `gateway:watch` and they will be passed through
47
- on each restart.
48
-
49
- ## Dev profile + dev gateway (--dev)
50
-
51
- Use the dev profile to isolate state and spin up a safe, disposable setup for
52
- debugging. There are **two** `--dev` flags:
53
-
54
- - **Global `--dev` (profile):** isolates state under `~/.symi-dev` and
55
- defaults the gateway port to `19001` (derived ports shift with it).
56
- - **`gateway --dev`: tells the Gateway to auto-create a default config +
57
- workspace** when missing (and skip BOOTSTRAP.md).
58
-
59
- Recommended flow (dev profile + dev bootstrap):
60
-
61
- ```bash
62
- pnpm gateway:dev
63
- SYMI_PROFILE=dev symi tui
64
- ```
65
-
66
- If you don’t have a global install yet, run the CLI via `pnpm symi ...`.
67
-
68
- What this does:
69
-
70
- 1. **Profile isolation** (global `--dev`)
71
- - `SYMI_PROFILE=dev`
72
- - `SYMI_STATE_DIR=~/.symi-dev`
73
- - `SYMI_CONFIG_PATH=~/.symi-dev/symi.json`
74
- - `SYMI_GATEWAY_PORT=19001` (browser/canvas shift accordingly)
75
-
76
- 2. **Dev bootstrap** (`gateway --dev`)
77
- - Writes a minimal config if missing (`gateway.mode=local`, bind loopback).
78
- - Sets `agent.workspace` to the dev workspace.
79
- - Sets `agent.skipBootstrap=true` (no BOOTSTRAP.md).
80
- - Seeds the workspace files if missing:
81
- `AGENTS.md`, `SYMICORE.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `SYMIPULSE.md`.
82
- - Default identity: **C3‑PO** (protocol droid).
83
- - Skips channel providers in dev mode (`SYMI_SKIP_CHANNELS=1`).
84
-
85
- Reset flow (fresh start):
86
-
87
- ```bash
88
- pnpm gateway:dev:reset
89
- ```
90
-
91
- Note: `--dev` is a **global** profile flag and gets eaten by some runners.
92
- If you need to spell it out, use the env var form:
93
-
94
- ```bash
95
- SYMI_PROFILE=dev symi gateway --dev --reset
96
- ```
97
-
98
- `--reset` wipes config, credentials, sessions, and the dev workspace (using
99
- `trash`, not `rm`), then recreates the default dev setup.
100
-
101
- Tip: if a non‑dev gateway is already running (launchd/systemd), stop it first:
102
-
103
- ```bash
104
- symi gateway stop
105
- ```
106
-
107
- ## Raw stream logging (Symi)
108
-
109
- Symi can log the **raw assistant stream** before any filtering/formatting.
110
- This is the best way to see whether reasoning is arriving as plain text deltas
111
- (or as separate thinking blocks).
112
-
113
- Enable it via CLI:
114
-
115
- ```bash
116
- pnpm gateway:watch --raw-stream
117
- ```
118
-
119
- Optional path override:
120
-
121
- ```bash
122
- pnpm gateway:watch --raw-stream --raw-stream-path ~/.symi/logs/raw-stream.jsonl
123
- ```
124
-
125
- Equivalent env vars:
126
-
127
- ```bash
128
- SYMI_RAW_STREAM=1
129
- SYMI_RAW_STREAM_PATH=~/.symi/logs/raw-stream.jsonl
130
- ```
131
-
132
- Default file:
133
-
134
- `~/.symi/logs/raw-stream.jsonl`
135
-
136
- ## Raw chunk logging (pi-mono)
137
-
138
- To capture **raw OpenAI-compat chunks** before they are parsed into blocks,
139
- pi-mono exposes a separate logger:
140
-
141
- ```bash
142
- PI_RAW_STREAM=1
143
- ```
144
-
145
- Optional path:
146
-
147
- ```bash
148
- PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl
149
- ```
150
-
151
- Default file:
152
-
153
- `~/.pi-mono/logs/raw-openai-completions.jsonl`
154
-
155
- > Note: this is only emitted by processes using pi-mono’s
156
- > `openai-completions` provider.
157
-
158
- ## Safety notes
159
-
160
- - Raw stream logs can include full prompts, tool output, and user data.
161
- - Keep logs local and delete them after debugging.
162
- - If you share logs, scrub secrets and PII first.