@symerian/symi 2.9.3 → 2.9.4

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 (157) hide show
  1. package/dist/{agents-D6V_7iZL.js → agents-CMoRbMNW.js} +4 -4
  2. package/dist/{agents.config-BeX0kxT3.js → agents.config-BLuBIvek.js} +1 -1
  3. package/dist/{agents.config-B-NRTvyi.js → agents.config-Ebtya9aN.js} +1 -1
  4. package/dist/{auth-choice-4lzxjIcf.js → auth-choice-C_lflrPV.js} +1 -1
  5. package/dist/{auth-choice-BJQjxe_Y.js → auth-choice-DAMY302C.js} +1 -1
  6. package/dist/{banner-Q3fjWWy3.js → banner-4mmBVDxd.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +2 -2
  9. package/dist/bundled/session-memory/handler.js +2 -2
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-D6U_Dpa2.js → channel-options-CqEImsEx.js} +1 -1
  12. package/dist/{channel-options-CQ0Q0xZr.js → channel-options-lJBshQMV.js} +1 -1
  13. package/dist/{channel-web-D6aolbVC.js → channel-web-CBC2RSBF.js} +1 -1
  14. package/dist/{channels-cli-By4y_t51.js → channels-cli-BqW1HbHG.js} +6 -6
  15. package/dist/{channels-cli-CxuKeNkr.js → channels-cli-CqtSKE5p.js} +6 -6
  16. package/dist/{cli-B1gtEojq.js → cli-B1Dxc2DT.js} +3 -3
  17. package/dist/{cli-41r_BAjv.js → cli-CjgvXavV.js} +3 -3
  18. package/dist/{command-registry-FJWuYmEn.js → command-registry-iESIIBvf.js} +10 -10
  19. package/dist/{completion-cli-DWVW4P54.js → completion-cli-BEddBU3C.js} +2 -2
  20. package/dist/{completion-cli-C20c_vzO.js → completion-cli-euUBlC-J.js} +1 -1
  21. package/dist/{config-cli-CJQ-12f7.js → config-cli-CAl0wtaC.js} +1 -1
  22. package/dist/{config-cli-CLXuCFJc.js → config-cli-DG8UgJ6z.js} +1 -1
  23. package/dist/{configure-I99ztt2Y.js → configure-B3AtbkbP.js} +3 -3
  24. package/dist/{configure-DrIhqYYW.js → configure-CtYsABUS.js} +3 -3
  25. package/dist/{doctor-completion-B4pjrehH.js → doctor-completion-B-Oak4dP.js} +1 -1
  26. package/dist/{doctor-completion-C9A7E6Wb.js → doctor-completion-BGriRzaq.js} +1 -1
  27. package/dist/entry.js +1 -1
  28. package/dist/extensionAPI.js +2 -2
  29. package/dist/{gateway-cli-BByLEck3.js → gateway-cli-CPligm4B.js} +11 -11
  30. package/dist/{gateway-cli-cZpbavO4.js → gateway-cli-CrgMw50H.js} +11 -11
  31. package/dist/{glass-ui-ws-DUHaC6lE.js → glass-ui-ws-BmrBGwq0.js} +9 -9
  32. package/dist/{glass-ui-ws-09XXkYnX.js → glass-ui-ws-JoAL8aXB.js} +9 -9
  33. package/dist/{health-CYHbTw04.js → health-BFlZuHVH.js} +1 -1
  34. package/dist/{health-Bvo3NXZK.js → health-C5cdo2e_.js} +1 -1
  35. package/dist/{hooks-cli-CiFs-0g0.js → hooks-cli-BHOi35KU.js} +4 -4
  36. package/dist/{hooks-cli-BwFW4lKC.js → hooks-cli-DFDzJIQJ.js} +4 -4
  37. package/dist/index.js +8 -8
  38. package/dist/llm-slug-generator.js +2 -2
  39. package/dist/{manager-CB20PmUH.js → manager-Ca7NOWdK.js} +1 -1
  40. package/dist/{manager-BsfrsBPw.js → manager-DNxvT0P-.js} +1 -1
  41. package/dist/{manager-CMB15ft8.js → manager-DlNP6Nui.js} +1 -1
  42. package/dist/{manager-Bj8GFlcZ.js → manager-SbxZtjEc.js} +1 -1
  43. package/dist/{memory-cli-Cuhhh4qN.js → memory-cli-D2LaloPq.js} +3 -3
  44. package/dist/{memory-cli-CoTkaEhh.js → memory-cli-xSpyRUEV.js} +3 -3
  45. package/dist/{models-CdIe1IJX.js → models-C6MaesB8.js} +2 -2
  46. package/dist/{models-cli-CZcMWBL0.js → models-cli-4IVFNhw8.js} +5 -5
  47. package/dist/{models-cli-o07a-fh5.js → models-cli-CjcsH00X.js} +4 -4
  48. package/dist/{onboard-Cjlal6-V.js → onboard-BoXWv3OF.js} +2 -2
  49. package/dist/{onboard-44op-88v.js → onboard-Dk5UFbaj.js} +2 -2
  50. package/dist/{onboard-channels-BseAErC9.js → onboard-channels-BQ-TPkl5.js} +1 -1
  51. package/dist/{onboard-channels-Lt1TlRrb.js → onboard-channels-DSIBGif0.js} +1 -1
  52. package/dist/{onboarding-DYJYybkl.js → onboarding-CvCh0fyS.js} +3 -3
  53. package/dist/{onboarding-DODsq7cg.js → onboarding-p3SCUopW.js} +3 -3
  54. package/dist/{onboarding.finalize-BX-xeFu7.js → onboarding.finalize-CrmmBrzK.js} +7 -7
  55. package/dist/{onboarding.finalize-DhhWr8GR.js → onboarding.finalize-l2qeYvn5.js} +8 -8
  56. package/dist/{pi-embedded-UMBd-Mrj.js → pi-embedded-DaTqseIp.js} +41 -5
  57. package/dist/{plugin-registry-HrZC-Iww.js → plugin-registry-B_IeViDg.js} +1 -1
  58. package/dist/{plugin-registry-Di_isjUm.js → plugin-registry-BmdLxUZd.js} +1 -1
  59. package/dist/plugin-sdk/{channel-web-CzZZsS3O.js → channel-web-DYJYy4et.js} +1 -1
  60. package/dist/plugin-sdk/index.js +3 -3
  61. package/dist/plugin-sdk/{manager-BiRYpsW7.js → manager-Ca0_Buoj.js} +1 -1
  62. package/dist/plugin-sdk/{reply-DYEklKOc.js → reply-Bfy77FPA.js} +41 -5
  63. package/dist/plugin-sdk/{synthesis-CaDiVumM.js → synthesis-D9SmRgqU.js} +2 -2
  64. package/dist/plugin-sdk/{web-DU4xaLZf.js → web-qvuO3y6z.js} +3 -3
  65. package/dist/{plugins-cli-CMz1ww6G.js → plugins-cli-CAp8Hyam.js} +4 -4
  66. package/dist/{plugins-cli-BlBz4J4q.js → plugins-cli-Dhcj3Mah.js} +4 -4
  67. package/dist/{program-dFZ5CYgD.js → program-UlEVhGTo.js} +9 -9
  68. package/dist/{program-context-ByWsh-2T.js → program-context-BFvY5D79.js} +18 -18
  69. package/dist/{prompt-select-styled-nywEyQoQ.js → prompt-select-styled-BehvQU7S.js} +6 -6
  70. package/dist/{prompt-select-styled-BkwnTGjt.js → prompt-select-styled-Bf47U3gY.js} +6 -6
  71. package/dist/{provider-auth-helpers-CQ604vQz.js → provider-auth-helpers-CEstUTnU.js} +1 -1
  72. package/dist/{provider-auth-helpers-CgJE4rvP.js → provider-auth-helpers-l2_9mB3E.js} +1 -1
  73. package/dist/{push-apns-CbjqnCIn.js → push-apns-Be_K61Y3.js} +1 -1
  74. package/dist/{push-apns-CQlSAman.js → push-apns-Cr9FKn9_.js} +1 -1
  75. package/dist/{register.agent-Hw7FS0tf.js → register.agent-DXzkaRw1.js} +8 -8
  76. package/dist/{register.agent-BaLgPcGg.js → register.agent-tfizhRlb.js} +7 -7
  77. package/dist/{register.configure-BC-jW4EY.js → register.configure-CtXnzNAk.js} +8 -8
  78. package/dist/{register.configure-D6bKnyeR.js → register.configure-DsBKnmY3.js} +8 -8
  79. package/dist/{register.maintenance-7LeID6wA.js → register.maintenance-BZJLuSs7.js} +10 -10
  80. package/dist/{register.maintenance-DQ73gAH0.js → register.maintenance-mVD8OA1V.js} +9 -9
  81. package/dist/{register.message-odamuJP5.js → register.message-C7Mfqk6i.js} +4 -4
  82. package/dist/{register.message-D2Ubr7KY.js → register.message-ZHGwfsV9.js} +4 -4
  83. package/dist/{register.onboard-Bv3BjuIZ.js → register.onboard-B0zHMGtr.js} +6 -6
  84. package/dist/{register.onboard-DwYvxoBx.js → register.onboard-bPMjH-cM.js} +6 -6
  85. package/dist/{register.setup-BvNMj7Tn.js → register.setup-aVvT34-g.js} +6 -6
  86. package/dist/{register.setup-B6ylBd_s.js → register.setup-jLBfOyYo.js} +6 -6
  87. package/dist/{register.status-health-sessions-Cr65vOYW.js → register.status-health-sessions-Bbp4B0t_.js} +5 -5
  88. package/dist/{register.status-health-sessions-Bx0oTY_P.js → register.status-health-sessions-Ym9Z__5q.js} +5 -5
  89. package/dist/{register.subclis-BzbNYOC6.js → register.subclis-DHLF7LUE.js} +9 -9
  90. package/dist/{reply-Bymjl4wV.js → reply-DaLBaxTg.js} +40 -4
  91. package/dist/{run-main-BAaL6QjO.js → run-main-i-0RAGWP.js} +17 -17
  92. package/dist/{server-methods-Ds4i0Q2F.js → server-methods-9ygcQLBv.js} +8 -8
  93. package/dist/{server-methods-C4j7W_qQ.js → server-methods-BTBqGPE0.js} +8 -8
  94. package/dist/{server-node-events-tbjGwgHF.js → server-node-events-Dwq8UMWp.js} +4 -4
  95. package/dist/{server-node-events-D0gNq3h6.js → server-node-events-v-YRyTWm.js} +4 -4
  96. package/dist/{status-CGabcN-L.js → status-87Am-dN6.js} +3 -3
  97. package/dist/{status-BdkVcIDX.js → status-BwKYtKTR.js} +1 -1
  98. package/dist/{status-DpVc9DSG.js → status-Cet2zu6k.js} +1 -1
  99. package/dist/{status-BfNSBvnp.js → status-vF06cYz7.js} +3 -3
  100. package/dist/{subagent-registry-0D_yjdW5.js → subagent-registry--ttOPMLH.js} +40 -4
  101. package/dist/{synthesis-Bf2XnlvP.js → synthesis-9GndKT3K.js} +2 -2
  102. package/dist/{synthesis-DFQ_rjEF.js → synthesis-DH0gSv7o.js} +2 -2
  103. package/dist/{synthesis-1f-yGtS7.js → synthesis-JzS-852N.js} +3 -3
  104. package/dist/{synthesis-A2SfvBRN.js → synthesis-aBsVjLIL.js} +3 -3
  105. package/dist/{unified-runner-j_Vn4K8X.js → unified-runner-C0OC_Ay0.js} +41 -5
  106. package/dist/{update-cli-CWMGbbPM.js → update-cli-BWulAC_Y.js} +10 -10
  107. package/dist/{update-cli-B3t4yUU6.js → update-cli-DAP38iFd.js} +9 -9
  108. package/dist/{update-runner-CfzHxbsu.js → update-runner-Bl0Y3ndR.js} +1 -1
  109. package/dist/{update-runner-UfVHKth_.js → update-runner-DV6ov2uA.js} +1 -1
  110. package/dist/{web-BSf9H0_w.js → web-Cl-3dkwx.js} +2 -2
  111. package/dist/{web-DaChMSyM.js → web-DcZB_7Fo.js} +2 -2
  112. package/dist/{web-DIDhNbES.js → web-DhjVLurg.js} +4 -4
  113. package/dist/{web-DCTvbYTy.js → web-K_bPrtFT.js} +3 -3
  114. package/docs/capabilities.md +36 -36
  115. package/extensions/bluebubbles/package.json +1 -1
  116. package/extensions/copilot-proxy/package.json +1 -1
  117. package/extensions/diagnostics-otel/package.json +1 -1
  118. package/extensions/discord/package.json +1 -1
  119. package/extensions/feishu/package.json +1 -1
  120. package/extensions/google-antigravity-auth/package.json +1 -1
  121. package/extensions/google-gemini-cli-auth/package.json +1 -1
  122. package/extensions/googlechat/package.json +1 -1
  123. package/extensions/imessage/package.json +1 -1
  124. package/extensions/irc/package.json +1 -1
  125. package/extensions/learning-loop/package.json +1 -1
  126. package/extensions/line/package.json +1 -1
  127. package/extensions/llm-task/package.json +1 -1
  128. package/extensions/matrix/CHANGELOG.md +6 -0
  129. package/extensions/matrix/package.json +1 -1
  130. package/extensions/mattermost/package.json +1 -1
  131. package/extensions/memory-core/package.json +1 -1
  132. package/extensions/memory-lancedb/package.json +1 -1
  133. package/extensions/minimax-portal-auth/package.json +1 -1
  134. package/extensions/msteams/CHANGELOG.md +6 -0
  135. package/extensions/msteams/package.json +1 -1
  136. package/extensions/nextcloud-talk/package.json +1 -1
  137. package/extensions/nostr/CHANGELOG.md +6 -0
  138. package/extensions/nostr/package.json +1 -1
  139. package/extensions/open-prose/package.json +1 -1
  140. package/extensions/outlook/node_modules/.bin/symi +21 -0
  141. package/extensions/outlook/package.json +1 -1
  142. package/extensions/pipeline/package.json +1 -1
  143. package/extensions/signal/package.json +1 -1
  144. package/extensions/slack/package.json +1 -1
  145. package/extensions/telegram/package.json +1 -1
  146. package/extensions/tlon/package.json +1 -1
  147. package/extensions/twitch/CHANGELOG.md +6 -0
  148. package/extensions/twitch/package.json +1 -1
  149. package/extensions/voice-call/CHANGELOG.md +6 -0
  150. package/extensions/voice-call/package.json +1 -1
  151. package/extensions/whatsapp/package.json +1 -1
  152. package/extensions/zalo/CHANGELOG.md +6 -0
  153. package/extensions/zalo/package.json +1 -1
  154. package/extensions/zalouser/CHANGELOG.md +6 -0
  155. package/extensions/zalouser/package.json +1 -1
  156. package/package.json +5 -1
  157. package/skills/document-generation/SKILL.md +37 -18
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/bluebubbles",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/copilot-proxy",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/diagnostics-otel",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/discord",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Discord channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/feishu",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/google-antigravity-auth",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Google Antigravity OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/google-gemini-cli-auth",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Gemini CLI OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/googlechat",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Google Chat channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/imessage",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi iMessage channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/irc",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi IRC channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/learning-loop",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Closed-loop learning extension with deterministic quality scoring and vector-indexed learning storage",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/line",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi LINE channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/llm-task",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi JSON-only LLM task plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/matrix",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Matrix channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/mattermost",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Mattermost channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/memory-core",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi core memory search plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/memory-lancedb",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi LanceDB-backed long-term memory plugin with auto-recall/capture",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/minimax-portal-auth",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi MiniMax Portal OAuth provider plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/msteams",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Microsoft Teams channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/nextcloud-talk",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Nextcloud Talk channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/nostr",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Nostr channel plugin for NIP-04 encrypted DMs",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/open-prose",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
6
6
  "type": "module",
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/home/symi/projects/symi/node_modules:/home/symi/projects/node_modules:/home/symi/node_modules:/home/node_modules:/node_modules:/home/symi/projects/symi/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/home/symi/projects/symi/node_modules:/home/symi/projects/node_modules:/home/symi/node_modules:/home/node_modules:/node_modules:/home/symi/projects/symi/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../@symerian/symi/symi.mjs" "$@"
19
+ else
20
+ exec node "$basedir/../@symerian/symi/symi.mjs" "$@"
21
+ fi
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/outlook",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Outlook 365 email integration via Microsoft Graph API",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/pipeline",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Pipeline workflow tool plugin (typed pipelines + resumable approvals)",
5
5
  "type": "module",
6
6
  "symi": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/signal",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Signal channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/slack",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Slack channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/telegram",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Telegram channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/tlon",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Tlon/Urbit channel plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/twitch",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi Twitch channel plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/voice-call",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi voice-call plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/whatsapp",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "private": true,
5
5
  "description": "Symi WhatsApp channel plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/zalo",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Zalo channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.9.4
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core Symi release numbers.
8
+
3
9
  ## 2.9.3
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/zalouser",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Symi Zalo Personal Account plugin via zca-cli",
5
5
  "type": "module",
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "2.9.3",
3
+ "version": "2.9.4",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",
@@ -160,7 +160,9 @@
160
160
  "commander": "^14.0.3",
161
161
  "croner": "^10.0.1",
162
162
  "discord-api-types": "^0.38.40",
163
+ "docx": "^9.5.1",
163
164
  "dotenv": "^17.3.1",
165
+ "exceljs": "^4.4.0",
164
166
  "express": "^5.2.1",
165
167
  "file-type": "^21.3.0",
166
168
  "grammy": "^1.40.0",
@@ -175,7 +177,9 @@
175
177
  "opusscript": "^0.0.8",
176
178
  "osc-progress": "^0.3.0",
177
179
  "pdfjs-dist": "^5.4.624",
180
+ "pdfkit": "^0.17.2",
178
181
  "playwright-core": "1.58.2",
182
+ "pptxgenjs": "^4.0.1",
179
183
  "qrcode-terminal": "^0.12.0",
180
184
  "sharp": "^0.34.5",
181
185
  "sqlite-vec": "0.1.7-alpha.2",
@@ -1,27 +1,27 @@
1
1
  ---
2
2
  name: document-generation
3
- description: Generate Word (.docx), Excel (.xlsx), PowerPoint (.pptx), and PDF documents via npm packages pre-installed on the gateway. Write a short Node.js script (.cjs for CommonJS), execute via exec with host=gateway. Use when the user asks to create, generate, or export documents.
3
+ description: Generate Word (.docx), Excel (.xlsx), PowerPoint (.pptx), and PDF documents via npm packages bundled with Symi. Write a short Node.js script (.cjs for CommonJS), execute via exec with host=gateway. Use when the user asks to create, generate, or export documents.
4
4
  triggers: [document, docx, xlsx, pptx, pdf, word, excel, powerpoint, generate, export, file]
5
5
  ---
6
6
 
7
7
  # Document Generation
8
8
 
9
- The gateway has these npm packages pre-installed for generating documents via the `exec` tool:
9
+ Symi ships with these npm packages bundled for document generation via the `exec` tool:
10
10
 
11
11
  - **`docx`** — create `.docx` (Word) files with headings, paragraphs, tables, images, styles.
12
12
  - **`exceljs`** — create `.xlsx` (Excel) files with sheets, formulas, formatting, charts.
13
13
  - **`pptxgenjs`** — create `.pptx` (PowerPoint) files with slides, layouts, text, images, charts.
14
14
  - **`pdfkit`** — create `.pdf` files with text, images, tables, vector graphics.
15
15
 
16
+ These are real `dependencies` in Symi's `package.json` — they install with Symi automatically. No separate setup step.
17
+
16
18
  ## How to invoke
17
19
 
18
20
  When the user asks to **create, generate, or export** a document:
19
21
 
20
- 1. Write a short Node.js script. Save with `.cjs` extension to guarantee CommonJS resolution.
21
- 2. Execute via the `exec` tool with `host: "gateway"` — the packages are installed on the gateway host, NOT the sandbox or remote nodes.
22
- 3. Save the output:
23
- - To `projects/{slug}/files/` when a project is active.
24
- - Otherwise to `.session-uploads/{session_id}/`.
22
+ 1. Write a short Node.js script. Save it with the `.cjs` extension so CommonJS `require()` resolves correctly even though Symi's own package is `"type": "module"`.
23
+ 2. Execute via the `exec` tool with `host: "gateway"` — the packages are installed in Symi's own `node_modules`, which the gateway host can resolve from.
24
+ 3. Write the output to a path the user can pick up — typically the workspace dir, `~/Downloads/`, or wherever the user named.
25
25
 
26
26
  ## Minimal example — Word doc
27
27
 
@@ -42,23 +42,42 @@ const doc = new Document({
42
42
  });
43
43
 
44
44
  Packer.toBuffer(doc).then((buf) => {
45
- fs.writeFileSync(".session-uploads/<session_id>/report.docx", buf);
45
+ fs.writeFileSync("/tmp/report.docx", buf);
46
46
  });
47
47
  ```
48
48
 
49
49
  Then `exec({ host: "gateway", command: "node gen.cjs" })`.
50
50
 
51
- ## What NOT to do
51
+ The script must run on the gateway host because that's where Symi's `node_modules` live — the sandbox and remote nodes do NOT have these packages.
52
52
 
53
- - **Don't use Pandoc, LibreOffice, or other CLI converters** unless the user specifically asks. The pre-installed npm packages are faster, more reliable, and don't require external binaries.
54
- - **Don't try to generate documents from the sandbox host** — those packages are gateway-only.
55
- - **Don't write the file to the workspace root** unless explicitly asked. Use the project or session-uploads paths.
56
- - **Don't dump 10KB of HTML and call it a "document"**. Use the structured generators above.
53
+ ## Other formats
57
54
 
58
- ## When the user wants something analyzable instead
55
+ ```js
56
+ // xlsx
57
+ const ExcelJS = require("exceljs");
58
+ const wb = new ExcelJS.Workbook();
59
+ const sheet = wb.addWorksheet("Sheet1");
60
+ sheet.getCell("A1").value = "Hello";
61
+ await wb.xlsx.writeFile("/tmp/out.xlsx");
62
+
63
+ // pptx
64
+ const PptxGenJS = require("pptxgenjs");
65
+ const pptx = new PptxGenJS();
66
+ const slide = pptx.addSlide();
67
+ slide.addText("Hello", { x: 1, y: 1, w: 4, h: 1 });
68
+ await pptx.writeFile({ fileName: "/tmp/out.pptx" });
69
+
70
+ // pdf
71
+ const PDFDocument = require("pdfkit");
72
+ const fs = require("fs");
73
+ const pdf = new PDFDocument();
74
+ pdf.pipe(fs.createWriteStream("/tmp/out.pdf"));
75
+ pdf.text("Hello");
76
+ pdf.end();
77
+ ```
59
78
 
60
- If the user uploaded a file (PDF, Word, Excel, image) and wants the content extracted (not generated):
79
+ ## What NOT to do
61
80
 
62
- - Use the `workspace_project` tool with `read_file` action.
63
- - It extracts text from PDFs, Word docs, Excel files, images (OCR), and plain text.
64
- - Pass the relative path: `.session-uploads/{session_id}/<filename>` or `projects/{slug}/files/<filename>`.
81
+ - **Don't use Pandoc, LibreOffice, or other CLI converters** unless the user specifically asks. The bundled npm packages are faster, more reliable, and don't require external binaries.
82
+ - **Don't try to generate documents from the sandbox host** the packages live in Symi's own `node_modules` on the gateway host.
83
+ - **Don't dump 10KB of HTML and call it a "document"**. Use the structured generators above.