@generacy-ai/generacy 0.2.2 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/cli/commands/cluster/compose.d.ts +14 -0
  2. package/dist/cli/commands/cluster/compose.d.ts.map +1 -1
  3. package/dist/cli/commands/cluster/compose.js +58 -0
  4. package/dist/cli/commands/cluster/compose.js.map +1 -1
  5. package/dist/cli/commands/cluster/context.d.ts +8 -0
  6. package/dist/cli/commands/cluster/context.d.ts.map +1 -1
  7. package/dist/cli/commands/cluster/context.js +3 -0
  8. package/dist/cli/commands/cluster/context.js.map +1 -1
  9. package/dist/cli/commands/cluster/default-name.d.ts +9 -0
  10. package/dist/cli/commands/cluster/default-name.d.ts.map +1 -0
  11. package/dist/cli/commands/cluster/default-name.js +16 -0
  12. package/dist/cli/commands/cluster/default-name.js.map +1 -0
  13. package/dist/cli/commands/cluster/name-normalize.d.ts +9 -0
  14. package/dist/cli/commands/cluster/name-normalize.d.ts.map +1 -0
  15. package/dist/cli/commands/cluster/name-normalize.js +29 -0
  16. package/dist/cli/commands/cluster/name-normalize.js.map +1 -0
  17. package/dist/cli/commands/cluster/registry.d.ts +18 -0
  18. package/dist/cli/commands/cluster/registry.d.ts.map +1 -1
  19. package/dist/cli/commands/cluster/registry.js +3 -0
  20. package/dist/cli/commands/cluster/registry.js.map +1 -1
  21. package/dist/cli/commands/cluster/scaffolder.d.ts +3 -0
  22. package/dist/cli/commands/cluster/scaffolder.d.ts.map +1 -1
  23. package/dist/cli/commands/cluster/scaffolder.js +67 -19
  24. package/dist/cli/commands/cluster/scaffolder.js.map +1 -1
  25. package/dist/cli/commands/deploy/index.d.ts.map +1 -1
  26. package/dist/cli/commands/deploy/index.js +16 -1
  27. package/dist/cli/commands/deploy/index.js.map +1 -1
  28. package/dist/cli/commands/deploy/remote-compose.d.ts.map +1 -1
  29. package/dist/cli/commands/deploy/remote-compose.js +6 -0
  30. package/dist/cli/commands/deploy/remote-compose.js.map +1 -1
  31. package/dist/cli/commands/deploy/scaffolder.d.ts +1 -1
  32. package/dist/cli/commands/deploy/scaffolder.d.ts.map +1 -1
  33. package/dist/cli/commands/deploy/scaffolder.js +4 -1
  34. package/dist/cli/commands/deploy/scaffolder.js.map +1 -1
  35. package/dist/cli/commands/deploy/types.d.ts +1 -0
  36. package/dist/cli/commands/deploy/types.d.ts.map +1 -1
  37. package/dist/cli/commands/deploy/types.js.map +1 -1
  38. package/dist/cli/commands/destroy/index.d.ts.map +1 -1
  39. package/dist/cli/commands/destroy/index.js +5 -1
  40. package/dist/cli/commands/destroy/index.js.map +1 -1
  41. package/dist/cli/commands/down/index.d.ts.map +1 -1
  42. package/dist/cli/commands/down/index.js +4 -1
  43. package/dist/cli/commands/down/index.js.map +1 -1
  44. package/dist/cli/commands/launch/index.d.ts.map +1 -1
  45. package/dist/cli/commands/launch/index.js +23 -1
  46. package/dist/cli/commands/launch/index.js.map +1 -1
  47. package/dist/cli/commands/launch/scaffolder.d.ts +1 -1
  48. package/dist/cli/commands/launch/scaffolder.d.ts.map +1 -1
  49. package/dist/cli/commands/launch/scaffolder.js +4 -1
  50. package/dist/cli/commands/launch/scaffolder.js.map +1 -1
  51. package/dist/cli/commands/launch/types.d.ts +4 -0
  52. package/dist/cli/commands/launch/types.d.ts.map +1 -1
  53. package/dist/cli/commands/launch/types.js +1 -0
  54. package/dist/cli/commands/launch/types.js.map +1 -1
  55. package/dist/cli/commands/stop/index.d.ts.map +1 -1
  56. package/dist/cli/commands/stop/index.js +4 -1
  57. package/dist/cli/commands/stop/index.js.map +1 -1
  58. package/package.json +4 -4
@@ -5,4 +5,18 @@ export interface RunComposeOptions {
5
5
  env?: Record<string, string>;
6
6
  }
7
7
  export declare function runCompose(ctx: ClusterContext, subcommand: string[], options?: RunComposeOptions): ExecResult;
8
+ export interface LifecycleActionResult {
9
+ ok: boolean;
10
+ status: number;
11
+ body: string;
12
+ }
13
+ /**
14
+ * Invoke a control-plane lifecycle action via the orchestrator container.
15
+ *
16
+ * Wraps `docker compose exec orchestrator curl --unix-socket ... -X POST
17
+ * http://x/lifecycle/<action>`. Best-effort: a 10s exec timeout caps the call;
18
+ * non-2xx and exec failures are swallowed and logged as warnings so CLI
19
+ * teardown is never blocked by a misbehaving control-plane.
20
+ */
21
+ export declare function lifecycleAction(ctx: ClusterContext, action: string, body?: unknown): LifecycleActionResult;
8
22
  //# sourceMappingURL=compose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAK/D;AAaD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAwC7G"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAK/D;AAaD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAwC7G;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,GACb,qBAAqB,CA+DvB"}
@@ -55,4 +55,62 @@ export function runCompose(ctx, subcommand, options) {
55
55
  }
56
56
  return execSafe(cmd);
57
57
  }
58
+ /**
59
+ * Invoke a control-plane lifecycle action via the orchestrator container.
60
+ *
61
+ * Wraps `docker compose exec orchestrator curl --unix-socket ... -X POST
62
+ * http://x/lifecycle/<action>`. Best-effort: a 10s exec timeout caps the call;
63
+ * non-2xx and exec failures are swallowed and logged as warnings so CLI
64
+ * teardown is never blocked by a misbehaving control-plane.
65
+ */
66
+ export function lifecycleAction(ctx, action, body) {
67
+ const logger = getLogger();
68
+ const socketPath = '/run/generacy-control-plane/control.sock';
69
+ const url = `http://x/lifecycle/${action}`;
70
+ const curlArgs = [
71
+ '--silent',
72
+ '--show-error',
73
+ '--max-time', '10',
74
+ '--unix-socket', socketPath,
75
+ '-X', 'POST',
76
+ '-w', '\\n%{http_code}',
77
+ ];
78
+ if (body !== undefined) {
79
+ curlArgs.push('-H', 'Content-Type: application/json');
80
+ curlArgs.push('-d', JSON.stringify(body));
81
+ }
82
+ else {
83
+ curlArgs.push('-H', 'Content-Length: 0');
84
+ }
85
+ curlArgs.push(url);
86
+ const subcommand = [
87
+ 'exec',
88
+ '-T',
89
+ 'orchestrator',
90
+ 'curl',
91
+ ...curlArgs,
92
+ ];
93
+ const result = runCompose(ctx, subcommand);
94
+ if (!result.ok) {
95
+ logger.warn({ action, stderr: result.stderr }, 'Lifecycle action invocation failed (best-effort, continuing)');
96
+ return { ok: false, status: 0, body: result.stderr };
97
+ }
98
+ const output = result.stdout;
99
+ const lastNewline = output.lastIndexOf('\n');
100
+ let status = 0;
101
+ let responseBody = output;
102
+ if (lastNewline >= 0) {
103
+ const statusStr = output.slice(lastNewline + 1).trim();
104
+ const parsed = parseInt(statusStr, 10);
105
+ if (!isNaN(parsed)) {
106
+ status = parsed;
107
+ responseBody = output.slice(0, lastNewline);
108
+ }
109
+ }
110
+ const ok = status >= 200 && status < 300;
111
+ if (!ok) {
112
+ logger.warn({ action, status, body: responseBody }, 'Lifecycle action returned non-2xx (best-effort, continuing)');
113
+ }
114
+ return { ok, status, body: responseBody };
115
+ }
58
116
  //# sourceMappingURL=compose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE5F,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,OAAO;QACL,kBAAkB,GAAG,CAAC,WAAW,EAAE;QACnC,UAAU,GAAG,CAAC,WAAW,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,GAAmB;IACjD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,eAAe,EAAE,UAAU,CACrF,CAAC;IACF,OAAO,KAAK,EAAE,kBAAkB,CAAC;AACnC,CAAC;AAMD,MAAM,UAAU,UAAU,CAAC,GAAmB,EAAE,UAAoB,EAAE,OAA2B;IAC/F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEvD,2DAA2D;IAC3D,IAAI,kBAAkB,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,EAAE,GAAG;YAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;YAC1F,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,OAAO,UAAU,QAAQ,SAAS,kBAAkB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7F,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAEhD,MAAM,GAAG,GAA2B,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,2CAA2C;IAC3C,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzD,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,oCAAoC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE5F,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,OAAO;QACL,kBAAkB,GAAG,CAAC,WAAW,EAAE;QACnC,UAAU,GAAG,CAAC,WAAW,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,GAAmB;IACjD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,eAAe,EAAE,UAAU,CACrF,CAAC;IACF,OAAO,KAAK,EAAE,kBAAkB,CAAC;AACnC,CAAC;AAMD,MAAM,UAAU,UAAU,CAAC,GAAmB,EAAE,UAAoB,EAAE,OAA2B;IAC/F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEvD,2DAA2D;IAC3D,IAAI,kBAAkB,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,EAAE,GAAG;YAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;YAC1F,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,OAAO,UAAU,QAAQ,SAAS,kBAAkB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7F,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAEhD,MAAM,GAAG,GAA2B,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,2CAA2C;IAC3C,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzD,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,oCAAoC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAmB,EACnB,MAAc,EACd,IAAc;IAEd,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,0CAA0C,CAAC;IAC9D,MAAM,GAAG,GAAG,sBAAsB,MAAM,EAAE,CAAC;IAE3C,MAAM,QAAQ,GAAG;QACf,UAAU;QACV,cAAc;QACd,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,UAAU;QAC3B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;KACxB,CAAC;IAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,IAAI;QACJ,cAAc;QACd,MAAM;QACN,GAAG,QAAQ;KACZ,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACjC,8DAA8D,CAC/D,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,MAAM,CAAC;IAC1B,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC;YAChB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EACtC,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC"}
@@ -222,6 +222,7 @@ export declare const ClusterJsonSchema: z.ZodObject<{
222
222
  project_id: z.ZodString;
223
223
  org_id: z.ZodString;
224
224
  cloud_url: z.ZodString;
225
+ display_name: z.ZodOptional<z.ZodString>;
225
226
  activated_at: z.ZodOptional<z.ZodString>;
226
227
  }, "strip", z.ZodTypeAny, {
227
228
  cluster_id: string;
@@ -229,12 +230,14 @@ export declare const ClusterJsonSchema: z.ZodObject<{
229
230
  org_id: string;
230
231
  cloud_url: string;
231
232
  activated_at?: string | undefined;
233
+ display_name?: string | undefined;
232
234
  }, {
233
235
  cluster_id: string;
234
236
  project_id: string;
235
237
  org_id: string;
236
238
  cloud_url: string;
237
239
  activated_at?: string | undefined;
240
+ display_name?: string | undefined;
238
241
  }>;
239
242
  export type ClusterJson = z.infer<typeof ClusterJsonSchema>;
240
243
  export interface ClusterContext {
@@ -244,6 +247,11 @@ export interface ClusterContext {
244
247
  clusterConfig: ClusterYaml;
245
248
  clusterIdentity: ClusterJson | null;
246
249
  projectName: string;
250
+ /**
251
+ * User-facing display name (from `cluster.json` `display_name`). Falls back
252
+ * to `cluster_id` when not present.
253
+ */
254
+ displayName: string | null;
247
255
  }
248
256
  /**
249
257
  * Walk upward from `cwd` (default: process.cwd()) looking for a directory that
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAMlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAapD;AAID,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAyD9D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAMlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAapD;AAID,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CA6D9D"}
@@ -33,6 +33,7 @@ export const ClusterJsonSchema = z.object({
33
33
  project_id: z.string().min(1),
34
34
  org_id: z.string().min(1),
35
35
  cloud_url: z.string().url(),
36
+ display_name: z.string().optional(),
36
37
  activated_at: z.string().datetime().optional(),
37
38
  });
38
39
  // -- findGeneracyDir --
@@ -89,6 +90,7 @@ export function getClusterContext(cwd) {
89
90
  if (!clusterIdentity) {
90
91
  logger.warn('No cluster.json found (pre-activation). Using directory name "%s" as compose project name.', projectName);
91
92
  }
93
+ const displayName = clusterIdentity?.display_name ?? clusterIdentity?.cluster_id ?? null;
92
94
  return {
93
95
  projectRoot: dir,
94
96
  generacyDir,
@@ -96,6 +98,7 @@ export function getClusterContext(cwd) {
96
98
  clusterConfig,
97
99
  clusterIdentity,
98
100
  projectName,
101
+ displayName,
99
102
  };
100
103
  }
101
104
  const parent = path.dirname(dir);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Default cluster-name generator for `generacy launch`.
3
+ *
4
+ * Counts local-mode registry entries scoped to a single project and emits the
5
+ * smallest `<sanitized-project>-local-<n>` not yet in use.
6
+ */
7
+ import type { Registry } from './registry.js';
8
+ export declare function generateDefaultName(projectId: string, projectName: string, registry: Registry): string;
9
+ //# sourceMappingURL=default-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-name.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/default-name.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAkBR"}
@@ -0,0 +1,16 @@
1
+ import { sanitizeProjectComponent } from './name-normalize.js';
2
+ export function generateDefaultName(projectId, projectName, registry) {
3
+ const project = sanitizeProjectComponent(projectName);
4
+ const taken = new Set(registry
5
+ .filter((e) => e.projectId === projectId &&
6
+ (e.deploymentMode ?? 'local') === 'local' &&
7
+ typeof e.displayName === 'string' &&
8
+ e.displayName.length > 0)
9
+ .map((e) => e.displayName));
10
+ for (let n = 1;; n++) {
11
+ const candidate = `${project}-local-${n}`;
12
+ if (!taken.has(candidate))
13
+ return candidate;
14
+ }
15
+ }
16
+ //# sourceMappingURL=default-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-name.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/default-name.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,WAAmB,EACnB,QAAkB;IAElB,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,QAAQ;SACL,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,SAAS,KAAK,SAAS;QACzB,CAAC,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,OAAO;QACzC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAC3B;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAqB,CAAC,CACvC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,GAAG,OAAO,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Cluster-name normalization helpers shared by `launch` and `deploy`.
3
+ *
4
+ * Algorithm matches research.md §4: lowercase → collapse non-`[a-z0-9-]` runs
5
+ * to `-` → trim → truncate → prepend `c-` if not letter-initial → re-truncate.
6
+ */
7
+ export declare function normalizeClusterName(input: string, maxLen?: number): string | null;
8
+ export declare function sanitizeProjectComponent(input: string, maxLen?: number): string;
9
+ //# sourceMappingURL=name-normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-normalize.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/name-normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAA6B,GACpC,MAAM,GAAG,IAAI,CAEf;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAkC,GACzC,MAAM,CAER"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Cluster-name normalization helpers shared by `launch` and `deploy`.
3
+ *
4
+ * Algorithm matches research.md §4: lowercase → collapse non-`[a-z0-9-]` runs
5
+ * to `-` → trim → truncate → prepend `c-` if not letter-initial → re-truncate.
6
+ */
7
+ const CLUSTER_NAME_MAX_LEN = 63;
8
+ const PROJECT_COMPONENT_MAX_LEN = 40;
9
+ function normalize(input, maxLen) {
10
+ let s = input.toLowerCase();
11
+ s = s.replace(/[^a-z0-9-]+/g, '-');
12
+ s = s.replace(/^-+|-+$/g, '');
13
+ s = s.slice(0, maxLen);
14
+ s = s.replace(/-+$/g, '');
15
+ if (s === '')
16
+ return null;
17
+ if (!/^[a-z]/.test(s)) {
18
+ s = `c-${s}`.slice(0, maxLen);
19
+ s = s.replace(/-+$/g, '');
20
+ }
21
+ return s;
22
+ }
23
+ export function normalizeClusterName(input, maxLen = CLUSTER_NAME_MAX_LEN) {
24
+ return normalize(input, maxLen);
25
+ }
26
+ export function sanitizeProjectComponent(input, maxLen = PROJECT_COMPONENT_MAX_LEN) {
27
+ return normalize(input, maxLen) ?? 'cluster';
28
+ }
29
+ //# sourceMappingURL=name-normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-normalize.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/name-normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,SAAS,SAAS,CAAC,KAAa,EAAE,MAAc;IAC9C,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,SAAiB,oBAAoB;IAErC,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,SAAiB,yBAAyB;IAE1C,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC;AAC/C,CAAC"}
@@ -3,6 +3,9 @@ import type { ClusterContext } from './context.js';
3
3
  export declare const RegistryEntrySchema: z.ZodObject<{
4
4
  clusterId: z.ZodNullable<z.ZodString>;
5
5
  name: z.ZodString;
6
+ displayName: z.ZodOptional<z.ZodString>;
7
+ projectId: z.ZodOptional<z.ZodString>;
8
+ deploymentMode: z.ZodOptional<z.ZodEnum<["local", "cloud"]>>;
6
9
  path: z.ZodString;
7
10
  composePath: z.ZodString;
8
11
  variant: z.ZodDefault<z.ZodEnum<["cluster-base", "cluster-microservices"]>>;
@@ -21,6 +24,9 @@ export declare const RegistryEntrySchema: z.ZodObject<{
21
24
  channel: "stable" | "preview";
22
25
  composePath: string;
23
26
  lastSeen: string;
27
+ projectId?: string | undefined;
28
+ displayName?: string | undefined;
29
+ deploymentMode?: "cloud" | "local" | undefined;
24
30
  managementEndpoint?: string | undefined;
25
31
  }, {
26
32
  name: string;
@@ -31,13 +37,19 @@ export declare const RegistryEntrySchema: z.ZodObject<{
31
37
  composePath: string;
32
38
  lastSeen: string;
33
39
  variant?: "cluster-base" | "cluster-microservices" | undefined;
40
+ projectId?: string | undefined;
34
41
  channel?: "stable" | "preview" | undefined;
42
+ displayName?: string | undefined;
43
+ deploymentMode?: "cloud" | "local" | undefined;
35
44
  managementEndpoint?: string | undefined;
36
45
  }>;
37
46
  export type RegistryEntry = z.infer<typeof RegistryEntrySchema>;
38
47
  export declare const RegistrySchema: z.ZodArray<z.ZodObject<{
39
48
  clusterId: z.ZodNullable<z.ZodString>;
40
49
  name: z.ZodString;
50
+ displayName: z.ZodOptional<z.ZodString>;
51
+ projectId: z.ZodOptional<z.ZodString>;
52
+ deploymentMode: z.ZodOptional<z.ZodEnum<["local", "cloud"]>>;
41
53
  path: z.ZodString;
42
54
  composePath: z.ZodString;
43
55
  variant: z.ZodDefault<z.ZodEnum<["cluster-base", "cluster-microservices"]>>;
@@ -56,6 +68,9 @@ export declare const RegistrySchema: z.ZodArray<z.ZodObject<{
56
68
  channel: "stable" | "preview";
57
69
  composePath: string;
58
70
  lastSeen: string;
71
+ projectId?: string | undefined;
72
+ displayName?: string | undefined;
73
+ deploymentMode?: "cloud" | "local" | undefined;
59
74
  managementEndpoint?: string | undefined;
60
75
  }, {
61
76
  name: string;
@@ -66,7 +81,10 @@ export declare const RegistrySchema: z.ZodArray<z.ZodObject<{
66
81
  composePath: string;
67
82
  lastSeen: string;
68
83
  variant?: "cluster-base" | "cluster-microservices" | undefined;
84
+ projectId?: string | undefined;
69
85
  channel?: "stable" | "preview" | undefined;
86
+ displayName?: string | undefined;
87
+ deploymentMode?: "cloud" | "local" | undefined;
70
88
  managementEndpoint?: string | undefined;
71
89
  }>, "many">;
72
90
  export type Registry = z.infer<typeof RegistrySchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAA+B,CAAC;AAC3D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAMtD,wBAAgB,YAAY,IAAI,QAAQ,CAOvC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAStD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CA2B7D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ7D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAA+B,CAAC;AAC3D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAMtD,wBAAgB,YAAY,IAAI,QAAQ,CAOvC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAStD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CA2B7D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ7D"}
@@ -6,6 +6,9 @@ import { getLogger } from '../../utils/logger.js';
6
6
  export const RegistryEntrySchema = z.object({
7
7
  clusterId: z.string().nullable(),
8
8
  name: z.string(),
9
+ displayName: z.string().optional(),
10
+ projectId: z.string().optional(),
11
+ deploymentMode: z.enum(['local', 'cloud']).optional(),
9
12
  path: z.string(),
10
13
  composePath: z.string(),
11
14
  variant: z.enum(['cluster-base', 'cluster-microservices']).default('cluster-base'),
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/registry.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface ScaffoldClusterJsonInput {
3
3
  project_id: string;
4
4
  org_id: string;
5
5
  cloud_url: string;
6
+ display_name?: string;
6
7
  }
7
8
  export interface ScaffoldClusterYamlInput {
8
9
  channel?: 'stable' | 'preview';
@@ -25,6 +26,7 @@ export interface ScaffoldComposeInput {
25
26
  }
26
27
  export interface ScaffoldEnvInput {
27
28
  clusterId: string;
29
+ clusterName?: string;
28
30
  projectId: string;
29
31
  orgId: string;
30
32
  cloudUrl: string;
@@ -38,6 +40,7 @@ export interface ScaffoldEnvInput {
38
40
  apiUrl: string;
39
41
  relayUrl: string;
40
42
  };
43
+ preApprovedDeviceCode?: string;
41
44
  }
42
45
  /**
43
46
  * Coerce a project name into a valid Docker Compose project name.
@@ -1 +1 @@
1
- {"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/scaffolder.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,GAAG,uBAAuB,CAAC;CACnD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,GAAG,uBAAuB,CAAC;IAClD,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAO1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAStF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAQtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAuJpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAyC1E"}
1
+ {"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/scaffolder.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,GAAG,uBAAuB,CAAC;CACnD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,GAAG,uBAAuB,CAAC;IAClD,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAO1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAYtF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAQtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CA6LpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAkD1E"}
@@ -3,9 +3,10 @@
3
3
  *
4
4
  * Used by both `launch` and `deploy` commands to ensure consistent file formats.
5
5
  */
6
- import { mkdirSync, writeFileSync } from 'node:fs';
6
+ import { chownSync, existsSync, mkdirSync, writeFileSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import { stringify } from 'yaml';
9
+ import { getLogger } from '../../utils/logger.js';
9
10
  /**
10
11
  * Coerce a project name into a valid Docker Compose project name.
11
12
  *
@@ -51,6 +52,9 @@ export function scaffoldClusterJson(dir, input) {
51
52
  org_id: input.org_id,
52
53
  cloud_url: input.cloud_url,
53
54
  };
55
+ if (input.display_name) {
56
+ content.display_name = input.display_name;
57
+ }
54
58
  writeFileSync(join(dir, 'cluster.json'), JSON.stringify(content, null, 2) + '\n', 'utf-8');
55
59
  }
56
60
  /**
@@ -73,39 +77,54 @@ export function scaffoldDockerCompose(dir, input) {
73
77
  const deploymentMode = input.deploymentMode ?? 'local';
74
78
  const claudeConfigMode = input.claudeConfigMode ?? 'bind';
75
79
  const variant = input.variant;
76
- // Claude config volume: bind mount for local, named volume for cloud
80
+ // Claude config volume: host bind for local, compose-relative file bind for
81
+ // cloud/deploy. The `volume` branch used to mount a named volume onto a file
82
+ // path, which Docker rejects with "is not directory" — see #737.
77
83
  const claudeConfigVolume = claudeConfigMode === 'bind'
78
84
  ? '~/.claude.json:/home/node/.claude.json'
79
- : 'claude-config:/home/node/.claude.json';
85
+ : './claude.json:/home/node/.claude.json';
80
86
  // Port binding: ephemeral for local, fixed for cloud
81
87
  const orchestratorPorts = deploymentMode === 'cloud'
82
88
  ? ['${ORCHESTRATOR_PORT:-3100}:3100']
83
89
  : ['${ORCHESTRATOR_PORT:-3100}'];
84
- // Shared volumes for orchestrator and worker.
90
+ // Volumes mounted on both orchestrator and worker. Mirrors the canonical
91
+ // cluster-base devcontainer compose.
85
92
  //
93
+ // claude-config (/home/node/.claude) is a SHARED named volume so the
94
+ // orchestrator's post-activation Claude setup — auth (`.credentials.json`),
95
+ // speckit slash commands, and conversation history — is visible to every
96
+ // worker. Without it, workers spawn an unauthenticated Claude CLI with no
97
+ // speckit commands; each phase exits "Not logged in" in <1s and the phase
98
+ // runner commits an empty phase, producing PRs with commits but no artifacts.
99
+ // (~/.claude.json is the separate account-metadata file; both are mounted.)
100
+ const commonVolumes = [
101
+ claudeConfigVolume,
102
+ 'claude-config:/home/node/.claude',
103
+ 'npm-cache:/home/node/.npm',
104
+ 'generacy-data:/var/lib/generacy',
105
+ ];
86
106
  // shared-packages MUST mount at /shared-packages — that's where the
87
107
  // cluster-base entrypoint scripts (`entrypoint-orchestrator.sh`) run
88
108
  // `npm install --prefix /shared-packages`, and the worker's entrypoint
89
109
  // resolves `/shared-packages/node_modules/.bin/generacy` to spawn the
90
- // worker process. Mounting it anywhere else means the orchestrator's
91
- // install writes to its own overlay filesystem (not the volume), the
92
- // worker's resolve looks at its own overlay (empty), and the worker
93
- // exits with "Cannot find module '/shared-packages/node_modules/.bin/generacy'".
94
- // Matches the canonical cluster-base devcontainer compose.
95
- const sharedVolumes = [
110
+ // worker process. Orchestrator builds here (RW); workers consume read-only.
111
+ //
112
+ // The orchestrator owns the `workspace` volume (RW). Workers do NOT mount it
113
+ // at all their per-job checkouts are container-local — so concurrent
114
+ // workers and the orchestrator can't clobber a shared working tree.
115
+ const orchestratorVolumes = [
96
116
  'workspace:/workspaces',
97
- claudeConfigVolume,
117
+ ...commonVolumes,
98
118
  'shared-packages:/shared-packages',
99
- 'npm-cache:/home/node/.npm',
100
- 'generacy-data:/var/lib/generacy',
101
- ];
102
- // Orchestrator gets docker socket
103
- const orchestratorVolumes = [
104
- ...sharedVolumes,
105
119
  '/var/run/docker.sock:/var/run/docker-host.sock',
106
120
  'vscode-cli-state:/home/node/.vscode/cli',
107
121
  'generacy-app-config-data:/var/lib/generacy-app-config',
108
122
  ];
123
+ const workerVolumes = [
124
+ ...commonVolumes,
125
+ 'shared-packages:/shared-packages:ro',
126
+ 'generacy-app-config-data:/var/lib/generacy-app-config:ro',
127
+ ];
109
128
  const tmpfsMounts = [
110
129
  '/run/generacy-credhelper:uid=1002',
111
130
  '/run/generacy-control-plane:uid=1000',
@@ -154,7 +173,7 @@ export function scaffoldDockerCompose(dir, input) {
154
173
  deploy: {
155
174
  replicas: '${WORKER_COUNT:-1}',
156
175
  },
157
- volumes: [...sharedVolumes, 'generacy-app-config-data:/var/lib/generacy-app-config:ro'],
176
+ volumes: workerVolumes,
158
177
  tmpfs: tmpfsMounts,
159
178
  environment: [
160
179
  'REDIS_URL=redis://redis:6379',
@@ -193,13 +212,13 @@ export function scaffoldDockerCompose(dir, input) {
193
212
  },
194
213
  volumes: {
195
214
  workspace: null,
215
+ 'claude-config': null,
196
216
  'shared-packages': null,
197
217
  'npm-cache': null,
198
218
  'generacy-data': null,
199
219
  'vscode-cli-state': null,
200
220
  'redis-data': null,
201
221
  'generacy-app-config-data': null,
202
- ...(claudeConfigMode === 'volume' ? { 'claude-config': null } : {}),
203
222
  },
204
223
  networks: {
205
224
  'cluster-network': {
@@ -208,6 +227,26 @@ export function scaffoldDockerCompose(dir, input) {
208
227
  },
209
228
  };
210
229
  writeFileSync(join(dir, 'docker-compose.yml'), stringify(compose), 'utf-8');
230
+ if (claudeConfigMode === 'volume') {
231
+ const claudeJsonPath = join(dir, 'claude.json');
232
+ if (!existsSync(claudeJsonPath)) {
233
+ writeFileSync(claudeJsonPath, '{}\n', 'utf-8');
234
+ // 1000:1000 = the container's `node` user; best-effort, fails silently
235
+ // on non-root hosts where the scaffolder user lacks CAP_CHOWN.
236
+ try {
237
+ chownSync(claudeJsonPath, 1000, 1000);
238
+ }
239
+ catch (err) {
240
+ const errno = err?.code;
241
+ if (errno === 'EPERM' || errno === 'EACCES') {
242
+ getLogger().warn({ path: claudeJsonPath, code: errno }, 'chown 1000:1000 on claude.json failed; continuing');
243
+ }
244
+ else {
245
+ throw err;
246
+ }
247
+ }
248
+ }
249
+ }
211
250
  }
212
251
  /**
213
252
  * Write .env file with identity vars, project vars, and runtime defaults.
@@ -225,6 +264,7 @@ export function scaffoldEnvFile(dir, input) {
225
264
  const lines = [
226
265
  '# Identity (from cloud LaunchConfig — do not edit)',
227
266
  `GENERACY_CLUSTER_ID=${input.clusterId}`,
267
+ ...(input.clusterName ? [`GENERACY_CLUSTER_NAME=${input.clusterName}`] : []),
228
268
  `GENERACY_PROJECT_ID=${input.projectId}`,
229
269
  `GENERACY_ORG_ID=${input.orgId}`,
230
270
  `GENERACY_API_URL=${apiUrl}`,
@@ -248,6 +288,14 @@ export function scaffoldEnvFile(dir, input) {
248
288
  '# `wizard` defers repo cloning until credentials arrive via the activation wizard',
249
289
  'GENERACY_BOOTSTRAP_MODE=wizard',
250
290
  '',
291
+ ...(input.preApprovedDeviceCode
292
+ ? [
293
+ '# Cloud-supplied pre-approved RFC 8628 device code (single-use, short TTL).',
294
+ '# Consumed by orchestrator activate() on first boot; never logged.',
295
+ `GENERACY_PRE_APPROVED_DEVICE_CODE=${input.preApprovedDeviceCode}`,
296
+ '',
297
+ ]
298
+ : []),
251
299
  ];
252
300
  writeFileSync(join(dir, '.env'), lines.join('\n'), 'utf-8');
253
301
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/scaffolder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../../../../src/cli/commands/cluster/scaffolder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA8H5C,wBAAgB,aAAa,IAAI,OAAO,CA0CvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA+I5C,wBAAgB,aAAa,IAAI,OAAO,CA4CvC"}