@agent-vm/agent-vm 0.0.31 → 0.0.33

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 (190) hide show
  1. package/dist/backup/backup-create-operation.d.ts +3 -1
  2. package/dist/backup/backup-create-operation.d.ts.map +1 -1
  3. package/dist/backup/backup-create-operation.js +49 -14
  4. package/dist/backup/backup-create-operation.js.map +1 -1
  5. package/dist/backup/backup-manager.d.ts +8 -6
  6. package/dist/backup/backup-manager.d.ts.map +1 -1
  7. package/dist/backup/backup-manager.js +7 -5
  8. package/dist/backup/backup-manager.js.map +1 -1
  9. package/dist/backup/backup-restore-operation.d.ts +1 -1
  10. package/dist/backup/backup-restore-operation.d.ts.map +1 -1
  11. package/dist/backup/backup-restore-operation.js +13 -9
  12. package/dist/backup/backup-restore-operation.js.map +1 -1
  13. package/dist/build/docker-image-builder.d.ts.map +1 -1
  14. package/dist/build/docker-image-builder.js +12 -6
  15. package/dist/build/docker-image-builder.js.map +1 -1
  16. package/dist/cli/backup-commands.d.ts.map +1 -1
  17. package/dist/cli/backup-commands.js +4 -2
  18. package/dist/cli/backup-commands.js.map +1 -1
  19. package/dist/cli/commands/controller-definition.d.ts +96 -78
  20. package/dist/cli/commands/controller-definition.d.ts.map +1 -1
  21. package/dist/cli/commands/controller-definition.js +20 -0
  22. package/dist/cli/commands/controller-definition.js.map +1 -1
  23. package/dist/cli/commands/create-app.d.ts +96 -78
  24. package/dist/cli/commands/create-app.d.ts.map +1 -1
  25. package/dist/cli/commands/init-definition.d.ts.map +1 -1
  26. package/dist/cli/commands/init-definition.js +3 -1
  27. package/dist/cli/commands/init-definition.js.map +1 -1
  28. package/dist/cli/commands/paths-definition.d.ts.map +1 -1
  29. package/dist/cli/commands/paths-definition.js +9 -4
  30. package/dist/cli/commands/paths-definition.js.map +1 -1
  31. package/dist/cli/controller-operation-commands.d.ts.map +1 -1
  32. package/dist/cli/controller-operation-commands.js +70 -11
  33. package/dist/cli/controller-operation-commands.js.map +1 -1
  34. package/dist/cli/init-command.d.ts.map +1 -1
  35. package/dist/cli/init-command.js +57 -35
  36. package/dist/cli/init-command.js.map +1 -1
  37. package/dist/cli/lease-commands.d.ts.map +1 -1
  38. package/dist/cli/lease-commands.js +8 -0
  39. package/dist/cli/lease-commands.js.map +1 -1
  40. package/dist/cli/run-task.js +1 -1
  41. package/dist/cli/vm-host-system-templates.d.ts +1 -0
  42. package/dist/cli/vm-host-system-templates.d.ts.map +1 -1
  43. package/dist/cli/vm-host-system-templates.js +2 -2
  44. package/dist/cli/vm-host-system-templates.js.map +1 -1
  45. package/dist/config/system-config.d.ts +57 -13
  46. package/dist/config/system-config.d.ts.map +1 -1
  47. package/dist/config/system-config.js +181 -32
  48. package/dist/config/system-config.js.map +1 -1
  49. package/dist/controller/active-task-registry.d.ts +18 -3
  50. package/dist/controller/active-task-registry.d.ts.map +1 -1
  51. package/dist/controller/active-task-registry.js +33 -2
  52. package/dist/controller/active-task-registry.js.map +1 -1
  53. package/dist/controller/controller-runtime-operations.d.ts +15 -31
  54. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  55. package/dist/controller/controller-runtime-operations.js +17 -92
  56. package/dist/controller/controller-runtime-operations.js.map +1 -1
  57. package/dist/controller/controller-runtime-types.d.ts +16 -11
  58. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  59. package/dist/controller/controller-runtime.d.ts.map +1 -1
  60. package/dist/controller/controller-runtime.js +126 -231
  61. package/dist/controller/controller-runtime.js.map +1 -1
  62. package/dist/controller/git-pull-default-operations.d.ts +101 -9
  63. package/dist/controller/git-pull-default-operations.d.ts.map +1 -1
  64. package/dist/controller/git-pull-default-operations.js +405 -68
  65. package/dist/controller/git-pull-default-operations.js.map +1 -1
  66. package/dist/controller/git-push-operations.d.ts +2 -0
  67. package/dist/controller/git-push-operations.d.ts.map +1 -1
  68. package/dist/controller/git-push-operations.js +267 -76
  69. package/dist/controller/git-push-operations.js.map +1 -1
  70. package/dist/controller/git-retry-support.d.ts +21 -0
  71. package/dist/controller/git-retry-support.d.ts.map +1 -0
  72. package/dist/controller/git-retry-support.js +60 -0
  73. package/dist/controller/git-retry-support.js.map +1 -0
  74. package/dist/controller/http/controller-client.d.ts +2 -0
  75. package/dist/controller/http/controller-client.d.ts.map +1 -1
  76. package/dist/controller/http/controller-client.js +13 -0
  77. package/dist/controller/http/controller-client.js.map +1 -1
  78. package/dist/controller/http/controller-http-route-support.d.ts +9 -4
  79. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  80. package/dist/controller/http/controller-http-route-support.js +17 -1
  81. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  82. package/dist/controller/http/controller-http-routes.d.ts +10 -3
  83. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  84. package/dist/controller/http/controller-http-routes.js +88 -15
  85. package/dist/controller/http/controller-http-routes.js.map +1 -1
  86. package/dist/controller/http/controller-lease-response-types.d.ts +17 -0
  87. package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -0
  88. package/dist/controller/http/controller-lease-response-types.js +16 -0
  89. package/dist/controller/http/controller-lease-response-types.js.map +1 -0
  90. package/dist/controller/http/controller-request-schemas.d.ts +84 -13
  91. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  92. package/dist/controller/http/controller-request-schemas.js +110 -9
  93. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  94. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  95. package/dist/controller/http/controller-zone-operation-routes.js +140 -14
  96. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  97. package/dist/controller/leases/agent-sandbox-seeding.d.ts +55 -0
  98. package/dist/controller/leases/agent-sandbox-seeding.d.ts.map +1 -0
  99. package/dist/controller/leases/agent-sandbox-seeding.js +178 -0
  100. package/dist/controller/leases/agent-sandbox-seeding.js.map +1 -0
  101. package/dist/controller/leases/idle-reaper.d.ts +7 -2
  102. package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
  103. package/dist/controller/leases/idle-reaper.js +19 -7
  104. package/dist/controller/leases/idle-reaper.js.map +1 -1
  105. package/dist/controller/leases/lease-idle-policy.d.ts +12 -0
  106. package/dist/controller/leases/lease-idle-policy.d.ts.map +1 -0
  107. package/dist/controller/leases/lease-idle-policy.js +28 -0
  108. package/dist/controller/leases/lease-idle-policy.js.map +1 -0
  109. package/dist/controller/leases/lease-manager.d.ts +21 -12
  110. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  111. package/dist/controller/leases/lease-manager.js +155 -57
  112. package/dist/controller/leases/lease-manager.js.map +1 -1
  113. package/dist/controller/leases/lease-scope.d.ts +12 -0
  114. package/dist/controller/leases/lease-scope.d.ts.map +1 -0
  115. package/dist/controller/leases/lease-scope.js +19 -0
  116. package/dist/controller/leases/lease-scope.js.map +1 -0
  117. package/dist/controller/leases/lease-workspace-paths.d.ts +14 -0
  118. package/dist/controller/leases/lease-workspace-paths.d.ts.map +1 -0
  119. package/dist/controller/leases/lease-workspace-paths.js +104 -0
  120. package/dist/controller/leases/lease-workspace-paths.js.map +1 -0
  121. package/dist/controller/runtime-instructions-builder.d.ts +1 -2
  122. package/dist/controller/runtime-instructions-builder.d.ts.map +1 -1
  123. package/dist/controller/runtime-instructions-builder.js +8 -9
  124. package/dist/controller/runtime-instructions-builder.js.map +1 -1
  125. package/dist/controller/task-config-builder.d.ts +2 -1
  126. package/dist/controller/task-config-builder.d.ts.map +1 -1
  127. package/dist/controller/task-config-builder.js +2 -1
  128. package/dist/controller/task-config-builder.js.map +1 -1
  129. package/dist/controller/worker-task-runner.d.ts +10 -4
  130. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  131. package/dist/controller/worker-task-runner.js +147 -44
  132. package/dist/controller/worker-task-runner.js.map +1 -1
  133. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts +30 -0
  134. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -0
  135. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +110 -0
  136. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -0
  137. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts +33 -0
  138. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts.map +1 -0
  139. package/dist/controller/zone-runtimes/worker-zone-runtime.js +224 -0
  140. package/dist/controller/zone-runtimes/worker-zone-runtime.js.map +1 -0
  141. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts +51 -0
  142. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts.map +1 -0
  143. package/dist/controller/zone-runtimes/zone-runtime-errors.js +94 -0
  144. package/dist/controller/zone-runtimes/zone-runtime-errors.js.map +1 -0
  145. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts +26 -0
  146. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts.map +1 -0
  147. package/dist/controller/zone-runtimes/zone-runtime-registry.js +84 -0
  148. package/dist/controller/zone-runtimes/zone-runtime-registry.js.map +1 -0
  149. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +89 -0
  150. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -0
  151. package/dist/controller/zone-runtimes/zone-runtime-types.js +2 -0
  152. package/dist/controller/zone-runtimes/zone-runtime-types.js.map +1 -0
  153. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  154. package/dist/gateway/gateway-zone-orchestrator.js +4 -2
  155. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  156. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  157. package/dist/gateway/gateway-zone-support.js +22 -11
  158. package/dist/gateway/gateway-zone-support.js.map +1 -1
  159. package/dist/index.d.ts +1 -0
  160. package/dist/index.d.ts.map +1 -1
  161. package/dist/index.js +1 -0
  162. package/dist/index.js.map +1 -1
  163. package/dist/operations/config-validation.d.ts +1 -0
  164. package/dist/operations/config-validation.d.ts.map +1 -1
  165. package/dist/operations/config-validation.js +55 -5
  166. package/dist/operations/config-validation.js.map +1 -1
  167. package/dist/operations/controller-status.d.ts +13 -8
  168. package/dist/operations/controller-status.d.ts.map +1 -1
  169. package/dist/operations/controller-status.js +13 -10
  170. package/dist/operations/controller-status.js.map +1 -1
  171. package/dist/operations/destroy-zone.d.ts.map +1 -1
  172. package/dist/operations/destroy-zone.js +8 -1
  173. package/dist/operations/destroy-zone.js.map +1 -1
  174. package/dist/operations/doctor.d.ts +4 -0
  175. package/dist/operations/doctor.d.ts.map +1 -1
  176. package/dist/operations/doctor.js +187 -6
  177. package/dist/operations/doctor.js.map +1 -1
  178. package/dist/operations/runtime-config-paths.d.ts +4 -0
  179. package/dist/operations/runtime-config-paths.d.ts.map +1 -0
  180. package/dist/operations/runtime-config-paths.js +6 -0
  181. package/dist/operations/runtime-config-paths.js.map +1 -0
  182. package/dist/perf/gondolin-vfs-benchmark-support.d.ts +28 -0
  183. package/dist/perf/gondolin-vfs-benchmark-support.d.ts.map +1 -0
  184. package/dist/perf/gondolin-vfs-benchmark-support.js +50 -0
  185. package/dist/perf/gondolin-vfs-benchmark-support.js.map +1 -0
  186. package/dist/tool-vm/tool-vm-lifecycle.d.ts +7 -9
  187. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  188. package/dist/tool-vm/tool-vm-lifecycle.js +32 -27
  189. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  190. package/package.json +7 -7
@@ -1,9 +1,11 @@
1
1
  import type { BackupEncryption, BackupResult } from './backup-manager.js';
2
2
  export declare function createEncryptedBackup(options: {
3
3
  readonly backupDir: string;
4
+ readonly cacheDir: string;
4
5
  readonly encryption: BackupEncryption;
6
+ readonly runtimeDir: string;
5
7
  readonly stateDir: string;
6
- readonly workspaceDir: string;
8
+ readonly zoneFilesDir?: string;
7
9
  readonly zoneId: string;
8
10
  }): Promise<BackupResult>;
9
11
  //# sourceMappingURL=backup-create-operation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-create-operation.d.ts","sourceRoot":"","sources":["../../src/backup/backup-create-operation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI1E,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CAiDxB"}
1
+ {"version":3,"file":"backup-create-operation.d.ts","sourceRoot":"","sources":["../../src/backup/backup-create-operation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI1E,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqDxB"}
@@ -6,6 +6,12 @@ import { promisify } from 'node:util';
6
6
  import { buildBackupPaths } from './backup-archive-layout.js';
7
7
  const execFileAsync = promisify(execFile);
8
8
  export async function createEncryptedBackup(options) {
9
+ assertRuntimeDirOutsideBackupInputs({
10
+ cacheDir: options.cacheDir,
11
+ runtimeDir: options.runtimeDir,
12
+ stateDir: options.stateDir,
13
+ ...(options.zoneFilesDir !== undefined ? { zoneFilesDir: options.zoneFilesDir } : {}),
14
+ });
9
15
  const timestamp = new Date().toISOString().replace(/[:.]/gu, '-');
10
16
  const backupPaths = buildBackupPaths({
11
17
  backupDir: options.backupDir,
@@ -16,25 +22,22 @@ export async function createEncryptedBackup(options) {
16
22
  const stagingDirectory = await fs.mkdtemp(path.join(os.tmpdir(), 'backup-stage-'));
17
23
  try {
18
24
  await execFileAsync('cp', ['-a', options.stateDir, path.join(stagingDirectory, 'state')]);
19
- await execFileAsync('cp', [
20
- '-a',
21
- options.workspaceDir,
22
- path.join(stagingDirectory, 'workspace'),
23
- ]);
25
+ if (options.zoneFilesDir !== undefined) {
26
+ await execFileAsync('cp', [
27
+ '-a',
28
+ options.zoneFilesDir,
29
+ path.join(stagingDirectory, 'zone-files'),
30
+ ]);
31
+ }
24
32
  await fs.writeFile(path.join(stagingDirectory, 'manifest.json'), JSON.stringify({
25
33
  createdAt: new Date().toISOString(),
26
34
  timestamp,
27
35
  zoneId: options.zoneId,
28
36
  }));
29
- await execFileAsync('tar', [
30
- 'cf',
31
- backupPaths.tarPath,
32
- '-C',
33
- stagingDirectory,
34
- 'state',
35
- 'workspace',
36
- 'manifest.json',
37
- ]);
37
+ const tarEntries = options.zoneFilesDir !== undefined
38
+ ? ['state', 'zone-files', 'manifest.json']
39
+ : ['state', 'manifest.json'];
40
+ await execFileAsync('tar', ['cf', backupPaths.tarPath, '-C', stagingDirectory, ...tarEntries]);
38
41
  }
39
42
  finally {
40
43
  await fs.rm(stagingDirectory, { recursive: true, force: true });
@@ -47,4 +50,36 @@ export async function createEncryptedBackup(options) {
47
50
  zoneId: options.zoneId,
48
51
  };
49
52
  }
53
+ function isSameOrDescendantPath(childPath, parentPath) {
54
+ const relativePath = path.relative(path.resolve(parentPath), path.resolve(childPath));
55
+ return relativePath === '' || (!relativePath.startsWith('..') && !path.isAbsolute(relativePath));
56
+ }
57
+ function assertNoPathOverlap(options) {
58
+ if (isSameOrDescendantPath(options.firstPath, options.secondPath) ||
59
+ isSameOrDescendantPath(options.secondPath, options.firstPath)) {
60
+ throw new Error(`${options.firstLabel} (${path.resolve(options.firstPath)}) must not overlap ${options.secondLabel} (${path.resolve(options.secondPath)}).`);
61
+ }
62
+ }
63
+ function assertRuntimeDirOutsideBackupInputs(options) {
64
+ assertNoPathOverlap({
65
+ firstLabel: 'runtimeDir',
66
+ firstPath: options.runtimeDir,
67
+ secondLabel: 'stateDir',
68
+ secondPath: options.stateDir,
69
+ });
70
+ assertNoPathOverlap({
71
+ firstLabel: 'runtimeDir',
72
+ firstPath: options.runtimeDir,
73
+ secondLabel: 'cacheDir',
74
+ secondPath: options.cacheDir,
75
+ });
76
+ if (options.zoneFilesDir !== undefined) {
77
+ assertNoPathOverlap({
78
+ firstLabel: 'runtimeDir',
79
+ firstPath: options.runtimeDir,
80
+ secondLabel: 'zoneFilesDir',
81
+ secondPath: options.zoneFilesDir,
82
+ });
83
+ }
84
+ }
50
85
  //# sourceMappingURL=backup-create-operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-create-operation.js","sourceRoot":"","sources":["../../src/backup/backup-create-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAM3C;IACA,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,gBAAgB,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,aAAa,CAAC,IAAI,EAAE;YACzB,IAAI;YACJ,OAAO,CAAC,YAAY;YACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,SAAS,CACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CACF,CAAC;QAEF,MAAM,aAAa,CAAC,KAAK,EAAE;YAC1B,IAAI;YACJ,WAAW,CAAC,OAAO;YACnB,IAAI;YACJ,gBAAgB;YAChB,OAAO;YACP,WAAW;YACX,eAAe;SACf,CAAC,CAAC;IACJ,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACjF,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;QACN,UAAU,EAAE,WAAW,CAAC,aAAa;QACrC,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"backup-create-operation.js","sourceRoot":"","sources":["../../src/backup/backup-create-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAQ3C;IACA,mCAAmC,CAAC;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,gBAAgB,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,aAAa,CAAC,IAAI,EAAE;gBACzB,IAAI;gBACJ,OAAO,CAAC,YAAY;gBACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC;aACzC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CACF,CAAC;QAEF,MAAM,UAAU,GACf,OAAO,CAAC,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC;YAC1C,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/B,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;IAChG,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACjF,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;QACN,UAAU,EAAE,WAAW,CAAC,aAAa;QACrC,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,UAAkB;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACtF,OAAO,YAAY,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,mBAAmB,CAAC,OAK5B;IACA,IACC,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC;QAC7D,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAC5D,CAAC;QACF,MAAM,IAAI,KAAK,CACd,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAC3I,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,mCAAmC,CAAC,OAK5C;IACA,mBAAmB,CAAC;QACnB,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC5B,CAAC,CAAC;IACH,mBAAmB,CAAC;QACnB,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC5B,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,mBAAmB,CAAC;YACnB,UAAU,EAAE,YAAY;YACxB,SAAS,EAAE,OAAO,CAAC,UAAU;YAC7B,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,OAAO,CAAC,YAAY;SAChC,CAAC,CAAC;IACJ,CAAC;AACF,CAAC"}
@@ -9,20 +9,22 @@ export interface BackupResult {
9
9
  }
10
10
  export interface BackupRestoreResult {
11
11
  readonly stateDir: string;
12
- readonly workspaceDir: string;
12
+ readonly zoneFilesDir?: string;
13
13
  readonly zoneId: string;
14
14
  }
15
15
  export interface ZoneBackupManager {
16
16
  createBackup(options: {
17
17
  readonly zoneId: string;
18
+ readonly cacheDir: string;
18
19
  readonly stateDir: string;
19
- readonly workspaceDir: string;
20
+ readonly runtimeDir: string;
21
+ readonly zoneFilesDir?: string;
20
22
  readonly backupDir: string;
21
23
  }): Promise<BackupResult>;
22
24
  restoreBackup(options: {
23
25
  readonly backupPath: string;
24
26
  readonly stateDir: string;
25
- readonly workspaceDir: string;
27
+ readonly zoneFilesDir?: string;
26
28
  }): Promise<BackupRestoreResult>;
27
29
  listBackups(options: {
28
30
  readonly backupDir: string;
@@ -31,12 +33,12 @@ export interface ZoneBackupManager {
31
33
  }
32
34
  /**
33
35
  * Archive layout inside the tar:
34
- * state/ — contents of stateDir
35
- * workspace/ — contents of workspaceDir
36
+ * state/ — contents of stateDir
37
+ * zone-files/ — contents of zoneFilesDir, when the gateway has durable zone files
36
38
  * manifest.json
37
39
  *
38
40
  * This fixed layout decouples archive structure from host paths, so stateDir
39
- * and workspaceDir can live under completely different parents on restore.
41
+ * and zoneFilesDir can live under completely different parents on restore.
40
42
  */
41
43
  export declare function createZoneBackupManager(encryption: BackupEncryption): ZoneBackupManager;
42
44
  //# sourceMappingURL=backup-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-manager.d.ts","sourceRoot":"","sources":["../../src/backup/backup-manager.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,OAAO,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE1B,aAAa,CAAC,OAAO,EAAE;QACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC,WAAW,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,EAAE,CAAC;CAC/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,CAuBvF"}
1
+ {"version":3,"file":"backup-manager.d.ts","sourceRoot":"","sources":["../../src/backup/backup-manager.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,OAAO,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE1B,aAAa,CAAC,OAAO,EAAE;QACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC,WAAW,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,EAAE,CAAC;CAC/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,CAyBvF"}
@@ -3,12 +3,12 @@ import { createEncryptedBackup } from './backup-create-operation.js';
3
3
  import { restoreEncryptedBackup } from './backup-restore-operation.js';
4
4
  /**
5
5
  * Archive layout inside the tar:
6
- * state/ — contents of stateDir
7
- * workspace/ — contents of workspaceDir
6
+ * state/ — contents of stateDir
7
+ * zone-files/ — contents of zoneFilesDir, when the gateway has durable zone files
8
8
  * manifest.json
9
9
  *
10
10
  * This fixed layout decouples archive structure from host paths, so stateDir
11
- * and workspaceDir can live under completely different parents on restore.
11
+ * and zoneFilesDir can live under completely different parents on restore.
12
12
  */
13
13
  export function createZoneBackupManager(encryption) {
14
14
  return {
@@ -16,8 +16,10 @@ export function createZoneBackupManager(encryption) {
16
16
  return await createEncryptedBackup({
17
17
  encryption,
18
18
  backupDir: options.backupDir,
19
+ cacheDir: options.cacheDir,
20
+ runtimeDir: options.runtimeDir,
19
21
  stateDir: options.stateDir,
20
- workspaceDir: options.workspaceDir,
22
+ ...(options.zoneFilesDir !== undefined ? { zoneFilesDir: options.zoneFilesDir } : {}),
21
23
  zoneId: options.zoneId,
22
24
  });
23
25
  },
@@ -26,7 +28,7 @@ export function createZoneBackupManager(encryption) {
26
28
  encryption,
27
29
  backupPath: options.backupPath,
28
30
  stateDir: options.stateDir,
29
- workspaceDir: options.workspaceDir,
31
+ ...(options.zoneFilesDir !== undefined ? { zoneFilesDir: options.zoneFilesDir } : {}),
30
32
  });
31
33
  },
32
34
  listBackups(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"backup-manager.js","sourceRoot":"","sources":["../../src/backup/backup-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAoCvE;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAA4B;IACnE,OAAO;QACN,KAAK,CAAC,YAAY,CAAC,OAAO;YACzB,OAAO,MAAM,qBAAqB,CAAC;gBAClC,UAAU;gBACV,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,OAAO;YAC1B,OAAO,MAAM,sBAAsB,CAAC;gBACnC,UAAU;gBACV,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,OAAO;YAClB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"backup-manager.js","sourceRoot":"","sources":["../../src/backup/backup-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAsCvE;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAA4B;IACnE,OAAO;QACN,KAAK,CAAC,YAAY,CAAC,OAAO;YACzB,OAAO,MAAM,qBAAqB,CAAC;gBAClC,UAAU;gBACV,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,OAAO;YAC1B,OAAO,MAAM,sBAAsB,CAAC;gBACnC,UAAU;gBACV,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrF,CAAC,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,OAAO;YAClB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -3,6 +3,6 @@ export declare function restoreEncryptedBackup(options: {
3
3
  readonly backupPath: string;
4
4
  readonly encryption: BackupEncryption;
5
5
  readonly stateDir: string;
6
- readonly workspaceDir: string;
6
+ readonly zoneFilesDir?: string;
7
7
  }): Promise<BackupRestoreResult>;
8
8
  //# sourceMappingURL=backup-restore-operation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-restore-operation.d.ts","sourceRoot":"","sources":["../../src/backup/backup-restore-operation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAqCjF,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsB/B"}
1
+ {"version":3,"file":"backup-restore-operation.d.ts","sourceRoot":"","sources":["../../src/backup/backup-restore-operation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AA0CjF,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB/B"}
@@ -22,14 +22,16 @@ async function copyExtractedDirectoryContents(sourceDirectory, targetDirectory)
22
22
  }
23
23
  async function readZoneIdFromManifest(extractDirectory) {
24
24
  const manifestPath = path.join(extractDirectory, 'manifest.json');
25
- try {
26
- const rawManifest = await fs.readFile(manifestPath, 'utf8');
27
- const manifest = JSON.parse(rawManifest);
28
- return manifest.zoneId ?? 'unknown';
29
- }
30
- catch {
31
- return 'unknown';
25
+ const rawManifest = await fs.readFile(manifestPath, 'utf8');
26
+ const manifest = JSON.parse(rawManifest);
27
+ if (typeof manifest !== 'object' ||
28
+ manifest === null ||
29
+ !('zoneId' in manifest) ||
30
+ typeof manifest.zoneId !== 'string' ||
31
+ manifest.zoneId.length === 0) {
32
+ throw new Error(`Backup manifest at ${manifestPath} must contain a non-empty zoneId.`);
32
33
  }
34
+ return manifest.zoneId;
33
35
  }
34
36
  export async function restoreEncryptedBackup(options) {
35
37
  const decryptedTarPath = `${options.backupPath}.decrypted.tar`;
@@ -38,10 +40,12 @@ export async function restoreEncryptedBackup(options) {
38
40
  try {
39
41
  await execFileAsync('tar', ['xf', decryptedTarPath, '-C', extractDirectory]);
40
42
  await copyExtractedDirectoryContents(path.join(extractDirectory, 'state'), options.stateDir);
41
- await copyExtractedDirectoryContents(path.join(extractDirectory, 'workspace'), options.workspaceDir);
43
+ if (options.zoneFilesDir !== undefined) {
44
+ await copyExtractedDirectoryContents(path.join(extractDirectory, 'zone-files'), options.zoneFilesDir);
45
+ }
42
46
  return {
43
47
  stateDir: options.stateDir,
44
- workspaceDir: options.workspaceDir,
48
+ ...(options.zoneFilesDir !== undefined ? { zoneFilesDir: options.zoneFilesDir } : {}),
45
49
  zoneId: await readZoneIdFromManifest(extractDirectory),
46
50
  };
47
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backup-restore-operation.js","sourceRoot":"","sources":["../../src/backup/backup-restore-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,KAAK,UAAU,8BAA8B,CAC5C,eAAuB,EACvB,eAAuB;IAEvB,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QAC/B,MAAM,aAAa,CAAC,IAAI,EAAE;YACzB,IAAI;YACJ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;SACrC,CAAC,CAAC;IACJ,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,gBAAwB;IAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAClE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAiC,CAAC;QACzE,OAAO,QAAQ,CAAC,MAAM,IAAI,SAAS,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAK5C;IACA,MAAM,gBAAgB,GAAG,GAAG,OAAO,CAAC,UAAU,gBAAgB,CAAC;IAC/D,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEvE,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,MAAM,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7F,MAAM,8BAA8B,CACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EACxC,OAAO,CAAC,YAAY,CACpB,CAAC;QAEF,OAAO;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,MAAM,sBAAsB,CAAC,gBAAgB,CAAC;SACtD,CAAC;IACH,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"backup-restore-operation.js","sourceRoot":"","sources":["../../src/backup/backup-restore-operation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"docker-image-builder.d.ts","sourceRoot":"","sources":["../../src/build/docker-image-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,oBAAoB,KACzB,OAAO,CAAC;QACZ,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,IAAI,CAAC,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;CACpC;AAsBD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,8BAAmC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"docker-image-builder.d.ts","sourceRoot":"","sources":["../../src/build/docker-image-builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,oBAAoB,KACzB,OAAO,CAAC;QACZ,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,IAAI,CAAC,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;CACpC;AA+BD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,8BAAmC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAyBf"}
@@ -1,17 +1,23 @@
1
1
  import path from 'node:path';
2
+ import { createInterface as createReadlineInterface } from 'node:readline';
2
3
  import { execa } from 'execa';
4
+ function pipeStreamAsLines(stream, sink) {
5
+ if (!stream) {
6
+ return;
7
+ }
8
+ const lineReader = createReadlineInterface({ input: stream });
9
+ lineReader.on('line', (line) => {
10
+ sink.write(`${line}\n`);
11
+ });
12
+ }
3
13
  async function executeDockerCommand(command, args, options) {
4
14
  if (!options.streamPreview) {
5
15
  await execa(command, args, { stdio: 'inherit' });
6
16
  return;
7
17
  }
8
18
  const child = execa(command, args, { stdio: ['inherit', 'pipe', 'pipe'] });
9
- child.stdout?.on('data', (chunk) => {
10
- options.streamPreview?.write(chunk);
11
- });
12
- child.stderr?.on('data', (chunk) => {
13
- options.streamPreview?.write(chunk);
14
- });
19
+ pipeStreamAsLines(child.stdout, options.streamPreview);
20
+ pipeStreamAsLines(child.stderr, options.streamPreview);
15
21
  await child;
16
22
  }
17
23
  export async function buildDockerImage(options, dependencies = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"docker-image-builder.js","sourceRoot":"","sources":["../../src/build/docker-image-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAwB9B,KAAK,UAAU,oBAAoB,CAClC,OAAe,EACf,IAAuB,EACvB,OAA6B;IAE7B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAClC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAClC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,OAAgC,EAChC,eAA+C,EAAE;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,oBAAoB,CAAC;IAC3E,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEzE,IAAI,CAAC;QACJ,MAAM,cAAc,CACnB,QAAQ,EACR;YACC,OAAO;YACP,kBAAkB;YAClB,IAAI;YACJ,sBAAsB;YACtB,IAAI;YACJ,OAAO,CAAC,QAAQ;YAChB,2BAA2B;SAC3B,EACD,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACd,2BAA2B,OAAO,CAAC,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxG,EAAE,KAAK,EAAE,KAAK,EAAE,CAChB,CAAC;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"docker-image-builder.js","sourceRoot":"","sources":["../../src/build/docker-image-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAwB9B,SAAS,iBAAiB,CACzB,MAAgD,EAChD,IAAgB;IAEhB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;IACR,CAAC;IACD,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,OAAe,EACf,IAAuB,EACvB,OAA6B;IAE7B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,OAAgC,EAChC,eAA+C,EAAE;IAEjD,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,oBAAoB,CAAC;IAC3E,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEzE,IAAI,CAAC;QACJ,MAAM,cAAc,CACnB,QAAQ,EACR;YACC,OAAO;YACP,kBAAkB;YAClB,IAAI;YACJ,sBAAsB;YACtB,IAAI;YACJ,OAAO,CAAC,QAAQ;YAChB,2BAA2B;SAC3B,EACD,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACd,2BAA2B,OAAO,CAAC,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxG,EAAE,KAAK,EAAE,KAAK,EAAE,CAChB,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"backup-commands.d.ts","sourceRoot":"","sources":["../../src/cli/backup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,KAAK,EAIV,MAAM,2BAA2B,CAAC;AAEnC,UAAU,uBAAuB;IAChC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DtF"}
1
+ {"version":3,"file":"backup-commands.d.ts","sourceRoot":"","sources":["../../src/cli/backup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,KAAK,EAIV,MAAM,2BAA2B,CAAC;AAEnC,UAAU,uBAAuB;IAChC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DtF"}
@@ -23,8 +23,10 @@ export async function runBackupCommand(options) {
23
23
  if (backupSubcommand === 'create') {
24
24
  writeJson(options.io, await backupManager.createBackup({
25
25
  backupDir,
26
+ cacheDir: options.systemConfig.cacheDir,
27
+ runtimeDir: options.systemConfig.runtimeDir,
26
28
  stateDir: zone.gateway.stateDir,
27
- workspaceDir: zone.gateway.workspaceDir,
29
+ ...(zone.gateway.type === 'openclaw' ? { zoneFilesDir: zone.gateway.zoneFilesDir } : {}),
28
30
  zoneId,
29
31
  }));
30
32
  return;
@@ -37,7 +39,7 @@ export async function runBackupCommand(options) {
37
39
  writeJson(options.io, await backupManager.restoreBackup({
38
40
  backupPath,
39
41
  stateDir: zone.gateway.stateDir,
40
- workspaceDir: zone.gateway.workspaceDir,
42
+ ...(zone.gateway.type === 'openclaw' ? { zoneFilesDir: zone.gateway.zoneFilesDir } : {}),
41
43
  }));
42
44
  return;
43
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backup-commands.js","sourceRoot":"","sources":["../../src/cli/backup-commands.ts"],"names":[],"mappings":"AACA,OAAO,EACN,8BAA8B,EAG9B,YAAY,EACZ,WAAW,EACX,SAAS,GACT,MAAM,2BAA2B,CAAC;AASnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAgC;IACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,UAAU,CAAC;IAE/E,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC;YAClE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACvB,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACvB,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO;IACR,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,8BAA8B,CAC1D,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,CACpB,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACvE,eAAe,EAAE,KAAK,IAAI,EAAE,CAC3B,MAAM,cAAc,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,iBAAiB,MAAM,0BAA0B;SACtD,CAAC;KACH,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAErF,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACnC,SAAS,CACR,OAAO,CAAC,EAAE,EACV,MAAM,aAAa,CAAC,YAAY,CAAC;YAChC,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,MAAM;SACN,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACxE,CAAC;QACD,SAAS,CACR,OAAO,CAAC,EAAE,EACV,MAAM,aAAa,CAAC,aAAa,CAAC;YACjC,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;SACvC,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,gBAAgB,IAAI,WAAW,IAAI,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"backup-commands.js","sourceRoot":"","sources":["../../src/cli/backup-commands.ts"],"names":[],"mappings":"AACA,OAAO,EACN,8BAA8B,EAG9B,YAAY,EACZ,WAAW,EACX,SAAS,GACT,MAAM,2BAA2B,CAAC;AASnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAgC;IACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,UAAU,CAAC;IAE/E,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC;YAClE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACvB,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACvB,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO;IACR,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,8BAA8B,CAC1D,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,CACpB,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACvE,eAAe,EAAE,KAAK,IAAI,EAAE,CAC3B,MAAM,cAAc,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,iBAAiB,MAAM,0BAA0B;SACtD,CAAC;KACH,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAErF,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACnC,SAAS,CACR,OAAO,CAAC,EAAE,EACV,MAAM,aAAa,CAAC,YAAY,CAAC;YAChC,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ;YACvC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU;YAC3C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM;SACN,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACxE,CAAC;QACD,SAAS,CACR,OAAO,CAAC,EAAE,EACV,MAAM,aAAa,CAAC,aAAa,CAAC;YACjC,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,gBAAgB,IAAI,WAAW,IAAI,CAAC,CAAC;AACpF,CAAC"}
@@ -3,26 +3,46 @@ import { type CliDependencies, type CliIo } from '../agent-vm-cli-support.js';
3
3
  export declare function isGatewayImageCached(systemConfig: LoadedSystemConfig, zoneId: string): Promise<boolean>;
4
4
  export declare function createControllerSubcommands(io: CliIo, dependencies: CliDependencies): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
5
5
  parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
6
- command: "upgrade";
6
+ command: "ssh";
7
7
  args: {
8
- purge?: boolean;
9
- zone?: string | undefined;
10
8
  config: string | undefined;
9
+ print: boolean;
10
+ remoteCommandArguments: string[];
11
+ zone: string | undefined;
11
12
  };
12
13
  } | {
13
- command: "status";
14
+ command: "upgrade";
14
15
  args: {
15
16
  purge?: boolean;
16
17
  zone?: string | undefined;
17
18
  config: string | undefined;
18
19
  };
19
20
  } | {
20
- command: "ssh";
21
+ command: "lease";
21
22
  args: {
23
+ command: "peek";
24
+ args: {
25
+ config: string | undefined;
26
+ leaseId: string;
27
+ };
28
+ } | {
29
+ command: "release";
30
+ args: {
31
+ config: string | undefined;
32
+ leaseId: string;
33
+ };
34
+ } | {
35
+ command: "list";
36
+ args: {
37
+ config: string | undefined;
38
+ };
39
+ };
40
+ } | {
41
+ command: "status";
42
+ args: {
43
+ purge?: boolean;
44
+ zone?: string | undefined;
22
45
  config: string | undefined;
23
- print: boolean;
24
- remoteCommandArguments: string[];
25
- zone: string | undefined;
26
46
  };
27
47
  } | {
28
48
  command: "logs";
@@ -48,18 +68,10 @@ export declare function createControllerSubcommands(io: CliIo, dependencies: Cli
48
68
  config: string | undefined;
49
69
  };
50
70
  } | {
51
- command: "lease";
71
+ command: "start";
52
72
  args: {
53
- command: "list";
54
- args: {
55
- config: string | undefined;
56
- };
57
- } | {
58
- command: "release";
59
- args: {
60
- config: string | undefined;
61
- leaseId: string;
62
- };
73
+ config: string | undefined;
74
+ zone: string | undefined;
63
75
  };
64
76
  } | {
65
77
  command: "stop";
@@ -68,34 +80,48 @@ export declare function createControllerSubcommands(io: CliIo, dependencies: Cli
68
80
  zone?: string | undefined;
69
81
  config: string | undefined;
70
82
  };
71
- } | {
72
- command: "start";
73
- args: {
74
- config: string | undefined;
75
- zone: string | undefined;
76
- };
77
83
  }>>;
78
84
  } & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
79
- command: "upgrade";
85
+ command: "ssh";
80
86
  args: {
81
- purge?: boolean;
82
- zone?: string | undefined;
83
87
  config: string | undefined;
88
+ print: boolean;
89
+ remoteCommandArguments: string[];
90
+ zone: string | undefined;
84
91
  };
85
92
  } | {
86
- command: "status";
93
+ command: "upgrade";
87
94
  args: {
88
95
  purge?: boolean;
89
96
  zone?: string | undefined;
90
97
  config: string | undefined;
91
98
  };
92
99
  } | {
93
- command: "ssh";
100
+ command: "lease";
101
+ args: {
102
+ command: "peek";
103
+ args: {
104
+ config: string | undefined;
105
+ leaseId: string;
106
+ };
107
+ } | {
108
+ command: "release";
109
+ args: {
110
+ config: string | undefined;
111
+ leaseId: string;
112
+ };
113
+ } | {
114
+ command: "list";
115
+ args: {
116
+ config: string | undefined;
117
+ };
118
+ };
119
+ } | {
120
+ command: "status";
94
121
  args: {
122
+ purge?: boolean;
123
+ zone?: string | undefined;
95
124
  config: string | undefined;
96
- print: boolean;
97
- remoteCommandArguments: string[];
98
- zone: string | undefined;
99
125
  };
100
126
  } | {
101
127
  command: "logs";
@@ -121,18 +147,10 @@ export declare function createControllerSubcommands(io: CliIo, dependencies: Cli
121
147
  config: string | undefined;
122
148
  };
123
149
  } | {
124
- command: "lease";
150
+ command: "start";
125
151
  args: {
126
- command: "list";
127
- args: {
128
- config: string | undefined;
129
- };
130
- } | {
131
- command: "release";
132
- args: {
133
- config: string | undefined;
134
- leaseId: string;
135
- };
152
+ config: string | undefined;
153
+ zone: string | undefined;
136
154
  };
137
155
  } | {
138
156
  command: "stop";
@@ -141,20 +159,26 @@ export declare function createControllerSubcommands(io: CliIo, dependencies: Cli
141
159
  zone?: string | undefined;
142
160
  config: string | undefined;
143
161
  };
144
- } | {
145
- command: "start";
146
- args: {
147
- config: string | undefined;
148
- zone: string | undefined;
149
- };
150
162
  }, {
151
- command: "upgrade";
163
+ command: "ssh";
152
164
  value: Promise<void>;
153
165
  } | {
154
- command: "status";
166
+ command: "upgrade";
155
167
  value: Promise<void>;
156
168
  } | {
157
- command: "ssh";
169
+ command: "lease";
170
+ value: {
171
+ command: "peek";
172
+ value: Promise<void>;
173
+ } | {
174
+ command: "release";
175
+ value: Promise<void>;
176
+ } | {
177
+ command: "list";
178
+ value: Promise<void>;
179
+ };
180
+ } | {
181
+ command: "status";
158
182
  value: Promise<void>;
159
183
  } | {
160
184
  command: "logs";
@@ -169,29 +193,32 @@ export declare function createControllerSubcommands(io: CliIo, dependencies: Cli
169
193
  command: "destroy";
170
194
  value: Promise<void>;
171
195
  } | {
172
- command: "lease";
173
- value: {
174
- command: "list";
175
- value: Promise<void>;
176
- } | {
177
- command: "release";
178
- value: Promise<void>;
179
- };
180
- } | {
181
- command: "stop";
196
+ command: "start";
182
197
  value: Promise<void>;
183
198
  } | {
184
- command: "start";
199
+ command: "stop";
185
200
  value: Promise<void>;
186
201
  }> & {
187
202
  run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
188
- command: "upgrade";
203
+ command: "ssh";
189
204
  value: Promise<void>;
190
205
  } | {
191
- command: "status";
206
+ command: "upgrade";
192
207
  value: Promise<void>;
193
208
  } | {
194
- command: "ssh";
209
+ command: "lease";
210
+ value: {
211
+ command: "peek";
212
+ value: Promise<void>;
213
+ } | {
214
+ command: "release";
215
+ value: Promise<void>;
216
+ } | {
217
+ command: "list";
218
+ value: Promise<void>;
219
+ };
220
+ } | {
221
+ command: "status";
195
222
  value: Promise<void>;
196
223
  } | {
197
224
  command: "logs";
@@ -206,19 +233,10 @@ export declare function createControllerSubcommands(io: CliIo, dependencies: Cli
206
233
  command: "destroy";
207
234
  value: Promise<void>;
208
235
  } | {
209
- command: "lease";
210
- value: {
211
- command: "list";
212
- value: Promise<void>;
213
- } | {
214
- command: "release";
215
- value: Promise<void>;
216
- };
217
- } | {
218
- command: "stop";
236
+ command: "start";
219
237
  value: Promise<void>;
220
238
  } | {
221
- command: "start";
239
+ command: "stop";
222
240
  value: Promise<void>;
223
241
  }>>;
224
242
  };