@ankhorage/studio 0.22.1 → 1.0.0

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 (152) hide show
  1. package/README.md +4 -1
  2. package/dist/core/StudioProvider.d.ts.map +1 -1
  3. package/dist/core/StudioProvider.js +17 -0
  4. package/dist/core/StudioProvider.js.map +1 -1
  5. package/dist/host/auth/projectAuthHealthService.js +1 -1
  6. package/dist/host/auth/projectAuthRuntimeDiagnostics.d.ts.map +1 -1
  7. package/dist/host/auth/projectAuthRuntimeDiagnostics.js +9 -44
  8. package/dist/host/auth/projectAuthRuntimeDiagnostics.js.map +1 -1
  9. package/dist/host/createStudioHost.js +1 -1
  10. package/dist/host/http/server.d.ts.map +1 -1
  11. package/dist/host/http/server.js +22 -57
  12. package/dist/host/http/server.js.map +1 -1
  13. package/dist/host/layout/templates/rootLayout.d.ts.map +1 -1
  14. package/dist/host/layout/templates/rootLayout.js +1 -2
  15. package/dist/host/layout/templates/rootLayout.js.map +1 -1
  16. package/dist/host/orchestrator/infraSession.d.ts +15 -0
  17. package/dist/host/orchestrator/infraSession.d.ts.map +1 -0
  18. package/dist/host/orchestrator/infraSession.js +45 -0
  19. package/dist/host/orchestrator/infraSession.js.map +1 -0
  20. package/dist/host/orchestrator/projectManager.d.ts +4 -8
  21. package/dist/host/orchestrator/projectManager.d.ts.map +1 -1
  22. package/dist/host/orchestrator/projectManager.js +7 -18
  23. package/dist/host/orchestrator/projectManager.js.map +1 -1
  24. package/dist/host/orchestrator/studioInfraUp.d.ts.map +1 -1
  25. package/dist/host/orchestrator/studioInfraUp.js +7 -4
  26. package/dist/host/orchestrator/studioInfraUp.js.map +1 -1
  27. package/dist/host/secrets/projectSecretService.d.ts +1 -1
  28. package/dist/host/secrets/projectSecretService.d.ts.map +1 -1
  29. package/dist/host/secrets/projectSecretService.js +9 -3
  30. package/dist/host/secrets/projectSecretService.js.map +1 -1
  31. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.d.ts +1 -6
  32. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.d.ts.map +1 -1
  33. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.js +12 -63
  34. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.js.map +1 -1
  35. package/dist/index.d.ts +8 -5
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +4 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/manifestState.d.ts.map +1 -1
  40. package/dist/manifestState.js +4 -3
  41. package/dist/manifestState.js.map +1 -1
  42. package/dist/mediaAuthoringModel.d.ts +35 -0
  43. package/dist/mediaAuthoringModel.d.ts.map +1 -0
  44. package/dist/mediaAuthoringModel.js +118 -0
  45. package/dist/mediaAuthoringModel.js.map +1 -0
  46. package/dist/propertiesAuthoringModel.d.ts +5 -3
  47. package/dist/propertiesAuthoringModel.d.ts.map +1 -1
  48. package/dist/propertiesAuthoringModel.js +3 -0
  49. package/dist/propertiesAuthoringModel.js.map +1 -1
  50. package/dist/studioAdminRouteModel.d.ts +6 -1
  51. package/dist/studioAdminRouteModel.d.ts.map +1 -1
  52. package/dist/studioAdminRouteModel.js +113 -1
  53. package/dist/studioAdminRouteModel.js.map +1 -1
  54. package/dist/ui/admin/AnkhAdminPage.d.ts.map +1 -1
  55. package/dist/ui/admin/AnkhAdminPage.js +15 -2
  56. package/dist/ui/admin/AnkhAdminPage.js.map +1 -1
  57. package/dist/ui/admin/AnkhAdminShell.js +1 -1
  58. package/dist/ui/admin/AnkhAdminShell.js.map +1 -1
  59. package/dist/ui/admin/pages/MediaAdminPage.d.ts +3 -0
  60. package/dist/ui/admin/pages/MediaAdminPage.d.ts.map +1 -0
  61. package/dist/ui/admin/pages/MediaAdminPage.js +54 -0
  62. package/dist/ui/admin/pages/MediaAdminPage.js.map +1 -0
  63. package/dist/ui/admin/pages/MediaPropertyInput.d.ts +9 -0
  64. package/dist/ui/admin/pages/MediaPropertyInput.d.ts.map +1 -0
  65. package/dist/ui/admin/pages/MediaPropertyInput.js +19 -0
  66. package/dist/ui/admin/pages/MediaPropertyInput.js.map +1 -0
  67. package/dist/ui/admin/pages/PropertiesAdminPage.d.ts.map +1 -1
  68. package/dist/ui/admin/pages/PropertiesAdminPage.js +4 -1
  69. package/dist/ui/admin/pages/PropertiesAdminPage.js.map +1 -1
  70. package/dist/ui/admin/pages/ThemeAdminPage.d.ts.map +1 -1
  71. package/dist/ui/admin/pages/ThemeAdminPage.js +8 -47
  72. package/dist/ui/admin/pages/ThemeAdminPage.js.map +1 -1
  73. package/dist/ui/admin/pages/ThemeColorsAdminPage.d.ts +3 -0
  74. package/dist/ui/admin/pages/ThemeColorsAdminPage.d.ts.map +1 -0
  75. package/dist/ui/admin/pages/ThemeColorsAdminPage.js +36 -0
  76. package/dist/ui/admin/pages/ThemeColorsAdminPage.js.map +1 -0
  77. package/dist/ui/admin/pages/ThemeModeEditorSelector.d.ts +3 -0
  78. package/dist/ui/admin/pages/ThemeModeEditorSelector.d.ts.map +1 -0
  79. package/dist/ui/admin/pages/ThemeModeEditorSelector.js +30 -0
  80. package/dist/ui/admin/pages/ThemeModeEditorSelector.js.map +1 -0
  81. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.d.ts +6 -0
  82. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.d.ts.map +1 -0
  83. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.js +80 -0
  84. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.js.map +1 -0
  85. package/dist/ui/admin/pages/ThemeRecipeAdminPage.d.ts +7 -0
  86. package/dist/ui/admin/pages/ThemeRecipeAdminPage.d.ts.map +1 -0
  87. package/dist/ui/admin/pages/ThemeRecipeAdminPage.js +45 -0
  88. package/dist/ui/admin/pages/ThemeRecipeAdminPage.js.map +1 -0
  89. package/dist/ui/admin/pages/ThemeRecipeCatalog.d.ts +3 -0
  90. package/dist/ui/admin/pages/ThemeRecipeCatalog.d.ts.map +1 -0
  91. package/dist/ui/admin/pages/ThemeRecipeCatalog.js +24 -0
  92. package/dist/ui/admin/pages/ThemeRecipeCatalog.js.map +1 -0
  93. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.d.ts +11 -0
  94. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.d.ts.map +1 -0
  95. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.js +41 -0
  96. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.js.map +1 -0
  97. package/dist/ui/admin/pages/ThemeTokenAction.d.ts +6 -0
  98. package/dist/ui/admin/pages/ThemeTokenAction.d.ts.map +1 -0
  99. package/dist/ui/admin/pages/ThemeTokenAction.js +20 -0
  100. package/dist/ui/admin/pages/ThemeTokenAction.js.map +1 -0
  101. package/dist/ui/admin/pages/ThemeTypographyAdminPage.d.ts +3 -0
  102. package/dist/ui/admin/pages/ThemeTypographyAdminPage.d.ts.map +1 -0
  103. package/dist/ui/admin/pages/ThemeTypographyAdminPage.js +13 -0
  104. package/dist/ui/admin/pages/ThemeTypographyAdminPage.js.map +1 -0
  105. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.d.ts +3 -0
  106. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.d.ts.map +1 -0
  107. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.js +61 -0
  108. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.js.map +1 -0
  109. package/dist/ui/admin/pages/ThemeTypographySizeEditor.d.ts +3 -0
  110. package/dist/ui/admin/pages/ThemeTypographySizeEditor.d.ts.map +1 -0
  111. package/dist/ui/admin/pages/ThemeTypographySizeEditor.js +52 -0
  112. package/dist/ui/admin/pages/ThemeTypographySizeEditor.js.map +1 -0
  113. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.d.ts +3 -0
  114. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.d.ts.map +1 -0
  115. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.js +54 -0
  116. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.js.map +1 -0
  117. package/dist/ui/admin/pages/adminThemeModel.d.ts.map +1 -1
  118. package/dist/ui/admin/pages/adminThemeModel.js +1 -2
  119. package/dist/ui/admin/pages/adminThemeModel.js.map +1 -1
  120. package/dist/ui/admin/pages/themeRecipeAuthoringModel.d.ts +10 -0
  121. package/dist/ui/admin/pages/themeRecipeAuthoringModel.d.ts.map +1 -0
  122. package/dist/ui/admin/pages/themeRecipeAuthoringModel.js +20 -0
  123. package/dist/ui/admin/pages/themeRecipeAuthoringModel.js.map +1 -0
  124. package/dist/ui/admin/pages/themeRecipeTokenOptions.d.ts +15 -0
  125. package/dist/ui/admin/pages/themeRecipeTokenOptions.d.ts.map +1 -0
  126. package/dist/ui/admin/pages/themeRecipeTokenOptions.js +16 -0
  127. package/dist/ui/admin/pages/themeRecipeTokenOptions.js.map +1 -0
  128. package/dist/ui/admin/pages/themeTokenAuthoringModel.d.ts +25 -0
  129. package/dist/ui/admin/pages/themeTokenAuthoringModel.d.ts.map +1 -0
  130. package/dist/ui/admin/pages/themeTokenAuthoringModel.js +52 -0
  131. package/dist/ui/admin/pages/themeTokenAuthoringModel.js.map +1 -0
  132. package/dist/ui/admin/pages/useActiveThemeAdmin.d.ts +11 -0
  133. package/dist/ui/admin/pages/useActiveThemeAdmin.d.ts.map +1 -0
  134. package/dist/ui/admin/pages/useActiveThemeAdmin.js +21 -0
  135. package/dist/ui/admin/pages/useActiveThemeAdmin.js.map +1 -0
  136. package/package.json +6 -6
  137. package/dist/host/orchestrator/infraGenerator.d.ts +0 -35
  138. package/dist/host/orchestrator/infraGenerator.d.ts.map +0 -1
  139. package/dist/host/orchestrator/infraGenerator.js +0 -135
  140. package/dist/host/orchestrator/infraGenerator.js.map +0 -1
  141. package/dist/host/orchestrator/infraRuntime.d.ts +0 -46
  142. package/dist/host/orchestrator/infraRuntime.d.ts.map +0 -1
  143. package/dist/host/orchestrator/infraRuntime.js +0 -185
  144. package/dist/host/orchestrator/infraRuntime.js.map +0 -1
  145. package/dist/host/orchestrator/infraValidation.d.ts +0 -3
  146. package/dist/host/orchestrator/infraValidation.d.ts.map +0 -1
  147. package/dist/host/orchestrator/infraValidation.js +0 -59
  148. package/dist/host/orchestrator/infraValidation.js.map +0 -1
  149. package/dist/host/orchestrator/projectDeletion.d.ts +0 -20
  150. package/dist/host/orchestrator/projectDeletion.d.ts.map +0 -1
  151. package/dist/host/orchestrator/projectDeletion.js +0 -191
  152. package/dist/host/orchestrator/projectDeletion.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"infraGenerator.js","sourceRoot":"","sources":["../../../src/host/orchestrator/infraGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- export type InfraLifecycleScript = 'up' | 'down' | 'reset' | 'destroy' | 'status' | 'port-forward';
2
- export interface InfraScriptOutput {
3
- stdout: string;
4
- stderr: string;
5
- }
6
- export declare class InfraScriptExecutionError extends Error {
7
- readonly stdout: string;
8
- readonly stderr: string;
9
- readonly exitCode: number | null;
10
- constructor(args: {
11
- message: string;
12
- stdout: string;
13
- stderr: string;
14
- exitCode: number | null;
15
- });
16
- }
17
- export declare function runProjectInfraScript(args: {
18
- rootPath: string;
19
- projectId: string;
20
- target: string;
21
- script: InfraLifecycleScript;
22
- env?: Record<string, string | undefined>;
23
- }): Promise<void>;
24
- export declare function runProjectInfraScriptCapture(args: {
25
- rootPath: string;
26
- projectId: string;
27
- target: string;
28
- script: InfraLifecycleScript;
29
- }): Promise<InfraScriptOutput>;
30
- export declare function ensureProjectInfraPortForward(args: {
31
- rootPath: string;
32
- projectId: string;
33
- target: string;
34
- }): Promise<{
35
- url: string;
36
- started: boolean;
37
- }>;
38
- export declare function registerProjectInfraPortForwardOwner(args: {
39
- rootPath: string;
40
- projectId: string;
41
- target: string;
42
- }): Promise<{
43
- url: string;
44
- }>;
45
- export declare function stopAllProjectInfraPortForwards(): Promise<void>;
46
- //# sourceMappingURL=infraRuntime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infraRuntime.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/infraRuntime.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEnG,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;gBAErB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAO/F;AAcD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C,iBAUA;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B,8BAUA;AAED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA2B7C;AAED,wBAAsB,oCAAoC,CAAC,IAAI,EAAE;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAa3B;AAED,wBAAsB,+BAA+B,kBAcpD"}
@@ -1,185 +0,0 @@
1
- import { spawn } from 'child_process';
2
- import { promises as fs } from 'fs';
3
- import path from 'path';
4
- import { getProjectPath } from './projectPaths';
5
- const portForwardSessions = new Map();
6
- export class InfraScriptExecutionError extends Error {
7
- stdout;
8
- stderr;
9
- exitCode;
10
- constructor(args) {
11
- super(args.message);
12
- this.name = 'InfraScriptExecutionError';
13
- this.stdout = args.stdout;
14
- this.stderr = args.stderr;
15
- this.exitCode = args.exitCode;
16
- }
17
- }
18
- function resolveProjectInfraScriptPath(args) {
19
- const { rootPath, projectId, target, script } = args;
20
- const projectPath = getProjectPath(rootPath, projectId);
21
- return path.join(projectPath, getInfraScriptsDir(target), `${script}.sh`);
22
- }
23
- export async function runProjectInfraScript(args) {
24
- const scriptPath = resolveProjectInfraScriptPath(args);
25
- if (!(await exists(scriptPath))) {
26
- throw new Error(`Infra script not found: ${scriptPath}. Run 'ankh infra:regenerate ${args.projectId}' first.`);
27
- }
28
- await runShellScript(scriptPath, 'inherit', [], args.env);
29
- }
30
- export async function runProjectInfraScriptCapture(args) {
31
- const scriptPath = resolveProjectInfraScriptPath(args);
32
- if (!(await exists(scriptPath))) {
33
- throw new Error(`Infra script not found: ${scriptPath}. Run 'ankh infra:regenerate ${args.projectId}' first.`);
34
- }
35
- return runShellScript(scriptPath, 'capture');
36
- }
37
- export async function ensureProjectInfraPortForward(args) {
38
- const scriptPath = resolveProjectInfraScriptPath({ ...args, script: 'port-forward' });
39
- if (!(await exists(scriptPath))) {
40
- throw new Error(`Infra script not found: ${scriptPath}. Run 'ankh infra:regenerate ${args.projectId}' first.`);
41
- }
42
- const sessionKey = `${args.rootPath}:${args.projectId}:${args.target}`;
43
- const localPort = await resolveProjectPortForwardLocalPort(args);
44
- const url = `http://127.0.0.1:${localPort}`;
45
- const status = await runShellScript(scriptPath, 'capture', ['status', 'app']);
46
- if (/\bapp:\s+running\b/u.test(status.stdout)) {
47
- portForwardSessions.set(sessionKey, { ...args, url });
48
- return {
49
- url,
50
- started: false,
51
- };
52
- }
53
- await runShellScript(scriptPath, 'capture', ['start', 'app']);
54
- portForwardSessions.set(sessionKey, { ...args, url });
55
- return {
56
- url,
57
- started: true,
58
- };
59
- }
60
- export async function registerProjectInfraPortForwardOwner(args) {
61
- const scriptPath = resolveProjectInfraScriptPath({ ...args, script: 'port-forward' });
62
- if (!(await exists(scriptPath))) {
63
- throw new Error(`Infra script not found: ${scriptPath}. Run 'ankh infra:regenerate ${args.projectId}' first.`);
64
- }
65
- const localPort = await resolveProjectPortForwardLocalPort(args);
66
- const url = `http://127.0.0.1:${localPort}`;
67
- const sessionKey = `${args.rootPath}:${args.projectId}:${args.target}`;
68
- portForwardSessions.set(sessionKey, { ...args, url });
69
- return { url };
70
- }
71
- export async function stopAllProjectInfraPortForwards() {
72
- const sessions = [...portForwardSessions.values()];
73
- portForwardSessions.clear();
74
- await Promise.all(sessions.map(async (session) => {
75
- const scriptPath = resolveProjectInfraScriptPath({ ...session, script: 'port-forward' });
76
- if (!(await exists(scriptPath)))
77
- return;
78
- try {
79
- await runShellScript(scriptPath, 'capture', ['stop', 'all']);
80
- }
81
- catch {
82
- // Close hooks should never prevent Studio shutdown; status surfaces stale forwards later.
83
- }
84
- }));
85
- }
86
- function getInfraScriptsDir(target) {
87
- switch (target) {
88
- case 'minikube':
89
- return 'infra/minikube/scripts';
90
- default:
91
- throw new Error(`Unsupported deployment target for infra scripts: ${target}`);
92
- }
93
- }
94
- async function resolveProjectPortForwardLocalPort(args) {
95
- const projectPath = getProjectPath(args.rootPath, args.projectId);
96
- const infraRoot = path.join(projectPath, 'infra', args.target);
97
- const envPath = path.join(infraRoot, '.env');
98
- const fallbackEnvPath = path.join(infraRoot, '.env.example');
99
- const envSourcePath = (await exists(envPath)) ? envPath : fallbackEnvPath;
100
- const envMap = await readSimpleEnvMap(envSourcePath);
101
- const localPortRaw = envMap.get('APP_PORT_FORWARD_LOCAL_PORT')?.trim();
102
- const parsedPort = parsePositivePort(localPortRaw);
103
- if (parsedPort === null) {
104
- throw new Error(`Generated Infra for project '${args.projectId}' did not provide a valid APP_PORT_FORWARD_LOCAL_PORT in ${envSourcePath}. Regenerate infrastructure with @ankhorage/infra 1.0.0 or fix the generated env file.`);
105
- }
106
- return parsedPort;
107
- }
108
- async function readSimpleEnvMap(filePath) {
109
- const out = new Map();
110
- if (!(await exists(filePath)))
111
- return out;
112
- const content = await fs.readFile(filePath, 'utf8');
113
- const lines = content.split(/\r?\n/u);
114
- for (const line of lines) {
115
- const trimmed = line.trim();
116
- if (!trimmed || trimmed.startsWith('#'))
117
- continue;
118
- const idx = trimmed.indexOf('=');
119
- if (idx <= 0)
120
- continue;
121
- const key = trimmed.slice(0, idx).trim();
122
- const value = trimmed
123
- .slice(idx + 1)
124
- .trim()
125
- .replace(/^['"]|['"]$/g, '');
126
- out.set(key, value);
127
- }
128
- return out;
129
- }
130
- function parsePositivePort(value) {
131
- if (!value)
132
- return null;
133
- const parsed = Number.parseInt(value, 10);
134
- if (!Number.isInteger(parsed))
135
- return null;
136
- if (parsed < 1 || parsed > 65535)
137
- return null;
138
- return parsed;
139
- }
140
- function runShellScript(scriptPath, mode, args = [], env = process.env) {
141
- return new Promise((resolve, reject) => {
142
- const child = spawn('bash', [scriptPath, ...args], {
143
- cwd: path.dirname(scriptPath),
144
- stdio: mode === 'inherit' ? 'inherit' : 'pipe',
145
- env: env,
146
- });
147
- let stdout = '';
148
- let stderr = '';
149
- if (mode === 'capture') {
150
- child.stdout?.setEncoding('utf8');
151
- child.stderr?.setEncoding('utf8');
152
- child.stdout?.on('data', (chunk) => {
153
- stdout += chunk;
154
- });
155
- child.stderr?.on('data', (chunk) => {
156
- stderr += chunk;
157
- });
158
- }
159
- child.once('error', (err) => {
160
- reject(new Error(`Failed to start infra script '${scriptPath}': ${err.message}`));
161
- });
162
- child.once('close', (code) => {
163
- if (code === 0) {
164
- resolve({ stdout, stderr });
165
- return;
166
- }
167
- reject(new InfraScriptExecutionError({
168
- message: `Infra script '${scriptPath}' exited with code ${code ?? 'unknown'}.`,
169
- stdout,
170
- stderr,
171
- exitCode: code,
172
- }));
173
- });
174
- });
175
- }
176
- async function exists(p) {
177
- try {
178
- await fs.access(p);
179
- return true;
180
- }
181
- catch {
182
- return false;
183
- }
184
- }
185
- //# sourceMappingURL=infraRuntime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infraRuntime.js","sourceRoot":"","sources":["../../../src/host/orchestrator/infraRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { type InfraManifest } from '@ankhorage/contracts';
2
- export declare function validateInfraSupport(manifest: InfraManifest): string[];
3
- //# sourceMappingURL=infraValidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infraValidation.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/infraValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CA2DtE"}
@@ -1,59 +0,0 @@
1
- import { AUTH_PROVIDERS, AUTH_SCOPES, AUTHZ_ENGINES, DATABASE_PROVIDERS, DEPLOYMENT_TARGETS, } from '@ankhorage/contracts';
2
- export function validateInfraSupport(manifest) {
3
- const warnings = [];
4
- const deploymentTarget = manifest.deployment?.target;
5
- if (deploymentTarget && !isSupported(deploymentTarget, DEPLOYMENT_TARGETS)) {
6
- warnings.push(warningForUnsupportedValue({
7
- path: 'infra.deployment.target',
8
- value: deploymentTarget,
9
- supported: DEPLOYMENT_TARGETS,
10
- }));
11
- }
12
- const databaseProvider = manifest.database?.provider;
13
- if (databaseProvider && !isSupported(databaseProvider, DATABASE_PROVIDERS)) {
14
- warnings.push(warningForUnsupportedValue({
15
- path: 'infra.database.provider',
16
- value: databaseProvider,
17
- supported: DATABASE_PROVIDERS,
18
- }));
19
- }
20
- const authProvider = manifest.auth?.provider;
21
- if (authProvider && !isSupported(authProvider, AUTH_PROVIDERS)) {
22
- warnings.push(warningForUnsupportedValue({
23
- path: 'infra.auth.provider',
24
- value: authProvider,
25
- supported: AUTH_PROVIDERS,
26
- }));
27
- }
28
- const authScope = manifest.auth?.scope;
29
- if (authScope && !isSupported(authScope, AUTH_SCOPES)) {
30
- warnings.push(warningForUnsupportedValue({
31
- path: 'infra.auth.scope',
32
- value: authScope,
33
- supported: AUTH_SCOPES,
34
- }));
35
- }
36
- const authzEngine = manifest.auth?.authorization?.engine;
37
- if (authzEngine && !isSupported(authzEngine, AUTHZ_ENGINES)) {
38
- warnings.push(warningForUnsupportedValue({
39
- path: 'infra.auth.authorization.engine',
40
- value: authzEngine,
41
- supported: AUTHZ_ENGINES,
42
- }));
43
- }
44
- return warnings;
45
- }
46
- function warningForUnsupportedValue(args) {
47
- const { path, value, supported } = args;
48
- return `${path} "${value}" is not currently supported by implemented generators. Supported values: ${formatSupportedValues(supported)}.`;
49
- }
50
- function isSupported(value, supported) {
51
- return supported.includes(value);
52
- }
53
- function formatSupportedValues(values) {
54
- if (values.length === 0) {
55
- return '(none)';
56
- }
57
- return values.join(', ');
58
- }
59
- //# sourceMappingURL=infraValidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infraValidation.js","sourceRoot":"","sources":["../../../src/host/orchestrator/infraValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,oBAAoB,CAAC,QAAuB;IAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrD,IAAI,gBAAgB,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC3E,QAAQ,CAAC,IAAI,CACX,0BAA0B,CAAC;YACzB,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,gBAAgB;YACvB,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACrD,IAAI,gBAAgB,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC3E,QAAQ,CAAC,IAAI,CACX,0BAA0B,CAAC;YACzB,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,gBAAgB;YACvB,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC7C,IAAI,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;QAC/D,QAAQ,CAAC,IAAI,CACX,0BAA0B,CAAC;YACzB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,cAAc;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACvC,IAAI,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CACX,0BAA0B,CAAC;YACzB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,WAAW;SACvB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC;IACzD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;QAC5D,QAAQ,CAAC,IAAI,CACX,0BAA0B,CAAC;YACzB,IAAI,EAAE,iCAAiC;YACvC,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,aAAa;SACzB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,0BAA0B,CAAC,IAInC;IACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,GAAG,IAAI,KAAK,KAAK,6EAA6E,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC;AAC3I,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,SAA4B;IAC9D,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAyB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,20 +0,0 @@
1
- export interface ProjectGeneratedAppImageCleanupResult {
2
- removedImages: number;
3
- warnings: string[];
4
- skipped?: {
5
- reason: string;
6
- };
7
- }
8
- export interface CommandRunner {
9
- run(command: string, args: string[], timeoutMs: number): Promise<{
10
- stdout: string;
11
- stderr: string;
12
- }>;
13
- }
14
- export declare function cleanupProjectGeneratedAppImage(args: {
15
- projectId: string;
16
- projectPath: string;
17
- target: string;
18
- runner?: CommandRunner;
19
- }): Promise<ProjectGeneratedAppImageCleanupResult>;
20
- //# sourceMappingURL=projectDeletion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectDeletion.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectDeletion.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,qCAAqC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CACD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAgBD,wBAAsB,+BAA+B,CAAC,IAAI,EAAE;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAsDjD"}
@@ -1,191 +0,0 @@
1
- import { execFile } from 'child_process';
2
- import { promises as fs } from 'fs';
3
- import path from 'path';
4
- import { promisify } from 'util';
5
- const execFileAsync = promisify(execFile);
6
- const DOCKER_IMAGE_REMOVE_TIMEOUT_MS = 15_000;
7
- const MINIKUBE_IMAGE_REMOVE_TIMEOUT_MS = 20_000;
8
- const EXEC_MAX_BUFFER = 1024 * 1024;
9
- const defaultCommandRunner = {
10
- async run(command, args, timeoutMs) {
11
- const output = await execFileAsync(command, args, {
12
- timeout: timeoutMs,
13
- maxBuffer: EXEC_MAX_BUFFER,
14
- });
15
- return {
16
- stdout: output.stdout,
17
- stderr: output.stderr,
18
- };
19
- },
20
- };
21
- export async function cleanupProjectGeneratedAppImage(args) {
22
- const { projectId, projectPath, target, runner = defaultCommandRunner } = args;
23
- if (target !== 'minikube') {
24
- return {
25
- removedImages: 0,
26
- warnings: [],
27
- skipped: {
28
- reason: `Generated app image cleanup is not implemented for deployment target: ${target}.`,
29
- },
30
- };
31
- }
32
- const env = await readMinikubeEnv(projectPath);
33
- const cleanupEnabled = readBooleanEnv(env, 'APP_IMAGE_CLEANUP_ON_DESTROY', true);
34
- if (!cleanupEnabled) {
35
- return {
36
- removedImages: 0,
37
- warnings: [],
38
- skipped: {
39
- reason: 'Generated app image cleanup disabled by APP_IMAGE_CLEANUP_ON_DESTROY=false.',
40
- },
41
- };
42
- }
43
- const appImage = env.get('APP_IMAGE')?.trim();
44
- if (!appImage) {
45
- return {
46
- removedImages: 0,
47
- warnings: ['Skipping generated app image cleanup because APP_IMAGE could not be resolved.'],
48
- };
49
- }
50
- const configuredProfile = env.get('ANKH_APP_SLUG')?.trim();
51
- const profile = configuredProfile && configuredProfile.length > 0 ? configuredProfile : projectId;
52
- const warnings = [];
53
- let removedImages = 0;
54
- if (readBooleanEnv(env, 'APP_IMAGE_CLEANUP_MINIKUBE', true)) {
55
- const result = await removeMinikubeImage({ appImage, profile, runner });
56
- removedImages += result.removedImages;
57
- warnings.push(...result.warnings);
58
- }
59
- if (readBooleanEnv(env, 'APP_IMAGE_CLEANUP_DOCKER', true)) {
60
- const result = await removeDockerImage({ appImage, runner });
61
- removedImages += result.removedImages;
62
- warnings.push(...result.warnings);
63
- }
64
- return {
65
- removedImages,
66
- warnings,
67
- };
68
- }
69
- async function removeMinikubeImage(args) {
70
- const { appImage, profile, runner } = args;
71
- try {
72
- await runner.run('minikube', ['-p', profile, 'image', 'rm', appImage], MINIKUBE_IMAGE_REMOVE_TIMEOUT_MS);
73
- return {
74
- removedImages: 1,
75
- warnings: [],
76
- };
77
- }
78
- catch (err) {
79
- if (isMissingCommandError(err)) {
80
- return {
81
- removedImages: 0,
82
- warnings: ['Skipping Minikube image cleanup because minikube is not available in PATH.'],
83
- };
84
- }
85
- if (isImageNotFoundError(err)) {
86
- return {
87
- removedImages: 0,
88
- warnings: [],
89
- };
90
- }
91
- return {
92
- removedImages: 0,
93
- warnings: [`Skipping Minikube image cleanup for ${appImage}: ${formatError(err)}`],
94
- };
95
- }
96
- }
97
- async function removeDockerImage(args) {
98
- const { appImage, runner } = args;
99
- try {
100
- await runner.run('docker', ['image', 'rm', appImage], DOCKER_IMAGE_REMOVE_TIMEOUT_MS);
101
- return {
102
- removedImages: 1,
103
- warnings: [],
104
- };
105
- }
106
- catch (err) {
107
- if (isMissingCommandError(err)) {
108
- return {
109
- removedImages: 0,
110
- warnings: ['Skipping Docker image cleanup because docker is not available in PATH.'],
111
- };
112
- }
113
- if (isImageNotFoundError(err)) {
114
- return {
115
- removedImages: 0,
116
- warnings: [],
117
- };
118
- }
119
- return {
120
- removedImages: 0,
121
- warnings: [`Skipping Docker image cleanup for ${appImage}: ${formatError(err)}`],
122
- };
123
- }
124
- }
125
- async function readMinikubeEnv(projectPath) {
126
- const infraRoot = path.join(projectPath, 'infra', 'minikube');
127
- const env = new Map();
128
- await mergeEnvFile(env, path.join(infraRoot, '.env.example'));
129
- await mergeEnvFile(env, path.join(infraRoot, '.env'));
130
- return env;
131
- }
132
- async function mergeEnvFile(env, filePath) {
133
- try {
134
- const content = await fs.readFile(filePath, 'utf8');
135
- for (const line of content.split(/\r?\n/u)) {
136
- const parsed = parseEnvLine(line);
137
- if (!parsed)
138
- continue;
139
- env.set(parsed.key, parsed.value);
140
- }
141
- }
142
- catch (err) {
143
- if (isMissingFileError(err))
144
- return;
145
- throw err;
146
- }
147
- }
148
- function parseEnvLine(line) {
149
- const trimmed = line.trim();
150
- if (!trimmed || trimmed.startsWith('#'))
151
- return null;
152
- const assignmentIndex = trimmed.indexOf('=');
153
- if (assignmentIndex <= 0)
154
- return null;
155
- const key = trimmed.slice(0, assignmentIndex).trim();
156
- const rawValue = trimmed.slice(assignmentIndex + 1).trim();
157
- const value = rawValue.replace(/^['"]|['"]$/g, '');
158
- return { key, value };
159
- }
160
- function readBooleanEnv(env, key, fallback) {
161
- const value = env.get(key)?.trim().toLowerCase();
162
- if (!value)
163
- return fallback;
164
- if (['1', 'true', 'yes', 'on'].includes(value))
165
- return true;
166
- if (['0', 'false', 'no', 'off'].includes(value))
167
- return false;
168
- return fallback;
169
- }
170
- function isMissingCommandError(err) {
171
- if (!err || typeof err !== 'object')
172
- return false;
173
- const maybeNodeErr = err;
174
- return maybeNodeErr.code === 'ENOENT';
175
- }
176
- function isMissingFileError(err) {
177
- if (!err || typeof err !== 'object')
178
- return false;
179
- const maybeNodeErr = err;
180
- return maybeNodeErr.code === 'ENOENT';
181
- }
182
- function isImageNotFoundError(err) {
183
- const message = formatError(err);
184
- return /no such image|image .* not found|not found/i.test(message);
185
- }
186
- function formatError(err) {
187
- if (err instanceof Error && err.message)
188
- return err.message;
189
- return String(err);
190
- }
191
- //# sourceMappingURL=projectDeletion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectDeletion.js","sourceRoot":"","sources":["../../../src/host/orchestrator/projectDeletion.ts"],"names":[],"mappings":"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"}