@symerian/symi 3.0.21 → 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 (688) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/package.json +1 -1
  4. package/docs/.i18n/README.md +0 -31
  5. package/docs/.i18n/glossary.ja-JP.json +0 -14
  6. package/docs/.i18n/glossary.zh-CN.json +0 -210
  7. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  8. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  9. package/docs/CNAME +0 -1
  10. package/docs/assets/install-script.svg +0 -1
  11. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  12. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  13. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  14. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  15. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  16. package/docs/assets/pixel-symi.svg +0 -60
  17. package/docs/assets/showcase/agents-ui.jpg +0 -0
  18. package/docs/assets/showcase/bambu-cli.png +0 -0
  19. package/docs/assets/showcase/codexmonitor.png +0 -0
  20. package/docs/assets/showcase/gohome-grafana.png +0 -0
  21. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  22. package/docs/assets/showcase/oura-health.png +0 -0
  23. package/docs/assets/showcase/padel-cli.svg +0 -11
  24. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  25. package/docs/assets/showcase/papla-tts.jpg +0 -0
  26. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  27. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  28. package/docs/assets/showcase/roborock-status.svg +0 -13
  29. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  30. package/docs/assets/showcase/snag.png +0 -0
  31. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  32. package/docs/assets/showcase/wienerlinien.png +0 -0
  33. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  34. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  35. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  36. package/docs/assets/sponsors/blacksmith.svg +0 -14
  37. package/docs/assets/sponsors/openai.svg +0 -3
  38. package/docs/assets/symi-logo-text-dark.png +0 -0
  39. package/docs/assets/symi-logo-text.png +0 -0
  40. package/docs/automation/auth-monitoring.md +0 -44
  41. package/docs/automation/cron-jobs.md +0 -540
  42. package/docs/automation/cron-vs-heartbeat.md +0 -286
  43. package/docs/automation/gmail-pubsub.md +0 -256
  44. package/docs/automation/hooks.md +0 -998
  45. package/docs/automation/poll.md +0 -61
  46. package/docs/automation/troubleshooting.md +0 -122
  47. package/docs/automation/webhook.md +0 -213
  48. package/docs/brave-search.md +0 -41
  49. package/docs/capabilities.md +0 -151
  50. package/docs/channels/bluebubbles.md +0 -346
  51. package/docs/channels/broadcast-groups.md +0 -441
  52. package/docs/channels/channel-routing.md +0 -112
  53. package/docs/channels/feishu.md +0 -586
  54. package/docs/channels/googlechat.md +0 -253
  55. package/docs/channels/grammy.md +0 -31
  56. package/docs/channels/group-messages.md +0 -82
  57. package/docs/channels/groups.md +0 -364
  58. package/docs/channels/imessage.md +0 -366
  59. package/docs/channels/index.md +0 -46
  60. package/docs/channels/irc.md +0 -234
  61. package/docs/channels/line.md +0 -186
  62. package/docs/channels/location.md +0 -56
  63. package/docs/channels/matrix.md +0 -300
  64. package/docs/channels/mattermost.md +0 -158
  65. package/docs/channels/msteams.md +0 -769
  66. package/docs/channels/nextcloud-talk.md +0 -138
  67. package/docs/channels/nostr.md +0 -233
  68. package/docs/channels/pairing.md +0 -100
  69. package/docs/channels/signal.md +0 -322
  70. package/docs/channels/slack.md +0 -510
  71. package/docs/channels/telegram.md +0 -748
  72. package/docs/channels/tlon.md +0 -148
  73. package/docs/channels/troubleshooting.md +0 -110
  74. package/docs/channels/twitch.md +0 -379
  75. package/docs/channels/whatsapp.md +0 -444
  76. package/docs/channels/zalo.md +0 -192
  77. package/docs/channels/zalouser.md +0 -140
  78. package/docs/ci.md +0 -50
  79. package/docs/cli/acp.md +0 -182
  80. package/docs/cli/agent.md +0 -24
  81. package/docs/cli/agents.md +0 -75
  82. package/docs/cli/approvals.md +0 -50
  83. package/docs/cli/browser.md +0 -107
  84. package/docs/cli/channels.md +0 -73
  85. package/docs/cli/config.md +0 -50
  86. package/docs/cli/configure.md +0 -32
  87. package/docs/cli/cron.md +0 -44
  88. package/docs/cli/dashboard.md +0 -16
  89. package/docs/cli/devices.md +0 -73
  90. package/docs/cli/directory.md +0 -62
  91. package/docs/cli/dns.md +0 -23
  92. package/docs/cli/docs.md +0 -15
  93. package/docs/cli/doctor.md +0 -41
  94. package/docs/cli/gateway.md +0 -202
  95. package/docs/cli/health.md +0 -21
  96. package/docs/cli/hooks.md +0 -313
  97. package/docs/cli/index.md +0 -1029
  98. package/docs/cli/logs.md +0 -28
  99. package/docs/cli/memory.md +0 -45
  100. package/docs/cli/message.md +0 -214
  101. package/docs/cli/models.md +0 -79
  102. package/docs/cli/node.md +0 -112
  103. package/docs/cli/nodes.md +0 -73
  104. package/docs/cli/onboard.md +0 -76
  105. package/docs/cli/pairing.md +0 -21
  106. package/docs/cli/plugins.md +0 -92
  107. package/docs/cli/reset.md +0 -17
  108. package/docs/cli/sandbox.md +0 -152
  109. package/docs/cli/security.md +0 -64
  110. package/docs/cli/sessions.md +0 -16
  111. package/docs/cli/setup.md +0 -29
  112. package/docs/cli/skills.md +0 -26
  113. package/docs/cli/status.md +0 -25
  114. package/docs/cli/system.md +0 -60
  115. package/docs/cli/tui.md +0 -23
  116. package/docs/cli/uninstall.md +0 -17
  117. package/docs/cli/update.md +0 -98
  118. package/docs/cli/voicecall.md +0 -34
  119. package/docs/cli/webhooks.md +0 -25
  120. package/docs/concepts/agent-loop.md +0 -148
  121. package/docs/concepts/agent-workspace.md +0 -234
  122. package/docs/concepts/agent.md +0 -123
  123. package/docs/concepts/architecture.md +0 -135
  124. package/docs/concepts/compaction.md +0 -61
  125. package/docs/concepts/context.md +0 -161
  126. package/docs/concepts/features.md +0 -51
  127. package/docs/concepts/markdown-formatting.md +0 -128
  128. package/docs/concepts/memory.md +0 -729
  129. package/docs/concepts/messages.md +0 -153
  130. package/docs/concepts/model-failover.md +0 -149
  131. package/docs/concepts/model-providers.md +0 -424
  132. package/docs/concepts/models.md +0 -208
  133. package/docs/concepts/multi-agent.md +0 -521
  134. package/docs/concepts/oauth.md +0 -145
  135. package/docs/concepts/presence.md +0 -102
  136. package/docs/concepts/queue.md +0 -86
  137. package/docs/concepts/retry.md +0 -64
  138. package/docs/concepts/session-pruning.md +0 -123
  139. package/docs/concepts/session-tool.md +0 -213
  140. package/docs/concepts/session.md +0 -199
  141. package/docs/concepts/sessions.md +0 -10
  142. package/docs/concepts/streaming.md +0 -129
  143. package/docs/concepts/system-prompt.md +0 -128
  144. package/docs/concepts/timezone.md +0 -90
  145. package/docs/concepts/typebox.md +0 -289
  146. package/docs/concepts/typing-indicators.md +0 -68
  147. package/docs/concepts/usage-tracking.md +0 -35
  148. package/docs/date-time.md +0 -127
  149. package/docs/debug/node-issue.md +0 -85
  150. package/docs/diagnostics/flags.md +0 -91
  151. package/docs/docs.json +0 -1849
  152. package/docs/experiments/onboarding-config-protocol.md +0 -40
  153. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  154. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  155. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  156. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  157. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  158. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  159. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  160. package/docs/experiments/proposals/model-config.md +0 -36
  161. package/docs/experiments/research/memory.md +0 -228
  162. package/docs/gateway/authentication.md +0 -162
  163. package/docs/gateway/background-process.md +0 -96
  164. package/docs/gateway/bonjour.md +0 -177
  165. package/docs/gateway/bridge-protocol.md +0 -91
  166. package/docs/gateway/cli-backends.md +0 -225
  167. package/docs/gateway/configuration-examples.md +0 -610
  168. package/docs/gateway/configuration-reference.md +0 -2465
  169. package/docs/gateway/configuration.md +0 -488
  170. package/docs/gateway/discovery.md +0 -123
  171. package/docs/gateway/doctor.md +0 -282
  172. package/docs/gateway/gateway-lock.md +0 -34
  173. package/docs/gateway/health.md +0 -35
  174. package/docs/gateway/heartbeat.md +0 -374
  175. package/docs/gateway/index.md +0 -254
  176. package/docs/gateway/local-models.md +0 -150
  177. package/docs/gateway/logging.md +0 -113
  178. package/docs/gateway/multiple-gateways.md +0 -112
  179. package/docs/gateway/network-model.md +0 -20
  180. package/docs/gateway/openai-http-api.md +0 -119
  181. package/docs/gateway/openresponses-http-api.md +0 -333
  182. package/docs/gateway/pairing.md +0 -99
  183. package/docs/gateway/protocol.md +0 -221
  184. package/docs/gateway/remote-gateway-readme.md +0 -158
  185. package/docs/gateway/remote.md +0 -131
  186. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  187. package/docs/gateway/sandboxing.md +0 -203
  188. package/docs/gateway/security/index.md +0 -931
  189. package/docs/gateway/tailscale.md +0 -132
  190. package/docs/gateway/tools-invoke-http-api.md +0 -110
  191. package/docs/gateway/troubleshooting.md +0 -317
  192. package/docs/gateway/trusted-proxy-auth.md +0 -270
  193. package/docs/glass-ui-rendering-invariants.md +0 -451
  194. package/docs/help/debugging.md +0 -162
  195. package/docs/help/environment.md +0 -107
  196. package/docs/help/faq.md +0 -2846
  197. package/docs/help/index.md +0 -21
  198. package/docs/help/scripts.md +0 -28
  199. package/docs/help/testing.md +0 -385
  200. package/docs/help/troubleshooting.md +0 -264
  201. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  202. package/docs/images/feishu-step2-create-app.png +0 -0
  203. package/docs/images/feishu-step3-credentials.png +0 -0
  204. package/docs/images/feishu-step4-permissions.png +0 -0
  205. package/docs/images/feishu-step5-bot-capability.png +0 -0
  206. package/docs/images/feishu-step6-event-subscription.png +0 -0
  207. package/docs/images/groups-flow.svg +0 -52
  208. package/docs/images/mobile-ui-screenshot.png +0 -0
  209. package/docs/index.md +0 -186
  210. package/docs/install/ansible.md +0 -207
  211. package/docs/install/bun.md +0 -59
  212. package/docs/install/development-channels.md +0 -75
  213. package/docs/install/docker.md +0 -583
  214. package/docs/install/exe-dev.md +0 -126
  215. package/docs/install/fly.md +0 -472
  216. package/docs/install/gcp.md +0 -499
  217. package/docs/install/hetzner.md +0 -347
  218. package/docs/install/index.md +0 -218
  219. package/docs/install/installer.md +0 -405
  220. package/docs/install/macos-vm.md +0 -281
  221. package/docs/install/migrating.md +0 -192
  222. package/docs/install/nix.md +0 -98
  223. package/docs/install/node.md +0 -138
  224. package/docs/install/northflank.mdx +0 -49
  225. package/docs/install/podman.md +0 -108
  226. package/docs/install/railway.mdx +0 -95
  227. package/docs/install/render.mdx +0 -158
  228. package/docs/install/uninstall.md +0 -128
  229. package/docs/install/updating.md +0 -231
  230. package/docs/ja-JP/AGENTS.md +0 -37
  231. package/docs/ja-JP/index.md +0 -183
  232. package/docs/ja-JP/start/getting-started.md +0 -125
  233. package/docs/ja-JP/start/wizard.md +0 -77
  234. package/docs/logging.md +0 -350
  235. package/docs/nav-tabs-underline.js +0 -100
  236. package/docs/network.md +0 -54
  237. package/docs/nodes/audio.md +0 -133
  238. package/docs/nodes/camera.md +0 -156
  239. package/docs/nodes/images.md +0 -72
  240. package/docs/nodes/index.md +0 -342
  241. package/docs/nodes/location-command.md +0 -113
  242. package/docs/nodes/media-understanding.md +0 -379
  243. package/docs/nodes/talk.md +0 -90
  244. package/docs/nodes/troubleshooting.md +0 -112
  245. package/docs/nodes/voicewake.md +0 -65
  246. package/docs/perplexity.md +0 -80
  247. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  248. package/docs/pi-dev.md +0 -70
  249. package/docs/pi.md +0 -610
  250. package/docs/platforms/android.md +0 -151
  251. package/docs/platforms/digitalocean.md +0 -265
  252. package/docs/platforms/index.md +0 -53
  253. package/docs/platforms/ios.md +0 -108
  254. package/docs/platforms/linux.md +0 -94
  255. package/docs/platforms/mac/bundled-gateway.md +0 -73
  256. package/docs/platforms/mac/canvas.md +0 -125
  257. package/docs/platforms/mac/child-process.md +0 -69
  258. package/docs/platforms/mac/dev-setup.md +0 -104
  259. package/docs/platforms/mac/health.md +0 -34
  260. package/docs/platforms/mac/icon.md +0 -31
  261. package/docs/platforms/mac/logging.md +0 -57
  262. package/docs/platforms/mac/menu-bar.md +0 -81
  263. package/docs/platforms/mac/peekaboo.md +0 -65
  264. package/docs/platforms/mac/permissions.md +0 -50
  265. package/docs/platforms/mac/release.md +0 -85
  266. package/docs/platforms/mac/remote.md +0 -84
  267. package/docs/platforms/mac/signing.md +0 -47
  268. package/docs/platforms/mac/skills.md +0 -33
  269. package/docs/platforms/mac/voice-overlay.md +0 -60
  270. package/docs/platforms/mac/voicewake.md +0 -66
  271. package/docs/platforms/mac/webchat.md +0 -43
  272. package/docs/platforms/mac/xpc.md +0 -61
  273. package/docs/platforms/macos.md +0 -204
  274. package/docs/platforms/oracle.md +0 -303
  275. package/docs/platforms/raspberry-pi.md +0 -358
  276. package/docs/platforms/windows.md +0 -159
  277. package/docs/plugins/agent-tools.md +0 -99
  278. package/docs/plugins/community.md +0 -44
  279. package/docs/plugins/manifest.md +0 -71
  280. package/docs/plugins/voice-call.md +0 -322
  281. package/docs/plugins/zalouser.md +0 -81
  282. package/docs/prose.md +0 -134
  283. package/docs/providers/anthropic.md +0 -174
  284. package/docs/providers/bedrock.md +0 -176
  285. package/docs/providers/claude-max-api-proxy.md +0 -148
  286. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  287. package/docs/providers/deepgram.md +0 -93
  288. package/docs/providers/github-copilot.md +0 -72
  289. package/docs/providers/glm.md +0 -33
  290. package/docs/providers/huggingface.md +0 -209
  291. package/docs/providers/index.md +0 -67
  292. package/docs/providers/litellm.md +0 -153
  293. package/docs/providers/minimax.md +0 -208
  294. package/docs/providers/models.md +0 -52
  295. package/docs/providers/moonshot.md +0 -142
  296. package/docs/providers/nvidia.md +0 -55
  297. package/docs/providers/ollama.md +0 -250
  298. package/docs/providers/openai.md +0 -62
  299. package/docs/providers/opencode.md +0 -36
  300. package/docs/providers/openrouter.md +0 -37
  301. package/docs/providers/qianfan.md +0 -38
  302. package/docs/providers/qwen.md +0 -53
  303. package/docs/providers/synthetic.md +0 -99
  304. package/docs/providers/together.md +0 -65
  305. package/docs/providers/venice.md +0 -267
  306. package/docs/providers/vercel-ai-gateway.md +0 -50
  307. package/docs/providers/vllm.md +0 -92
  308. package/docs/providers/xiaomi.md +0 -64
  309. package/docs/providers/zai.md +0 -38
  310. package/docs/refactor/exec-host.md +0 -316
  311. package/docs/refactor/outbound-session-mirroring.md +0 -83
  312. package/docs/refactor/plugin-sdk.md +0 -214
  313. package/docs/refactor/strict-config.md +0 -93
  314. package/docs/refactor/syminet.md +0 -417
  315. package/docs/reference/AGENTS.default.md +0 -123
  316. package/docs/reference/RELEASING.md +0 -120
  317. package/docs/reference/api-usage-costs.md +0 -138
  318. package/docs/reference/credits.md +0 -28
  319. package/docs/reference/device-models.md +0 -47
  320. package/docs/reference/rpc.md +0 -43
  321. package/docs/reference/session-management-compaction.md +0 -284
  322. package/docs/reference/test.md +0 -51
  323. package/docs/reference/token-use.md +0 -136
  324. package/docs/reference/transcript-hygiene.md +0 -151
  325. package/docs/reference/wizard.md +0 -265
  326. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  327. package/docs/security/README.md +0 -16
  328. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  329. package/docs/security/formal-verification.md +0 -164
  330. package/docs/start/bootstrapping.md +0 -41
  331. package/docs/start/docs-directory.md +0 -63
  332. package/docs/start/getting-started.md +0 -135
  333. package/docs/start/hubs.md +0 -196
  334. package/docs/start/lore.md +0 -216
  335. package/docs/start/onboarding-overview.md +0 -51
  336. package/docs/start/onboarding.md +0 -81
  337. package/docs/start/quickstart.md +0 -22
  338. package/docs/start/setup.md +0 -160
  339. package/docs/start/showcase.md +0 -414
  340. package/docs/start/symi.md +0 -211
  341. package/docs/start/wizard-cli-automation.md +0 -158
  342. package/docs/start/wizard-cli-reference.md +0 -255
  343. package/docs/start/wizard.md +0 -109
  344. package/docs/style.css +0 -37
  345. package/docs/tools/agent-send.md +0 -52
  346. package/docs/tools/apply-patch.md +0 -51
  347. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  348. package/docs/tools/browser-login.md +0 -67
  349. package/docs/tools/browser.md +0 -587
  350. package/docs/tools/chrome-extension.md +0 -183
  351. package/docs/tools/creating-skills.md +0 -54
  352. package/docs/tools/elevated.md +0 -55
  353. package/docs/tools/exec-approvals.md +0 -261
  354. package/docs/tools/exec.md +0 -184
  355. package/docs/tools/firecrawl.md +0 -61
  356. package/docs/tools/index.md +0 -540
  357. package/docs/tools/llm-task.md +0 -115
  358. package/docs/tools/loop-detection.md +0 -98
  359. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  360. package/docs/tools/pipeline.md +0 -340
  361. package/docs/tools/plugin.md +0 -687
  362. package/docs/tools/reactions.md +0 -21
  363. package/docs/tools/skills-config.md +0 -76
  364. package/docs/tools/skills.md +0 -300
  365. package/docs/tools/slash-commands.md +0 -202
  366. package/docs/tools/subagents.md +0 -232
  367. package/docs/tools/symihub.md +0 -256
  368. package/docs/tools/thinking.md +0 -75
  369. package/docs/tools/web.md +0 -265
  370. package/docs/tts.md +0 -398
  371. package/docs/vps.md +0 -43
  372. package/docs/web/control-ui.md +0 -247
  373. package/docs/web/dashboard.md +0 -46
  374. package/docs/web/index.md +0 -118
  375. package/docs/web/tui.md +0 -162
  376. package/docs/web/webchat.md +0 -53
  377. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  378. package/docs/whatsapp-symi.jpg +0 -0
  379. package/docs/zh-CN/AGENTS.md +0 -59
  380. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  381. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  382. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  383. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  384. package/docs/zh-CN/automation/hooks.md +0 -881
  385. package/docs/zh-CN/automation/poll.md +0 -68
  386. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  387. package/docs/zh-CN/automation/webhook.md +0 -161
  388. package/docs/zh-CN/brave-search.md +0 -48
  389. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  390. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  391. package/docs/zh-CN/channels/channel-routing.md +0 -112
  392. package/docs/zh-CN/channels/feishu.md +0 -629
  393. package/docs/zh-CN/channels/googlechat.md +0 -257
  394. package/docs/zh-CN/channels/grammy.md +0 -38
  395. package/docs/zh-CN/channels/group-messages.md +0 -89
  396. package/docs/zh-CN/channels/groups.md +0 -369
  397. package/docs/zh-CN/channels/imessage.md +0 -300
  398. package/docs/zh-CN/channels/index.md +0 -52
  399. package/docs/zh-CN/channels/line.md +0 -180
  400. package/docs/zh-CN/channels/location.md +0 -63
  401. package/docs/zh-CN/channels/matrix.md +0 -221
  402. package/docs/zh-CN/channels/mattermost.md +0 -144
  403. package/docs/zh-CN/channels/msteams.md +0 -773
  404. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  405. package/docs/zh-CN/channels/nostr.md +0 -240
  406. package/docs/zh-CN/channels/pairing.md +0 -86
  407. package/docs/zh-CN/channels/signal.md +0 -207
  408. package/docs/zh-CN/channels/slack.md +0 -529
  409. package/docs/zh-CN/channels/telegram.md +0 -748
  410. package/docs/zh-CN/channels/tlon.md +0 -136
  411. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  412. package/docs/zh-CN/channels/twitch.md +0 -385
  413. package/docs/zh-CN/channels/whatsapp.md +0 -411
  414. package/docs/zh-CN/channels/zalo.md +0 -196
  415. package/docs/zh-CN/channels/zalouser.md +0 -147
  416. package/docs/zh-CN/cli/acp.md +0 -173
  417. package/docs/zh-CN/cli/agent.md +0 -30
  418. package/docs/zh-CN/cli/agents.md +0 -82
  419. package/docs/zh-CN/cli/approvals.md +0 -57
  420. package/docs/zh-CN/cli/browser.md +0 -114
  421. package/docs/zh-CN/cli/channels.md +0 -80
  422. package/docs/zh-CN/cli/config.md +0 -57
  423. package/docs/zh-CN/cli/configure.md +0 -37
  424. package/docs/zh-CN/cli/cron.md +0 -43
  425. package/docs/zh-CN/cli/dashboard.md +0 -23
  426. package/docs/zh-CN/cli/devices.md +0 -74
  427. package/docs/zh-CN/cli/directory.md +0 -69
  428. package/docs/zh-CN/cli/dns.md +0 -30
  429. package/docs/zh-CN/cli/docs.md +0 -22
  430. package/docs/zh-CN/cli/doctor.md +0 -48
  431. package/docs/zh-CN/cli/gateway.md +0 -206
  432. package/docs/zh-CN/cli/health.md +0 -28
  433. package/docs/zh-CN/cli/hooks.md +0 -298
  434. package/docs/zh-CN/cli/index.md +0 -1025
  435. package/docs/zh-CN/cli/logs.md +0 -31
  436. package/docs/zh-CN/cli/memory.md +0 -52
  437. package/docs/zh-CN/cli/message.md +0 -205
  438. package/docs/zh-CN/cli/models.md +0 -85
  439. package/docs/zh-CN/cli/node.md +0 -115
  440. package/docs/zh-CN/cli/nodes.md +0 -80
  441. package/docs/zh-CN/cli/onboard.md +0 -36
  442. package/docs/zh-CN/cli/pairing.md +0 -28
  443. package/docs/zh-CN/cli/plugins.md +0 -66
  444. package/docs/zh-CN/cli/reset.md +0 -24
  445. package/docs/zh-CN/cli/sandbox.md +0 -158
  446. package/docs/zh-CN/cli/security.md +0 -33
  447. package/docs/zh-CN/cli/sessions.md +0 -23
  448. package/docs/zh-CN/cli/setup.md +0 -36
  449. package/docs/zh-CN/cli/skills.md +0 -33
  450. package/docs/zh-CN/cli/status.md +0 -32
  451. package/docs/zh-CN/cli/system.md +0 -63
  452. package/docs/zh-CN/cli/tui.md +0 -30
  453. package/docs/zh-CN/cli/uninstall.md +0 -24
  454. package/docs/zh-CN/cli/update.md +0 -101
  455. package/docs/zh-CN/cli/voicecall.md +0 -41
  456. package/docs/zh-CN/cli/webhooks.md +0 -32
  457. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  458. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  459. package/docs/zh-CN/concepts/agent.md +0 -115
  460. package/docs/zh-CN/concepts/architecture.md +0 -122
  461. package/docs/zh-CN/concepts/compaction.md +0 -67
  462. package/docs/zh-CN/concepts/context.md +0 -168
  463. package/docs/zh-CN/concepts/features.md +0 -57
  464. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  465. package/docs/zh-CN/concepts/memory.md +0 -412
  466. package/docs/zh-CN/concepts/messages.md +0 -140
  467. package/docs/zh-CN/concepts/model-failover.md +0 -145
  468. package/docs/zh-CN/concepts/model-providers.md +0 -320
  469. package/docs/zh-CN/concepts/models.md +0 -196
  470. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  471. package/docs/zh-CN/concepts/oauth.md +0 -151
  472. package/docs/zh-CN/concepts/presence.md +0 -99
  473. package/docs/zh-CN/concepts/queue.md +0 -91
  474. package/docs/zh-CN/concepts/retry.md +0 -71
  475. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  476. package/docs/zh-CN/concepts/session-tool.md +0 -198
  477. package/docs/zh-CN/concepts/session.md +0 -158
  478. package/docs/zh-CN/concepts/sessions.md +0 -17
  479. package/docs/zh-CN/concepts/streaming.md +0 -131
  480. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  481. package/docs/zh-CN/concepts/timezone.md +0 -94
  482. package/docs/zh-CN/concepts/typebox.md +0 -284
  483. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  484. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  485. package/docs/zh-CN/date-time.md +0 -128
  486. package/docs/zh-CN/debug/node-issue.md +0 -90
  487. package/docs/zh-CN/diagnostics/flags.md +0 -98
  488. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  489. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  490. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  491. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  492. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  493. package/docs/zh-CN/experiments/research/memory.md +0 -235
  494. package/docs/zh-CN/gateway/authentication.md +0 -142
  495. package/docs/zh-CN/gateway/background-process.md +0 -100
  496. package/docs/zh-CN/gateway/bonjour.md +0 -174
  497. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  498. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  499. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  500. package/docs/zh-CN/gateway/configuration.md +0 -3284
  501. package/docs/zh-CN/gateway/discovery.md +0 -123
  502. package/docs/zh-CN/gateway/doctor.md +0 -238
  503. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  504. package/docs/zh-CN/gateway/health.md +0 -42
  505. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  506. package/docs/zh-CN/gateway/index.md +0 -335
  507. package/docs/zh-CN/gateway/local-models.md +0 -157
  508. package/docs/zh-CN/gateway/logging.md +0 -114
  509. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  510. package/docs/zh-CN/gateway/network-model.md +0 -23
  511. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  512. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  513. package/docs/zh-CN/gateway/pairing.md +0 -99
  514. package/docs/zh-CN/gateway/protocol.md +0 -220
  515. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  516. package/docs/zh-CN/gateway/remote.md +0 -133
  517. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  518. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  519. package/docs/zh-CN/gateway/security/index.md +0 -772
  520. package/docs/zh-CN/gateway/tailscale.md +0 -124
  521. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  522. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  523. package/docs/zh-CN/help/debugging.md +0 -160
  524. package/docs/zh-CN/help/environment.md +0 -88
  525. package/docs/zh-CN/help/faq.md +0 -2613
  526. package/docs/zh-CN/help/index.md +0 -28
  527. package/docs/zh-CN/help/scripts.md +0 -35
  528. package/docs/zh-CN/help/testing.md +0 -375
  529. package/docs/zh-CN/help/troubleshooting.md +0 -104
  530. package/docs/zh-CN/index.md +0 -183
  531. package/docs/zh-CN/install/ansible.md +0 -214
  532. package/docs/zh-CN/install/bun.md +0 -65
  533. package/docs/zh-CN/install/development-channels.md +0 -81
  534. package/docs/zh-CN/install/docker.md +0 -525
  535. package/docs/zh-CN/install/exe-dev.md +0 -127
  536. package/docs/zh-CN/install/fly.md +0 -476
  537. package/docs/zh-CN/install/gcp.md +0 -509
  538. package/docs/zh-CN/install/hetzner.md +0 -336
  539. package/docs/zh-CN/install/index.md +0 -193
  540. package/docs/zh-CN/install/installer.md +0 -128
  541. package/docs/zh-CN/install/macos-vm.md +0 -288
  542. package/docs/zh-CN/install/migrating.md +0 -199
  543. package/docs/zh-CN/install/nix.md +0 -99
  544. package/docs/zh-CN/install/node.md +0 -8
  545. package/docs/zh-CN/install/northflank.mdx +0 -56
  546. package/docs/zh-CN/install/railway.mdx +0 -102
  547. package/docs/zh-CN/install/render.mdx +0 -168
  548. package/docs/zh-CN/install/uninstall.md +0 -135
  549. package/docs/zh-CN/install/updating.md +0 -233
  550. package/docs/zh-CN/logging.md +0 -329
  551. package/docs/zh-CN/network.md +0 -59
  552. package/docs/zh-CN/nodes/audio.md +0 -120
  553. package/docs/zh-CN/nodes/camera.md +0 -162
  554. package/docs/zh-CN/nodes/images.md +0 -79
  555. package/docs/zh-CN/nodes/index.md +0 -348
  556. package/docs/zh-CN/nodes/location-command.md +0 -120
  557. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  558. package/docs/zh-CN/nodes/talk.md +0 -97
  559. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  560. package/docs/zh-CN/nodes/voicewake.md +0 -72
  561. package/docs/zh-CN/perplexity.md +0 -84
  562. package/docs/zh-CN/pi-dev.md +0 -77
  563. package/docs/zh-CN/pi.md +0 -617
  564. package/docs/zh-CN/platforms/android.md +0 -155
  565. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  566. package/docs/zh-CN/platforms/index.md +0 -60
  567. package/docs/zh-CN/platforms/ios.md +0 -114
  568. package/docs/zh-CN/platforms/linux.md +0 -101
  569. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  570. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  571. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  572. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  573. package/docs/zh-CN/platforms/mac/health.md +0 -41
  574. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  575. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  576. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  577. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  578. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  579. package/docs/zh-CN/platforms/mac/release.md +0 -92
  580. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  581. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  582. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  583. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  584. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  585. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  586. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  587. package/docs/zh-CN/platforms/macos.md +0 -193
  588. package/docs/zh-CN/platforms/oracle.md +0 -310
  589. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  590. package/docs/zh-CN/platforms/windows.md +0 -156
  591. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  592. package/docs/zh-CN/plugins/manifest.md +0 -68
  593. package/docs/zh-CN/plugins/voice-call.md +0 -250
  594. package/docs/zh-CN/plugins/zalouser.md +0 -88
  595. package/docs/zh-CN/prose.md +0 -141
  596. package/docs/zh-CN/providers/anthropic.md +0 -159
  597. package/docs/zh-CN/providers/bedrock.md +0 -170
  598. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  599. package/docs/zh-CN/providers/deepgram.md +0 -97
  600. package/docs/zh-CN/providers/github-copilot.md +0 -67
  601. package/docs/zh-CN/providers/glm.md +0 -39
  602. package/docs/zh-CN/providers/index.md +0 -66
  603. package/docs/zh-CN/providers/minimax.md +0 -206
  604. package/docs/zh-CN/providers/models.md +0 -55
  605. package/docs/zh-CN/providers/moonshot.md +0 -145
  606. package/docs/zh-CN/providers/ollama.md +0 -230
  607. package/docs/zh-CN/providers/openai.md +0 -68
  608. package/docs/zh-CN/providers/opencode.md +0 -41
  609. package/docs/zh-CN/providers/openrouter.md +0 -43
  610. package/docs/zh-CN/providers/qianfan.md +0 -8
  611. package/docs/zh-CN/providers/qwen.md +0 -55
  612. package/docs/zh-CN/providers/synthetic.md +0 -102
  613. package/docs/zh-CN/providers/venice.md +0 -274
  614. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  615. package/docs/zh-CN/providers/xiaomi.md +0 -68
  616. package/docs/zh-CN/providers/zai.md +0 -41
  617. package/docs/zh-CN/refactor/exec-host.md +0 -323
  618. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  619. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  620. package/docs/zh-CN/refactor/strict-config.md +0 -100
  621. package/docs/zh-CN/refactor/syminet.md +0 -424
  622. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  623. package/docs/zh-CN/reference/RELEASING.md +0 -122
  624. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  625. package/docs/zh-CN/reference/credits.md +0 -34
  626. package/docs/zh-CN/reference/device-models.md +0 -54
  627. package/docs/zh-CN/reference/rpc.md +0 -48
  628. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  629. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  630. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  631. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  632. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  633. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  634. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  635. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  636. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  637. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  638. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  639. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  640. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  641. package/docs/zh-CN/reference/templates/USER.md +0 -30
  642. package/docs/zh-CN/reference/test.md +0 -57
  643. package/docs/zh-CN/reference/token-use.md +0 -119
  644. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  645. package/docs/zh-CN/reference/wizard.md +0 -9
  646. package/docs/zh-CN/security/formal-verification.md +0 -171
  647. package/docs/zh-CN/start/bootstrapping.md +0 -9
  648. package/docs/zh-CN/start/docs-directory.md +0 -69
  649. package/docs/zh-CN/start/getting-started.md +0 -201
  650. package/docs/zh-CN/start/hubs.md +0 -199
  651. package/docs/zh-CN/start/lore.md +0 -223
  652. package/docs/zh-CN/start/onboarding.md +0 -105
  653. package/docs/zh-CN/start/quickstart.md +0 -88
  654. package/docs/zh-CN/start/setup.md +0 -151
  655. package/docs/zh-CN/start/showcase.md +0 -421
  656. package/docs/zh-CN/start/symi.md +0 -244
  657. package/docs/zh-CN/start/wizard.md +0 -326
  658. package/docs/zh-CN/tools/agent-send.md +0 -58
  659. package/docs/zh-CN/tools/apply-patch.md +0 -57
  660. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  661. package/docs/zh-CN/tools/browser-login.md +0 -75
  662. package/docs/zh-CN/tools/browser.md +0 -553
  663. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  664. package/docs/zh-CN/tools/creating-skills.md +0 -61
  665. package/docs/zh-CN/tools/elevated.md +0 -62
  666. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  667. package/docs/zh-CN/tools/exec.md +0 -169
  668. package/docs/zh-CN/tools/firecrawl.md +0 -68
  669. package/docs/zh-CN/tools/index.md +0 -508
  670. package/docs/zh-CN/tools/llm-task.md +0 -117
  671. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  672. package/docs/zh-CN/tools/pipeline.md +0 -349
  673. package/docs/zh-CN/tools/plugin.md +0 -639
  674. package/docs/zh-CN/tools/reactions.md +0 -28
  675. package/docs/zh-CN/tools/skills-config.md +0 -78
  676. package/docs/zh-CN/tools/skills.md +0 -279
  677. package/docs/zh-CN/tools/slash-commands.md +0 -196
  678. package/docs/zh-CN/tools/subagents.md +0 -167
  679. package/docs/zh-CN/tools/symihub.md +0 -209
  680. package/docs/zh-CN/tools/thinking.md +0 -80
  681. package/docs/zh-CN/tools/web.md +0 -257
  682. package/docs/zh-CN/tts.md +0 -373
  683. package/docs/zh-CN/vps.md +0 -47
  684. package/docs/zh-CN/web/control-ui.md +0 -190
  685. package/docs/zh-CN/web/dashboard.md +0 -53
  686. package/docs/zh-CN/web/index.md +0 -118
  687. package/docs/zh-CN/web/tui.md +0 -166
  688. package/docs/zh-CN/web/webchat.md +0 -56
@@ -1,289 +0,0 @@
1
- ---
2
- summary: "TypeBox schemas as the single source of truth for the gateway protocol"
3
- read_when:
4
- - Updating protocol schemas or codegen
5
- title: "TypeBox"
6
- ---
7
-
8
- # TypeBox as protocol source of truth
9
-
10
- Last updated: 2026-01-10
11
-
12
- TypeBox is a TypeScript-first schema library. We use it to define the **Gateway
13
- WebSocket protocol** (handshake, request/response, server events). Those schemas
14
- drive **runtime validation**, **JSON Schema export**, and **Swift codegen** for
15
- the macOS app. One source of truth; everything else is generated.
16
-
17
- If you want the higher-level protocol context, start with
18
- [Gateway architecture](/concepts/architecture).
19
-
20
- ## Mental model (30 seconds)
21
-
22
- Every Gateway WS message is one of three frames:
23
-
24
- - **Request**: `{ type: "req", id, method, params }`
25
- - **Response**: `{ type: "res", id, ok, payload | error }`
26
- - **Event**: `{ type: "event", event, payload, seq?, stateVersion? }`
27
-
28
- The first frame **must** be a `connect` request. After that, clients can call
29
- methods (e.g. `health`, `send`, `chat.send`) and subscribe to events (e.g.
30
- `presence`, `tick`, `agent`).
31
-
32
- Connection flow (minimal):
33
-
34
- ```
35
- Client Gateway
36
- |---- req:connect -------->|
37
- |<---- res:hello-ok --------|
38
- |<---- event:tick ----------|
39
- |---- req:health ---------->|
40
- |<---- res:health ----------|
41
- ```
42
-
43
- Common methods + events:
44
-
45
- | Category | Examples | Notes |
46
- | --------- | --------------------------------------------------------- | ---------------------------------- |
47
- | Core | `connect`, `health`, `status` | `connect` must be first |
48
- | Messaging | `send`, `poll`, `agent`, `agent.wait` | side-effects need `idempotencyKey` |
49
- | Chat | `chat.history`, `chat.send`, `chat.abort`, `chat.inject` | WebChat uses these |
50
- | Sessions | `sessions.list`, `sessions.patch`, `sessions.delete` | session admin |
51
- | Nodes | `node.list`, `node.invoke`, `node.pair.*` | Gateway WS + node actions |
52
- | Events | `tick`, `presence`, `agent`, `chat`, `health`, `shutdown` | server push |
53
-
54
- Authoritative list lives in `src/gateway/server.ts` (`METHODS`, `EVENTS`).
55
-
56
- ## Where the schemas live
57
-
58
- - Source: `src/gateway/protocol/schema.ts`
59
- - Runtime validators (AJV): `src/gateway/protocol/index.ts`
60
- - Server handshake + method dispatch: `src/gateway/server.ts`
61
- - Node client: `src/gateway/client.ts`
62
- - Generated JSON Schema: `dist/protocol.schema.json`
63
- - Generated Swift models: `apps/macos/Sources/SymiProtocol/GatewayModels.swift`
64
-
65
- ## Current pipeline
66
-
67
- - `pnpm protocol:gen`
68
- - writes JSON Schema (draft‑07) to `dist/protocol.schema.json`
69
- - `pnpm protocol:gen:swift`
70
- - generates Swift gateway models
71
- - `pnpm protocol:check`
72
- - runs both generators and verifies the output is committed
73
-
74
- ## How the schemas are used at runtime
75
-
76
- - **Server side**: every inbound frame is validated with AJV. The handshake only
77
- accepts a `connect` request whose params match `ConnectParams`.
78
- - **Client side**: the JS client validates event and response frames before
79
- using them.
80
- - **Method surface**: the Gateway advertises the supported `methods` and
81
- `events` in `hello-ok`.
82
-
83
- ## Example frames
84
-
85
- Connect (first message):
86
-
87
- ```json
88
- {
89
- "type": "req",
90
- "id": "c1",
91
- "method": "connect",
92
- "params": {
93
- "minProtocol": 2,
94
- "maxProtocol": 2,
95
- "client": {
96
- "id": "symi-macos",
97
- "displayName": "macos",
98
- "version": "1.0.0",
99
- "platform": "macos 15.1",
100
- "mode": "ui",
101
- "instanceId": "A1B2"
102
- }
103
- }
104
- }
105
- ```
106
-
107
- Hello-ok response:
108
-
109
- ```json
110
- {
111
- "type": "res",
112
- "id": "c1",
113
- "ok": true,
114
- "payload": {
115
- "type": "hello-ok",
116
- "protocol": 2,
117
- "server": { "version": "dev", "connId": "ws-1" },
118
- "features": { "methods": ["health"], "events": ["tick"] },
119
- "snapshot": {
120
- "presence": [],
121
- "health": {},
122
- "stateVersion": { "presence": 0, "health": 0 },
123
- "uptimeMs": 0
124
- },
125
- "policy": { "maxPayload": 1048576, "maxBufferedBytes": 1048576, "tickIntervalMs": 30000 }
126
- }
127
- }
128
- ```
129
-
130
- Request + response:
131
-
132
- ```json
133
- { "type": "req", "id": "r1", "method": "health" }
134
- ```
135
-
136
- ```json
137
- { "type": "res", "id": "r1", "ok": true, "payload": { "ok": true } }
138
- ```
139
-
140
- Event:
141
-
142
- ```json
143
- { "type": "event", "event": "tick", "payload": { "ts": 1730000000 }, "seq": 12 }
144
- ```
145
-
146
- ## Minimal client (Node.js)
147
-
148
- Smallest useful flow: connect + health.
149
-
150
- ```ts
151
- import { WebSocket } from "ws";
152
-
153
- const ws = new WebSocket("ws://127.0.0.1:18789");
154
-
155
- ws.on("open", () => {
156
- ws.send(
157
- JSON.stringify({
158
- type: "req",
159
- id: "c1",
160
- method: "connect",
161
- params: {
162
- minProtocol: 3,
163
- maxProtocol: 3,
164
- client: {
165
- id: "cli",
166
- displayName: "example",
167
- version: "dev",
168
- platform: "node",
169
- mode: "cli",
170
- },
171
- },
172
- }),
173
- );
174
- });
175
-
176
- ws.on("message", (data) => {
177
- const msg = JSON.parse(String(data));
178
- if (msg.type === "res" && msg.id === "c1" && msg.ok) {
179
- ws.send(JSON.stringify({ type: "req", id: "h1", method: "health" }));
180
- }
181
- if (msg.type === "res" && msg.id === "h1") {
182
- console.log("health:", msg.payload);
183
- ws.close();
184
- }
185
- });
186
- ```
187
-
188
- ## Worked example: add a method end‑to‑end
189
-
190
- Example: add a new `system.echo` request that returns `{ ok: true, text }`.
191
-
192
- 1. **Schema (source of truth)**
193
-
194
- Add to `src/gateway/protocol/schema.ts`:
195
-
196
- ```ts
197
- export const SystemEchoParamsSchema = Type.Object(
198
- { text: NonEmptyString },
199
- { additionalProperties: false },
200
- );
201
-
202
- export const SystemEchoResultSchema = Type.Object(
203
- { ok: Type.Boolean(), text: NonEmptyString },
204
- { additionalProperties: false },
205
- );
206
- ```
207
-
208
- Add both to `ProtocolSchemas` and export types:
209
-
210
- ```ts
211
- SystemEchoParams: SystemEchoParamsSchema,
212
- SystemEchoResult: SystemEchoResultSchema,
213
- ```
214
-
215
- ```ts
216
- export type SystemEchoParams = Static<typeof SystemEchoParamsSchema>;
217
- export type SystemEchoResult = Static<typeof SystemEchoResultSchema>;
218
- ```
219
-
220
- 2. **Validation**
221
-
222
- In `src/gateway/protocol/index.ts`, export an AJV validator:
223
-
224
- ```ts
225
- export const validateSystemEchoParams = ajv.compile<SystemEchoParams>(SystemEchoParamsSchema);
226
- ```
227
-
228
- 3. **Server behavior**
229
-
230
- Add a handler in `src/gateway/server-methods/system.ts`:
231
-
232
- ```ts
233
- export const systemHandlers: GatewayRequestHandlers = {
234
- "system.echo": ({ params, respond }) => {
235
- const text = String(params.text ?? "");
236
- respond(true, { ok: true, text });
237
- },
238
- };
239
- ```
240
-
241
- Register it in `src/gateway/server-methods.ts` (already merges `systemHandlers`),
242
- then add `"system.echo"` to `METHODS` in `src/gateway/server.ts`.
243
-
244
- 4. **Regenerate**
245
-
246
- ```bash
247
- pnpm protocol:check
248
- ```
249
-
250
- 5. **Tests + docs**
251
-
252
- Add a server test in `src/gateway/server.*.test.ts` and note the method in docs.
253
-
254
- ## Swift codegen behavior
255
-
256
- The Swift generator emits:
257
-
258
- - `GatewayFrame` enum with `req`, `res`, `event`, and `unknown` cases
259
- - Strongly typed payload structs/enums
260
- - `ErrorCode` values and `GATEWAY_PROTOCOL_VERSION`
261
-
262
- Unknown frame types are preserved as raw payloads for forward compatibility.
263
-
264
- ## Versioning + compatibility
265
-
266
- - `PROTOCOL_VERSION` lives in `src/gateway/protocol/schema.ts`.
267
- - Clients send `minProtocol` + `maxProtocol`; the server rejects mismatches.
268
- - The Swift models keep unknown frame types to avoid breaking older clients.
269
-
270
- ## Schema patterns and conventions
271
-
272
- - Most objects use `additionalProperties: false` for strict payloads.
273
- - `NonEmptyString` is the default for IDs and method/event names.
274
- - The top-level `GatewayFrame` uses a **discriminator** on `type`.
275
- - Methods with side effects usually require an `idempotencyKey` in params
276
- (example: `send`, `poll`, `agent`, `chat.send`).
277
-
278
- ## Live schema JSON
279
-
280
- Generated JSON Schema is in the repo at `dist/protocol.schema.json`. The
281
- published raw file is typically available at:
282
-
283
- - [https://raw.githubusercontent.com/symi/symi/main/dist/protocol.schema.json](https://raw.githubusercontent.com/symi/symi/main/dist/protocol.schema.json)
284
-
285
- ## When you change schemas
286
-
287
- 1. Update the TypeBox schemas.
288
- 2. Run `pnpm protocol:check`.
289
- 3. Commit the regenerated schema + Swift models.
@@ -1,68 +0,0 @@
1
- ---
2
- summary: "When Symi shows typing indicators and how to tune them"
3
- read_when:
4
- - Changing typing indicator behavior or defaults
5
- title: "Typing Indicators"
6
- ---
7
-
8
- # Typing indicators
9
-
10
- Typing indicators are sent to the chat channel while a run is active. Use
11
- `agents.defaults.typingMode` to control **when** typing starts and `typingIntervalSeconds`
12
- to control **how often** it refreshes.
13
-
14
- ## Defaults
15
-
16
- When `agents.defaults.typingMode` is **unset**, Symi keeps the legacy behavior:
17
-
18
- - **Direct chats**: typing starts immediately once the model loop begins.
19
- - **Group chats with a mention**: typing starts immediately.
20
- - **Group chats without a mention**: typing starts only when message text begins streaming.
21
- - **Heartbeat runs**: typing is disabled.
22
-
23
- ## Modes
24
-
25
- Set `agents.defaults.typingMode` to one of:
26
-
27
- - `never` — no typing indicator, ever.
28
- - `instant` — start typing **as soon as the model loop begins**, even if the run
29
- later returns only the silent reply token.
30
- - `thinking` — start typing on the **first reasoning delta** (requires
31
- `reasoningLevel: "stream"` for the run).
32
- - `message` — start typing on the **first non-silent text delta** (ignores
33
- the `NO_REPLY` silent token).
34
-
35
- Order of “how early it fires”:
36
- `never` → `message` → `thinking` → `instant`
37
-
38
- ## Configuration
39
-
40
- ```json5
41
- {
42
- agent: {
43
- typingMode: "thinking",
44
- typingIntervalSeconds: 6,
45
- },
46
- }
47
- ```
48
-
49
- You can override mode or cadence per session:
50
-
51
- ```json5
52
- {
53
- session: {
54
- typingMode: "message",
55
- typingIntervalSeconds: 4,
56
- },
57
- }
58
- ```
59
-
60
- ## Notes
61
-
62
- - `message` mode won’t show typing for silent-only replies (e.g. the `NO_REPLY`
63
- token used to suppress output).
64
- - `thinking` only fires if the run streams reasoning (`reasoningLevel: "stream"`).
65
- If the model doesn’t emit reasoning deltas, typing won’t start.
66
- - Heartbeats never show typing, regardless of mode.
67
- - `typingIntervalSeconds` controls the **refresh cadence**, not the start time.
68
- The default is 6 seconds.
@@ -1,35 +0,0 @@
1
- ---
2
- summary: "Usage tracking surfaces and credential requirements"
3
- read_when:
4
- - You are wiring provider usage/quota surfaces
5
- - You need to explain usage tracking behavior or auth requirements
6
- title: "Usage Tracking"
7
- ---
8
-
9
- # Usage tracking
10
-
11
- ## What it is
12
-
13
- - Pulls provider usage/quota directly from their usage endpoints.
14
- - No estimated costs; only the provider-reported windows.
15
-
16
- ## Where it shows up
17
-
18
- - `/status` in chats: emoji‑rich status card with session tokens + estimated cost (API key only). Provider usage shows for the **current model provider** when available.
19
- - `/usage off|tokens|full` in chats: per-response usage footer (OAuth shows tokens only).
20
- - `/usage cost` in chats: local cost summary aggregated from Symi session logs.
21
- - CLI: `symi status --usage` prints a full per-provider breakdown.
22
- - CLI: `symi channels list` prints the same usage snapshot alongside provider config (use `--no-usage` to skip).
23
- - macOS menu bar: “Usage” section under Context (only if available).
24
-
25
- ## Providers + credentials
26
-
27
- - **Anthropic (Claude)**: OAuth tokens in auth profiles.
28
- - **GitHub Copilot**: OAuth tokens in auth profiles.
29
- - **Gemini CLI**: OAuth tokens in auth profiles.
30
- - **Antigravity**: OAuth tokens in auth profiles.
31
- - **OpenAI Codex**: OAuth tokens in auth profiles (accountId used when present).
32
- - **MiniMax**: API key (coding plan key; `MINIMAX_CODE_PLAN_KEY` or `MINIMAX_API_KEY`); uses the 5‑hour coding plan window.
33
- - **z.ai**: API key via env/config/auth store.
34
-
35
- Usage is hidden if no matching OAuth/API credentials exist.
package/docs/date-time.md DELETED
@@ -1,127 +0,0 @@
1
- ---
2
- summary: "Date and time handling across envelopes, prompts, tools, and connectors"
3
- read_when:
4
- - You are changing how timestamps are shown to the model or users
5
- - You are debugging time formatting in messages or system prompt output
6
- title: "Date and Time"
7
- ---
8
-
9
- # Date & Time
10
-
11
- Symi defaults to **host-local time for transport timestamps** and **user timezone only in the system prompt**.
12
- Provider timestamps are preserved so tools keep their native semantics (current time is available via `session_status`).
13
-
14
- ## Message envelopes (local by default)
15
-
16
- Inbound messages are wrapped with a timestamp (minute precision):
17
-
18
- ```
19
- [Provider ... 2026-01-05 16:26 PST] message text
20
- ```
21
-
22
- This envelope timestamp is **host-local by default**, regardless of the provider timezone.
23
-
24
- You can override this behavior:
25
-
26
- ```json5
27
- {
28
- agents: {
29
- defaults: {
30
- envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
31
- envelopeTimestamp: "on", // "on" | "off"
32
- envelopeElapsed: "on", // "on" | "off"
33
- },
34
- },
35
- }
36
- ```
37
-
38
- - `envelopeTimezone: "utc"` uses UTC.
39
- - `envelopeTimezone: "local"` uses the host timezone.
40
- - `envelopeTimezone: "user"` uses `agents.defaults.userTimezone` (falls back to host timezone).
41
- - Use an explicit IANA timezone (e.g., `"America/Chicago"`) for a fixed zone.
42
- - `envelopeTimestamp: "off"` removes absolute timestamps from envelope headers.
43
- - `envelopeElapsed: "off"` removes elapsed time suffixes (the `+2m` style).
44
-
45
- ### Examples
46
-
47
- **Local (default):**
48
-
49
- ```
50
- [WhatsApp +1555 2026-01-18 00:19 PST] hello
51
- ```
52
-
53
- **User timezone:**
54
-
55
- ```
56
- [WhatsApp +1555 2026-01-18 00:19 CST] hello
57
- ```
58
-
59
- **Elapsed time enabled:**
60
-
61
- ```
62
- [WhatsApp +1555 +30s 2026-01-18T05:19Z] follow-up
63
- ```
64
-
65
- ## System prompt: Current Date & Time
66
-
67
- If the user timezone is known, the system prompt includes a dedicated
68
- **Current Date & Time** section with the **time zone only** (no clock/time format)
69
- to keep prompt caching stable:
70
-
71
- ```
72
- Time zone: America/Chicago
73
- ```
74
-
75
- When the agent needs the current time, use the `session_status` tool; the status
76
- card includes a timestamp line.
77
-
78
- ## System event lines (local by default)
79
-
80
- Queued system events inserted into agent context are prefixed with a timestamp using the
81
- same timezone selection as message envelopes (default: host-local).
82
-
83
- ```
84
- System: [2026-01-12 12:19:17 PST] Model switched.
85
- ```
86
-
87
- ### Configure user timezone + format
88
-
89
- ```json5
90
- {
91
- agents: {
92
- defaults: {
93
- userTimezone: "America/Chicago",
94
- timeFormat: "auto", // auto | 12 | 24
95
- },
96
- },
97
- }
98
- ```
99
-
100
- - `userTimezone` sets the **user-local timezone** for prompt context.
101
- - `timeFormat` controls **12h/24h display** in the prompt. `auto` follows OS prefs.
102
-
103
- ## Time format detection (auto)
104
-
105
- When `timeFormat: "auto"`, Symi inspects the OS preference (macOS/Windows)
106
- and falls back to locale formatting. The detected value is **cached per process**
107
- to avoid repeated system calls.
108
-
109
- ## Tool payloads + connectors (raw provider time + normalized fields)
110
-
111
- Channel tools return **provider-native timestamps** and add normalized fields for consistency:
112
-
113
- - `timestampMs`: epoch milliseconds (UTC)
114
- - `timestampUtc`: ISO 8601 UTC string
115
-
116
- Raw provider fields are preserved so nothing is lost.
117
-
118
- - Slack: epoch-like strings from the API
119
- - Telegram/WhatsApp: provider-specific numeric/ISO timestamps
120
-
121
- If you need local time, convert it downstream using the known timezone.
122
-
123
- ## Related docs
124
-
125
- - [System Prompt](/concepts/system-prompt)
126
- - [Timezones](/concepts/timezone)
127
- - [Messages](/concepts/messages)
@@ -1,85 +0,0 @@
1
- ---
2
- summary: Node + tsx "__name is not a function" crash notes and workarounds
3
- read_when:
4
- - Debugging Node-only dev scripts or watch mode failures
5
- - Investigating tsx/esbuild loader crashes in Symi
6
- title: "Node + tsx Crash"
7
- ---
8
-
9
- # Node + tsx "\_\_name is not a function" crash
10
-
11
- ## Summary
12
-
13
- Running Symi via Node with `tsx` fails at startup with:
14
-
15
- ```
16
- [symi] Failed to start CLI: TypeError: __name is not a function
17
- at createSubsystemLogger (.../src/logging/subsystem.ts:203:25)
18
- at .../src/agents/auth-profiles/constants.ts:25:20
19
- ```
20
-
21
- This began after switching dev scripts from Bun to `tsx` (commit `2871657e`, 2026-01-06). The same runtime path worked with Bun.
22
-
23
- ## Environment
24
-
25
- - Node: v25.x (observed on v25.3.0)
26
- - tsx: 4.21.0
27
- - OS: macOS (repro also likely on other platforms that run Node 25)
28
-
29
- ## Repro (Node-only)
30
-
31
- ```bash
32
- # in repo root
33
- node --version
34
- pnpm install
35
- node --import tsx src/entry.ts status
36
- ```
37
-
38
- ## Minimal repro in repo
39
-
40
- ```bash
41
- node --import tsx scripts/repro/tsx-name-repro.ts
42
- ```
43
-
44
- ## Node version check
45
-
46
- - Node 25.3.0: fails
47
- - Node 22.22.0 (Homebrew `node@22`): fails
48
- - Node 24: not installed here yet; needs verification
49
-
50
- ## Notes / hypothesis
51
-
52
- - `tsx` uses esbuild to transform TS/ESM. esbuild’s `keepNames` emits a `__name` helper and wraps function definitions with `__name(...)`.
53
- - The crash indicates `__name` exists but is not a function at runtime, which implies the helper is missing or overwritten for this module in the Node 25 loader path.
54
- - Similar `__name` helper issues have been reported in other esbuild consumers when the helper is missing or rewritten.
55
-
56
- ## Regression history
57
-
58
- - `2871657e` (2026-01-06): scripts changed from Bun to tsx to make Bun optional.
59
- - Before that (Bun path), `symi status` and `gateway:watch` worked.
60
-
61
- ## Workarounds
62
-
63
- - Use Bun for dev scripts (current temporary revert).
64
- - Use Node + tsc watch, then run compiled output:
65
-
66
- ```bash
67
- pnpm exec tsc --watch --preserveWatchOutput
68
- node --watch symi.mjs status
69
- ```
70
-
71
- - Confirmed locally: `pnpm exec tsc -p tsconfig.json` + `node symi.mjs status` works on Node 25.
72
- - Disable esbuild keepNames in the TS loader if possible (prevents `__name` helper insertion); tsx does not currently expose this.
73
- - Test Node LTS (22/24) with `tsx` to see if the issue is Node 25–specific.
74
-
75
- ## References
76
-
77
- - [https://opennext.js.org/cloudflare/howtos/keep_names](https://opennext.js.org/cloudflare/howtos/keep_names)
78
- - [https://esbuild.github.io/api/#keep-names](https://esbuild.github.io/api/#keep-names)
79
- - [https://github.com/evanw/esbuild/issues/1031](https://github.com/evanw/esbuild/issues/1031)
80
-
81
- ## Next steps
82
-
83
- - Repro on Node 22/24 to confirm Node 25 regression.
84
- - Test `tsx` nightly or pin to earlier version if a known regression exists.
85
- - If reproduces on Node LTS, file a minimal repro upstream with the `__name` stack trace.
@@ -1,91 +0,0 @@
1
- ---
2
- summary: "Diagnostics flags for targeted debug logs"
3
- read_when:
4
- - You need targeted debug logs without raising global logging levels
5
- - You need to capture subsystem-specific logs for support
6
- title: "Diagnostics Flags"
7
- ---
8
-
9
- # Diagnostics Flags
10
-
11
- Diagnostics flags let you enable targeted debug logs without turning on verbose logging everywhere. Flags are opt-in and have no effect unless a subsystem checks them.
12
-
13
- ## How it works
14
-
15
- - Flags are strings (case-insensitive).
16
- - You can enable flags in config or via an env override.
17
- - Wildcards are supported:
18
- - `telegram.*` matches `telegram.http`
19
- - `*` enables all flags
20
-
21
- ## Enable via config
22
-
23
- ```json
24
- {
25
- "diagnostics": {
26
- "flags": ["telegram.http"]
27
- }
28
- }
29
- ```
30
-
31
- Multiple flags:
32
-
33
- ```json
34
- {
35
- "diagnostics": {
36
- "flags": ["telegram.http", "gateway.*"]
37
- }
38
- }
39
- ```
40
-
41
- Restart the gateway after changing flags.
42
-
43
- ## Env override (one-off)
44
-
45
- ```bash
46
- SYMI_DIAGNOSTICS=telegram.http,telegram.payload
47
- ```
48
-
49
- Disable all flags:
50
-
51
- ```bash
52
- SYMI_DIAGNOSTICS=0
53
- ```
54
-
55
- ## Where logs go
56
-
57
- Flags emit logs into the standard diagnostics log file. By default:
58
-
59
- ```
60
- /tmp/symi/symi-YYYY-MM-DD.log
61
- ```
62
-
63
- If you set `logging.file`, use that path instead. Logs are JSONL (one JSON object per line). Redaction still applies based on `logging.redactSensitive`.
64
-
65
- ## Extract logs
66
-
67
- Pick the latest log file:
68
-
69
- ```bash
70
- ls -t /tmp/symi/symi-*.log | head -n 1
71
- ```
72
-
73
- Filter for Telegram HTTP diagnostics:
74
-
75
- ```bash
76
- rg "telegram http error" /tmp/symi/symi-*.log
77
- ```
78
-
79
- Or tail while reproducing:
80
-
81
- ```bash
82
- tail -f /tmp/symi/symi-$(date +%F).log | rg "telegram http error"
83
- ```
84
-
85
- For remote gateways, you can also use `symi logs --follow` (see [/cli/logs](/cli/logs)).
86
-
87
- ## Notes
88
-
89
- - If `logging.level` is set higher than `warn`, these logs may be suppressed. Default `info` is fine.
90
- - Flags are safe to leave enabled; they only affect log volume for the specific subsystem.
91
- - Use [/logging](/logging) to change log destinations, levels, and redaction.