denchclaw 2.4.5 → 2.5.0

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 (626) 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 +327 -198
  4. package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +44 -26
  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 +44 -26
  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 +25 -11
  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/standalone/apps/web/.next/static/U0A79z_eUsEUNVdXxxyc3/_buildManifest.js +1 -0
  177. package/apps/web/.next/{static/chunks/eca025f9.538b3f5d85eeef79.js → standalone/apps/web/.next/static/chunks/0c958985.3ccb9c3aea7cd083.js} +2 -2
  178. package/apps/web/.next/standalone/apps/web/.next/static/chunks/3999.548dd8ec57152081.js +1 -0
  179. package/apps/web/.next/standalone/apps/web/.next/static/chunks/{2489.b5e1ce196331926c.js → 4870.507a55774d37d072.js} +1 -1
  180. package/apps/web/.next/standalone/apps/web/.next/static/chunks/{7812.c1435a724050dfec.js → 5431.a2353a2aa8c55a67.js} +1 -1
  181. package/apps/web/.next/standalone/apps/web/.next/static/chunks/7f67b0df-54679694c67e2b76.js +1 -0
  182. package/apps/web/.next/standalone/apps/web/.next/static/chunks/80f1cbb7-c9635d81d9fe6819.js +1 -0
  183. package/apps/web/.next/standalone/apps/web/.next/static/chunks/8532165e-abce74bbb270ef26.js +1 -0
  184. package/apps/web/.next/standalone/apps/web/.next/static/chunks/9372.e71f5b96da3f9dfd.js +1 -0
  185. package/apps/web/.next/standalone/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +135 -0
  186. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/cron/route-982235d988e17f31.js +1 -0
  187. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/proxy/route-982235d988e17f31.js +1 -0
  188. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/route-982235d988e17f31.js +1 -0
  189. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-982235d988e17f31.js +1 -0
  190. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/store/route-982235d988e17f31.js +1 -0
  191. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-982235d988e17f31.js +1 -0
  192. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/active/route-982235d988e17f31.js +1 -0
  193. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-982235d988e17f31.js +1 -0
  194. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/runs/route-982235d988e17f31.js +1 -0
  195. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stop/route-982235d988e17f31.js +1 -0
  196. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stream/route-982235d988e17f31.js +1 -0
  197. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/subagents/route-982235d988e17f31.js +1 -0
  198. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/callback/route-982235d988e17f31.js +1 -0
  199. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connect/route-982235d988e17f31.js +1 -0
  200. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connections/route-982235d988e17f31.js +1 -0
  201. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/disconnect/route-982235d988e17f31.js +1 -0
  202. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/status/route-982235d988e17f31.js +1 -0
  203. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/tool-index/route-982235d988e17f31.js +1 -0
  204. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/toolkits/route-982235d988e17f31.js +1 -0
  205. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-982235d988e17f31.js +1 -0
  206. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/route-982235d988e17f31.js +1 -0
  207. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-982235d988e17f31.js +1 -0
  208. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-982235d988e17f31.js +1 -0
  209. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/feedback/route-982235d988e17f31.js +1 -0
  210. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/channels/route-982235d988e17f31.js +1 -0
  211. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/route-982235d988e17f31.js +1 -0
  212. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-982235d988e17f31.js +1 -0
  213. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-982235d988e17f31.js +1 -0
  214. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/route-982235d988e17f31.js +1 -0
  215. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-982235d988e17f31.js +1 -0
  216. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/repair/route-982235d988e17f31.js +1 -0
  217. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/route-982235d988e17f31.js +1 -0
  218. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/memories/route-982235d988e17f31.js +1 -0
  219. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/route-982235d988e17f31.js +1 -0
  220. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/switch/route-982235d988e17f31.js +1 -0
  221. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-982235d988e17f31.js +1 -0
  222. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/route-982235d988e17f31.js +1 -0
  223. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/settings/cloud/route-982235d988e17f31.js +1 -0
  224. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-982235d988e17f31.js +1 -0
  225. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/route-982235d988e17f31.js +1 -0
  226. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/browse/route-982235d988e17f31.js +1 -0
  227. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/install/route-982235d988e17f31.js +1 -0
  228. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/route-982235d988e17f31.js +1 -0
  229. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/terminal/port/route-982235d988e17f31.js +1 -0
  230. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/speech/route-982235d988e17f31.js +1 -0
  231. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/transcribe/route-982235d988e17f31.js +1 -0
  232. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/voices/route-982235d988e17f31.js +1 -0
  233. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-982235d988e17f31.js +1 -0
  234. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-982235d988e17f31.js +1 -0
  235. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/route-982235d988e17f31.js +1 -0
  236. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-982235d988e17f31.js +1 -0
  237. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse/route-982235d988e17f31.js +1 -0
  238. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-982235d988e17f31.js +1 -0
  239. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/context/route-982235d988e17f31.js +1 -0
  240. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/copy/route-982235d988e17f31.js +1 -0
  241. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-982235d988e17f31.js +1 -0
  242. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/query/route-982235d988e17f31.js +1 -0
  243. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/delete/route-982235d988e17f31.js +1 -0
  244. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/execute/route-982235d988e17f31.js +1 -0
  245. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/file/route-982235d988e17f31.js +1 -0
  246. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/init/route-982235d988e17f31.js +1 -0
  247. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-982235d988e17f31.js +1 -0
  248. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/list/route-982235d988e17f31.js +1 -0
  249. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-982235d988e17f31.js +1 -0
  250. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/move/route-982235d988e17f31.js +1 -0
  251. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-982235d988e17f31.js +1 -0
  252. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-982235d988e17f31.js +1 -0
  253. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-982235d988e17f31.js +1 -0
  254. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-982235d988e17f31.js +1 -0
  255. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-982235d988e17f31.js +1 -0
  256. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-982235d988e17f31.js +1 -0
  257. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-982235d988e17f31.js +1 -0
  258. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-982235d988e17f31.js +1 -0
  259. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-982235d988e17f31.js +1 -0
  260. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-982235d988e17f31.js +1 -0
  261. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-982235d988e17f31.js +1 -0
  262. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-982235d988e17f31.js +1 -0
  263. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-982235d988e17f31.js +1 -0
  264. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-982235d988e17f31.js +1 -0
  265. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/open-file/route-982235d988e17f31.js +1 -0
  266. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/path-info/route-982235d988e17f31.js +1 -0
  267. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/query/route-982235d988e17f31.js +1 -0
  268. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-982235d988e17f31.js +1 -0
  269. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/rename/route-982235d988e17f31.js +1 -0
  270. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-982235d988e17f31.js +1 -0
  271. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/search-index/route-982235d988e17f31.js +1 -0
  272. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-982235d988e17f31.js +1 -0
  273. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/switch/route-982235d988e17f31.js +1 -0
  274. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-982235d988e17f31.js +1 -0
  275. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/tree/route-982235d988e17f31.js +1 -0
  276. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/upload/route-982235d988e17f31.js +1 -0
  277. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-982235d988e17f31.js +1 -0
  278. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/watch/route-982235d988e17f31.js +1 -0
  279. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-982235d988e17f31.js +1 -0
  280. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-a597017db7df698d.js → layout-8757ef9cb1826e76.js} +1 -1
  281. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-05ff98c264c1c0cf.js +1 -0
  282. package/apps/web/.next/standalone/apps/web/.next/static/chunks/webpack-d4501ef5cbbcf069.js +1 -0
  283. package/apps/web/.next/standalone/apps/web/.next/static/css/4f71a2dee93c9f97.css +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/models/deepseek.ico +0 -0
  288. package/apps/web/.next/standalone/apps/web/public/models/kimi.png +0 -0
  289. package/apps/web/.next/standalone/apps/web/public/models/kimi.svg +89 -0
  290. package/apps/web/.next/standalone/apps/web/public/models/minimax.png +0 -0
  291. package/apps/web/.next/standalone/apps/web/server.js +1 -1
  292. package/apps/web/.next/standalone/extensions/apollo-enrichment/index.ts +268 -0
  293. package/apps/web/.next/standalone/extensions/apollo-enrichment/openclaw.plugin.json +16 -0
  294. package/apps/web/.next/standalone/extensions/apollo-enrichment/package.json +8 -0
  295. package/apps/web/.next/standalone/extensions/dench-ai-gateway/composio-bridge.ts +474 -0
  296. package/apps/web/.next/standalone/extensions/dench-ai-gateway/config-patch.ts +83 -0
  297. package/apps/web/.next/standalone/extensions/dench-ai-gateway/index.test.ts +281 -0
  298. package/apps/web/.next/standalone/extensions/dench-ai-gateway/index.ts +325 -0
  299. package/apps/web/.next/standalone/extensions/dench-ai-gateway/models.ts +325 -0
  300. package/apps/web/.next/standalone/extensions/dench-ai-gateway/openclaw.plugin.json +27 -0
  301. package/apps/web/.next/standalone/extensions/dench-ai-gateway/package.json +8 -0
  302. package/apps/web/.next/standalone/extensions/dench-identity/composio-cheat-sheet.test.ts +146 -0
  303. package/apps/web/.next/standalone/extensions/dench-identity/composio-cheat-sheet.ts +197 -0
  304. package/apps/web/.next/standalone/extensions/dench-identity/index.test.ts +361 -0
  305. package/apps/web/.next/standalone/extensions/dench-identity/index.ts +920 -0
  306. package/apps/web/.next/standalone/extensions/dench-identity/openclaw.plugin.json +17 -0
  307. package/apps/web/.next/standalone/extensions/dench-identity/package.json +8 -0
  308. package/apps/web/.next/standalone/extensions/exa-search/index.ts +363 -0
  309. package/apps/web/.next/standalone/extensions/exa-search/openclaw.plugin.json +16 -0
  310. package/apps/web/.next/standalone/extensions/exa-search/package.json +8 -0
  311. package/apps/web/.next/standalone/extensions/posthog-analytics/index.ts +190 -0
  312. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.js +3 -0
  313. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.ts +3 -0
  314. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/event-mappers.ts +403 -0
  315. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/posthog-client.ts +105 -0
  316. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/privacy.ts +294 -0
  317. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/trace-context.ts +103 -0
  318. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/types.ts +28 -0
  319. package/apps/web/.next/standalone/extensions/posthog-analytics/openclaw.plugin.json +22 -0
  320. package/apps/web/.next/standalone/extensions/posthog-analytics/package.json +8 -0
  321. package/apps/web/.next/standalone/extensions/vitest.config.ts +13 -0
  322. package/apps/web/.next/standalone/package.json +2 -2
  323. package/apps/web/.next/static/U0A79z_eUsEUNVdXxxyc3/_buildManifest.js +1 -0
  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-a597017db7df698d.js → layout-8757ef9cb1826e76.js} +1 -1
  428. package/apps/web/.next/static/chunks/app/page-05ff98c264c1c0cf.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/public/integrations/exa-logomark.svg +4 -0
  432. package/apps/web/public/models/deepseek.ico +0 -0
  433. package/apps/web/public/models/kimi.png +0 -0
  434. package/apps/web/public/models/kimi.svg +89 -0
  435. package/apps/web/public/models/minimax.png +0 -0
  436. package/dist/entry.js +1 -1
  437. package/dist/{program-D2RfLoKh.js → program-BYB4nfWK.js} +423 -13
  438. package/dist/{run-main-giTi_or5.js → run-main-Z-P_Zlf6.js} +1 -1
  439. package/extensions/apollo-enrichment/index.ts +268 -0
  440. package/extensions/apollo-enrichment/openclaw.plugin.json +16 -0
  441. package/extensions/apollo-enrichment/package.json +8 -0
  442. package/extensions/dench-ai-gateway/composio-bridge.ts +474 -0
  443. package/extensions/dench-ai-gateway/config-patch.ts +83 -0
  444. package/extensions/dench-ai-gateway/index.test.ts +281 -0
  445. package/extensions/dench-ai-gateway/index.ts +9 -36
  446. package/extensions/dench-ai-gateway/models.ts +5 -5
  447. package/extensions/dench-identity/composio-cheat-sheet.test.ts +146 -0
  448. package/extensions/dench-identity/composio-cheat-sheet.ts +197 -0
  449. package/extensions/dench-identity/index.test.ts +226 -1
  450. package/extensions/dench-identity/index.ts +795 -5
  451. package/extensions/exa-search/index.ts +363 -0
  452. package/extensions/exa-search/openclaw.plugin.json +16 -0
  453. package/extensions/exa-search/package.json +8 -0
  454. package/extensions/posthog-analytics/lib/build-env.js +1 -1
  455. package/package.json +2 -2
  456. package/skills/composio-apps/SKILL.md +88 -0
  457. package/apps/web/.next/standalone/apps/web/.next/server/chunks/4334.js +0 -481
  458. package/apps/web/.next/standalone/apps/web/.next/static/6km2S2lfAi2PQ3TlStEAM/_buildManifest.js +0 -1
  459. package/apps/web/.next/standalone/apps/web/.next/static/chunks/2457.b2932424bcf38aee.js +0 -1
  460. package/apps/web/.next/standalone/apps/web/.next/static/chunks/2716-475d96c202834586.js +0 -135
  461. package/apps/web/.next/standalone/apps/web/.next/static/chunks/4062.6ff486abe87e56aa.js +0 -1
  462. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/cron/route-d14ffafd970f186e.js +0 -1
  463. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/proxy/route-d14ffafd970f186e.js +0 -1
  464. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/route-d14ffafd970f186e.js +0 -1
  465. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-d14ffafd970f186e.js +0 -1
  466. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/store/route-d14ffafd970f186e.js +0 -1
  467. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-d14ffafd970f186e.js +0 -1
  468. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/active/route-d14ffafd970f186e.js +0 -1
  469. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-d14ffafd970f186e.js +0 -1
  470. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/runs/route-d14ffafd970f186e.js +0 -1
  471. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stop/route-d14ffafd970f186e.js +0 -1
  472. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stream/route-d14ffafd970f186e.js +0 -1
  473. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/subagents/route-d14ffafd970f186e.js +0 -1
  474. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-d14ffafd970f186e.js +0 -1
  475. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/route-d14ffafd970f186e.js +0 -1
  476. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-d14ffafd970f186e.js +0 -1
  477. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-d14ffafd970f186e.js +0 -1
  478. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/feedback/route-d14ffafd970f186e.js +0 -1
  479. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/channels/route-d14ffafd970f186e.js +0 -1
  480. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/route-d14ffafd970f186e.js +0 -1
  481. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-d14ffafd970f186e.js +0 -1
  482. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-d14ffafd970f186e.js +0 -1
  483. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/route-d14ffafd970f186e.js +0 -1
  484. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/memories/route-d14ffafd970f186e.js +0 -1
  485. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/route-d14ffafd970f186e.js +0 -1
  486. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/switch/route-d14ffafd970f186e.js +0 -1
  487. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-d14ffafd970f186e.js +0 -1
  488. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/route-d14ffafd970f186e.js +0 -1
  489. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/route-d14ffafd970f186e.js +0 -1
  490. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/terminal/port/route-d14ffafd970f186e.js +0 -1
  491. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-d14ffafd970f186e.js +0 -1
  492. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-d14ffafd970f186e.js +0 -1
  493. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/route-d14ffafd970f186e.js +0 -1
  494. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-d14ffafd970f186e.js +0 -1
  495. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse/route-d14ffafd970f186e.js +0 -1
  496. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-d14ffafd970f186e.js +0 -1
  497. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/context/route-d14ffafd970f186e.js +0 -1
  498. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/copy/route-d14ffafd970f186e.js +0 -1
  499. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-d14ffafd970f186e.js +0 -1
  500. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/query/route-d14ffafd970f186e.js +0 -1
  501. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/delete/route-d14ffafd970f186e.js +0 -1
  502. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/execute/route-d14ffafd970f186e.js +0 -1
  503. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/file/route-d14ffafd970f186e.js +0 -1
  504. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/init/route-d14ffafd970f186e.js +0 -1
  505. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-d14ffafd970f186e.js +0 -1
  506. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/list/route-d14ffafd970f186e.js +0 -1
  507. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-d14ffafd970f186e.js +0 -1
  508. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/move/route-d14ffafd970f186e.js +0 -1
  509. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-d14ffafd970f186e.js +0 -1
  510. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-d14ffafd970f186e.js +0 -1
  511. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-d14ffafd970f186e.js +0 -1
  512. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-d14ffafd970f186e.js +0 -1
  513. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-d14ffafd970f186e.js +0 -1
  514. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-d14ffafd970f186e.js +0 -1
  515. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-d14ffafd970f186e.js +0 -1
  516. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-d14ffafd970f186e.js +0 -1
  517. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-d14ffafd970f186e.js +0 -1
  518. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-d14ffafd970f186e.js +0 -1
  519. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-d14ffafd970f186e.js +0 -1
  520. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-d14ffafd970f186e.js +0 -1
  521. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-d14ffafd970f186e.js +0 -1
  522. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-d14ffafd970f186e.js +0 -1
  523. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/open-file/route-d14ffafd970f186e.js +0 -1
  524. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/path-info/route-d14ffafd970f186e.js +0 -1
  525. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/query/route-d14ffafd970f186e.js +0 -1
  526. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-d14ffafd970f186e.js +0 -1
  527. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/rename/route-d14ffafd970f186e.js +0 -1
  528. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-d14ffafd970f186e.js +0 -1
  529. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/search-index/route-d14ffafd970f186e.js +0 -1
  530. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-d14ffafd970f186e.js +0 -1
  531. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/switch/route-d14ffafd970f186e.js +0 -1
  532. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-d14ffafd970f186e.js +0 -1
  533. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/tree/route-d14ffafd970f186e.js +0 -1
  534. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/upload/route-d14ffafd970f186e.js +0 -1
  535. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-d14ffafd970f186e.js +0 -1
  536. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/watch/route-d14ffafd970f186e.js +0 -1
  537. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-d14ffafd970f186e.js +0 -1
  538. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-6702f960a7cc2d6f.js +0 -1
  539. package/apps/web/.next/standalone/apps/web/.next/static/chunks/webpack-a769c08a3fea86bb.js +0 -1
  540. package/apps/web/.next/standalone/apps/web/.next/static/css/99b07ab2db5fe339.css +0 -1
  541. package/apps/web/.next/static/6km2S2lfAi2PQ3TlStEAM/_buildManifest.js +0 -1
  542. package/apps/web/.next/static/chunks/2457.b2932424bcf38aee.js +0 -1
  543. package/apps/web/.next/static/chunks/2716-475d96c202834586.js +0 -135
  544. package/apps/web/.next/static/chunks/4062.6ff486abe87e56aa.js +0 -1
  545. package/apps/web/.next/static/chunks/app/api/apps/cron/route-d14ffafd970f186e.js +0 -1
  546. package/apps/web/.next/static/chunks/app/api/apps/proxy/route-d14ffafd970f186e.js +0 -1
  547. package/apps/web/.next/static/chunks/app/api/apps/route-d14ffafd970f186e.js +0 -1
  548. package/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-d14ffafd970f186e.js +0 -1
  549. package/apps/web/.next/static/chunks/app/api/apps/store/route-d14ffafd970f186e.js +0 -1
  550. package/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-d14ffafd970f186e.js +0 -1
  551. package/apps/web/.next/static/chunks/app/api/chat/active/route-d14ffafd970f186e.js +0 -1
  552. package/apps/web/.next/static/chunks/app/api/chat/route-d14ffafd970f186e.js +0 -1
  553. package/apps/web/.next/static/chunks/app/api/chat/runs/route-d14ffafd970f186e.js +0 -1
  554. package/apps/web/.next/static/chunks/app/api/chat/stop/route-d14ffafd970f186e.js +0 -1
  555. package/apps/web/.next/static/chunks/app/api/chat/stream/route-d14ffafd970f186e.js +0 -1
  556. package/apps/web/.next/static/chunks/app/api/chat/subagents/route-d14ffafd970f186e.js +0 -1
  557. package/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-d14ffafd970f186e.js +0 -1
  558. package/apps/web/.next/static/chunks/app/api/cron/jobs/route-d14ffafd970f186e.js +0 -1
  559. package/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-d14ffafd970f186e.js +0 -1
  560. package/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-d14ffafd970f186e.js +0 -1
  561. package/apps/web/.next/static/chunks/app/api/feedback/route-d14ffafd970f186e.js +0 -1
  562. package/apps/web/.next/static/chunks/app/api/gateway/channels/route-d14ffafd970f186e.js +0 -1
  563. package/apps/web/.next/static/chunks/app/api/gateway/chat/route-d14ffafd970f186e.js +0 -1
  564. package/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-d14ffafd970f186e.js +0 -1
  565. package/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-d14ffafd970f186e.js +0 -1
  566. package/apps/web/.next/static/chunks/app/api/gateway/sessions/route-d14ffafd970f186e.js +0 -1
  567. package/apps/web/.next/static/chunks/app/api/memories/route-d14ffafd970f186e.js +0 -1
  568. package/apps/web/.next/static/chunks/app/api/profiles/route-d14ffafd970f186e.js +0 -1
  569. package/apps/web/.next/static/chunks/app/api/profiles/switch/route-d14ffafd970f186e.js +0 -1
  570. package/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-d14ffafd970f186e.js +0 -1
  571. package/apps/web/.next/static/chunks/app/api/sessions/route-d14ffafd970f186e.js +0 -1
  572. package/apps/web/.next/static/chunks/app/api/skills/route-d14ffafd970f186e.js +0 -1
  573. package/apps/web/.next/static/chunks/app/api/terminal/port/route-d14ffafd970f186e.js +0 -1
  574. package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-d14ffafd970f186e.js +0 -1
  575. package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-d14ffafd970f186e.js +0 -1
  576. package/apps/web/.next/static/chunks/app/api/web-sessions/route-d14ffafd970f186e.js +0 -1
  577. package/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-d14ffafd970f186e.js +0 -1
  578. package/apps/web/.next/static/chunks/app/api/workspace/browse/route-d14ffafd970f186e.js +0 -1
  579. package/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-d14ffafd970f186e.js +0 -1
  580. package/apps/web/.next/static/chunks/app/api/workspace/context/route-d14ffafd970f186e.js +0 -1
  581. package/apps/web/.next/static/chunks/app/api/workspace/copy/route-d14ffafd970f186e.js +0 -1
  582. package/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-d14ffafd970f186e.js +0 -1
  583. package/apps/web/.next/static/chunks/app/api/workspace/db/query/route-d14ffafd970f186e.js +0 -1
  584. package/apps/web/.next/static/chunks/app/api/workspace/delete/route-d14ffafd970f186e.js +0 -1
  585. package/apps/web/.next/static/chunks/app/api/workspace/execute/route-d14ffafd970f186e.js +0 -1
  586. package/apps/web/.next/static/chunks/app/api/workspace/file/route-d14ffafd970f186e.js +0 -1
  587. package/apps/web/.next/static/chunks/app/api/workspace/init/route-d14ffafd970f186e.js +0 -1
  588. package/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-d14ffafd970f186e.js +0 -1
  589. package/apps/web/.next/static/chunks/app/api/workspace/list/route-d14ffafd970f186e.js +0 -1
  590. package/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-d14ffafd970f186e.js +0 -1
  591. package/apps/web/.next/static/chunks/app/api/workspace/move/route-d14ffafd970f186e.js +0 -1
  592. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-d14ffafd970f186e.js +0 -1
  593. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-d14ffafd970f186e.js +0 -1
  594. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-d14ffafd970f186e.js +0 -1
  595. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-d14ffafd970f186e.js +0 -1
  596. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-d14ffafd970f186e.js +0 -1
  597. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-d14ffafd970f186e.js +0 -1
  598. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-d14ffafd970f186e.js +0 -1
  599. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-d14ffafd970f186e.js +0 -1
  600. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-d14ffafd970f186e.js +0 -1
  601. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-d14ffafd970f186e.js +0 -1
  602. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-d14ffafd970f186e.js +0 -1
  603. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-d14ffafd970f186e.js +0 -1
  604. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-d14ffafd970f186e.js +0 -1
  605. package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-d14ffafd970f186e.js +0 -1
  606. package/apps/web/.next/static/chunks/app/api/workspace/open-file/route-d14ffafd970f186e.js +0 -1
  607. package/apps/web/.next/static/chunks/app/api/workspace/path-info/route-d14ffafd970f186e.js +0 -1
  608. package/apps/web/.next/static/chunks/app/api/workspace/query/route-d14ffafd970f186e.js +0 -1
  609. package/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-d14ffafd970f186e.js +0 -1
  610. package/apps/web/.next/static/chunks/app/api/workspace/rename/route-d14ffafd970f186e.js +0 -1
  611. package/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-d14ffafd970f186e.js +0 -1
  612. package/apps/web/.next/static/chunks/app/api/workspace/search-index/route-d14ffafd970f186e.js +0 -1
  613. package/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-d14ffafd970f186e.js +0 -1
  614. package/apps/web/.next/static/chunks/app/api/workspace/switch/route-d14ffafd970f186e.js +0 -1
  615. package/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-d14ffafd970f186e.js +0 -1
  616. package/apps/web/.next/static/chunks/app/api/workspace/tree/route-d14ffafd970f186e.js +0 -1
  617. package/apps/web/.next/static/chunks/app/api/workspace/upload/route-d14ffafd970f186e.js +0 -1
  618. package/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-d14ffafd970f186e.js +0 -1
  619. package/apps/web/.next/static/chunks/app/api/workspace/watch/route-d14ffafd970f186e.js +0 -1
  620. package/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-d14ffafd970f186e.js +0 -1
  621. package/apps/web/.next/static/chunks/app/page-6702f960a7cc2d6f.js +0 -1
  622. package/apps/web/.next/static/chunks/webpack-a769c08a3fea86bb.js +0 -1
  623. package/apps/web/.next/static/css/99b07ab2db5fe339.css +0 -1
  624. package/skills/browser/SKILL.md +0 -16
  625. /package/apps/web/.next/standalone/apps/web/.next/static/{6km2S2lfAi2PQ3TlStEAM → U0A79z_eUsEUNVdXxxyc3}/_ssgManifest.js +0 -0
  626. /package/apps/web/.next/static/{6km2S2lfAi2PQ3TlStEAM → U0A79z_eUsEUNVdXxxyc3}/_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);
@@ -1548,6 +1566,15 @@ const OPENCLAW_CLI_CHECK_CACHE_TTL_MS = 5 * 6e4;
1548
1566
  const OPENCLAW_UPDATE_PROMPT_SUPPRESS_AFTER_INSTALL_MS = 5 * 6e4;
1549
1567
  const OPENCLAW_CLI_CHECK_CACHE_FILE = "openclaw-cli-check.json";
1550
1568
  const OPENCLAW_SETUP_PROGRESS_BAR_WIDTH = 16;
1569
+ const BOOTSTRAP_DEVICE_PAIRING_COMMAND_TIMEOUT_MS = 1e4;
1570
+ const BOOTSTRAP_DEVICE_PAIRING_POLL_DELAY_MS = 500;
1571
+ const READY_WEB_DEVICE_PAIRING_POLL_ATTEMPTS = 1;
1572
+ const UNREADY_WEB_DEVICE_PAIRING_POLL_ATTEMPTS = 4;
1573
+ const BOOTSTRAP_DEVICE_PAIRING_REQUIRED_SCOPES = [
1574
+ "operator.read",
1575
+ "operator.write",
1576
+ "operator.pairing"
1577
+ ];
1551
1578
  function resolveCommandForPlatform(command) {
1552
1579
  if (process$1.platform !== "win32") return command;
1553
1580
  if (path.extname(command)) return command;
@@ -1693,9 +1720,15 @@ function resolveGatewayLaunchAgentLabel(profile) {
1693
1720
  function uniqueStrings(values) {
1694
1721
  return [...new Set(values.map((value) => value.trim()).filter(Boolean))];
1695
1722
  }
1723
+ function toStringArray(value) {
1724
+ return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
1725
+ }
1696
1726
  function asRecord(value) {
1697
1727
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
1698
1728
  }
1729
+ function toFiniteNumber(value) {
1730
+ return typeof value === "number" && Number.isFinite(value) ? value : void 0;
1731
+ }
1699
1732
  function normalizeFilesystemPath(value) {
1700
1733
  try {
1701
1734
  return realpathSync.native(value);
@@ -1739,6 +1772,79 @@ async function setOpenClawConfigJson(params) {
1739
1772
  errorMessage: params.errorMessage
1740
1773
  });
1741
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
+ }
1742
1848
  async function syncBundledPlugins(params) {
1743
1849
  try {
1744
1850
  const packageRoot = resolveCliPackageRoot();
@@ -2056,6 +2162,156 @@ function parseJsonPayload(raw) {
2056
2162
  }
2057
2163
  }
2058
2164
  }
2165
+ function normalizeDeviceListEntry(value) {
2166
+ const record = asRecord(value);
2167
+ if (!record) return;
2168
+ return {
2169
+ requestId: typeof record.requestId === "string" ? record.requestId : typeof record.id === "string" ? record.id : void 0,
2170
+ deviceId: typeof record.deviceId === "string" ? record.deviceId : void 0,
2171
+ clientId: typeof record.clientId === "string" ? record.clientId : void 0,
2172
+ clientMode: typeof record.clientMode === "string" ? record.clientMode : void 0,
2173
+ platform: typeof record.platform === "string" ? record.platform : void 0,
2174
+ role: typeof record.role === "string" ? record.role : void 0,
2175
+ roles: uniqueStrings(toStringArray(record.roles)),
2176
+ scopes: uniqueStrings(toStringArray(record.scopes)),
2177
+ createdAtMs: toFiniteNumber(record.createdAtMs) ?? toFiniteNumber(record.requestedAtMs) ?? toFiniteNumber(record.updatedAtMs)
2178
+ };
2179
+ }
2180
+ function parsePendingDeviceRequests(raw) {
2181
+ const payload = parseJsonPayload(raw);
2182
+ if (!payload) return;
2183
+ if (!Array.isArray(payload.pending)) return [];
2184
+ return payload.pending.map((value) => normalizeDeviceListEntry(value)).filter((value) => Boolean(value));
2185
+ }
2186
+ function resolveDeviceListEntryRoles(entry) {
2187
+ return uniqueStrings([...entry.roles, entry.role ?? ""]);
2188
+ }
2189
+ function hasBootstrapDevicePairingScopes(entry) {
2190
+ const scopes = new Set(entry.scopes);
2191
+ return BOOTSTRAP_DEVICE_PAIRING_REQUIRED_SCOPES.every((scope) => scopes.has(scope));
2192
+ }
2193
+ function scoreBootstrapDevicePairingRequest(entry) {
2194
+ let score = 0;
2195
+ if (resolveDeviceListEntryRoles(entry).includes("operator")) score += 4;
2196
+ if (entry.platform === process$1.platform) score += 4;
2197
+ if (entry.clientId === "cli") score += 3;
2198
+ if (entry.clientMode === "cli") score += 2;
2199
+ if (hasBootstrapDevicePairingScopes(entry)) score += 3;
2200
+ if (entry.scopes.includes("operator.approvals")) score += 1;
2201
+ if (entry.scopes.includes("operator.admin")) score += 1;
2202
+ return score;
2203
+ }
2204
+ function selectBootstrapDevicePairingRequest(pending) {
2205
+ const candidates = pending.filter((entry) => {
2206
+ const roles = resolveDeviceListEntryRoles(entry);
2207
+ return (!entry.platform || entry.platform === process$1.platform) && roles.includes("operator") && hasBootstrapDevicePairingScopes(entry);
2208
+ }).map((entry) => ({
2209
+ entry,
2210
+ score: scoreBootstrapDevicePairingRequest(entry)
2211
+ })).sort((a, b) => b.score - a.score || (b.entry.createdAtMs ?? 0) - (a.entry.createdAtMs ?? 0));
2212
+ if (candidates.length === 0) return {
2213
+ status: "none",
2214
+ detail: "no pending local operator pairing request found"
2215
+ };
2216
+ const top = candidates[0];
2217
+ if (!top?.entry.requestId) return {
2218
+ status: "failed",
2219
+ detail: "pending device request is missing requestId"
2220
+ };
2221
+ const second = candidates[1];
2222
+ if (second && second.score === top.score) return {
2223
+ status: "ambiguous",
2224
+ detail: `found ${candidates.length} equally likely pending operator pairing requests`
2225
+ };
2226
+ return {
2227
+ status: "selected",
2228
+ detail: `selected ${top.entry.requestId}`,
2229
+ request: top.entry
2230
+ };
2231
+ }
2232
+ async function attemptBootstrapDevicePairing(params) {
2233
+ const pollDelayMs = params.pollDelayMs ?? BOOTSTRAP_DEVICE_PAIRING_POLL_DELAY_MS;
2234
+ let lastDetail = "no pending local operator pairing request found";
2235
+ for (let attempt = 0; attempt < params.pollAttempts; attempt += 1) {
2236
+ const listResult = await runOpenClaw(params.openclawCommand, [
2237
+ "--profile",
2238
+ params.profile,
2239
+ "devices",
2240
+ "list",
2241
+ "--json"
2242
+ ], BOOTSTRAP_DEVICE_PAIRING_COMMAND_TIMEOUT_MS).catch((error) => {
2243
+ return {
2244
+ code: 1,
2245
+ stdout: "",
2246
+ stderr: error instanceof Error ? error.message : String(error)
2247
+ };
2248
+ });
2249
+ if (listResult.code !== 0) return {
2250
+ status: "failed",
2251
+ detail: firstNonEmptyLine$1(listResult.stderr, listResult.stdout) ?? "Failed to list device pairing requests."
2252
+ };
2253
+ const pending = parsePendingDeviceRequests([listResult.stdout, listResult.stderr].filter(Boolean).join("\n"));
2254
+ if (!pending) return {
2255
+ status: "failed",
2256
+ detail: "Failed to parse pending device pairing requests."
2257
+ };
2258
+ const selection = selectBootstrapDevicePairingRequest(pending);
2259
+ lastDetail = selection.detail;
2260
+ if (selection.status === "none") {
2261
+ if (attempt < params.pollAttempts - 1) {
2262
+ await sleep(pollDelayMs);
2263
+ continue;
2264
+ }
2265
+ return {
2266
+ status: "none",
2267
+ detail: selection.detail
2268
+ };
2269
+ }
2270
+ if (selection.status === "ambiguous" || selection.status === "failed") return {
2271
+ status: selection.status,
2272
+ detail: selection.detail
2273
+ };
2274
+ const request = selection.request;
2275
+ const requestId = request?.requestId;
2276
+ if (!requestId) return {
2277
+ status: "failed",
2278
+ detail: "selected device pairing request is missing requestId"
2279
+ };
2280
+ const approveResult = await runOpenClaw(params.openclawCommand, [
2281
+ "--profile",
2282
+ params.profile,
2283
+ "devices",
2284
+ "approve",
2285
+ requestId
2286
+ ], BOOTSTRAP_DEVICE_PAIRING_COMMAND_TIMEOUT_MS).catch((error) => {
2287
+ return {
2288
+ code: 1,
2289
+ stdout: "",
2290
+ stderr: error instanceof Error ? error.message : String(error)
2291
+ };
2292
+ });
2293
+ if (approveResult.code === 0) return {
2294
+ status: "approved",
2295
+ requestId,
2296
+ detail: `Approved ${request.deviceId ? `${request.deviceId} (${requestId})` : requestId}.`
2297
+ };
2298
+ const approveDetail = firstNonEmptyLine$1(approveResult.stderr, approveResult.stdout) ?? `Failed to approve ${requestId}.`;
2299
+ if (attempt < params.pollAttempts - 1 && /(superseded|stale|not found|no pending|expired)/iu.test(approveDetail)) {
2300
+ lastDetail = approveDetail;
2301
+ await sleep(pollDelayMs);
2302
+ continue;
2303
+ }
2304
+ return {
2305
+ status: "failed",
2306
+ requestId,
2307
+ detail: approveDetail
2308
+ };
2309
+ }
2310
+ return {
2311
+ status: "none",
2312
+ detail: lastDetail
2313
+ };
2314
+ }
2059
2315
  function resolveOpenClawCliCheckCachePath(stateDir) {
2060
2316
  return path.join(stateDir, "cache", OPENCLAW_CLI_CHECK_CACHE_FILE);
2061
2317
  }
@@ -2509,6 +2765,10 @@ function readBootstrapConfig(stateDir) {
2509
2765
  } catch {}
2510
2766
  }
2511
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
+ }
2512
2772
  function resolveBootstrapWorkspaceDir(stateDir) {
2513
2773
  return path.join(stateDir, "workspace");
2514
2774
  }
@@ -2578,6 +2838,7 @@ function buildBootstrapDiagnostics(params) {
2578
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.`));
2579
2839
  if (params.gatewayProbe.ok) checks.push(createCheck("gateway", "pass", `Gateway reachable at ${params.gatewayUrl}.`));
2580
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.`));
2581
2842
  const stateDir = params.stateDir ?? resolveProfileStateDir(params.profile, env);
2582
2843
  const authCheck = checkAgentAuth(stateDir, resolveModelProvider(stateDir));
2583
2844
  if (authCheck.ok) checks.push(createCheck("agent-auth", "pass", authCheck.detail));
@@ -2650,6 +2911,80 @@ async function promptForDenchCloudModel(params) {
2650
2911
  if (isCancel(selection)) return;
2651
2912
  return String(selection);
2652
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
+ }
2653
2988
  async function applyDenchCloudBootstrapConfig(params) {
2654
2989
  const raw = readBootstrapConfig(params.stateDir);
2655
2990
  const existingAgentModels = raw?.agents?.defaults?.models && typeof raw.agents.defaults.models === "object" ? raw.agents.defaults.models : {};
@@ -2702,6 +3037,34 @@ async function applyDenchCloudBootstrapConfig(params) {
2702
3037
  value: nextAgentModels,
2703
3038
  errorMessage: "Failed to update agents.defaults.models for Dench Cloud."
2704
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
+ }
2705
3068
  }
2706
3069
  async function resolveDenchCloudBootstrapSelection(params) {
2707
3070
  const existing = readConfiguredDenchCloudSettings(readBootstrapConfig(params.stateDir));
@@ -2728,8 +3091,9 @@ async function resolveDenchCloudBootstrapSelection(params) {
2728
3091
  catalog
2729
3092
  };
2730
3093
  }
3094
+ if (!explicitRequest) params.runtime.log(renderDenchCloudRecommendationBanner());
2731
3095
  const wantsDenchCloud = explicitRequest ? true : await confirm({
2732
- 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"),
2733
3097
  initialValue: existingDenchConfigured || !currentProvider
2734
3098
  });
2735
3099
  if (isCancel(wantsDenchCloud) || !wantsDenchCloud) return { enabled: false };
@@ -2909,6 +3273,16 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
2909
3273
  pluginId: "dench-identity",
2910
3274
  sourceDirName: "dench-identity",
2911
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
2912
3286
  }
2913
3287
  ];
2914
3288
  const preOnboardSpinner = !opts.json ? spinner() : null;
@@ -2932,7 +3306,11 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
2932
3306
  ];
2933
3307
  if (opts.forceOnboard) onboardArgv.push("--reset");
2934
3308
  if (nonInteractive) onboardArgv.push("--non-interactive");
2935
- 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
+ }
2936
3314
  onboardArgv.push("--accept-risk", "--skip-ui");
2937
3315
  if (daemonless) onboardArgv.push("--skip-health");
2938
3316
  if (nonInteractive) await runOpenClawOrThrow({
@@ -2981,6 +3359,13 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
2981
3359
  });
2982
3360
  postOnboardSpinner?.message("Configuring agent defaults…");
2983
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
+ });
2984
3369
  let gatewayProbe;
2985
3370
  let gatewayAutoFix;
2986
3371
  if (daemonless) gatewayProbe = {
@@ -3027,16 +3412,31 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3027
3412
  const gatewayUrl = `ws://127.0.0.1:${gatewayPort}`;
3028
3413
  const preferredWebPort = parseOptionalPort$1(opts.webPort) ?? DEFAULT_WEB_APP_PORT;
3029
3414
  postOnboardSpinner?.message(`Starting web runtime on port ${preferredWebPort}…`);
3030
- const webRuntimeStatus = await ensureManagedWebRuntime({
3415
+ let webRuntimeStatus = await ensureManagedWebRuntime({
3031
3416
  stateDir,
3032
3417
  packageRoot,
3033
3418
  denchVersion: VERSION,
3034
3419
  port: preferredWebPort,
3035
3420
  gatewayPort
3036
3421
  });
3422
+ postOnboardSpinner?.message("Checking local device pairing…");
3423
+ const devicePairing = await attemptBootstrapDevicePairing({
3424
+ openclawCommand,
3425
+ profile,
3426
+ pollAttempts: webRuntimeStatus.ready ? READY_WEB_DEVICE_PAIRING_POLL_ATTEMPTS : UNREADY_WEB_DEVICE_PAIRING_POLL_ATTEMPTS
3427
+ });
3428
+ if (!webRuntimeStatus.ready && devicePairing.status === "approved") {
3429
+ postOnboardSpinner?.message("Waiting for web runtime after pairing…");
3430
+ const webRuntimeRetry = await waitForWebRuntime(preferredWebPort);
3431
+ webRuntimeStatus = {
3432
+ ready: webRuntimeRetry.ok,
3433
+ reason: webRuntimeRetry.reason
3434
+ };
3435
+ }
3037
3436
  postOnboardSpinner?.stop(webRuntimeStatus.ready ? "Post-onboard setup complete." : "Post-onboard setup complete (web runtime unhealthy).");
3038
3437
  const webReachable = webRuntimeStatus.ready;
3039
3438
  const webUrl = `http://localhost:${preferredWebPort}`;
3439
+ const composioConfigured = denchCloudSelection.enabled ? hasConfiguredComposioServer(stateDir) : false;
3040
3440
  const diagnostics = buildBootstrapDiagnostics({
3041
3441
  profile,
3042
3442
  openClawCliAvailable: installResult.available,
@@ -3044,6 +3444,8 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3044
3444
  gatewayPort,
3045
3445
  gatewayUrl,
3046
3446
  gatewayProbe,
3447
+ denchCloudEnabled: denchCloudSelection.enabled,
3448
+ composioConfigured,
3047
3449
  webPort: preferredWebPort,
3048
3450
  webReachable,
3049
3451
  rolloutStage,
@@ -3068,6 +3470,14 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3068
3470
  }
3069
3471
  if (!opts.json) {
3070
3472
  if (!webRuntimeStatus.ready) runtime.log(theme.warn(`Managed web runtime check failed: ${webRuntimeStatus.reason}`));
3473
+ if (devicePairing.status === "approved") runtime.log(theme.muted("Approved the pending local OpenClaw device pairing request."));
3474
+ else if (devicePairing.status === "ambiguous") {
3475
+ runtime.log(theme.warn(`Automatic device pairing skipped: ${devicePairing.detail}.`));
3476
+ runtime.log(theme.muted(`Run \`openclaw --profile ${profile} devices list\` and approve the correct request manually.`));
3477
+ } else if (devicePairing.status === "failed") {
3478
+ runtime.log(theme.warn(`Automatic device pairing failed: ${devicePairing.detail}`));
3479
+ runtime.log(theme.muted(`If the Control UI still reports "pairing required", run \`openclaw --profile ${profile} devices list\` and approve the pending request.`));
3480
+ }
3071
3481
  if (installResult.installed) runtime.log(theme.muted("Installed global OpenClaw CLI via npm."));
3072
3482
  if (isProjectLocalOpenClawPath(installResult.shellCommandPath)) {
3073
3483
  runtime.log(theme.warn(`\`openclaw\` currently resolves to a project-local binary (${installResult.shellCommandPath}).`));
@@ -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-D2RfLoKh.js");
223
+ const { buildProgram } = await import("./program-BYB4nfWK.js");
224
224
  await buildProgram().parseAsync(parseArgv);
225
225
  }
226
226