@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,40 +0,0 @@
1
- ---
2
- summary: "RPC protocol notes for onboarding wizard and config schema"
3
- read_when: "Changing onboarding wizard steps or config schema endpoints"
4
- title: "Onboarding and Config Protocol"
5
- ---
6
-
7
- # Onboarding + Config Protocol
8
-
9
- Purpose: shared onboarding + config surfaces across CLI, macOS app, and Web UI.
10
-
11
- ## Components
12
-
13
- - Wizard engine (shared session + prompts + onboarding state).
14
- - CLI onboarding uses the same wizard flow as the UI clients.
15
- - Gateway RPC exposes wizard + config schema endpoints.
16
- - macOS onboarding uses the wizard step model.
17
- - Web UI renders config forms from JSON Schema + UI hints.
18
-
19
- ## Gateway RPC
20
-
21
- - `wizard.start` params: `{ mode?: "local"|"remote", workspace?: string }`
22
- - `wizard.next` params: `{ sessionId, answer?: { stepId, value? } }`
23
- - `wizard.cancel` params: `{ sessionId }`
24
- - `wizard.status` params: `{ sessionId }`
25
- - `config.schema` params: `{}`
26
-
27
- Responses (shape)
28
-
29
- - Wizard: `{ sessionId, done, step?, status?, error? }`
30
- - Config schema: `{ schema, uiHints, version, generatedAt }`
31
-
32
- ## UI Hints
33
-
34
- - `uiHints` keyed by path; optional metadata (label/help/group/order/advanced/sensitive/placeholder).
35
- - Sensitive fields render as password inputs; no redaction layer.
36
- - Unsupported schema nodes fall back to the raw JSON editor.
37
-
38
- ## Notes
39
-
40
- - This doc is the single place to track protocol refactors for onboarding/config.
@@ -1,229 +0,0 @@
1
- ---
2
- summary: "Plan: isolate browser act:evaluate from Playwright queue using CDP, with end-to-end deadlines and safer ref resolution"
3
- owner: "symi"
4
- status: "draft"
5
- last_updated: "2026-02-10"
6
- title: "Browser Evaluate CDP Refactor"
7
- ---
8
-
9
- # Browser Evaluate CDP Refactor Plan
10
-
11
- ## Context
12
-
13
- `act:evaluate` executes user provided JavaScript in the page. Today it runs via Playwright
14
- (`page.evaluate` or `locator.evaluate`). Playwright serializes CDP commands per page, so a
15
- stuck or long running evaluate can block the page command queue and make every later action
16
- on that tab look "stuck".
17
-
18
- PR #13498 adds a pragmatic safety net (bounded evaluate, abort propagation, and best-effort
19
- recovery). This document describes a larger refactor that makes `act:evaluate` inherently
20
- isolated from Playwright so a stuck evaluate cannot wedge normal Playwright operations.
21
-
22
- ## Goals
23
-
24
- - `act:evaluate` cannot permanently block later browser actions on the same tab.
25
- - Timeouts are single source of truth end to end so a caller can rely on a budget.
26
- - Abort and timeout are treated the same way across HTTP and in-process dispatch.
27
- - Element targeting for evaluate is supported without switching everything off Playwright.
28
- - Maintain backward compatibility for existing callers and payloads.
29
-
30
- ## Non-goals
31
-
32
- - Replace all browser actions (click, type, wait, etc.) with CDP implementations.
33
- - Remove the existing safety net introduced in PR #13498 (it remains a useful fallback).
34
- - Introduce new unsafe capabilities beyond the existing `browser.evaluateEnabled` gate.
35
- - Add process isolation (worker process/thread) for evaluate. If we still see hard to recover
36
- stuck states after this refactor, that is a follow-up idea.
37
-
38
- ## Current Architecture (Why It Gets Stuck)
39
-
40
- At a high level:
41
-
42
- - Callers send `act:evaluate` to the browser control service.
43
- - The route handler calls into Playwright to execute the JavaScript.
44
- - Playwright serializes page commands, so an evaluate that never finishes blocks the queue.
45
- - A stuck queue means later click/type/wait operations on the tab can appear to hang.
46
-
47
- ## Proposed Architecture
48
-
49
- ### 1. Deadline Propagation
50
-
51
- Introduce a single budget concept and derive everything from it:
52
-
53
- - Caller sets `timeoutMs` (or a deadline in the future).
54
- - The outer request timeout, route handler logic, and the execution budget inside the page
55
- all use the same budget, with small headroom where needed for serialization overhead.
56
- - Abort is propagated as an `AbortSignal` everywhere so cancellation is consistent.
57
-
58
- Implementation direction:
59
-
60
- - Add a small helper (for example `createBudget({ timeoutMs, signal })`) that returns:
61
- - `signal`: the linked AbortSignal
62
- - `deadlineAtMs`: absolute deadline
63
- - `remainingMs()`: remaining budget for child operations
64
- - Use this helper in:
65
- - `src/browser/client-fetch.ts` (HTTP and in-process dispatch)
66
- - `src/node-host/runner.ts` (proxy path)
67
- - browser action implementations (Playwright and CDP)
68
-
69
- ### 2. Separate Evaluate Engine (CDP Path)
70
-
71
- Add a CDP based evaluate implementation that does not share Playwright's per page command
72
- queue. The key property is that the evaluate transport is a separate WebSocket connection
73
- and a separate CDP session attached to the target.
74
-
75
- Implementation direction:
76
-
77
- - New module, for example `src/browser/cdp-evaluate.ts`, that:
78
- - Connects to the configured CDP endpoint (browser level socket).
79
- - Uses `Target.attachToTarget({ targetId, flatten: true })` to get a `sessionId`.
80
- - Runs either:
81
- - `Runtime.evaluate` for page level evaluate, or
82
- - `DOM.resolveNode` plus `Runtime.callFunctionOn` for element evaluate.
83
- - On timeout or abort:
84
- - Sends `Runtime.terminateExecution` best-effort for the session.
85
- - Closes the WebSocket and returns a clear error.
86
-
87
- Notes:
88
-
89
- - This still executes JavaScript in the page, so termination can have side effects. The win
90
- is that it does not wedge the Playwright queue, and it is cancelable at the transport
91
- layer by killing the CDP session.
92
-
93
- ### 3. Ref Story (Element Targeting Without A Full Rewrite)
94
-
95
- The hard part is element targeting. CDP needs a DOM handle or `backendDOMNodeId`, while
96
- today most browser actions use Playwright locators based on refs from snapshots.
97
-
98
- Recommended approach: keep existing refs, but attach an optional CDP resolvable id.
99
-
100
- #### 3.1 Extend Stored Ref Info
101
-
102
- Extend the stored role ref metadata to optionally include a CDP id:
103
-
104
- - Today: `{ role, name, nth }`
105
- - Proposed: `{ role, name, nth, backendDOMNodeId?: number }`
106
-
107
- This keeps all existing Playwright based actions working and allows CDP evaluate to accept
108
- the same `ref` value when the `backendDOMNodeId` is available.
109
-
110
- #### 3.2 Populate backendDOMNodeId At Snapshot Time
111
-
112
- When producing a role snapshot:
113
-
114
- 1. Generate the existing role ref map as today (role, name, nth).
115
- 2. Fetch the AX tree via CDP (`Accessibility.getFullAXTree`) and compute a parallel map of
116
- `(role, name, nth) -> backendDOMNodeId` using the same duplicate handling rules.
117
- 3. Merge the id back into the stored ref info for the current tab.
118
-
119
- If mapping fails for a ref, leave `backendDOMNodeId` undefined. This makes the feature
120
- best-effort and safe to roll out.
121
-
122
- #### 3.3 Evaluate Behavior With Ref
123
-
124
- In `act:evaluate`:
125
-
126
- - If `ref` is present and has `backendDOMNodeId`, run element evaluate via CDP.
127
- - If `ref` is present but has no `backendDOMNodeId`, fall back to the Playwright path (with
128
- the safety net).
129
-
130
- Optional escape hatch:
131
-
132
- - Extend the request shape to accept `backendDOMNodeId` directly for advanced callers (and
133
- for debugging), while keeping `ref` as the primary interface.
134
-
135
- ### 4. Keep A Last Resort Recovery Path
136
-
137
- Even with CDP evaluate, there are other ways to wedge a tab or a connection. Keep the
138
- existing recovery mechanisms (terminate execution + disconnect Playwright) as a last resort
139
- for:
140
-
141
- - legacy callers
142
- - environments where CDP attach is blocked
143
- - unexpected Playwright edge cases
144
-
145
- ## Implementation Plan (Single Iteration)
146
-
147
- ### Deliverables
148
-
149
- - A CDP based evaluate engine that runs outside the Playwright per-page command queue.
150
- - A single end-to-end timeout/abort budget used consistently by callers and handlers.
151
- - Ref metadata that can optionally carry `backendDOMNodeId` for element evaluate.
152
- - `act:evaluate` prefers the CDP engine when possible and falls back to Playwright when not.
153
- - Tests that prove a stuck evaluate does not wedge later actions.
154
- - Logs/metrics that make failures and fallbacks visible.
155
-
156
- ### Implementation Checklist
157
-
158
- 1. Add a shared "budget" helper to link `timeoutMs` + upstream `AbortSignal` into:
159
- - a single `AbortSignal`
160
- - an absolute deadline
161
- - a `remainingMs()` helper for downstream operations
162
- 2. Update all caller paths to use that helper so `timeoutMs` means the same thing everywhere:
163
- - `src/browser/client-fetch.ts` (HTTP and in-process dispatch)
164
- - `src/node-host/runner.ts` (node proxy path)
165
- - CLI wrappers that call `/act` (add `--timeout-ms` to `browser evaluate`)
166
- 3. Implement `src/browser/cdp-evaluate.ts`:
167
- - connect to the browser-level CDP socket
168
- - `Target.attachToTarget` to get a `sessionId`
169
- - run `Runtime.evaluate` for page evaluate
170
- - run `DOM.resolveNode` + `Runtime.callFunctionOn` for element evaluate
171
- - on timeout/abort: best-effort `Runtime.terminateExecution` then close the socket
172
- 4. Extend stored role ref metadata to optionally include `backendDOMNodeId`:
173
- - keep existing `{ role, name, nth }` behavior for Playwright actions
174
- - add `backendDOMNodeId?: number` for CDP element targeting
175
- 5. Populate `backendDOMNodeId` during snapshot creation (best-effort):
176
- - fetch AX tree via CDP (`Accessibility.getFullAXTree`)
177
- - compute `(role, name, nth) -> backendDOMNodeId` and merge into the stored ref map
178
- - if mapping is ambiguous or missing, leave the id undefined
179
- 6. Update `act:evaluate` routing:
180
- - if no `ref`: always use CDP evaluate
181
- - if `ref` resolves to a `backendDOMNodeId`: use CDP element evaluate
182
- - otherwise: fall back to Playwright evaluate (still bounded and abortable)
183
- 7. Keep the existing "last resort" recovery path as a fallback, not the default path.
184
- 8. Add tests:
185
- - stuck evaluate times out within budget and the next click/type succeeds
186
- - abort cancels evaluate (client disconnect or timeout) and unblocks subsequent actions
187
- - mapping failures cleanly fall back to Playwright
188
- 9. Add observability:
189
- - evaluate duration and timeout counters
190
- - terminateExecution usage
191
- - fallback rate (CDP -> Playwright) and reasons
192
-
193
- ### Acceptance Criteria
194
-
195
- - A deliberately hung `act:evaluate` returns within the caller budget and does not wedge the
196
- tab for later actions.
197
- - `timeoutMs` behaves consistently across CLI, agent tool, node proxy, and in-process calls.
198
- - If `ref` can be mapped to `backendDOMNodeId`, element evaluate uses CDP; otherwise the
199
- fallback path is still bounded and recoverable.
200
-
201
- ## Testing Plan
202
-
203
- - Unit tests:
204
- - `(role, name, nth)` matching logic between role refs and AX tree nodes.
205
- - Budget helper behavior (headroom, remaining time math).
206
- - Integration tests:
207
- - CDP evaluate timeout returns within budget and does not block the next action.
208
- - Abort cancels evaluate and triggers termination best-effort.
209
- - Contract tests:
210
- - Ensure `BrowserActRequest` and `BrowserActResponse` remain compatible.
211
-
212
- ## Risks And Mitigations
213
-
214
- - Mapping is imperfect:
215
- - Mitigation: best-effort mapping, fallback to Playwright evaluate, and add debug tooling.
216
- - `Runtime.terminateExecution` has side effects:
217
- - Mitigation: only use on timeout/abort and document the behavior in errors.
218
- - Extra overhead:
219
- - Mitigation: only fetch AX tree when snapshots are requested, cache per target, and keep
220
- CDP session short lived.
221
- - Extension relay limitations:
222
- - Mitigation: use browser level attach APIs when per page sockets are not available, and
223
- keep the current Playwright path as fallback.
224
-
225
- ## Open Questions
226
-
227
- - Should the new engine be configurable as `playwright`, `cdp`, or `auto`?
228
- - Do we want to expose a new "nodeRef" format for advanced users, or keep `ref` only?
229
- - How should frame snapshots and selector scoped snapshots participate in AX mapping?
@@ -1,62 +0,0 @@
1
- ---
2
- summary: "Harden cron.add input handling, align schemas, and improve cron UI/agent tooling"
3
- owner: "symi"
4
- status: "complete"
5
- last_updated: "2026-01-05"
6
- title: "Cron Add Hardening"
7
- ---
8
-
9
- # Cron Add Hardening & Schema Alignment
10
-
11
- ## Context
12
-
13
- Recent gateway logs show repeated `cron.add` failures with invalid parameters (missing `sessionTarget`, `wakeMode`, `payload`, and malformed `schedule`). This indicates that at least one client (likely the agent tool call path) is sending wrapped or partially specified job payloads. Separately, there is drift between cron provider enums in TypeScript, gateway schema, CLI flags, and UI form types, plus a UI mismatch for `cron.status` (expects `jobCount` while gateway returns `jobs`).
14
-
15
- ## Goals
16
-
17
- - Stop `cron.add` INVALID_REQUEST spam by normalizing common wrapper payloads and inferring missing `kind` fields.
18
- - Align cron provider lists across gateway schema, cron types, CLI docs, and UI forms.
19
- - Make agent cron tool schema explicit so the LLM produces correct job payloads.
20
- - Fix the Control UI cron status job count display.
21
- - Add tests to cover normalization and tool behavior.
22
-
23
- ## Non-goals
24
-
25
- - Change cron scheduling semantics or job execution behavior.
26
- - Add new schedule kinds or cron expression parsing.
27
- - Overhaul the UI/UX for cron beyond the necessary field fixes.
28
-
29
- ## Findings (current gaps)
30
-
31
- - `CronPayloadSchema` in gateway excludes `signal` + `imessage`, while TS types include them.
32
- - Control UI CronStatus expects `jobCount`, but gateway returns `jobs`.
33
- - Agent cron tool schema allows arbitrary `job` objects, enabling malformed inputs.
34
- - Gateway strictly validates `cron.add` with no normalization, so wrapped payloads fail.
35
-
36
- ## What changed
37
-
38
- - `cron.add` and `cron.update` now normalize common wrapper shapes and infer missing `kind` fields.
39
- - Agent cron tool schema matches the gateway schema, which reduces invalid payloads.
40
- - Provider enums are aligned across gateway, CLI, UI, and macOS picker.
41
- - Control UI uses the gateway’s `jobs` count field for status.
42
-
43
- ## Current behavior
44
-
45
- - **Normalization:** wrapped `data`/`job` payloads are unwrapped; `schedule.kind` and `payload.kind` are inferred when safe.
46
- - **Defaults:** safe defaults are applied for `wakeMode` and `sessionTarget` when missing.
47
-
48
- See [Cron jobs](/automation/cron-jobs) for the normalized shape and examples.
49
-
50
- ## Verification
51
-
52
- - Watch gateway logs for reduced `cron.add` INVALID_REQUEST errors.
53
- - Confirm Control UI cron status shows job count after refresh.
54
-
55
- ## Optional Follow-ups
56
-
57
- - Manual Control UI smoke: add a cron job per provider + verify status job count.
58
-
59
- ## Open Questions
60
-
61
- - Should `cron.add` accept explicit `state` from clients (currently disallowed by schema)?
62
- - Should we allow `webchat` as an explicit delivery provider (currently filtered in delivery resolution)?
@@ -1,40 +0,0 @@
1
- ---
2
- summary: "Telegram allowlist hardening: prefix + whitespace normalization"
3
- read_when:
4
- - Reviewing historical Telegram allowlist changes
5
- title: "Telegram Allowlist Hardening"
6
- ---
7
-
8
- # Telegram Allowlist Hardening
9
-
10
- **Date**: 2026-01-05
11
- **Status**: Complete
12
- **PR**: #216
13
-
14
- ## Summary
15
-
16
- Telegram allowlists now accept `telegram:` and `tg:` prefixes case-insensitively, and tolerate
17
- accidental whitespace. This aligns inbound allowlist checks with outbound send normalization.
18
-
19
- ## What changed
20
-
21
- - Prefixes `telegram:` and `tg:` are treated the same (case-insensitive).
22
- - Allowlist entries are trimmed; empty entries are ignored.
23
-
24
- ## Examples
25
-
26
- All of these are accepted for the same ID:
27
-
28
- - `telegram:123456`
29
- - `TG:123456`
30
- - `tg:123456`
31
-
32
- ## Why it matters
33
-
34
- Copy/paste from logs or chat IDs often includes prefixes and whitespace. Normalizing avoids
35
- false negatives when deciding whether to respond in DMs or groups.
36
-
37
- ## Related docs
38
-
39
- - [Group Chats](/channels/groups)
40
- - [Telegram Provider](/channels/telegram)
@@ -1,123 +0,0 @@
1
- ---
2
- summary: "Plan: Add OpenResponses /v1/responses endpoint and deprecate chat completions cleanly"
3
- owner: "symi"
4
- status: "draft"
5
- last_updated: "2026-01-19"
6
- title: "OpenResponses Gateway Plan"
7
- ---
8
-
9
- # OpenResponses Gateway Integration Plan
10
-
11
- ## Context
12
-
13
- Symi Gateway currently exposes a minimal OpenAI-compatible Chat Completions endpoint at
14
- `/v1/chat/completions` (see [OpenAI Chat Completions](/gateway/openai-http-api)).
15
-
16
- Open Responses is an open inference standard based on the OpenAI Responses API. It is designed
17
- for agentic workflows and uses item-based inputs plus semantic streaming events. The OpenResponses
18
- spec defines `/v1/responses`, not `/v1/chat/completions`.
19
-
20
- ## Goals
21
-
22
- - Add a `/v1/responses` endpoint that adheres to OpenResponses semantics.
23
- - Keep Chat Completions as a compatibility layer that is easy to disable and eventually remove.
24
- - Standardize validation and parsing with isolated, reusable schemas.
25
-
26
- ## Non-goals
27
-
28
- - Full OpenResponses feature parity in the first pass (images, files, hosted tools).
29
- - Replacing internal agent execution logic or tool orchestration.
30
- - Changing the existing `/v1/chat/completions` behavior during the first phase.
31
-
32
- ## Research Summary
33
-
34
- Sources: OpenResponses OpenAPI, OpenResponses specification site, and the Hugging Face blog post.
35
-
36
- Key points extracted:
37
-
38
- - `POST /v1/responses` accepts `CreateResponseBody` fields like `model`, `input` (string or
39
- `ItemParam[]`), `instructions`, `tools`, `tool_choice`, `stream`, `max_output_tokens`, and
40
- `max_tool_calls`.
41
- - `ItemParam` is a discriminated union of:
42
- - `message` items with roles `system`, `developer`, `user`, `assistant`
43
- - `function_call` and `function_call_output`
44
- - `reasoning`
45
- - `item_reference`
46
- - Successful responses return a `ResponseResource` with `object: "response"`, `status`, and
47
- `output` items.
48
- - Streaming uses semantic events such as:
49
- - `response.created`, `response.in_progress`, `response.completed`, `response.failed`
50
- - `response.output_item.added`, `response.output_item.done`
51
- - `response.content_part.added`, `response.content_part.done`
52
- - `response.output_text.delta`, `response.output_text.done`
53
- - The spec requires:
54
- - `Content-Type: text/event-stream`
55
- - `event:` must match the JSON `type` field
56
- - terminal event must be literal `[DONE]`
57
- - Reasoning items may expose `content`, `encrypted_content`, and `summary`.
58
- - HF examples include `OpenResponses-Version: latest` in requests (optional header).
59
-
60
- ## Proposed Architecture
61
-
62
- - Add `src/gateway/open-responses.schema.ts` containing Zod schemas only (no gateway imports).
63
- - Add `src/gateway/openresponses-http.ts` (or `open-responses-http.ts`) for `/v1/responses`.
64
- - Keep `src/gateway/openai-http.ts` intact as a legacy compatibility adapter.
65
- - Add config `gateway.http.endpoints.responses.enabled` (default `false`).
66
- - Keep `gateway.http.endpoints.chatCompletions.enabled` independent; allow both endpoints to be
67
- toggled separately.
68
- - Emit a startup warning when Chat Completions is enabled to signal legacy status.
69
-
70
- ## Deprecation Path for Chat Completions
71
-
72
- - Maintain strict module boundaries: no shared schema types between responses and chat completions.
73
- - Make Chat Completions opt-in by config so it can be disabled without code changes.
74
- - Update docs to label Chat Completions as legacy once `/v1/responses` is stable.
75
- - Optional future step: map Chat Completions requests to the Responses handler for a simpler
76
- removal path.
77
-
78
- ## Phase 1 Support Subset
79
-
80
- - Accept `input` as string or `ItemParam[]` with message roles and `function_call_output`.
81
- - Extract system and developer messages into `extraSystemPrompt`.
82
- - Use the most recent `user` or `function_call_output` as the current message for agent runs.
83
- - Reject unsupported content parts (image/file) with `invalid_request_error`.
84
- - Return a single assistant message with `output_text` content.
85
- - Return `usage` with zeroed values until token accounting is wired.
86
-
87
- ## Validation Strategy (No SDK)
88
-
89
- - Implement Zod schemas for the supported subset of:
90
- - `CreateResponseBody`
91
- - `ItemParam` + message content part unions
92
- - `ResponseResource`
93
- - Streaming event shapes used by the gateway
94
- - Keep schemas in a single, isolated module to avoid drift and allow future codegen.
95
-
96
- ## Streaming Implementation (Phase 1)
97
-
98
- - SSE lines with both `event:` and `data:`.
99
- - Required sequence (minimum viable):
100
- - `response.created`
101
- - `response.output_item.added`
102
- - `response.content_part.added`
103
- - `response.output_text.delta` (repeat as needed)
104
- - `response.output_text.done`
105
- - `response.content_part.done`
106
- - `response.completed`
107
- - `[DONE]`
108
-
109
- ## Tests and Verification Plan
110
-
111
- - Add e2e coverage for `/v1/responses`:
112
- - Auth required
113
- - Non-stream response shape
114
- - Stream event ordering and `[DONE]`
115
- - Session routing with headers and `user`
116
- - Keep `src/gateway/openai-http.e2e.test.ts` unchanged.
117
- - Manual: curl to `/v1/responses` with `stream: true` and verify event ordering and terminal
118
- `[DONE]`.
119
-
120
- ## Doc Updates (Follow-up)
121
-
122
- - Add a new docs page for `/v1/responses` usage and examples.
123
- - Update `/gateway/openai-http-api` with a legacy note and pointer to `/v1/responses`.
@@ -1,192 +0,0 @@
1
- ---
2
- summary: "Production plan for reliable interactive process supervision (PTY + non-PTY) with explicit ownership, unified lifecycle, and deterministic cleanup"
3
- owner: "symi"
4
- status: "in-progress"
5
- last_updated: "2026-02-15"
6
- title: "PTY and Process Supervision Plan"
7
- ---
8
-
9
- # PTY and Process Supervision Plan
10
-
11
- ## 1. Problem and goal
12
-
13
- We need one reliable lifecycle for long-running command execution across:
14
-
15
- - `exec` foreground runs
16
- - `exec` background runs
17
- - `process` follow up actions (`poll`, `log`, `send-keys`, `paste`, `submit`, `kill`, `remove`)
18
- - CLI agent runner subprocesses
19
-
20
- The goal is not just to support PTY. The goal is predictable ownership, cancellation, timeout, and cleanup with no unsafe process matching heuristics.
21
-
22
- ## 2. Scope and boundaries
23
-
24
- - Keep implementation internal in `src/process/supervisor`.
25
- - Do not create a new package for this.
26
- - Keep current behavior compatibility where practical.
27
- - Do not broaden scope to terminal replay or tmux style session persistence.
28
-
29
- ## 3. Implemented in this branch
30
-
31
- ### Supervisor baseline already present
32
-
33
- - Supervisor module is in place under `src/process/supervisor/*`.
34
- - Exec runtime and CLI runner are already routed through supervisor spawn and wait.
35
- - Registry finalization is idempotent.
36
-
37
- ### This pass completed
38
-
39
- 1. Explicit PTY command contract
40
-
41
- - `SpawnInput` is now a discriminated union in `src/process/supervisor/types.ts`.
42
- - PTY runs require `ptyCommand` instead of reusing generic `argv`.
43
- - Supervisor no longer rebuilds PTY command strings from argv joins in `src/process/supervisor/supervisor.ts`.
44
- - Exec runtime now passes `ptyCommand` directly in `src/agents/bash-tools.exec-runtime.ts`.
45
-
46
- 2. Process layer type decoupling
47
-
48
- - Supervisor types no longer import `SessionStdin` from agents.
49
- - Process local stdin contract lives in `src/process/supervisor/types.ts` (`ManagedRunStdin`).
50
- - Adapters now depend only on process level types:
51
- - `src/process/supervisor/adapters/child.ts`
52
- - `src/process/supervisor/adapters/pty.ts`
53
-
54
- 3. Process tool lifecycle ownership improvement
55
-
56
- - `src/agents/bash-tools.process.ts` now requests cancellation through supervisor first.
57
- - `process kill/remove` now use process-tree fallback termination when supervisor lookup misses.
58
- - `remove` keeps deterministic remove behavior by dropping running session entries immediately after termination is requested.
59
-
60
- 4. Single source watchdog defaults
61
-
62
- - Added shared defaults in `src/agents/cli-watchdog-defaults.ts`.
63
- - `src/agents/cli-backends.ts` consumes the shared defaults.
64
- - `src/agents/cli-runner/reliability.ts` consumes the same shared defaults.
65
-
66
- 5. Dead helper cleanup
67
-
68
- - Removed unused `killSession` helper path from `src/agents/bash-tools.shared.ts`.
69
-
70
- 6. Direct supervisor path tests added
71
-
72
- - Added `src/agents/bash-tools.process.supervisor.test.ts` to cover kill and remove routing through supervisor cancellation.
73
-
74
- 7. Reliability gap fixes completed
75
-
76
- - `src/agents/bash-tools.process.ts` now falls back to real OS-level process termination when supervisor lookup misses.
77
- - `src/process/supervisor/adapters/child.ts` now uses process-tree termination semantics for default cancel/timeout kill paths.
78
- - Added shared process-tree utility in `src/process/kill-tree.ts`.
79
-
80
- 8. PTY contract edge-case coverage added
81
-
82
- - Added `src/process/supervisor/supervisor.pty-command.test.ts` for verbatim PTY command forwarding and empty-command rejection.
83
- - Added `src/process/supervisor/adapters/child.test.ts` for process-tree kill behavior in child adapter cancellation.
84
-
85
- ## 4. Remaining gaps and decisions
86
-
87
- ### Reliability status
88
-
89
- The two required reliability gaps for this pass are now closed:
90
-
91
- - `process kill/remove` now has a real OS termination fallback when supervisor lookup misses.
92
- - child cancel/timeout now uses process-tree kill semantics for default kill path.
93
- - Regression tests were added for both behaviors.
94
-
95
- ### Durability and startup reconciliation
96
-
97
- Restart behavior is now explicitly defined as in-memory lifecycle only.
98
-
99
- - `reconcileOrphans()` remains a no-op in `src/process/supervisor/supervisor.ts` by design.
100
- - Active runs are not recovered after process restart.
101
- - This boundary is intentional for this implementation pass to avoid partial persistence risks.
102
-
103
- ### Maintainability follow-ups
104
-
105
- 1. `runExecProcess` in `src/agents/bash-tools.exec-runtime.ts` still handles multiple responsibilities and can be split into focused helpers in a follow-up.
106
-
107
- ## 5. Implementation plan
108
-
109
- The implementation pass for required reliability and contract items is complete.
110
-
111
- Completed:
112
-
113
- - `process kill/remove` fallback real termination
114
- - process-tree cancellation for child adapter default kill path
115
- - regression tests for fallback kill and child adapter kill path
116
- - PTY command edge-case tests under explicit `ptyCommand`
117
- - explicit in-memory restart boundary with `reconcileOrphans()` no-op by design
118
-
119
- Optional follow-up:
120
-
121
- - split `runExecProcess` into focused helpers with no behavior drift
122
-
123
- ## 6. File map
124
-
125
- ### Process supervisor
126
-
127
- - `src/process/supervisor/types.ts` updated with discriminated spawn input and process local stdin contract.
128
- - `src/process/supervisor/supervisor.ts` updated to use explicit `ptyCommand`.
129
- - `src/process/supervisor/adapters/child.ts` and `src/process/supervisor/adapters/pty.ts` decoupled from agent types.
130
- - `src/process/supervisor/registry.ts` idempotent finalize unchanged and retained.
131
-
132
- ### Exec and process integration
133
-
134
- - `src/agents/bash-tools.exec-runtime.ts` updated to pass PTY command explicitly and keep fallback path.
135
- - `src/agents/bash-tools.process.ts` updated to cancel via supervisor with real process-tree fallback termination.
136
- - `src/agents/bash-tools.shared.ts` removed direct kill helper path.
137
-
138
- ### CLI reliability
139
-
140
- - `src/agents/cli-watchdog-defaults.ts` added as shared baseline.
141
- - `src/agents/cli-backends.ts` and `src/agents/cli-runner/reliability.ts` now consume same defaults.
142
-
143
- ## 7. Validation run in this pass
144
-
145
- Unit tests:
146
-
147
- - `pnpm vitest src/process/supervisor/registry.test.ts`
148
- - `pnpm vitest src/process/supervisor/supervisor.test.ts`
149
- - `pnpm vitest src/process/supervisor/supervisor.pty-command.test.ts`
150
- - `pnpm vitest src/process/supervisor/adapters/child.test.ts`
151
- - `pnpm vitest src/agents/cli-backends.test.ts`
152
- - `pnpm vitest src/agents/bash-tools.exec.pty-cleanup.test.ts`
153
- - `pnpm vitest src/agents/bash-tools.process.poll-timeout.test.ts`
154
- - `pnpm vitest src/agents/bash-tools.process.supervisor.test.ts`
155
- - `pnpm vitest src/process/exec.test.ts`
156
-
157
- E2E targets:
158
-
159
- - `pnpm test:e2e src/agents/cli-runner.e2e.test.ts`
160
- - `pnpm test:e2e src/agents/bash-tools.exec.pty-fallback.e2e.test.ts src/agents/bash-tools.exec.background-abort.e2e.test.ts src/agents/bash-tools.process.send-keys.e2e.test.ts`
161
-
162
- Typecheck note:
163
-
164
- - `pnpm tsgo` currently fails in this repo due to a pre-existing UI typing dependency issue (`@vitest/browser-playwright` resolution), unrelated to this process supervision work.
165
-
166
- ## 8. Operational guarantees preserved
167
-
168
- - Exec env hardening behavior is unchanged.
169
- - Approval and allowlist flow is unchanged.
170
- - Output sanitization and output caps are unchanged.
171
- - PTY adapter still guarantees wait settlement on forced kill and listener disposal.
172
-
173
- ## 9. Definition of done
174
-
175
- 1. Supervisor is lifecycle owner for managed runs.
176
- 2. PTY spawn uses explicit command contract with no argv reconstruction.
177
- 3. Process layer has no type dependency on agent layer for supervisor stdin contracts.
178
- 4. Watchdog defaults are single source.
179
- 5. Targeted unit and e2e tests remain green.
180
- 6. Restart durability boundary is explicitly documented or fully implemented.
181
-
182
- ## 10. Summary
183
-
184
- The branch now has a coherent and safer supervision shape:
185
-
186
- - explicit PTY contract
187
- - cleaner process layering
188
- - supervisor driven cancellation path for process operations
189
- - real fallback termination when supervisor lookup misses
190
- - process-tree cancellation for child-run default kill paths
191
- - unified watchdog defaults
192
- - explicit in-memory restart boundary (no orphan reconciliation across restart in this pass)