@agent-vm/agent-vm 0.0.31 → 0.0.32

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 (144) 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 +86 -68
  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 +86 -68
  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 +45 -28
  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 +22 -9
  46. package/dist/config/system-config.d.ts.map +1 -1
  47. package/dist/config/system-config.js +72 -14
  48. package/dist/config/system-config.js.map +1 -1
  49. package/dist/controller/active-task-registry.d.ts +14 -2
  50. package/dist/controller/active-task-registry.d.ts.map +1 -1
  51. package/dist/controller/active-task-registry.js +14 -0
  52. package/dist/controller/active-task-registry.js.map +1 -1
  53. package/dist/controller/controller-runtime.d.ts.map +1 -1
  54. package/dist/controller/controller-runtime.js +27 -8
  55. package/dist/controller/controller-runtime.js.map +1 -1
  56. package/dist/controller/git-pull-default-operations.d.ts +101 -9
  57. package/dist/controller/git-pull-default-operations.d.ts.map +1 -1
  58. package/dist/controller/git-pull-default-operations.js +405 -68
  59. package/dist/controller/git-pull-default-operations.js.map +1 -1
  60. package/dist/controller/git-push-operations.d.ts +2 -0
  61. package/dist/controller/git-push-operations.d.ts.map +1 -1
  62. package/dist/controller/git-push-operations.js +267 -76
  63. package/dist/controller/git-push-operations.js.map +1 -1
  64. package/dist/controller/git-retry-support.d.ts +21 -0
  65. package/dist/controller/git-retry-support.d.ts.map +1 -0
  66. package/dist/controller/git-retry-support.js +60 -0
  67. package/dist/controller/git-retry-support.js.map +1 -0
  68. package/dist/controller/http/controller-client.d.ts +2 -0
  69. package/dist/controller/http/controller-client.d.ts.map +1 -1
  70. package/dist/controller/http/controller-client.js +13 -0
  71. package/dist/controller/http/controller-client.js.map +1 -1
  72. package/dist/controller/http/controller-http-route-support.d.ts +7 -2
  73. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  74. package/dist/controller/http/controller-http-route-support.js +17 -1
  75. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  76. package/dist/controller/http/controller-http-routes.d.ts +4 -1
  77. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  78. package/dist/controller/http/controller-http-routes.js +33 -6
  79. package/dist/controller/http/controller-http-routes.js.map +1 -1
  80. package/dist/controller/http/controller-lease-response-types.d.ts +17 -0
  81. package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -0
  82. package/dist/controller/http/controller-lease-response-types.js +16 -0
  83. package/dist/controller/http/controller-lease-response-types.js.map +1 -0
  84. package/dist/controller/http/controller-request-schemas.d.ts +84 -13
  85. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  86. package/dist/controller/http/controller-request-schemas.js +110 -9
  87. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  88. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  89. package/dist/controller/http/controller-zone-operation-routes.js +10 -3
  90. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  91. package/dist/controller/leases/idle-reaper.d.ts +3 -1
  92. package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
  93. package/dist/controller/leases/idle-reaper.js +3 -2
  94. package/dist/controller/leases/idle-reaper.js.map +1 -1
  95. package/dist/controller/leases/lease-manager.d.ts +18 -9
  96. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  97. package/dist/controller/leases/lease-manager.js +155 -57
  98. package/dist/controller/leases/lease-manager.js.map +1 -1
  99. package/dist/controller/leases/lease-workspace-paths.d.ts +14 -0
  100. package/dist/controller/leases/lease-workspace-paths.d.ts.map +1 -0
  101. package/dist/controller/leases/lease-workspace-paths.js +104 -0
  102. package/dist/controller/leases/lease-workspace-paths.js.map +1 -0
  103. package/dist/controller/runtime-instructions-builder.d.ts +1 -2
  104. package/dist/controller/runtime-instructions-builder.d.ts.map +1 -1
  105. package/dist/controller/runtime-instructions-builder.js +8 -9
  106. package/dist/controller/runtime-instructions-builder.js.map +1 -1
  107. package/dist/controller/task-config-builder.d.ts +2 -1
  108. package/dist/controller/task-config-builder.d.ts.map +1 -1
  109. package/dist/controller/task-config-builder.js +2 -1
  110. package/dist/controller/task-config-builder.js.map +1 -1
  111. package/dist/controller/worker-task-runner.d.ts +10 -4
  112. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  113. package/dist/controller/worker-task-runner.js +147 -44
  114. package/dist/controller/worker-task-runner.js.map +1 -1
  115. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  116. package/dist/gateway/gateway-zone-orchestrator.js +4 -2
  117. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  118. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  119. package/dist/gateway/gateway-zone-support.js +18 -10
  120. package/dist/gateway/gateway-zone-support.js.map +1 -1
  121. package/dist/operations/config-validation.d.ts +1 -0
  122. package/dist/operations/config-validation.d.ts.map +1 -1
  123. package/dist/operations/config-validation.js +7 -3
  124. package/dist/operations/config-validation.js.map +1 -1
  125. package/dist/operations/destroy-zone.d.ts.map +1 -1
  126. package/dist/operations/destroy-zone.js +8 -1
  127. package/dist/operations/destroy-zone.js.map +1 -1
  128. package/dist/operations/doctor.d.ts +4 -0
  129. package/dist/operations/doctor.d.ts.map +1 -1
  130. package/dist/operations/doctor.js +127 -4
  131. package/dist/operations/doctor.js.map +1 -1
  132. package/dist/operations/runtime-config-paths.d.ts +4 -0
  133. package/dist/operations/runtime-config-paths.d.ts.map +1 -0
  134. package/dist/operations/runtime-config-paths.js +6 -0
  135. package/dist/operations/runtime-config-paths.js.map +1 -0
  136. package/dist/perf/gondolin-vfs-benchmark-support.d.ts +28 -0
  137. package/dist/perf/gondolin-vfs-benchmark-support.d.ts.map +1 -0
  138. package/dist/perf/gondolin-vfs-benchmark-support.js +50 -0
  139. package/dist/perf/gondolin-vfs-benchmark-support.js.map +1 -0
  140. package/dist/tool-vm/tool-vm-lifecycle.d.ts +5 -7
  141. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  142. package/dist/tool-vm/tool-vm-lifecycle.js +32 -27
  143. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  144. package/package.json +7 -7
@@ -1,3 +1,4 @@
1
+ import { controllerLeasePeekResponseSchema, } from './controller-lease-response-types.js';
1
2
  async function readJsonResponse(response, context) {
2
3
  const responseBody = await response.text().catch(() => '(unreadable)');
3
4
  if (!response.ok) {
@@ -10,6 +11,14 @@ async function readJsonResponse(response, context) {
10
11
  throw new Error(`${context} returned invalid JSON: ${error instanceof Error ? error.message : String(error)}. Body: ${responseBody}`, { cause: error });
11
12
  }
12
13
  }
14
+ async function readLeasePeekResponse(response, context) {
15
+ const payload = await readJsonResponse(response, context);
16
+ const parsedPayload = controllerLeasePeekResponseSchema.safeParse(payload);
17
+ if (!parsedPayload.success) {
18
+ throw new Error(`${context} returned an invalid lease peek response.`);
19
+ }
20
+ return parsedPayload.data;
21
+ }
13
22
  export function createControllerClient(options) {
14
23
  const fetchImpl = options.fetchImpl ?? fetch;
15
24
  const baseUrl = options.baseUrl.replace(/\/$/u, '');
@@ -58,6 +67,10 @@ export function createControllerClient(options) {
58
67
  const response = await fetchImpl(`${baseUrl}/leases`);
59
68
  return await readJsonResponse(response, 'List leases');
60
69
  },
70
+ peekLease: async (leaseId) => {
71
+ const response = await fetchImpl(`${baseUrl}/lease/${leaseId}/peek`);
72
+ return await readLeasePeekResponse(response, `Peek lease '${leaseId}'`);
73
+ },
61
74
  releaseLease: async (leaseId) => {
62
75
  await fetchImpl(`${baseUrl}/lease/${leaseId}`, { method: 'DELETE' });
63
76
  },
@@ -1 +1 @@
1
- {"version":3,"file":"controller-client.js","sourceRoot":"","sources":["../../../src/controller/http/controller-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-client.js","sourceRoot":"","sources":["../../../src/controller/http/controller-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Lease, LeaseManager } from '../leases/lease-manager.js';
2
2
  import type { PreparedWorkerTask, WorkerTaskInput } from '../worker-task-runner.js';
3
+ import type { ControllerLeasePeekResponse } from './controller-lease-response-types.js';
3
4
  export declare class ControllerTaskNotReadyError extends Error {
4
5
  }
5
6
  export declare class ControllerRuntimeAtCapacityError extends Error {
@@ -25,12 +26,15 @@ export interface ControllerRouteOperations {
25
26
  }[];
26
27
  }) => Promise<unknown>;
27
28
  readonly pullDefaultForTask?: (zoneId: string, taskId: string, input: {
29
+ readonly currentBranch?: string | null | undefined;
30
+ readonly currentHead?: string | undefined;
28
31
  readonly repoUrl: string;
32
+ readonly worktreeDirty?: boolean | undefined;
29
33
  }) => Promise<unknown>;
30
34
  readonly stopController?: () => Promise<unknown>;
31
35
  readonly upgradeZone: (zoneId: string) => Promise<unknown>;
32
36
  }
33
- export type ControllerLeaseManager = Pick<LeaseManager, 'createLease' | 'getLease' | 'listLeases' | 'releaseLease'>;
37
+ export type ControllerLeaseManager = Pick<LeaseManager, 'createLease' | 'keepLeaseAlive' | 'listLeases' | 'peekLease' | 'releaseLease'>;
34
38
  export declare function readIdentityPemFromFile(identityFilePath: string): Promise<string>;
35
39
  export declare function serializeLeaseForResponse(lease: Lease, readIdentityPem: (identityFilePath: string) => Promise<string>): Promise<{
36
40
  readonly leaseId: string;
@@ -42,6 +46,7 @@ export declare function serializeLeaseForResponse(lease: Lease, readIdentityPem:
42
46
  readonly user: string;
43
47
  };
44
48
  readonly tcpSlot: number;
45
- readonly workdir: '/workspace';
49
+ readonly workdir: '/work';
46
50
  }>;
51
+ export declare function serializeLeasePeekForResponse(lease: Lease): ControllerLeasePeekResponse;
47
52
  //# sourceMappingURL=controller-http-route-support.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-http-route-support.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-http-route-support.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEpF,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AACzD,qBAAa,gCAAiC,SAAQ,KAAK;CAAG;AAE9D,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,QAAQ,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,KAClB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,KACV,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;QACN,QAAQ,CAAC,QAAQ,EAAE,SAAS;YAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;YACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;SAC5B,EAAE,CAAC;KACJ,KACG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;QACN,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KACzB,KACG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACxC,YAAY,EACZ,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,cAAc,CAC1D,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvF;AAED,wBAAsB,yBAAyB,CAC9C,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5D,OAAO,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAC/B,CAAC,CAeD"}
1
+ {"version":3,"file":"controller-http-route-support.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-http-route-support.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,23 @@ export async function serializeLeaseForResponse(lease, readIdentityPem) {
19
19
  user: lease.sshAccess.user ?? 'root',
20
20
  },
21
21
  tcpSlot: lease.tcpSlot,
22
- workdir: '/workspace',
22
+ workdir: '/work',
23
+ };
24
+ }
25
+ export function serializeLeasePeekForResponse(lease) {
26
+ return {
27
+ createdAt: lease.createdAt,
28
+ lastUsedAt: lease.lastUsedAt,
29
+ leaseId: lease.id,
30
+ profileId: lease.profileId,
31
+ scopeKey: lease.scopeKey,
32
+ ssh: {
33
+ host: lease.sshAccess.host,
34
+ port: lease.sshAccess.port,
35
+ user: lease.sshAccess.user ?? 'root',
36
+ },
37
+ tcpSlot: lease.tcpSlot,
38
+ zoneId: lease.zoneId,
23
39
  };
24
40
  }
25
41
  //# sourceMappingURL=controller-http-route-support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-http-route-support.js","sourceRoot":"","sources":["../../../src/controller/http/controller-http-route-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKlC,MAAM,OAAO,2BAA4B,SAAQ,KAAK;CAAG;AACzD,MAAM,OAAO,gCAAiC,SAAQ,KAAK;CAAG;AA8C9D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,gBAAwB;IACrE,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,KAAY,EACZ,eAA8D;IAa9D,OAAO;QACN,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,GAAG,EAAE;YACJ,IAAI,EAAE,QAAQ,KAAK,CAAC,OAAO,UAAU;YACrC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY;gBACxC,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;gBACrD,CAAC,CAAC,EAAE;YACL,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM;SACpC;QACD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,YAAY;KACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"controller-http-route-support.js","sourceRoot":"","sources":["../../../src/controller/http/controller-http-route-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMlC,MAAM,OAAO,2BAA4B,SAAQ,KAAK;CAAG;AACzD,MAAM,OAAO,gCAAiC,SAAQ,KAAK;CAAG;AAiD9D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,gBAAwB;IACrE,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,KAAY,EACZ,eAA8D;IAa9D,OAAO;QACN,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,GAAG,EAAE;YACJ,IAAI,EAAE,QAAQ,KAAK,CAAC,OAAO,UAAU;YACrC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY;gBACxC,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;gBACrD,CAAC,CAAC,EAAE;YACL,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM;SACpC;QACD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,OAAO;KAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAY;IACzD,OAAO;QACN,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,EAAE;YACJ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;YAC1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;YAC1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM;SACpC;QACD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC;AACH,CAAC"}
@@ -8,11 +8,14 @@ export declare function createControllerApp(options: {
8
8
  readonly cpus: number;
9
9
  readonly imageProfile: string;
10
10
  readonly memory: string;
11
- readonly workspaceRoot: string;
12
11
  }>;
13
12
  readonly zoneToolProfiles?: Record<string, string>;
14
13
  readonly zoneIds?: ReadonlySet<string>;
15
14
  readonly operations?: Partial<ControllerRouteOperations>;
15
+ readonly resolveLeaseWorkspaceDir?: (options: {
16
+ readonly workspaceDir: string;
17
+ readonly zoneId: string;
18
+ }) => Promise<string>;
16
19
  }): Hono;
17
20
  export declare function createControllerService(options: {
18
21
  readonly leaseManager: ControllerLeaseManager;
@@ -1 +1 @@
1
- {"version":3,"file":"controller-http-routes.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-http-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAG9B,MAAM,oCAAoC,CAAC;AAI5C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC5C,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAC7B,MAAM,EACN;QACC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAC/B,CACD,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACzD,GAAG,IAAI,CA0GP;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAChD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC,GAAG,IAAI,CAqBP"}
1
+ {"version":3,"file":"controller-http-routes.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-http-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAMlE,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAI9B,MAAM,oCAAoC,CAAC;AAI5C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC5C,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAC7B,MAAM,EACN;QACC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,CACD,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,GAAG,IAAI,CA4HP;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAChD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC,GAAG,IAAI,CA6BP"}
@@ -1,5 +1,7 @@
1
1
  import { Hono } from 'hono';
2
- import { readIdentityPemFromFile, serializeLeaseForResponse, } from './controller-http-route-support.js';
2
+ import { LeaseScopeConflictError } from '../leases/lease-manager.js';
3
+ import { LeaseWorkspaceValidationError, resolveLeaseWorkspaceDir as resolveLeaseWorkspaceDirForZone, } from '../leases/lease-workspace-paths.js';
4
+ import { readIdentityPemFromFile, serializeLeasePeekForResponse, serializeLeaseForResponse, } from './controller-http-route-support.js';
3
5
  import { controllerLeaseCreateRequestSchema } from './controller-request-schemas.js';
4
6
  import { registerControllerZoneOperationRoutes } from './controller-zone-operation-routes.js';
5
7
  export function createControllerApp(options) {
@@ -28,12 +30,18 @@ export function createControllerApp(options) {
28
30
  if (!toolProfile) {
29
31
  return context.json({ error: `Unknown tool profile '${resolvedProfileId}'` }, 400);
30
32
  }
33
+ const workspaceDir = options.resolveLeaseWorkspaceDir
34
+ ? await options.resolveLeaseWorkspaceDir({
35
+ workspaceDir: payload.workspaceDir,
36
+ zoneId: payload.zoneId,
37
+ })
38
+ : payload.workspaceDir;
31
39
  const lease = await options.leaseManager.createLease({
32
40
  agentWorkspaceDir: payload.agentWorkspaceDir,
33
41
  profile: toolProfile,
34
42
  profileId: resolvedProfileId,
35
43
  scopeKey: payload.scopeKey,
36
- workspaceDir: payload.workspaceDir,
44
+ workspaceDir,
37
45
  zoneId: payload.zoneId,
38
46
  });
39
47
  return context.json(await serializeLeaseForResponse(lease, readIdentityPem));
@@ -41,15 +49,26 @@ export function createControllerApp(options) {
41
49
  catch (error) {
42
50
  return context.json({
43
51
  error: error instanceof Error ? error.message : 'lease-creation-failed',
44
- }, 503);
52
+ }, error instanceof LeaseWorkspaceValidationError
53
+ ? 400
54
+ : error instanceof LeaseScopeConflictError
55
+ ? 409
56
+ : 503);
45
57
  }
46
58
  });
59
+ app.get('/lease/:leaseId/peek', async (context) => {
60
+ const leaseSnapshot = options.leaseManager.peekLease(context.req.param('leaseId'));
61
+ if (!leaseSnapshot) {
62
+ return context.json({ error: 'Lease not found' }, 404);
63
+ }
64
+ return context.json(serializeLeasePeekForResponse(leaseSnapshot.lease));
65
+ });
47
66
  app.get('/lease/:leaseId', async (context) => {
48
- const lease = options.leaseManager.getLease(context.req.param('leaseId'));
49
- if (!lease) {
67
+ const leaseRenewal = options.leaseManager.keepLeaseAlive(context.req.param('leaseId'));
68
+ if (!leaseRenewal) {
50
69
  return context.json({ error: 'Lease not found' }, 404);
51
70
  }
52
- return context.json(await serializeLeaseForResponse(lease, readIdentityPem));
71
+ return context.json(await serializeLeaseForResponse(leaseRenewal.lease, readIdentityPem));
53
72
  });
54
73
  app.get('/leases', (context) => {
55
74
  const leases = options.leaseManager.listLeases().map((lease) => ({
@@ -94,12 +113,20 @@ export function createControllerApp(options) {
94
113
  return app;
95
114
  }
96
115
  export function createControllerService(options) {
116
+ const zonesById = new Map(options.systemConfig.zones.map((zone) => [zone.id, zone]));
97
117
  const app = createControllerApp({
98
118
  leaseManager: options.leaseManager,
99
119
  toolProfiles: options.systemConfig.toolProfiles,
100
120
  zoneIds: new Set(options.systemConfig.zones.map((zone) => zone.id)),
101
121
  zoneToolProfiles: Object.fromEntries(options.systemConfig.zones.flatMap((zone) => zone.toolProfile === undefined ? [] : [[zone.id, zone.toolProfile]])),
102
122
  ...(options.operations ? { operations: options.operations } : {}),
123
+ resolveLeaseWorkspaceDir: async ({ workspaceDir, zoneId }) => {
124
+ const zone = zonesById.get(zoneId);
125
+ if (!zone) {
126
+ throw new Error(`Unknown zone '${zoneId}'`);
127
+ }
128
+ return await resolveLeaseWorkspaceDirForZone({ workspaceDir, zone });
129
+ },
103
130
  });
104
131
  app.get('/health', (context) => context.json({
105
132
  ok: true,
@@ -1 +1 @@
1
- {"version":3,"file":"controller-http-routes.js","sourceRoot":"","sources":["../../../src/controller/http/controller-http-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-http-routes.js","sourceRoot":"","sources":["../../../src/controller/http/controller-http-routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const controllerLeasePeekResponseSchema: z.ZodObject<{
3
+ createdAt: z.ZodNumber;
4
+ lastUsedAt: z.ZodNumber;
5
+ leaseId: z.ZodString;
6
+ profileId: z.ZodString;
7
+ scopeKey: z.ZodString;
8
+ ssh: z.ZodObject<{
9
+ host: z.ZodString;
10
+ port: z.ZodNumber;
11
+ user: z.ZodString;
12
+ }, z.core.$strip>;
13
+ tcpSlot: z.ZodNumber;
14
+ zoneId: z.ZodString;
15
+ }, z.core.$strip>;
16
+ export type ControllerLeasePeekResponse = z.infer<typeof controllerLeasePeekResponseSchema>;
17
+ //# sourceMappingURL=controller-lease-response-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-lease-response-types.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-lease-response-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;iBAa5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export const controllerLeasePeekResponseSchema = z.object({
3
+ createdAt: z.number(),
4
+ lastUsedAt: z.number(),
5
+ leaseId: z.string(),
6
+ profileId: z.string(),
7
+ scopeKey: z.string(),
8
+ ssh: z.object({
9
+ host: z.string(),
10
+ port: z.number().int(),
11
+ user: z.string(),
12
+ }),
13
+ tcpSlot: z.number().int(),
14
+ zoneId: z.string(),
15
+ });
16
+ //# sourceMappingURL=controller-lease-response-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-lease-response-types.js","sourceRoot":"","sources":["../../../src/controller/http/controller-lease-response-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC"}
@@ -72,31 +72,102 @@ export declare const controllerPushBranchesResponseSchema: z.ZodObject<{
72
72
  }, z.core.$strip>;
73
73
  export declare const controllerPullDefaultRequestSchema: z.ZodObject<{
74
74
  repoUrl: z.ZodString;
75
+ currentBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
76
+ currentHead: z.ZodOptional<z.ZodString>;
77
+ worktreeDirty: z.ZodOptional<z.ZodBoolean>;
75
78
  }, z.core.$strip>;
76
- export declare const controllerPullDefaultResponseSchema: z.ZodObject<{
79
+ export declare const controllerPullDefaultResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
80
+ kind: z.ZodLiteral<"advanced">;
77
81
  repoUrl: z.ZodString;
78
- success: z.ZodBoolean;
79
- error: z.ZodOptional<z.ZodString>;
80
- defaultBranch: z.ZodOptional<z.ZodString>;
81
- remoteDefaultHead: z.ZodOptional<z.ZodString>;
82
- localDefaultHead: z.ZodOptional<z.ZodString>;
82
+ success: z.ZodLiteral<true>;
83
+ message: z.ZodString;
84
+ defaultBranch: z.ZodString;
85
+ remoteDefaultHead: z.ZodString;
86
+ localDefaultHead: z.ZodString;
83
87
  currentBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
- fetchedCommits: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ fetchedCommits: z.ZodArray<z.ZodObject<{
85
89
  sha: z.ZodString;
86
90
  subject: z.ZodString;
87
91
  author: z.ZodOptional<z.ZodString>;
88
92
  date: z.ZodOptional<z.ZodString>;
89
- }, z.core.$strip>>>;
90
- commitsSinceForkPoint: z.ZodOptional<z.ZodArray<z.ZodObject<{
93
+ }, z.core.$strip>>;
94
+ commitsSinceForkPoint: z.ZodArray<z.ZodObject<{
91
95
  sha: z.ZodString;
92
96
  subject: z.ZodString;
93
97
  author: z.ZodOptional<z.ZodString>;
94
98
  date: z.ZodOptional<z.ZodString>;
95
- }, z.core.$strip>>>;
96
- divergence: z.ZodOptional<z.ZodObject<{
99
+ }, z.core.$strip>>;
100
+ divergence: z.ZodObject<{
97
101
  aheadOfDefault: z.ZodNumber;
98
102
  behindDefault: z.ZodNumber;
99
103
  forkPoint: z.ZodString;
100
- }, z.core.$strip>>;
101
- }, z.core.$strip>;
104
+ }, z.core.$strip>;
105
+ currentBranchSync: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
106
+ status: z.ZodLiteral<"ahead">;
107
+ branch: z.ZodString;
108
+ upstreamTrackingRef: z.ZodString;
109
+ localHead: z.ZodString;
110
+ remoteHead: z.ZodString;
111
+ reason: z.ZodString;
112
+ }, z.core.$strip>, z.ZodObject<{
113
+ status: z.ZodLiteral<"default-branch">;
114
+ branch: z.ZodString;
115
+ upstreamTrackingRef: z.ZodString;
116
+ localHead: z.ZodString;
117
+ remoteHead: z.ZodString;
118
+ reason: z.ZodString;
119
+ }, z.core.$strip>, z.ZodObject<{
120
+ status: z.ZodLiteral<"detached">;
121
+ branch: z.ZodNull;
122
+ upstreamTrackingRef: z.ZodNull;
123
+ localHead: z.ZodString;
124
+ reason: z.ZodString;
125
+ }, z.core.$strip>, z.ZodObject<{
126
+ status: z.ZodLiteral<"dirty-worktree">;
127
+ branch: z.ZodString;
128
+ upstreamTrackingRef: z.ZodString;
129
+ localHead: z.ZodString;
130
+ remoteHead: z.ZodString;
131
+ reason: z.ZodString;
132
+ }, z.core.$strip>, z.ZodObject<{
133
+ status: z.ZodLiteral<"diverged">;
134
+ branch: z.ZodString;
135
+ upstreamTrackingRef: z.ZodString;
136
+ localHead: z.ZodString;
137
+ remoteHead: z.ZodString;
138
+ reason: z.ZodString;
139
+ }, z.core.$strip>, z.ZodObject<{
140
+ status: z.ZodLiteral<"fast-forwarded">;
141
+ branch: z.ZodString;
142
+ upstreamTrackingRef: z.ZodString;
143
+ localHead: z.ZodString;
144
+ remoteHead: z.ZodString;
145
+ }, z.core.$strip>, z.ZodObject<{
146
+ status: z.ZodLiteral<"no-upstream">;
147
+ branch: z.ZodString;
148
+ upstreamTrackingRef: z.ZodNull;
149
+ localHead: z.ZodOptional<z.ZodString>;
150
+ reason: z.ZodString;
151
+ }, z.core.$strip>, z.ZodObject<{
152
+ status: z.ZodLiteral<"up-to-date">;
153
+ branch: z.ZodString;
154
+ upstreamTrackingRef: z.ZodString;
155
+ localHead: z.ZodString;
156
+ remoteHead: z.ZodString;
157
+ }, z.core.$strip>], "status">>;
158
+ }, z.core.$strip>, z.ZodObject<{
159
+ kind: z.ZodLiteral<"refused-not-fast-forward">;
160
+ repoUrl: z.ZodString;
161
+ success: z.ZodLiteral<false>;
162
+ message: z.ZodString;
163
+ error: z.ZodString;
164
+ defaultBranch: z.ZodString;
165
+ remoteDefaultHead: z.ZodString;
166
+ }, z.core.$strip>, z.ZodObject<{
167
+ kind: z.ZodLiteral<"failed">;
168
+ repoUrl: z.ZodString;
169
+ success: z.ZodLiteral<false>;
170
+ message: z.ZodString;
171
+ error: z.ZodString;
172
+ }, z.core.$strip>], "kind">;
102
173
  //# sourceMappingURL=controller-request-schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-request-schemas.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-request-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kCAAkC;;;;;;iBAM7C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,eAAO,MAAM,qCAAqC;;iBAEhD,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;kBAAoC,CAAC;AAEnF,eAAO,MAAM,mCAAmC;;;;;iBAS9C,CAAC;AAcH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB/C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;iBAW9C,CAAC"}
1
+ {"version":3,"file":"controller-request-schemas.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-request-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kCAAkC;;;;;;iBAM7C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAC;AAEH,eAAO,MAAM,qCAAqC;;iBAEhD,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;kBAAoC,CAAC;AAEnF,eAAO,MAAM,mCAAmC;;;;;iBAS9C,CAAC;AAcH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB/C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;iBAU7C,CAAC;AAkHH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAI9C,CAAC"}
@@ -50,17 +50,118 @@ export const controllerPushBranchesResponseSchema = z.object({
50
50
  });
51
51
  export const controllerPullDefaultRequestSchema = z.object({
52
52
  repoUrl: z.string().min(1),
53
+ currentBranch: z.string().min(1).nullable().optional(),
54
+ currentHead: z.string().min(1).optional(),
55
+ /**
56
+ * Caller-attested `git status --porcelain` dirtiness for the current worktree.
57
+ * The controller uses it to decide whether a current-branch fast-forward is
58
+ * safe; the host-side bare gitdir cannot inspect the worker worktree itself.
59
+ */
60
+ worktreeDirty: z.boolean().optional(),
53
61
  });
54
- export const controllerPullDefaultResponseSchema = z.object({
62
+ const currentBranchAheadSchema = z.object({
63
+ status: z.literal('ahead'),
64
+ branch: z.string().min(1),
65
+ upstreamTrackingRef: z.string().min(1),
66
+ localHead: z.string().min(1),
67
+ remoteHead: z.string().min(1),
68
+ reason: z.string().min(1),
69
+ });
70
+ const currentBranchDefaultBranchSchema = z.object({
71
+ status: z.literal('default-branch'),
72
+ branch: z.string().min(1),
73
+ upstreamTrackingRef: z.string().min(1),
74
+ localHead: z.string().min(1),
75
+ remoteHead: z.string().min(1),
76
+ reason: z.string().min(1),
77
+ });
78
+ const currentBranchDetachedSchema = z.object({
79
+ status: z.literal('detached'),
80
+ branch: z.null(),
81
+ upstreamTrackingRef: z.null(),
82
+ localHead: z.string().min(1),
83
+ reason: z.string().min(1),
84
+ });
85
+ const currentBranchDirtyWorktreeSchema = z.object({
86
+ status: z.literal('dirty-worktree'),
87
+ branch: z.string().min(1),
88
+ upstreamTrackingRef: z.string().min(1),
89
+ localHead: z.string().min(1),
90
+ remoteHead: z.string().min(1),
91
+ reason: z.string().min(1),
92
+ });
93
+ const currentBranchDivergedSchema = z.object({
94
+ status: z.literal('diverged'),
95
+ branch: z.string().min(1),
96
+ upstreamTrackingRef: z.string().min(1),
97
+ localHead: z.string().min(1),
98
+ remoteHead: z.string().min(1),
99
+ reason: z.string().min(1),
100
+ });
101
+ const currentBranchFastForwardedSchema = z.object({
102
+ status: z.literal('fast-forwarded'),
103
+ branch: z.string().min(1),
104
+ upstreamTrackingRef: z.string().min(1),
105
+ localHead: z.string().min(1),
106
+ remoteHead: z.string().min(1),
107
+ });
108
+ const currentBranchNoUpstreamSchema = z.object({
109
+ status: z.literal('no-upstream'),
110
+ branch: z.string().min(1),
111
+ upstreamTrackingRef: z.null(),
112
+ localHead: z.string().min(1).optional(),
113
+ reason: z.string().min(1),
114
+ });
115
+ const currentBranchUpToDateSchema = z.object({
116
+ status: z.literal('up-to-date'),
117
+ branch: z.string().min(1),
118
+ upstreamTrackingRef: z.string().min(1),
119
+ localHead: z.string().min(1),
120
+ remoteHead: z.string().min(1),
121
+ });
122
+ const currentBranchSyncSchema = z.discriminatedUnion('status', [
123
+ currentBranchAheadSchema,
124
+ currentBranchDefaultBranchSchema,
125
+ currentBranchDetachedSchema,
126
+ currentBranchDirtyWorktreeSchema,
127
+ currentBranchDivergedSchema,
128
+ currentBranchFastForwardedSchema,
129
+ currentBranchNoUpstreamSchema,
130
+ currentBranchUpToDateSchema,
131
+ ]);
132
+ const pullDefaultAdvancedResponseSchema = z.object({
133
+ kind: z.literal('advanced'),
55
134
  repoUrl: z.string().min(1),
56
- success: z.boolean(),
57
- error: z.string().optional(),
58
- defaultBranch: z.string().optional(),
59
- remoteDefaultHead: z.string().optional(),
60
- localDefaultHead: z.string().optional(),
135
+ success: z.literal(true),
136
+ message: z.string().min(1),
137
+ defaultBranch: z.string().min(1),
138
+ remoteDefaultHead: z.string().min(1),
139
+ localDefaultHead: z.string().min(1),
61
140
  currentBranch: z.string().nullable().optional(),
62
- fetchedCommits: z.array(commitSummarySchema).optional(),
63
- commitsSinceForkPoint: z.array(commitSummarySchema).optional(),
64
- divergence: divergenceSchema.extend({ forkPoint: z.string() }).optional(),
141
+ fetchedCommits: z.array(commitSummarySchema),
142
+ commitsSinceForkPoint: z.array(commitSummarySchema),
143
+ divergence: divergenceSchema.extend({ forkPoint: z.string() }),
144
+ currentBranchSync: currentBranchSyncSchema.optional(),
145
+ });
146
+ const pullDefaultRefusedNotFastForwardResponseSchema = z.object({
147
+ kind: z.literal('refused-not-fast-forward'),
148
+ repoUrl: z.string().min(1),
149
+ success: z.literal(false),
150
+ message: z.string().min(1),
151
+ error: z.string().min(1),
152
+ defaultBranch: z.string().min(1),
153
+ remoteDefaultHead: z.string().min(1),
154
+ });
155
+ const pullDefaultFailedResponseSchema = z.object({
156
+ kind: z.literal('failed'),
157
+ repoUrl: z.string().min(1),
158
+ success: z.literal(false),
159
+ message: z.string().min(1),
160
+ error: z.string().min(1),
65
161
  });
162
+ export const controllerPullDefaultResponseSchema = z.discriminatedUnion('kind', [
163
+ pullDefaultAdvancedResponseSchema,
164
+ pullDefaultRefusedNotFastForwardResponseSchema,
165
+ pullDefaultFailedResponseSchema,
166
+ ]);
66
167
  //# sourceMappingURL=controller-request-schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-request-schemas.js","sourceRoot":"","sources":["../../../src/controller/http/controller-request-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-request-schemas.js","sourceRoot":"","sources":["../../../src/controller/http/controller-request-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAE7F,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,iCAAiC,CAAC;AAEnF,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,QAAQ,EAAE,CAAC;SACT,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B,CAAC,CACF;SACA,GAAG,CAAC,CAAC,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QACxD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QACzD,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC9C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;KACvC,CAAC,CACF;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;IAChB,mBAAmB,EAAE,CAAC,CAAC,IAAI,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,IAAI,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC9D,wBAAwB;IACxB,gCAAgC;IAChC,2BAA2B;IAC3B,gCAAgC;IAChC,2BAA2B;IAC3B,gCAAgC;IAChC,6BAA6B;IAC7B,2BAA2B;CAC3B,CAAC,CAAC;AAEH,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAC5C,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACnD,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC9D,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,8CAA8C,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/E,iCAAiC;IACjC,8CAA8C;IAC9C,+BAA+B;CAC/B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller-zone-operation-routes.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-zone-operation-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAO/C,OAAO,EAGN,KAAK,yBAAyB,EAC9B,MAAM,oCAAoC,CAAC;AAsE5C,wBAAgB,qCAAqC,CACpD,GAAG,EAAE,IAAI,EACT,UAAU,EAAE,yBAAyB,GACnC,IAAI,CAmPN"}
1
+ {"version":3,"file":"controller-zone-operation-routes.d.ts","sourceRoot":"","sources":["../../../src/controller/http/controller-zone-operation-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ/C,OAAO,EAGN,KAAK,yBAAyB,EAC9B,MAAM,oCAAoC,CAAC;AAsE5C,wBAAgB,qCAAqC,CACpD,GAAG,EAAE,IAAI,EACT,UAAU,EAAE,yBAAyB,GACnC,IAAI,CA6PN"}
@@ -1,3 +1,4 @@
1
+ import { scrubGithubTokenFromOutput } from '../git-auth-support.js';
1
2
  import { PullDefaultValidationError } from '../git-pull-default-operations.js';
2
3
  import { PushBranchesValidationError } from '../git-push-operations.js';
3
4
  import { buildTaskConfigFromPreparedInput } from '../task-config-builder.js';
@@ -177,11 +178,17 @@ export function registerControllerZoneOperationRoutes(app, operations) {
177
178
  return context.json(await pullDefaultForTask(context.req.param('zoneId'), context.req.param('taskId'), parsedPayload.data));
178
179
  }
179
180
  catch (error) {
180
- const message = error instanceof Error ? error.message : 'pull-default-failed';
181
- writeControllerRouteLog(`pull-default failed for zone '${context.req.param('zoneId')}' task '${context.req.param('taskId')}': ${message}`);
181
+ const isValidationError = error instanceof PullDefaultValidationError;
182
+ const message = scrubGithubTokenFromOutput(error instanceof Error ? error.message : 'pull-default-failed');
183
+ const logDetail = scrubGithubTokenFromOutput(error instanceof Error
184
+ ? isValidationError
185
+ ? error.message
186
+ : (error.stack ?? error.message)
187
+ : String(error));
188
+ writeControllerRouteLog(`pull-default failed for zone '${context.req.param('zoneId')}' task '${context.req.param('taskId')}': ${logDetail}`);
182
189
  return context.json({
183
190
  error: message,
184
- }, error instanceof PullDefaultValidationError ? 400 : 500);
191
+ }, isValidationError ? 400 : 500);
185
192
  }
186
193
  });
187
194
  }