@xopcai/xopc 0.0.116 → 0.0.118

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 (677) hide show
  1. package/README.md +44 -28
  2. package/README.zh-CN.md +63 -45
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/demo-memory/src/index.d.ts +6 -0
  5. package/dist/extensions/demo-memory/src/index.js +132 -0
  6. package/dist/extensions/demo-memory/src/index.js.map +1 -0
  7. package/dist/extensions/demo-memory/xopc.extension.json +15 -0
  8. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  9. package/dist/extensions/feishu/src/schema/config-schema.d.ts +3 -3
  10. package/dist/extensions/feishu/src/workflow-progress.js +1 -1
  11. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
  12. package/dist/extensions/telegram/src/command-handler.js +1 -2
  13. package/dist/extensions/telegram/src/command-handler.js.map +1 -1
  14. package/dist/extensions/telegram/src/config-schema.d.ts +8 -8
  15. package/dist/extensions/telegram/src/inbound-processor.js +1 -1
  16. package/dist/extensions/telegram/src/plugin.js +1 -1
  17. package/dist/extensions/telegram/src/routing-integration.js +2 -2
  18. package/dist/extensions/telegram/src/update-offset-store.js +1 -1
  19. package/dist/extensions/telegram/src/workflow-progress.js +1 -1
  20. package/dist/extensions/telegram/xopc.extension.json +1 -1
  21. package/dist/extensions/weixin/src/api/api.js +2 -2
  22. package/dist/extensions/weixin/src/auth/accounts.js +1 -1
  23. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  24. package/dist/extensions/weixin/src/config-schema.d.ts +3 -3
  25. package/dist/extensions/weixin/src/media/data-url.js +1 -1
  26. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  27. package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
  28. package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
  29. package/dist/extensions/weixin/src/plugin.js +1 -1
  30. package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
  31. package/dist/extensions/weixin/src/workflow-progress.js +1 -1
  32. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CWM1UU5P.js → agent-avatar-dicebear-dzUrQoeZ.js} +1 -1
  33. package/dist/gateway/static/root/assets/agents-BCxZbkOw.js +2 -0
  34. package/dist/gateway/static/root/assets/{app-management-settings-panel-yXSXY_bu.js → app-management-settings-panel-bxYJVJpx.js} +1 -1
  35. package/dist/gateway/static/root/assets/{appearance-settings-DjY1P_ug.js → appearance-settings-BCIykXlI.js} +1 -1
  36. package/dist/gateway/static/root/assets/apps-page--wMEL00f.js +1 -0
  37. package/dist/gateway/static/root/assets/{archive-plugin-CytE5j-e.js → archive-plugin-Cki4SfU2.js} +1 -1
  38. package/dist/gateway/static/root/assets/{attachment-load-BvvrN6rF.js → attachment-load-D-KnS2Do.js} +1 -1
  39. package/dist/gateway/static/root/assets/{binary-plugins-IBWSitnj.js → binary-plugins-D2sgvJja.js} +1 -1
  40. package/dist/gateway/static/root/assets/{block-editor-C-wDpsf-.js → block-editor-DIq-4Gvb.js} +27 -27
  41. package/dist/gateway/static/root/assets/browser-settings-page-DRhKdn81.js +8 -0
  42. package/dist/gateway/static/root/assets/capability-presets-api-CorhiHlg.js +1 -0
  43. package/dist/gateway/static/root/assets/capability-presets-settings-panel-qFx9Jtce.js +1 -0
  44. package/dist/gateway/static/root/assets/channels-settings-BAwAkqIA.js +1 -0
  45. package/dist/gateway/static/root/assets/connectors-page-BQLcfitM.js +2 -0
  46. package/dist/gateway/static/root/assets/cron-api-qGwmL-24.js +1 -0
  47. package/dist/gateway/static/root/assets/cron-page-BBWMAj8-.js +3 -0
  48. package/dist/gateway/static/root/assets/dreaming-settings-Dw89Obml.js +1 -0
  49. package/dist/gateway/static/root/assets/{extension-debug-page-BAIyjDlq.js → extension-debug-page-DYu1KaFQ.js} +1 -1
  50. package/dist/gateway/static/root/assets/{extension-page-DEhv2GpC.js → extension-page-B3W6QwlZ.js} +1 -1
  51. package/dist/gateway/static/root/assets/{extension-settings-page-DOuAxTDW.js → extension-settings-page-D7VQ-cxE.js} +1 -1
  52. package/dist/gateway/static/root/assets/{fetch-CTsREQIe.js → fetch-B7xDPu-R.js} +1 -1
  53. package/dist/gateway/static/root/assets/{format-interval-label-D35Bfhtx.js → format-interval-label-BzxafKxR.js} +1 -1
  54. package/dist/gateway/static/root/assets/gateway-config-api-BTBLSeUu.js +1 -0
  55. package/dist/gateway/static/root/assets/gateway-settings-Cmwy58rS.js +1 -0
  56. package/dist/gateway/static/root/assets/{gateway-startup-retry-C1KAHrd2.js → gateway-startup-retry-CYj9FWCp.js} +1 -1
  57. package/dist/gateway/static/root/assets/goal-detail-page-l7mu5GWX.js +1 -0
  58. package/dist/gateway/static/root/assets/{goals-config-api-KnLGpu6h.js → goals-config-api-CQQgzPr3.js} +1 -1
  59. package/dist/gateway/static/root/assets/goals-page-BHitvJAv.js +2 -0
  60. package/dist/gateway/static/root/assets/{goals-settings-DtPtqZi8.js → goals-settings-CYVY4NGp.js} +1 -1
  61. package/dist/gateway/static/root/assets/{heartbeat-config-api-uKw1f0IG.js → heartbeat-config-api-DriO_CN9.js} +1 -1
  62. package/dist/gateway/static/root/assets/heartbeat-settings-CUQTKxg7.js +1 -0
  63. package/dist/gateway/static/root/assets/index-C17Tsd_b.css +1 -0
  64. package/dist/gateway/static/root/assets/index-Cc41r16l.js +191 -0
  65. package/dist/gateway/static/root/assets/{interval-presets-Dq0FXJ65.js → interval-presets-DFPCKW_W.js} +1 -1
  66. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-C9_t4m7t.js → keyboard-shortcuts-settings-CcVcqstx.js} +1 -1
  67. package/dist/gateway/static/root/assets/{logs-page-SNkWzidV.js → logs-page-C2Uqvae9.js} +2 -2
  68. package/dist/gateway/static/root/assets/{markdown-split-Ca87W8-h.js → markdown-split-BwOFrJ2E.js} +1 -1
  69. package/dist/gateway/static/root/assets/{media-plugins-BAcUjPRJ.js → media-plugins-Cnz6Q5G6.js} +1 -1
  70. package/dist/gateway/static/root/assets/messages-B1iSKjiw.js +3 -0
  71. package/dist/gateway/static/root/assets/models-hub-panel-BfLfcta8.js +2 -0
  72. package/dist/gateway/static/root/assets/note-detail-page-BjwOQBfT.js +2 -0
  73. package/dist/gateway/static/root/assets/{note-image-lightbox-hnSX5SSn.js → note-image-lightbox-B-Svpmza.js} +1 -1
  74. package/dist/gateway/static/root/assets/notes-page-DktdBiwB.js +1 -0
  75. package/dist/gateway/static/root/assets/{preview-open-alternatives-CNgM20H5.js → preview-open-alternatives-Bss4TiwP.js} +1 -1
  76. package/dist/gateway/static/root/assets/remote-access-hub-rfVx96fq.js +1 -0
  77. package/dist/gateway/static/root/assets/{save-bar-controls-CcdjGcfT.js → save-bar-controls-BRNjdgKq.js} +1 -1
  78. package/dist/gateway/static/root/assets/{schedule-field-CYr39z76.js → schedule-field-CUCKODde.js} +1 -1
  79. package/dist/gateway/static/root/assets/{schema-form-BRAJgZQ2.js → schema-form-Dub9sy8r.js} +1 -1
  80. package/dist/gateway/static/root/assets/sessions-page-DbtMFuuH.js +1 -0
  81. package/dist/gateway/static/root/assets/settings-advanced-gate-5re5gAnP.js +1 -0
  82. package/dist/gateway/static/root/assets/{settings-collapsible-section-BhzjeGWi.js → settings-collapsible-section-BeFLavGi.js} +1 -1
  83. package/dist/gateway/static/root/assets/{settings-form-section-Cz3Pcr9b.js → settings-form-section-dmyaPOTG.js} +1 -1
  84. package/dist/gateway/static/root/assets/settings-page-D-WMyLlj.js +1 -0
  85. package/dist/gateway/static/root/assets/setup-status-panel-Cl-DEJAU.js +1 -0
  86. package/dist/gateway/static/root/assets/{share-preview-page-DL4y9K5e.js → share-preview-page-C8glrdqe.js} +1 -1
  87. package/dist/gateway/static/root/assets/shares-settings-CyPVvbLt.js +1 -0
  88. package/dist/gateway/static/root/assets/skill-reload-api-CleTH1oz.js +1 -0
  89. package/dist/gateway/static/root/assets/skills-page-Ck8hdXqR.js +2 -0
  90. package/dist/gateway/static/root/assets/{system-settings-panel-FD2jxRZ3.js → system-settings-panel-DI-LN_8G.js} +1 -1
  91. package/dist/gateway/static/root/assets/typed-models-lib-kX9duch4.js +1 -0
  92. package/dist/gateway/static/root/assets/{use-channel-catalog-BInPrfR5.js → use-channel-catalog-DqlWTsDb.js} +1 -1
  93. package/dist/gateway/static/root/assets/user-profile-settings-panel-B-UFPMXy.js +1 -0
  94. package/dist/gateway/static/root/assets/utils-Dm0hKalR.js +1 -0
  95. package/dist/gateway/static/root/assets/voice-api-key-field-C73IVZeC.js +1 -0
  96. package/dist/gateway/static/root/assets/{voice-player-store-1U3vFppm.js → voice-player-store-C_ArLJPM.js} +1 -1
  97. package/dist/gateway/static/root/assets/workflows-page-BtFGp2y_.js +18 -0
  98. package/dist/gateway/static/root/index.html +5 -5
  99. package/dist/package.js +1 -1
  100. package/dist/src/agent/agent-manager.d.ts +1 -1
  101. package/dist/src/agent/agent-manager.js +14 -14
  102. package/dist/src/agent/agent-manager.js.map +1 -1
  103. package/dist/src/agent/agent-scope.js +5 -9
  104. package/dist/src/agent/agent-scope.js.map +1 -1
  105. package/dist/src/agent/background-review/coordinator.js +0 -1
  106. package/dist/src/agent/background-review/coordinator.js.map +1 -1
  107. package/dist/src/agent/background-review/prompts.d.ts +2 -2
  108. package/dist/src/agent/background-review/prompts.js +2 -2
  109. package/dist/src/agent/background-review/prompts.js.map +1 -1
  110. package/dist/src/agent/background-review/run-background-review.d.ts +0 -2
  111. package/dist/src/agent/background-review/run-background-review.js +2 -4
  112. package/dist/src/agent/background-review/run-background-review.js.map +1 -1
  113. package/dist/src/agent/background-review/settings.d.ts +1 -1
  114. package/dist/src/agent/background-review/settings.js +8 -8
  115. package/dist/src/agent/background-review/settings.js.map +1 -1
  116. package/dist/src/agent/bootstrap/bootstrap-cache.d.ts +1 -0
  117. package/dist/src/agent/bootstrap/bootstrap-cache.js +4 -3
  118. package/dist/src/agent/bootstrap/bootstrap-cache.js.map +1 -1
  119. package/dist/src/agent/bootstrap/bootstrap-context.d.ts +2 -2
  120. package/dist/src/agent/bootstrap/bootstrap-context.js +4 -4
  121. package/dist/src/agent/bootstrap/bootstrap-context.js.map +1 -1
  122. package/dist/src/agent/bootstrap/bootstrap-files.d.ts +4 -0
  123. package/dist/src/agent/bootstrap/bootstrap-files.js +4 -3
  124. package/dist/src/agent/bootstrap/bootstrap-files.js.map +1 -1
  125. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +4 -2
  126. package/dist/src/agent/bootstrap/filter-bootstrap-files.js.map +1 -1
  127. package/dist/src/agent/bootstrap/load-bootstrap-files.d.ts +2 -1
  128. package/dist/src/agent/bootstrap/load-bootstrap-files.js +18 -17
  129. package/dist/src/agent/bootstrap/load-bootstrap-files.js.map +1 -1
  130. package/dist/src/agent/bootstrap/project-agents-context.js +1 -1
  131. package/dist/src/agent/bootstrap/types.d.ts +1 -1
  132. package/dist/src/agent/context/workspace-seed.js +3 -3
  133. package/dist/src/agent/context/workspace-state.js +1 -1
  134. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  135. package/dist/src/agent/context/workspace.d.ts +4 -2
  136. package/dist/src/agent/context/workspace.js +6 -5
  137. package/dist/src/agent/context/workspace.js.map +1 -1
  138. package/dist/src/agent/embedded/run-for-session.js +4 -1
  139. package/dist/src/agent/embedded/run-for-session.js.map +1 -1
  140. package/dist/src/agent/fallback/candidates.js +11 -9
  141. package/dist/src/agent/fallback/candidates.js.map +1 -1
  142. package/dist/src/agent/goals/goal-locale.js +2 -2
  143. package/dist/src/agent/goals/post-turn.js +3 -3
  144. package/dist/src/agent/image/generation/runtime-types.d.ts +2 -0
  145. package/dist/src/agent/image/generation/runtime.js +1 -1
  146. package/dist/src/agent/image/generation/runtime.js.map +1 -1
  147. package/dist/src/agent/image/image-helpers.d.ts +1 -1
  148. package/dist/src/agent/image/image-helpers.js +4 -17
  149. package/dist/src/agent/image/image-helpers.js.map +1 -1
  150. package/dist/src/agent/image/image-model-fallback.js +1 -1
  151. package/dist/src/agent/image/image-model-fallback.js.map +1 -1
  152. package/dist/src/agent/image/inbound-image-handling.js +1 -1
  153. package/dist/src/agent/image/inbound-image-handling.js.map +1 -1
  154. package/dist/src/agent/image/load-image-media.js +2 -2
  155. package/dist/src/agent/image/tool-model-config.d.ts +1 -1
  156. package/dist/src/agent/image/tool-model-config.js +2 -2
  157. package/dist/src/agent/image/tool-model-config.js.map +1 -1
  158. package/dist/src/agent/ipc/inbox.js +3 -3
  159. package/dist/src/agent/ipc/socket.js +1 -1
  160. package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
  161. package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
  162. package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
  163. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  164. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +1 -1
  165. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js.map +1 -1
  166. package/dist/src/agent/media-generation/runtime-shared.d.ts +5 -2
  167. package/dist/src/agent/media-generation/runtime-shared.js +1 -1
  168. package/dist/src/agent/media-generation/runtime-shared.js.map +1 -1
  169. package/dist/src/agent/memory/builtin-memory-store.d.ts +6 -2
  170. package/dist/src/agent/memory/builtin-memory-store.js +15 -6
  171. package/dist/src/agent/memory/builtin-memory-store.js.map +1 -1
  172. package/dist/src/agent/memory/builtin-provider.d.ts +31 -9
  173. package/dist/src/agent/memory/builtin-provider.js +290 -11
  174. package/dist/src/agent/memory/builtin-provider.js.map +1 -1
  175. package/dist/src/agent/memory/candidate-extractor.d.ts +6 -0
  176. package/dist/src/agent/memory/candidate-extractor.js +60 -0
  177. package/dist/src/agent/memory/candidate-extractor.js.map +1 -0
  178. package/dist/src/agent/memory/context-assembler.d.ts +10 -0
  179. package/dist/src/agent/memory/context-assembler.js +26 -0
  180. package/dist/src/agent/memory/context-assembler.js.map +1 -0
  181. package/dist/src/agent/memory/create-memory-manager.js +25 -7
  182. package/dist/src/agent/memory/create-memory-manager.js.map +1 -1
  183. package/dist/src/agent/memory/dreaming/config.d.ts +1 -6
  184. package/dist/src/agent/memory/dreaming/config.js +8 -8
  185. package/dist/src/agent/memory/dreaming/config.js.map +1 -1
  186. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +2 -0
  187. package/dist/src/agent/memory/dreaming/deep-promotion.js +25 -1
  188. package/dist/src/agent/memory/dreaming/deep-promotion.js.map +1 -1
  189. package/dist/src/agent/memory/dreaming/events.js +1 -1
  190. package/dist/src/agent/memory/dreaming/last-run.js +1 -1
  191. package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
  192. package/dist/src/agent/memory/dreaming/preview.js +1 -1
  193. package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
  194. package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
  195. package/dist/src/agent/memory/dreaming/utils.js +1 -1
  196. package/dist/src/agent/memory/index.d.ts +1 -0
  197. package/dist/src/agent/memory/index.js +4 -3
  198. package/dist/src/agent/memory/inject-prefetch.js +6 -2
  199. package/dist/src/agent/memory/inject-prefetch.js.map +1 -1
  200. package/dist/src/agent/memory/manager.d.ts +39 -2
  201. package/dist/src/agent/memory/manager.js +355 -39
  202. package/dist/src/agent/memory/manager.js.map +1 -1
  203. package/dist/src/agent/memory/memory-config.js +15 -15
  204. package/dist/src/agent/memory/memory-config.js.map +1 -1
  205. package/dist/src/agent/memory/memory-flush.js +1 -1
  206. package/dist/src/agent/memory/plugin-discovery.d.ts +19 -5
  207. package/dist/src/agent/memory/plugin-discovery.js +97 -31
  208. package/dist/src/agent/memory/plugin-discovery.js.map +1 -1
  209. package/dist/src/agent/memory/prefetch-coordinator.js.map +1 -1
  210. package/dist/src/agent/memory/provider.d.ts +20 -15
  211. package/dist/src/agent/memory/stub-memory-provider.d.ts +17 -2
  212. package/dist/src/agent/memory/stub-memory-provider.js +20 -3
  213. package/dist/src/agent/memory/stub-memory-provider.js.map +1 -1
  214. package/dist/src/agent/memory/types.d.ts +162 -3
  215. package/dist/src/agent/models/manager.d.ts +1 -1
  216. package/dist/src/agent/models/manager.js +2 -2
  217. package/dist/src/agent/models/manager.js.map +1 -1
  218. package/dist/src/agent/orchestration/agent-orchestrator.d.ts +1 -1
  219. package/dist/src/agent/orchestration/agent-orchestrator.js +2 -1
  220. package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
  221. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.d.ts +2 -2
  222. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js +1 -1
  223. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js.map +1 -1
  224. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.d.ts +2 -6
  225. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +2 -8
  226. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js.map +1 -1
  227. package/dist/src/agent/prompt/memory/index.d.ts +4 -2
  228. package/dist/src/agent/prompt/memory/index.js +19 -13
  229. package/dist/src/agent/prompt/memory/index.js.map +1 -1
  230. package/dist/src/agent/prompt/sections/memory-skills.js +1 -1
  231. package/dist/src/agent/prompt/sections/memory-skills.js.map +1 -1
  232. package/dist/src/agent/prompt/service-prompt-builder.js +5 -20
  233. package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
  234. package/dist/src/agent/reply/post-compaction-context.js +10 -7
  235. package/dist/src/agent/reply/post-compaction-context.js.map +1 -1
  236. package/dist/src/agent/reply/startup-context.js +7 -12
  237. package/dist/src/agent/reply/startup-context.js.map +1 -1
  238. package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
  239. package/dist/src/agent/sandbox/path-policy.js +2 -2
  240. package/dist/src/agent/service/process-direct-streaming.js +1 -4
  241. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  242. package/dist/src/agent/service/session-context-report.js +1 -1
  243. package/dist/src/agent/service/session-context-report.js.map +1 -1
  244. package/dist/src/agent/service.d.ts +3 -3
  245. package/dist/src/agent/service.js +30 -35
  246. package/dist/src/agent/service.js.map +1 -1
  247. package/dist/src/agent/service.types.d.ts +1 -2
  248. package/dist/src/agent/session/session-hydrator.js +1 -2
  249. package/dist/src/agent/session/session-hydrator.js.map +1 -1
  250. package/dist/src/agent/session/session-inspector.d.ts +1 -1
  251. package/dist/src/agent/session/session-inspector.js +10 -15
  252. package/dist/src/agent/session/session-inspector.js.map +1 -1
  253. package/dist/src/agent/skills/config.js +2 -2
  254. package/dist/src/agent/skills/filesystem-watcher.js +1 -1
  255. package/dist/src/agent/skills/hub-hash.js +2 -2
  256. package/dist/src/agent/skills/hub-lock.js +1 -1
  257. package/dist/src/agent/skills/hub-pull.js +3 -3
  258. package/dist/src/agent/skills/index.js +2 -2
  259. package/dist/src/agent/skills/installer.js +2 -2
  260. package/dist/src/agent/skills/managed-store.js +1 -1
  261. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  262. package/dist/src/agent/skills/skill-manager.js +1 -1
  263. package/dist/src/agent/skills/skill-view-path.js +1 -1
  264. package/dist/src/agent/skills/test-framework.js +1 -1
  265. package/dist/src/agent/starter-agents.d.ts +1 -3
  266. package/dist/src/agent/starter-agents.js +14 -22
  267. package/dist/src/agent/starter-agents.js.map +1 -1
  268. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -2
  269. package/dist/src/agent/tools/browser/tool/browser-use-tool.js.map +1 -1
  270. package/dist/src/agent/tools/curated-memory-tool.d.ts +2 -5
  271. package/dist/src/agent/tools/curated-memory-tool.js +77 -18
  272. package/dist/src/agent/tools/curated-memory-tool.js.map +1 -1
  273. package/dist/src/agent/tools/dreaming-tool.js +1 -1
  274. package/dist/src/agent/tools/factory.d.ts +0 -4
  275. package/dist/src/agent/tools/factory.js +19 -58
  276. package/dist/src/agent/tools/factory.js.map +1 -1
  277. package/dist/src/agent/tools/find.js +1 -1
  278. package/dist/src/agent/tools/grep.js +1 -1
  279. package/dist/src/agent/tools/image-generate-tool.d.ts +1 -1
  280. package/dist/src/agent/tools/image-generate-tool.js +20 -15
  281. package/dist/src/agent/tools/image-generate-tool.js.map +1 -1
  282. package/dist/src/agent/tools/image-tool.js +1 -3
  283. package/dist/src/agent/tools/image-tool.js.map +1 -1
  284. package/dist/src/agent/tools/memory-tool.d.ts +2 -2
  285. package/dist/src/agent/tools/memory-tool.js +39 -14
  286. package/dist/src/agent/tools/memory-tool.js.map +1 -1
  287. package/dist/src/agent/tools/session-search-tool.js +1 -3
  288. package/dist/src/agent/tools/session-search-tool.js.map +1 -1
  289. package/dist/src/agent/tools/skill-manage-tool.js +1 -1
  290. package/dist/src/agent/tools/web-extract.js +8 -9
  291. package/dist/src/agent/tools/web-extract.js.map +1 -1
  292. package/dist/src/agent/tools/workflow-tool.js +1 -1
  293. package/dist/src/agent/workflow/catalog.js +1 -1
  294. package/dist/src/agent/workflow/subagent-runner.js +1 -3
  295. package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
  296. package/dist/src/agent-manifest/index.d.ts +4 -0
  297. package/dist/src/agent-manifest/index.js +10 -0
  298. package/dist/src/agent-manifest/index.js.map +1 -0
  299. package/dist/src/agent-manifest/prompt.d.ts +2 -0
  300. package/dist/src/agent-manifest/prompt.js +57 -0
  301. package/dist/src/agent-manifest/prompt.js.map +1 -0
  302. package/dist/src/agent-manifest/resolver.d.ts +12 -0
  303. package/dist/src/agent-manifest/resolver.js +95 -0
  304. package/dist/src/agent-manifest/resolver.js.map +1 -0
  305. package/dist/src/agent-manifest/schema.d.ts +1010 -0
  306. package/dist/src/agent-manifest/schema.js +269 -0
  307. package/dist/src/agent-manifest/schema.js.map +1 -0
  308. package/dist/src/agent-manifest/validator.d.ts +25 -0
  309. package/dist/src/agent-manifest/validator.js +88 -0
  310. package/dist/src/agent-manifest/validator.js.map +1 -0
  311. package/dist/src/agent-runtime/boundary-guard.d.ts +12 -0
  312. package/dist/src/agent-runtime/boundary-guard.js +23 -0
  313. package/dist/src/agent-runtime/boundary-guard.js.map +1 -0
  314. package/dist/src/agent-runtime/index.d.ts +7 -0
  315. package/dist/src/agent-runtime/index.js +8 -0
  316. package/dist/src/agent-runtime/memory-runtime.d.ts +21 -0
  317. package/dist/src/agent-runtime/memory-runtime.js +50 -0
  318. package/dist/src/agent-runtime/memory-runtime.js.map +1 -0
  319. package/dist/src/agent-runtime/model-router.d.ts +11 -0
  320. package/dist/src/agent-runtime/model-router.js +16 -0
  321. package/dist/src/agent-runtime/model-router.js.map +1 -0
  322. package/dist/src/agent-runtime/run-trace.d.ts +27 -0
  323. package/dist/src/agent-runtime/run-trace.js +53 -0
  324. package/dist/src/agent-runtime/run-trace.js.map +1 -0
  325. package/dist/src/agent-runtime/runtime-profile.d.ts +24 -0
  326. package/dist/src/agent-runtime/runtime-profile.js +44 -0
  327. package/dist/src/agent-runtime/runtime-profile.js.map +1 -0
  328. package/dist/src/agent-runtime/tool-registry.d.ts +28 -0
  329. package/dist/src/agent-runtime/tool-registry.js +52 -0
  330. package/dist/src/agent-runtime/tool-registry.js.map +1 -0
  331. package/dist/src/agent-runtime/workflow-runtime.d.ts +31 -0
  332. package/dist/src/agent-runtime/workflow-runtime.js +34 -0
  333. package/dist/src/agent-runtime/workflow-runtime.js.map +1 -0
  334. package/dist/src/ai-assist/text-assist.js +1 -1
  335. package/dist/src/auth/credentials.js +2 -2
  336. package/dist/src/auth/profiles/store.js +2 -2
  337. package/dist/src/auth/sync-provider-auth.js +1 -1
  338. package/dist/src/browser/actions/extension-registry-bridge.js +1 -1
  339. package/dist/src/browser/actions/extension-registry-bridge.js.map +1 -1
  340. package/dist/src/browser/actions/registry.js +5 -8
  341. package/dist/src/browser/actions/registry.js.map +1 -1
  342. package/dist/src/browser/backend-from-config.d.ts +1 -1
  343. package/dist/src/browser/backend-from-config.js +50 -71
  344. package/dist/src/browser/backend-from-config.js.map +1 -1
  345. package/dist/src/browser/browser-command-timeout.d.ts +0 -1
  346. package/dist/src/browser/browser-command-timeout.js +3 -7
  347. package/dist/src/browser/browser-command-timeout.js.map +1 -1
  348. package/dist/src/browser/cache-dir-policy.js +1 -1
  349. package/dist/src/browser/cdp-local-launcher.js +2 -2
  350. package/dist/src/browser/pipeline/source.js +1 -1
  351. package/dist/src/browser/providers/browser-ext-install.d.ts +2 -12
  352. package/dist/src/browser/providers/browser-ext-install.js +7 -12
  353. package/dist/src/browser/providers/browser-ext-install.js.map +1 -1
  354. package/dist/src/browser/providers/cloakbrowser.js +5 -5
  355. package/dist/src/browser/providers/playwright-doctor.js +1 -1
  356. package/dist/src/browser/readiness.js +16 -16
  357. package/dist/src/browser/readiness.js.map +1 -1
  358. package/dist/src/browser/schemas.js +1 -1
  359. package/dist/src/browser/schemas.js.map +1 -1
  360. package/dist/src/browser/stealth.js +1 -1
  361. package/dist/src/channels/catalog/channel-catalog-service.js +1 -1
  362. package/dist/src/channels/outbound/persist-store.js +1 -1
  363. package/dist/src/channels/pairing/allow-from-file.js +1 -1
  364. package/dist/src/channels/pairing/pairing-store.js +2 -2
  365. package/dist/src/channels/pipeline.d.ts +1 -1
  366. package/dist/src/channels/pipeline.js.map +1 -1
  367. package/dist/src/chat-commands/agent-edit.js +2 -3
  368. package/dist/src/chat-commands/agent-edit.js.map +1 -1
  369. package/dist/src/chat-commands/builtins/config.js +6 -6
  370. package/dist/src/chat-commands/builtins/config.js.map +1 -1
  371. package/dist/src/chat-commands/builtins/model.js +2 -2
  372. package/dist/src/chat-commands/builtins/model.js.map +1 -1
  373. package/dist/src/chat-commands/builtins/thinking.js +16 -42
  374. package/dist/src/chat-commands/builtins/thinking.js.map +1 -1
  375. package/dist/src/chat-commands/config-paths.js +1 -1
  376. package/dist/src/chat-commands/config-paths.js.map +1 -1
  377. package/dist/src/chat-commands/context.js +3 -4
  378. package/dist/src/chat-commands/context.js.map +1 -1
  379. package/dist/src/cli/command-manifest.d.ts +1 -1
  380. package/dist/src/cli/command-manifest.js +2 -2
  381. package/dist/src/cli/command-manifest.js.map +1 -1
  382. package/dist/src/cli/commands/agent.js +3 -1
  383. package/dist/src/cli/commands/agent.js.map +1 -1
  384. package/dist/src/cli/commands/agents.js +3 -6
  385. package/dist/src/cli/commands/agents.js.map +1 -1
  386. package/dist/src/cli/commands/browser-cli-helpers.js +9 -11
  387. package/dist/src/cli/commands/browser-cli-helpers.js.map +1 -1
  388. package/dist/src/cli/commands/config.js +6 -6
  389. package/dist/src/cli/commands/config.js.map +1 -1
  390. package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
  391. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  392. package/dist/src/cli/commands/doctor/checks/provider-auth.js +3 -18
  393. package/dist/src/cli/commands/doctor/checks/provider-auth.js.map +1 -1
  394. package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
  395. package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -2
  396. package/dist/src/cli/commands/doctor/checks/workspace-status.js.map +1 -1
  397. package/dist/src/cli/commands/extension-create.js +1 -1
  398. package/dist/src/cli/commands/extension-dev.js +2 -2
  399. package/dist/src/cli/commands/extension-marketplace.js +2 -2
  400. package/dist/src/cli/commands/extension-pack.js +2 -2
  401. package/dist/src/cli/commands/extension.js +3 -3
  402. package/dist/src/cli/commands/gateway/logs.js +1 -1
  403. package/dist/src/cli/commands/goal.js +1 -1
  404. package/dist/src/cli/commands/image.js +13 -372
  405. package/dist/src/cli/commands/image.js.map +1 -1
  406. package/dist/src/cli/commands/init.js +7 -6
  407. package/dist/src/cli/commands/init.js.map +1 -1
  408. package/dist/src/cli/commands/models.js +14 -16
  409. package/dist/src/cli/commands/models.js.map +1 -1
  410. package/dist/src/cli/commands/onboard/channels/registry.js.map +1 -1
  411. package/dist/src/cli/commands/onboard/model.js +28 -23
  412. package/dist/src/cli/commands/onboard/model.js.map +1 -1
  413. package/dist/src/cli/commands/onboard.js +3 -3
  414. package/dist/src/cli/commands/onboard.js.map +1 -1
  415. package/dist/src/cli/commands/skills-test.js +1 -1
  416. package/dist/src/cli/commands/tui.js +2 -2
  417. package/dist/src/cli/commands/tui.js.map +1 -1
  418. package/dist/src/cli/index.d.ts +1 -0
  419. package/dist/src/cli/index.js +10 -5
  420. package/dist/src/cli/index.js.map +1 -1
  421. package/dist/src/cli/registry.js +1 -1
  422. package/dist/src/cli/registry.js.map +1 -1
  423. package/dist/src/cli/templates.d.ts +1 -1
  424. package/dist/src/cli/templates.js +2 -12
  425. package/dist/src/cli/templates.js.map +1 -1
  426. package/dist/src/cli/utils/gateway-client.js +1 -1
  427. package/dist/src/cli/utils/init-workspace-core.d.ts +1 -4
  428. package/dist/src/cli/utils/init-workspace-core.js +9 -8
  429. package/dist/src/cli/utils/init-workspace-core.js.map +1 -1
  430. package/dist/src/commands/agents.config.d.ts +0 -1
  431. package/dist/src/commands/agents.config.js +59 -13
  432. package/dist/src/commands/agents.config.js.map +1 -1
  433. package/dist/src/config/agent-profile.d.ts +5 -17
  434. package/dist/src/config/agent-profile.js +32 -64
  435. package/dist/src/config/agent-profile.js.map +1 -1
  436. package/dist/src/config/agent-typed-models.d.ts +1 -1
  437. package/dist/src/config/agent-typed-models.js +3 -6
  438. package/dist/src/config/agent-typed-models.js.map +1 -1
  439. package/dist/src/config/gateway-bind.js +1 -1
  440. package/dist/src/config/index.js +9 -9
  441. package/dist/src/config/integration.d.ts +1 -1
  442. package/dist/src/config/loader.js +4 -4
  443. package/dist/src/config/models-json.js +2 -2
  444. package/dist/src/config/paths-state.js +1 -1
  445. package/dist/src/config/paths.d.ts +8 -1
  446. package/dist/src/config/paths.js +17 -4
  447. package/dist/src/config/paths.js.map +1 -1
  448. package/dist/src/config/profile.js +1 -1
  449. package/dist/src/config/reload.js +2 -2
  450. package/dist/src/config/reload.js.map +1 -1
  451. package/dist/src/config/rules.js +6 -56
  452. package/dist/src/config/rules.js.map +1 -1
  453. package/dist/src/config/schema.d.ts +916 -779
  454. package/dist/src/config/schema.js +174 -423
  455. package/dist/src/config/schema.js.map +1 -1
  456. package/dist/src/config/workspace-path.js +1 -1
  457. package/dist/src/connectors/composio-triggers.js +1 -1
  458. package/dist/src/cron/executor.js +1 -1
  459. package/dist/src/cron/index.js +1 -1
  460. package/dist/src/cron/service.js +2 -2
  461. package/dist/src/cron/validation.d.ts +3 -3
  462. package/dist/src/daemon/constants.js +1 -1
  463. package/dist/src/daemon/install-plan.js +2 -2
  464. package/dist/src/daemon/launchd.js +2 -2
  465. package/dist/src/daemon/schtasks.js +2 -2
  466. package/dist/src/daemon/systemd.js +2 -2
  467. package/dist/src/extensions/activation-context.js +13 -7
  468. package/dist/src/extensions/activation-context.js.map +1 -1
  469. package/dist/src/extensions/bundle-mcp.js +1 -1
  470. package/dist/src/extensions/discover-extensions.js +2 -2
  471. package/dist/src/extensions/health.js +1 -1
  472. package/dist/src/extensions/install.js +2 -2
  473. package/dist/src/extensions/loader.js +2 -2
  474. package/dist/src/extensions/lockfile.js +3 -3
  475. package/dist/src/extensions/security.js +1 -1
  476. package/dist/src/extensions/update.js +2 -2
  477. package/dist/src/gateway/agents-admin.d.ts +24 -18
  478. package/dist/src/gateway/agents-admin.js +158 -92
  479. package/dist/src/gateway/agents-admin.js.map +1 -1
  480. package/dist/src/gateway/capability-presets-admin.d.ts +56 -0
  481. package/dist/src/gateway/capability-presets-admin.js +214 -0
  482. package/dist/src/gateway/capability-presets-admin.js.map +1 -0
  483. package/dist/src/gateway/chat-stream/mapper.js +9 -2
  484. package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
  485. package/dist/src/gateway/file-path-classifier.js +2 -2
  486. package/dist/src/gateway/global-defaults-admin.d.ts +36 -0
  487. package/dist/src/gateway/global-defaults-admin.js +146 -0
  488. package/dist/src/gateway/global-defaults-admin.js.map +1 -0
  489. package/dist/src/gateway/hono/lib/agent-model.d.ts +1 -1
  490. package/dist/src/gateway/hono/lib/agent-model.js +1 -1
  491. package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
  492. package/dist/src/gateway/hono/lib/config-payload.d.ts +234 -127
  493. package/dist/src/gateway/hono/lib/config-payload.js +14 -38
  494. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  495. package/dist/src/gateway/hono/lib/extension-store.js +2 -2
  496. package/dist/src/gateway/hono/lib/static-ui.js +2 -2
  497. package/dist/src/gateway/hono/routes/agents.js +88 -33
  498. package/dist/src/gateway/hono/routes/agents.js.map +1 -1
  499. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  500. package/dist/src/gateway/hono/routes/browser.js +8 -15
  501. package/dist/src/gateway/hono/routes/browser.js.map +1 -1
  502. package/dist/src/gateway/hono/routes/capability-presets.d.ts +3 -0
  503. package/dist/src/gateway/hono/routes/capability-presets.js +145 -0
  504. package/dist/src/gateway/hono/routes/capability-presets.js.map +1 -0
  505. package/dist/src/gateway/hono/routes/commands-skills.js +4 -5
  506. package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
  507. package/dist/src/gateway/hono/routes/config-patch/agents.d.ts +1 -17
  508. package/dist/src/gateway/hono/routes/config-patch/agents.js +2 -443
  509. package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
  510. package/dist/src/gateway/hono/routes/config-patch/misc.js +7 -1
  511. package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
  512. package/dist/src/gateway/hono/routes/config.js +1 -1
  513. package/dist/src/gateway/hono/routes/config.js.map +1 -1
  514. package/dist/src/gateway/hono/routes/dreaming.js +8 -1
  515. package/dist/src/gateway/hono/routes/dreaming.js.map +1 -1
  516. package/dist/src/gateway/hono/routes/global-defaults.d.ts +3 -0
  517. package/dist/src/gateway/hono/routes/global-defaults.js +61 -0
  518. package/dist/src/gateway/hono/routes/global-defaults.js.map +1 -0
  519. package/dist/src/gateway/hono/routes/host-fs.js +2 -2
  520. package/dist/src/gateway/hono/routes/index.js +2 -0
  521. package/dist/src/gateway/hono/routes/index.js.map +1 -1
  522. package/dist/src/gateway/hono/routes/lazy-bundles.js +17 -1
  523. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  524. package/dist/src/gateway/hono/routes/memory.d.ts +3 -0
  525. package/dist/src/gateway/hono/routes/memory.js +361 -0
  526. package/dist/src/gateway/hono/routes/memory.js.map +1 -0
  527. package/dist/src/gateway/hono/routes/models.js +2 -2
  528. package/dist/src/gateway/hono/routes/shares.js +1 -1
  529. package/dist/src/gateway/hono/routes/workflows.js +1 -1
  530. package/dist/src/gateway/hono/routes/workspace.js +2 -2
  531. package/dist/src/gateway/lock.js +3 -3
  532. package/dist/src/gateway/ports.js +1 -1
  533. package/dist/src/gateway/service/config-coordinator.js +1 -1
  534. package/dist/src/gateway/service/marketplace-service.d.ts +4 -4
  535. package/dist/src/gateway/service/marketplace-service.js +13 -9
  536. package/dist/src/gateway/service/marketplace-service.js.map +1 -1
  537. package/dist/src/gateway/service.d.ts +1 -1
  538. package/dist/src/gateway/service.js +15 -16
  539. package/dist/src/gateway/service.js.map +1 -1
  540. package/dist/src/gateway/workspace-fs-file-list.js +1 -1
  541. package/dist/src/goals/goal-workflow-judge.js +2 -2
  542. package/dist/src/i18n/goals-bundle.js +1 -1
  543. package/dist/src/i18n/index.js +1 -1
  544. package/dist/src/i18n/share-tool-bundle.js +2 -2
  545. package/dist/src/infra/brew.js +1 -1
  546. package/dist/src/infra/package-json.js +1 -1
  547. package/dist/src/infra/package-update-steps.js +1 -1
  548. package/dist/src/infra/path-env.js +2 -2
  549. package/dist/src/infra/restart.js +1 -1
  550. package/dist/src/infra/stable-node-path.js +1 -1
  551. package/dist/src/infra/update-check.js +1 -1
  552. package/dist/src/infra/update-global.js +1 -1
  553. package/dist/src/infra/update-lock.js +2 -2
  554. package/dist/src/infra/update-restart.js +1 -1
  555. package/dist/src/infra/update-runner.js +1 -1
  556. package/dist/src/infra/update-startup.js +1 -1
  557. package/dist/src/infra/write-file-atomic.js +2 -2
  558. package/dist/src/media/store.js +1 -1
  559. package/dist/src/notes/agent-context.js +3 -3
  560. package/dist/src/notes/service.js +4 -2
  561. package/dist/src/notes/service.js.map +1 -1
  562. package/dist/src/notes/store.js +2 -2
  563. package/dist/src/project-trust/trust-store.js +2 -2
  564. package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
  565. package/dist/src/providers/index.d.ts +5 -6
  566. package/dist/src/providers/index.js +26 -30
  567. package/dist/src/providers/index.js.map +1 -1
  568. package/dist/src/providers/model-registry.js +4 -4
  569. package/dist/src/session/index.js +1 -1
  570. package/dist/src/session/init-session-turn.js +1 -1
  571. package/dist/src/session/resolve-session.js +1 -1
  572. package/dist/src/session/session-title.js +2 -2
  573. package/dist/src/session/store.js +1 -1
  574. package/dist/src/session/thinking-resolve.d.ts +1 -1
  575. package/dist/src/session/thinking-resolve.js +1 -1
  576. package/dist/src/session/thinking-resolve.js.map +1 -1
  577. package/dist/src/share/share-auto.js +2 -2
  578. package/dist/src/share/share-store.js +3 -3
  579. package/dist/src/share/share-thumbnail.js +2 -2
  580. package/dist/src/share/share-zip.js +1 -1
  581. package/dist/src/share/site-share-store.js +3 -3
  582. package/dist/src/share/site-static-serve.js +1 -1
  583. package/dist/src/storage/sqlite/connection.js +2 -2
  584. package/dist/src/storage/sqlite/index.d.ts +1 -0
  585. package/dist/src/storage/sqlite/index.js +2 -1
  586. package/dist/src/storage/sqlite/memory-index-repository.d.ts +1 -0
  587. package/dist/src/storage/sqlite/memory-index-repository.js +17 -16
  588. package/dist/src/storage/sqlite/memory-index-repository.js.map +1 -1
  589. package/dist/src/storage/sqlite/memory-records-repository.d.ts +144 -0
  590. package/dist/src/storage/sqlite/memory-records-repository.js +453 -0
  591. package/dist/src/storage/sqlite/memory-records-repository.js.map +1 -0
  592. package/dist/src/storage/sqlite/migrations/012_memory_records.sql +63 -0
  593. package/dist/src/storage/sqlite/migrations/013_memory_trace_events.sql +21 -0
  594. package/dist/src/storage/sqlite/migrations/014_memory_record_governance.sql +10 -0
  595. package/dist/src/storage/sqlite/migrations/015_memory_trace_feedback.sql +4 -0
  596. package/dist/src/storage/sqlite/migrations/discover.js +1 -1
  597. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  598. package/dist/src/storage/sqlite/migrations/runner.js +4 -4
  599. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  600. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  601. package/dist/src/storage/sqlite/schema.js +2 -2
  602. package/dist/src/storage/sqlite/schema.sql +86 -0
  603. package/dist/src/tui/backends/embedded-backend.d.ts +3 -0
  604. package/dist/src/tui/backends/embedded-backend.js +43 -24
  605. package/dist/src/tui/backends/embedded-backend.js.map +1 -1
  606. package/dist/src/tui/backends/gateway-sse-backend.d.ts +1 -0
  607. package/dist/src/tui/backends/gateway-sse-backend.js +16 -3
  608. package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
  609. package/dist/src/tui/clipboard-image.js +3 -3
  610. package/dist/src/tui/components/tui-header.d.ts +0 -1
  611. package/dist/src/tui/components/tui-header.js +3 -8
  612. package/dist/src/tui/components/tui-header.js.map +1 -1
  613. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  614. package/dist/src/tui/extension-host/load-extensions.js.map +1 -1
  615. package/dist/src/tui/theme-manager.js +1 -1
  616. package/dist/src/tui/tui-command-formatters.js +4 -4
  617. package/dist/src/tui/tui-commands.js +2 -2
  618. package/dist/src/tui/tui-keybindings-file.js +1 -1
  619. package/dist/src/tui/tui-scoped-models.js +2 -2
  620. package/dist/src/tui/tui-settings.js +1 -1
  621. package/dist/src/tui/tui-startup-resources.js +2 -1
  622. package/dist/src/tui/tui-startup-resources.js.map +1 -1
  623. package/dist/src/tui/tui-startup-text.js +12 -12
  624. package/dist/src/tui/tui-startup-text.js.map +1 -1
  625. package/dist/src/tui/tui.js +10 -7
  626. package/dist/src/tui/tui.js.map +1 -1
  627. package/dist/src/tunnel/frpc-binary.js +4 -4
  628. package/dist/src/tunnel/frpc-config.js +1 -1
  629. package/dist/src/tunnel/frpc-extract.js +1 -1
  630. package/dist/src/tunnel/tunnel-state.js +1 -1
  631. package/dist/src/utils/logger/audit.js +1 -1
  632. package/dist/src/utils/logger/log-store.js +1 -1
  633. package/dist/src/utils/logger/rotation.js +1 -1
  634. package/dist/src/utils/logger/streams.js +1 -1
  635. package/dist/src/voice/tts/audio.js +1 -1
  636. package/dist/src/voice/tts/providers/edge-speech.js +2 -2
  637. package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
  638. package/dist/src/workflows/service/workflow-run-service.js +4 -5
  639. package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
  640. package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
  641. package/dist/src/workflows/store/event-store.js +1 -1
  642. package/dist/src/workflows/store/run-store.js +1 -1
  643. package/package.json +3 -2
  644. package/dist/gateway/static/root/assets/agent-browser-settings-page-D1SyFYeh.js +0 -6
  645. package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-C9YxgvuI.js +0 -1
  646. package/dist/gateway/static/root/assets/agents-CteVs3UO.js +0 -71
  647. package/dist/gateway/static/root/assets/apps-page-CVQ1M8Ax.js +0 -1
  648. package/dist/gateway/static/root/assets/channels-settings-Cd3JbeQ1.js +0 -1
  649. package/dist/gateway/static/root/assets/config-api-C4RAtTKW.js +0 -3
  650. package/dist/gateway/static/root/assets/connectors-page-MsMa5qBr.js +0 -2
  651. package/dist/gateway/static/root/assets/cron-api-sJNMqB6P.js +0 -1
  652. package/dist/gateway/static/root/assets/cron-page-D30CSwkn.js +0 -3
  653. package/dist/gateway/static/root/assets/dreaming-settings-6fCUWRQf.js +0 -1
  654. package/dist/gateway/static/root/assets/gateway-config-api-C6989a-W.js +0 -1
  655. package/dist/gateway/static/root/assets/gateway-settings-BpF26t91.js +0 -1
  656. package/dist/gateway/static/root/assets/goal-detail-page-DOjhmRyf.js +0 -1
  657. package/dist/gateway/static/root/assets/goals-page-Xl9_wrFc.js +0 -2
  658. package/dist/gateway/static/root/assets/heartbeat-settings-DN9vEj9P.js +0 -1
  659. package/dist/gateway/static/root/assets/index-C8ytlAF2.js +0 -122
  660. package/dist/gateway/static/root/assets/index-CVpJW2NS.css +0 -1
  661. package/dist/gateway/static/root/assets/messages-BqzIDrlr.js +0 -3
  662. package/dist/gateway/static/root/assets/models-hub-panel-BO4o-GmO.js +0 -2
  663. package/dist/gateway/static/root/assets/note-detail-page-DLV_XDmT.js +0 -2
  664. package/dist/gateway/static/root/assets/notes-page-ycsDlkFA.js +0 -1
  665. package/dist/gateway/static/root/assets/remote-access-hub-DQpnE8K9.js +0 -1
  666. package/dist/gateway/static/root/assets/sessions-page-BZui7iAY.js +0 -1
  667. package/dist/gateway/static/root/assets/settings-advanced-gate-DEfzZ1ax.js +0 -1
  668. package/dist/gateway/static/root/assets/settings-page-CLuSsu1-.js +0 -1
  669. package/dist/gateway/static/root/assets/setup-status-panel-Cq4qpXLi.js +0 -1
  670. package/dist/gateway/static/root/assets/shares-settings-B9F3HyYQ.js +0 -1
  671. package/dist/gateway/static/root/assets/skill-reload-api-Bp9UPPwm.js +0 -1
  672. package/dist/gateway/static/root/assets/skills-page-BIoBsfSV.js +0 -2
  673. package/dist/gateway/static/root/assets/use-agent-defaults-form-Cz2_pPzu.js +0 -1
  674. package/dist/gateway/static/root/assets/use-settings-tab-guard-nuHMmZQv.js +0 -1
  675. package/dist/gateway/static/root/assets/voice-api-key-field-BUIrKb8s.js +0 -1
  676. package/dist/gateway/static/root/assets/workflows-page-qE3SexnO.js +0 -18
  677. package/dist/src/agent/context/workspace-templates/USER.md +0 -24
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.js","names":[],"sources":["../../../../extensions/telegram/src/command-handler.ts"],"sourcesContent":["/**\n * Telegram Command Handler\n * \n * Handles Telegram-specific UI interactions (inline keyboards, callbacks).\n * Core commands (/new, /usage, /models, etc.) are handled by the unified command system.\n */\n\nimport type { Context } from 'grammy';\n\nimport type { TelegramAccountManager } from './account-manager.js';\nimport { createLogger } from '@xopcai/xopc/utils/logger.js';\nimport type { Config } from '@xopcai/xopc/config/index.js';\nimport { TelegramInlineKeyboards, type ProviderInfo } from './inline-keyboards.js';\nimport { generateSessionKey } from '@xopcai/xopc/chat-commands/session-key.js';\n\nconst log = createLogger('TelegramCommandHandler');\n\nexport interface TelegramCommandHandlerDeps {\n bus: any;\n config: Config;\n accountManager: TelegramAccountManager;\n getSessionModel: (sessionKey: string) => string | undefined;\n setSessionModel: (sessionKey: string, modelId: string) => void | Promise<void>;\n // Optional callbacks for inline keyboard handling\n showProviderModels?: (ctx: Context, providerId: string) => Promise<void>;\n showProvidersAgain?: (ctx: Context) => Promise<void>;\n handleCleanupConfirm?: (ctx: Context) => Promise<void>;\n}\n\nexport function createTelegramCommandHandler(deps: TelegramCommandHandlerDeps) {\n const { config, accountManager, getSessionModel, setSessionModel, bus } = deps;\n\n // ========== Helper Functions ==========\n\n const getAvailableProviders = async (): Promise<ProviderInfo[]> => {\n const { getAllProviders, getProviderDisplayName, isProviderConfiguredSync } = await import('@xopcai/xopc/providers/index.js');\n const allProviders = getAllProviders();\n const available: ProviderInfo[] = [];\n\n for (const providerId of allProviders) {\n if (isProviderConfiguredSync(providerId)) {\n available.push({ id: providerId, name: getProviderDisplayName(providerId) });\n }\n }\n\n if (available.length === 0) {\n available.push({ id: 'minimax', name: 'MiniMax' });\n }\n\n return available;\n };\n\n const getModelsForProvider = async (providerId: string) => {\n const { getModelsByProvider } = await import('@xopcai/xopc/providers/index.js');\n const models = getModelsByProvider(providerId);\n \n if (models.length === 0) {\n return [{ id: `${providerId}/default`, name: 'default', provider: providerId }];\n }\n \n return models.map(m => ({\n id: `${m.provider}/${m.id}`,\n name: m.name || m.id,\n provider: m.provider,\n }));\n };\n\n // ========== Helper Functions ==========\n\n // Helper to get sessionKey from Telegram context\n const getSessionKeyFromCtx = (ctx: Context): string => {\n const chatId = String(ctx.chat?.id);\n const senderId = String(ctx.from?.id);\n const isGroup = ctx.chat?.type === 'group' || ctx.chat?.type === 'supergroup';\n const threadId =\n (ctx.message as { message_thread_id?: number })?.message_thread_id ??\n (ctx.callbackQuery?.message as { message_thread_id?: number } | undefined)?.message_thread_id;\n\n const accountId = accountManager.resolveAccountIdFromContext(ctx);\n\n return generateSessionKey({\n source: 'telegram',\n chatId,\n senderId,\n isGroup,\n threadId: threadId ? String(threadId) : undefined,\n accountId,\n });\n };\n\n // ========== Command Handlers ==========\n\n /**\n * /start - Show welcome message\n * Note: Other commands (/new, /usage, /models, etc.) are handled by the unified command system\n */\n const handleStart = async (ctx: Context): Promise<void> => {\n try {\n const providers = await getAvailableProviders();\n const hasProviders = providers.length > 0;\n\n await ctx.reply(\n '👋 *Welcome to xopc!*\\n\\n' +\n 'I am your AI assistant. Here are the available commands:\\n\\n' +\n '🤖 *Model Selection*\\n' +\n '/models - List models (name + `provider/model` ref for /switch)\\n' +\n '/switch \\u003cprovider/model-id\\u003e - Same ref as shown in /models\\n\\n' +\n '📊 *Session Management*\\n' +\n '/new - Start a new session (archive current)\\n' +\n '/list - List all your sessions\\n' +\n '/usage - View token usage statistics\\n' +\n '/cleanup - Clean up old sessions\\n\\n' +\n '🔊 *Voice (TTS)*\\n' +\n '/tts - Show TTS settings\\n' +\n '/tts on|off - Enable/disable TTS\\n' +\n '/tts always|inbound|tagged|never - Set trigger mode\\n\\n' +\n '🛠️ *Skills*\\n' +\n '/skills reload - Reload all skills from disk\\n\\n' +\n '💡 *Tip*: Just send a message to start chatting!' +\n (hasProviders ? '' : '\\n\\n⚠️ *Note*: No LLM providers configured. Please set up API keys in your config.'),\n { parse_mode: 'Markdown' }\n );\n } catch (err) {\n log.error({ err }, 'Failed to handle start command');\n await ctx.reply('❌ Failed to show welcome message.');\n }\n };\n\n /**\n * /models - Show model selector with inline keyboard\n * Note: This provides a UI enhancement over the basic /models command\n */\n const handleModels = async (ctx: Context): Promise<void> => {\n try {\n const providers = await getAvailableProviders();\n\n if (providers.length === 0) {\n await ctx.reply('❌ No providers available. Please check your configuration.');\n return;\n }\n\n await ctx.reply('🤖 Select a provider:', {\n reply_markup: TelegramInlineKeyboards.providerSelector(providers),\n });\n } catch (err) {\n log.error({ err }, 'Failed to show provider selector');\n await ctx.reply('❌ Failed to load providers. Please try again.');\n }\n };\n\n /**\n * /cleanup - Show cleanup confirmation dialog\n */\n const handleCleanup = async (ctx: Context): Promise<void> => {\n try {\n await ctx.reply(\n '🧹 *Session Cleanup*\\n\\n' +\n 'This will archive sessions that have been inactive for more than 30 days.\\n\\n' +\n 'Archived sessions can be restored later.',\n { parse_mode: 'Markdown', reply_markup: TelegramInlineKeyboards.cleanupConfirm() }\n );\n } catch (err) {\n log.error({ err }, 'Failed to show cleanup dialog');\n await ctx.reply('❌ Failed to initiate cleanup.');\n }\n };\n\n // ========== Callback Handlers (Inline Keyboard) ==========\n\n const handleProviderSelect = async (ctx: Context, providerId: string): Promise<void> => {\n try {\n const sessionKey = getSessionKeyFromCtx(ctx);\n const modelConfig = config.agents?.defaults?.models?.chat;\n const { getDefaultModelSync, getProviderDisplayName } = await import('@xopcai/xopc/providers/index.js');\n const defaultModel = modelConfig?.primary || getDefaultModelSync(config);\n const currentModel = getSessionModel(sessionKey) || defaultModel;\n\n const models = await getModelsForProvider(providerId);\n \n if (models.length === 0) {\n await ctx.editMessageText('❌ No models available for this provider.');\n await ctx.answerCallbackQuery();\n return;\n }\n\n const keyboard = TelegramInlineKeyboards.modelSelector(models, currentModel);\n const providerName = getProviderDisplayName(providerId);\n \n await ctx.editMessageText(`🤖 Select a model from *${providerName}*:`, { \n reply_markup: keyboard,\n parse_mode: 'Markdown',\n });\n await ctx.answerCallbackQuery();\n } catch (err) {\n log.error({ err, providerId }, 'Failed to show provider models');\n await ctx.answerCallbackQuery('Failed to load models');\n }\n };\n\n const handleModelSelect = async (ctx: Context, modelId: string): Promise<void> => {\n try {\n const sessionKey = getSessionKeyFromCtx(ctx);\n await Promise.resolve(setSessionModel(sessionKey, modelId));\n\n const modelName = modelId.split('/').pop() || modelId;\n await ctx.editMessageText(\n `✅ Model switched to *${modelName}*\\n\\nThis model will be used for your next message.`,\n { parse_mode: 'Markdown' }\n );\n await ctx.answerCallbackQuery(`Switched to ${modelName}`);\n\n log.info({ sessionKey, modelId }, 'Model switched via Telegram');\n } catch (err) {\n log.error({ err }, 'Failed to handle model selection');\n await ctx.answerCallbackQuery('Failed to switch model');\n }\n };\n\n const handleShowProviders = async (ctx: Context): Promise<void> => {\n try {\n const providers = await getAvailableProviders();\n\n await ctx.editMessageText('🤖 Select a provider:', {\n reply_markup: TelegramInlineKeyboards.providerSelector(providers),\n });\n await ctx.answerCallbackQuery();\n } catch (err) {\n log.error({ err }, 'Failed to show providers again');\n await ctx.answerCallbackQuery('Failed to go back');\n }\n };\n\n const handleCleanupConfirm = async (ctx: Context): Promise<void> => {\n try {\n await ctx.editMessageText('🧹 Cleaning up old sessions...');\n \n const chatId = String(ctx.chat?.id);\n\n await bus.publishInbound({\n channel: 'system',\n sender_id: 'telegram:cleanup',\n chat_id: chatId,\n content: '/cleanup --days 30 --force',\n });\n\n await ctx.editMessageText('✅ Cleanup initiated. Old sessions will be archived.');\n await ctx.answerCallbackQuery('Cleanup started');\n } catch (err) {\n log.error({ err }, 'Failed to execute cleanup');\n await ctx.editMessageText('❌ Cleanup failed. Please try again later.');\n await ctx.answerCallbackQuery('Cleanup failed');\n }\n };\n\n const handleCancel = async (ctx: Context): Promise<void> => {\n await ctx.editMessageText('Cancelled.');\n await ctx.answerCallbackQuery();\n };\n\n return {\n // Command handlers\n handleStart,\n handleModels,\n handleCleanup,\n // Callback handlers\n handleProviderSelect,\n handleModelSelect,\n handleShowProviders,\n handleCleanupConfirm,\n handleCancel,\n // Helpers\n getAvailableProviders,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"command-handler.js","names":[],"sources":["../../../../extensions/telegram/src/command-handler.ts"],"sourcesContent":["/**\n * Telegram Command Handler\n * \n * Handles Telegram-specific UI interactions (inline keyboards, callbacks).\n * Core commands (/new, /usage, /models, etc.) are handled by the unified command system.\n */\n\nimport type { Context } from 'grammy';\n\nimport type { TelegramAccountManager } from './account-manager.js';\nimport { createLogger } from '@xopcai/xopc/utils/logger.js';\nimport type { Config } from '@xopcai/xopc/config/index.js';\nimport { TelegramInlineKeyboards, type ProviderInfo } from './inline-keyboards.js';\nimport { generateSessionKey } from '@xopcai/xopc/chat-commands/session-key.js';\n\nconst log = createLogger('TelegramCommandHandler');\n\nexport interface TelegramCommandHandlerDeps {\n bus: any;\n config: Config;\n accountManager: TelegramAccountManager;\n getSessionModel: (sessionKey: string) => string | undefined;\n setSessionModel: (sessionKey: string, modelId: string) => void | Promise<void>;\n // Optional callbacks for inline keyboard handling\n showProviderModels?: (ctx: Context, providerId: string) => Promise<void>;\n showProvidersAgain?: (ctx: Context) => Promise<void>;\n handleCleanupConfirm?: (ctx: Context) => Promise<void>;\n}\n\nexport function createTelegramCommandHandler(deps: TelegramCommandHandlerDeps) {\n const { config, accountManager, getSessionModel, setSessionModel, bus } = deps;\n\n // ========== Helper Functions ==========\n\n const getAvailableProviders = async (): Promise<ProviderInfo[]> => {\n const { getAllProviders, getProviderDisplayName, isProviderConfiguredSync } = await import('@xopcai/xopc/providers/index.js');\n const allProviders = getAllProviders();\n const available: ProviderInfo[] = [];\n\n for (const providerId of allProviders) {\n if (isProviderConfiguredSync(providerId)) {\n available.push({ id: providerId, name: getProviderDisplayName(providerId) });\n }\n }\n\n if (available.length === 0) {\n available.push({ id: 'minimax', name: 'MiniMax' });\n }\n\n return available;\n };\n\n const getModelsForProvider = async (providerId: string) => {\n const { getModelsByProvider } = await import('@xopcai/xopc/providers/index.js');\n const models = getModelsByProvider(providerId);\n \n if (models.length === 0) {\n return [{ id: `${providerId}/default`, name: 'default', provider: providerId }];\n }\n \n return models.map(m => ({\n id: `${m.provider}/${m.id}`,\n name: m.name || m.id,\n provider: m.provider,\n }));\n };\n\n // ========== Helper Functions ==========\n\n // Helper to get sessionKey from Telegram context\n const getSessionKeyFromCtx = (ctx: Context): string => {\n const chatId = String(ctx.chat?.id);\n const senderId = String(ctx.from?.id);\n const isGroup = ctx.chat?.type === 'group' || ctx.chat?.type === 'supergroup';\n const threadId =\n (ctx.message as { message_thread_id?: number })?.message_thread_id ??\n (ctx.callbackQuery?.message as { message_thread_id?: number } | undefined)?.message_thread_id;\n\n const accountId = accountManager.resolveAccountIdFromContext(ctx);\n\n return generateSessionKey({\n source: 'telegram',\n chatId,\n senderId,\n isGroup,\n threadId: threadId ? String(threadId) : undefined,\n accountId,\n });\n };\n\n // ========== Command Handlers ==========\n\n /**\n * /start - Show welcome message\n * Note: Other commands (/new, /usage, /models, etc.) are handled by the unified command system\n */\n const handleStart = async (ctx: Context): Promise<void> => {\n try {\n const providers = await getAvailableProviders();\n const hasProviders = providers.length > 0;\n\n await ctx.reply(\n '👋 *Welcome to xopc!*\\n\\n' +\n 'I am your AI assistant. Here are the available commands:\\n\\n' +\n '🤖 *Model Selection*\\n' +\n '/models - List models (name + `provider/model` ref for /switch)\\n' +\n '/switch \\u003cprovider/model-id\\u003e - Same ref as shown in /models\\n\\n' +\n '📊 *Session Management*\\n' +\n '/new - Start a new session (archive current)\\n' +\n '/list - List all your sessions\\n' +\n '/usage - View token usage statistics\\n' +\n '/cleanup - Clean up old sessions\\n\\n' +\n '🔊 *Voice (TTS)*\\n' +\n '/tts - Show TTS settings\\n' +\n '/tts on|off - Enable/disable TTS\\n' +\n '/tts always|inbound|tagged|never - Set trigger mode\\n\\n' +\n '🛠️ *Skills*\\n' +\n '/skills reload - Reload all skills from disk\\n\\n' +\n '💡 *Tip*: Just send a message to start chatting!' +\n (hasProviders ? '' : '\\n\\n⚠️ *Note*: No LLM providers configured. Please set up API keys in your config.'),\n { parse_mode: 'Markdown' }\n );\n } catch (err) {\n log.error({ err }, 'Failed to handle start command');\n await ctx.reply('❌ Failed to show welcome message.');\n }\n };\n\n /**\n * /models - Show model selector with inline keyboard\n * Note: This provides a UI enhancement over the basic /models command\n */\n const handleModels = async (ctx: Context): Promise<void> => {\n try {\n const providers = await getAvailableProviders();\n\n if (providers.length === 0) {\n await ctx.reply('❌ No providers available. Please check your configuration.');\n return;\n }\n\n await ctx.reply('🤖 Select a provider:', {\n reply_markup: TelegramInlineKeyboards.providerSelector(providers),\n });\n } catch (err) {\n log.error({ err }, 'Failed to show provider selector');\n await ctx.reply('❌ Failed to load providers. Please try again.');\n }\n };\n\n /**\n * /cleanup - Show cleanup confirmation dialog\n */\n const handleCleanup = async (ctx: Context): Promise<void> => {\n try {\n await ctx.reply(\n '🧹 *Session Cleanup*\\n\\n' +\n 'This will archive sessions that have been inactive for more than 30 days.\\n\\n' +\n 'Archived sessions can be restored later.',\n { parse_mode: 'Markdown', reply_markup: TelegramInlineKeyboards.cleanupConfirm() }\n );\n } catch (err) {\n log.error({ err }, 'Failed to show cleanup dialog');\n await ctx.reply('❌ Failed to initiate cleanup.');\n }\n };\n\n // ========== Callback Handlers (Inline Keyboard) ==========\n\n const handleProviderSelect = async (ctx: Context, providerId: string): Promise<void> => {\n try {\n const sessionKey = getSessionKeyFromCtx(ctx);\n const { getDefaultModelSync, getProviderDisplayName } = await import('@xopcai/xopc/providers/index.js');\n const defaultModel = getDefaultModelSync(config);\n const currentModel = getSessionModel(sessionKey) || defaultModel;\n\n const models = await getModelsForProvider(providerId);\n \n if (models.length === 0) {\n await ctx.editMessageText('❌ No models available for this provider.');\n await ctx.answerCallbackQuery();\n return;\n }\n\n const keyboard = TelegramInlineKeyboards.modelSelector(models, currentModel);\n const providerName = getProviderDisplayName(providerId);\n \n await ctx.editMessageText(`🤖 Select a model from *${providerName}*:`, { \n reply_markup: keyboard,\n parse_mode: 'Markdown',\n });\n await ctx.answerCallbackQuery();\n } catch (err) {\n log.error({ err, providerId }, 'Failed to show provider models');\n await ctx.answerCallbackQuery('Failed to load models');\n }\n };\n\n const handleModelSelect = async (ctx: Context, modelId: string): Promise<void> => {\n try {\n const sessionKey = getSessionKeyFromCtx(ctx);\n await Promise.resolve(setSessionModel(sessionKey, modelId));\n\n const modelName = modelId.split('/').pop() || modelId;\n await ctx.editMessageText(\n `✅ Model switched to *${modelName}*\\n\\nThis model will be used for your next message.`,\n { parse_mode: 'Markdown' }\n );\n await ctx.answerCallbackQuery(`Switched to ${modelName}`);\n\n log.info({ sessionKey, modelId }, 'Model switched via Telegram');\n } catch (err) {\n log.error({ err }, 'Failed to handle model selection');\n await ctx.answerCallbackQuery('Failed to switch model');\n }\n };\n\n const handleShowProviders = async (ctx: Context): Promise<void> => {\n try {\n const providers = await getAvailableProviders();\n\n await ctx.editMessageText('🤖 Select a provider:', {\n reply_markup: TelegramInlineKeyboards.providerSelector(providers),\n });\n await ctx.answerCallbackQuery();\n } catch (err) {\n log.error({ err }, 'Failed to show providers again');\n await ctx.answerCallbackQuery('Failed to go back');\n }\n };\n\n const handleCleanupConfirm = async (ctx: Context): Promise<void> => {\n try {\n await ctx.editMessageText('🧹 Cleaning up old sessions...');\n \n const chatId = String(ctx.chat?.id);\n\n await bus.publishInbound({\n channel: 'system',\n sender_id: 'telegram:cleanup',\n chat_id: chatId,\n content: '/cleanup --days 30 --force',\n });\n\n await ctx.editMessageText('✅ Cleanup initiated. Old sessions will be archived.');\n await ctx.answerCallbackQuery('Cleanup started');\n } catch (err) {\n log.error({ err }, 'Failed to execute cleanup');\n await ctx.editMessageText('❌ Cleanup failed. Please try again later.');\n await ctx.answerCallbackQuery('Cleanup failed');\n }\n };\n\n const handleCancel = async (ctx: Context): Promise<void> => {\n await ctx.editMessageText('Cancelled.');\n await ctx.answerCallbackQuery();\n };\n\n return {\n // Command handlers\n handleStart,\n handleModels,\n handleCleanup,\n // Callback handlers\n handleProviderSelect,\n handleModelSelect,\n handleShowProviders,\n handleCleanupConfirm,\n handleCancel,\n // Helpers\n getAvailableProviders,\n };\n}\n"],"mappings":"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"}
@@ -66,8 +66,8 @@ export declare const TelegramThreadBindingsConfigSchema: z.ZodObject<{
66
66
  }, z.core.$strict>;
67
67
  export declare const TelegramAccountDefaultsConfigSchema: z.ZodObject<{
68
68
  dmPolicy: z.ZodDefault<z.ZodEnum<{
69
- pairing: "pairing";
70
69
  allowlist: "allowlist";
70
+ pairing: "pairing";
71
71
  open: "open";
72
72
  disabled: "disabled";
73
73
  }>>;
@@ -78,8 +78,8 @@ export declare const TelegramAccountDefaultsConfigSchema: z.ZodObject<{
78
78
  }>>;
79
79
  replyToMode: z.ZodDefault<z.ZodEnum<{
80
80
  off: "off";
81
- first: "first";
82
81
  all: "all";
82
+ first: "first";
83
83
  }>>;
84
84
  historyLimit: z.ZodDefault<z.ZodNumber>;
85
85
  textChunkLimit: z.ZodDefault<z.ZodNumber>;
@@ -111,8 +111,8 @@ export declare const TelegramAccountConfigSchema: z.ZodObject<{
111
111
  allowFrom: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
112
112
  groupAllowFrom: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
113
113
  dmPolicy: z.ZodOptional<z.ZodEnum<{
114
- pairing: "pairing";
115
114
  allowlist: "allowlist";
115
+ pairing: "pairing";
116
116
  open: "open";
117
117
  disabled: "disabled";
118
118
  }>>;
@@ -123,8 +123,8 @@ export declare const TelegramAccountConfigSchema: z.ZodObject<{
123
123
  }>>;
124
124
  replyToMode: z.ZodOptional<z.ZodEnum<{
125
125
  off: "off";
126
- first: "first";
127
126
  all: "all";
127
+ first: "first";
128
128
  }>>;
129
129
  groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
130
130
  groupId: z.ZodOptional<z.ZodString>;
@@ -199,8 +199,8 @@ export declare const TelegramConfigSchema: z.ZodObject<{
199
199
  debug: z.ZodDefault<z.ZodBoolean>;
200
200
  defaults: z.ZodDefault<z.ZodObject<{
201
201
  dmPolicy: z.ZodDefault<z.ZodEnum<{
202
- pairing: "pairing";
203
202
  allowlist: "allowlist";
203
+ pairing: "pairing";
204
204
  open: "open";
205
205
  disabled: "disabled";
206
206
  }>>;
@@ -211,8 +211,8 @@ export declare const TelegramConfigSchema: z.ZodObject<{
211
211
  }>>;
212
212
  replyToMode: z.ZodDefault<z.ZodEnum<{
213
213
  off: "off";
214
- first: "first";
215
214
  all: "all";
215
+ first: "first";
216
216
  }>>;
217
217
  historyLimit: z.ZodDefault<z.ZodNumber>;
218
218
  textChunkLimit: z.ZodDefault<z.ZodNumber>;
@@ -244,8 +244,8 @@ export declare const TelegramConfigSchema: z.ZodObject<{
244
244
  allowFrom: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
245
245
  groupAllowFrom: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
246
246
  dmPolicy: z.ZodOptional<z.ZodEnum<{
247
- pairing: "pairing";
248
247
  allowlist: "allowlist";
248
+ pairing: "pairing";
249
249
  open: "open";
250
250
  disabled: "disabled";
251
251
  }>>;
@@ -256,8 +256,8 @@ export declare const TelegramConfigSchema: z.ZodObject<{
256
256
  }>>;
257
257
  replyToMode: z.ZodOptional<z.ZodEnum<{
258
258
  off: "off";
259
- first: "first";
260
259
  all: "all";
260
+ first: "first";
261
261
  }>>;
262
262
  groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
263
263
  groupId: z.ZodOptional<z.ZodString>;
@@ -1,6 +1,6 @@
1
+ import { resolveRoute } from "../../../src/routing/resolve-route.js";
1
2
  import { createLogger } from "../../../src/utils/logger/index.js";
2
3
  import { init_logger } from "../../../src/utils/logger.js";
3
- import { resolveRoute } from "../../../src/routing/resolve-route.js";
4
4
  import { normalizeTelegramCommandName, parseSlashCommand } from "../../../src/chat-commands/command-parse.js";
5
5
  import { checkMentionInTranscription } from "../../../src/voice/stt/mention.js";
6
6
  import { tryConsumeTelegramClarifyFreeText } from "../../../src/gateway/clarify-runtime.js";
@@ -1,6 +1,6 @@
1
+ import { TelegramConfigSchema, init_config_schema } from "./config-schema.js";
1
2
  import { createLogger } from "../../../src/utils/logger/index.js";
2
3
  import { init_logger } from "../../../src/utils/logger.js";
3
- import { TelegramConfigSchema, init_config_schema } from "./config-schema.js";
4
4
  import { registerChannelExecApprovalHandler } from "../../../src/channels/exec-approval-runtime.js";
5
5
  import { isSTTAvailable } from "../../../src/voice/stt/availability.js";
6
6
  import { generateSessionKey } from "../../../src/chat-commands/session-key.js";
@@ -1,7 +1,7 @@
1
- import { createLogger } from "../../../src/utils/logger/index.js";
2
- import { init_logger } from "../../../src/utils/logger.js";
3
1
  import { buildSessionKey } from "../../../src/routing/session-key.js";
4
2
  import { applyIdentityLinks, resolveRoute } from "../../../src/routing/resolve-route.js";
3
+ import { createLogger } from "../../../src/utils/logger/index.js";
4
+ import { init_logger } from "../../../src/utils/logger.js";
5
5
  import "../../../src/routing/index.js";
6
6
  //#region extensions/telegram/src/routing-integration.ts
7
7
  init_logger();
@@ -1,7 +1,7 @@
1
1
  import { resolveStateDir } from "../../../src/config/paths-state.js";
2
2
  import { init_paths } from "../../../src/config/paths.js";
3
- import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
4
3
  import { join } from "node:path";
4
+ import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
5
5
  //#region extensions/telegram/src/update-offset-store.ts
6
6
  init_paths();
7
7
  const STORE_VERSION = 2;
@@ -1,6 +1,6 @@
1
+ import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
1
2
  import { createLogger } from "../../../src/utils/logger/index.js";
2
3
  import { init_logger } from "../../../src/utils/logger.js";
3
- import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
4
4
  //#region extensions/telegram/src/workflow-progress.ts
5
5
  init_session_key();
6
6
  init_logger();
@@ -2,7 +2,7 @@
2
2
  "id": "telegram",
3
3
  "name": "Telegram Channel",
4
4
  "description": "Bundled Telegram Bot channel (private workspace sources; ships inside @xopcai/xopc dist/)",
5
- "version": "0.0.116",
5
+ "version": "0.0.118",
6
6
  "kind": "channel",
7
7
  "main": "src/index.js",
8
8
  "channels": [
@@ -1,9 +1,9 @@
1
1
  import { hasProxyEnv } from "../../../../src/infra/http-proxy-env.js";
2
2
  import { logger } from "../util/logger.js";
3
3
  import { redactBody, redactUrl } from "../util/redact.js";
4
- import crypto from "node:crypto";
5
- import fs from "node:fs";
6
4
  import path from "node:path";
5
+ import fs from "node:fs";
6
+ import crypto from "node:crypto";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { Agent, EnvHttpProxyAgent, fetch as fetch$1 } from "undici";
9
9
  //#region extensions/weixin/src/api/api.ts
@@ -1,8 +1,8 @@
1
1
  import { logger } from "../util/logger.js";
2
2
  import { normalizeWeixinAccountId } from "./weixin-account-id.js";
3
3
  import { resolveWeixinRootDir } from "../storage/state-dir.js";
4
- import fs from "node:fs";
5
4
  import path from "node:path";
5
+ import fs from "node:fs";
6
6
  //#region extensions/weixin/src/auth/accounts.ts
7
7
  const DEFAULT_BASE_URL = "https://ilinkai.weixin.qq.com";
8
8
  const CDN_BASE_URL = "https://novac2c.cdn.weixin.qq.com/c2c";
@@ -6,9 +6,9 @@ import { getUploadUrl } from "../api/api.js";
6
6
  import { getExtensionFromContentTypeOrUrl } from "../media/mime.js";
7
7
  import { aesEcbPaddedSize } from "./aes-ecb.js";
8
8
  import { uploadBufferToCdn } from "./cdn-upload.js";
9
+ import path from "node:path";
9
10
  import crypto from "node:crypto";
10
11
  import fs from "node:fs/promises";
11
- import path from "node:path";
12
12
  //#region extensions/weixin/src/cdn/upload.ts
13
13
  /**
14
14
  * Download a remote media URL (image, video, file) to a local temp file in destDir.
@@ -5,8 +5,8 @@ export declare const WeixinAccountConfigSchema: z.ZodObject<{
5
5
  cdnBaseUrl: z.ZodOptional<z.ZodString>;
6
6
  routeTag: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
7
7
  dmPolicy: z.ZodDefault<z.ZodEnum<{
8
- pairing: "pairing";
9
8
  allowlist: "allowlist";
9
+ pairing: "pairing";
10
10
  open: "open";
11
11
  disabled: "disabled";
12
12
  }>>;
@@ -21,8 +21,8 @@ export declare const WeixinAccountConfigSchema: z.ZodObject<{
21
21
  export declare const WeixinConfigSchema: z.ZodObject<{
22
22
  enabled: z.ZodDefault<z.ZodBoolean>;
23
23
  dmPolicy: z.ZodDefault<z.ZodEnum<{
24
- pairing: "pairing";
25
24
  allowlist: "allowlist";
25
+ pairing: "pairing";
26
26
  open: "open";
27
27
  disabled: "disabled";
28
28
  }>>;
@@ -42,8 +42,8 @@ export declare const WeixinConfigSchema: z.ZodObject<{
42
42
  cdnBaseUrl: z.ZodOptional<z.ZodString>;
43
43
  routeTag: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
44
44
  dmPolicy: z.ZodDefault<z.ZodEnum<{
45
- pairing: "pairing";
46
45
  allowlist: "allowlist";
46
+ pairing: "pairing";
47
47
  open: "open";
48
48
  disabled: "disabled";
49
49
  }>>;
@@ -1,7 +1,7 @@
1
1
  import { getExtensionFromMime } from "./mime.js";
2
+ import path from "node:path";
2
3
  import { randomBytes } from "node:crypto";
3
4
  import fs from "node:fs/promises";
4
- import path from "node:path";
5
5
  //#region extensions/weixin/src/media/data-url.ts
6
6
  /**
7
7
  * Parse `data:mime;base64,...` into buffer (aligned with Telegram `parseDataUrl`).
@@ -1,7 +1,7 @@
1
1
  import { logger } from "../util/logger.js";
2
2
  import { resolveWeixinRootDir } from "../storage/state-dir.js";
3
- import fs from "node:fs";
4
3
  import path from "node:path";
4
+ import fs from "node:fs";
5
5
  //#region extensions/weixin/src/messaging/debug-mode.ts
6
6
  /**
7
7
  * Per-bot debug mode toggle, persisted to disk so it survives gateway restarts.
@@ -3,8 +3,8 @@ import { generateId } from "../util/random.js";
3
3
  import { MessageItemType } from "../api/types.js";
4
4
  import { canonicalWeixinPeerId, normalizeWeixinAccountId } from "../auth/weixin-account-id.js";
5
5
  import { resolveWeixinRootDir } from "../storage/state-dir.js";
6
- import fs from "node:fs";
7
6
  import path from "node:path";
7
+ import fs from "node:fs";
8
8
  //#region extensions/weixin/src/messaging/inbound.ts
9
9
  /**
10
10
  * contextToken is issued per-message by the Weixin getupdates API and must
@@ -11,9 +11,9 @@ import { downloadMediaFromItem } from "../media/media-download.js";
11
11
  import { isDebugMode } from "./debug-mode.js";
12
12
  import { sendMessageWeixin } from "./send.js";
13
13
  import { handleSlashCommand } from "./slash-commands.js";
14
+ import path from "node:path";
14
15
  import { randomBytes } from "node:crypto";
15
16
  import { mkdir, readFile, writeFile } from "node:fs/promises";
16
- import path from "node:path";
17
17
  //#region extensions/weixin/src/messaging/process-message.ts
18
18
  function extractTextBody(itemList) {
19
19
  if (!itemList?.length) return "";
@@ -1,6 +1,6 @@
1
+ import { WeixinConfigSchema, init_config_schema } from "./config-schema.js";
1
2
  import { createLogger } from "../../../src/utils/logger/index.js";
2
3
  import { init_logger } from "../../../src/utils/logger.js";
3
- import { WeixinConfigSchema, init_config_schema } from "./config-schema.js";
4
4
  import { evaluateAccess, resolveDmPolicy } from "../../../src/channels/security.js";
5
5
  import { createStandardPairingAdapter } from "../../../src/channels/pairing/pairing-store-adapter.js";
6
6
  import { weixinConfigSurface } from "./config-surface.js";
@@ -1,6 +1,6 @@
1
1
  import { resolveWeixinRootDir } from "./state-dir.js";
2
- import fs from "node:fs";
3
2
  import path from "node:path";
3
+ import fs from "node:fs";
4
4
  //#region extensions/weixin/src/storage/sync-buf.ts
5
5
  function resolveAccountsDir() {
6
6
  return path.join(resolveWeixinRootDir(), "accounts");
@@ -1,6 +1,6 @@
1
+ import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
1
2
  import { createLogger } from "../../../src/utils/logger/index.js";
2
3
  import { init_logger } from "../../../src/utils/logger.js";
3
- import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
4
4
  import { getContextToken } from "./messaging/inbound.js";
5
5
  import { resolveWeixinAccount } from "./auth/accounts.js";
6
6
  import { sendMessageWeixin } from "./messaging/send.js";