@ankhorage/studio 0.21.0 → 0.22.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 (42) hide show
  1. package/dist/contractGuards.d.ts +2 -2
  2. package/dist/contractGuards.d.ts.map +1 -1
  3. package/dist/contractGuards.js +2 -562
  4. package/dist/contractGuards.js.map +1 -1
  5. package/dist/core/StudioProvider.js +8 -8
  6. package/dist/core/StudioProvider.js.map +1 -1
  7. package/dist/host/auth/projectAuthHealthService.d.ts +1 -2
  8. package/dist/host/auth/projectAuthHealthService.d.ts.map +1 -1
  9. package/dist/host/auth/projectAuthHealthService.js +1 -9
  10. package/dist/host/auth/projectAuthHealthService.js.map +1 -1
  11. package/dist/host/dataSources/studioExternalApiService.d.ts +1 -2
  12. package/dist/host/dataSources/studioExternalApiService.d.ts.map +1 -1
  13. package/dist/host/dataSources/studioExternalApiService.js +3 -11
  14. package/dist/host/dataSources/studioExternalApiService.js.map +1 -1
  15. package/dist/host/http/server.d.ts.map +1 -1
  16. package/dist/host/http/server.js +3 -37
  17. package/dist/host/http/server.js.map +1 -1
  18. package/dist/host/orchestrator/moduleManager.d.ts +3 -8
  19. package/dist/host/orchestrator/moduleManager.d.ts.map +1 -1
  20. package/dist/host/orchestrator/moduleManager.js +13 -14
  21. package/dist/host/orchestrator/moduleManager.js.map +1 -1
  22. package/dist/host/orchestrator/projectManager.d.ts +7 -20
  23. package/dist/host/orchestrator/projectManager.d.ts.map +1 -1
  24. package/dist/host/orchestrator/projectManager.js +52 -153
  25. package/dist/host/orchestrator/projectManager.js.map +1 -1
  26. package/dist/host/orchestrator/projectStore.d.ts +7 -5
  27. package/dist/host/orchestrator/projectStore.d.ts.map +1 -1
  28. package/dist/host/orchestrator/projectStore.js +60 -88
  29. package/dist/host/orchestrator/projectStore.js.map +1 -1
  30. package/dist/host/secrets/projectSecretService.js +1 -1
  31. package/dist/host/secrets/projectSecretService.js.map +1 -1
  32. package/dist/host/secrets/trustedOAuthInfraEnvironment.d.ts +2 -2
  33. package/dist/host/secrets/trustedOAuthInfraEnvironment.d.ts.map +1 -1
  34. package/dist/host/secrets/trustedOAuthInfraEnvironment.js +1 -1
  35. package/dist/host/secrets/trustedOAuthInfraEnvironment.js.map +1 -1
  36. package/dist/studioRuntimeApi.d.ts +1 -1
  37. package/dist/studioRuntimeApi.d.ts.map +1 -1
  38. package/dist/studioRuntimeApi.js +6 -13
  39. package/dist/studioRuntimeApi.js.map +1 -1
  40. package/dist/ui/admin/pages/AuthAdminPage.js +2 -2
  41. package/dist/ui/admin/pages/AuthAdminPage.js.map +1 -1
  42. package/package.json +2 -2
@@ -35,15 +35,10 @@ export declare class ProjectManager {
35
35
  success: boolean;
36
36
  }>;
37
37
  getProjectManifest(projectId: string): Promise<AppManifest>;
38
- getStudioManifest(projectId: string): Promise<AppManifest>;
39
- updateStudioManifestIfExists(projectId: string, updater: (manifest: AppManifest) => AppManifest): Promise<{
40
- updated: boolean;
41
- }>;
42
- /**
43
- * Save manifest and (optionally) regenerate router files immediately.
44
- *
45
- * We take `mutations` as input to keep module boundaries clean.
46
- */
38
+ persistProjectManifest(args: {
39
+ projectId: string;
40
+ manifest: AppManifest;
41
+ }): Promise<AppManifest>;
47
42
  saveProjectManifest(args: {
48
43
  projectId: string;
49
44
  manifest: AppManifest;
@@ -52,22 +47,13 @@ export declare class ProjectManager {
52
47
  }): Promise<{
53
48
  success: boolean;
54
49
  }>;
55
- saveStudioManifest(args: {
56
- projectId: string;
57
- manifest: AppManifest;
58
- }): Promise<{
59
- success: boolean;
60
- }>;
61
- syncStudioRuntime(args: {
50
+ syncProjectRuntime(args: {
62
51
  projectId: string;
63
- manifest: AppManifest;
64
52
  mutations: LayoutMutation[];
53
+ includeStudio?: boolean;
65
54
  }): Promise<{
66
55
  success: boolean;
67
56
  }>;
68
- /**
69
- * Rebuild only the root layout file from manifest + mutations.
70
- */
71
57
  rebuildRootLayout(args: {
72
58
  projectId: string;
73
59
  mutations: LayoutMutation[];
@@ -83,6 +69,7 @@ export declare class ProjectManager {
83
69
  }>;
84
70
  regenerateInfrastructure(projectId: string): Promise<import("./infraGenerator").InfraSyncResult>;
85
71
  getInfrastructureStatus(projectId: string): Promise<import("./infraGenerator").InfraStatusResult>;
72
+ private destroyProjectInfrastructure;
86
73
  private writeGeneratedFiles;
87
74
  private writeText;
88
75
  private shouldIncludeStudio;
@@ -1 +1 @@
1
- {"version":3,"file":"projectManager.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAYxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKnE,UAAU,0BAA0B;IAClC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAC7D,QAAQ,CAAC,+BAA+B,EAAE,OAAO,+BAA+B,CAAC;CAClF;AAED,qBAAa,cAAc;IASvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAE1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,QAAQ,EAAE,MAAM,EACjC,YAAY,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAiBlD,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,aAAa,CAAC,SAAS,EAAE,MAAM;;;;;;;IAyD/B,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,wBAAwB,EAC3C,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACvD,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO;;;;;IAkErC,wBAAwB;;;IASxB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI3D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI1D,4BAA4B,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,GAC9C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAYhC;;;;OAIG;IACG,mBAAmB,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,WAAW,CAAC;QACtB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC;;;IAiCK,kBAAkB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAA;KAAE;;;IAOrE,iBAAiB,CAAC,IAAI,EAAE;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,WAAW,CAAC;QACtB,SAAS,EAAE,cAAc,EAAE,CAAC;KAC7B;;;IA4BD;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,cAAc,EAAE,CAAA;KAAE;;;IAqB1E,WAAW,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;;;IAsCK,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAW1C,uBAAuB,CAAC,SAAS,EAAE,MAAM;YAejC,mBAAmB;YAsBnB,SAAS;YAKT,mBAAmB;YAQnB,mBAAmB;CAgBlC"}
1
+ {"version":3,"file":"projectManager.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAYxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKnE,UAAU,0BAA0B;IAClC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAC7D,QAAQ,CAAC,+BAA+B,EAAE,OAAO,+BAA+B,CAAC;CAClF;AAED,qBAAa,cAAc;IAQvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,QAAQ,EAAE,MAAM,EACjC,YAAY,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAalD,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,aAAa,CAAC,SAAS,EAAE,MAAM;;;;;;;IA+B/B,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,wBAAwB,EAC3C,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACvD,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO;;;;;IA6CrC,wBAAwB;;;IAKxB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI3D,sBAAsB,CAAC,IAAI,EAAE;QACjC,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,WAAW,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,CAAC;IAKlB,mBAAmB,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,WAAW,CAAC;QACtB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC;;;IAmBK,kBAAkB,CAAC,IAAI,EAAE;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;;;IAsBK,iBAAiB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,cAAc,EAAE,CAAA;KAAE;;;IAkB1E,WAAW,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;;;IAIK,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAM1C,uBAAuB,CAAC,SAAS,EAAE,MAAM;YAMjC,4BAA4B;YAoB5B,mBAAmB;YAiBnB,SAAS;YAKT,mBAAmB;YAKnB,mBAAmB;CAgBlC"}
@@ -33,9 +33,6 @@ export class ProjectManager {
33
33
  ...dependencies,
34
34
  };
35
35
  }
36
- // =========================================================================
37
- // PROJECT LIFECYCLE (PUBLIC API)
38
- // =========================================================================
39
36
  async listProjects() {
40
37
  return this.store.listProjects();
41
38
  }
@@ -52,27 +49,9 @@ export class ProjectManager {
52
49
  manifest,
53
50
  });
54
51
  if (!infraStatus.skipped && infraStatus.hasDeployment && infraStatus.target) {
55
- // Regenerate once to ensure teardown scripts exist before invoking destroy lifecycle.
56
- await syncProjectInfrastructure({
57
- projectId,
58
- projectPath,
59
- manifest,
60
- });
61
- try {
62
- await this.dependencies.runProjectInfraScript({
63
- rootPath: this.rootPath,
64
- projectId,
65
- target: infraStatus.target,
66
- script: 'destroy',
67
- });
68
- infraDestroyed = true;
69
- }
70
- catch (error) {
71
- const message = error instanceof Error ? error.message : String(error);
72
- throw new Error(`Infrastructure teardown failed for project '${projectId}': ${message}`, {
73
- cause: error,
74
- });
75
- }
52
+ await syncProjectInfrastructure({ projectId, projectPath, manifest });
53
+ await this.destroyProjectInfrastructure(projectId, projectPath, infraStatus.target);
54
+ infraDestroyed = true;
76
55
  imageCleanup = await this.dependencies.cleanupProjectGeneratedAppImage({
77
56
  projectId,
78
57
  projectPath,
@@ -82,13 +61,7 @@ export class ProjectManager {
82
61
  }
83
62
  }
84
63
  await this.store.deleteProject(projectId);
85
- return {
86
- success: true,
87
- infraDestroyed,
88
- projectFilesDeleted: true,
89
- imageCleanup,
90
- warnings,
91
- };
64
+ return { success: true, infraDestroyed, projectFilesDeleted: true, imageCleanup, warnings };
92
65
  }
93
66
  async createProject(name, templateSelection, onProjectCreated, options = {}) {
94
67
  const { includeStudio = true } = options;
@@ -108,7 +81,6 @@ export class ProjectManager {
108
81
  const templateData = this.scaffolder.getTemplate(templateSelection);
109
82
  const scaffoldManifest = applySystemTemplates(templateData);
110
83
  const zoraExtensions = resolveZoraExtensionsForTemplateSelection(templateSelection);
111
- // 1) scaffold base project
112
84
  await this.scaffolder.scaffoldProject(projectPath, name, slug, {
113
85
  includeStudio,
114
86
  authProvider: resolveGeneratedAuthProvider(scaffoldManifest),
@@ -118,105 +90,55 @@ export class ProjectManager {
118
90
  splashScreen: scaffoldManifest.splashScreen ?? null,
119
91
  zoraExtensions,
120
92
  });
121
- // 2) layout generation from template + mutations
122
- // IMPORTANT: ProjectManager no longer resolves module layout mutations itself.
123
- // The orchestrator should pass mutations when calling rebuild/sync.
124
- // For creation we default to "no mutations"; your template-driven module installs
125
- // will run via orchestrator anyway.
126
93
  const manifest = await this.scaffolder.finalizeManifest(projectPath, templateData, name, slug, templateSelection.category);
127
94
  const runtimePlan = resolveExpoRuntimePlan(manifest);
128
- // 3) generate router files based on manifest (no module layout mutations at creation)
129
95
  await this.writeGeneratedFiles(projectPath, manifest, [], { includeStudio, runtimePlan });
130
- // 4) generate infrastructure artifacts from infra manifest
131
- await syncProjectInfrastructure({
132
- projectId: slug,
133
- projectPath,
134
- manifest,
135
- });
136
- // 5) hook for orchestrator (e.g. registry generation)
137
- if (onProjectCreated) {
96
+ await syncProjectInfrastructure({ projectId: slug, projectPath, manifest });
97
+ if (onProjectCreated)
138
98
  await onProjectCreated(slug);
139
- }
140
99
  return { success: true, id: slug, path: projectPath };
141
100
  }
142
101
  async installWorkspacePackages() {
143
102
  await runWorkspaceInstall(this.rootPath);
144
103
  return { success: true };
145
104
  }
146
- // =========================================================================
147
- // MANIFEST (PUBLIC API)
148
- // =========================================================================
149
105
  async getProjectManifest(projectId) {
150
106
  return this.store.readManifest(projectId);
151
107
  }
152
- async getStudioManifest(projectId) {
153
- return this.store.readStudioManifest(projectId);
154
- }
155
- async updateStudioManifestIfExists(projectId, updater) {
156
- const hasDraft = await this.store.hasStudioManifest(projectId);
157
- if (!hasDraft) {
158
- return { updated: false };
159
- }
160
- const current = await this.store.readStudioManifest(projectId);
161
- const next = updater(current);
162
- await this.store.writeStudioManifest(projectId, next);
163
- return { updated: true };
108
+ async persistProjectManifest(args) {
109
+ const normalizedManifest = applySystemTemplates(args.manifest);
110
+ return this.store.writeManifest(args.projectId, normalizedManifest);
164
111
  }
165
- /**
166
- * Save manifest and (optionally) regenerate router files immediately.
167
- *
168
- * We take `mutations` as input to keep module boundaries clean.
169
- */
170
112
  async saveProjectManifest(args) {
171
113
  const { projectId, manifest, mutations, regenerateRouterFiles = true } = args;
114
+ const updated = await this.persistProjectManifest({ projectId, manifest });
172
115
  const projectPath = getProjectPath(this.rootPath, projectId);
173
- const normalizedManifest = applySystemTemplates(manifest);
174
- const updated = await this.store.writeManifest(projectId, normalizedManifest);
175
- await this.store.deleteStudioManifest(projectId);
176
116
  const runtimePlan = resolveExpoRuntimePlan(updated);
177
117
  if (regenerateRouterFiles) {
178
- const resolvedIncludeStudio = await this.shouldIncludeStudio(projectPath);
179
- await this.syncProjectScaffold(projectPath, projectId, updated, resolvedIncludeStudio, runtimePlan);
118
+ const includeStudio = await this.shouldIncludeStudio(projectPath);
119
+ await this.syncProjectScaffold(projectPath, projectId, updated, includeStudio, runtimePlan);
180
120
  await this.writeGeneratedFiles(projectPath, updated, mutations, {
181
- includeStudio: resolvedIncludeStudio,
121
+ includeStudio,
182
122
  runtimePlan,
183
123
  });
184
124
  }
185
- await syncProjectInfrastructure({
186
- projectId,
187
- projectPath,
188
- manifest: updated,
189
- });
125
+ await syncProjectInfrastructure({ projectId, projectPath, manifest: updated });
190
126
  return { success: true };
191
127
  }
192
- async saveStudioManifest(args) {
193
- const { projectId, manifest } = args;
194
- const normalizedManifest = applySystemTemplates(manifest);
195
- await this.store.writeStudioManifest(projectId, normalizedManifest);
196
- return { success: true };
197
- }
198
- async syncStudioRuntime(args) {
199
- const { projectId, manifest, mutations } = args;
200
- const normalizedManifest = applySystemTemplates(manifest);
128
+ async syncProjectRuntime(args) {
129
+ const { projectId, mutations, includeStudio } = args;
201
130
  const projectPath = getProjectPath(this.rootPath, projectId);
202
- const includeStudio = await this.shouldIncludeStudio(projectPath);
203
- const runtimePlan = resolveExpoRuntimePlan(normalizedManifest);
204
- await this.store.writeStudioManifest(projectId, normalizedManifest);
205
- await this.syncProjectScaffold(projectPath, projectId, normalizedManifest, includeStudio, runtimePlan);
206
- await this.writeGeneratedFiles(projectPath, normalizedManifest, mutations, {
207
- includeStudio,
131
+ const manifest = await this.getProjectManifest(projectId);
132
+ const resolvedIncludeStudio = await this.shouldIncludeStudio(projectPath, includeStudio);
133
+ const runtimePlan = resolveExpoRuntimePlan(manifest);
134
+ await this.syncProjectScaffold(projectPath, projectId, manifest, resolvedIncludeStudio, runtimePlan);
135
+ await this.writeGeneratedFiles(projectPath, manifest, mutations, {
136
+ includeStudio: resolvedIncludeStudio,
208
137
  runtimePlan,
209
138
  });
210
- await syncProjectInfrastructure({
211
- projectId,
212
- projectPath,
213
- manifest: normalizedManifest,
214
- });
139
+ await syncProjectInfrastructure({ projectId, projectPath, manifest });
215
140
  return { success: true };
216
141
  }
217
- /**
218
- * Rebuild only the root layout file from manifest + mutations.
219
- */
220
142
  async rebuildRootLayout(args) {
221
143
  const { projectId, mutations } = args;
222
144
  const manifest = await this.getProjectManifest(projectId);
@@ -227,81 +149,59 @@ export class ProjectManager {
227
149
  includeStudio: await this.shouldIncludeStudio(projectPath),
228
150
  runtimePlan,
229
151
  })
230
- .filter((f) => f.path === 'src/app/_layout.tsx');
231
- for (const f of rootOnly) {
232
- await this.writeText(path.join(projectPath, f.path), f.content);
152
+ .filter((file) => file.path === 'src/app/_layout.tsx');
153
+ for (const file of rootOnly) {
154
+ await this.writeText(path.join(projectPath, file.path), file.content);
233
155
  }
234
156
  return { success: true };
235
157
  }
236
158
  async syncProject(args) {
237
- const { projectId, mutations, includeStudio } = args;
238
- const projectPath = getProjectPath(this.rootPath, projectId);
239
- const hasStudioManifest = await this.store.hasStudioManifest(projectId);
240
- const manifest = hasStudioManifest
241
- ? await this.store.readStudioManifest(projectId)
242
- : await this.getProjectManifest(projectId);
243
- const normalizedManifest = applySystemTemplates(manifest);
244
- const resolvedIncludeStudio = await this.shouldIncludeStudio(projectPath, includeStudio);
245
- const runtimePlan = resolveExpoRuntimePlan(normalizedManifest);
246
- if (hasStudioManifest || normalizedManifest !== manifest) {
247
- await this.store.writeManifest(projectId, normalizedManifest);
248
- await this.store.deleteStudioManifest(projectId);
249
- }
250
- await this.syncProjectScaffold(projectPath, projectId, normalizedManifest, resolvedIncludeStudio, runtimePlan);
251
- await this.writeGeneratedFiles(projectPath, normalizedManifest, mutations, {
252
- includeStudio: resolvedIncludeStudio,
253
- runtimePlan,
254
- });
255
- await syncProjectInfrastructure({
256
- projectId,
257
- projectPath,
258
- manifest: normalizedManifest,
259
- });
260
- return { success: true };
159
+ return this.syncProjectRuntime(args);
261
160
  }
262
161
  async regenerateInfrastructure(projectId) {
263
162
  const projectPath = getProjectPath(this.rootPath, projectId);
264
163
  const manifest = await this.getProjectManifest(projectId);
265
- return syncProjectInfrastructure({
266
- projectId,
267
- projectPath,
268
- manifest,
269
- });
164
+ return syncProjectInfrastructure({ projectId, projectPath, manifest });
270
165
  }
271
166
  async getInfrastructureStatus(projectId) {
272
167
  const projectPath = getProjectPath(this.rootPath, projectId);
273
168
  const manifest = await this.getProjectManifest(projectId);
274
- return getProjectInfrastructureStatus({
275
- projectId,
276
- projectPath,
277
- manifest,
278
- });
169
+ return getProjectInfrastructureStatus({ projectId, projectPath, manifest });
170
+ }
171
+ async destroyProjectInfrastructure(projectId, projectPath, target) {
172
+ try {
173
+ await this.dependencies.runProjectInfraScript({
174
+ rootPath: this.rootPath,
175
+ projectId,
176
+ target,
177
+ script: 'destroy',
178
+ });
179
+ }
180
+ catch (error) {
181
+ const message = error instanceof Error ? error.message : String(error);
182
+ throw new Error(`Infrastructure teardown failed for project '${projectId}': ${message}`, {
183
+ cause: error,
184
+ });
185
+ }
279
186
  }
280
- // =========================================================================
281
- // INTERNAL
282
- // =========================================================================
283
187
  async writeGeneratedFiles(projectPath, manifest, mutations, options) {
284
188
  const generated = this.appFiles.generateFiles(projectPath, manifest, mutations, {
285
189
  includeStudio: options.includeStudio,
286
190
  runtimePlan: options.runtimePlan,
287
191
  });
288
192
  const generatedPaths = generated.map((file) => file.path);
289
- for (const f of generated) {
290
- await this.writeText(path.join(projectPath, f.path), f.content);
193
+ for (const file of generated) {
194
+ await this.writeText(path.join(projectPath, file.path), file.content);
291
195
  }
292
- await syncGeneratedRouteFiles({
293
- projectPath,
294
- generatedPaths,
295
- });
196
+ await syncGeneratedRouteFiles({ projectPath, generatedPaths });
296
197
  }
297
198
  async writeText(absPath, content) {
298
199
  await fs.mkdir(path.dirname(absPath), { recursive: true });
299
200
  await fs.writeFile(absPath, content, 'utf8');
300
201
  }
301
202
  async shouldIncludeStudio(projectPath, requested) {
302
- if (requested === false) {
203
+ if (requested === false)
303
204
  return false;
304
- }
305
205
  return requested ?? (await exists(path.join(projectPath, 'src/studio')));
306
206
  }
307
207
  async syncProjectScaffold(projectPath, projectId, manifest, includeStudio, runtimePlan) {
@@ -315,9 +215,9 @@ export class ProjectManager {
315
215
  });
316
216
  }
317
217
  }
318
- async function exists(p) {
218
+ async function exists(filePath) {
319
219
  try {
320
- await fs.access(p);
220
+ await fs.access(filePath);
321
221
  return true;
322
222
  }
323
223
  catch {
@@ -333,9 +233,8 @@ function resolveGeneratedAuthProvider(manifest) {
333
233
  }
334
234
  function resolveGeneratedStorageProvider(manifest) {
335
235
  const { auth, database, storage } = manifest.infra;
336
- if (storage?.provider !== 'auto') {
236
+ if (storage?.provider !== 'auto')
337
237
  return null;
338
- }
339
238
  const usesSupabase = auth?.provider === 'supabase' || database?.provider === 'supabase';
340
239
  return usesSupabase ? 'supabase' : null;
341
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projectManager.js","sourceRoot":"","sources":["../../../src/host/orchestrator/projectManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectManager.js","sourceRoot":"","sources":["../../../src/host/orchestrator/projectManager.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,21 @@ export type ProjectSummary = StudioProjectSummary;
4
4
  export declare class ProjectManifestNotFoundError extends Error {
5
5
  constructor(projectId: string);
6
6
  }
7
+ export declare class ObsoleteStudioManifestError extends Error {
8
+ constructor(projectId: string, filePath: string);
9
+ }
7
10
  export declare class ProjectStore {
8
11
  private readonly rootPath;
9
12
  constructor(rootPath: string);
10
13
  private getProjectPath;
11
14
  private getManifestPath;
12
- private getStudioManifestPath;
15
+ private getObsoleteStudioManifestPath;
13
16
  listProjects(): Promise<ProjectSummary[]>;
14
17
  deleteProject(projectId: string): Promise<boolean>;
15
18
  readManifest(projectId: string): Promise<AppManifest>;
16
- readStudioManifest(projectId: string): Promise<AppManifest>;
17
- hasStudioManifest(projectId: string): Promise<boolean>;
18
19
  writeManifest(projectId: string, manifest: AppManifest): Promise<AppManifest>;
19
- writeStudioManifest(projectId: string, manifest: AppManifest): Promise<AppManifest>;
20
- deleteStudioManifest(projectId: string): Promise<void>;
20
+ mutateManifest(projectId: string, updater: (manifest: AppManifest) => AppManifest): Promise<AppManifest>;
21
+ private readProjectSummary;
22
+ private assertNoObsoleteStudioManifest;
21
23
  }
22
24
  //# sourceMappingURL=projectStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectStore.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,sBAAsB,CAAC;AAKrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,SAAS,EAAE,MAAM;CAI9B;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,qBAAqB;IAIvB,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA8DzC,aAAa,CAAC,SAAS,EAAE,MAAM;IAM/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAerD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAS3D,iBAAiB,CAAC,SAAS,EAAE,MAAM;IAInC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW;IAqBtD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW;IAsB5D,oBAAoB,CAAC,SAAS,EAAE,MAAM;CAM7C"}
1
+ {"version":3,"file":"projectStore.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,sBAAsB,CAAC;AAKrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,SAAS,EAAE,MAAM;CAI9B;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAOhD;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,6BAA6B;IAI/B,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBzC,aAAa,CAAC,SAAS,EAAE,MAAM;IAM/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBrD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAY7E,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,GAC9C,OAAO,CAAC,WAAW,CAAC;YAKT,kBAAkB;YA2BlB,8BAA8B;CAM7C"}