visionclaw 0.1.209 → 0.1.210-beta.2

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 (636) hide show
  1. package/dist/agent/backup.d.ts +10 -1
  2. package/dist/agent/backup.d.ts.map +1 -1
  3. package/dist/agent/backup.js +24 -1
  4. package/dist/agent/backup.js.map +1 -1
  5. package/dist/agent/browser-launcher.d.ts.map +1 -1
  6. package/dist/agent/browser-launcher.js +22 -20
  7. package/dist/agent/browser-launcher.js.map +1 -1
  8. package/dist/agent/context.d.ts +1 -1
  9. package/dist/agent/context.d.ts.map +1 -1
  10. package/dist/agent/context.js +28 -24
  11. package/dist/agent/context.js.map +1 -1
  12. package/dist/agent/engines/claude/session-browser-policy.d.ts.map +1 -1
  13. package/dist/agent/engines/claude/session-browser-policy.js +2 -16
  14. package/dist/agent/engines/claude/session-browser-policy.js.map +1 -1
  15. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  16. package/dist/agent/engines/claude/session.js +6 -9
  17. package/dist/agent/engines/claude/session.js.map +1 -1
  18. package/dist/agent/engines/pi/tools.d.ts +7 -0
  19. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  20. package/dist/agent/engines/pi/tools.js +5 -1
  21. package/dist/agent/engines/pi/tools.js.map +1 -1
  22. package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
  23. package/dist/agent/engines/pi-coding/session.js +2 -0
  24. package/dist/agent/engines/pi-coding/session.js.map +1 -1
  25. package/dist/agent/engines/pi-coding/tools.d.ts +1 -0
  26. package/dist/agent/engines/pi-coding/tools.d.ts.map +1 -1
  27. package/dist/agent/engines/pi-coding/tools.js.map +1 -1
  28. package/dist/agent/gather-context.d.ts.map +1 -1
  29. package/dist/agent/gather-context.js +3 -1
  30. package/dist/agent/gather-context.js.map +1 -1
  31. package/dist/agent/heartbeat-manager.d.ts +3 -1
  32. package/dist/agent/heartbeat-manager.d.ts.map +1 -1
  33. package/dist/agent/heartbeat-manager.js +21 -0
  34. package/dist/agent/heartbeat-manager.js.map +1 -1
  35. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  36. package/dist/agent/interrupt-handler.js +7 -1
  37. package/dist/agent/interrupt-handler.js.map +1 -1
  38. package/dist/agent/loop.d.ts.map +1 -1
  39. package/dist/agent/loop.js +76 -23
  40. package/dist/agent/loop.js.map +1 -1
  41. package/dist/agent/onboarding-gate.d.ts +1 -1
  42. package/dist/agent/onboarding-gate.d.ts.map +1 -1
  43. package/dist/agent/onboarding-gate.js +3 -2
  44. package/dist/agent/onboarding-gate.js.map +1 -1
  45. package/dist/agent/owner-channel-resolver.d.ts +1 -1
  46. package/dist/agent/owner-channel-resolver.d.ts.map +1 -1
  47. package/dist/agent/owner-channel-resolver.js +12 -0
  48. package/dist/agent/owner-channel-resolver.js.map +1 -1
  49. package/dist/agent/runtime-surface.d.ts +2 -0
  50. package/dist/agent/runtime-surface.d.ts.map +1 -1
  51. package/dist/agent/runtime-surface.js +3 -0
  52. package/dist/agent/runtime-surface.js.map +1 -1
  53. package/dist/agent/session-manager.d.ts +1 -1
  54. package/dist/agent/session-manager.d.ts.map +1 -1
  55. package/dist/agent/session-manager.js +13 -5
  56. package/dist/agent/session-manager.js.map +1 -1
  57. package/dist/agent/state.d.ts +2 -0
  58. package/dist/agent/state.d.ts.map +1 -1
  59. package/dist/agent/state.js.map +1 -1
  60. package/dist/agent/status.d.ts +1 -1
  61. package/dist/agent/status.d.ts.map +1 -1
  62. package/dist/agent/status.js +45 -14
  63. package/dist/agent/status.js.map +1 -1
  64. package/dist/agent/system-prompt.d.ts +1 -1
  65. package/dist/agent/system-prompt.d.ts.map +1 -1
  66. package/dist/agent/system-prompt.js +29 -13
  67. package/dist/agent/system-prompt.js.map +1 -1
  68. package/dist/agent/usage/usage-gate.d.ts.map +1 -1
  69. package/dist/agent/usage/usage-gate.js +6 -10
  70. package/dist/agent/usage/usage-gate.js.map +1 -1
  71. package/dist/calendar/calendar-interrupt-poller.d.ts +1 -1
  72. package/dist/calendar/calendar-interrupt-poller.d.ts.map +1 -1
  73. package/dist/calendar/calendar-interrupt-poller.js +5 -0
  74. package/dist/calendar/calendar-interrupt-poller.js.map +1 -1
  75. package/dist/calendar/scheduler.d.ts +1 -1
  76. package/dist/calendar/scheduler.d.ts.map +1 -1
  77. package/dist/calendar/scheduler.js +3 -0
  78. package/dist/calendar/scheduler.js.map +1 -1
  79. package/dist/channels/gmail.d.ts +3 -2
  80. package/dist/channels/gmail.d.ts.map +1 -1
  81. package/dist/channels/gmail.js +1 -0
  82. package/dist/channels/gmail.js.map +1 -1
  83. package/dist/channels/manager.d.ts +1 -1
  84. package/dist/channels/manager.d.ts.map +1 -1
  85. package/dist/channels/manager.js +22 -11
  86. package/dist/channels/manager.js.map +1 -1
  87. package/dist/channels/queue.d.ts +4 -0
  88. package/dist/channels/queue.d.ts.map +1 -1
  89. package/dist/channels/queue.js +10 -0
  90. package/dist/channels/queue.js.map +1 -1
  91. package/dist/channels/tui.d.ts +24 -10
  92. package/dist/channels/tui.d.ts.map +1 -1
  93. package/dist/channels/tui.js +104 -15
  94. package/dist/channels/tui.js.map +1 -1
  95. package/dist/cli/index.d.ts +1 -1
  96. package/dist/cli/index.d.ts.map +1 -1
  97. package/dist/cli/index.js +19 -28
  98. package/dist/cli/index.js.map +1 -1
  99. package/dist/config/index.d.ts.map +1 -1
  100. package/dist/config/index.js +3 -1
  101. package/dist/config/index.js.map +1 -1
  102. package/dist/config/types.d.ts +32 -1
  103. package/dist/config/types.d.ts.map +1 -1
  104. package/dist/config/types.js +48 -1
  105. package/dist/config/types.js.map +1 -1
  106. package/dist/e2e/suites/google.d.ts.map +1 -1
  107. package/dist/e2e/suites/google.js +11 -3
  108. package/dist/e2e/suites/google.js.map +1 -1
  109. package/dist/index.js.map +1 -1
  110. package/dist/obs/rdp/backend.d.ts +12 -0
  111. package/dist/obs/rdp/backend.d.ts.map +1 -0
  112. package/dist/obs/rdp/backend.js +10 -0
  113. package/dist/obs/rdp/backend.js.map +1 -0
  114. package/dist/obs/rdp/linux-x11-backend.d.ts +25 -0
  115. package/dist/obs/rdp/linux-x11-backend.d.ts.map +1 -0
  116. package/dist/obs/rdp/linux-x11-backend.js +161 -0
  117. package/dist/obs/rdp/linux-x11-backend.js.map +1 -0
  118. package/dist/obs/rdp/macos-backend.d.ts +12 -0
  119. package/dist/obs/rdp/macos-backend.d.ts.map +1 -0
  120. package/dist/obs/rdp/macos-backend.js +39 -0
  121. package/dist/obs/rdp/macos-backend.js.map +1 -0
  122. package/dist/obs/rdp/stream-manager.d.ts +3 -0
  123. package/dist/obs/rdp/stream-manager.d.ts.map +1 -1
  124. package/dist/obs/rdp/stream-manager.js +23 -42
  125. package/dist/obs/rdp/stream-manager.js.map +1 -1
  126. package/dist/obs/server.d.ts +1 -1
  127. package/dist/obs/server.d.ts.map +1 -1
  128. package/dist/obs/server.js +8 -3
  129. package/dist/obs/server.js.map +1 -1
  130. package/dist/onboarding/bootstrap-client.d.ts +43 -18
  131. package/dist/onboarding/bootstrap-client.d.ts.map +1 -1
  132. package/dist/onboarding/bootstrap-client.js +11 -1
  133. package/dist/onboarding/bootstrap-client.js.map +1 -1
  134. package/dist/onboarding/generate-wallpaper.d.ts +29 -0
  135. package/dist/onboarding/generate-wallpaper.d.ts.map +1 -1
  136. package/dist/onboarding/generate-wallpaper.js +58 -38
  137. package/dist/onboarding/generate-wallpaper.js.map +1 -1
  138. package/dist/onboarding/host-resolver.d.ts +2 -0
  139. package/dist/onboarding/host-resolver.d.ts.map +1 -0
  140. package/dist/onboarding/host-resolver.js +18 -0
  141. package/dist/onboarding/host-resolver.js.map +1 -0
  142. package/dist/onboarding/index.d.ts.map +1 -1
  143. package/dist/onboarding/index.js +2 -17
  144. package/dist/onboarding/index.js.map +1 -1
  145. package/dist/onboarding/onboarding-service-client.d.ts +2 -0
  146. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  147. package/dist/onboarding/onboarding-service-client.js.map +1 -1
  148. package/dist/onboarding/prepare-linux.d.ts +9 -0
  149. package/dist/onboarding/prepare-linux.d.ts.map +1 -0
  150. package/dist/onboarding/prepare-linux.js +64 -0
  151. package/dist/onboarding/prepare-linux.js.map +1 -0
  152. package/dist/onboarding/send-invite.d.ts +1 -1
  153. package/dist/onboarding/send-invite.d.ts.map +1 -1
  154. package/dist/onboarding/send-invite.js +23 -7
  155. package/dist/onboarding/send-invite.js.map +1 -1
  156. package/dist/onboarding/setup-shared.d.ts +10 -2
  157. package/dist/onboarding/setup-shared.d.ts.map +1 -1
  158. package/dist/onboarding/setup-shared.js +37 -6
  159. package/dist/onboarding/setup-shared.js.map +1 -1
  160. package/dist/onboarding/setup-state.d.ts +1 -0
  161. package/dist/onboarding/setup-state.d.ts.map +1 -1
  162. package/dist/onboarding/setup-state.js +1 -0
  163. package/dist/onboarding/setup-state.js.map +1 -1
  164. package/dist/onboarding/setup-steps.d.ts.map +1 -1
  165. package/dist/onboarding/setup-steps.js +53 -18
  166. package/dist/onboarding/setup-steps.js.map +1 -1
  167. package/dist/onboarding/wallpaper-contract.d.ts +38 -0
  168. package/dist/onboarding/wallpaper-contract.d.ts.map +1 -0
  169. package/dist/onboarding/wallpaper-contract.js +2 -0
  170. package/dist/onboarding/wallpaper-contract.js.map +1 -0
  171. package/dist/onboarding/wallpaper-linux-x11.d.ts +8 -0
  172. package/dist/onboarding/wallpaper-linux-x11.d.ts.map +1 -0
  173. package/dist/onboarding/wallpaper-linux-x11.js +72 -0
  174. package/dist/onboarding/wallpaper-linux-x11.js.map +1 -0
  175. package/dist/onboarding/wallpaper-macos.d.ts +4 -0
  176. package/dist/onboarding/wallpaper-macos.d.ts.map +1 -0
  177. package/dist/onboarding/wallpaper-macos.js +32 -0
  178. package/dist/onboarding/wallpaper-macos.js.map +1 -0
  179. package/dist/onboarding/wallpaper-platform.d.ts +4 -0
  180. package/dist/onboarding/wallpaper-platform.d.ts.map +1 -0
  181. package/dist/onboarding/wallpaper-platform.js +41 -0
  182. package/dist/onboarding/wallpaper-platform.js.map +1 -0
  183. package/dist/reconfigure.d.ts.map +1 -1
  184. package/dist/reconfigure.js +16 -5
  185. package/dist/reconfigure.js.map +1 -1
  186. package/dist/reset.d.ts.map +1 -1
  187. package/dist/reset.js +7 -0
  188. package/dist/reset.js.map +1 -1
  189. package/dist/restore.d.ts +2 -0
  190. package/dist/restore.d.ts.map +1 -1
  191. package/dist/restore.js +25 -0
  192. package/dist/restore.js.map +1 -1
  193. package/dist/runtime/linux-baseline.d.ts +2 -0
  194. package/dist/runtime/linux-baseline.d.ts.map +1 -0
  195. package/dist/runtime/linux-baseline.js +21 -0
  196. package/dist/runtime/linux-baseline.js.map +1 -0
  197. package/dist/service/daemon.d.ts.map +1 -1
  198. package/dist/service/daemon.js +24 -0
  199. package/dist/service/daemon.js.map +1 -1
  200. package/dist/service/systemd.d.ts +11 -0
  201. package/dist/service/systemd.d.ts.map +1 -0
  202. package/dist/service/systemd.js +63 -0
  203. package/dist/service/systemd.js.map +1 -0
  204. package/dist/system/host-capabilities.d.ts +35 -0
  205. package/dist/system/host-capabilities.d.ts.map +1 -0
  206. package/dist/system/host-capabilities.js +107 -0
  207. package/dist/system/host-capabilities.js.map +1 -0
  208. package/dist/system/machine-identity.d.ts.map +1 -1
  209. package/dist/system/machine-identity.js +15 -0
  210. package/dist/system/machine-identity.js.map +1 -1
  211. package/dist/tools/computer-use.d.ts.map +1 -1
  212. package/dist/tools/computer-use.js +9 -2
  213. package/dist/tools/computer-use.js.map +1 -1
  214. package/dist/tools/desktop-executor-factory.d.ts.map +1 -1
  215. package/dist/tools/desktop-executor-factory.js +3 -0
  216. package/dist/tools/desktop-executor-factory.js.map +1 -1
  217. package/dist/tools/desktop-executor-linux.d.ts +19 -0
  218. package/dist/tools/desktop-executor-linux.d.ts.map +1 -0
  219. package/dist/tools/desktop-executor-linux.js +89 -0
  220. package/dist/tools/desktop-executor-linux.js.map +1 -0
  221. package/dist/tools/index.d.ts +10 -0
  222. package/dist/tools/index.d.ts.map +1 -1
  223. package/dist/tools/index.js +6 -3
  224. package/dist/tools/index.js.map +1 -1
  225. package/dist/tools/screenshot.js +7 -2
  226. package/dist/tools/screenshot.js.map +1 -1
  227. package/dist/tui/client.d.ts +46 -7
  228. package/dist/tui/client.d.ts.map +1 -1
  229. package/dist/tui/client.js +60 -16
  230. package/dist/tui/client.js.map +1 -1
  231. package/dist/tui/protocol.d.ts +40 -0
  232. package/dist/tui/protocol.d.ts.map +1 -0
  233. package/dist/tui/protocol.js +20 -0
  234. package/dist/tui/protocol.js.map +1 -0
  235. package/dist/tui/request-store.d.ts +40 -0
  236. package/dist/tui/request-store.d.ts.map +1 -0
  237. package/dist/tui/request-store.js +236 -0
  238. package/dist/tui/request-store.js.map +1 -0
  239. package/dist/tui/server.d.ts +3 -0
  240. package/dist/tui/server.d.ts.map +1 -1
  241. package/dist/tui/server.js +225 -36
  242. package/dist/tui/server.js.map +1 -1
  243. package/dist/workspace/google/gmail-email.d.ts +8 -2
  244. package/dist/workspace/google/gmail-email.d.ts.map +1 -1
  245. package/dist/workspace/google/gmail-email.js +6 -0
  246. package/dist/workspace/google/gmail-email.js.map +1 -1
  247. package/dist/workspace/provider-factory.d.ts +1 -1
  248. package/dist/workspace/provider-factory.d.ts.map +1 -1
  249. package/dist/workspace/provider-factory.js +27 -12
  250. package/dist/workspace/provider-factory.js.map +1 -1
  251. package/dist-agent/bundle.cjs +7037 -5329
  252. package/package.json +2 -2
  253. package/dist/agent/applied-credential-signature.d.ts +0 -53
  254. package/dist/agent/applied-credential-signature.d.ts.map +0 -1
  255. package/dist/agent/applied-credential-signature.js +0 -137
  256. package/dist/agent/applied-credential-signature.js.map +0 -1
  257. package/dist/agent/engines/client-factory.d.ts +0 -63
  258. package/dist/agent/engines/client-factory.d.ts.map +0 -1
  259. package/dist/agent/engines/client-factory.js +0 -382
  260. package/dist/agent/engines/client-factory.js.map +0 -1
  261. package/dist/agent/engines/engine.d.ts +0 -8
  262. package/dist/agent/engines/engine.d.ts.map +0 -1
  263. package/dist/agent/engines/engine.js +0 -15
  264. package/dist/agent/engines/engine.js.map +0 -1
  265. package/dist/agent/engines/openai/file-session.d.ts +0 -19
  266. package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
  267. package/dist/agent/engines/openai/file-session.js +0 -78
  268. package/dist/agent/engines/openai/file-session.js.map +0 -1
  269. package/dist/agent/engines/openai/file-tools.d.ts +0 -35
  270. package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
  271. package/dist/agent/engines/openai/file-tools.js +0 -194
  272. package/dist/agent/engines/openai/file-tools.js.map +0 -1
  273. package/dist/agent/engines/openai/session.d.ts +0 -55
  274. package/dist/agent/engines/openai/session.d.ts.map +0 -1
  275. package/dist/agent/engines/openai/session.js +0 -447
  276. package/dist/agent/engines/openai/session.js.map +0 -1
  277. package/dist/agent/engines/openai/tools.d.ts +0 -15
  278. package/dist/agent/engines/openai/tools.d.ts.map +0 -1
  279. package/dist/agent/engines/openai/tools.js +0 -221
  280. package/dist/agent/engines/openai/tools.js.map +0 -1
  281. package/dist/agent/engines/pi/session.d.ts +0 -49
  282. package/dist/agent/engines/pi/session.d.ts.map +0 -1
  283. package/dist/agent/engines/pi/session.js +0 -309
  284. package/dist/agent/engines/pi/session.js.map +0 -1
  285. package/dist/agent/memory-preload.d.ts +0 -55
  286. package/dist/agent/memory-preload.d.ts.map +0 -1
  287. package/dist/agent/memory-preload.js +0 -166
  288. package/dist/agent/memory-preload.js.map +0 -1
  289. package/dist/agent/providers/claude/cli-resolver.d.ts +0 -16
  290. package/dist/agent/providers/claude/cli-resolver.d.ts.map +0 -1
  291. package/dist/agent/providers/claude/cli-resolver.js +0 -83
  292. package/dist/agent/providers/claude/cli-resolver.js.map +0 -1
  293. package/dist/agent/providers/claude/session-browser-policy.d.ts +0 -9
  294. package/dist/agent/providers/claude/session-browser-policy.d.ts.map +0 -1
  295. package/dist/agent/providers/claude/session-browser-policy.js +0 -49
  296. package/dist/agent/providers/claude/session-browser-policy.js.map +0 -1
  297. package/dist/agent/providers/claude/session.d.ts +0 -304
  298. package/dist/agent/providers/claude/session.d.ts.map +0 -1
  299. package/dist/agent/providers/claude/session.js +0 -1236
  300. package/dist/agent/providers/claude/session.js.map +0 -1
  301. package/dist/agent/providers/client-factory.d.ts +0 -60
  302. package/dist/agent/providers/client-factory.d.ts.map +0 -1
  303. package/dist/agent/providers/client-factory.js +0 -400
  304. package/dist/agent/providers/client-factory.js.map +0 -1
  305. package/dist/agent/providers/openai/file-session.d.ts +0 -19
  306. package/dist/agent/providers/openai/file-session.d.ts.map +0 -1
  307. package/dist/agent/providers/openai/file-session.js +0 -78
  308. package/dist/agent/providers/openai/file-session.js.map +0 -1
  309. package/dist/agent/providers/openai/session.d.ts +0 -55
  310. package/dist/agent/providers/openai/session.d.ts.map +0 -1
  311. package/dist/agent/providers/openai/session.js +0 -447
  312. package/dist/agent/providers/openai/session.js.map +0 -1
  313. package/dist/agent/providers/openai/tools.d.ts +0 -15
  314. package/dist/agent/providers/openai/tools.d.ts.map +0 -1
  315. package/dist/agent/providers/openai/tools.js +0 -229
  316. package/dist/agent/providers/openai/tools.js.map +0 -1
  317. package/dist/agent/providers/session-types.d.ts +0 -153
  318. package/dist/agent/providers/session-types.d.ts.map +0 -1
  319. package/dist/agent/providers/session-types.js +0 -2
  320. package/dist/agent/providers/session-types.js.map +0 -1
  321. package/dist/agent/providers/system-prompt-log.d.ts +0 -9
  322. package/dist/agent/providers/system-prompt-log.d.ts.map +0 -1
  323. package/dist/agent/providers/system-prompt-log.js +0 -46
  324. package/dist/agent/providers/system-prompt-log.js.map +0 -1
  325. package/dist/agent/qq-claim-signal.d.ts +0 -9
  326. package/dist/agent/qq-claim-signal.d.ts.map +0 -1
  327. package/dist/agent/qq-claim-signal.js +0 -38
  328. package/dist/agent/qq-claim-signal.js.map +0 -1
  329. package/dist/agent/transcript-backfill.d.ts +0 -54
  330. package/dist/agent/transcript-backfill.d.ts.map +0 -1
  331. package/dist/agent/transcript-backfill.js +0 -604
  332. package/dist/agent/transcript-backfill.js.map +0 -1
  333. package/dist/agent/transcript-indexer.d.ts +0 -200
  334. package/dist/agent/transcript-indexer.d.ts.map +0 -1
  335. package/dist/agent/transcript-indexer.js +0 -775
  336. package/dist/agent/transcript-indexer.js.map +0 -1
  337. package/dist/agent/transcript-memory-migrations.d.ts +0 -25
  338. package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
  339. package/dist/agent/transcript-memory-migrations.js +0 -87
  340. package/dist/agent/transcript-memory-migrations.js.map +0 -1
  341. package/dist/agent/tunnel-credential-handler.d.ts +0 -90
  342. package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
  343. package/dist/agent/tunnel-credential-handler.js +0 -162
  344. package/dist/agent/tunnel-credential-handler.js.map +0 -1
  345. package/dist/agent/usage-backfill-handler.d.ts +0 -18
  346. package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
  347. package/dist/agent/usage-backfill-handler.js +0 -69
  348. package/dist/agent/usage-backfill-handler.js.map +0 -1
  349. package/dist/agent/usage-gate.d.ts +0 -25
  350. package/dist/agent/usage-gate.d.ts.map +0 -1
  351. package/dist/agent/usage-gate.js +0 -83
  352. package/dist/agent/usage-gate.js.map +0 -1
  353. package/dist/agent/usage-handler.d.ts +0 -7
  354. package/dist/agent/usage-handler.d.ts.map +0 -1
  355. package/dist/agent/usage-handler.js +0 -28
  356. package/dist/agent/usage-handler.js.map +0 -1
  357. package/dist/agent/usage-report-builder.d.ts +0 -26
  358. package/dist/agent/usage-report-builder.d.ts.map +0 -1
  359. package/dist/agent/usage-report-builder.js +0 -80
  360. package/dist/agent/usage-report-builder.js.map +0 -1
  361. package/dist/agent/usage-report-queue.d.ts +0 -26
  362. package/dist/agent/usage-report-queue.d.ts.map +0 -1
  363. package/dist/agent/usage-report-queue.js +0 -199
  364. package/dist/agent/usage-report-queue.js.map +0 -1
  365. package/dist/agent/usage-report-types.d.ts +0 -41
  366. package/dist/agent/usage-report-types.d.ts.map +0 -1
  367. package/dist/agent/usage-report-types.js +0 -2
  368. package/dist/agent/usage-report-types.js.map +0 -1
  369. package/dist/agent/usage-reporter.d.ts +0 -31
  370. package/dist/agent/usage-reporter.d.ts.map +0 -1
  371. package/dist/agent/usage-reporter.js +0 -102
  372. package/dist/agent/usage-reporter.js.map +0 -1
  373. package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
  374. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
  375. package/dist/agent/wake-cycle-tool-tracker.js +0 -72
  376. package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
  377. package/dist/anthropic-credentials.d.ts +0 -24
  378. package/dist/anthropic-credentials.d.ts.map +0 -1
  379. package/dist/anthropic-credentials.js +0 -37
  380. package/dist/anthropic-credentials.js.map +0 -1
  381. package/dist/billing/payg-handler.d.ts +0 -29
  382. package/dist/billing/payg-handler.d.ts.map +0 -1
  383. package/dist/billing/payg-handler.js +0 -92
  384. package/dist/billing/payg-handler.js.map +0 -1
  385. package/dist/billing/payment-handler.d.ts +0 -24
  386. package/dist/billing/payment-handler.d.ts.map +0 -1
  387. package/dist/billing/payment-handler.js +0 -101
  388. package/dist/billing/payment-handler.js.map +0 -1
  389. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  390. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  391. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  392. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  393. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  394. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  395. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  396. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  397. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  398. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  399. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  400. package/dist/calendar/google-calendar.d.ts +0 -54
  401. package/dist/calendar/google-calendar.d.ts.map +0 -1
  402. package/dist/calendar/google-calendar.js +0 -156
  403. package/dist/calendar/google-calendar.js.map +0 -1
  404. package/dist/channels/web.d.ts +0 -40
  405. package/dist/channels/web.d.ts.map +0 -1
  406. package/dist/channels/web.js +0 -137
  407. package/dist/channels/web.js.map +0 -1
  408. package/dist/config/models.d.ts +0 -32
  409. package/dist/config/models.d.ts.map +0 -1
  410. package/dist/config/models.js +0 -57
  411. package/dist/config/models.js.map +0 -1
  412. package/dist/data-processing/convert-demo-cli.d.ts +0 -7
  413. package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
  414. package/dist/data-processing/convert-demo-cli.js +0 -30
  415. package/dist/data-processing/convert-demo-cli.js.map +0 -1
  416. package/dist/data-processing/convert-demo.d.ts +0 -26
  417. package/dist/data-processing/convert-demo.d.ts.map +0 -1
  418. package/dist/data-processing/convert-demo.js +0 -233
  419. package/dist/data-processing/convert-demo.js.map +0 -1
  420. package/dist/drive/google-drive.d.ts +0 -83
  421. package/dist/drive/google-drive.d.ts.map +0 -1
  422. package/dist/drive/google-drive.js +0 -219
  423. package/dist/drive/google-drive.js.map +0 -1
  424. package/dist/email/gmail-email.d.ts +0 -64
  425. package/dist/email/gmail-email.d.ts.map +0 -1
  426. package/dist/email/gmail-email.js +0 -167
  427. package/dist/email/gmail-email.js.map +0 -1
  428. package/dist/factcheck/agent.d.ts +0 -50
  429. package/dist/factcheck/agent.d.ts.map +0 -1
  430. package/dist/factcheck/agent.js +0 -508
  431. package/dist/factcheck/agent.js.map +0 -1
  432. package/dist/factcheck/financial-verifier.d.ts +0 -49
  433. package/dist/factcheck/financial-verifier.d.ts.map +0 -1
  434. package/dist/factcheck/financial-verifier.js +0 -109
  435. package/dist/factcheck/financial-verifier.js.map +0 -1
  436. package/dist/factcheck/setup.d.ts +0 -32
  437. package/dist/factcheck/setup.d.ts.map +0 -1
  438. package/dist/factcheck/setup.js +0 -70
  439. package/dist/factcheck/setup.js.map +0 -1
  440. package/dist/factcheck/sidecar.d.ts +0 -131
  441. package/dist/factcheck/sidecar.d.ts.map +0 -1
  442. package/dist/factcheck/sidecar.js +0 -348
  443. package/dist/factcheck/sidecar.js.map +0 -1
  444. package/dist/factcheck/store.d.ts +0 -111
  445. package/dist/factcheck/store.d.ts.map +0 -1
  446. package/dist/factcheck/store.js +0 -246
  447. package/dist/factcheck/store.js.map +0 -1
  448. package/dist/factcheck/web-searcher.d.ts +0 -22
  449. package/dist/factcheck/web-searcher.d.ts.map +0 -1
  450. package/dist/factcheck/web-searcher.js +0 -90
  451. package/dist/factcheck/web-searcher.js.map +0 -1
  452. package/dist/obs/auth.d.ts +0 -45
  453. package/dist/obs/auth.d.ts.map +0 -1
  454. package/dist/obs/auth.js +0 -181
  455. package/dist/obs/auth.js.map +0 -1
  456. package/dist/obs/mini-app/tasks.d.ts +0 -2
  457. package/dist/obs/mini-app/tasks.d.ts.map +0 -1
  458. package/dist/obs/mini-app/tasks.js +0 -506
  459. package/dist/obs/mini-app/tasks.js.map +0 -1
  460. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  461. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  462. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  463. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  464. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  465. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  466. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  467. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  468. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  469. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  470. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  471. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  472. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  473. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  474. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  475. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  476. package/dist/obs/tunnel-telemetry.d.ts +0 -46
  477. package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
  478. package/dist/obs/tunnel-telemetry.js +0 -70
  479. package/dist/obs/tunnel-telemetry.js.map +0 -1
  480. package/dist/onboarding/cloudflared-cert.d.ts +0 -15
  481. package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
  482. package/dist/onboarding/cloudflared-cert.js +0 -57
  483. package/dist/onboarding/cloudflared-cert.js.map +0 -1
  484. package/dist/onboarding/gh-auth-browser.d.ts +0 -10
  485. package/dist/onboarding/gh-auth-browser.d.ts.map +0 -1
  486. package/dist/onboarding/gh-auth-browser.js +0 -70
  487. package/dist/onboarding/gh-auth-browser.js.map +0 -1
  488. package/dist/onboarding/provision-eth-wallet.d.ts +0 -7
  489. package/dist/onboarding/provision-eth-wallet.d.ts.map +0 -1
  490. package/dist/onboarding/provision-eth-wallet.js +0 -14
  491. package/dist/onboarding/provision-eth-wallet.js.map +0 -1
  492. package/dist/onboarding/provision-workspace-account.d.ts +0 -14
  493. package/dist/onboarding/provision-workspace-account.d.ts.map +0 -1
  494. package/dist/onboarding/provision-workspace-account.js +0 -165
  495. package/dist/onboarding/provision-workspace-account.js.map +0 -1
  496. package/dist/onboarding/provisioning-spec.d.ts +0 -62
  497. package/dist/onboarding/provisioning-spec.d.ts.map +0 -1
  498. package/dist/onboarding/provisioning-spec.js +0 -159
  499. package/dist/onboarding/provisioning-spec.js.map +0 -1
  500. package/dist/onboarding/send-identity-credentials.d.ts +0 -11
  501. package/dist/onboarding/send-identity-credentials.d.ts.map +0 -1
  502. package/dist/onboarding/send-identity-credentials.js +0 -110
  503. package/dist/onboarding/send-identity-credentials.js.map +0 -1
  504. package/dist/onboarding/setup-credentials.d.ts +0 -7
  505. package/dist/onboarding/setup-credentials.d.ts.map +0 -1
  506. package/dist/onboarding/setup-credentials.js +0 -44
  507. package/dist/onboarding/setup-credentials.js.map +0 -1
  508. package/dist/openai-credentials.d.ts +0 -30
  509. package/dist/openai-credentials.d.ts.map +0 -1
  510. package/dist/openai-credentials.js +0 -37
  511. package/dist/openai-credentials.js.map +0 -1
  512. package/dist/phonecall-credentials.d.ts +0 -21
  513. package/dist/phonecall-credentials.d.ts.map +0 -1
  514. package/dist/phonecall-credentials.js +0 -34
  515. package/dist/phonecall-credentials.js.map +0 -1
  516. package/dist/realtime/agent-bridge.d.ts +0 -7
  517. package/dist/realtime/agent-bridge.d.ts.map +0 -1
  518. package/dist/realtime/agent-bridge.js +0 -31
  519. package/dist/realtime/agent-bridge.js.map +0 -1
  520. package/dist/realtime/assets/index.html +0 -1058
  521. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  522. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  523. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  524. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  525. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  526. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  527. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  528. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  529. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  530. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  531. package/dist/realtime/context.d.ts +0 -14
  532. package/dist/realtime/context.d.ts.map +0 -1
  533. package/dist/realtime/context.js +0 -153
  534. package/dist/realtime/context.js.map +0 -1
  535. package/dist/realtime/http-helpers.d.ts +0 -5
  536. package/dist/realtime/http-helpers.d.ts.map +0 -1
  537. package/dist/realtime/http-helpers.js +0 -29
  538. package/dist/realtime/http-helpers.js.map +0 -1
  539. package/dist/realtime/index.d.ts +0 -62
  540. package/dist/realtime/index.d.ts.map +0 -1
  541. package/dist/realtime/index.js +0 -94
  542. package/dist/realtime/index.js.map +0 -1
  543. package/dist/realtime/server.d.ts +0 -6
  544. package/dist/realtime/server.d.ts.map +0 -1
  545. package/dist/realtime/server.js +0 -479
  546. package/dist/realtime/server.js.map +0 -1
  547. package/dist/realtime/telegram-auth.d.ts +0 -2
  548. package/dist/realtime/telegram-auth.d.ts.map +0 -1
  549. package/dist/realtime/telegram-auth.js +0 -24
  550. package/dist/realtime/telegram-auth.js.map +0 -1
  551. package/dist/realtime/tools.d.ts +0 -829
  552. package/dist/realtime/tools.d.ts.map +0 -1
  553. package/dist/realtime/tools.js +0 -611
  554. package/dist/realtime/tools.js.map +0 -1
  555. package/dist/realtime/types.d.ts +0 -62
  556. package/dist/realtime/types.d.ts.map +0 -1
  557. package/dist/realtime/types.js +0 -3
  558. package/dist/realtime/types.js.map +0 -1
  559. package/dist/realtime/voice-summarizer.d.ts +0 -4
  560. package/dist/realtime/voice-summarizer.d.ts.map +0 -1
  561. package/dist/realtime/voice-summarizer.js +0 -123
  562. package/dist/realtime/voice-summarizer.js.map +0 -1
  563. package/dist/realtime/websocket.d.ts +0 -7
  564. package/dist/realtime/websocket.d.ts.map +0 -1
  565. package/dist/realtime/websocket.js +0 -65
  566. package/dist/realtime/websocket.js.map +0 -1
  567. package/dist/service/gbox-tun.d.ts +0 -14
  568. package/dist/service/gbox-tun.d.ts.map +0 -1
  569. package/dist/service/gbox-tun.js +0 -315
  570. package/dist/service/gbox-tun.js.map +0 -1
  571. package/dist/skills/installed.d.ts +0 -11
  572. package/dist/skills/installed.d.ts.map +0 -1
  573. package/dist/skills/installed.js +0 -35
  574. package/dist/skills/installed.js.map +0 -1
  575. package/dist/tools/card.d.ts +0 -11
  576. package/dist/tools/card.d.ts.map +0 -1
  577. package/dist/tools/card.js +0 -87
  578. package/dist/tools/card.js.map +0 -1
  579. package/dist/tools/coordinate-resolver.d.ts +0 -30
  580. package/dist/tools/coordinate-resolver.d.ts.map +0 -1
  581. package/dist/tools/coordinate-resolver.js +0 -104
  582. package/dist/tools/coordinate-resolver.js.map +0 -1
  583. package/dist/tools/sms.d.ts +0 -16
  584. package/dist/tools/sms.d.ts.map +0 -1
  585. package/dist/tools/sms.js +0 -78
  586. package/dist/tools/sms.js.map +0 -1
  587. package/dist/tools/stock-data.d.ts +0 -70
  588. package/dist/tools/stock-data.d.ts.map +0 -1
  589. package/dist/tools/stock-data.js +0 -596
  590. package/dist/tools/stock-data.js.map +0 -1
  591. package/dist/tools/webapp.d.ts +0 -30
  592. package/dist/tools/webapp.d.ts.map +0 -1
  593. package/dist/tools/webapp.js +0 -114
  594. package/dist/tools/webapp.js.map +0 -1
  595. package/dist/utils/wechat-monitor.d.ts +0 -21
  596. package/dist/utils/wechat-monitor.d.ts.map +0 -1
  597. package/dist/utils/wechat-monitor.js +0 -88
  598. package/dist/utils/wechat-monitor.js.map +0 -1
  599. package/dist/webapp/index.d.ts +0 -28
  600. package/dist/webapp/index.d.ts.map +0 -1
  601. package/dist/webapp/index.js +0 -75
  602. package/dist/webapp/index.js.map +0 -1
  603. package/dist/webapp/server.d.ts +0 -32
  604. package/dist/webapp/server.d.ts.map +0 -1
  605. package/dist/webapp/server.js +0 -375
  606. package/dist/webapp/server.js.map +0 -1
  607. package/dist/webapp/storage.d.ts +0 -64
  608. package/dist/webapp/storage.d.ts.map +0 -1
  609. package/dist/webapp/storage.js +0 -103
  610. package/dist/webapp/storage.js.map +0 -1
  611. package/dist/webapp/ui.d.ts +0 -2
  612. package/dist/webapp/ui.d.ts.map +0 -1
  613. package/dist/webapp/ui.js +0 -319
  614. package/dist/webapp/ui.js.map +0 -1
  615. package/dist-agent/assets/index.html +0 -1058
  616. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  617. package/dist-agent/assets/samples/ash.mp3 +0 -0
  618. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  619. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  620. package/dist-agent/assets/samples/coral.mp3 +0 -0
  621. package/dist-agent/assets/samples/echo.mp3 +0 -0
  622. package/dist-agent/assets/samples/marin.mp3 +0 -0
  623. package/dist-agent/assets/samples/sage.mp3 +0 -0
  624. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  625. package/dist-agent/assets/samples/verse.mp3 +0 -0
  626. package/dist-agent/realtime/assets/index.html +0 -1058
  627. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  628. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  629. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  630. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  631. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  632. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  633. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  634. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  635. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  636. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
@@ -1,233 +0,0 @@
1
- /**
2
- * Convert restructured JSONL records to the OpenClaw demo.json format.
3
- *
4
- * The demo format uses an OpenAI chat-completion-style messages array:
5
- * system → user → (assistant → tool)* → assistant
6
- *
7
- * Usage:
8
- * npx tsx src/data-processing/convert-demo.ts <output-dir> [-o <demo-output-dir>]
9
- *
10
- * Reads:
11
- * <output-dir>/restructured-*.jsonl
12
- * <output-dir>/workspace/system-prompt.md
13
- *
14
- * Writes:
15
- * <demo-output-dir>/demo-clean.jsonl (or specified output dir)
16
- * <demo-output-dir>/demo-interrupted.jsonl
17
- * <demo-output-dir>/demo-heartbeat.jsonl
18
- */
19
- import fs from "node:fs";
20
- import path from "node:path";
21
- import readline from "node:readline";
22
- import { randomUUID } from "node:crypto";
23
- // ---------------------------------------------------------------------------
24
- // Turn grouping helpers
25
- // ---------------------------------------------------------------------------
26
- /**
27
- * Group trajectory entries into chat-style turns.
28
- *
29
- * Grouping rules:
30
- * - Consecutive `thinking`, `assistant`, `tool_call` entries are merged
31
- * into a single `assistant` message.
32
- * - Each `tool_result` becomes a separate `tool` message.
33
- * - `user_message` entries become `user` messages.
34
- * - `context` entries become `user` messages (system-injected context).
35
- */
36
- function groupTrajectoryIntoMessages(trajectory) {
37
- const messages = [];
38
- // Accumulator for a single assistant turn
39
- let thinkingBuf = "";
40
- let contentBuf = "";
41
- let toolCalls = [];
42
- let toolCallCounter = 0;
43
- function flushAssistant() {
44
- if (!thinkingBuf && !contentBuf && toolCalls.length === 0)
45
- return;
46
- const msg = {
47
- role: "assistant",
48
- content: contentBuf,
49
- };
50
- if (thinkingBuf) {
51
- msg.reasoning_content = thinkingBuf;
52
- }
53
- if (toolCalls.length > 0) {
54
- msg.tool_calls = [...toolCalls];
55
- }
56
- messages.push(msg);
57
- thinkingBuf = "";
58
- contentBuf = "";
59
- toolCalls = [];
60
- }
61
- for (const entry of trajectory) {
62
- switch (entry.role) {
63
- case "thinking":
64
- // Thinking can appear before assistant/tool_call, accumulate
65
- if (thinkingBuf)
66
- thinkingBuf += "\n";
67
- thinkingBuf += entry.content;
68
- break;
69
- case "assistant":
70
- // Assistant text content
71
- if (contentBuf)
72
- contentBuf += "\n";
73
- contentBuf += entry.content;
74
- break;
75
- case "tool_call": {
76
- // Parse tool call metadata
77
- const meta = entry.metadata ?? {};
78
- const toolName = meta.tool_name ?? entry.content;
79
- const toolInput = meta.tool_input !== undefined && meta.tool_input !== null
80
- ? (typeof meta.tool_input === "string" ? meta.tool_input : JSON.stringify(meta.tool_input))
81
- : "";
82
- const toolUseId = meta.tool_use_id ?? `call_${++toolCallCounter}`;
83
- toolCalls.push({
84
- id: toolUseId,
85
- type: "function",
86
- function: {
87
- name: toolName,
88
- arguments: toolInput,
89
- },
90
- });
91
- break;
92
- }
93
- case "tool_result": {
94
- // Flush pending assistant turn before adding tool result
95
- flushAssistant();
96
- const resultMeta = entry.metadata ?? {};
97
- const resultToolUseId = resultMeta.tool_use_id ?? `call_${toolCallCounter}`;
98
- messages.push({
99
- role: "tool",
100
- content: entry.content,
101
- tool_call_id: resultToolUseId,
102
- });
103
- break;
104
- }
105
- case "user_message":
106
- // Flush any pending assistant turn
107
- flushAssistant();
108
- messages.push({
109
- role: "user",
110
- content: entry.content,
111
- });
112
- break;
113
- case "context":
114
- // Flush any pending assistant turn
115
- flushAssistant();
116
- messages.push({
117
- role: "user",
118
- content: entry.content,
119
- });
120
- break;
121
- default:
122
- // Unknown role — skip
123
- break;
124
- }
125
- }
126
- // Flush any remaining assistant content
127
- flushAssistant();
128
- return messages;
129
- }
130
- // ---------------------------------------------------------------------------
131
- // Prior context → user message
132
- // ---------------------------------------------------------------------------
133
- function buildPriorContextContent(priorContext, prompt) {
134
- const parts = [];
135
- if (priorContext?.compaction_summary) {
136
- parts.push(`[Prior Context Summary]\n${priorContext.compaction_summary}`);
137
- }
138
- if (priorContext?.prior_messages && priorContext.prior_messages.length > 0) {
139
- const priorText = priorContext.prior_messages
140
- .map((m) => `[${m.role}] ${m.content}`)
141
- .join("\n");
142
- parts.push(`[Prior Messages]\n${priorText}`);
143
- }
144
- parts.push(prompt);
145
- return parts.join("\n\n");
146
- }
147
- // ---------------------------------------------------------------------------
148
- // Convert a single OutputRecord → DemoRecord
149
- // ---------------------------------------------------------------------------
150
- function convertRecord(record, systemPrompt) {
151
- const messages = [];
152
- // 1. System message
153
- messages.push({
154
- role: "system",
155
- content: systemPrompt,
156
- });
157
- // 2. User message (prior context + prompt)
158
- const userContent = buildPriorContextContent(record.prior_context, record.prompt);
159
- messages.push({
160
- role: "user",
161
- content: userContent,
162
- });
163
- // 3. Trajectory → grouped messages
164
- const trajectoryMessages = groupTrajectoryIntoMessages(record.trajectory);
165
- messages.push(...trajectoryMessages);
166
- return {
167
- uid: record.wake_cycle_id ?? randomUUID(),
168
- agent_type: "main",
169
- subagent_index: null,
170
- prompt: record.prompt,
171
- success: record.complete,
172
- messages,
173
- };
174
- }
175
- // ---------------------------------------------------------------------------
176
- // File processing
177
- // ---------------------------------------------------------------------------
178
- async function processJsonlFile(inputPath, outputPath, systemPrompt) {
179
- if (!fs.existsSync(inputPath))
180
- return 0;
181
- const rl = readline.createInterface({
182
- input: fs.createReadStream(inputPath),
183
- crlfDelay: Infinity,
184
- });
185
- const outStream = fs.createWriteStream(outputPath);
186
- let count = 0;
187
- for await (const line of rl) {
188
- if (!line.trim())
189
- continue;
190
- try {
191
- const record = JSON.parse(line);
192
- const demo = convertRecord(record, systemPrompt);
193
- outStream.write(JSON.stringify(demo) + "\n");
194
- count++;
195
- }
196
- catch {
197
- // Skip malformed lines
198
- }
199
- }
200
- outStream.end();
201
- return count;
202
- }
203
- export async function convertDemo(opts) {
204
- const { outputDir } = opts;
205
- const demoOutputDir = opts.demoOutputDir ?? outputDir;
206
- // Read system prompt
207
- const systemPromptPath = path.join(outputDir, "workspace", "system-prompt.md");
208
- if (!fs.existsSync(systemPromptPath)) {
209
- console.error(`System prompt not found: ${systemPromptPath}`);
210
- console.error("Run the pipeline with system-prompt export first.");
211
- process.exit(1);
212
- }
213
- const systemPrompt = fs.readFileSync(systemPromptPath, "utf-8");
214
- fs.mkdirSync(demoOutputDir, { recursive: true });
215
- // Convert each category
216
- const categories = ["clean", "interrupted", "incomplete", "heartbeat"];
217
- let totalRecords = 0;
218
- for (const cat of categories) {
219
- const inputFile = path.join(outputDir, `restructured-${cat}.jsonl`);
220
- const outputFile = path.join(demoOutputDir, `demo-${cat}.jsonl`);
221
- const count = await processJsonlFile(inputFile, outputFile, systemPrompt);
222
- if (count > 0) {
223
- console.log(` ${path.basename(outputFile)}: ${count} records`);
224
- totalRecords += count;
225
- }
226
- else if (fs.existsSync(outputFile)) {
227
- // Remove empty output files
228
- fs.unlinkSync(outputFile);
229
- }
230
- }
231
- console.log(` Total: ${totalRecords} demo records`);
232
- }
233
- //# sourceMappingURL=convert-demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-demo.js","sourceRoot":"","sources":["../../src/data-processing/convert-demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiCzC,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAS,2BAA2B,CAAC,UAA6B;IAChE,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,0CAA0C;IAC1C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,SAAS,GAAmB,EAAE,CAAC;IACnC,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,SAAS,cAAc;QACrB,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClE,MAAM,GAAG,GAAgB;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACtC,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,WAAW,GAAG,EAAE,CAAC;QACjB,UAAU,GAAG,EAAE,CAAC;QAChB,SAAS,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU;gBACb,6DAA6D;gBAC7D,IAAI,WAAW;oBAAE,WAAW,IAAI,IAAI,CAAC;gBACrC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC;gBAC7B,MAAM;YAER,KAAK,WAAW;gBACd,yBAAyB;gBACzB,IAAI,UAAU;oBAAE,UAAU,IAAI,IAAI,CAAC;gBACnC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC;gBAC5B,MAAM;YAER,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,2BAA2B;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAI,IAAI,CAAC,SAAgC,IAAI,KAAK,CAAC,OAAO,CAAC;gBACzE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;oBACzE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC3F,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,SAAS,GAAI,IAAI,CAAC,WAAkC,IAAI,QAAQ,EAAE,eAAe,EAAE,CAAC;gBAE1F,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;qBACrB;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,yDAAyD;gBACzD,cAAc,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxC,MAAM,eAAe,GAAI,UAAU,CAAC,WAAkC,IAAI,QAAQ,eAAe,EAAE,CAAC;gBACpG,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,YAAY,EAAE,eAAe;iBAC9B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,cAAc;gBACjB,mCAAmC;gBACnC,cAAc,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,SAAS;gBACZ,mCAAmC;gBACnC,cAAc,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,MAAM;YAER;gBACE,sBAAsB;gBACtB,MAAM;QACV,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,cAAc,EAAE,CAAC;IAEjB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,SAAS,wBAAwB,CAAC,YAAiC,EAAE,MAAc;IACjF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,YAAY,EAAE,kBAAkB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,4BAA4B,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,YAAY,EAAE,cAAc,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,SAAS,aAAa,CAAC,MAAoB,EAAE,YAAoB;IAC/D,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,oBAAoB;IACpB,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClF,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,mCAAmC;IACnC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;IAErC,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,aAAa,IAAI,UAAU,EAAE;QACzC,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,KAAK,UAAU,gBAAgB,CAC7B,SAAiB,EACjB,UAAkB,EAClB,YAAoB;IAEpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IAExC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACrC,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC;YAChD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACjD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7C,KAAK,EAAE,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAG,EAAE,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC;IAEtD,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEhE,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,wBAAwB;IACxB,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;IAChF,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,QAAQ,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC1E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;YAChE,YAAY,IAAI,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,4BAA4B;YAC5B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,eAAe,CAAC,CAAC;AACvD,CAAC"}
@@ -1,83 +0,0 @@
1
- import type { VisionClawConfig } from "../config/types.js";
2
- export interface DriveFileSummary {
3
- id: string;
4
- name: string;
5
- mimeType: string;
6
- size?: string;
7
- modifiedTime?: string;
8
- webViewLink?: string;
9
- parents?: string[];
10
- }
11
- export interface DriveUploadResult {
12
- id: string;
13
- name: string;
14
- mimeType: string;
15
- webViewLink?: string;
16
- size?: string;
17
- }
18
- /**
19
- * Wrapper around Google Drive API v3.
20
- * Uses OAuth tokens from onboarding to manage files in the agent's Google Drive.
21
- */
22
- export declare class GoogleDriveClient {
23
- private drive;
24
- constructor(config: VisionClawConfig);
25
- /**
26
- * List files in Google Drive with optional query filtering.
27
- */
28
- listFiles(options: {
29
- query?: string;
30
- maxResults?: number;
31
- folderId?: string;
32
- orderBy?: string;
33
- }): Promise<DriveFileSummary[]>;
34
- /**
35
- * Get metadata for a specific file.
36
- */
37
- getFile(fileId: string): Promise<DriveFileSummary>;
38
- /**
39
- * Upload a local file to Google Drive.
40
- */
41
- uploadFile(options: {
42
- localPath: string;
43
- name?: string;
44
- mimeType?: string;
45
- folderId?: string;
46
- onProgress?: (uploadedBytes: number) => void;
47
- }): Promise<DriveUploadResult>;
48
- /**
49
- * Download a file from Google Drive to a local path.
50
- */
51
- downloadFile(options: {
52
- fileId: string;
53
- localPath: string;
54
- }): Promise<void>;
55
- /**
56
- * Create a folder in Google Drive.
57
- */
58
- createFolder(options: {
59
- name: string;
60
- parentId?: string;
61
- }): Promise<DriveFileSummary>;
62
- /**
63
- * Share a file with a specific email address.
64
- */
65
- shareFile(options: {
66
- fileId: string;
67
- email: string;
68
- role: "reader" | "writer" | "commenter";
69
- sendNotification?: boolean;
70
- }): Promise<void>;
71
- /**
72
- * Move a file to trash (soft delete).
73
- */
74
- deleteFile(fileId: string): Promise<void>;
75
- /**
76
- * Move a file to a different folder.
77
- */
78
- moveFile(options: {
79
- fileId: string;
80
- newFolderId: string;
81
- }): Promise<DriveFileSummary>;
82
- }
83
- //# sourceMappingURL=google-drive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-drive.d.ts","sourceRoot":"","sources":["../../src/drive/google-drive.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqB3D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAiB;gBAElB,MAAM,EAAE,gBAAgB;IA4BpC;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA4B/B;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiBxD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9C,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiC9B;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjB;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB7B;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;QACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjB;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA0B9B"}
@@ -1,219 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { google } from "googleapis";
4
- import { loadGoogleTokens, saveGoogleTokens } from "../config/index.js";
5
- import { resolveGoogleOAuthCredentials } from "../google/oauth-credentials.js";
6
- function getDrivePermissionErrorReason(error) {
7
- const reason = error
8
- .response?.data?.error?.errors?.[0]?.reason;
9
- return typeof reason === "string" ? reason : undefined;
10
- }
11
- /**
12
- * Wrapper around Google Drive API v3.
13
- * Uses OAuth tokens from onboarding to manage files in the agent's Google Drive.
14
- */
15
- export class GoogleDriveClient {
16
- drive;
17
- constructor(config) {
18
- const tokens = loadGoogleTokens();
19
- const { clientId, clientSecret } = resolveGoogleOAuthCredentials(config);
20
- const oauth2Client = new google.auth.OAuth2(clientId, clientSecret);
21
- oauth2Client.setCredentials({
22
- access_token: tokens.access_token,
23
- refresh_token: tokens.refresh_token,
24
- token_type: tokens.token_type,
25
- expiry_date: tokens.expiry_date,
26
- });
27
- // Auto-refresh tokens
28
- oauth2Client.on("tokens", (newTokens) => {
29
- const existing = loadGoogleTokens();
30
- saveGoogleTokens({
31
- ...existing,
32
- access_token: newTokens.access_token ?? existing.access_token,
33
- refresh_token: newTokens.refresh_token ?? existing.refresh_token,
34
- expiry_date: newTokens.expiry_date ?? existing.expiry_date,
35
- });
36
- });
37
- this.drive = google.drive({ version: "v3", auth: oauth2Client });
38
- }
39
- /**
40
- * List files in Google Drive with optional query filtering.
41
- */
42
- async listFiles(options) {
43
- let q = "trashed = false";
44
- if (options.folderId) {
45
- q += ` and '${options.folderId}' in parents`;
46
- }
47
- if (options.query) {
48
- q += ` and (${options.query})`;
49
- }
50
- const res = await this.drive.files.list({
51
- q,
52
- pageSize: options.maxResults ?? 20,
53
- orderBy: options.orderBy ?? "modifiedTime desc",
54
- fields: "files(id, name, mimeType, size, modifiedTime, webViewLink, parents)",
55
- });
56
- return (res.data.files ?? []).map((f) => ({
57
- id: f.id ?? "",
58
- name: f.name ?? "",
59
- mimeType: f.mimeType ?? "",
60
- size: f.size ?? undefined,
61
- modifiedTime: f.modifiedTime ?? undefined,
62
- webViewLink: f.webViewLink ?? undefined,
63
- parents: f.parents ?? undefined,
64
- }));
65
- }
66
- /**
67
- * Get metadata for a specific file.
68
- */
69
- async getFile(fileId) {
70
- const res = await this.drive.files.get({
71
- fileId,
72
- fields: "id, name, mimeType, size, modifiedTime, webViewLink, parents",
73
- });
74
- const f = res.data;
75
- return {
76
- id: f.id ?? "",
77
- name: f.name ?? "",
78
- mimeType: f.mimeType ?? "",
79
- size: f.size ?? undefined,
80
- modifiedTime: f.modifiedTime ?? undefined,
81
- webViewLink: f.webViewLink ?? undefined,
82
- parents: f.parents ?? undefined,
83
- };
84
- }
85
- /**
86
- * Upload a local file to Google Drive.
87
- */
88
- async uploadFile(options) {
89
- const localPath = options.localPath;
90
- const name = options.name ?? path.basename(localPath);
91
- const fileStream = fs.createReadStream(localPath);
92
- let uploadedBytes = 0;
93
- fileStream.on("data", (chunk) => {
94
- uploadedBytes += Buffer.isBuffer(chunk) ? chunk.length : Buffer.byteLength(chunk);
95
- options.onProgress?.(uploadedBytes);
96
- });
97
- const res = await this.drive.files.create({
98
- requestBody: {
99
- name,
100
- parents: options.folderId ? [options.folderId] : undefined,
101
- },
102
- media: {
103
- mimeType: options.mimeType ?? "application/octet-stream",
104
- body: fileStream,
105
- },
106
- fields: "id, name, mimeType, size, webViewLink",
107
- });
108
- const f = res.data;
109
- return {
110
- id: f.id ?? "",
111
- name: f.name ?? "",
112
- mimeType: f.mimeType ?? "",
113
- webViewLink: f.webViewLink ?? undefined,
114
- size: f.size ?? undefined,
115
- };
116
- }
117
- /**
118
- * Download a file from Google Drive to a local path.
119
- */
120
- async downloadFile(options) {
121
- const dest = fs.createWriteStream(options.localPath);
122
- const res = await this.drive.files.get({ fileId: options.fileId, alt: "media" }, { responseType: "stream" });
123
- await new Promise((resolve, reject) => {
124
- res.data
125
- .on("end", resolve)
126
- .on("error", reject)
127
- .pipe(dest);
128
- });
129
- }
130
- /**
131
- * Create a folder in Google Drive.
132
- */
133
- async createFolder(options) {
134
- const res = await this.drive.files.create({
135
- requestBody: {
136
- name: options.name,
137
- mimeType: "application/vnd.google-apps.folder",
138
- parents: options.parentId ? [options.parentId] : undefined,
139
- },
140
- fields: "id, name, mimeType, webViewLink, parents",
141
- });
142
- const f = res.data;
143
- return {
144
- id: f.id ?? "",
145
- name: f.name ?? "",
146
- mimeType: f.mimeType ?? "",
147
- webViewLink: f.webViewLink ?? undefined,
148
- parents: f.parents ?? undefined,
149
- };
150
- }
151
- /**
152
- * Share a file with a specific email address.
153
- */
154
- async shareFile(options) {
155
- const requestBody = {
156
- type: "user",
157
- role: options.role,
158
- emailAddress: options.email,
159
- };
160
- const sendNotification = options.sendNotification ?? false;
161
- try {
162
- await this.drive.permissions.create({
163
- fileId: options.fileId,
164
- sendNotificationEmail: sendNotification,
165
- requestBody,
166
- });
167
- }
168
- catch (error) {
169
- // Google rejects silent shares to emails without a Google account.
170
- if (!sendNotification &&
171
- getDrivePermissionErrorReason(error) === "invalidSharingRequest") {
172
- await this.drive.permissions.create({
173
- fileId: options.fileId,
174
- sendNotificationEmail: true,
175
- requestBody,
176
- });
177
- return;
178
- }
179
- throw error;
180
- }
181
- }
182
- /**
183
- * Move a file to trash (soft delete).
184
- */
185
- async deleteFile(fileId) {
186
- await this.drive.files.update({
187
- fileId,
188
- requestBody: { trashed: true },
189
- });
190
- }
191
- /**
192
- * Move a file to a different folder.
193
- */
194
- async moveFile(options) {
195
- // Get current parents first
196
- const current = await this.drive.files.get({
197
- fileId: options.fileId,
198
- fields: "parents",
199
- });
200
- const previousParents = (current.data.parents ?? []).join(",");
201
- const res = await this.drive.files.update({
202
- fileId: options.fileId,
203
- addParents: options.newFolderId,
204
- removeParents: previousParents,
205
- fields: "id, name, mimeType, size, modifiedTime, webViewLink, parents",
206
- });
207
- const f = res.data;
208
- return {
209
- id: f.id ?? "",
210
- name: f.name ?? "",
211
- mimeType: f.mimeType ?? "",
212
- size: f.size ?? undefined,
213
- modifiedTime: f.modifiedTime ?? undefined,
214
- webViewLink: f.webViewLink ?? undefined,
215
- parents: f.parents ?? undefined,
216
- };
217
- }
218
- }
219
- //# sourceMappingURL=google-drive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-drive.js","sourceRoot":"","sources":["../../src/drive/google-drive.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- import type { VisionClawConfig } from "../config/types.js";
2
- import type { MessageAttachment } from "../channels/interface.js";
3
- export interface GmailListEmailsOptions {
4
- /** Gmail label to list from (default: INBOX) */
5
- label?: string;
6
- /** Only include unread messages (default: false) */
7
- unreadOnly?: boolean;
8
- /** Gmail search query (e.g. 'from:foo subject:bar newer_than:7d') */
9
- query?: string;
10
- /** Max results to return (default: 10) */
11
- maxResults?: number;
12
- }
13
- export interface GmailEmailSummary {
14
- id: string;
15
- threadId?: string;
16
- from?: string;
17
- to?: string;
18
- subject?: string;
19
- date?: string;
20
- snippet?: string;
21
- labels?: string[];
22
- }
23
- export interface GmailEmailDetail extends GmailEmailSummary {
24
- bodyText?: string;
25
- }
26
- /**
27
- * Gmail email client wrapper (separate from the Gmail channel adapter).
28
- * Provides programmatic email operations for agent tools.
29
- */
30
- export declare class GmailEmailClient {
31
- private gmail;
32
- private config;
33
- constructor(config: VisionClawConfig);
34
- listEmails(options?: GmailListEmailsOptions): Promise<GmailEmailSummary[]>;
35
- getEmail(messageId: string): Promise<GmailEmailDetail>;
36
- markRead(messageId: string): Promise<void>;
37
- markUnread(messageId: string): Promise<void>;
38
- archive(messageId: string): Promise<void>;
39
- sendEmail(options: {
40
- to: string;
41
- cc?: string;
42
- bcc?: string;
43
- subject: string;
44
- body: string;
45
- htmlBody?: string;
46
- attachments?: MessageAttachment[];
47
- }): Promise<{
48
- id?: string;
49
- threadId?: string;
50
- }>;
51
- reply(options: {
52
- messageId: string;
53
- to?: string;
54
- cc?: string;
55
- bcc?: string;
56
- body: string;
57
- htmlBody?: string;
58
- attachments?: MessageAttachment[];
59
- }): Promise<{
60
- id?: string;
61
- threadId?: string;
62
- }>;
63
- }
64
- //# sourceMappingURL=gmail-email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail-email.d.ts","sourceRoot":"","sources":["../../src/email/gmail-email.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlE,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0BD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAK9B,UAAU,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA+C9E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwBtD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,SAAS,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB/L,KAAK,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAsCrM"}