@xopcai/xopc 0.0.187 → 0.0.188

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 (216) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/demo-memory/src/index.js +1 -0
  3. package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -3
  4. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +0 -2
  5. package/dist/extensions/telegram/src/draft-stream.d.ts +0 -4
  6. package/dist/extensions/telegram/src/draft-stream.js +1 -53
  7. package/dist/extensions/telegram/xopc.extension.json +1 -1
  8. package/dist/gateway/static/root/assets/{activity-store-WlR2zEvA.js → activity-store--QoUGhiS.js} +1 -1
  9. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-RedDszrG.js → agent-avatar-dicebear-B0yweLNQ.js} +1 -1
  10. package/dist/gateway/static/root/assets/{agents-Df9mTa-K.js → agents-C6OV-gMm.js} +1 -1
  11. package/dist/gateway/static/root/assets/{api-tVOllncq.js → api-5laWqfiE.js} +1 -1
  12. package/dist/gateway/static/root/assets/{app-management-settings-panel-C9hKBzaF.js → app-management-settings-panel-BXJ8Jiv_.js} +1 -1
  13. package/dist/gateway/static/root/assets/{appearance-settings-5cQvq7hd.js → appearance-settings-DG9n9D1M.js} +1 -1
  14. package/dist/gateway/static/root/assets/{apps-page-Bd3tN-k2.js → apps-page-Ci14lDeO.js} +1 -1
  15. package/dist/gateway/static/root/assets/{archive-plugin-Ct-shK4n.js → archive-plugin-Ceh5qrZf.js} +1 -1
  16. package/dist/gateway/static/root/assets/{attachment-load-CpPj3m-q.js → attachment-load-jFW7uYf7.js} +1 -1
  17. package/dist/gateway/static/root/assets/automations-page-Q1xmb4Rh.js +6 -0
  18. package/dist/gateway/static/root/assets/{binary-plugins-BpSXZBle.js → binary-plugins-XDlkI1r4.js} +1 -1
  19. package/dist/gateway/static/root/assets/{block-editor-B8hR2tXc.js → block-editor-kyKc2IhE.js} +1 -1
  20. package/dist/gateway/static/root/assets/{browser-settings-page-jb5Hf-hm.js → browser-settings-page-DbowrHXD.js} +1 -1
  21. package/dist/gateway/static/root/assets/{browser-workflow-inputs-D_LAXUrh.js → browser-workflow-inputs-BJa5Iz_v.js} +1 -1
  22. package/dist/gateway/static/root/assets/{browser-workflows-page-CPAs7-6s.js → browser-workflows-page-CTQQOsn5.js} +1 -1
  23. package/dist/gateway/static/root/assets/{capabilities-settings-panel-BjUe4raq.js → capabilities-settings-panel-DoZPFdKF.js} +1 -1
  24. package/dist/gateway/static/root/assets/{capability-presets-api-CKklVY2p.js → capability-presets-api-Dn-7MMEo.js} +1 -1
  25. package/dist/gateway/static/root/assets/{capability-presets-settings-panel-DiWIMYRr.js → capability-presets-settings-panel-Bt8Hnx0h.js} +1 -1
  26. package/dist/gateway/static/root/assets/{channel-recipient-api-WWN-nbFL.js → channel-recipient-api-BgIkWq01.js} +1 -1
  27. package/dist/gateway/static/root/assets/{channels-settings-D8IkjMuX.js → channels-settings-Bpsebsru.js} +1 -1
  28. package/dist/gateway/static/root/assets/channels-status-swr-DFmdYRE5.js +1 -0
  29. package/dist/gateway/static/root/assets/{connector-logo-CdNkVFdB.js → connector-logo-TRr9ybf6.js} +1 -1
  30. package/dist/gateway/static/root/assets/{connectors-page-BT2ahw52.js → connectors-page-Tg5kl22i.js} +1 -1
  31. package/dist/gateway/static/root/assets/{desktop-pet-Bm_IEAf3.js → desktop-pet-CSwd00CV.js} +1 -1
  32. package/dist/gateway/static/root/assets/{desktop-pet-settings-C0Ve04-G.js → desktop-pet-settings-CuNQvHGu.js} +1 -1
  33. package/dist/gateway/static/root/assets/{directory-picker-path-field-B2cvhvAI.js → directory-picker-path-field-ct0n5Rje.js} +1 -1
  34. package/dist/gateway/static/root/assets/{extension-debug-page-DNashgGu.js → extension-debug-page-BeRBuMUU.js} +1 -1
  35. package/dist/gateway/static/root/assets/{extension-page-Bvo-5htX.js → extension-page-DbK-Cwao.js} +1 -1
  36. package/dist/gateway/static/root/assets/{extension-settings-page-BBESdISV.js → extension-settings-page-C9ag5tb5.js} +1 -1
  37. package/dist/gateway/static/root/assets/{gateway-config-api-ClQvokMo.js → gateway-config-api-CC7EvEFp.js} +1 -1
  38. package/dist/gateway/static/root/assets/{gateway-settings-CIRs2QVy.js → gateway-settings-9g8uIry9.js} +1 -1
  39. package/dist/gateway/static/root/assets/{gateway-startup-retry-CntXJF6W.js → gateway-startup-retry-B2DmdlwO.js} +1 -1
  40. package/dist/gateway/static/root/assets/{heartbeat-settings-CWKcZuvc.js → heartbeat-settings-fl1oC_-5.js} +1 -1
  41. package/dist/gateway/static/root/assets/{home-page-C59f8UJw.js → home-page-Bao9jq_z.js} +1 -1
  42. package/dist/gateway/static/root/assets/{image-generation-api-DjSAQwGy.js → image-generation-api-GMTaS6eI.js} +1 -1
  43. package/dist/gateway/static/root/assets/index-Cl5n1f_U.css +1 -0
  44. package/dist/gateway/static/root/assets/index-OJgiMh07.js +223 -0
  45. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-ahKHpjoW.js → keyboard-shortcuts-settings-DhGYddbI.js} +1 -1
  46. package/dist/gateway/static/root/assets/{local-app-workbench-page-DRB4UQBE.js → local-app-workbench-page-B69NvtvH.js} +1 -1
  47. package/dist/gateway/static/root/assets/{local-apps-page-B6GKdgza.js → local-apps-page-CmnrBmWi.js} +1 -1
  48. package/dist/gateway/static/root/assets/{locale-store-Bff30u5V.js → locale-store-D6hs74o5.js} +1 -1
  49. package/dist/gateway/static/root/assets/{logs-page-CNp4XiBN.js → logs-page-Cq3cABqg.js} +1 -1
  50. package/dist/gateway/static/root/assets/{markdown-split-BeNMJm_i.js → markdown-split-CZaBPOVn.js} +1 -1
  51. package/dist/gateway/static/root/assets/{media-plugins-Bdzrj_-6.js → media-plugins-CiKvSgCv.js} +1 -1
  52. package/dist/gateway/static/root/assets/messages-D02NNLCZ.js +3 -0
  53. package/dist/gateway/static/root/assets/{notes-page-MYIi-9S9.js → notes-page-Bisbzqlz.js} +1 -1
  54. package/dist/gateway/static/root/assets/{notes-workbench-DqSkeDXX.js → notes-workbench-BOZfJFhE.js} +2 -2
  55. package/dist/gateway/static/root/assets/{page-tabs-3t88bbGx.js → page-tabs-BxlwhAbH.js} +1 -1
  56. package/dist/gateway/static/root/assets/{preview-open-alternatives-Cf_BWbeE.js → preview-open-alternatives-RM8wXxfT.js} +1 -1
  57. package/dist/gateway/static/root/assets/{product-open-page-CKq73c98.js → product-open-page-DdBlibek.js} +1 -1
  58. package/dist/gateway/static/root/assets/{project-detail-page-BrbHs4Wp.js → project-detail-page-TSKFb2tN.js} +1 -1
  59. package/dist/gateway/static/root/assets/{projects-page-B80rtkj6.js → projects-page-BokeBrTT.js} +1 -1
  60. package/dist/gateway/static/root/assets/{remote-access-hub-_Q3GEznb.js → remote-access-hub-C56anxCX.js} +1 -1
  61. package/dist/gateway/static/root/assets/{schema-form-NqOm-OG1.js → schema-form-BDKbpmXv.js} +1 -1
  62. package/dist/gateway/static/root/assets/{sessions-page-55dJOUVg.js → sessions-page-C7TQADrD.js} +1 -1
  63. package/dist/gateway/static/root/assets/settings-advanced-gate-BDOPKeAX.js +1 -0
  64. package/dist/gateway/static/root/assets/{settings-form-section-DYAS8p8z.js → settings-form-section-zxo5ZGOu.js} +1 -1
  65. package/dist/gateway/static/root/assets/{settings-loading-skeleton-DZFhxihA.js → settings-loading-skeleton-DgIp8_S6.js} +1 -1
  66. package/dist/gateway/static/root/assets/{settings-page-BSIiMLi-.js → settings-page-BUPSIa9P.js} +1 -1
  67. package/dist/gateway/static/root/assets/{settings-page-layout-DfFfkdED.js → settings-page-layout-97LmwrzC.js} +1 -1
  68. package/dist/gateway/static/root/assets/{setup-status-panel-q_yE6-H1.js → setup-status-panel-BRg766eW.js} +1 -1
  69. package/dist/gateway/static/root/assets/{share-preview-page-CYtrQaZN.js → share-preview-page-BH7i3g1S.js} +1 -1
  70. package/dist/gateway/static/root/assets/{shares-settings-gYkRX9Ik.js → shares-settings-DhEAviQ_.js} +1 -1
  71. package/dist/gateway/static/root/assets/skill-reload-api-Ct7AV8ls.js +1 -0
  72. package/dist/gateway/static/root/assets/{skills-page-GZHKDFSb.js → skills-page-DoVuprZm.js} +1 -1
  73. package/dist/gateway/static/root/assets/{skills-page.utils-BBXirAjc.js → skills-page.utils-s-a5WV9j.js} +1 -1
  74. package/dist/gateway/static/root/assets/{system-settings-panel-DLf5YvFl.js → system-settings-panel-BxjeMT5k.js} +1 -1
  75. package/dist/gateway/static/root/assets/{task-detail-page-DFGkuYfl.js → task-detail-page-BahycnfW.js} +1 -1
  76. package/dist/gateway/static/root/assets/{theme-store-y7e_tvYi.js → theme-store-BRxdsmic.js} +1 -1
  77. package/dist/gateway/static/root/assets/{time-picker-5sHEZ5w5.js → time-picker-BGk_Tbsj.js} +1 -1
  78. package/dist/gateway/static/root/assets/{typed-models-lib-DR12j_dr.js → typed-models-lib-39MjwPSq.js} +1 -1
  79. package/dist/gateway/static/root/assets/{use-save-bar-registration-BsvcJgZl.js → use-save-bar-registration-5aVSjTjO.js} +1 -1
  80. package/dist/gateway/static/root/assets/{user-context-page-q5dr8JFG.js → user-context-page-B9K41qmy.js} +1 -1
  81. package/dist/gateway/static/root/assets/{voice-api-key-field-DKADXFWD.js → voice-api-key-field-XU-7sBSg.js} +1 -1
  82. package/dist/gateway/static/root/assets/{work-discovery-overlay-BC1nExf8.js → work-discovery-overlay-CJqu8UHq.js} +1 -1
  83. package/dist/gateway/static/root/assets/{work-discovery-page-fNvSg40M.js → work-discovery-page-BBVnRHju.js} +1 -1
  84. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-C8X5W-8k.js → workflow-run-setup-panel-DXtg8Qxl.js} +1 -1
  85. package/dist/gateway/static/root/assets/{workflows-page-YJBKmPYK.js → workflows-page-Bs_tYfst.js} +1 -1
  86. package/dist/gateway/static/root/index.html +7 -7
  87. package/dist/package.js +1 -1
  88. package/dist/packages/gateway-contract/src/tool-activity.js +223 -0
  89. package/dist/src/agent/agent-manager.js +2 -8
  90. package/dist/src/agent/code-intelligence/binary.js +1 -1
  91. package/dist/src/agent/embedded/run-for-session.d.ts +0 -2
  92. package/dist/src/agent/embedded/run-for-session.js +99 -112
  93. package/dist/src/agent/external-tools/composio-provider.d.ts +29 -0
  94. package/dist/src/agent/external-tools/composio-provider.js +307 -0
  95. package/dist/src/agent/external-tools/extension-provider.d.ts +20 -0
  96. package/dist/src/agent/external-tools/extension-provider.js +68 -0
  97. package/dist/src/agent/external-tools/gateway-tools.d.ts +8 -0
  98. package/dist/src/agent/external-tools/gateway-tools.js +89 -0
  99. package/dist/src/agent/external-tools/index.d.ts +24 -0
  100. package/dist/src/agent/external-tools/index.js +40 -0
  101. package/dist/src/agent/external-tools/mcp-provider.d.ts +29 -0
  102. package/dist/src/agent/external-tools/mcp-provider.js +118 -0
  103. package/dist/src/agent/external-tools/memory-provider.d.ts +21 -0
  104. package/dist/src/agent/external-tools/memory-provider.js +56 -0
  105. package/dist/src/agent/external-tools/refs.d.ts +5 -0
  106. package/dist/src/agent/external-tools/refs.js +18 -0
  107. package/dist/src/agent/external-tools/service.d.ts +26 -0
  108. package/dist/src/agent/external-tools/service.js +117 -0
  109. package/dist/src/agent/external-tools/types.d.ts +28 -0
  110. package/dist/src/agent/external-tools/types.js +9 -0
  111. package/dist/src/agent/inbound/inbound-loop.d.ts +0 -2
  112. package/dist/src/agent/inbound/inbound-loop.js +0 -3
  113. package/dist/src/agent/mcp/{bundle-mcp-materialize.d.ts → bundle-mcp-gateway.d.ts} +1 -19
  114. package/dist/src/agent/mcp/bundle-mcp-gateway.js +60 -0
  115. package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -8
  116. package/dist/src/agent/mcp/bundle-mcp-names.js +2 -29
  117. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +4 -7
  118. package/dist/src/agent/mcp/bundle-mcp-policy.js +6 -20
  119. package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
  120. package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +1 -2
  121. package/dist/src/agent/mcp/bundle-mcp-tools.js +1 -2
  122. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -5
  123. package/dist/src/agent/mcp/index.d.ts +0 -2
  124. package/dist/src/agent/mcp/index.js +2 -5
  125. package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
  126. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  127. package/dist/src/agent/memory/context/planner.d.ts +1 -0
  128. package/dist/src/agent/memory/context/planner.js +22 -7
  129. package/dist/src/agent/memory/manager.d.ts +4 -1
  130. package/dist/src/agent/memory/manager.js +5 -2
  131. package/dist/src/agent/memory/types.d.ts +2 -0
  132. package/dist/src/agent/messaging/stream-manager.d.ts +2 -14
  133. package/dist/src/agent/messaging/stream-manager.js +0 -12
  134. package/dist/src/agent/orchestration/agent-event-handler.d.ts +1 -3
  135. package/dist/src/agent/orchestration/agent-event-handler.js +0 -36
  136. package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -5
  137. package/dist/src/agent/orchestration/agent-orchestrator.js +0 -5
  138. package/dist/src/agent/prompt/sections/behavior.js +6 -4
  139. package/dist/src/agent/service.d.ts +0 -3
  140. package/dist/src/agent/service.js +0 -28
  141. package/dist/src/agent/service.types.d.ts +0 -3
  142. package/dist/src/agent/skills/hub-pull.js +1 -1
  143. package/dist/src/agent/starter-agents.js +2 -2
  144. package/dist/src/agent/tools/delegate-tool.js +5 -1
  145. package/dist/src/agent/tools/executor.js +1 -1
  146. package/dist/src/agent/tools/factory.d.ts +2 -1
  147. package/dist/src/agent/tools/factory.js +16 -22
  148. package/dist/src/agent/tools/index.d.ts +0 -1
  149. package/dist/src/agent/tools/index.js +1 -2
  150. package/dist/src/agent/workflow/workflow-child-tools.js +7 -1
  151. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  152. package/dist/src/channels/channel-domain.d.ts +0 -4
  153. package/dist/src/channels/plugin-types.d.ts +0 -2
  154. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  155. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  156. package/dist/src/connectors/health.js +1 -1
  157. package/dist/src/extensions/extension-registry-impl.d.ts +3 -1
  158. package/dist/src/extensions/extension-registry-impl.js +7 -1
  159. package/dist/src/extensions/loader.js +1 -1
  160. package/dist/src/extensions/types/core.d.ts +2 -1
  161. package/dist/src/extensions/update.js +1 -1
  162. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  163. package/dist/src/gateway/agent-builtin-tools.js +5 -2
  164. package/dist/src/gateway/chat-stream/mapper.js +16 -1
  165. package/dist/src/gateway/chat-stream/protocol.d.ts +4 -0
  166. package/dist/src/gateway/file-reference-errors.d.ts +6 -0
  167. package/dist/src/gateway/file-reference-errors.js +21 -0
  168. package/dist/src/gateway/heartbeat/service.js +1 -1
  169. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  170. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  171. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  172. package/dist/src/gateway/hono/routes/mcp.js +1 -1
  173. package/dist/src/gateway/hono/routes/projects.js +34 -13
  174. package/dist/src/gateway/hono/routes/workflows.js +1 -1
  175. package/dist/src/gateway/hono/routes/workspace.js +34 -13
  176. package/dist/src/gateway/hono/routes/you.js +3 -3
  177. package/dist/src/gateway/service/config-coordinator.js +1 -1
  178. package/dist/src/gateway/service/run-gateway-agent.js +4 -1
  179. package/dist/src/gateway/service.js +6 -6
  180. package/dist/src/heartbeat/index.js +1 -1
  181. package/dist/src/infra/update-runner.js +1 -1
  182. package/dist/src/share/share-zip.js +1 -1
  183. package/dist/src/storage/sqlite/memory-records-repository.js +3 -1
  184. package/dist/src/storage/sqlite/migrations/108_repair_user_memory_provider.sql +18 -0
  185. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  186. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  187. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  188. package/dist/src/storage/sqlite/schema.js +1 -1
  189. package/dist/src/tui/tool-summary.d.ts +1 -2
  190. package/dist/src/tui/tool-summary.js +2 -18
  191. package/dist/src/tunnel/frpc-binary.js +1 -1
  192. package/dist/src/user-context/projection.d.ts +1 -0
  193. package/dist/src/user-context/projection.js +2 -1
  194. package/dist/src/voice/local/model-files.js +1 -1
  195. package/dist/src/work-discovery/service.js +1 -1
  196. package/package.json +1 -1
  197. package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +0 -6
  198. package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +0 -1
  199. package/dist/gateway/static/root/assets/index-D-YfWVyS.css +0 -1
  200. package/dist/gateway/static/root/assets/index-vi5KlR5_.js +0 -222
  201. package/dist/gateway/static/root/assets/messages-CPxz48hr.js +0 -3
  202. package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +0 -1
  203. package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +0 -1
  204. package/dist/src/agent/feedback/feedback-coordinator.d.ts +0 -73
  205. package/dist/src/agent/feedback/feedback-coordinator.js +0 -156
  206. package/dist/src/agent/feedback/index.d.ts +0 -4
  207. package/dist/src/agent/feedback/index.js +0 -2
  208. package/dist/src/agent/lifecycle/progress.d.ts +0 -90
  209. package/dist/src/agent/lifecycle/progress.js +0 -339
  210. package/dist/src/agent/mcp/bundle-mcp-materialize.js +0 -183
  211. package/dist/src/agent/mcp/mcp-tool-meta.d.ts +0 -8
  212. package/dist/src/agent/mcp/mcp-tool-meta.js +0 -13
  213. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.d.ts +0 -14
  214. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +0 -48
  215. package/dist/src/agent/tools/composio-tool.d.ts +0 -21
  216. package/dist/src/agent/tools/composio-tool.js +0 -261
@@ -11,7 +11,7 @@
11
11
  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260713-1" />
12
12
  <link rel="manifest" href="/site.webmanifest?v=20260713-1" />
13
13
  <title>XOPC — Turn goals into loops. Keep what matters moving.</title>
14
- <script type="module" crossorigin src="/assets/index-vi5KlR5_.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-OJgiMh07.js"></script>
15
15
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
16
16
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
17
17
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
@@ -23,17 +23,17 @@
23
23
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DPHK1VkS.js">
24
24
  <link rel="modulepreload" crossorigin href="/assets/check-DUBLcKHA.js">
25
25
  <link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
26
- <link rel="modulepreload" crossorigin href="/assets/messages-CPxz48hr.js">
27
- <link rel="modulepreload" crossorigin href="/assets/locale-store-Bff30u5V.js">
26
+ <link rel="modulepreload" crossorigin href="/assets/messages-D02NNLCZ.js">
27
+ <link rel="modulepreload" crossorigin href="/assets/locale-store-D6hs74o5.js">
28
28
  <link rel="modulepreload" crossorigin href="/assets/cn-JdwAhgNB.js">
29
29
  <link rel="modulepreload" crossorigin href="/assets/schemas-C6onAggk.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/product-delivery-C8JbSj5Y.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
32
32
  <link rel="modulepreload" crossorigin href="/assets/copy-to-clipboard-HOJ79TWv.js">
33
- <link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-CntXJF6W.js">
34
- <link rel="modulepreload" crossorigin href="/assets/activity-store-WlR2zEvA.js">
35
- <link rel="modulepreload" crossorigin href="/assets/theme-store-y7e_tvYi.js">
36
- <link rel="stylesheet" crossorigin href="/assets/index-D-YfWVyS.css">
33
+ <link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-B2DmdlwO.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/activity-store--QoUGhiS.js">
35
+ <link rel="modulepreload" crossorigin href="/assets/theme-store-BRxdsmic.js">
36
+ <link rel="stylesheet" crossorigin href="/assets/index-Cl5n1f_U.css">
37
37
  </head>
38
38
  <body>
39
39
  <div id="root"></div>
package/dist/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "0.0.187";
2
+ var version = "0.0.188";
3
3
  //#endregion
4
4
  export { version };
@@ -0,0 +1,223 @@
1
+ //#region packages/gateway-contract/src/tool-activity.ts
2
+ const OTHER_ACTIVITY = {
3
+ category: "other",
4
+ action: "use",
5
+ source: "unknown",
6
+ sensitivity: "normal"
7
+ };
8
+ const TOOL_ACTIVITY_CATALOG = {
9
+ memory_search: {
10
+ category: "memory",
11
+ action: "search",
12
+ source: "memory",
13
+ sensitivity: "personal",
14
+ purpose: "personal_context"
15
+ },
16
+ memory_get: {
17
+ category: "memory",
18
+ action: "read",
19
+ source: "memory",
20
+ sensitivity: "personal",
21
+ purpose: "personal_context"
22
+ },
23
+ web_search: {
24
+ category: "web",
25
+ action: "search",
26
+ source: "internet",
27
+ sensitivity: "normal"
28
+ },
29
+ brave_search: {
30
+ category: "web",
31
+ action: "search",
32
+ source: "internet",
33
+ sensitivity: "normal"
34
+ },
35
+ image_query: {
36
+ category: "web",
37
+ action: "search",
38
+ source: "internet",
39
+ sensitivity: "normal"
40
+ },
41
+ web_fetch: {
42
+ category: "web",
43
+ action: "read",
44
+ source: "internet",
45
+ sensitivity: "normal"
46
+ },
47
+ fetch_url: {
48
+ category: "web",
49
+ action: "read",
50
+ source: "internet",
51
+ sensitivity: "normal"
52
+ },
53
+ open_url: {
54
+ category: "navigation",
55
+ action: "open",
56
+ source: "internet",
57
+ sensitivity: "normal"
58
+ },
59
+ browser_use: {
60
+ category: "navigation",
61
+ action: "open",
62
+ source: "internet",
63
+ sensitivity: "normal"
64
+ },
65
+ search_graph: {
66
+ category: "code",
67
+ action: "search",
68
+ source: "workspace",
69
+ sensitivity: "normal"
70
+ },
71
+ search_code: {
72
+ category: "code",
73
+ action: "search",
74
+ source: "workspace",
75
+ sensitivity: "normal"
76
+ },
77
+ query_graph: {
78
+ category: "code",
79
+ action: "search",
80
+ source: "workspace",
81
+ sensitivity: "normal"
82
+ },
83
+ trace_path: {
84
+ category: "code",
85
+ action: "search",
86
+ source: "workspace",
87
+ sensitivity: "normal"
88
+ },
89
+ get_architecture: {
90
+ category: "code",
91
+ action: "search",
92
+ source: "workspace",
93
+ sensitivity: "normal"
94
+ },
95
+ get_code_snippet: {
96
+ category: "file",
97
+ action: "read",
98
+ source: "workspace",
99
+ sensitivity: "normal"
100
+ },
101
+ grep: {
102
+ category: "code",
103
+ action: "search",
104
+ source: "workspace",
105
+ sensitivity: "normal"
106
+ },
107
+ glob: {
108
+ category: "code",
109
+ action: "search",
110
+ source: "workspace",
111
+ sensitivity: "normal"
112
+ },
113
+ find_files: {
114
+ category: "code",
115
+ action: "search",
116
+ source: "workspace",
117
+ sensitivity: "normal"
118
+ },
119
+ session_search: {
120
+ category: "other",
121
+ action: "search",
122
+ source: "runtime",
123
+ sensitivity: "normal"
124
+ },
125
+ search: {
126
+ category: "other",
127
+ action: "search",
128
+ source: "unknown",
129
+ sensitivity: "normal"
130
+ },
131
+ read_file: {
132
+ category: "file",
133
+ action: "read",
134
+ source: "workspace",
135
+ sensitivity: "normal"
136
+ },
137
+ "review.prepare_diff": {
138
+ category: "file",
139
+ action: "read",
140
+ source: "workspace",
141
+ sensitivity: "normal"
142
+ },
143
+ list_dir: {
144
+ category: "file",
145
+ action: "list",
146
+ source: "workspace",
147
+ sensitivity: "normal"
148
+ },
149
+ ls: {
150
+ category: "file",
151
+ action: "list",
152
+ source: "workspace",
153
+ sensitivity: "normal"
154
+ },
155
+ write_file: {
156
+ category: "file",
157
+ action: "write",
158
+ source: "workspace",
159
+ sensitivity: "normal"
160
+ },
161
+ apply_patch: {
162
+ category: "file",
163
+ action: "edit",
164
+ source: "workspace",
165
+ sensitivity: "normal"
166
+ },
167
+ exec_command: {
168
+ category: "command",
169
+ action: "execute",
170
+ source: "runtime",
171
+ sensitivity: "normal"
172
+ },
173
+ run_command: {
174
+ category: "command",
175
+ action: "execute",
176
+ source: "runtime",
177
+ sensitivity: "normal"
178
+ },
179
+ update_plan: {
180
+ category: "planning",
181
+ action: "plan",
182
+ source: "runtime",
183
+ sensitivity: "normal"
184
+ }
185
+ };
186
+ function toolActivityId(name) {
187
+ const normalized = name.trim().toLowerCase().replace(/-/g, "_");
188
+ const namespaced = normalized.split("__").at(-1) ?? normalized;
189
+ return namespaced.split(".").at(-1) ?? namespaced;
190
+ }
191
+ function resolveToolActivityDefinition(name) {
192
+ const normalized = name.trim().toLowerCase().replace(/-/g, "_");
193
+ return TOOL_ACTIVITY_CATALOG[normalized] ?? TOOL_ACTIVITY_CATALOG[toolActivityId(normalized)] ?? OTHER_ACTIVITY;
194
+ }
195
+ function asRecord(value) {
196
+ if (typeof value === "string") try {
197
+ return asRecord(JSON.parse(value));
198
+ } catch {
199
+ return null;
200
+ }
201
+ return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
202
+ }
203
+ function resultCount(result) {
204
+ const record = asRecord(result);
205
+ const results = asRecord(record?.details)?.results ?? record?.results;
206
+ return Array.isArray(results) ? results.length : void 0;
207
+ }
208
+ function resultHasError(result) {
209
+ const record = asRecord(result);
210
+ return typeof (asRecord(record?.details)?.error ?? record?.error) === "string";
211
+ }
212
+ function resolveToolActivity(name, status, result) {
213
+ const definition = resolveToolActivityDefinition(name);
214
+ const count = resultCount(result);
215
+ const resolvedStatus = status === "completed" && resultHasError(result) ? "failed" : status === "completed" && count === 0 ? "empty" : status;
216
+ return {
217
+ ...definition,
218
+ status: resolvedStatus,
219
+ ...count === void 0 ? {} : { count }
220
+ };
221
+ }
222
+ //#endregion
223
+ export { resolveToolActivity };
@@ -18,6 +18,7 @@ import { buildExecutionScopeContextForPrompt } from "./context/execution-scope.j
18
18
  import { clearBootstrapSnapshot } from "./bootstrap/bootstrap-cache.js";
19
19
  import { resolveBootstrapContextSync } from "./bootstrap/bootstrap-files.js";
20
20
  import { loadProjectAgentsContextFile } from "./bootstrap/project-agents-context.js";
21
+ import { disposeAllSessionMcpRuntimes, retireSessionMcpRuntimeForSessionKey } from "./mcp/bundle-mcp-runtime.js";
21
22
  import { createSkillConfigManager, isSkillEnabled, resolveSkillConfig } from "./skills/config.js";
22
23
  import { isValidSkillEnvVarName } from "./skills/required-env-vars.js";
23
24
  import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "./skills/workspace-skills-dir.js";
@@ -26,8 +27,6 @@ import { isUnderManagedSkillsDir } from "./skills/managed-store.js";
26
27
  import { createAgentCapabilitySessionState, resolveAgentCapabilityCatalog } from "./capabilities/registry.js";
27
28
  import "./capabilities/index.js";
28
29
  import { AgentToolsFactory } from "./tools/factory.js";
29
- import { parseMcpToolName } from "./mcp/bundle-mcp-policy.js";
30
- import { disposeAllSessionMcpRuntimes, retireSessionMcpRuntimeForSessionKey } from "./mcp/bundle-mcp-runtime.js";
31
30
  import "./mcp/bundle-mcp-tools.js";
32
31
  import { evictAllEmbeddedSessionRunners, evictEmbeddedSessionRunner } from "./embedded/session-runner.js";
33
32
  import { isMemorySubsystemEnabled } from "./memory/memory-config.js";
@@ -914,12 +913,7 @@ var AgentManager = class {
914
913
  }
915
914
  }
916
915
  if (!this.config.hookRunner) return;
917
- const parsed = parseMcpToolName(toolName);
918
- const hookResult = await this.config.hookRunner.runBeforeToolCall(toolName, args ?? {}, {
919
- sessionKey,
920
- isMcpTool: parsed !== null,
921
- mcpServerId: parsed?.serverId
922
- });
916
+ const hookResult = await this.config.hookRunner.runBeforeToolCall(toolName, args ?? {}, { sessionKey });
923
917
  if (!hookResult.allowed) return {
924
918
  block: true,
925
919
  reason: hookResult.reason ?? "Tool call blocked by policy hook."
@@ -8,9 +8,9 @@ import { dirname, join, resolve } from "node:path";
8
8
  import { accessSync, chmodSync, constants, copyFileSync, createReadStream, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
9
9
  import { execFile } from "node:child_process";
10
10
  import { createHash, randomBytes } from "node:crypto";
11
+ import { Readable } from "node:stream";
11
12
  import { promisify } from "node:util";
12
13
  import { pipeline } from "node:stream/promises";
13
- import { Readable } from "node:stream";
14
14
  import lockfile from "proper-lockfile";
15
15
  //#region src/agent/code-intelligence/binary.ts
16
16
  init_paths();
@@ -23,7 +23,5 @@ export type RunEmbeddedForSessionParams = {
23
23
  startupAction?: 'new' | 'reset';
24
24
  forceStartupContext?: boolean;
25
25
  applyStartupContext?: boolean;
26
- /** When true, dispose session MCP runtime after this turn completes. */
27
- cleanupBundleMcpOnRunEnd?: boolean;
28
26
  };
29
27
  export declare function runEmbeddedTurnForSession(params: RunEmbeddedForSessionParams): Promise<RunXopcEmbeddedTurnResult>;
@@ -6,7 +6,6 @@ import { evaluateContextBudget } from "../memory/context-budget.js";
6
6
  import { resolveCompactionPolicy } from "../memory/compaction-policy.js";
7
7
  import { runXopcEmbeddedTurn } from "./run-turn.js";
8
8
  import { applyStartupContextToUserMessage } from "../reply/apply-turn-user-enrichment.js";
9
- import { mergeTurnTools, resolveEmbeddedMcpToolsForTurn } from "../mcp/resolve-embedded-mcp-tools.js";
10
9
  import crypto from "node:crypto";
11
10
  //#region src/agent/embedded/run-for-session.ts
12
11
  init_logger();
@@ -61,133 +60,121 @@ async function runEmbeddedTurnForSession(params) {
61
60
  force: params.forceStartupContext
62
61
  });
63
62
  return await (async () => {
64
- const mcpResolved = await resolveEmbeddedMcpToolsForTurn({
63
+ await maybeAutoCompactBeforeTurn({
65
64
  sessionKey,
66
- workspaceDir,
67
- cfg: config,
68
- baseTools: tools,
69
- cleanupOnTurnEnd: params.cleanupBundleMcpOnRunEnd === true
65
+ sessionStore,
66
+ agentManager,
67
+ model,
68
+ config,
69
+ systemPrompt,
70
+ userMessage: userMessageForTurn,
71
+ tools,
72
+ imageCount: params.llmImages?.length ?? 0,
73
+ fallbackModels: resolvedCandidates.slice(1).map((candidate) => candidate.model),
74
+ abortSignal: params.abortSignal,
75
+ onEvent: params.onEvent
70
76
  });
71
- const turnTools = mergeTurnTools(tools, mcpResolved.tools);
72
- try {
73
- await maybeAutoCompactBeforeTurn({
74
- sessionKey,
75
- sessionStore,
76
- agentManager,
77
- model,
78
- config,
79
- systemPrompt,
80
- userMessage: userMessageForTurn,
81
- tools: turnTools,
82
- imageCount: params.llmImages?.length ?? 0,
83
- fallbackModels: resolvedCandidates.slice(1).map((candidate) => candidate.model),
84
- abortSignal: params.abortSignal,
85
- onEvent: params.onEvent
86
- });
87
- log.info({
77
+ log.info({
78
+ sessionKey,
79
+ runId,
80
+ configuredModelRef,
81
+ primaryModelRef: modelRef,
82
+ candidateModelRefs: resolvedCandidates.map((candidate) => candidate.ref)
83
+ }, "Agent model fallback candidates resolved");
84
+ let lastResult;
85
+ let lastError;
86
+ let resumeLastUserMessage = false;
87
+ const primaryModelRef = modelRef;
88
+ for (let i = 0; i < resolvedCandidates.length; i++) {
89
+ const candidate = resolvedCandidates[i];
90
+ const candidateModelRef = candidate.ref;
91
+ const isFallbackAttempt = i > 0;
92
+ const candidateModel = candidate.model;
93
+ const hasNextCandidate = i + 1 < resolvedCandidates.length;
94
+ const rowsBeforeAttempt = hasNextCandidate ? await sessionStore.loadTranscriptRows(sessionKey) : void 0;
95
+ if (typeof mm.applyResolvedModel === "function") mm.applyResolvedModel(agent, candidateModel, candidateModelRef);
96
+ agentManager.setModelForSession(sessionKey, candidateModelRef);
97
+ if (isFallbackAttempt) log.info({
88
98
  sessionKey,
89
99
  runId,
90
- configuredModelRef,
91
- primaryModelRef: modelRef,
92
- candidateModelRefs: resolvedCandidates.map((candidate) => candidate.ref)
93
- }, "Agent model fallback candidates resolved");
94
- let lastResult;
95
- let lastError;
96
- let resumeLastUserMessage = false;
97
- const primaryModelRef = modelRef;
98
- for (let i = 0; i < resolvedCandidates.length; i++) {
99
- const candidate = resolvedCandidates[i];
100
- const candidateModelRef = candidate.ref;
101
- const isFallbackAttempt = i > 0;
102
- const candidateModel = candidate.model;
103
- const hasNextCandidate = i + 1 < resolvedCandidates.length;
104
- const rowsBeforeAttempt = hasNextCandidate ? await sessionStore.loadTranscriptRows(sessionKey) : void 0;
105
- if (typeof mm.applyResolvedModel === "function") mm.applyResolvedModel(agent, candidateModel, candidateModelRef);
106
- agentManager.setModelForSession(sessionKey, candidateModelRef);
107
- if (isFallbackAttempt) log.info({
100
+ primaryModelRef,
101
+ fallbackModelRef: candidateModelRef,
102
+ attempt: i + 1,
103
+ total: resolvedCandidates.length
104
+ }, "Agent model fallback started");
105
+ try {
106
+ const turnResult = await runXopcEmbeddedTurn({
108
107
  sessionKey,
109
108
  runId,
110
- primaryModelRef,
111
- fallbackModelRef: candidateModelRef,
112
- attempt: i + 1,
113
- total: resolvedCandidates.length
114
- }, "Agent model fallback started");
115
- try {
116
- const turnResult = await runXopcEmbeddedTurn({
109
+ userMessage: userMessageForTurn,
110
+ images: params.llmImages,
111
+ model: candidateModel,
112
+ modelRef: candidateModelRef,
113
+ tools,
114
+ systemPrompt,
115
+ thinkingLevel,
116
+ workspaceDir,
117
+ sessionStore,
118
+ timeoutMs: turnTimeoutMs,
119
+ abortSignal: params.abortSignal,
120
+ onEvent: params.onEvent,
121
+ resumeLastUserMessage
122
+ });
123
+ if (turnResult.ok) {
124
+ if (isFallbackAttempt) log.info({
117
125
  sessionKey,
118
126
  runId,
119
- userMessage: userMessageForTurn,
120
- images: params.llmImages,
121
- model: candidateModel,
122
- modelRef: candidateModelRef,
123
- tools: turnTools,
124
- systemPrompt,
125
- thinkingLevel,
126
- workspaceDir,
127
- sessionStore,
128
- timeoutMs: turnTimeoutMs,
129
- abortSignal: params.abortSignal,
130
- onEvent: params.onEvent,
131
- resumeLastUserMessage
132
- });
133
- if (turnResult.ok) {
134
- if (isFallbackAttempt) log.info({
135
- sessionKey,
136
- runId,
137
- primaryModelRef,
138
- fallbackModelRef: candidateModelRef,
139
- attempt: i + 1,
140
- total: resolvedCandidates.length
141
- }, "Agent model fallback succeeded");
142
- return turnResult;
143
- }
144
- lastResult = turnResult;
145
- log.warn({
146
- sessionKey,
147
- runId,
148
- modelRef: candidateModelRef,
127
+ primaryModelRef,
128
+ fallbackModelRef: candidateModelRef,
149
129
  attempt: i + 1,
150
- total: resolvedCandidates.length,
151
- hasNextCandidate,
152
- errorMessage: turnResult.errorMessage
153
- }, hasNextCandidate ? "Agent model turn failed, trying fallback" : "Agent model turn failed, no fallback remains");
154
- } catch (err) {
155
- lastError = err;
156
- if (err instanceof DOMException && err.name === "AbortError") throw err;
130
+ total: resolvedCandidates.length
131
+ }, "Agent model fallback succeeded");
132
+ return turnResult;
133
+ }
134
+ lastResult = turnResult;
135
+ log.warn({
136
+ sessionKey,
137
+ runId,
138
+ modelRef: candidateModelRef,
139
+ attempt: i + 1,
140
+ total: resolvedCandidates.length,
141
+ hasNextCandidate,
142
+ errorMessage: turnResult.errorMessage
143
+ }, hasNextCandidate ? "Agent model turn failed, trying fallback" : "Agent model turn failed, no fallback remains");
144
+ } catch (err) {
145
+ lastError = err;
146
+ if (err instanceof DOMException && err.name === "AbortError") throw err;
147
+ log.warn({
148
+ err,
149
+ sessionKey,
150
+ runId,
151
+ modelRef: candidateModelRef,
152
+ attempt: i + 1,
153
+ total: resolvedCandidates.length,
154
+ hasNextCandidate
155
+ }, hasNextCandidate ? "Agent model call threw, trying fallback" : "Agent model call threw, no fallback remains");
156
+ }
157
+ if (hasNextCandidate && rowsBeforeAttempt) {
158
+ const preparation = await sessionStore.prepareModelFallback(sessionKey, rowsBeforeAttempt);
159
+ if (preparation === "unsafe") {
157
160
  log.warn({
158
- err,
159
161
  sessionKey,
160
162
  runId,
161
163
  modelRef: candidateModelRef,
162
- attempt: i + 1,
163
- total: resolvedCandidates.length,
164
- hasNextCandidate
165
- }, hasNextCandidate ? "Agent model call threw, trying fallback" : "Agent model call threw, no fallback remains");
166
- }
167
- if (hasNextCandidate && rowsBeforeAttempt) {
168
- const preparation = await sessionStore.prepareModelFallback(sessionKey, rowsBeforeAttempt);
169
- if (preparation === "unsafe") {
170
- log.warn({
171
- sessionKey,
172
- runId,
173
- modelRef: candidateModelRef,
174
- attempt: i + 1
175
- }, "Agent model fallback skipped because the failed attempt changed the transcript");
176
- break;
177
- }
178
- resumeLastUserMessage = preparation === "resume";
164
+ attempt: i + 1
165
+ }, "Agent model fallback skipped because the failed attempt changed the transcript");
166
+ break;
179
167
  }
168
+ resumeLastUserMessage = preparation === "resume";
180
169
  }
181
- if (lastResult) return lastResult;
182
- if (lastError instanceof Error) throw lastError;
183
- if (lastError != null) throw new Error(String(lastError));
184
- return {
185
- ok: false,
186
- errorMessage: "No model candidates available"
187
- };
188
- } finally {
189
- await mcpResolved.dispose().catch(() => {});
190
170
  }
171
+ if (lastResult) return lastResult;
172
+ if (lastError instanceof Error) throw lastError;
173
+ if (lastError != null) throw new Error(String(lastError));
174
+ return {
175
+ ok: false,
176
+ errorMessage: "No model candidates available"
177
+ };
191
178
  })();
192
179
  }
193
180
  function serializedTranscriptBytes(messages) {
@@ -0,0 +1,29 @@
1
+ import type { AgentToolResult } from '@earendil-works/pi-agent-core';
2
+ import type { Config } from '../../config/schema.js';
3
+ import type { ExtensionHookRunner } from '../../extensions/index.js';
4
+ import { ComposioSessionsAdapter } from '../../connectors/composio-sessions.js';
5
+ import type { ExternalToolDescriptor, ExternalToolExecutionContext, ExternalToolProvider, ExternalToolSearchHit } from './types.js';
6
+ type CurrentContext = {
7
+ channel: string;
8
+ chatId: string;
9
+ sessionKey: string;
10
+ } | null;
11
+ export interface ComposioToolProviderDeps {
12
+ getConfig: () => Config | undefined;
13
+ getCurrentContext: () => CurrentContext;
14
+ agentId?: string;
15
+ adapter?: ComposioSessionsAdapter;
16
+ hookRunner?: ExtensionHookRunner;
17
+ }
18
+ export declare class ComposioToolProvider implements ExternalToolProvider {
19
+ private readonly deps;
20
+ readonly source: "composio";
21
+ private readonly adapter;
22
+ constructor(deps: ComposioToolProviderDeps);
23
+ search(query: string): Promise<ExternalToolSearchHit[]>;
24
+ describe(toolRef: string): Promise<ExternalToolDescriptor | undefined>;
25
+ execute(toolRef: string, args: Record<string, unknown>, approvalId: string | undefined, _context: ExternalToolExecutionContext): Promise<AgentToolResult<Record<string, unknown>>>;
26
+ private availableInstallations;
27
+ private resolve;
28
+ }
29
+ export {};