visionclaw 0.1.194-beta.0 → 0.1.194-dev.feat-backup-progress-reporting.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/agent/backup-uploader.d.ts +44 -0
  2. package/dist/agent/backup-uploader.d.ts.map +1 -0
  3. package/dist/agent/backup-uploader.js +83 -0
  4. package/dist/agent/backup-uploader.js.map +1 -0
  5. package/dist/agent/backup.d.ts +7 -1
  6. package/dist/agent/backup.d.ts.map +1 -1
  7. package/dist/agent/backup.js +337 -52
  8. package/dist/agent/backup.js.map +1 -1
  9. package/dist/agent/command-handlers.d.ts.map +1 -1
  10. package/dist/agent/command-handlers.js +3 -2
  11. package/dist/agent/command-handlers.js.map +1 -1
  12. package/dist/agent/data-collector.d.ts.map +1 -1
  13. package/dist/agent/data-collector.js +15 -88
  14. package/dist/agent/data-collector.js.map +1 -1
  15. package/dist/agent/status.js +1 -1
  16. package/dist/agent/status.js.map +1 -1
  17. package/dist/backup.d.ts +4 -1
  18. package/dist/backup.d.ts.map +1 -1
  19. package/dist/backup.js +86 -3
  20. package/dist/backup.js.map +1 -1
  21. package/dist/config/types.d.ts +9 -0
  22. package/dist/config/types.d.ts.map +1 -1
  23. package/dist/config/types.js +6 -0
  24. package/dist/config/types.js.map +1 -1
  25. package/dist/drive/google-drive.d.ts +1 -0
  26. package/dist/drive/google-drive.d.ts.map +1 -1
  27. package/dist/drive/google-drive.js +5 -0
  28. package/dist/drive/google-drive.js.map +1 -1
  29. package/dist/i18n/messages.js +2 -2
  30. package/dist/i18n/messages.js.map +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/onboarding/setup-shared.d.ts.map +1 -1
  33. package/dist/onboarding/setup-shared.js +6 -0
  34. package/dist/onboarding/setup-shared.js.map +1 -1
  35. package/dist/restore.d.ts +5 -0
  36. package/dist/restore.d.ts.map +1 -1
  37. package/dist/restore.js +132 -16
  38. package/dist/restore.js.map +1 -1
  39. package/dist/tos-storage.d.ts +45 -0
  40. package/dist/tos-storage.d.ts.map +1 -0
  41. package/dist/tos-storage.js +134 -0
  42. package/dist/tos-storage.js.map +1 -0
  43. package/dist-agent/bundle.cjs +3078 -1947
  44. package/package.json +2 -1
  45. package/dist/agent/applied-credential-signature.d.ts +0 -53
  46. package/dist/agent/applied-credential-signature.d.ts.map +0 -1
  47. package/dist/agent/applied-credential-signature.js +0 -137
  48. package/dist/agent/applied-credential-signature.js.map +0 -1
  49. package/dist/agent/engines/claude/cli-resolver.d.ts +0 -16
  50. package/dist/agent/engines/claude/cli-resolver.d.ts.map +0 -1
  51. package/dist/agent/engines/claude/cli-resolver.js +0 -83
  52. package/dist/agent/engines/claude/cli-resolver.js.map +0 -1
  53. package/dist/agent/engines/claude/session-browser-policy.d.ts +0 -9
  54. package/dist/agent/engines/claude/session-browser-policy.d.ts.map +0 -1
  55. package/dist/agent/engines/claude/session-browser-policy.js +0 -49
  56. package/dist/agent/engines/claude/session-browser-policy.js.map +0 -1
  57. package/dist/agent/engines/claude/session.d.ts +0 -291
  58. package/dist/agent/engines/claude/session.d.ts.map +0 -1
  59. package/dist/agent/engines/claude/session.js +0 -1177
  60. package/dist/agent/engines/claude/session.js.map +0 -1
  61. package/dist/agent/engines/client-factory.d.ts +0 -63
  62. package/dist/agent/engines/client-factory.d.ts.map +0 -1
  63. package/dist/agent/engines/client-factory.js +0 -382
  64. package/dist/agent/engines/client-factory.js.map +0 -1
  65. package/dist/agent/engines/engine.d.ts +0 -8
  66. package/dist/agent/engines/engine.d.ts.map +0 -1
  67. package/dist/agent/engines/engine.js +0 -15
  68. package/dist/agent/engines/engine.js.map +0 -1
  69. package/dist/agent/engines/openai/file-session.d.ts +0 -49
  70. package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
  71. package/dist/agent/engines/openai/file-session.js +0 -108
  72. package/dist/agent/engines/openai/file-session.js.map +0 -1
  73. package/dist/agent/engines/openai/file-tools.d.ts +0 -35
  74. package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
  75. package/dist/agent/engines/openai/file-tools.js +0 -194
  76. package/dist/agent/engines/openai/file-tools.js.map +0 -1
  77. package/dist/agent/engines/openai/session.d.ts +0 -190
  78. package/dist/agent/engines/openai/session.d.ts.map +0 -1
  79. package/dist/agent/engines/openai/session.js +0 -1066
  80. package/dist/agent/engines/openai/session.js.map +0 -1
  81. package/dist/agent/engines/openai/tools.d.ts +0 -13
  82. package/dist/agent/engines/openai/tools.d.ts.map +0 -1
  83. package/dist/agent/engines/openai/tools.js +0 -248
  84. package/dist/agent/engines/openai/tools.js.map +0 -1
  85. package/dist/agent/engines/session-types.d.ts +0 -146
  86. package/dist/agent/engines/session-types.d.ts.map +0 -1
  87. package/dist/agent/engines/session-types.js +0 -2
  88. package/dist/agent/engines/session-types.js.map +0 -1
  89. package/dist/agent/engines/system-prompt-log.d.ts +0 -9
  90. package/dist/agent/engines/system-prompt-log.d.ts.map +0 -1
  91. package/dist/agent/engines/system-prompt-log.js +0 -46
  92. package/dist/agent/engines/system-prompt-log.js.map +0 -1
  93. package/dist/agent/transcript/transcript-backfill.d.ts +0 -54
  94. package/dist/agent/transcript/transcript-backfill.d.ts.map +0 -1
  95. package/dist/agent/transcript/transcript-backfill.js +0 -604
  96. package/dist/agent/transcript/transcript-backfill.js.map +0 -1
  97. package/dist/agent/transcript/transcript-indexer.d.ts +0 -273
  98. package/dist/agent/transcript/transcript-indexer.d.ts.map +0 -1
  99. package/dist/agent/transcript/transcript-indexer.js +0 -1217
  100. package/dist/agent/transcript/transcript-indexer.js.map +0 -1
  101. package/dist/agent/transcript/transcript-memory-migrations.d.ts +0 -25
  102. package/dist/agent/transcript/transcript-memory-migrations.d.ts.map +0 -1
  103. package/dist/agent/transcript/transcript-memory-migrations.js +0 -87
  104. package/dist/agent/transcript/transcript-memory-migrations.js.map +0 -1
  105. package/dist/agent/transcript-memory-migrations.d.ts +0 -25
  106. package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
  107. package/dist/agent/transcript-memory-migrations.js +0 -87
  108. package/dist/agent/transcript-memory-migrations.js.map +0 -1
  109. package/dist/agent/tunnel-credential-handler.d.ts +0 -90
  110. package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
  111. package/dist/agent/tunnel-credential-handler.js +0 -162
  112. package/dist/agent/tunnel-credential-handler.js.map +0 -1
  113. package/dist/agent/usage/usage-backfill-handler.d.ts +0 -18
  114. package/dist/agent/usage/usage-backfill-handler.d.ts.map +0 -1
  115. package/dist/agent/usage/usage-backfill-handler.js +0 -69
  116. package/dist/agent/usage/usage-backfill-handler.js.map +0 -1
  117. package/dist/agent/usage/usage-gate.d.ts +0 -25
  118. package/dist/agent/usage/usage-gate.d.ts.map +0 -1
  119. package/dist/agent/usage/usage-gate.js +0 -83
  120. package/dist/agent/usage/usage-gate.js.map +0 -1
  121. package/dist/agent/usage/usage-handler.d.ts +0 -7
  122. package/dist/agent/usage/usage-handler.d.ts.map +0 -1
  123. package/dist/agent/usage/usage-handler.js +0 -28
  124. package/dist/agent/usage/usage-handler.js.map +0 -1
  125. package/dist/agent/usage/usage-report-builder.d.ts +0 -26
  126. package/dist/agent/usage/usage-report-builder.d.ts.map +0 -1
  127. package/dist/agent/usage/usage-report-builder.js +0 -80
  128. package/dist/agent/usage/usage-report-builder.js.map +0 -1
  129. package/dist/agent/usage/usage-report-queue.d.ts +0 -26
  130. package/dist/agent/usage/usage-report-queue.d.ts.map +0 -1
  131. package/dist/agent/usage/usage-report-queue.js +0 -199
  132. package/dist/agent/usage/usage-report-queue.js.map +0 -1
  133. package/dist/agent/usage/usage-report-types.d.ts +0 -41
  134. package/dist/agent/usage/usage-report-types.d.ts.map +0 -1
  135. package/dist/agent/usage/usage-report-types.js +0 -2
  136. package/dist/agent/usage/usage-report-types.js.map +0 -1
  137. package/dist/agent/usage/usage-reporter.d.ts +0 -31
  138. package/dist/agent/usage/usage-reporter.d.ts.map +0 -1
  139. package/dist/agent/usage/usage-reporter.js +0 -102
  140. package/dist/agent/usage/usage-reporter.js.map +0 -1
  141. package/dist/agent/usage-backfill-handler.d.ts +0 -18
  142. package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
  143. package/dist/agent/usage-backfill-handler.js +0 -69
  144. package/dist/agent/usage-backfill-handler.js.map +0 -1
  145. package/dist/agent/usage-gate.d.ts +0 -25
  146. package/dist/agent/usage-gate.d.ts.map +0 -1
  147. package/dist/agent/usage-gate.js +0 -83
  148. package/dist/agent/usage-gate.js.map +0 -1
  149. package/dist/agent/usage-report-builder.d.ts +0 -26
  150. package/dist/agent/usage-report-builder.d.ts.map +0 -1
  151. package/dist/agent/usage-report-builder.js +0 -80
  152. package/dist/agent/usage-report-builder.js.map +0 -1
  153. package/dist/agent/usage-report-queue.d.ts +0 -26
  154. package/dist/agent/usage-report-queue.d.ts.map +0 -1
  155. package/dist/agent/usage-report-queue.js +0 -199
  156. package/dist/agent/usage-report-queue.js.map +0 -1
  157. package/dist/agent/usage-report-types.d.ts +0 -41
  158. package/dist/agent/usage-report-types.d.ts.map +0 -1
  159. package/dist/agent/usage-report-types.js +0 -2
  160. package/dist/agent/usage-report-types.js.map +0 -1
  161. package/dist/agent/usage-reporter.d.ts +0 -31
  162. package/dist/agent/usage-reporter.d.ts.map +0 -1
  163. package/dist/agent/usage-reporter.js +0 -102
  164. package/dist/agent/usage-reporter.js.map +0 -1
  165. package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
  166. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
  167. package/dist/agent/wake-cycle-tool-tracker.js +0 -72
  168. package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
  169. package/dist/billing/payg-handler.d.ts +0 -29
  170. package/dist/billing/payg-handler.d.ts.map +0 -1
  171. package/dist/billing/payg-handler.js +0 -92
  172. package/dist/billing/payg-handler.js.map +0 -1
  173. package/dist/billing/payment-handler.d.ts +0 -24
  174. package/dist/billing/payment-handler.d.ts.map +0 -1
  175. package/dist/billing/payment-handler.js +0 -101
  176. package/dist/billing/payment-handler.js.map +0 -1
  177. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  178. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  179. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  180. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  181. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  182. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  183. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  184. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  185. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  186. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  187. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  188. package/dist/data-processing/convert-demo-cli.d.ts +0 -7
  189. package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
  190. package/dist/data-processing/convert-demo-cli.js +0 -30
  191. package/dist/data-processing/convert-demo-cli.js.map +0 -1
  192. package/dist/data-processing/convert-demo.d.ts +0 -26
  193. package/dist/data-processing/convert-demo.d.ts.map +0 -1
  194. package/dist/data-processing/convert-demo.js +0 -233
  195. package/dist/data-processing/convert-demo.js.map +0 -1
  196. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  197. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  198. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  199. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  200. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  201. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  202. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  203. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  204. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  205. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  206. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  207. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  208. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  209. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  210. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  211. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  212. package/dist/obs/tunnel-telemetry.d.ts +0 -46
  213. package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
  214. package/dist/obs/tunnel-telemetry.js +0 -70
  215. package/dist/obs/tunnel-telemetry.js.map +0 -1
  216. package/dist/onboarding/cloudflared-cert.d.ts +0 -15
  217. package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
  218. package/dist/onboarding/cloudflared-cert.js +0 -57
  219. package/dist/onboarding/cloudflared-cert.js.map +0 -1
  220. package/dist/onboarding/playwriter-extension.d.ts +0 -19
  221. package/dist/onboarding/playwriter-extension.d.ts.map +0 -1
  222. package/dist/onboarding/playwriter-extension.js +0 -246
  223. package/dist/onboarding/playwriter-extension.js.map +0 -1
  224. package/dist/realtime/websocket.d.ts +0 -7
  225. package/dist/realtime/websocket.d.ts.map +0 -1
  226. package/dist/realtime/websocket.js +0 -65
  227. package/dist/realtime/websocket.js.map +0 -1
  228. package/dist/service/gbox-tun.d.ts +0 -14
  229. package/dist/service/gbox-tun.d.ts.map +0 -1
  230. package/dist/service/gbox-tun.js +0 -315
  231. package/dist/service/gbox-tun.js.map +0 -1
  232. package/dist/skills/installed.d.ts +0 -11
  233. package/dist/skills/installed.d.ts.map +0 -1
  234. package/dist/skills/installed.js +0 -35
  235. package/dist/skills/installed.js.map +0 -1
  236. package/dist/tools/coordinate-resolver.d.ts +0 -30
  237. package/dist/tools/coordinate-resolver.d.ts.map +0 -1
  238. package/dist/tools/coordinate-resolver.js +0 -104
  239. package/dist/tools/coordinate-resolver.js.map +0 -1
  240. package/dist/utils/playwriter-relay.d.ts +0 -9
  241. package/dist/utils/playwriter-relay.d.ts.map +0 -1
  242. package/dist/utils/playwriter-relay.js +0 -77
  243. package/dist/utils/playwriter-relay.js.map +0 -1
  244. package/dist/utils/wechat-monitor.d.ts +0 -21
  245. package/dist/utils/wechat-monitor.d.ts.map +0 -1
  246. package/dist/utils/wechat-monitor.js +0 -88
  247. package/dist/utils/wechat-monitor.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ import type { VisionClawConfig } from "../config/types.js";
2
+ export type BackupProvider = "gdrive" | "tos";
3
+ export interface BackupUploadProgress {
4
+ uploadedBytes: number;
5
+ }
6
+ export interface BackupUploadBaseOptions {
7
+ localPath: string;
8
+ name: string;
9
+ contentType: string;
10
+ onProgress?: (progress: BackupUploadProgress) => void;
11
+ }
12
+ export interface GdriveBackupUploadOptions extends BackupUploadBaseOptions {
13
+ provider: "gdrive";
14
+ config: VisionClawConfig;
15
+ ownerEmail: string;
16
+ }
17
+ export interface TosBackupUploadOptions extends BackupUploadBaseOptions {
18
+ provider: "tos";
19
+ tos: {
20
+ accessKeyId: string;
21
+ accessKeySecret: string;
22
+ bucket: string;
23
+ region: string;
24
+ endpoint: string;
25
+ publicEndpoint: string;
26
+ signedUrlExpiresSeconds: number;
27
+ key: string;
28
+ };
29
+ }
30
+ export type BackupUploadOptions = GdriveBackupUploadOptions | TosBackupUploadOptions;
31
+ export interface BackupUploadResult {
32
+ provider: BackupProvider;
33
+ location: string;
34
+ signedUrl?: string;
35
+ key?: string;
36
+ bucket?: string;
37
+ sizeBytes?: number;
38
+ expiresAt?: string;
39
+ }
40
+ export declare function buildBackupTosKey(config: VisionClawConfig, zipName: string): string;
41
+ export declare function uploadBackup(options: BackupUploadOptions): Promise<BackupUploadResult>;
42
+ export declare function uploadBackupToGoogleDrive(options: GdriveBackupUploadOptions): Promise<BackupUploadResult>;
43
+ export declare function uploadBackupToTos(options: TosBackupUploadOptions): Promise<BackupUploadResult>;
44
+ //# sourceMappingURL=backup-uploader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-uploader.d.ts","sourceRoot":"","sources":["../../src/agent/backup-uploader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,EAAE;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,uBAAuB,EAAE,MAAM,CAAC;QAChC,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GAAG,sBAAsB,CAAC;AAErF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAK5F;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAuB7B;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAuC7B"}
@@ -0,0 +1,83 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { getProfile } from "../config/index.js";
5
+ import { GoogleDriveClient } from "../drive/google-drive.js";
6
+ import { createTosSignedUrl, formatTosUri, uploadTosObject } from "../tos-storage.js";
7
+ function slugify(value) {
8
+ const slug = value
9
+ .trim()
10
+ .toLowerCase()
11
+ .replace(/[^a-z0-9._-]+/g, "-")
12
+ .replace(/^-+|-+$/g, "");
13
+ return slug || "unknown";
14
+ }
15
+ export function buildBackupTosKey(config, zipName) {
16
+ return `backups/${slugify(config.agentName)}/${slugify(getProfile())}/${zipName}`;
17
+ }
18
+ export async function uploadBackup(options) {
19
+ if (options.provider === "gdrive") {
20
+ return uploadBackupToGoogleDrive(options);
21
+ }
22
+ return uploadBackupToTos(options);
23
+ }
24
+ export async function uploadBackupToGoogleDrive(options) {
25
+ const drive = new GoogleDriveClient(options.config);
26
+ const uploaded = await drive.uploadFile({
27
+ localPath: options.localPath,
28
+ name: options.name,
29
+ mimeType: options.contentType,
30
+ onProgress: (uploadedBytes) => {
31
+ options.onProgress?.({ uploadedBytes });
32
+ },
33
+ });
34
+ await drive.shareFile({
35
+ fileId: uploaded.id,
36
+ email: options.ownerEmail,
37
+ role: "reader",
38
+ sendNotification: false,
39
+ });
40
+ return {
41
+ provider: "gdrive",
42
+ location: uploaded.webViewLink ?? `https://drive.google.com/file/d/${uploaded.id}/view`,
43
+ sizeBytes: fs.statSync(options.localPath).size,
44
+ };
45
+ }
46
+ export async function uploadBackupToTos(options) {
47
+ const sizeBytes = fs.statSync(options.localPath).size;
48
+ const credentials = {
49
+ accessKeyId: options.tos.accessKeyId,
50
+ accessKeySecret: options.tos.accessKeySecret,
51
+ region: options.tos.region,
52
+ endpoint: options.tos.endpoint,
53
+ };
54
+ await uploadTosObject({
55
+ filePath: options.localPath,
56
+ bucket: options.tos.bucket,
57
+ key: options.tos.key,
58
+ credentials,
59
+ contentType: options.contentType,
60
+ checkpointDir: path.join(os.tmpdir(), ".tos-backup-checkpoints"),
61
+ onProgress: (progress) => {
62
+ options.onProgress?.({ uploadedBytes: progress.uploadedBytes });
63
+ },
64
+ });
65
+ const signedUrl = createTosSignedUrl({
66
+ bucket: options.tos.bucket,
67
+ key: options.tos.key,
68
+ credentials,
69
+ expiresSeconds: options.tos.signedUrlExpiresSeconds,
70
+ publicEndpoint: options.tos.publicEndpoint,
71
+ });
72
+ const expiresAt = new Date(Date.now() + options.tos.signedUrlExpiresSeconds * 1000).toISOString();
73
+ return {
74
+ provider: "tos",
75
+ location: formatTosUri(options.tos.bucket, options.tos.key),
76
+ signedUrl,
77
+ key: options.tos.key,
78
+ bucket: options.tos.bucket,
79
+ sizeBytes,
80
+ expiresAt,
81
+ };
82
+ }
83
+ //# sourceMappingURL=backup-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-uploader.js","sourceRoot":"","sources":["../../src/agent/backup-uploader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type BackupProvider, type BackupUploadResult } from "./backup-uploader.js";
1
2
  import type { VisionClawConfig } from "../config/types.js";
2
3
  /**
3
4
  * Create a ZIP backup of VisionClaw profile data and upload it to Google Drive.
@@ -8,5 +9,10 @@ import type { VisionClawConfig } from "../config/types.js";
8
9
  *
9
10
  * @returns Shareable Google Drive link for the uploaded ZIP.
10
11
  */
11
- export declare function runBackup(config: VisionClawConfig, ownerEmail: string): Promise<string>;
12
+ export interface BackupRunOptions {
13
+ provider?: BackupProvider;
14
+ signedUrlExpiresSeconds?: number;
15
+ }
16
+ export type BackupResult = BackupUploadResult;
17
+ export declare function runBackup(config: VisionClawConfig, ownerEmail: string, options?: BackupRunOptions): Promise<BackupResult>;
12
18
  //# sourceMappingURL=backup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA6L3D;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAoHjB"}
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmC,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+a3D;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE9C,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CA2OvB"}