@agent-vm/agent-vm 0.0.33 → 0.0.35

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 (102) hide show
  1. package/dist/build/gondolin-image-builder.d.ts.map +1 -1
  2. package/dist/build/gondolin-image-builder.js +7 -12
  3. package/dist/build/gondolin-image-builder.js.map +1 -1
  4. package/dist/cli/agent-vm-cli-support.d.ts +7 -0
  5. package/dist/cli/agent-vm-cli-support.d.ts.map +1 -1
  6. package/dist/cli/agent-vm-cli-support.js +2 -0
  7. package/dist/cli/agent-vm-cli-support.js.map +1 -1
  8. package/dist/cli/build-command.d.ts.map +1 -1
  9. package/dist/cli/build-command.js +15 -7
  10. package/dist/cli/build-command.js.map +1 -1
  11. package/dist/cli/commands/command-definition-support.js +1 -1
  12. package/dist/cli/commands/command-definition-support.js.map +1 -1
  13. package/dist/cli/commands/create-app.d.ts +36 -0
  14. package/dist/cli/commands/create-app.d.ts.map +1 -1
  15. package/dist/cli/commands/create-app.js +2 -0
  16. package/dist/cli/commands/create-app.js.map +1 -1
  17. package/dist/cli/commands/manual-definition.d.ts +31 -0
  18. package/dist/cli/commands/manual-definition.d.ts.map +1 -0
  19. package/dist/cli/commands/manual-definition.js +64 -0
  20. package/dist/cli/commands/manual-definition.js.map +1 -0
  21. package/dist/cli/controller-operation-commands.d.ts.map +1 -1
  22. package/dist/cli/controller-operation-commands.js +2 -1
  23. package/dist/cli/controller-operation-commands.js.map +1 -1
  24. package/dist/cli/init-command.d.ts.map +1 -1
  25. package/dist/cli/init-command.js +68 -42
  26. package/dist/cli/init-command.js.map +1 -1
  27. package/dist/cli/manual-commands.d.ts +10 -0
  28. package/dist/cli/manual-commands.d.ts.map +1 -0
  29. package/dist/cli/manual-commands.js +25 -0
  30. package/dist/cli/manual-commands.js.map +1 -0
  31. package/dist/cli/manual-templates.d.ts +12 -0
  32. package/dist/cli/manual-templates.d.ts.map +1 -0
  33. package/dist/cli/manual-templates.js +214 -0
  34. package/dist/cli/manual-templates.js.map +1 -0
  35. package/dist/config/json-config-file.d.ts +2 -0
  36. package/dist/config/json-config-file.d.ts.map +1 -0
  37. package/dist/config/json-config-file.js +32 -0
  38. package/dist/config/json-config-file.js.map +1 -0
  39. package/dist/config/system-config.d.ts.map +1 -1
  40. package/dist/config/system-config.js +19 -10
  41. package/dist/config/system-config.js.map +1 -1
  42. package/dist/controller/controller-runtime-operations.d.ts +6 -1
  43. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  44. package/dist/controller/controller-runtime-operations.js +1 -0
  45. package/dist/controller/controller-runtime-operations.js.map +1 -1
  46. package/dist/controller/controller-runtime-types.d.ts +1 -1
  47. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  48. package/dist/controller/controller-runtime.js +2 -2
  49. package/dist/controller/controller-runtime.js.map +1 -1
  50. package/dist/controller/http/controller-http-route-support.d.ts +3 -0
  51. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  52. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  53. package/dist/controller/http/controller-http-routes.d.ts +2 -2
  54. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  55. package/dist/controller/http/controller-http-routes.js +55 -25
  56. package/dist/controller/http/controller-http-routes.js.map +1 -1
  57. package/dist/controller/http/controller-request-schemas.d.ts +2 -2
  58. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  59. package/dist/controller/http/controller-request-schemas.js +2 -2
  60. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  61. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  62. package/dist/controller/http/controller-zone-operation-routes.js +12 -0
  63. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  64. package/dist/controller/leases/agent-sandbox-seeding.d.ts +11 -5
  65. package/dist/controller/leases/agent-sandbox-seeding.d.ts.map +1 -1
  66. package/dist/controller/leases/agent-sandbox-seeding.js +28 -20
  67. package/dist/controller/leases/agent-sandbox-seeding.js.map +1 -1
  68. package/dist/controller/leases/lease-manager.d.ts +3 -3
  69. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  70. package/dist/controller/leases/lease-manager.js +23 -6
  71. package/dist/controller/leases/lease-manager.js.map +1 -1
  72. package/dist/controller/leases/lease-work-mount-paths.d.ts +17 -0
  73. package/dist/controller/leases/lease-work-mount-paths.d.ts.map +1 -0
  74. package/dist/controller/leases/lease-work-mount-paths.js +120 -0
  75. package/dist/controller/leases/lease-work-mount-paths.js.map +1 -0
  76. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  77. package/dist/controller/worker-task-runner.js +32 -10
  78. package/dist/controller/worker-task-runner.js.map +1 -1
  79. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -1
  80. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +13 -0
  81. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -1
  82. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +6 -1
  83. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -1
  84. package/dist/gateway/gateway-health-check.d.ts +19 -0
  85. package/dist/gateway/gateway-health-check.d.ts.map +1 -0
  86. package/dist/gateway/gateway-health-check.js +19 -0
  87. package/dist/gateway/gateway-health-check.js.map +1 -0
  88. package/dist/gateway/gateway-image-builder.d.ts.map +1 -1
  89. package/dist/gateway/gateway-image-builder.js +2 -2
  90. package/dist/gateway/gateway-image-builder.js.map +1 -1
  91. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  92. package/dist/gateway/gateway-zone-orchestrator.js +7 -10
  93. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  94. package/dist/tool-vm/tool-vm-lifecycle.d.ts +3 -3
  95. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  96. package/dist/tool-vm/tool-vm-lifecycle.js +12 -12
  97. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  98. package/package.json +8 -7
  99. package/dist/controller/leases/lease-workspace-paths.d.ts +0 -14
  100. package/dist/controller/leases/lease-workspace-paths.d.ts.map +0 -1
  101. package/dist/controller/leases/lease-workspace-paths.js +0 -104
  102. package/dist/controller/leases/lease-workspace-paths.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ export function buildGatewayHealthCommand(healthCheck) {
2
+ return healthCheck.type === 'http'
3
+ ? `curl -sS -o /dev/null -w "%{http_code}" --max-time 2 http://127.0.0.1:${healthCheck.port}${healthCheck.path} 2>/dev/null || true`
4
+ : healthCheck.command;
5
+ }
6
+ export async function runGatewayHealthCheck(options) {
7
+ const result = await options.exec(buildGatewayHealthCommand(options.healthCheck));
8
+ const stdout = result.stdout.trim();
9
+ const observation = options.healthCheck.type === 'http' ? `http ${stdout || '(empty)'}` : `exit ${result.exitCode}`;
10
+ const ok = options.healthCheck.type === 'http' ? stdout.startsWith('2') : result.exitCode === 0;
11
+ return {
12
+ exitCode: result.exitCode,
13
+ observation,
14
+ ok,
15
+ stderr: result.stderr,
16
+ stdout: result.stdout,
17
+ };
18
+ }
19
+ //# sourceMappingURL=gateway-health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-health-check.js","sourceRoot":"","sources":["../../src/gateway/gateway-health-check.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,yBAAyB,CAAC,WAA+B;IACxE,OAAO,WAAW,CAAC,IAAI,KAAK,MAAM;QACjC,CAAC,CAAC,yEAAyE,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,sBAAsB;QACpI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAG3C;IACA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAChB,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;IACjG,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IAEhG,OAAO;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW;QACX,EAAE;QACF,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-image-builder.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-image-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAEN,KAAK,gCAAgC,EACrC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,gCAAgC,CAAC,YAAY,CAAC,CAAC;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;CAC/E;AAMD,wBAAsB,iBAAiB,CACtC,OAAO,EAAE;IACR,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B,EACD,YAAY,GAAE,+BAAoC,GAChD,OAAO,CAAC,gBAAgB,CAAC,CAkC3B"}
1
+ {"version":3,"file":"gateway-image-builder.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-image-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAEN,KAAK,gCAAgC,EACrC,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,gCAAgC,CAAC,YAAY,CAAC,CAAC;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;CAC/E;AAMD,wBAAsB,iBAAiB,CACtC,OAAO,EAAE;IACR,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B,EACD,YAAY,GAAE,+BAAoC,GAChD,OAAO,CAAC,gBAAgB,CAAC,CAkC3B"}
@@ -1,7 +1,7 @@
1
- import fs from 'node:fs/promises';
2
1
  import { buildGondolinImage as buildGondolinImageDefault, } from '../build/gondolin-image-builder.js';
2
+ import { loadJsonConfigFile } from '../config/json-config-file.js';
3
3
  async function loadBuildConfigFromJson(buildConfigPath) {
4
- return JSON.parse(await fs.readFile(buildConfigPath, 'utf8'));
4
+ return (await loadJsonConfigFile(buildConfigPath));
5
5
  }
6
6
  export async function buildGatewayImage(options, dependencies = {}) {
7
7
  const buildImage = dependencies.buildImage;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-image-builder.js","sourceRoot":"","sources":["../../src/gateway/gateway-image-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIlC,OAAO,EACN,kBAAkB,IAAI,yBAAyB,GAE/C,MAAM,oCAAoC,CAAC;AAS5C,KAAK,UAAU,uBAAuB,CAAC,eAAuB;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAgB,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,OAIC,EACD,eAAgD,EAAE;IAElD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,uBAAuB,CAAC;QAChF,OAAO,MAAM,yBAAyB,CACrC;YACC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;YAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC1B,EACD;YACC,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CACvC,MAAM,UAAU,CAAC;gBAChB,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;gBACpC,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;gBACpD,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC;YACH,eAAe;SACf,CACD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,yBAAyB,CACrC;QACC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;QAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,EACD;QACC,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"gateway-image-builder.js","sourceRoot":"","sources":["../../src/gateway/gateway-image-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,kBAAkB,IAAI,yBAAyB,GAE/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASnE,KAAK,UAAU,uBAAuB,CAAC,eAAuB;IAC7D,OAAO,CAAC,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAgB,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,OAIC,EACD,eAAgD,EAAE;IAElD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,uBAAuB,CAAC;QAChF,OAAO,MAAM,yBAAyB,CACrC;YACC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;YAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC1B,EACD;YACC,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CACvC,MAAM,UAAU,CAAC;gBAChB,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;gBACpC,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;gBACpD,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC;YACH,eAAe;SACf,CACD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,yBAAyB,CACrC;QACC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;QAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,EACD;QACC,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CACD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-zone-orchestrator.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-zone-orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEN,KAAK,SAAS,EACd,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAEN,KAAK,+BAA+B,EACpC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAIN,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,MAAM,2BAA2B,CAAC;AAQnC,MAAM,WAAW,0BAA2B,SAAQ,+BAA+B;IAClF,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3F,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC;IACjG,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACpC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,oBAAoB,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAyHD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,0BAA+B,GAC3C,OAAO,CAAC,sBAAsB,CAAC,CA6JjC"}
1
+ {"version":3,"file":"gateway-zone-orchestrator.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-zone-orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEN,KAAK,SAAS,EACd,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEN,KAAK,+BAA+B,EACpC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAIN,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,MAAM,2BAA2B,CAAC;AAQnC,MAAM,WAAW,0BAA2B,SAAQ,+BAA+B;IAClF,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3F,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC;IACjG,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACpC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,oBAAoB,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAiHD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,0BAA+B,GAC3C,OAAO,CAAC,sBAAsB,CAAC,CA6JjC"}
@@ -3,6 +3,7 @@ import path from 'node:path';
3
3
  import { createManagedVm as createManagedVmFromCore, } from '@agent-vm/gondolin-adapter';
4
4
  import { runTaskWithResult } from '../shared/run-task.js';
5
5
  import { resolveZoneSecrets } from './credential-manager.js';
6
+ import { runGatewayHealthCheck } from './gateway-health-check.js';
6
7
  import { buildGatewayImage, } from './gateway-image-builder.js';
7
8
  import { loadGatewayLifecycle } from './gateway-lifecycle-loader.js';
8
9
  import { cleanupOrphanedGatewayIfPresent } from './gateway-recovery.js';
@@ -60,22 +61,18 @@ async function waitForHealth(options) {
60
61
  });
61
62
  throw new Error(`Gateway readiness check failed after ${maxAttempts} attempts over ${formatElapsedSeconds(startedAtMs)}s. Last probe: ${lastObservation}. Gateway process may still be booting, or it may have crashed before opening its health port.${logTail ? `\nGateway log tail (${options.logPath}):\n${logTail}` : ''}`);
62
63
  }
63
- const healthCommand = options.healthCheck.type === 'http'
64
- ? `curl -sS -o /dev/null -w "%{http_code}" --max-time 2 http://127.0.0.1:${options.healthCheck.port}${options.healthCheck.path} 2>/dev/null || true`
65
- : options.healthCheck.command;
66
- const result = await options.managedVm.exec(healthCommand);
67
- const currentObservation = options.healthCheck.type === 'http'
68
- ? `http ${result.stdout.trim() || '(empty)'}`
69
- : `exit ${result.exitCode}`;
70
- if ((options.healthCheck.type === 'http' && result.stdout.trim().startsWith('2')) ||
71
- (options.healthCheck.type === 'command' && result.exitCode === 0)) {
64
+ const result = await runGatewayHealthCheck({
65
+ exec: async (command) => await options.managedVm.exec(command),
66
+ healthCheck: options.healthCheck,
67
+ });
68
+ if (result.ok) {
72
69
  return;
73
70
  }
74
71
  await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
75
72
  await waitForHealth({
76
73
  attempt: attempt + 1,
77
74
  healthCheck: options.healthCheck,
78
- lastObservation: currentObservation,
75
+ lastObservation: result.observation,
79
76
  logPath: options.logPath,
80
77
  managedVm: options.managedVm,
81
78
  maxAttempts,
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-zone-orchestrator.js","sourceRoot":"","sources":["../../src/gateway/gateway-zone-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EACN,eAAe,IAAI,uBAAuB,GAE1C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACN,iBAAiB,GAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACN,yBAAyB,EACzB,yBAAyB,GAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,eAAe,EACf,mCAAmC,GAKnC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAChD,MAAM,kCAAkC,GAAG,IAAI,CAAC,IAAI,CACnD,gCAAgC,GAAG,mCAAmC,CACtE,CAAC;AAoBF,SAAS,yBAAyB,CAAC,OAGlC;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,0BAA0B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,sBAAsB,CACjF,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,2BAA2B,CACnC,QAAgB,EAChB,OAAe,EACf,MAA4B;IAE5B,OAAO,GAAG,QAAQ,qBAAqB,MAAM,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,OAAO,EAAE,CAAC;AAC/K,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAIjC;IACA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAGjC;IACA,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAC1C,cAAc,OAAO,CAAC,OAAO,sBAAsB,CACnD,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACzD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAChD,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAS5B;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mCAAmC,CAAC;IACjF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kCAAkC,CAAC;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;IAC1D,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACd,wCAAwC,WAAW,kBAAkB,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,eAAe,iGAAiG,OAAO,CAAC,CAAC,CAAC,uBAAuB,OAAO,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/S,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM;QAClC,CAAC,CAAC,yEAAyE,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,sBAAsB;QACpJ,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GACvB,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM;QAClC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE;QAC7C,CAAC,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9B,IACC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,EAChE,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,CAAC;QACnB,OAAO,EAAE,OAAO,GAAG,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe,EAAE,kBAAkB;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW;QACX,YAAY;QACZ,WAAW;KACX,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,OAAgC,EAChC,eAA2C,EAAE;IAE7C,MAAM,WAAW,GAChB,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,MAAc,EAAE,EAAuB,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,WAAW,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,CAAC,YAAY,CAAC,+BAA+B,IAAI,+BAA+B,CAAC,CAAC;YACvF,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,MAAM,EAAE,IAAI,CAAC,EAAE;SACf,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAC9C,WAAW,EACX,wBAAwB,EACxB,KAAK,IAAI,EAAE,CACV,MAAM,kBAAkB,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;KACtC,CAAC,CACH,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;YACrD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI;SACJ,CAAC,CAAC;QACH,OAAO,MAAM,iBAAiB,CAC7B;YACC,eAAe,EAAE,mBAAmB,CAAC,WAAW;YAChD,yBAAyB,EAAE,OAAO,CAAC,YAAY,CAAC,yBAAyB;YACzE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAClB,OAAO,CAAC,YAAY,CAAC,QAAQ,EAC7B,gBAAgB,EAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CACzB;SACD,EACD;YACC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CACD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;QACpC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc;QACxD,eAAe;QACf,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB;QAC5D,eAAe;QACf,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;QACrC,IAAI,EAAE,aAAa;KACnB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG;QACnB,GAAG,MAAM,CAAC,WAAW;QACrB,GAAG,OAAO,CAAC,mBAAmB;KAC9B,CAAC;IACF,MAAM,QAAQ,GAAG;QAChB,GAAG,MAAM,CAAC,QAAQ;QAClB,GAAG,OAAO,CAAC,gBAAgB;KAC3B,CAAC;IACF,MAAM,SAAS,GAAG;QACjB,GAAG,MAAM,CAAC,SAAS;QACnB,GAAG,OAAO,CAAC,iBAAiB;KAC5B,CAAC;IACF,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,uBAAuB,CAAC;IAChF,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACxC,WAAW,EACX,oBAAoB,EACpB,KAAK,IAAI,EAAE,CACV,MAAM,eAAe,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;QACvB,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,eAAe;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ;QACR,SAAS;KACT,CAAC,CACH,CAAC;IACF,IAAI,CAAC;QACJ,MAAM,WAAW,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,kBAAkB,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,gBAAgB;gBACrC,SAAS;gBACT,QAAQ,EAAE,qBAAqB;aAC/B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,kBAAkB,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,YAAY;gBACjC,SAAS;gBACT,QAAQ,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,aAAa,CAAC;gBACnB,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,SAAS;gBACT,GAAG,CAAC,YAAY,CAAC,2BAA2B,KAAK,SAAS;oBACzD,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,2BAA2B,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,YAAY,CAAC,4BAA4B,KAAK,SAAS;oBAC1D,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,4BAA4B,EAAE;oBAC7D,CAAC,CAAC,EAAE,CAAC;aACN,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,gBAAgB,CAAC;YAC1B;gBACC,IAAI,EAAE,WAAW,CAAC,eAAe;gBACjC,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,IAAI;aACjB;SACD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,CAAC,YAAY,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,CAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,yBAAyB,CAAC;gBACzB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC9B,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,SAAS;gBACT,WAAW;gBACX,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB;gBAC5D,MAAM,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACN,KAAK;YACL,OAAO;YACP,WAAW;YACX,EAAE,EAAE,SAAS;YACb,IAAI;SACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,UAAmB,EAAE,EAAE;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,gEAAgE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CACjJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"gateway-zone-orchestrator.js","sourceRoot":"","sources":["../../src/gateway/gateway-zone-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EACN,eAAe,IAAI,uBAAuB,GAE1C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACN,iBAAiB,GAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACN,yBAAyB,EACzB,yBAAyB,GAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,eAAe,EACf,mCAAmC,GAKnC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAChD,MAAM,kCAAkC,GAAG,IAAI,CAAC,IAAI,CACnD,gCAAgC,GAAG,mCAAmC,CACtE,CAAC;AAoBF,SAAS,yBAAyB,CAAC,OAGlC;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,0BAA0B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,sBAAsB,CACjF,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,2BAA2B,CACnC,QAAgB,EAChB,OAAe,EACf,MAA4B;IAE5B,OAAO,GAAG,QAAQ,qBAAqB,MAAM,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,OAAO,EAAE,CAAC;AAC/K,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAIjC;IACA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAGjC;IACA,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAC1C,cAAc,OAAO,CAAC,OAAO,sBAAsB,CACnD,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACzD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAChD,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAS5B;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mCAAmC,CAAC;IACjF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kCAAkC,CAAC;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;IAC1D,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACd,wCAAwC,WAAW,kBAAkB,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,eAAe,iGAAiG,OAAO,CAAC,CAAC,CAAC,uBAAuB,OAAO,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/S,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;QAC1C,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9D,WAAW,EAAE,OAAO,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;IACR,CAAC;IAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,CAAC;QACnB,OAAO,EAAE,OAAO,GAAG,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe,EAAE,MAAM,CAAC,WAAW;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW;QACX,YAAY;QACZ,WAAW;KACX,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,OAAgC,EAChC,eAA2C,EAAE;IAE7C,MAAM,WAAW,GAChB,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,MAAc,EAAE,EAAuB,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,WAAW,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,CAAC,YAAY,CAAC,+BAA+B,IAAI,+BAA+B,CAAC,CAAC;YACvF,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,MAAM,EAAE,IAAI,CAAC,EAAE;SACf,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAC9C,WAAW,EACX,wBAAwB,EACxB,KAAK,IAAI,EAAE,CACV,MAAM,kBAAkB,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;KACtC,CAAC,CACH,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;YACrD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI;SACJ,CAAC,CAAC;QACH,OAAO,MAAM,iBAAiB,CAC7B;YACC,eAAe,EAAE,mBAAmB,CAAC,WAAW;YAChD,yBAAyB,EAAE,OAAO,CAAC,YAAY,CAAC,yBAAyB;YACzE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAClB,OAAO,CAAC,YAAY,CAAC,QAAQ,EAC7B,gBAAgB,EAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CACzB;SACD,EACD;YACC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CACD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;QACpC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc;QACxD,eAAe;QACf,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB;QAC5D,eAAe;QACf,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;QACrC,IAAI,EAAE,aAAa;KACnB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG;QACnB,GAAG,MAAM,CAAC,WAAW;QACrB,GAAG,OAAO,CAAC,mBAAmB;KAC9B,CAAC;IACF,MAAM,QAAQ,GAAG;QAChB,GAAG,MAAM,CAAC,QAAQ;QAClB,GAAG,OAAO,CAAC,gBAAgB;KAC3B,CAAC;IACF,MAAM,SAAS,GAAG;QACjB,GAAG,MAAM,CAAC,SAAS;QACnB,GAAG,OAAO,CAAC,iBAAiB;KAC5B,CAAC;IACF,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,uBAAuB,CAAC;IAChF,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACxC,WAAW,EACX,oBAAoB,EACpB,KAAK,IAAI,EAAE,CACV,MAAM,eAAe,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;QACvB,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,eAAe;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ;QACR,SAAS;KACT,CAAC,CACH,CAAC;IACF,IAAI,CAAC;QACJ,MAAM,WAAW,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,kBAAkB,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,gBAAgB;gBACrC,SAAS;gBACT,QAAQ,EAAE,qBAAqB;aAC/B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,kBAAkB,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,YAAY;gBACjC,SAAS;gBACT,QAAQ,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,aAAa,CAAC;gBACnB,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,SAAS;gBACT,GAAG,CAAC,YAAY,CAAC,2BAA2B,KAAK,SAAS;oBACzD,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,2BAA2B,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,YAAY,CAAC,4BAA4B,KAAK,SAAS;oBAC1D,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,4BAA4B,EAAE;oBAC7D,CAAC,CAAC,EAAE,CAAC;aACN,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,gBAAgB,CAAC;YAC1B;gBACC,IAAI,EAAE,WAAW,CAAC,eAAe;gBACjC,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,IAAI;aACjB;SACD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,CAAC,YAAY,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,CAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,yBAAyB,CAAC;gBACzB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC9B,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,SAAS;gBACT,WAAW;gBACX,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB;gBAC5D,MAAM,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACN,KAAK;YACL,OAAO;YACP,WAAW;YACX,EAAE,EAAE,SAAS;YACb,IAAI;SACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,UAAmB,EAAE,EAAE;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,gEAAgE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CACjJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC"}
@@ -2,7 +2,7 @@ import { createManagedVm as createManagedVmFromCore, type ManagedVm, type Pinned
2
2
  import { buildGondolinImage as buildGondolinImageDefault } from '../build/gondolin-image-builder.js';
3
3
  import type { LoadedSystemConfig } from '../config/system-config.js';
4
4
  import type { ToolVmProfile } from '../controller/leases/lease-manager.js';
5
- import { validateResolvedToolWorkspaceDir as validateResolvedToolWorkspaceDirDefault } from '../controller/leases/lease-workspace-paths.js';
5
+ import { validateResolvedToolWorkMountDir as validateResolvedToolWorkMountDirDefault } from '../controller/leases/lease-work-mount-paths.js';
6
6
  export interface ToolVmLifecycleDependencies {
7
7
  readonly buildGondolinImage?: (options: {
8
8
  readonly buildConfigPath: string;
@@ -13,14 +13,14 @@ export interface ToolVmLifecycleDependencies {
13
13
  readonly createManagedVm?: typeof createManagedVmFromCore;
14
14
  readonly closePinnedRealFsRoot?: (root: PinnedRealFsRoot) => void;
15
15
  readonly pinRealFsRoot?: (hostPath: string) => PinnedRealFsRoot;
16
- readonly validateResolvedToolWorkspaceDir?: typeof validateResolvedToolWorkspaceDirDefault;
16
+ readonly validateResolvedToolWorkMountDir?: typeof validateResolvedToolWorkMountDirDefault;
17
17
  }
18
18
  export declare function createToolVm(options: {
19
19
  readonly cacheDir: string;
20
20
  readonly profile: ToolVmProfile;
21
21
  readonly systemConfig: LoadedSystemConfig;
22
22
  readonly tcpSlot: number;
23
- readonly workspaceDir: string;
23
+ readonly hostWorkMountDir: string;
24
24
  readonly zoneId: string;
25
25
  }, dependencies?: ToolVmLifecycleDependencies): Promise<ManagedVm>;
26
26
  //# sourceMappingURL=tool-vm-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-vm-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tool-vm/tool-vm-lifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,eAAe,IAAI,uBAAuB,EAE1C,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,IAAI,uCAAuC,EAAE,MAAM,+CAA+C,CAAC;AAE5I,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;KAC7B,KAAK,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAChE,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,uCAAuC,CAAC;CAC3F;AAED,wBAAsB,YAAY,CACjC,OAAO,EAAE;IACR,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,EACD,YAAY,GAAE,2BAAgC,GAC5C,OAAO,CAAC,SAAS,CAAC,CAkEpB"}
1
+ {"version":3,"file":"tool-vm-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tool-vm/tool-vm-lifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,eAAe,IAAI,uBAAuB,EAE1C,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,IAAI,uCAAuC,EAAE,MAAM,gDAAgD,CAAC;AAE7I,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;KAC7B,KAAK,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAChE,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,uCAAuC,CAAC;CAC3F;AAED,wBAAsB,YAAY,CACjC,OAAO,EAAE;IACR,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB,EACD,YAAY,GAAE,2BAAgC,GAC5C,OAAO,CAAC,SAAS,CAAC,CAkEpB"}
@@ -2,13 +2,13 @@ import path from 'node:path';
2
2
  import { buildToolSessionLabel } from '@agent-vm/gateway-interface';
3
3
  import { closePinnedRealFsRoot as closePinnedRealFsRootDefault, createManagedVm as createManagedVmFromCore, pinRealFsRoot as pinRealFsRootDefault, } from '@agent-vm/gondolin-adapter';
4
4
  import { buildGondolinImage as buildGondolinImageDefault } from '../build/gondolin-image-builder.js';
5
- import { validateResolvedToolWorkspaceDir as validateResolvedToolWorkspaceDirDefault } from '../controller/leases/lease-workspace-paths.js';
5
+ import { validateResolvedToolWorkMountDir as validateResolvedToolWorkMountDirDefault } from '../controller/leases/lease-work-mount-paths.js';
6
6
  export async function createToolVm(options, dependencies = {}) {
7
7
  const buildGondolinImage = dependencies.buildGondolinImage ?? buildGondolinImageDefault;
8
8
  const createManagedVm = dependencies.createManagedVm ?? createManagedVmFromCore;
9
9
  const closePinnedRealFsRoot = dependencies.closePinnedRealFsRoot ?? closePinnedRealFsRootDefault;
10
10
  const pinRealFsRoot = dependencies.pinRealFsRoot ?? pinRealFsRootDefault;
11
- const validateResolvedToolWorkspaceDir = dependencies.validateResolvedToolWorkspaceDir ?? validateResolvedToolWorkspaceDirDefault;
11
+ const validateResolvedToolWorkMountDir = dependencies.validateResolvedToolWorkMountDir ?? validateResolvedToolWorkMountDirDefault;
12
12
  const zone = options.systemConfig.zones.find((configuredZone) => configuredZone.id === options.zoneId);
13
13
  if (!zone) {
14
14
  throw new Error(`Zone '${options.zoneId}' is not configured.`);
@@ -18,8 +18,8 @@ export async function createToolVm(options, dependencies = {}) {
18
18
  throw new Error(`Tool VM image profile '${options.profile.imageProfile}' is not configured.`);
19
19
  }
20
20
  // Fail bad lease paths before doing any expensive image work.
21
- await validateResolvedToolWorkspaceDir({
22
- workspaceDir: options.workspaceDir,
21
+ await validateResolvedToolWorkMountDir({
22
+ hostWorkMountDir: options.hostWorkMountDir,
23
23
  zone,
24
24
  });
25
25
  const toolImage = await buildGondolinImage({
@@ -29,19 +29,19 @@ export async function createToolVm(options, dependencies = {}) {
29
29
  });
30
30
  // Internal createToolVm callers bypass the /lease route; validate and pin
31
31
  // immediately before handing the RealFS root to the VM adapter.
32
- const hostWorkspaceDirectory = await validateResolvedToolWorkspaceDir({
33
- workspaceDir: options.workspaceDir,
32
+ const hostWorkMountDirectory = await validateResolvedToolWorkMountDir({
33
+ hostWorkMountDir: options.hostWorkMountDir,
34
34
  zone,
35
35
  });
36
- const pinnedWorkspaceRoot = pinRealFsRoot(hostWorkspaceDirectory);
36
+ const pinnedWorkMountRoot = pinRealFsRoot(hostWorkMountDirectory);
37
37
  try {
38
- await validateResolvedToolWorkspaceDir({
39
- workspaceDir: pinnedWorkspaceRoot.realPath,
38
+ await validateResolvedToolWorkMountDir({
39
+ hostWorkMountDir: pinnedWorkMountRoot.realPath,
40
40
  zone,
41
41
  });
42
42
  }
43
43
  catch (error) {
44
- closePinnedRealFsRoot(pinnedWorkspaceRoot);
44
+ closePinnedRealFsRoot(pinnedWorkMountRoot);
45
45
  throw error;
46
46
  }
47
47
  const toolVm = await createManagedVm({
@@ -54,9 +54,9 @@ export async function createToolVm(options, dependencies = {}) {
54
54
  secrets: {},
55
55
  vfsMounts: {
56
56
  '/work': {
57
- hostPath: hostWorkspaceDirectory,
57
+ hostPath: hostWorkMountDirectory,
58
58
  kind: 'realfs',
59
- pinnedHostRoot: pinnedWorkspaceRoot,
59
+ pinnedHostRoot: pinnedWorkMountRoot,
60
60
  },
61
61
  },
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tool-vm-lifecycle.js","sourceRoot":"","sources":["../../src/tool-vm/tool-vm-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-vm-lifecycle.js","sourceRoot":"","sources":["../../src/tool-vm/tool-vm-lifecycle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-vm/agent-vm",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "description": "Controller CLI and HTTP server for sandboxed VM coding agents.",
5
5
  "homepage": "https://github.com/ShravanSunder/agent-vm#readme",
6
6
  "bugs": {
@@ -36,14 +36,15 @@
36
36
  "cmd-ts": "^0.14.0",
37
37
  "execa": "^9.5.2",
38
38
  "hono": "^4.12.14",
39
+ "jsonc-parser": "^3.3.1",
39
40
  "tasuku": "^2.3.0",
40
41
  "zod": "^4",
41
- "@agent-vm/agent-vm-worker": "0.0.33",
42
- "@agent-vm/gondolin-adapter": "0.0.33",
43
- "@agent-vm/openclaw-gateway": "0.0.33",
44
- "@agent-vm/worker-gateway": "0.0.33",
45
- "@agent-vm/openclaw-agent-vm-plugin": "0.0.33",
46
- "@agent-vm/gateway-interface": "0.0.33"
42
+ "@agent-vm/agent-vm-worker": "0.0.35",
43
+ "@agent-vm/gondolin-adapter": "0.0.35",
44
+ "@agent-vm/gateway-interface": "0.0.35",
45
+ "@agent-vm/worker-gateway": "0.0.35",
46
+ "@agent-vm/openclaw-agent-vm-plugin": "0.0.35",
47
+ "@agent-vm/openclaw-gateway": "0.0.35"
47
48
  },
48
49
  "scripts": {
49
50
  "build": "rm -rf dist && tsc -p tsconfig.build.json",
@@ -1,14 +0,0 @@
1
- import type { SystemConfig } from '../../config/system-config.js';
2
- type ZoneConfig = SystemConfig['zones'][number];
3
- export declare class LeaseWorkspaceValidationError extends Error {
4
- }
5
- export declare function validateResolvedToolWorkspaceDir(options: {
6
- readonly workspaceDir: string;
7
- readonly zone: ZoneConfig;
8
- }): Promise<string>;
9
- export declare function resolveLeaseWorkspaceDir(options: {
10
- readonly workspaceDir: string;
11
- readonly zone: ZoneConfig;
12
- }): Promise<string>;
13
- export {};
14
- //# sourceMappingURL=lease-workspace-paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lease-workspace-paths.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/lease-workspace-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAQlE,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,qBAAa,6BAA8B,SAAQ,KAAK;CAAG;AA8E3D,wBAAsB,gCAAgC,CAAC,OAAO,EAAE;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAsClB"}
@@ -1,104 +0,0 @@
1
- import { realpath } from 'node:fs/promises';
2
- import path from 'node:path';
3
- // These guest roots are mounted by the OpenClaw gateway image. Lease callers
4
- // must speak in gateway paths; the controller owns translation to host paths.
5
- const OPENCLAW_STATE_VM_ROOT = '/home/openclaw/.openclaw/state';
6
- const OPENCLAW_STATE_SANDBOXES_VM_ROOT = `${OPENCLAW_STATE_VM_ROOT}/sandboxes`;
7
- const OPENCLAW_ZONE_FILES_VM_ROOT = '/zone';
8
- export class LeaseWorkspaceValidationError extends Error {
9
- }
10
- function pathContainsParentTraversal(inputPath) {
11
- return inputPath.split(/[\\/]+/u).includes('..');
12
- }
13
- function isPathWithin(candidatePath, rootPath) {
14
- const relativePath = path.relative(rootPath, candidatePath);
15
- return relativePath === '' || (!relativePath.startsWith('..') && !path.isAbsolute(relativePath));
16
- }
17
- function mapGuestPathToHostPath(options) {
18
- const normalizedWorkspaceDir = path.posix.normalize(options.workspaceDir);
19
- if (normalizedWorkspaceDir !== options.guestRoot &&
20
- !normalizedWorkspaceDir.startsWith(`${options.guestRoot}/`)) {
21
- return null;
22
- }
23
- const relativePath = path.posix.relative(options.guestRoot, normalizedWorkspaceDir);
24
- return path.join(options.hostRoot, relativePath);
25
- }
26
- async function realpathIfDirectory(directoryPath) {
27
- try {
28
- return await realpath(directoryPath);
29
- }
30
- catch (error) {
31
- const code = error && typeof error === 'object' && 'code' in error ? String(error.code) : 'UNKNOWN';
32
- const message = error instanceof Error ? error.message : String(error);
33
- throw new LeaseWorkspaceValidationError(`Lease workspace path '${directoryPath}' failed directory realpath check (${code}): ${message}`, { cause: error });
34
- }
35
- }
36
- async function realpathAllowedRoot(directoryPath) {
37
- try {
38
- return await realpath(directoryPath);
39
- }
40
- catch (error) {
41
- if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
42
- return null;
43
- }
44
- throw error;
45
- }
46
- }
47
- async function validateResolvedLeaseWorkspaceDir(options) {
48
- if (options.zone.gateway.type !== 'openclaw') {
49
- throw new LeaseWorkspaceValidationError(`Zone '${options.zone.id}' does not support OpenClaw tool VM leases.`);
50
- }
51
- const hostSandboxRoot = path.join(options.zone.gateway.stateDir, 'sandboxes');
52
- const [realCandidatePath, realSandboxRoot, realZoneFilesRoot] = await Promise.all([
53
- realpathIfDirectory(options.workspaceDir),
54
- realpathAllowedRoot(hostSandboxRoot),
55
- realpathAllowedRoot(options.zone.gateway.zoneFilesDir),
56
- ]);
57
- const allowedRoots = [realSandboxRoot, realZoneFilesRoot].filter((root) => root !== null);
58
- if (!allowedRoots.some((root) => isPathWithin(realCandidatePath, root))) {
59
- throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' resolves outside allowed OpenClaw tool workspace roots for zone '${options.zone.id}'.`);
60
- }
61
- return realCandidatePath;
62
- }
63
- export async function validateResolvedToolWorkspaceDir(options) {
64
- if (options.zone.gateway.type !== 'openclaw') {
65
- throw new LeaseWorkspaceValidationError(`Zone '${options.zone.id}' does not support OpenClaw tool VM leases.`);
66
- }
67
- if (!path.isAbsolute(options.workspaceDir)) {
68
- throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must be absolute.`);
69
- }
70
- if (pathContainsParentTraversal(options.workspaceDir)) {
71
- throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must not contain '..' path segments.`);
72
- }
73
- return await validateResolvedLeaseWorkspaceDir(options);
74
- }
75
- export async function resolveLeaseWorkspaceDir(options) {
76
- if (options.zone.gateway.type !== 'openclaw') {
77
- throw new LeaseWorkspaceValidationError(`Zone '${options.zone.id}' does not support OpenClaw tool VM leases.`);
78
- }
79
- if (!path.isAbsolute(options.workspaceDir)) {
80
- throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must be absolute.`);
81
- }
82
- if (pathContainsParentTraversal(options.workspaceDir)) {
83
- throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must not contain '..' path segments.`);
84
- }
85
- const hostSandboxRoot = path.join(options.zone.gateway.stateDir, 'sandboxes');
86
- const candidatePath = mapGuestPathToHostPath({
87
- guestRoot: OPENCLAW_STATE_SANDBOXES_VM_ROOT,
88
- hostRoot: hostSandboxRoot,
89
- workspaceDir: options.workspaceDir,
90
- }) ??
91
- mapGuestPathToHostPath({
92
- guestRoot: OPENCLAW_ZONE_FILES_VM_ROOT,
93
- hostRoot: options.zone.gateway.zoneFilesDir,
94
- workspaceDir: options.workspaceDir,
95
- });
96
- if (!candidatePath) {
97
- throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must be under ${OPENCLAW_STATE_SANDBOXES_VM_ROOT} or ${OPENCLAW_ZONE_FILES_VM_ROOT}.`);
98
- }
99
- return await validateResolvedLeaseWorkspaceDir({
100
- workspaceDir: candidatePath,
101
- zone: options.zone,
102
- });
103
- }
104
- //# sourceMappingURL=lease-workspace-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lease-workspace-paths.js","sourceRoot":"","sources":["../../../src/controller/leases/lease-workspace-paths.ts"],"names":[],"mappings":"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"}