denchclaw 2.4.6 → 2.5.1

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 (628) hide show
  1. package/README.md +31 -0
  2. package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  3. package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +331 -202
  4. package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +42 -24
  5. package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +5 -5
  6. package/apps/web/.next/standalone/apps/web/.next/cache/config.json +3 -3
  7. package/apps/web/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  8. package/apps/web/.next/standalone/apps/web/.next/react-loadable-manifest.json +6 -6
  9. package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
  10. package/apps/web/.next/standalone/apps/web/.next/routes-manifest.json +25 -1
  11. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/cron/route_client-reference-manifest.js +1 -1
  13. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/proxy/route_client-reference-manifest.js +1 -1
  14. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
  15. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
  16. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/store/route_client-reference-manifest.js +1 -1
  17. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/webhooks/[...path]/route_client-reference-manifest.js +1 -1
  18. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
  19. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +2 -2
  20. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  21. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route.js +1 -1
  22. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
  23. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
  24. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
  25. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
  26. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route.js +1 -1
  27. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
  28. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route.js +42 -0
  29. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route.js.nft.json +1 -0
  30. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route_client-reference-manifest.js +1 -0
  31. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connect/route.js +1 -0
  32. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connect/route.js.nft.json +1 -0
  33. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connect/route_client-reference-manifest.js +1 -0
  34. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route.js +1 -0
  35. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route.js.nft.json +1 -0
  36. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route_client-reference-manifest.js +1 -0
  37. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route.js +1 -0
  38. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route.js.nft.json +1 -0
  39. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route_client-reference-manifest.js +1 -0
  40. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route.js +1 -0
  41. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route.js.nft.json +1 -0
  42. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route_client-reference-manifest.js +1 -0
  43. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/tool-index/route.js +1 -0
  44. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/tool-index/route.js.nft.json +1 -0
  45. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/tool-index/route_client-reference-manifest.js +1 -0
  46. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/toolkits/route.js +1 -0
  47. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/toolkits/route.js.nft.json +1 -0
  48. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/toolkits/route_client-reference-manifest.js +1 -0
  49. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
  50. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
  51. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
  52. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
  53. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
  54. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
  55. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/channels/route_client-reference-manifest.js +1 -1
  56. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/route_client-reference-manifest.js +1 -1
  57. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/stream/route_client-reference-manifest.js +1 -1
  58. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/[id]/route_client-reference-manifest.js +1 -1
  59. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
  60. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route.js +1 -0
  61. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route.js.nft.json +1 -0
  62. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route_client-reference-manifest.js +1 -0
  63. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route.js +1 -0
  64. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route.js.nft.json +1 -0
  65. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route_client-reference-manifest.js +1 -0
  66. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route.js +1 -0
  67. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route.js.nft.json +1 -0
  68. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route_client-reference-manifest.js +1 -0
  69. package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
  70. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
  71. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
  72. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
  73. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route.js +1 -1
  74. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  75. package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route.js +1 -0
  76. package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route.js.nft.json +1 -0
  77. package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route_client-reference-manifest.js +1 -0
  78. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/content/route.js +1 -0
  79. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/content/route.js.nft.json +1 -0
  80. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/content/route_client-reference-manifest.js +1 -0
  81. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route.js +1 -0
  82. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route.js.nft.json +1 -0
  83. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route_client-reference-manifest.js +1 -0
  84. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/browse/route.js +1 -0
  85. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/browse/route.js.nft.json +1 -0
  86. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/browse/route_client-reference-manifest.js +1 -0
  87. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/install/route.js +1 -0
  88. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/install/route.js.nft.json +1 -0
  89. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
  90. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route.js +2 -1
  91. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  92. package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
  93. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route.js +1 -0
  94. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route.js.nft.json +1 -0
  95. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route_client-reference-manifest.js +1 -0
  96. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route.js +1 -0
  97. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route.js.nft.json +1 -0
  98. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route_client-reference-manifest.js +1 -0
  99. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route.js +1 -0
  100. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route.js.nft.json +1 -0
  101. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route_client-reference-manifest.js +1 -0
  102. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
  103. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route.js +1 -1
  104. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
  105. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
  106. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
  107. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
  108. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
  109. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
  110. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
  111. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
  112. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
  113. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
  114. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
  115. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
  116. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/execute/route_client-reference-manifest.js +1 -1
  117. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
  118. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +2 -2
  119. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
  120. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/link-preview/route_client-reference-manifest.js +1 -1
  121. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
  122. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
  123. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
  124. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/route_client-reference-manifest.js +1 -1
  125. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/runs/route_client-reference-manifest.js +1 -1
  126. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
  127. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/content/route_client-reference-manifest.js +1 -1
  128. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
  129. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
  130. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
  131. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
  132. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
  133. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route_client-reference-manifest.js +1 -1
  134. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
  135. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
  136. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/route_client-reference-manifest.js +1 -1
  137. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
  138. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
  139. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
  140. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
  141. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
  142. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
  143. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
  144. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
  145. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
  146. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
  147. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
  148. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
  149. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
  150. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
  151. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route.js +1 -1
  152. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
  153. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
  154. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
  155. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
  156. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
  157. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
  158. package/apps/web/.next/standalone/apps/web/.next/server/app/page.js +21 -21
  159. package/apps/web/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -1
  160. package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  161. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  162. package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +42 -24
  163. package/apps/web/.next/standalone/apps/web/.next/server/chunks/6426.js +2 -2
  164. package/apps/web/.next/standalone/apps/web/.next/server/chunks/6787.js +1 -1
  165. package/apps/web/.next/standalone/apps/web/.next/server/chunks/687.js +7 -7
  166. package/apps/web/.next/standalone/apps/web/.next/server/chunks/737.js +3 -3
  167. package/apps/web/.next/standalone/apps/web/.next/server/chunks/7488.js +1 -0
  168. package/apps/web/.next/standalone/apps/web/.next/server/chunks/8306.js +1 -0
  169. package/apps/web/.next/standalone/apps/web/.next/server/chunks/8650.js +1 -0
  170. package/apps/web/.next/standalone/apps/web/.next/server/chunks/8693.js +481 -0
  171. package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +19 -5
  172. package/apps/web/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -1
  173. package/apps/web/.next/standalone/apps/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  174. package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  175. package/apps/web/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  176. package/apps/web/.next/{static/chunks/eca025f9.538b3f5d85eeef79.js → standalone/apps/web/.next/static/chunks/0c958985.3ccb9c3aea7cd083.js} +2 -2
  177. package/apps/web/.next/standalone/apps/web/.next/static/chunks/3999.548dd8ec57152081.js +1 -0
  178. package/apps/web/.next/standalone/apps/web/.next/static/chunks/{2489.b5e1ce196331926c.js → 4870.507a55774d37d072.js} +1 -1
  179. package/apps/web/.next/standalone/apps/web/.next/static/chunks/{7812.c1435a724050dfec.js → 5431.a2353a2aa8c55a67.js} +1 -1
  180. package/apps/web/.next/standalone/apps/web/.next/static/chunks/7f67b0df-54679694c67e2b76.js +1 -0
  181. package/apps/web/.next/standalone/apps/web/.next/static/chunks/80f1cbb7-c9635d81d9fe6819.js +1 -0
  182. package/apps/web/.next/standalone/apps/web/.next/static/chunks/8532165e-abce74bbb270ef26.js +1 -0
  183. package/apps/web/.next/standalone/apps/web/.next/static/chunks/9372.e71f5b96da3f9dfd.js +1 -0
  184. package/apps/web/.next/standalone/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +135 -0
  185. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/cron/route-982235d988e17f31.js +1 -0
  186. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/proxy/route-982235d988e17f31.js +1 -0
  187. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/route-982235d988e17f31.js +1 -0
  188. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-982235d988e17f31.js +1 -0
  189. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/store/route-982235d988e17f31.js +1 -0
  190. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-982235d988e17f31.js +1 -0
  191. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/active/route-982235d988e17f31.js +1 -0
  192. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-982235d988e17f31.js +1 -0
  193. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/runs/route-982235d988e17f31.js +1 -0
  194. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stop/route-982235d988e17f31.js +1 -0
  195. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stream/route-982235d988e17f31.js +1 -0
  196. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/subagents/route-982235d988e17f31.js +1 -0
  197. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/callback/route-982235d988e17f31.js +1 -0
  198. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connect/route-982235d988e17f31.js +1 -0
  199. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connections/route-982235d988e17f31.js +1 -0
  200. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/disconnect/route-982235d988e17f31.js +1 -0
  201. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/status/route-982235d988e17f31.js +1 -0
  202. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/tool-index/route-982235d988e17f31.js +1 -0
  203. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/toolkits/route-982235d988e17f31.js +1 -0
  204. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-982235d988e17f31.js +1 -0
  205. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/route-982235d988e17f31.js +1 -0
  206. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-982235d988e17f31.js +1 -0
  207. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-982235d988e17f31.js +1 -0
  208. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/feedback/route-982235d988e17f31.js +1 -0
  209. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/channels/route-982235d988e17f31.js +1 -0
  210. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/route-982235d988e17f31.js +1 -0
  211. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-982235d988e17f31.js +1 -0
  212. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-982235d988e17f31.js +1 -0
  213. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/route-982235d988e17f31.js +1 -0
  214. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-982235d988e17f31.js +1 -0
  215. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/repair/route-982235d988e17f31.js +1 -0
  216. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/route-982235d988e17f31.js +1 -0
  217. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/memories/route-982235d988e17f31.js +1 -0
  218. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/route-982235d988e17f31.js +1 -0
  219. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/switch/route-982235d988e17f31.js +1 -0
  220. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-982235d988e17f31.js +1 -0
  221. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/route-982235d988e17f31.js +1 -0
  222. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/settings/cloud/route-982235d988e17f31.js +1 -0
  223. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-982235d988e17f31.js +1 -0
  224. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/route-982235d988e17f31.js +1 -0
  225. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/browse/route-982235d988e17f31.js +1 -0
  226. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/install/route-982235d988e17f31.js +1 -0
  227. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/route-982235d988e17f31.js +1 -0
  228. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/terminal/port/route-982235d988e17f31.js +1 -0
  229. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/speech/route-982235d988e17f31.js +1 -0
  230. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/transcribe/route-982235d988e17f31.js +1 -0
  231. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/voices/route-982235d988e17f31.js +1 -0
  232. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-982235d988e17f31.js +1 -0
  233. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-982235d988e17f31.js +1 -0
  234. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/route-982235d988e17f31.js +1 -0
  235. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-982235d988e17f31.js +1 -0
  236. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse/route-982235d988e17f31.js +1 -0
  237. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-982235d988e17f31.js +1 -0
  238. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/context/route-982235d988e17f31.js +1 -0
  239. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/copy/route-982235d988e17f31.js +1 -0
  240. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-982235d988e17f31.js +1 -0
  241. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/query/route-982235d988e17f31.js +1 -0
  242. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/delete/route-982235d988e17f31.js +1 -0
  243. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/execute/route-982235d988e17f31.js +1 -0
  244. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/file/route-982235d988e17f31.js +1 -0
  245. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/init/route-982235d988e17f31.js +1 -0
  246. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-982235d988e17f31.js +1 -0
  247. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/list/route-982235d988e17f31.js +1 -0
  248. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-982235d988e17f31.js +1 -0
  249. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/move/route-982235d988e17f31.js +1 -0
  250. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-982235d988e17f31.js +1 -0
  251. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-982235d988e17f31.js +1 -0
  252. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-982235d988e17f31.js +1 -0
  253. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-982235d988e17f31.js +1 -0
  254. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-982235d988e17f31.js +1 -0
  255. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-982235d988e17f31.js +1 -0
  256. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-982235d988e17f31.js +1 -0
  257. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-982235d988e17f31.js +1 -0
  258. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-982235d988e17f31.js +1 -0
  259. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-982235d988e17f31.js +1 -0
  260. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-982235d988e17f31.js +1 -0
  261. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-982235d988e17f31.js +1 -0
  262. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-982235d988e17f31.js +1 -0
  263. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-982235d988e17f31.js +1 -0
  264. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/open-file/route-982235d988e17f31.js +1 -0
  265. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/path-info/route-982235d988e17f31.js +1 -0
  266. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/query/route-982235d988e17f31.js +1 -0
  267. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-982235d988e17f31.js +1 -0
  268. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/rename/route-982235d988e17f31.js +1 -0
  269. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-982235d988e17f31.js +1 -0
  270. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/search-index/route-982235d988e17f31.js +1 -0
  271. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-982235d988e17f31.js +1 -0
  272. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/switch/route-982235d988e17f31.js +1 -0
  273. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-982235d988e17f31.js +1 -0
  274. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/tree/route-982235d988e17f31.js +1 -0
  275. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/upload/route-982235d988e17f31.js +1 -0
  276. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-982235d988e17f31.js +1 -0
  277. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/watch/route-982235d988e17f31.js +1 -0
  278. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-982235d988e17f31.js +1 -0
  279. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-3b33b798ff1504e9.js → layout-33207ce031676561.js} +1 -1
  280. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-27c6d6093051ac5c.js +1 -0
  281. package/apps/web/.next/standalone/apps/web/.next/static/chunks/webpack-d4501ef5cbbcf069.js +1 -0
  282. package/apps/web/.next/standalone/apps/web/.next/static/css/4f71a2dee93c9f97.css +1 -0
  283. package/apps/web/.next/standalone/apps/web/.next/static/jcrHaOr6nJr3WKHp3ijBE/_buildManifest.js +1 -0
  284. package/apps/web/.next/standalone/apps/web/app/api/skills/route.test.ts +672 -0
  285. package/apps/web/.next/standalone/apps/web/package.json +2 -0
  286. package/apps/web/.next/standalone/apps/web/public/integrations/exa-logomark.svg +4 -0
  287. package/apps/web/.next/standalone/apps/web/public/logo/composio.webp +0 -0
  288. package/apps/web/.next/standalone/apps/web/public/models/deepseek.ico +0 -0
  289. package/apps/web/.next/standalone/apps/web/public/models/kimi.png +0 -0
  290. package/apps/web/.next/standalone/apps/web/public/models/kimi.svg +89 -0
  291. package/apps/web/.next/standalone/apps/web/public/models/minimax.png +0 -0
  292. package/apps/web/.next/standalone/apps/web/server.js +1 -1
  293. package/apps/web/.next/standalone/extensions/apollo-enrichment/index.ts +268 -0
  294. package/apps/web/.next/standalone/extensions/apollo-enrichment/openclaw.plugin.json +16 -0
  295. package/apps/web/.next/standalone/extensions/apollo-enrichment/package.json +8 -0
  296. package/apps/web/.next/standalone/extensions/dench-ai-gateway/composio-bridge.ts +474 -0
  297. package/apps/web/.next/standalone/extensions/dench-ai-gateway/config-patch.ts +83 -0
  298. package/apps/web/.next/standalone/extensions/dench-ai-gateway/index.test.ts +281 -0
  299. package/apps/web/.next/standalone/extensions/dench-ai-gateway/index.ts +325 -0
  300. package/apps/web/.next/standalone/extensions/dench-ai-gateway/models.ts +325 -0
  301. package/apps/web/.next/standalone/extensions/dench-ai-gateway/openclaw.plugin.json +27 -0
  302. package/apps/web/.next/standalone/extensions/dench-ai-gateway/package.json +8 -0
  303. package/apps/web/.next/standalone/extensions/dench-identity/composio-cheat-sheet.test.ts +146 -0
  304. package/apps/web/.next/standalone/extensions/dench-identity/composio-cheat-sheet.ts +197 -0
  305. package/apps/web/.next/standalone/extensions/dench-identity/index.test.ts +361 -0
  306. package/apps/web/.next/standalone/extensions/dench-identity/index.ts +920 -0
  307. package/apps/web/.next/standalone/extensions/dench-identity/openclaw.plugin.json +17 -0
  308. package/apps/web/.next/standalone/extensions/dench-identity/package.json +8 -0
  309. package/apps/web/.next/standalone/extensions/exa-search/index.ts +363 -0
  310. package/apps/web/.next/standalone/extensions/exa-search/openclaw.plugin.json +16 -0
  311. package/apps/web/.next/standalone/extensions/exa-search/package.json +8 -0
  312. package/apps/web/.next/standalone/extensions/posthog-analytics/index.ts +190 -0
  313. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.js +3 -0
  314. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.ts +3 -0
  315. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/event-mappers.ts +403 -0
  316. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/posthog-client.ts +105 -0
  317. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/privacy.ts +294 -0
  318. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/trace-context.ts +103 -0
  319. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/types.ts +28 -0
  320. package/apps/web/.next/standalone/extensions/posthog-analytics/openclaw.plugin.json +22 -0
  321. package/apps/web/.next/standalone/extensions/posthog-analytics/package.json +8 -0
  322. package/apps/web/.next/standalone/extensions/vitest.config.ts +13 -0
  323. package/apps/web/.next/standalone/package.json +2 -2
  324. package/apps/web/.next/{standalone/apps/web/.next/static/chunks/eca025f9.538b3f5d85eeef79.js → static/chunks/0c958985.3ccb9c3aea7cd083.js} +2 -2
  325. package/apps/web/.next/static/chunks/3999.548dd8ec57152081.js +1 -0
  326. package/apps/web/.next/static/chunks/{2489.b5e1ce196331926c.js → 4870.507a55774d37d072.js} +1 -1
  327. package/apps/web/.next/static/chunks/{7812.c1435a724050dfec.js → 5431.a2353a2aa8c55a67.js} +1 -1
  328. package/apps/web/.next/static/chunks/7f67b0df-54679694c67e2b76.js +1 -0
  329. package/apps/web/.next/static/chunks/80f1cbb7-c9635d81d9fe6819.js +1 -0
  330. package/apps/web/.next/static/chunks/8532165e-abce74bbb270ef26.js +1 -0
  331. package/apps/web/.next/static/chunks/9372.e71f5b96da3f9dfd.js +1 -0
  332. package/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +135 -0
  333. package/apps/web/.next/static/chunks/app/api/apps/cron/route-982235d988e17f31.js +1 -0
  334. package/apps/web/.next/static/chunks/app/api/apps/proxy/route-982235d988e17f31.js +1 -0
  335. package/apps/web/.next/static/chunks/app/api/apps/route-982235d988e17f31.js +1 -0
  336. package/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-982235d988e17f31.js +1 -0
  337. package/apps/web/.next/static/chunks/app/api/apps/store/route-982235d988e17f31.js +1 -0
  338. package/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-982235d988e17f31.js +1 -0
  339. package/apps/web/.next/static/chunks/app/api/chat/active/route-982235d988e17f31.js +1 -0
  340. package/apps/web/.next/static/chunks/app/api/chat/route-982235d988e17f31.js +1 -0
  341. package/apps/web/.next/static/chunks/app/api/chat/runs/route-982235d988e17f31.js +1 -0
  342. package/apps/web/.next/static/chunks/app/api/chat/stop/route-982235d988e17f31.js +1 -0
  343. package/apps/web/.next/static/chunks/app/api/chat/stream/route-982235d988e17f31.js +1 -0
  344. package/apps/web/.next/static/chunks/app/api/chat/subagents/route-982235d988e17f31.js +1 -0
  345. package/apps/web/.next/static/chunks/app/api/composio/callback/route-982235d988e17f31.js +1 -0
  346. package/apps/web/.next/static/chunks/app/api/composio/connect/route-982235d988e17f31.js +1 -0
  347. package/apps/web/.next/static/chunks/app/api/composio/connections/route-982235d988e17f31.js +1 -0
  348. package/apps/web/.next/static/chunks/app/api/composio/disconnect/route-982235d988e17f31.js +1 -0
  349. package/apps/web/.next/static/chunks/app/api/composio/status/route-982235d988e17f31.js +1 -0
  350. package/apps/web/.next/static/chunks/app/api/composio/tool-index/route-982235d988e17f31.js +1 -0
  351. package/apps/web/.next/static/chunks/app/api/composio/toolkits/route-982235d988e17f31.js +1 -0
  352. package/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-982235d988e17f31.js +1 -0
  353. package/apps/web/.next/static/chunks/app/api/cron/jobs/route-982235d988e17f31.js +1 -0
  354. package/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-982235d988e17f31.js +1 -0
  355. package/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-982235d988e17f31.js +1 -0
  356. package/apps/web/.next/static/chunks/app/api/feedback/route-982235d988e17f31.js +1 -0
  357. package/apps/web/.next/static/chunks/app/api/gateway/channels/route-982235d988e17f31.js +1 -0
  358. package/apps/web/.next/static/chunks/app/api/gateway/chat/route-982235d988e17f31.js +1 -0
  359. package/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-982235d988e17f31.js +1 -0
  360. package/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-982235d988e17f31.js +1 -0
  361. package/apps/web/.next/static/chunks/app/api/gateway/sessions/route-982235d988e17f31.js +1 -0
  362. package/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-982235d988e17f31.js +1 -0
  363. package/apps/web/.next/static/chunks/app/api/integrations/repair/route-982235d988e17f31.js +1 -0
  364. package/apps/web/.next/static/chunks/app/api/integrations/route-982235d988e17f31.js +1 -0
  365. package/apps/web/.next/static/chunks/app/api/memories/route-982235d988e17f31.js +1 -0
  366. package/apps/web/.next/static/chunks/app/api/profiles/route-982235d988e17f31.js +1 -0
  367. package/apps/web/.next/static/chunks/app/api/profiles/switch/route-982235d988e17f31.js +1 -0
  368. package/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-982235d988e17f31.js +1 -0
  369. package/apps/web/.next/static/chunks/app/api/sessions/route-982235d988e17f31.js +1 -0
  370. package/apps/web/.next/static/chunks/app/api/settings/cloud/route-982235d988e17f31.js +1 -0
  371. package/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-982235d988e17f31.js +1 -0
  372. package/apps/web/.next/static/chunks/app/api/skills/[slug]/route-982235d988e17f31.js +1 -0
  373. package/apps/web/.next/static/chunks/app/api/skills/browse/route-982235d988e17f31.js +1 -0
  374. package/apps/web/.next/static/chunks/app/api/skills/install/route-982235d988e17f31.js +1 -0
  375. package/apps/web/.next/static/chunks/app/api/skills/route-982235d988e17f31.js +1 -0
  376. package/apps/web/.next/static/chunks/app/api/terminal/port/route-982235d988e17f31.js +1 -0
  377. package/apps/web/.next/static/chunks/app/api/voice/speech/route-982235d988e17f31.js +1 -0
  378. package/apps/web/.next/static/chunks/app/api/voice/transcribe/route-982235d988e17f31.js +1 -0
  379. package/apps/web/.next/static/chunks/app/api/voice/voices/route-982235d988e17f31.js +1 -0
  380. package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-982235d988e17f31.js +1 -0
  381. package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-982235d988e17f31.js +1 -0
  382. package/apps/web/.next/static/chunks/app/api/web-sessions/route-982235d988e17f31.js +1 -0
  383. package/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-982235d988e17f31.js +1 -0
  384. package/apps/web/.next/static/chunks/app/api/workspace/browse/route-982235d988e17f31.js +1 -0
  385. package/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-982235d988e17f31.js +1 -0
  386. package/apps/web/.next/static/chunks/app/api/workspace/context/route-982235d988e17f31.js +1 -0
  387. package/apps/web/.next/static/chunks/app/api/workspace/copy/route-982235d988e17f31.js +1 -0
  388. package/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-982235d988e17f31.js +1 -0
  389. package/apps/web/.next/static/chunks/app/api/workspace/db/query/route-982235d988e17f31.js +1 -0
  390. package/apps/web/.next/static/chunks/app/api/workspace/delete/route-982235d988e17f31.js +1 -0
  391. package/apps/web/.next/static/chunks/app/api/workspace/execute/route-982235d988e17f31.js +1 -0
  392. package/apps/web/.next/static/chunks/app/api/workspace/file/route-982235d988e17f31.js +1 -0
  393. package/apps/web/.next/static/chunks/app/api/workspace/init/route-982235d988e17f31.js +1 -0
  394. package/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-982235d988e17f31.js +1 -0
  395. package/apps/web/.next/static/chunks/app/api/workspace/list/route-982235d988e17f31.js +1 -0
  396. package/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-982235d988e17f31.js +1 -0
  397. package/apps/web/.next/static/chunks/app/api/workspace/move/route-982235d988e17f31.js +1 -0
  398. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-982235d988e17f31.js +1 -0
  399. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-982235d988e17f31.js +1 -0
  400. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-982235d988e17f31.js +1 -0
  401. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-982235d988e17f31.js +1 -0
  402. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-982235d988e17f31.js +1 -0
  403. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-982235d988e17f31.js +1 -0
  404. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-982235d988e17f31.js +1 -0
  405. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-982235d988e17f31.js +1 -0
  406. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-982235d988e17f31.js +1 -0
  407. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-982235d988e17f31.js +1 -0
  408. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-982235d988e17f31.js +1 -0
  409. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-982235d988e17f31.js +1 -0
  410. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-982235d988e17f31.js +1 -0
  411. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-982235d988e17f31.js +1 -0
  412. package/apps/web/.next/static/chunks/app/api/workspace/open-file/route-982235d988e17f31.js +1 -0
  413. package/apps/web/.next/static/chunks/app/api/workspace/path-info/route-982235d988e17f31.js +1 -0
  414. package/apps/web/.next/static/chunks/app/api/workspace/query/route-982235d988e17f31.js +1 -0
  415. package/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-982235d988e17f31.js +1 -0
  416. package/apps/web/.next/static/chunks/app/api/workspace/rename/route-982235d988e17f31.js +1 -0
  417. package/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-982235d988e17f31.js +1 -0
  418. package/apps/web/.next/static/chunks/app/api/workspace/search-index/route-982235d988e17f31.js +1 -0
  419. package/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-982235d988e17f31.js +1 -0
  420. package/apps/web/.next/static/chunks/app/api/workspace/switch/route-982235d988e17f31.js +1 -0
  421. package/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-982235d988e17f31.js +1 -0
  422. package/apps/web/.next/static/chunks/app/api/workspace/tree/route-982235d988e17f31.js +1 -0
  423. package/apps/web/.next/static/chunks/app/api/workspace/upload/route-982235d988e17f31.js +1 -0
  424. package/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-982235d988e17f31.js +1 -0
  425. package/apps/web/.next/static/chunks/app/api/workspace/watch/route-982235d988e17f31.js +1 -0
  426. package/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-982235d988e17f31.js +1 -0
  427. package/apps/web/.next/static/chunks/app/{layout-3b33b798ff1504e9.js → layout-33207ce031676561.js} +1 -1
  428. package/apps/web/.next/static/chunks/app/page-27c6d6093051ac5c.js +1 -0
  429. package/apps/web/.next/static/chunks/webpack-d4501ef5cbbcf069.js +1 -0
  430. package/apps/web/.next/static/css/4f71a2dee93c9f97.css +1 -0
  431. package/apps/web/.next/static/jcrHaOr6nJr3WKHp3ijBE/_buildManifest.js +1 -0
  432. package/apps/web/public/integrations/exa-logomark.svg +4 -0
  433. package/apps/web/public/logo/composio.webp +0 -0
  434. package/apps/web/public/models/deepseek.ico +0 -0
  435. package/apps/web/public/models/kimi.png +0 -0
  436. package/apps/web/public/models/kimi.svg +89 -0
  437. package/apps/web/public/models/minimax.png +0 -0
  438. package/dist/entry.js +1 -1
  439. package/dist/{program-BDz7WHcZ.js → program-BYB4nfWK.js} +235 -12
  440. package/dist/{run-main-Ddx9Tsa1.js → run-main-Z-P_Zlf6.js} +1 -1
  441. package/extensions/apollo-enrichment/index.ts +268 -0
  442. package/extensions/apollo-enrichment/openclaw.plugin.json +16 -0
  443. package/extensions/apollo-enrichment/package.json +8 -0
  444. package/extensions/dench-ai-gateway/composio-bridge.ts +474 -0
  445. package/extensions/dench-ai-gateway/config-patch.ts +83 -0
  446. package/extensions/dench-ai-gateway/index.test.ts +281 -0
  447. package/extensions/dench-ai-gateway/index.ts +9 -36
  448. package/extensions/dench-ai-gateway/models.ts +5 -5
  449. package/extensions/dench-identity/composio-cheat-sheet.test.ts +146 -0
  450. package/extensions/dench-identity/composio-cheat-sheet.ts +197 -0
  451. package/extensions/dench-identity/index.test.ts +226 -1
  452. package/extensions/dench-identity/index.ts +795 -5
  453. package/extensions/exa-search/index.ts +363 -0
  454. package/extensions/exa-search/openclaw.plugin.json +16 -0
  455. package/extensions/exa-search/package.json +8 -0
  456. package/extensions/posthog-analytics/lib/build-env.js +1 -1
  457. package/package.json +2 -2
  458. package/skills/composio-apps/SKILL.md +88 -0
  459. package/apps/web/.next/standalone/apps/web/.next/server/chunks/4334.js +0 -481
  460. package/apps/web/.next/standalone/apps/web/.next/static/bHQQHboaVXn6uVyBK8na1/_buildManifest.js +0 -1
  461. package/apps/web/.next/standalone/apps/web/.next/static/chunks/2457.b2932424bcf38aee.js +0 -1
  462. package/apps/web/.next/standalone/apps/web/.next/static/chunks/2716-475d96c202834586.js +0 -135
  463. package/apps/web/.next/standalone/apps/web/.next/static/chunks/4062.6ff486abe87e56aa.js +0 -1
  464. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/cron/route-d14ffafd970f186e.js +0 -1
  465. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/proxy/route-d14ffafd970f186e.js +0 -1
  466. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/route-d14ffafd970f186e.js +0 -1
  467. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-d14ffafd970f186e.js +0 -1
  468. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/store/route-d14ffafd970f186e.js +0 -1
  469. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-d14ffafd970f186e.js +0 -1
  470. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/active/route-d14ffafd970f186e.js +0 -1
  471. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-d14ffafd970f186e.js +0 -1
  472. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/runs/route-d14ffafd970f186e.js +0 -1
  473. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stop/route-d14ffafd970f186e.js +0 -1
  474. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stream/route-d14ffafd970f186e.js +0 -1
  475. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/subagents/route-d14ffafd970f186e.js +0 -1
  476. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-d14ffafd970f186e.js +0 -1
  477. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/route-d14ffafd970f186e.js +0 -1
  478. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-d14ffafd970f186e.js +0 -1
  479. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-d14ffafd970f186e.js +0 -1
  480. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/feedback/route-d14ffafd970f186e.js +0 -1
  481. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/channels/route-d14ffafd970f186e.js +0 -1
  482. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/route-d14ffafd970f186e.js +0 -1
  483. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-d14ffafd970f186e.js +0 -1
  484. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-d14ffafd970f186e.js +0 -1
  485. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/route-d14ffafd970f186e.js +0 -1
  486. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/memories/route-d14ffafd970f186e.js +0 -1
  487. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/route-d14ffafd970f186e.js +0 -1
  488. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/switch/route-d14ffafd970f186e.js +0 -1
  489. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-d14ffafd970f186e.js +0 -1
  490. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/route-d14ffafd970f186e.js +0 -1
  491. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/route-d14ffafd970f186e.js +0 -1
  492. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/terminal/port/route-d14ffafd970f186e.js +0 -1
  493. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-d14ffafd970f186e.js +0 -1
  494. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-d14ffafd970f186e.js +0 -1
  495. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/route-d14ffafd970f186e.js +0 -1
  496. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-d14ffafd970f186e.js +0 -1
  497. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse/route-d14ffafd970f186e.js +0 -1
  498. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-d14ffafd970f186e.js +0 -1
  499. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/context/route-d14ffafd970f186e.js +0 -1
  500. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/copy/route-d14ffafd970f186e.js +0 -1
  501. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-d14ffafd970f186e.js +0 -1
  502. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/query/route-d14ffafd970f186e.js +0 -1
  503. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/delete/route-d14ffafd970f186e.js +0 -1
  504. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/execute/route-d14ffafd970f186e.js +0 -1
  505. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/file/route-d14ffafd970f186e.js +0 -1
  506. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/init/route-d14ffafd970f186e.js +0 -1
  507. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-d14ffafd970f186e.js +0 -1
  508. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/list/route-d14ffafd970f186e.js +0 -1
  509. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-d14ffafd970f186e.js +0 -1
  510. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/move/route-d14ffafd970f186e.js +0 -1
  511. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-d14ffafd970f186e.js +0 -1
  512. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-d14ffafd970f186e.js +0 -1
  513. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-d14ffafd970f186e.js +0 -1
  514. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-d14ffafd970f186e.js +0 -1
  515. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-d14ffafd970f186e.js +0 -1
  516. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-d14ffafd970f186e.js +0 -1
  517. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-d14ffafd970f186e.js +0 -1
  518. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-d14ffafd970f186e.js +0 -1
  519. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-d14ffafd970f186e.js +0 -1
  520. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-d14ffafd970f186e.js +0 -1
  521. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-d14ffafd970f186e.js +0 -1
  522. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-d14ffafd970f186e.js +0 -1
  523. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-d14ffafd970f186e.js +0 -1
  524. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-d14ffafd970f186e.js +0 -1
  525. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/open-file/route-d14ffafd970f186e.js +0 -1
  526. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/path-info/route-d14ffafd970f186e.js +0 -1
  527. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/query/route-d14ffafd970f186e.js +0 -1
  528. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-d14ffafd970f186e.js +0 -1
  529. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/rename/route-d14ffafd970f186e.js +0 -1
  530. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-d14ffafd970f186e.js +0 -1
  531. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/search-index/route-d14ffafd970f186e.js +0 -1
  532. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-d14ffafd970f186e.js +0 -1
  533. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/switch/route-d14ffafd970f186e.js +0 -1
  534. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-d14ffafd970f186e.js +0 -1
  535. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/tree/route-d14ffafd970f186e.js +0 -1
  536. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/upload/route-d14ffafd970f186e.js +0 -1
  537. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-d14ffafd970f186e.js +0 -1
  538. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/watch/route-d14ffafd970f186e.js +0 -1
  539. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-d14ffafd970f186e.js +0 -1
  540. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-c8e88d7669047677.js +0 -1
  541. package/apps/web/.next/standalone/apps/web/.next/static/chunks/webpack-a769c08a3fea86bb.js +0 -1
  542. package/apps/web/.next/standalone/apps/web/.next/static/css/99b07ab2db5fe339.css +0 -1
  543. package/apps/web/.next/static/bHQQHboaVXn6uVyBK8na1/_buildManifest.js +0 -1
  544. package/apps/web/.next/static/chunks/2457.b2932424bcf38aee.js +0 -1
  545. package/apps/web/.next/static/chunks/2716-475d96c202834586.js +0 -135
  546. package/apps/web/.next/static/chunks/4062.6ff486abe87e56aa.js +0 -1
  547. package/apps/web/.next/static/chunks/app/api/apps/cron/route-d14ffafd970f186e.js +0 -1
  548. package/apps/web/.next/static/chunks/app/api/apps/proxy/route-d14ffafd970f186e.js +0 -1
  549. package/apps/web/.next/static/chunks/app/api/apps/route-d14ffafd970f186e.js +0 -1
  550. package/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-d14ffafd970f186e.js +0 -1
  551. package/apps/web/.next/static/chunks/app/api/apps/store/route-d14ffafd970f186e.js +0 -1
  552. package/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-d14ffafd970f186e.js +0 -1
  553. package/apps/web/.next/static/chunks/app/api/chat/active/route-d14ffafd970f186e.js +0 -1
  554. package/apps/web/.next/static/chunks/app/api/chat/route-d14ffafd970f186e.js +0 -1
  555. package/apps/web/.next/static/chunks/app/api/chat/runs/route-d14ffafd970f186e.js +0 -1
  556. package/apps/web/.next/static/chunks/app/api/chat/stop/route-d14ffafd970f186e.js +0 -1
  557. package/apps/web/.next/static/chunks/app/api/chat/stream/route-d14ffafd970f186e.js +0 -1
  558. package/apps/web/.next/static/chunks/app/api/chat/subagents/route-d14ffafd970f186e.js +0 -1
  559. package/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-d14ffafd970f186e.js +0 -1
  560. package/apps/web/.next/static/chunks/app/api/cron/jobs/route-d14ffafd970f186e.js +0 -1
  561. package/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-d14ffafd970f186e.js +0 -1
  562. package/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-d14ffafd970f186e.js +0 -1
  563. package/apps/web/.next/static/chunks/app/api/feedback/route-d14ffafd970f186e.js +0 -1
  564. package/apps/web/.next/static/chunks/app/api/gateway/channels/route-d14ffafd970f186e.js +0 -1
  565. package/apps/web/.next/static/chunks/app/api/gateway/chat/route-d14ffafd970f186e.js +0 -1
  566. package/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-d14ffafd970f186e.js +0 -1
  567. package/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-d14ffafd970f186e.js +0 -1
  568. package/apps/web/.next/static/chunks/app/api/gateway/sessions/route-d14ffafd970f186e.js +0 -1
  569. package/apps/web/.next/static/chunks/app/api/memories/route-d14ffafd970f186e.js +0 -1
  570. package/apps/web/.next/static/chunks/app/api/profiles/route-d14ffafd970f186e.js +0 -1
  571. package/apps/web/.next/static/chunks/app/api/profiles/switch/route-d14ffafd970f186e.js +0 -1
  572. package/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-d14ffafd970f186e.js +0 -1
  573. package/apps/web/.next/static/chunks/app/api/sessions/route-d14ffafd970f186e.js +0 -1
  574. package/apps/web/.next/static/chunks/app/api/skills/route-d14ffafd970f186e.js +0 -1
  575. package/apps/web/.next/static/chunks/app/api/terminal/port/route-d14ffafd970f186e.js +0 -1
  576. package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-d14ffafd970f186e.js +0 -1
  577. package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-d14ffafd970f186e.js +0 -1
  578. package/apps/web/.next/static/chunks/app/api/web-sessions/route-d14ffafd970f186e.js +0 -1
  579. package/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-d14ffafd970f186e.js +0 -1
  580. package/apps/web/.next/static/chunks/app/api/workspace/browse/route-d14ffafd970f186e.js +0 -1
  581. package/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-d14ffafd970f186e.js +0 -1
  582. package/apps/web/.next/static/chunks/app/api/workspace/context/route-d14ffafd970f186e.js +0 -1
  583. package/apps/web/.next/static/chunks/app/api/workspace/copy/route-d14ffafd970f186e.js +0 -1
  584. package/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-d14ffafd970f186e.js +0 -1
  585. package/apps/web/.next/static/chunks/app/api/workspace/db/query/route-d14ffafd970f186e.js +0 -1
  586. package/apps/web/.next/static/chunks/app/api/workspace/delete/route-d14ffafd970f186e.js +0 -1
  587. package/apps/web/.next/static/chunks/app/api/workspace/execute/route-d14ffafd970f186e.js +0 -1
  588. package/apps/web/.next/static/chunks/app/api/workspace/file/route-d14ffafd970f186e.js +0 -1
  589. package/apps/web/.next/static/chunks/app/api/workspace/init/route-d14ffafd970f186e.js +0 -1
  590. package/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-d14ffafd970f186e.js +0 -1
  591. package/apps/web/.next/static/chunks/app/api/workspace/list/route-d14ffafd970f186e.js +0 -1
  592. package/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-d14ffafd970f186e.js +0 -1
  593. package/apps/web/.next/static/chunks/app/api/workspace/move/route-d14ffafd970f186e.js +0 -1
  594. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-d14ffafd970f186e.js +0 -1
  595. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-d14ffafd970f186e.js +0 -1
  596. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-d14ffafd970f186e.js +0 -1
  597. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-d14ffafd970f186e.js +0 -1
  598. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-d14ffafd970f186e.js +0 -1
  599. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-d14ffafd970f186e.js +0 -1
  600. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-d14ffafd970f186e.js +0 -1
  601. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-d14ffafd970f186e.js +0 -1
  602. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-d14ffafd970f186e.js +0 -1
  603. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-d14ffafd970f186e.js +0 -1
  604. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-d14ffafd970f186e.js +0 -1
  605. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-d14ffafd970f186e.js +0 -1
  606. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-d14ffafd970f186e.js +0 -1
  607. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-d14ffafd970f186e.js +0 -1
  608. package/apps/web/.next/static/chunks/app/api/workspace/open-file/route-d14ffafd970f186e.js +0 -1
  609. package/apps/web/.next/static/chunks/app/api/workspace/path-info/route-d14ffafd970f186e.js +0 -1
  610. package/apps/web/.next/static/chunks/app/api/workspace/query/route-d14ffafd970f186e.js +0 -1
  611. package/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-d14ffafd970f186e.js +0 -1
  612. package/apps/web/.next/static/chunks/app/api/workspace/rename/route-d14ffafd970f186e.js +0 -1
  613. package/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-d14ffafd970f186e.js +0 -1
  614. package/apps/web/.next/static/chunks/app/api/workspace/search-index/route-d14ffafd970f186e.js +0 -1
  615. package/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-d14ffafd970f186e.js +0 -1
  616. package/apps/web/.next/static/chunks/app/api/workspace/switch/route-d14ffafd970f186e.js +0 -1
  617. package/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-d14ffafd970f186e.js +0 -1
  618. package/apps/web/.next/static/chunks/app/api/workspace/tree/route-d14ffafd970f186e.js +0 -1
  619. package/apps/web/.next/static/chunks/app/api/workspace/upload/route-d14ffafd970f186e.js +0 -1
  620. package/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-d14ffafd970f186e.js +0 -1
  621. package/apps/web/.next/static/chunks/app/api/workspace/watch/route-d14ffafd970f186e.js +0 -1
  622. package/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-d14ffafd970f186e.js +0 -1
  623. package/apps/web/.next/static/chunks/app/page-c8e88d7669047677.js +0 -1
  624. package/apps/web/.next/static/chunks/webpack-a769c08a3fea86bb.js +0 -1
  625. package/apps/web/.next/static/css/99b07ab2db5fe339.css +0 -1
  626. package/skills/browser/SKILL.md +0 -16
  627. /package/apps/web/.next/standalone/apps/web/.next/static/{bHQQHboaVXn6uVyBK8na1 → jcrHaOr6nJr3WKHp3ijBE}/_ssgManifest.js +0 -0
  628. /package/apps/web/.next/static/{bHQQHboaVXn6uVyBK8na1 → jcrHaOr6nJr3WKHp3ijBE}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { a as markNoticeShown, i as getOrCreateAnonymousId, o as readTelemetryConfig, r as track, s as writeTelemetryConfig, t as isTelemetryEnabled } from "./telemetry-DguRjCZq.js";
2
- import { d as hasFlag, g as resolveRequiredHomeDir, h as expandHomePrefix, i as isDaemonlessMode, m as applyCliProfileEnv, p as hasRootVersionAlias, r as DENCHCLAW_DEFAULT_GATEWAY_PORT, s as defaultRuntime, t as isTruthyEnvValue, u as getPrimaryCommand } from "./entry.js";
2
+ import { d as hasFlag, g as resolveRequiredHomeDir, h as expandHomePrefix, i as isDaemonlessMode, m as applyCliProfileEnv, o as visibleWidth, p as hasRootVersionAlias, r as DENCHCLAW_DEFAULT_GATEWAY_PORT, s as defaultRuntime, t as isTruthyEnvValue, u as getPrimaryCommand } from "./entry.js";
3
3
  import { a as hasEmittedCliBanner, i as formatCliBannerLine, n as resolveCliName, o as isRich, s as theme, t as replaceCliName } from "./cli-name-CoW7mNz-.js";
4
4
  import { t as VERSION } from "./version-DfFmvCFM.js";
5
5
  import { execFileSync, spawn } from "node:child_process";
@@ -10,6 +10,7 @@ import fs, { copyFileSync, cpSync, existsSync, lstatSync, mkdirSync, openSync, r
10
10
  import json5 from "json5";
11
11
  import { Command } from "commander";
12
12
  import { confirm, isCancel, select, spinner, text } from "@clack/prompts";
13
+ import gradient from "gradient-string";
13
14
  import { fileURLToPath } from "node:url";
14
15
  import { createConnection } from "node:net";
15
16
 
@@ -174,7 +175,7 @@ const FALLBACK_DENCH_CLOUD_MODELS = [
174
175
  displayName: "Claude Opus 4.6",
175
176
  provider: "anthropic",
176
177
  transportProvider: "bedrock",
177
- api: "openai-completions",
178
+ api: "openai-responses",
178
179
  input: ["text", "image"],
179
180
  reasoning: false,
180
181
  contextWindow: 2e5,
@@ -197,7 +198,7 @@ const FALLBACK_DENCH_CLOUD_MODELS = [
197
198
  displayName: "GPT-5.4",
198
199
  provider: "openai",
199
200
  transportProvider: "openai",
200
- api: "openai-completions",
201
+ api: "openai-responses",
201
202
  input: ["text", "image"],
202
203
  reasoning: false,
203
204
  contextWindow: 128e3,
@@ -220,7 +221,7 @@ const FALLBACK_DENCH_CLOUD_MODELS = [
220
221
  displayName: "Claude Sonnet 4.6",
221
222
  provider: "anthropic",
222
223
  transportProvider: "bedrock",
223
- api: "openai-completions",
224
+ api: "openai-responses",
224
225
  input: ["text", "image"],
225
226
  reasoning: false,
226
227
  contextWindow: 2e5,
@@ -272,7 +273,7 @@ function normalizeDenchCloudCatalogModel(input) {
272
273
  displayName,
273
274
  provider,
274
275
  transportProvider,
275
- api: "openai-completions",
276
+ api: record.api === "openai-completions" ? "openai-completions" : "openai-responses",
276
277
  input: normalizeInputKinds(record.input, supportsImages),
277
278
  reasoning: supportsReasoning,
278
279
  contextWindow,
@@ -347,11 +348,18 @@ function buildDenchCloudProviderModels(models) {
347
348
  function buildDenchCloudAgentModelEntries(models) {
348
349
  return Object.fromEntries(models.map((model) => [`dench-cloud/${model.stableId}`, { alias: `${model.displayName} (Dench Cloud)` }]));
349
350
  }
351
+ function buildComposioMcpServerConfig(gatewayUrl, apiKey) {
352
+ return {
353
+ url: `${gatewayUrl}/v1/composio/mcp`,
354
+ transport: "streamable-http",
355
+ headers: { Authorization: `Bearer ${apiKey}` }
356
+ };
357
+ }
350
358
  function buildDenchCloudProviderConfig(params) {
351
359
  return {
352
360
  baseUrl: buildDenchGatewayApiBaseUrl(params.gatewayUrl),
353
361
  apiKey: params.apiKey,
354
- api: "openai-completions",
362
+ api: "openai-responses",
355
363
  models: buildDenchCloudProviderModels(params.models)
356
364
  };
357
365
  }
@@ -361,7 +369,15 @@ function buildDenchCloudConfigPatch(params) {
361
369
  mode: "merge",
362
370
  providers: { "dench-cloud": buildDenchCloudProviderConfig(params) }
363
371
  },
364
- agents: { defaults: { models: buildDenchCloudAgentModelEntries(params.models) } }
372
+ agents: { defaults: { models: buildDenchCloudAgentModelEntries(params.models) } },
373
+ messages: { tts: {
374
+ provider: "elevenlabs",
375
+ providers: { elevenlabs: {
376
+ baseUrl: params.gatewayUrl,
377
+ apiKey: params.apiKey
378
+ } }
379
+ } },
380
+ mcp: { servers: { composio: buildComposioMcpServerConfig(params.gatewayUrl, params.apiKey) } }
365
381
  };
366
382
  }
367
383
  function resolveDenchCloudModel(models, requestedId) {
@@ -382,10 +398,12 @@ function readConfiguredDenchCloudSettings(rawConfig) {
382
398
  const modelPrimary = typeof modelValue === "string" ? modelValue : typeof modelSetting?.primary === "string" ? modelSetting.primary : void 0;
383
399
  const selectedModel = typeof modelPrimary === "string" && modelPrimary.startsWith("dench-cloud/") ? modelPrimary.slice(12) : void 0;
384
400
  const baseUrl = readString(provider ?? {}, "baseUrl", "base_url");
401
+ const ttsElevenlabs = asRecord$1(asRecord$1(asRecord$1(asRecord$1(rawConfig?.messages)?.tts)?.providers)?.elevenlabs);
385
402
  return {
386
403
  gatewayUrl: baseUrl ? normalizeDenchGatewayUrl(baseUrl) : void 0,
387
404
  apiKey: readString(provider ?? {}, "apiKey", "api_key"),
388
- selectedModel
405
+ selectedModel,
406
+ ttsElevenLabsBaseUrl: readString(ttsElevenlabs ?? {}, "baseUrl", "base_url")
389
407
  };
390
408
  }
391
409
 
@@ -1400,12 +1418,12 @@ const MANAGED_SKILLS = [
1400
1418
  name: "crm",
1401
1419
  templatePaths: true
1402
1420
  },
1403
- { name: "browser" },
1404
1421
  {
1405
1422
  name: "app-builder",
1406
1423
  templatePaths: true
1407
1424
  },
1408
- { name: "gstack" }
1425
+ { name: "gstack" },
1426
+ { name: "composio-apps" }
1409
1427
  ];
1410
1428
  function seedSkill(params, skill) {
1411
1429
  const sourceDir = path.join(params.packageRoot, "skills", skill.name);
@@ -1754,6 +1772,79 @@ async function setOpenClawConfigJson(params) {
1754
1772
  errorMessage: params.errorMessage
1755
1773
  });
1756
1774
  }
1775
+ function readDenchIntegrationsMetadata(stateDir) {
1776
+ const metadataPath = path.join(stateDir, ".dench-integrations.json");
1777
+ if (!existsSync(metadataPath)) return;
1778
+ try {
1779
+ const raw = JSON.parse(readFileSync(metadataPath, "utf-8"));
1780
+ return raw && typeof raw === "object" ? raw : void 0;
1781
+ } catch {
1782
+ return;
1783
+ }
1784
+ }
1785
+ function disableDenchElevenLabsOverride(tts, gatewayUrl, apiKey) {
1786
+ const providers = asRecord(tts.providers);
1787
+ const elevenlabs = asRecord(providers?.elevenlabs);
1788
+ if (elevenlabs) {
1789
+ if (typeof elevenlabs.baseUrl === "string" && (!gatewayUrl || elevenlabs.baseUrl === gatewayUrl)) delete elevenlabs.baseUrl;
1790
+ if (typeof elevenlabs.apiKey === "string" && (!apiKey || elevenlabs.apiKey === apiKey)) delete elevenlabs.apiKey;
1791
+ if (Object.keys(elevenlabs).length === 0 && providers) delete providers.elevenlabs;
1792
+ }
1793
+ if (tts.provider === "elevenlabs") delete tts.provider;
1794
+ if (providers && Object.keys(providers).length === 0) delete tts.providers;
1795
+ }
1796
+ function applyDenchManagedIntegrationDefaults(params) {
1797
+ const nextConfig = { ...readBootstrapConfig(params.stateDir) ?? {} };
1798
+ const plugins = { ...asRecord(nextConfig.plugins) ?? {} };
1799
+ const entries = { ...asRecord(plugins.entries) ?? {} };
1800
+ entries["exa-search"] = {
1801
+ ...asRecord(entries["exa-search"]) ?? {},
1802
+ enabled: params.denchEnabled
1803
+ };
1804
+ entries["apollo-enrichment"] = {
1805
+ ...asRecord(entries["apollo-enrichment"]) ?? {},
1806
+ enabled: params.denchEnabled
1807
+ };
1808
+ plugins.entries = entries;
1809
+ nextConfig.plugins = plugins;
1810
+ const tools = { ...asRecord(nextConfig.tools) ?? {} };
1811
+ const deny = Array.isArray(tools.deny) ? tools.deny.filter((value) => typeof value === "string") : [];
1812
+ const web = { ...asRecord(tools.web) ?? {} };
1813
+ const search = { ...asRecord(web.search) ?? {} };
1814
+ search.enabled = !params.denchEnabled;
1815
+ web.search = search;
1816
+ tools.web = web;
1817
+ tools.deny = params.denchEnabled ? uniqueStrings([...deny, "web_search"]) : deny.filter((value) => value !== "web_search");
1818
+ nextConfig.tools = tools;
1819
+ const messages = { ...asRecord(nextConfig.messages) ?? {} };
1820
+ const tts = { ...asRecord(messages.tts) ?? {} };
1821
+ const providers = { ...asRecord(tts.providers) ?? {} };
1822
+ const elevenlabs = { ...asRecord(providers.elevenlabs) ?? {} };
1823
+ if (params.denchEnabled && params.gatewayUrl && params.apiKey) {
1824
+ tts.provider = "elevenlabs";
1825
+ elevenlabs.baseUrl = params.gatewayUrl;
1826
+ elevenlabs.apiKey = params.apiKey;
1827
+ providers.elevenlabs = elevenlabs;
1828
+ tts.providers = providers;
1829
+ } else {
1830
+ tts.providers = providers;
1831
+ disableDenchElevenLabsOverride(tts, params.gatewayUrl, params.apiKey);
1832
+ }
1833
+ messages.tts = tts;
1834
+ nextConfig.messages = messages;
1835
+ writeFileSync(path.join(params.stateDir, "openclaw.json"), `${JSON.stringify(nextConfig, null, 2)}\n`);
1836
+ const currentMetadata = readDenchIntegrationsMetadata(params.stateDir) ?? {};
1837
+ const nextMetadata = {
1838
+ ...currentMetadata,
1839
+ schemaVersion: 1,
1840
+ exa: {
1841
+ ...asRecord(currentMetadata.exa) ?? {},
1842
+ ownsSearch: params.denchEnabled,
1843
+ fallbackProvider: typeof asRecord(currentMetadata.exa)?.fallbackProvider === "string" ? asRecord(currentMetadata.exa)?.fallbackProvider : "duckduckgo"
1844
+ }
1845
+ };
1846
+ writeFileSync(path.join(params.stateDir, ".dench-integrations.json"), `${JSON.stringify(nextMetadata, null, 2)}\n`);
1847
+ }
1757
1848
  async function syncBundledPlugins(params) {
1758
1849
  try {
1759
1850
  const packageRoot = resolveCliPackageRoot();
@@ -2674,6 +2765,10 @@ function readBootstrapConfig(stateDir) {
2674
2765
  } catch {}
2675
2766
  }
2676
2767
  }
2768
+ function hasConfiguredComposioServer(stateDir) {
2769
+ const composio = asRecord(asRecord(asRecord(readBootstrapConfig(stateDir)?.mcp)?.servers)?.composio);
2770
+ return typeof composio?.url === "string" && composio.url.trim().length > 0;
2771
+ }
2677
2772
  function resolveBootstrapWorkspaceDir(stateDir) {
2678
2773
  return path.join(stateDir, "workspace");
2679
2774
  }
@@ -2743,6 +2838,7 @@ function buildBootstrapDiagnostics(params) {
2743
2838
  else checks.push(createCheck("profile", "fail", `DenchClaw profile drift detected (${params.profile}).`, `DenchClaw requires \`--profile ${DEFAULT_DENCHCLAW_PROFILE}\`. Re-run bootstrap to repair environment defaults.`));
2744
2839
  if (params.gatewayProbe.ok) checks.push(createCheck("gateway", "pass", `Gateway reachable at ${params.gatewayUrl}.`));
2745
2840
  else checks.push(createCheck("gateway", "fail", `Gateway probe failed at ${params.gatewayUrl}${params.gatewayProbe.detail ? ` (${params.gatewayProbe.detail})` : ""}.`, remediationForGatewayFailure(params.gatewayProbe.detail, params.gatewayPort, params.profile)));
2841
+ if (params.denchCloudEnabled) checks.push(createCheck("composio", params.composioConfigured ? "pass" : "warn", params.composioConfigured ? "Composio MCP configured via Dench Cloud gateway." : "Composio MCP not configured. Check mcp.servers.composio in openclaw.json.", params.composioConfigured ? void 0 : `Open Settings > Integrations and repair the Composio MCP setup, or run \`openclaw --profile ${DEFAULT_DENCHCLAW_PROFILE} gateway restart\` after restoring the Dench Cloud config.`));
2746
2842
  const stateDir = params.stateDir ?? resolveProfileStateDir(params.profile, env);
2747
2843
  const authCheck = checkAgentAuth(stateDir, resolveModelProvider(stateDir));
2748
2844
  if (authCheck.ok) checks.push(createCheck("agent-auth", "pass", authCheck.detail));
@@ -2815,6 +2911,80 @@ async function promptForDenchCloudModel(params) {
2815
2911
  if (isCancel(selection)) return;
2816
2912
  return String(selection);
2817
2913
  }
2914
+ function renderDenchCloudRecommendationBanner() {
2915
+ const rich = isRich();
2916
+ const W = 74;
2917
+ const bdr = (s) => rich ? theme.accentDim(s) : s;
2918
+ const ironShimmer = rich ? gradient([
2919
+ "#374151",
2920
+ "#6B7280",
2921
+ "#9CA3AF",
2922
+ "#D1D5DB",
2923
+ "#9CA3AF",
2924
+ "#6B7280",
2925
+ "#374151"
2926
+ ]) : (s) => s;
2927
+ const topBar = ironShimmer("─".repeat(W));
2928
+ const botBar = ironShimmer("─".repeat(W));
2929
+ const top = ` ${bdr("╭")}${topBar}${bdr("╮")}`;
2930
+ const bot = ` ${bdr("╰")}${botBar}${bdr("╯")}`;
2931
+ const blank = ` ${bdr("│")}${" ".repeat(W)}${bdr("│")}`;
2932
+ const row = (content, indent = 4) => {
2933
+ const vis = visibleWidth(content);
2934
+ const right = Math.max(1, W - indent - vis);
2935
+ return ` ${bdr("│")}${" ".repeat(indent)}${content}${" ".repeat(right)}${bdr("│")}`;
2936
+ };
2937
+ const title = rich ? gradient([
2938
+ "#38BDF8",
2939
+ "#2DD4BF",
2940
+ "#34D399"
2941
+ ])("D E N C H C L O U D") : "D E N C H C L O U D";
2942
+ const subtitle = rich ? theme.muted("The recommended way to run DenchClaw. Everything is managed for you.") : "The recommended way to run DenchClaw. Everything is managed for you.";
2943
+ const bullet = rich ? theme.info("▸") : "▸";
2944
+ const lbl = (s) => rich ? theme.accentBright(s) : s;
2945
+ const dim = (s) => rich ? theme.muted(s) : s;
2946
+ const COL = 14;
2947
+ const featureLines = [
2948
+ [lbl("AI Models"), dim("Claude, GPT, Kimi & more — no API keys needed")],
2949
+ [lbl("Voice"), dim("ElevenLabs built in — no account required")],
2950
+ [lbl("Web Search"), dim("Exa ready out of the box — no key to manage")],
2951
+ [lbl("Skills Store"), dim("Browse & install skills instantly")],
2952
+ [lbl("Image Gen"), dim("State-of-the-art models from day one")]
2953
+ ].map(([name, desc]) => {
2954
+ return `${bullet} ${name}${" ".repeat(Math.max(1, COL - visibleWidth(name)))}${desc}`;
2955
+ });
2956
+ const star = rich ? theme.warn("★") : "★";
2957
+ const intTitle = rich ? theme.warn("1,000+ App Integrations") : "1,000+ App Integrations";
2958
+ const dot = rich ? theme.accentDim(" · ") : " · ";
2959
+ const apps = [
2960
+ rich ? theme.info("Gmail") : "Gmail",
2961
+ rich ? theme.accentBright("Notion") : "Notion",
2962
+ rich ? theme.success("HubSpot") : "HubSpot",
2963
+ rich ? theme.warn("PostHog") : "PostHog",
2964
+ rich ? theme.accent("Stripe") : "Stripe",
2965
+ rich ? theme.success("Salesforce") : "Salesforce",
2966
+ rich ? theme.muted("…") : "…"
2967
+ ].join(dot);
2968
+ const check = rich ? theme.success("✓") : "✓";
2969
+ const cta = rich ? theme.success("Recommended for most users") : "Recommended for most users";
2970
+ return [
2971
+ "",
2972
+ top,
2973
+ blank,
2974
+ row(title),
2975
+ row(subtitle),
2976
+ blank,
2977
+ ...featureLines.map((l) => row(l)),
2978
+ blank,
2979
+ row(`${star} ${intTitle}`),
2980
+ row(apps, 7),
2981
+ blank,
2982
+ row(`${check} ${cta}`),
2983
+ blank,
2984
+ bot,
2985
+ ""
2986
+ ].join("\n");
2987
+ }
2818
2988
  async function applyDenchCloudBootstrapConfig(params) {
2819
2989
  const raw = readBootstrapConfig(params.stateDir);
2820
2990
  const existingAgentModels = raw?.agents?.defaults?.models && typeof raw.agents.defaults.models === "object" ? raw.agents.defaults.models : {};
@@ -2867,6 +3037,34 @@ async function applyDenchCloudBootstrapConfig(params) {
2867
3037
  value: nextAgentModels,
2868
3038
  errorMessage: "Failed to update agents.defaults.models for Dench Cloud."
2869
3039
  });
3040
+ await setOpenClawConfigJson({
3041
+ openclawCommand: params.openclawCommand,
3042
+ profile: params.profile,
3043
+ key: "messages.tts.provider",
3044
+ value: configPatch.messages.tts.provider,
3045
+ errorMessage: "Failed to set ElevenLabs as TTS provider."
3046
+ });
3047
+ await setOpenClawConfigJson({
3048
+ openclawCommand: params.openclawCommand,
3049
+ profile: params.profile,
3050
+ key: "messages.tts.providers.elevenlabs",
3051
+ value: configPatch.messages.tts.providers.elevenlabs,
3052
+ errorMessage: "Failed to configure ElevenLabs TTS via Dench Cloud gateway."
3053
+ });
3054
+ if (configPatch.mcp) {
3055
+ const servers = configPatch.mcp.servers;
3056
+ if (servers?.composio) try {
3057
+ await setOpenClawConfigJson({
3058
+ openclawCommand: params.openclawCommand,
3059
+ profile: params.profile,
3060
+ key: "mcp.servers.composio",
3061
+ value: servers.composio,
3062
+ errorMessage: "Failed to configure Composio MCP server via Dench Cloud gateway."
3063
+ });
3064
+ } catch {
3065
+ console.warn(theme.warn("Could not configure the Composio MCP server during bootstrap. You can repair it later in Settings > Integrations."));
3066
+ }
3067
+ }
2870
3068
  }
2871
3069
  async function resolveDenchCloudBootstrapSelection(params) {
2872
3070
  const existing = readConfiguredDenchCloudSettings(readBootstrapConfig(params.stateDir));
@@ -2893,8 +3091,9 @@ async function resolveDenchCloudBootstrapSelection(params) {
2893
3091
  catalog
2894
3092
  };
2895
3093
  }
3094
+ if (!explicitRequest) params.runtime.log(renderDenchCloudRecommendationBanner());
2896
3095
  const wantsDenchCloud = explicitRequest ? true : await confirm({
2897
- message: stylePromptMessage("Use Dench Cloud for inference? Get your API key at dench.com/api"),
3096
+ message: stylePromptMessage("Continue with Dench Cloud? Recommended. API key: dench.com/api"),
2898
3097
  initialValue: existingDenchConfigured || !currentProvider
2899
3098
  });
2900
3099
  if (isCancel(wantsDenchCloud) || !wantsDenchCloud) return { enabled: false };
@@ -3074,6 +3273,16 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3074
3273
  pluginId: "dench-identity",
3075
3274
  sourceDirName: "dench-identity",
3076
3275
  enabled: true
3276
+ },
3277
+ {
3278
+ pluginId: "apollo-enrichment",
3279
+ sourceDirName: "apollo-enrichment",
3280
+ enabled: denchCloudSelection.enabled
3281
+ },
3282
+ {
3283
+ pluginId: "exa-search",
3284
+ sourceDirName: "exa-search",
3285
+ enabled: denchCloudSelection.enabled
3077
3286
  }
3078
3287
  ];
3079
3288
  const preOnboardSpinner = !opts.json ? spinner() : null;
@@ -3097,7 +3306,11 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3097
3306
  ];
3098
3307
  if (opts.forceOnboard) onboardArgv.push("--reset");
3099
3308
  if (nonInteractive) onboardArgv.push("--non-interactive");
3100
- if (denchCloudSelection.enabled) onboardArgv.push("--auth-choice", "skip");
3309
+ if (denchCloudSelection.enabled) {
3310
+ onboardArgv.push("--auth-choice", "skip");
3311
+ onboardArgv.push("--skip-search");
3312
+ onboardArgv.push("--skip-skills");
3313
+ }
3101
3314
  onboardArgv.push("--accept-risk", "--skip-ui");
3102
3315
  if (daemonless) onboardArgv.push("--skip-health");
3103
3316
  if (nonInteractive) await runOpenClawOrThrow({
@@ -3146,6 +3359,13 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3146
3359
  });
3147
3360
  postOnboardSpinner?.message("Configuring agent defaults…");
3148
3361
  await ensureAgentDefaults(openclawCommand, profile);
3362
+ postOnboardSpinner?.message("Applying Dench integration defaults…");
3363
+ applyDenchManagedIntegrationDefaults({
3364
+ stateDir,
3365
+ denchEnabled: denchCloudSelection.enabled,
3366
+ gatewayUrl: denchCloudSelection.gatewayUrl,
3367
+ apiKey: denchCloudSelection.apiKey
3368
+ });
3149
3369
  let gatewayProbe;
3150
3370
  let gatewayAutoFix;
3151
3371
  if (daemonless) gatewayProbe = {
@@ -3216,6 +3436,7 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3216
3436
  postOnboardSpinner?.stop(webRuntimeStatus.ready ? "Post-onboard setup complete." : "Post-onboard setup complete (web runtime unhealthy).");
3217
3437
  const webReachable = webRuntimeStatus.ready;
3218
3438
  const webUrl = `http://localhost:${preferredWebPort}`;
3439
+ const composioConfigured = denchCloudSelection.enabled ? hasConfiguredComposioServer(stateDir) : false;
3219
3440
  const diagnostics = buildBootstrapDiagnostics({
3220
3441
  profile,
3221
3442
  openClawCliAvailable: installResult.available,
@@ -3223,6 +3444,8 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3223
3444
  gatewayPort,
3224
3445
  gatewayUrl,
3225
3446
  gatewayProbe,
3447
+ denchCloudEnabled: denchCloudSelection.enabled,
3448
+ composioConfigured,
3226
3449
  webPort: preferredWebPort,
3227
3450
  webReachable,
3228
3451
  rolloutStage,
@@ -220,7 +220,7 @@ async function runCli(argv = process$1.argv) {
220
220
  process$1.exitCode = await delegateToGlobalOpenClaw(parseArgv);
221
221
  return;
222
222
  }
223
- const { buildProgram } = await import("./program-BDz7WHcZ.js");
223
+ const { buildProgram } = await import("./program-BYB4nfWK.js");
224
224
  await buildProgram().parseAsync(parseArgv);
225
225
  }
226
226
 
@@ -0,0 +1,268 @@
1
+ import type { AnyAgentTool, OpenClawPluginApi } from "openclaw/plugin-sdk";
2
+
3
+ export const id = "apollo-enrichment";
4
+
5
+ const DEFAULT_GATEWAY_URL = "https://gateway.merseoriginals.com";
6
+ const ENRICHMENT_BASE_PATH = "/v1/enrichment";
7
+ const APOLLO_ACTIONS = ["people", "company", "people_search"] as const;
8
+
9
+ type UnknownRecord = Record<string, unknown>;
10
+
11
+ function asRecord(value: unknown): UnknownRecord | undefined {
12
+ return value && typeof value === "object" ? (value as UnknownRecord) : undefined;
13
+ }
14
+
15
+ function readTrimmedString(value: unknown): string | undefined {
16
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
17
+ }
18
+
19
+ function readStringList(value: unknown): string[] | undefined {
20
+ if (!Array.isArray(value)) {
21
+ return undefined;
22
+ }
23
+ const items = value
24
+ .map((item) => readTrimmedString(item))
25
+ .filter((item): item is string => Boolean(item));
26
+ return items.length > 0 ? items : undefined;
27
+ }
28
+
29
+ function resolveGatewayUrl(config: unknown): string {
30
+ const root = asRecord(config);
31
+ const pluginEntries = asRecord(asRecord(root?.plugins)?.entries);
32
+ const gatewayConfig = asRecord(asRecord(pluginEntries?.["dench-ai-gateway"])?.config);
33
+ return (
34
+ readTrimmedString(gatewayConfig?.gatewayUrl) ||
35
+ process.env.DENCH_GATEWAY_URL?.trim() ||
36
+ DEFAULT_GATEWAY_URL
37
+ );
38
+ }
39
+
40
+ function resolveApiKey(config: unknown): string | undefined {
41
+ const root = asRecord(config);
42
+ const providers = asRecord(asRecord(asRecord(root?.models)?.providers));
43
+ const provider = asRecord(providers?.["dench-cloud"]);
44
+ return (
45
+ readTrimmedString(provider?.apiKey) ||
46
+ process.env.DENCH_CLOUD_API_KEY?.trim() ||
47
+ process.env.DENCH_API_KEY?.trim() ||
48
+ undefined
49
+ );
50
+ }
51
+
52
+ function jsonResult(payload: unknown) {
53
+ return {
54
+ content: [{ type: "text" as const, text: JSON.stringify(payload, null, 2) }],
55
+ details: payload,
56
+ };
57
+ }
58
+
59
+ const ApolloEnrichParameters = {
60
+ type: "object",
61
+ additionalProperties: false,
62
+ properties: {
63
+ action: {
64
+ type: "string",
65
+ enum: [...APOLLO_ACTIONS],
66
+ description: 'Action to perform: "people", "company", or "people_search".',
67
+ },
68
+ email: { type: "string", description: "Email for people enrichment." },
69
+ linkedinUrl: { type: "string", description: "LinkedIn URL for people enrichment." },
70
+ firstName: { type: "string", description: "Person first name." },
71
+ lastName: { type: "string", description: "Person last name." },
72
+ domain: { type: "string", description: "Company domain such as acme.com." },
73
+ organizationName: { type: "string", description: "Organization name hint for people enrichment." },
74
+ personTitles: { type: "array", items: { type: "string" }, description: "Job titles for people search." },
75
+ personLocations: { type: "array", items: { type: "string" }, description: "Locations for people search." },
76
+ organizationDomains: { type: "array", items: { type: "string" }, description: "Organization domains for people search." },
77
+ page: { type: "number", description: "People search page number." },
78
+ perPage: { type: "number", description: "People search page size." },
79
+ first_name: { type: "string", description: "Legacy alias for firstName." },
80
+ last_name: { type: "string", description: "Legacy alias for lastName." },
81
+ organization_name: { type: "string", description: "Legacy alias for organizationName." },
82
+ linkedin_url: { type: "string", description: "Legacy alias for linkedinUrl." },
83
+ person_titles: { type: "array", items: { type: "string" }, description: "Legacy alias for personTitles." },
84
+ person_locations: { type: "array", items: { type: "string" }, description: "Legacy alias for personLocations." },
85
+ organization_domains: { type: "array", items: { type: "string" }, description: "Legacy alias for organizationDomains." },
86
+ per_page: { type: "number", description: "Legacy alias for perPage." },
87
+ },
88
+ required: ["action"],
89
+ };
90
+
91
+ function buildPeopleBody(params: Record<string, unknown>) {
92
+ const body: Record<string, unknown> = {};
93
+ const email = readTrimmedString(params.email);
94
+ const linkedinUrl = readTrimmedString(params.linkedinUrl) ?? readTrimmedString(params.linkedin_url);
95
+ const firstName = readTrimmedString(params.firstName) ?? readTrimmedString(params.first_name);
96
+ const lastName = readTrimmedString(params.lastName) ?? readTrimmedString(params.last_name);
97
+ const domain = readTrimmedString(params.domain);
98
+ const organizationName =
99
+ readTrimmedString(params.organizationName) ?? readTrimmedString(params.organization_name);
100
+
101
+ if (email) {
102
+ body.email = email;
103
+ }
104
+ if (linkedinUrl) {
105
+ body.linkedinUrl = linkedinUrl;
106
+ }
107
+ if (firstName) {
108
+ body.firstName = firstName;
109
+ }
110
+ if (lastName) {
111
+ body.lastName = lastName;
112
+ }
113
+ if (domain) {
114
+ body.domain = domain;
115
+ }
116
+ if (organizationName) {
117
+ body.organizationName = organizationName;
118
+ }
119
+
120
+ return body;
121
+ }
122
+
123
+ function buildPeopleSearchBody(params: Record<string, unknown>) {
124
+ const body: Record<string, unknown> = {};
125
+ const personTitles = readStringList(params.personTitles) ?? readStringList(params.person_titles);
126
+ const personLocations =
127
+ readStringList(params.personLocations) ?? readStringList(params.person_locations);
128
+ const organizationDomains =
129
+ readStringList(params.organizationDomains) ?? readStringList(params.organization_domains);
130
+ const page = typeof params.page === "number" ? params.page : undefined;
131
+ const perPage =
132
+ typeof params.perPage === "number"
133
+ ? params.perPage
134
+ : typeof params.per_page === "number"
135
+ ? params.per_page
136
+ : undefined;
137
+
138
+ if (personTitles) {
139
+ body.personTitles = personTitles;
140
+ }
141
+ if (personLocations) {
142
+ body.personLocations = personLocations;
143
+ }
144
+ if (organizationDomains) {
145
+ body.organizationDomains = organizationDomains;
146
+ }
147
+ if (page !== undefined) {
148
+ body.page = page;
149
+ }
150
+ if (perPage !== undefined) {
151
+ body.perPage = perPage;
152
+ }
153
+
154
+ return body;
155
+ }
156
+
157
+ async function parseResponse(response: Response) {
158
+ const contentType = response.headers.get("content-type") ?? "";
159
+ if (contentType.includes("application/json")) {
160
+ return response.json();
161
+ }
162
+ return response.text();
163
+ }
164
+
165
+ async function executeApolloEnrich(
166
+ gatewayUrl: string,
167
+ apiKey: string,
168
+ _toolCallId: string,
169
+ params: Record<string, unknown>,
170
+ ) {
171
+ const action = params.action;
172
+ if (action !== "people" && action !== "company" && action !== "people_search") {
173
+ return jsonResult({
174
+ error: `Unknown action "${String(action)}". Use "people", "company", or "people_search".`,
175
+ });
176
+ }
177
+
178
+ try {
179
+ let response: Response;
180
+
181
+ if (action === "people") {
182
+ const body = buildPeopleBody(params);
183
+ if (!body.email && !body.linkedinUrl && !body.firstName && !body.lastName) {
184
+ return jsonResult({
185
+ error:
186
+ "People enrichment requires at least an email, LinkedIn URL, or person name.",
187
+ });
188
+ }
189
+ response = await fetch(`${gatewayUrl}${ENRICHMENT_BASE_PATH}/people`, {
190
+ method: "POST",
191
+ headers: {
192
+ "content-type": "application/json",
193
+ authorization: `Bearer ${apiKey}`,
194
+ },
195
+ body: JSON.stringify(body),
196
+ });
197
+ } else if (action === "company") {
198
+ const domain = readTrimmedString(params.domain);
199
+ if (!domain) {
200
+ return jsonResult({ error: "Company enrichment requires a domain." });
201
+ }
202
+ const url = new URL(`${gatewayUrl}${ENRICHMENT_BASE_PATH}/company`);
203
+ url.searchParams.set("domain", domain);
204
+ response = await fetch(url, {
205
+ method: "GET",
206
+ headers: {
207
+ authorization: `Bearer ${apiKey}`,
208
+ },
209
+ });
210
+ } else {
211
+ const body = buildPeopleSearchBody(params);
212
+ response = await fetch(`${gatewayUrl}${ENRICHMENT_BASE_PATH}/people/search`, {
213
+ method: "POST",
214
+ headers: {
215
+ "content-type": "application/json",
216
+ authorization: `Bearer ${apiKey}`,
217
+ },
218
+ body: JSON.stringify(body),
219
+ });
220
+ }
221
+
222
+ if (!response.ok) {
223
+ const detail = await parseResponse(response).catch(() => "");
224
+ return jsonResult({
225
+ error: `Enrichment request failed (HTTP ${response.status}).`,
226
+ detail: detail || undefined,
227
+ });
228
+ }
229
+
230
+ return jsonResult(await parseResponse(response));
231
+ } catch (err) {
232
+ return jsonResult({
233
+ error: "Enrichment request failed.",
234
+ detail: err instanceof Error ? err.message : String(err),
235
+ });
236
+ }
237
+ }
238
+
239
+ export default function register(api: OpenClawPluginApi) {
240
+ const rootConfig = asRecord(api.config);
241
+ const pluginEntries = asRecord(asRecord(rootConfig?.plugins)?.entries);
242
+ const pluginConfig = asRecord(asRecord(pluginEntries?.[id])?.config);
243
+ if (pluginConfig?.enabled === false) {
244
+ return;
245
+ }
246
+
247
+ const gatewayUrl = resolveGatewayUrl(api.config);
248
+ const apiKey = resolveApiKey(api.config);
249
+
250
+ if (!apiKey) {
251
+ api.logger?.info?.(
252
+ "[apollo-enrichment] No Dench Cloud API key found; tool will not be registered.",
253
+ );
254
+ return;
255
+ }
256
+
257
+ api.registerTool({
258
+ name: "apollo_enrich",
259
+ label: "Apollo Enrichment",
260
+ description:
261
+ "Look up Apollo people, companies, or people search results through the Dench Cloud gateway. " +
262
+ 'Use action "people" for an individual profile, "company" for company enrichment by domain, ' +
263
+ 'or "people_search" to search people with filters such as titles, locations, and company domains.',
264
+ parameters: ApolloEnrichParameters,
265
+ execute: (toolCallId: string, params: Record<string, unknown>) =>
266
+ executeApolloEnrich(gatewayUrl, apiKey, toolCallId, params),
267
+ } as AnyAgentTool);
268
+ }