@symerian/symi 3.0.20 → 3.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
package/docs/pi.md DELETED
@@ -1,610 +0,0 @@
1
- ---
2
- title: "Pi Integration Architecture"
3
- ---
4
-
5
- # Pi Integration Architecture
6
-
7
- This document describes how Symi integrates with [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) and its sibling packages (`pi-ai`, `pi-agent-core`, `pi-tui`) to power its AI agent capabilities.
8
-
9
- ## Overview
10
-
11
- Symi uses the pi SDK to embed an AI coding agent into its messaging gateway architecture. Instead of spawning pi as a subprocess or using RPC mode, Symi directly imports and instantiates pi's `AgentSession` via `createAgentSession()`. This embedded approach provides:
12
-
13
- - Full control over session lifecycle and event handling
14
- - Custom tool injection (messaging, sandbox, channel-specific actions)
15
- - System prompt customization per channel/context
16
- - Session persistence with branching/compaction support
17
- - Multi-account auth profile rotation with failover
18
- - Provider-agnostic model switching
19
-
20
- ## Package Dependencies
21
-
22
- ```json
23
- {
24
- "@mariozechner/pi-agent-core": "0.49.3",
25
- "@mariozechner/pi-ai": "0.49.3",
26
- "@mariozechner/pi-coding-agent": "0.49.3",
27
- "@mariozechner/pi-tui": "0.49.3"
28
- }
29
- ```
30
-
31
- | Package | Purpose |
32
- | ----------------- | ------------------------------------------------------------------------------------------------------ |
33
- | `pi-ai` | Core LLM abstractions: `Model`, `streamSimple`, message types, provider APIs |
34
- | `pi-agent-core` | Agent loop, tool execution, `AgentMessage` types |
35
- | `pi-coding-agent` | High-level SDK: `createAgentSession`, `SessionManager`, `AuthStorage`, `ModelRegistry`, built-in tools |
36
- | `pi-tui` | Terminal UI components (used in Symi's local TUI mode) |
37
-
38
- ## File Structure
39
-
40
- ```
41
- src/agents/
42
- ├── pi-embedded-runner.ts # Re-exports from pi-embedded-runner/
43
- ├── pi-embedded-runner/
44
- │ ├── run.ts # Main entry: runEmbeddedPiAgent()
45
- │ ├── run/
46
- │ │ ├── attempt.ts # Single attempt logic with session setup
47
- │ │ ├── params.ts # RunEmbeddedPiAgentParams type
48
- │ │ ├── payloads.ts # Build response payloads from run results
49
- │ │ ├── images.ts # Vision model image injection
50
- │ │ └── types.ts # EmbeddedRunAttemptResult
51
- │ ├── abort.ts # Abort error detection
52
- │ ├── cache-ttl.ts # Cache TTL tracking for context pruning
53
- │ ├── compact.ts # Manual/auto compaction logic
54
- │ ├── extensions.ts # Load pi extensions for embedded runs
55
- │ ├── extra-params.ts # Provider-specific stream params
56
- │ ├── google.ts # Google/Gemini turn ordering fixes
57
- │ ├── history.ts # History limiting (DM vs group)
58
- │ ├── lanes.ts # Session/global command lanes
59
- │ ├── logger.ts # Subsystem logger
60
- │ ├── model.ts # Model resolution via ModelRegistry
61
- │ ├── runs.ts # Active run tracking, abort, queue
62
- │ ├── sandbox-info.ts # Sandbox info for system prompt
63
- │ ├── session-manager-cache.ts # SessionManager instance caching
64
- │ ├── session-manager-init.ts # Session file initialization
65
- │ ├── system-prompt.ts # System prompt builder
66
- │ ├── tool-split.ts # Split tools into builtIn vs custom
67
- │ ├── types.ts # EmbeddedPiAgentMeta, EmbeddedPiRunResult
68
- │ └── utils.ts # ThinkLevel mapping, error description
69
- ├── pi-embedded-subscribe.ts # Session event subscription/dispatch
70
- ├── pi-embedded-subscribe.types.ts # SubscribeEmbeddedPiSessionParams
71
- ├── pi-embedded-subscribe.handlers.ts # Event handler factory
72
- ├── pi-embedded-subscribe.handlers.lifecycle.ts
73
- ├── pi-embedded-subscribe.handlers.types.ts
74
- ├── pi-embedded-block-chunker.ts # Streaming block reply chunking
75
- ├── pi-embedded-messaging.ts # Messaging tool sent tracking
76
- ├── pi-embedded-helpers.ts # Error classification, turn validation
77
- ├── pi-embedded-helpers/ # Helper modules
78
- ├── pi-embedded-utils.ts # Formatting utilities
79
- ├── pi-tools.ts # createSymiCodingTools()
80
- ├── pi-tools.abort.ts # AbortSignal wrapping for tools
81
- ├── pi-tools.policy.ts # Tool allowlist/denylist policy
82
- ├── pi-tools.read.ts # Read tool customizations
83
- ├── pi-tools.schema.ts # Tool schema normalization
84
- ├── pi-tools.types.ts # AnyAgentTool type alias
85
- ├── pi-tool-definition-adapter.ts # AgentTool -> ToolDefinition adapter
86
- ├── pi-settings.ts # Settings overrides
87
- ├── pi-extensions/ # Custom pi extensions
88
- │ ├── compaction-safeguard.ts # Safeguard extension
89
- │ ├── compaction-safeguard-runtime.ts
90
- │ ├── context-pruning.ts # Cache-TTL context pruning extension
91
- │ └── context-pruning/
92
- ├── model-auth.ts # Auth profile resolution
93
- ├── auth-profiles.ts # Profile store, cooldown, failover
94
- ├── model-selection.ts # Default model resolution
95
- ├── models-config.ts # models.json generation
96
- ├── model-catalog.ts # Model catalog cache
97
- ├── context-window-guard.ts # Context window validation
98
- ├── failover-error.ts # FailoverError class
99
- ├── defaults.ts # DEFAULT_PROVIDER, DEFAULT_MODEL
100
- ├── system-prompt.ts # buildAgentSystemPrompt()
101
- ├── system-prompt-params.ts # System prompt parameter resolution
102
- ├── system-prompt-report.ts # Debug report generation
103
- ├── tool-summaries.ts # Tool description summaries
104
- ├── tool-policy.ts # Tool policy resolution
105
- ├── transcript-policy.ts # Transcript validation policy
106
- ├── skills.ts # Skill snapshot/prompt building
107
- ├── skills/ # Skill subsystem
108
- ├── sandbox.ts # Sandbox context resolution
109
- ├── sandbox/ # Sandbox subsystem
110
- ├── channel-tools.ts # Channel-specific tool injection
111
- ├── symi-tools.ts # Symi-specific tools
112
- ├── bash-tools.ts # exec/process tools
113
- ├── apply-patch.ts # apply_patch tool (OpenAI)
114
- ├── tools/ # Individual tool implementations
115
- │ ├── browser-tool.ts
116
- │ ├── canvas-tool.ts
117
- │ ├── cron-tool.ts
118
- │ ├── gateway-tool.ts
119
- │ ├── image-tool.ts
120
- │ ├── message-tool.ts
121
- │ ├── nodes-tool.ts
122
- │ ├── session*.ts
123
- │ ├── slack-actions.ts
124
- │ ├── telegram-actions.ts
125
- │ ├── web-*.ts
126
- │ └── whatsapp-actions.ts
127
- └── ...
128
- ```
129
-
130
- ## Core Integration Flow
131
-
132
- ### 1. Running an Embedded Agent
133
-
134
- The main entry point is `runEmbeddedPiAgent()` in `pi-embedded-runner/run.ts`:
135
-
136
- ```typescript
137
- import { runEmbeddedPiAgent } from "./agents/pi-embedded-runner.js";
138
-
139
- const result = await runEmbeddedPiAgent({
140
- sessionId: "user-123",
141
- sessionKey: "main:whatsapp:+1234567890",
142
- sessionFile: "/path/to/session.jsonl",
143
- workspaceDir: "/path/to/workspace",
144
- config: symiConfig,
145
- prompt: "Hello, how are you?",
146
- provider: "anthropic",
147
- model: "claude-sonnet-4-20250514",
148
- timeoutMs: 120_000,
149
- runId: "run-abc",
150
- onBlockReply: async (payload) => {
151
- await sendToChannel(payload.text, payload.mediaUrls);
152
- },
153
- });
154
- ```
155
-
156
- ### 2. Session Creation
157
-
158
- Inside `runEmbeddedAttempt()` (called by `runEmbeddedPiAgent()`), the pi SDK is used:
159
-
160
- ```typescript
161
- import {
162
- createAgentSession,
163
- DefaultResourceLoader,
164
- SessionManager,
165
- SettingsManager,
166
- } from "@mariozechner/pi-coding-agent";
167
-
168
- const resourceLoader = new DefaultResourceLoader({
169
- cwd: resolvedWorkspace,
170
- agentDir,
171
- settingsManager,
172
- additionalExtensionPaths,
173
- });
174
- await resourceLoader.reload();
175
-
176
- const { session } = await createAgentSession({
177
- cwd: resolvedWorkspace,
178
- agentDir,
179
- authStorage: params.authStorage,
180
- modelRegistry: params.modelRegistry,
181
- model: params.model,
182
- thinkingLevel: mapThinkingLevel(params.thinkLevel),
183
- tools: builtInTools,
184
- customTools: allCustomTools,
185
- sessionManager,
186
- settingsManager,
187
- resourceLoader,
188
- });
189
-
190
- applySystemPromptOverrideToSession(session, systemPromptOverride);
191
- ```
192
-
193
- ### 3. Event Subscription
194
-
195
- `subscribeEmbeddedPiSession()` subscribes to pi's `AgentSession` events:
196
-
197
- ```typescript
198
- const subscription = subscribeEmbeddedPiSession({
199
- session: activeSession,
200
- runId: params.runId,
201
- verboseLevel: params.verboseLevel,
202
- reasoningMode: params.reasoningLevel,
203
- toolResultFormat: params.toolResultFormat,
204
- onToolResult: params.onToolResult,
205
- onReasoningStream: params.onReasoningStream,
206
- onBlockReply: params.onBlockReply,
207
- onPartialReply: params.onPartialReply,
208
- onAgentEvent: params.onAgentEvent,
209
- });
210
- ```
211
-
212
- Events handled include:
213
-
214
- - `message_start` / `message_end` / `message_update` (streaming text/thinking)
215
- - `tool_execution_start` / `tool_execution_update` / `tool_execution_end`
216
- - `turn_start` / `turn_end`
217
- - `agent_start` / `agent_end`
218
- - `auto_compaction_start` / `auto_compaction_end`
219
-
220
- ### 4. Prompting
221
-
222
- After setup, the session is prompted:
223
-
224
- ```typescript
225
- await session.prompt(effectivePrompt, { images: imageResult.images });
226
- ```
227
-
228
- The SDK handles the full agent loop: sending to LLM, executing tool calls, streaming responses.
229
-
230
- ## Tool Architecture
231
-
232
- ### Tool Pipeline
233
-
234
- 1. **Base Tools**: pi's `codingTools` (read, bash, edit, write)
235
- 2. **Custom Replacements**: Symi replaces bash with `exec`/`process`, customizes read/edit/write for sandbox
236
- 3. **Symi Tools**: messaging, browser, canvas, sessions, cron, gateway, etc.
237
- 4. **Policy Filtering**: Tools filtered by profile, provider, agent, group, sandbox policies
238
- 5. **Schema Normalization**: Schemas cleaned for Gemini/OpenAI quirks
239
- 6. **AbortSignal Wrapping**: Tools wrapped to respect abort signals
240
-
241
- ### Tool Definition Adapter
242
-
243
- pi-agent-core's `AgentTool` has a different `execute` signature than pi-coding-agent's `ToolDefinition`. The adapter in `pi-tool-definition-adapter.ts` bridges this:
244
-
245
- ```typescript
246
- export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] {
247
- return tools.map((tool) => ({
248
- name: tool.name,
249
- label: tool.label ?? name,
250
- description: tool.description ?? "",
251
- parameters: tool.parameters,
252
- execute: async (toolCallId, params, onUpdate, _ctx, signal) => {
253
- // pi-coding-agent signature differs from pi-agent-core
254
- return await tool.execute(toolCallId, params, signal, onUpdate);
255
- },
256
- }));
257
- }
258
- ```
259
-
260
- ### Tool Split Strategy
261
-
262
- `splitSdkTools()` passes all tools via `customTools`:
263
-
264
- ```typescript
265
- export function splitSdkTools(options: { tools: AnyAgentTool[]; sandboxEnabled: boolean }) {
266
- return {
267
- builtInTools: [], // Empty. We override everything
268
- customTools: toToolDefinitions(options.tools),
269
- };
270
- }
271
- ```
272
-
273
- This ensures Symi's policy filtering, sandbox integration, and extended toolset remain consistent across providers.
274
-
275
- ## System Prompt Construction
276
-
277
- The system prompt is built in `buildAgentSystemPrompt()` (`system-prompt.ts`). It assembles a full prompt with sections including Tooling, Tool Call Style, Safety guardrails, Symi CLI reference, Skills, Docs, Workspace, Sandbox, Messaging, Reply Tags, Voice, Silent Replies, Heartbeats, Runtime metadata, plus Memory and Reactions when enabled, and optional context files and extra system prompt content. Sections are trimmed for minimal prompt mode used by subagents.
278
-
279
- The prompt is applied after session creation via `applySystemPromptOverrideToSession()`:
280
-
281
- ```typescript
282
- const systemPromptOverride = createSystemPromptOverride(appendPrompt);
283
- applySystemPromptOverrideToSession(session, systemPromptOverride);
284
- ```
285
-
286
- ## Session Management
287
-
288
- ### Session Files
289
-
290
- Sessions are JSONL files with tree structure (id/parentId linking). Pi's `SessionManager` handles persistence:
291
-
292
- ```typescript
293
- const sessionManager = SessionManager.open(params.sessionFile);
294
- ```
295
-
296
- Symi wraps this with `guardSessionManager()` for tool result safety.
297
-
298
- ### Session Caching
299
-
300
- `session-manager-cache.ts` caches SessionManager instances to avoid repeated file parsing:
301
-
302
- ```typescript
303
- await prewarmSessionFile(params.sessionFile);
304
- sessionManager = SessionManager.open(params.sessionFile);
305
- trackSessionManagerAccess(params.sessionFile);
306
- ```
307
-
308
- ### History Limiting
309
-
310
- `limitHistoryTurns()` trims conversation history based on channel type (DM vs group).
311
-
312
- ### Compaction
313
-
314
- Auto-compaction triggers on context overflow. `compactEmbeddedPiSessionDirect()` handles manual compaction:
315
-
316
- ```typescript
317
- const compactResult = await compactEmbeddedPiSessionDirect({
318
- sessionId, sessionFile, provider, model, ...
319
- });
320
- ```
321
-
322
- ## Authentication & Model Resolution
323
-
324
- ### Auth Profiles
325
-
326
- Symi maintains an auth profile store with multiple API keys per provider:
327
-
328
- ```typescript
329
- const authStore = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
330
- const profileOrder = resolveAuthProfileOrder({ cfg, store: authStore, provider, preferredProfile });
331
- ```
332
-
333
- Profiles rotate on failures with cooldown tracking:
334
-
335
- ```typescript
336
- await markAuthProfileFailure({ store, profileId, reason, cfg, agentDir });
337
- const rotated = await advanceAuthProfile();
338
- ```
339
-
340
- ### Model Resolution
341
-
342
- ```typescript
343
- import { resolveModel } from "./pi-embedded-runner/model.js";
344
-
345
- const { model, error, authStorage, modelRegistry } = resolveModel(
346
- provider,
347
- modelId,
348
- agentDir,
349
- config,
350
- );
351
-
352
- // Uses pi's ModelRegistry and AuthStorage
353
- authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
354
- ```
355
-
356
- ### Failover
357
-
358
- `FailoverError` triggers model fallback when configured:
359
-
360
- ```typescript
361
- if (fallbackConfigured && isFailoverErrorMessage(errorText)) {
362
- throw new FailoverError(errorText, {
363
- reason: promptFailoverReason ?? "unknown",
364
- provider,
365
- model: modelId,
366
- profileId,
367
- status: resolveFailoverStatus(promptFailoverReason),
368
- });
369
- }
370
- ```
371
-
372
- ## Pi Extensions
373
-
374
- Symi loads custom pi extensions for specialized behavior:
375
-
376
- ### Compaction Safeguard
377
-
378
- `pi-extensions/compaction-safeguard.ts` adds guardrails to compaction, including adaptive token budgeting plus tool failure and file operation summaries:
379
-
380
- ```typescript
381
- if (resolveCompactionMode(params.cfg) === "safeguard") {
382
- setCompactionSafeguardRuntime(params.sessionManager, { maxHistoryShare });
383
- paths.push(resolvePiExtensionPath("compaction-safeguard"));
384
- }
385
- ```
386
-
387
- ### Context Pruning
388
-
389
- `pi-extensions/context-pruning.ts` implements cache-TTL based context pruning:
390
-
391
- ```typescript
392
- if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") {
393
- setContextPruningRuntime(params.sessionManager, {
394
- settings,
395
- contextWindowTokens,
396
- isToolPrunable,
397
- lastCacheTouchAt,
398
- });
399
- paths.push(resolvePiExtensionPath("context-pruning"));
400
- }
401
- ```
402
-
403
- ## Streaming & Block Replies
404
-
405
- ### Block Chunking
406
-
407
- `EmbeddedBlockChunker` manages streaming text into discrete reply blocks:
408
-
409
- ```typescript
410
- const blockChunker = blockChunking ? new EmbeddedBlockChunker(blockChunking) : null;
411
- ```
412
-
413
- ### Thinking/Final Tag Stripping
414
-
415
- Streaming output is processed to strip `<think>`/`<thinking>` blocks and extract `<final>` content:
416
-
417
- ```typescript
418
- const stripBlockTags = (text: string, state: { thinking: boolean; final: boolean }) => {
419
- // Strip <think>...</think> content
420
- // If enforceFinalTag, only return <final>...</final> content
421
- };
422
- ```
423
-
424
- ### Reply Directives
425
-
426
- Reply directives like `[[media:url]]`, `[[voice]]`, `[[reply:id]]` are parsed and extracted:
427
-
428
- ```typescript
429
- const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDirectives(chunk);
430
- ```
431
-
432
- ## Error Handling
433
-
434
- ### Error Classification
435
-
436
- `pi-embedded-helpers.ts` classifies errors for appropriate handling:
437
-
438
- ```typescript
439
- isContextOverflowError(errorText) // Context too large
440
- isCompactionFailureError(errorText) // Compaction failed
441
- isAuthAssistantError(lastAssistant) // Auth failure
442
- isRateLimitAssistantError(...) // Rate limited
443
- isFailoverAssistantError(...) // Should failover
444
- classifyFailoverReason(errorText) // "auth" | "rate_limit" | "quota" | "timeout" | ...
445
- ```
446
-
447
- ### Thinking Level Fallback
448
-
449
- If a thinking level is unsupported, it falls back:
450
-
451
- ```typescript
452
- const fallbackThinking = pickFallbackThinkingLevel({
453
- message: errorText,
454
- attempted: attemptedThinking,
455
- });
456
- if (fallbackThinking) {
457
- thinkLevel = fallbackThinking;
458
- continue;
459
- }
460
- ```
461
-
462
- ## Sandbox Integration
463
-
464
- When sandbox mode is enabled, tools and paths are constrained:
465
-
466
- ```typescript
467
- const sandbox = await resolveSandboxContext({
468
- config: params.config,
469
- sessionKey: sandboxSessionKey,
470
- workspaceDir: resolvedWorkspace,
471
- });
472
-
473
- if (sandboxRoot) {
474
- // Use sandboxed read/edit/write tools
475
- // Exec runs in container
476
- // Browser uses bridge URL
477
- }
478
- ```
479
-
480
- ## Provider-Specific Handling
481
-
482
- ### Anthropic
483
-
484
- - Refusal magic string scrubbing
485
- - Turn validation for consecutive roles
486
- - Claude Code parameter compatibility
487
-
488
- ### Google/Gemini
489
-
490
- - Turn ordering fixes (`applyGoogleTurnOrderingFix`)
491
- - Tool schema sanitization (`sanitizeToolsForGoogle`)
492
- - Session history sanitization (`sanitizeSessionHistory`)
493
-
494
- ### OpenAI
495
-
496
- - `apply_patch` tool for Codex models
497
- - Thinking level downgrade handling
498
-
499
- ## TUI Integration
500
-
501
- Symi also has a local TUI mode that uses pi-tui components directly:
502
-
503
- ```typescript
504
- // src/tui/tui.ts
505
- import { ... } from "@mariozechner/pi-tui";
506
- ```
507
-
508
- This provides the interactive terminal experience similar to pi's native mode.
509
-
510
- ## Key Differences from Pi CLI
511
-
512
- | Aspect | Pi CLI | Symi Embedded |
513
- | --------------- | ----------------------- | -------------------------------------------------------------------------------------- |
514
- | Invocation | `pi` command / RPC | SDK via `createAgentSession()` |
515
- | Tools | Default coding tools | Custom Symi tool suite |
516
- | System prompt | AGENTS.md + prompts | Dynamic per-channel/context |
517
- | Session storage | `~/.pi/agent/sessions/` | `~/.symi/agents/<agentId>/sessions/` (or `$SYMI_STATE_DIR/agents/<agentId>/sessions/`) |
518
- | Auth | Single credential | Multi-profile with rotation |
519
- | Extensions | Loaded from disk | Programmatic + disk paths |
520
- | Event handling | TUI rendering | Callback-based (onBlockReply, etc.) |
521
-
522
- ## Future Considerations
523
-
524
- Areas for potential rework:
525
-
526
- 1. **Tool signature alignment**: Currently adapting between pi-agent-core and pi-coding-agent signatures
527
- 2. **Session manager wrapping**: `guardSessionManager` adds safety but increases complexity
528
- 3. **Extension loading**: Could use pi's `ResourceLoader` more directly
529
- 4. **Streaming handler complexity**: `subscribeEmbeddedPiSession` has grown large
530
- 5. **Provider quirks**: Many provider-specific codepaths that pi could potentially handle
531
-
532
- ## Tests
533
-
534
- All existing tests that cover the pi integration and its extensions:
535
-
536
- - `src/agents/pi-embedded-block-chunker.test.ts`
537
- - `src/agents/pi-embedded-helpers.buildbootstrapcontextfiles.test.ts`
538
- - `src/agents/pi-embedded-helpers.classifyfailoverreason.test.ts`
539
- - `src/agents/pi-embedded-helpers.downgradeopenai-reasoning.test.ts`
540
- - `src/agents/pi-embedded-helpers.formatassistanterrortext.test.ts`
541
- - `src/agents/pi-embedded-helpers.formatrawassistanterrorforui.test.ts`
542
- - `src/agents/pi-embedded-helpers.image-dimension-error.test.ts`
543
- - `src/agents/pi-embedded-helpers.image-size-error.test.ts`
544
- - `src/agents/pi-embedded-helpers.isautherrormessage.test.ts`
545
- - `src/agents/pi-embedded-helpers.isbillingerrormessage.test.ts`
546
- - `src/agents/pi-embedded-helpers.iscloudcodeassistformaterror.test.ts`
547
- - `src/agents/pi-embedded-helpers.iscompactionfailureerror.test.ts`
548
- - `src/agents/pi-embedded-helpers.iscontextoverflowerror.test.ts`
549
- - `src/agents/pi-embedded-helpers.isfailovererrormessage.test.ts`
550
- - `src/agents/pi-embedded-helpers.islikelycontextoverflowerror.test.ts`
551
- - `src/agents/pi-embedded-helpers.ismessagingtoolduplicate.test.ts`
552
- - `src/agents/pi-embedded-helpers.messaging-duplicate.test.ts`
553
- - `src/agents/pi-embedded-helpers.normalizetextforcomparison.test.ts`
554
- - `src/agents/pi-embedded-helpers.resolvebootstrapmaxchars.test.ts`
555
- - `src/agents/pi-embedded-helpers.sanitize-session-messages-images.keeps-tool-call-tool-result-ids-unchanged.test.ts`
556
- - `src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts`
557
- - `src/agents/pi-embedded-helpers.sanitizegoogleturnordering.test.ts`
558
- - `src/agents/pi-embedded-helpers.sanitizesessionmessagesimages-thought-signature-stripping.test.ts`
559
- - `src/agents/pi-embedded-helpers.sanitizetoolcallid.test.ts`
560
- - `src/agents/pi-embedded-helpers.sanitizeuserfacingtext.test.ts`
561
- - `src/agents/pi-embedded-helpers.stripthoughtsignatures.test.ts`
562
- - `src/agents/pi-embedded-helpers.validate-turns.test.ts`
563
- - `src/agents/pi-embedded-runner-extraparams.live.test.ts` (live)
564
- - `src/agents/pi-embedded-runner-extraparams.test.ts`
565
- - `src/agents/pi-embedded-runner.applygoogleturnorderingfix.test.ts`
566
- - `src/agents/pi-embedded-runner.buildembeddedsandboxinfo.test.ts`
567
- - `src/agents/pi-embedded-runner.createsystempromptoverride.test.ts`
568
- - `src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts`
569
- - `src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts`
570
- - `src/agents/pi-embedded-runner.google-sanitize-thinking.test.ts`
571
- - `src/agents/pi-embedded-runner.guard.test.ts`
572
- - `src/agents/pi-embedded-runner.limithistoryturns.test.ts`
573
- - `src/agents/pi-embedded-runner.resolvesessionagentids.test.ts`
574
- - `src/agents/pi-embedded-runner.run-embedded-pi-agent.auth-profile-rotation.test.ts`
575
- - `src/agents/pi-embedded-runner.sanitize-session-history.test.ts`
576
- - `src/agents/pi-embedded-runner.splitsdktools.test.ts`
577
- - `src/agents/pi-embedded-runner.test.ts`
578
- - `src/agents/pi-embedded-subscribe.code-span-awareness.test.ts`
579
- - `src/agents/pi-embedded-subscribe.reply-tags.test.ts`
580
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts`
581
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts`
582
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts`
583
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts`
584
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts`
585
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts`
586
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts`
587
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts`
588
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.includes-canvas-action-metadata-tool-summaries.test.ts`
589
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts`
590
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts`
591
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts`
592
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts`
593
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts`
594
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts`
595
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts`
596
- - `src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.waits-multiple-compaction-retries-before-resolving.test.ts`
597
- - `src/agents/pi-embedded-subscribe.tools.test.ts`
598
- - `src/agents/pi-embedded-utils.test.ts`
599
- - `src/agents/pi-extensions/compaction-safeguard.test.ts`
600
- - `src/agents/pi-extensions/context-pruning.test.ts`
601
- - `src/agents/pi-settings.test.ts`
602
- - `src/agents/pi-tool-definition-adapter.test.ts`
603
- - `src/agents/pi-tools-agent-config.test.ts`
604
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts`
605
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts`
606
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts`
607
- - `src/agents/pi-tools.create-symi-coding-tools.adds-claude-style-aliases-schemas-without-dropping.test.ts`
608
- - `src/agents/pi-tools.policy.test.ts`
609
- - `src/agents/pi-tools.safe-bins.test.ts`
610
- - `src/agents/pi-tools.workspace-paths.test.ts`