@ankhorage/studio 0.21.0 → 0.24.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 (160) hide show
  1. package/README.md +1 -1
  2. package/dist/contractGuards.d.ts +2 -2
  3. package/dist/contractGuards.d.ts.map +1 -1
  4. package/dist/contractGuards.js +2 -562
  5. package/dist/contractGuards.js.map +1 -1
  6. package/dist/core/StudioProvider.js +8 -8
  7. package/dist/core/StudioProvider.js.map +1 -1
  8. package/dist/host/auth/projectAuthHealthService.d.ts +1 -2
  9. package/dist/host/auth/projectAuthHealthService.d.ts.map +1 -1
  10. package/dist/host/auth/projectAuthHealthService.js +2 -10
  11. package/dist/host/auth/projectAuthHealthService.js.map +1 -1
  12. package/dist/host/auth/projectAuthRuntimeDiagnostics.d.ts.map +1 -1
  13. package/dist/host/auth/projectAuthRuntimeDiagnostics.js +9 -44
  14. package/dist/host/auth/projectAuthRuntimeDiagnostics.js.map +1 -1
  15. package/dist/host/createStudioHost.js +1 -1
  16. package/dist/host/dataSources/studioExternalApiService.d.ts +1 -2
  17. package/dist/host/dataSources/studioExternalApiService.d.ts.map +1 -1
  18. package/dist/host/dataSources/studioExternalApiService.js +3 -11
  19. package/dist/host/dataSources/studioExternalApiService.js.map +1 -1
  20. package/dist/host/http/server.d.ts.map +1 -1
  21. package/dist/host/http/server.js +25 -94
  22. package/dist/host/http/server.js.map +1 -1
  23. package/dist/host/layout/templates/rootLayout.d.ts.map +1 -1
  24. package/dist/host/layout/templates/rootLayout.js +1 -2
  25. package/dist/host/layout/templates/rootLayout.js.map +1 -1
  26. package/dist/host/orchestrator/infraSession.d.ts +15 -0
  27. package/dist/host/orchestrator/infraSession.d.ts.map +1 -0
  28. package/dist/host/orchestrator/infraSession.js +45 -0
  29. package/dist/host/orchestrator/infraSession.js.map +1 -0
  30. package/dist/host/orchestrator/moduleManager.d.ts +3 -8
  31. package/dist/host/orchestrator/moduleManager.d.ts.map +1 -1
  32. package/dist/host/orchestrator/moduleManager.js +13 -14
  33. package/dist/host/orchestrator/moduleManager.js.map +1 -1
  34. package/dist/host/orchestrator/projectManager.d.ts +11 -28
  35. package/dist/host/orchestrator/projectManager.d.ts.map +1 -1
  36. package/dist/host/orchestrator/projectManager.js +55 -167
  37. package/dist/host/orchestrator/projectManager.js.map +1 -1
  38. package/dist/host/orchestrator/projectStore.d.ts +7 -5
  39. package/dist/host/orchestrator/projectStore.d.ts.map +1 -1
  40. package/dist/host/orchestrator/projectStore.js +60 -88
  41. package/dist/host/orchestrator/projectStore.js.map +1 -1
  42. package/dist/host/orchestrator/studioInfraUp.d.ts.map +1 -1
  43. package/dist/host/orchestrator/studioInfraUp.js +7 -4
  44. package/dist/host/orchestrator/studioInfraUp.js.map +1 -1
  45. package/dist/host/secrets/projectSecretService.d.ts +1 -1
  46. package/dist/host/secrets/projectSecretService.d.ts.map +1 -1
  47. package/dist/host/secrets/projectSecretService.js +10 -4
  48. package/dist/host/secrets/projectSecretService.js.map +1 -1
  49. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.d.ts +1 -6
  50. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.d.ts.map +1 -1
  51. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.js +12 -63
  52. package/dist/host/secrets/resolveProjectSecretDatabaseUrl.js.map +1 -1
  53. package/dist/host/secrets/trustedOAuthInfraEnvironment.d.ts +2 -2
  54. package/dist/host/secrets/trustedOAuthInfraEnvironment.d.ts.map +1 -1
  55. package/dist/host/secrets/trustedOAuthInfraEnvironment.js +1 -1
  56. package/dist/host/secrets/trustedOAuthInfraEnvironment.js.map +1 -1
  57. package/dist/index.d.ts +3 -3
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/manifestState.d.ts.map +1 -1
  61. package/dist/manifestState.js +4 -3
  62. package/dist/manifestState.js.map +1 -1
  63. package/dist/studioAdminRouteModel.d.ts +6 -1
  64. package/dist/studioAdminRouteModel.d.ts.map +1 -1
  65. package/dist/studioAdminRouteModel.js +105 -1
  66. package/dist/studioAdminRouteModel.js.map +1 -1
  67. package/dist/studioRuntimeApi.d.ts +1 -1
  68. package/dist/studioRuntimeApi.d.ts.map +1 -1
  69. package/dist/studioRuntimeApi.js +6 -13
  70. package/dist/studioRuntimeApi.js.map +1 -1
  71. package/dist/ui/admin/AnkhAdminPage.d.ts.map +1 -1
  72. package/dist/ui/admin/AnkhAdminPage.js +13 -2
  73. package/dist/ui/admin/AnkhAdminPage.js.map +1 -1
  74. package/dist/ui/admin/AnkhAdminShell.js +1 -1
  75. package/dist/ui/admin/AnkhAdminShell.js.map +1 -1
  76. package/dist/ui/admin/pages/AuthAdminPage.js +2 -2
  77. package/dist/ui/admin/pages/AuthAdminPage.js.map +1 -1
  78. package/dist/ui/admin/pages/ThemeAdminPage.d.ts.map +1 -1
  79. package/dist/ui/admin/pages/ThemeAdminPage.js +8 -47
  80. package/dist/ui/admin/pages/ThemeAdminPage.js.map +1 -1
  81. package/dist/ui/admin/pages/ThemeColorsAdminPage.d.ts +3 -0
  82. package/dist/ui/admin/pages/ThemeColorsAdminPage.d.ts.map +1 -0
  83. package/dist/ui/admin/pages/ThemeColorsAdminPage.js +36 -0
  84. package/dist/ui/admin/pages/ThemeColorsAdminPage.js.map +1 -0
  85. package/dist/ui/admin/pages/ThemeModeEditorSelector.d.ts +3 -0
  86. package/dist/ui/admin/pages/ThemeModeEditorSelector.d.ts.map +1 -0
  87. package/dist/ui/admin/pages/ThemeModeEditorSelector.js +30 -0
  88. package/dist/ui/admin/pages/ThemeModeEditorSelector.js.map +1 -0
  89. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.d.ts +6 -0
  90. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.d.ts.map +1 -0
  91. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.js +80 -0
  92. package/dist/ui/admin/pages/ThemeNumericTokensAdminPage.js.map +1 -0
  93. package/dist/ui/admin/pages/ThemeRecipeAdminPage.d.ts +7 -0
  94. package/dist/ui/admin/pages/ThemeRecipeAdminPage.d.ts.map +1 -0
  95. package/dist/ui/admin/pages/ThemeRecipeAdminPage.js +45 -0
  96. package/dist/ui/admin/pages/ThemeRecipeAdminPage.js.map +1 -0
  97. package/dist/ui/admin/pages/ThemeRecipeCatalog.d.ts +3 -0
  98. package/dist/ui/admin/pages/ThemeRecipeCatalog.d.ts.map +1 -0
  99. package/dist/ui/admin/pages/ThemeRecipeCatalog.js +24 -0
  100. package/dist/ui/admin/pages/ThemeRecipeCatalog.js.map +1 -0
  101. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.d.ts +11 -0
  102. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.d.ts.map +1 -0
  103. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.js +41 -0
  104. package/dist/ui/admin/pages/ThemeRecipeFieldEditor.js.map +1 -0
  105. package/dist/ui/admin/pages/ThemeTokenAction.d.ts +6 -0
  106. package/dist/ui/admin/pages/ThemeTokenAction.d.ts.map +1 -0
  107. package/dist/ui/admin/pages/ThemeTokenAction.js +20 -0
  108. package/dist/ui/admin/pages/ThemeTokenAction.js.map +1 -0
  109. package/dist/ui/admin/pages/ThemeTypographyAdminPage.d.ts +3 -0
  110. package/dist/ui/admin/pages/ThemeTypographyAdminPage.d.ts.map +1 -0
  111. package/dist/ui/admin/pages/ThemeTypographyAdminPage.js +13 -0
  112. package/dist/ui/admin/pages/ThemeTypographyAdminPage.js.map +1 -0
  113. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.d.ts +3 -0
  114. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.d.ts.map +1 -0
  115. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.js +61 -0
  116. package/dist/ui/admin/pages/ThemeTypographyHeadingEditor.js.map +1 -0
  117. package/dist/ui/admin/pages/ThemeTypographySizeEditor.d.ts +3 -0
  118. package/dist/ui/admin/pages/ThemeTypographySizeEditor.d.ts.map +1 -0
  119. package/dist/ui/admin/pages/ThemeTypographySizeEditor.js +52 -0
  120. package/dist/ui/admin/pages/ThemeTypographySizeEditor.js.map +1 -0
  121. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.d.ts +3 -0
  122. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.d.ts.map +1 -0
  123. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.js +54 -0
  124. package/dist/ui/admin/pages/ThemeTypographyWeightEditor.js.map +1 -0
  125. package/dist/ui/admin/pages/adminThemeModel.d.ts.map +1 -1
  126. package/dist/ui/admin/pages/adminThemeModel.js +1 -2
  127. package/dist/ui/admin/pages/adminThemeModel.js.map +1 -1
  128. package/dist/ui/admin/pages/themeRecipeAuthoringModel.d.ts +10 -0
  129. package/dist/ui/admin/pages/themeRecipeAuthoringModel.d.ts.map +1 -0
  130. package/dist/ui/admin/pages/themeRecipeAuthoringModel.js +20 -0
  131. package/dist/ui/admin/pages/themeRecipeAuthoringModel.js.map +1 -0
  132. package/dist/ui/admin/pages/themeRecipeTokenOptions.d.ts +15 -0
  133. package/dist/ui/admin/pages/themeRecipeTokenOptions.d.ts.map +1 -0
  134. package/dist/ui/admin/pages/themeRecipeTokenOptions.js +16 -0
  135. package/dist/ui/admin/pages/themeRecipeTokenOptions.js.map +1 -0
  136. package/dist/ui/admin/pages/themeTokenAuthoringModel.d.ts +25 -0
  137. package/dist/ui/admin/pages/themeTokenAuthoringModel.d.ts.map +1 -0
  138. package/dist/ui/admin/pages/themeTokenAuthoringModel.js +52 -0
  139. package/dist/ui/admin/pages/themeTokenAuthoringModel.js.map +1 -0
  140. package/dist/ui/admin/pages/useActiveThemeAdmin.d.ts +11 -0
  141. package/dist/ui/admin/pages/useActiveThemeAdmin.d.ts.map +1 -0
  142. package/dist/ui/admin/pages/useActiveThemeAdmin.js +21 -0
  143. package/dist/ui/admin/pages/useActiveThemeAdmin.js.map +1 -0
  144. package/package.json +5 -5
  145. package/dist/host/orchestrator/infraGenerator.d.ts +0 -35
  146. package/dist/host/orchestrator/infraGenerator.d.ts.map +0 -1
  147. package/dist/host/orchestrator/infraGenerator.js +0 -135
  148. package/dist/host/orchestrator/infraGenerator.js.map +0 -1
  149. package/dist/host/orchestrator/infraRuntime.d.ts +0 -46
  150. package/dist/host/orchestrator/infraRuntime.d.ts.map +0 -1
  151. package/dist/host/orchestrator/infraRuntime.js +0 -185
  152. package/dist/host/orchestrator/infraRuntime.js.map +0 -1
  153. package/dist/host/orchestrator/infraValidation.d.ts +0 -3
  154. package/dist/host/orchestrator/infraValidation.d.ts.map +0 -1
  155. package/dist/host/orchestrator/infraValidation.js +0 -59
  156. package/dist/host/orchestrator/infraValidation.js.map +0 -1
  157. package/dist/host/orchestrator/projectDeletion.d.ts +0 -20
  158. package/dist/host/orchestrator/projectDeletion.d.ts.map +0 -1
  159. package/dist/host/orchestrator/projectDeletion.js +0 -191
  160. package/dist/host/orchestrator/projectDeletion.js.map +0 -1
@@ -1,12 +1,10 @@
1
1
  import type { AppManifest } from '@ankhorage/contracts';
2
+ import { runProjectInfrastructureLifecycle } from '@ankhorage/infra/project';
2
3
  import type { LayoutMutation } from '../modules/layout';
3
4
  import type { ProjectTemplateSelection } from '../templateRegistry';
4
- import { runProjectInfraScript } from './infraRuntime';
5
- import { cleanupProjectGeneratedAppImage } from './projectDeletion';
6
5
  import { type ProjectSummary } from './projectStore';
7
6
  interface ProjectManagerDependencies {
8
- readonly runProjectInfraScript: typeof runProjectInfraScript;
9
- readonly cleanupProjectGeneratedAppImage: typeof cleanupProjectGeneratedAppImage;
7
+ readonly runProjectInfrastructureLifecycle: typeof runProjectInfrastructureLifecycle;
10
8
  }
11
9
  export declare class ProjectManager {
12
10
  private readonly rootPath;
@@ -21,8 +19,6 @@ export declare class ProjectManager {
21
19
  success: boolean;
22
20
  infraDestroyed: boolean;
23
21
  projectFilesDeleted: boolean;
24
- imageCleanup: import("./projectDeletion").ProjectGeneratedAppImageCleanupResult | null;
25
- warnings: string[];
26
22
  }>;
27
23
  createProject(name: string, templateSelection: ProjectTemplateSelection, onProjectCreated?: (projectId: string) => Promise<void>, options?: {
28
24
  includeStudio?: boolean;
@@ -35,15 +31,10 @@ export declare class ProjectManager {
35
31
  success: boolean;
36
32
  }>;
37
33
  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
- */
34
+ persistProjectManifest(args: {
35
+ projectId: string;
36
+ manifest: AppManifest;
37
+ }): Promise<AppManifest>;
47
38
  saveProjectManifest(args: {
48
39
  projectId: string;
49
40
  manifest: AppManifest;
@@ -52,22 +43,13 @@ export declare class ProjectManager {
52
43
  }): Promise<{
53
44
  success: boolean;
54
45
  }>;
55
- saveStudioManifest(args: {
56
- projectId: string;
57
- manifest: AppManifest;
58
- }): Promise<{
59
- success: boolean;
60
- }>;
61
- syncStudioRuntime(args: {
46
+ syncProjectRuntime(args: {
62
47
  projectId: string;
63
- manifest: AppManifest;
64
48
  mutations: LayoutMutation[];
49
+ includeStudio?: boolean;
65
50
  }): Promise<{
66
51
  success: boolean;
67
52
  }>;
68
- /**
69
- * Rebuild only the root layout file from manifest + mutations.
70
- */
71
53
  rebuildRootLayout(args: {
72
54
  projectId: string;
73
55
  mutations: LayoutMutation[];
@@ -81,8 +63,9 @@ export declare class ProjectManager {
81
63
  }): Promise<{
82
64
  success: boolean;
83
65
  }>;
84
- regenerateInfrastructure(projectId: string): Promise<import("./infraGenerator").InfraSyncResult>;
85
- getInfrastructureStatus(projectId: string): Promise<import("./infraGenerator").InfraStatusResult>;
66
+ regenerateInfrastructure(projectId: string): Promise<import("@ankhorage/infra/project").InfraSyncResult>;
67
+ getInfrastructureStatus(projectId: string): Promise<import("@ankhorage/infra/project").InfraProjectInspection>;
68
+ private destroyProjectInfrastructure;
86
69
  private writeGeneratedFiles;
87
70
  private writeText;
88
71
  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;AAExD,OAAO,EAEL,iCAAiC,EAElC,MAAM,0BAA0B,CAAC;AAWlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKnE,UAAU,0BAA0B;IAClC,QAAQ,CAAC,iCAAiC,EAAE,OAAO,iCAAiC,CAAC;CACtF;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;IAYlD,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,aAAa,CAAC,SAAS,EAAE,MAAM;;;;;IAuB/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"}
@@ -1,4 +1,5 @@
1
1
  import { resolveExpoRuntimePlan } from '@ankhorage/expo-runtime/planning';
2
+ import { inspectProjectInfrastructure, runProjectInfrastructureLifecycle, syncProjectInfrastructure, } from '@ankhorage/infra/project';
2
3
  import { promises as fs } from 'fs';
3
4
  import path from 'path';
4
5
  import { ProjectCreationValidationError, validateProjectCreationInput, } from '../../projectIdentity';
@@ -7,9 +8,6 @@ import { GeneratedAppFileGenerator } from '../layout/layoutGenerator';
7
8
  import { applySystemTemplates } from '../manifestSystem';
8
9
  import { resolveZoraExtensionsForTemplateSelection } from '../zoraExtensions';
9
10
  import { syncGeneratedRouteFiles } from './generatedRouteCleanup';
10
- import { getProjectInfrastructureStatus, syncProjectInfrastructure } from './infraGenerator';
11
- import { runProjectInfraScript } from './infraRuntime';
12
- import { cleanupProjectGeneratedAppImage } from './projectDeletion';
13
11
  import { getAppsRoot, getProjectPath } from './projectPaths';
14
12
  import { ProjectStore } from './projectStore';
15
13
  import { ProjectScaffolder } from './scaffolder';
@@ -28,67 +26,31 @@ export class ProjectManager {
28
26
  this.scaffolder = new ProjectScaffolder(rootPath);
29
27
  this.appFiles = new GeneratedAppFileGenerator();
30
28
  this.dependencies = {
31
- runProjectInfraScript,
32
- cleanupProjectGeneratedAppImage,
29
+ runProjectInfrastructureLifecycle,
33
30
  ...dependencies,
34
31
  };
35
32
  }
36
- // =========================================================================
37
- // PROJECT LIFECYCLE (PUBLIC API)
38
- // =========================================================================
39
33
  async listProjects() {
40
34
  return this.store.listProjects();
41
35
  }
42
36
  async deleteProject(projectId) {
43
37
  const projectPath = getProjectPath(this.rootPath, projectId);
44
- const warnings = [];
45
38
  let infraDestroyed = false;
46
- let imageCleanup = null;
47
39
  if (await exists(projectPath)) {
48
40
  const manifest = await this.store.readManifest(projectId);
49
- const infraStatus = await getProjectInfrastructureStatus({
41
+ const infraStatus = await inspectProjectInfrastructure({
50
42
  projectId,
51
43
  projectPath,
52
44
  manifest,
53
45
  });
54
46
  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
- }
76
- imageCleanup = await this.dependencies.cleanupProjectGeneratedAppImage({
77
- projectId,
78
- projectPath,
79
- target: infraStatus.target,
80
- });
81
- warnings.push(...imageCleanup.warnings);
47
+ await syncProjectInfrastructure({ projectId, projectPath, manifest });
48
+ await this.destroyProjectInfrastructure(projectId, projectPath, infraStatus.target);
49
+ infraDestroyed = true;
82
50
  }
83
51
  }
84
52
  await this.store.deleteProject(projectId);
85
- return {
86
- success: true,
87
- infraDestroyed,
88
- projectFilesDeleted: true,
89
- imageCleanup,
90
- warnings,
91
- };
53
+ return { success: true, infraDestroyed, projectFilesDeleted: true };
92
54
  }
93
55
  async createProject(name, templateSelection, onProjectCreated, options = {}) {
94
56
  const { includeStudio = true } = options;
@@ -108,7 +70,6 @@ export class ProjectManager {
108
70
  const templateData = this.scaffolder.getTemplate(templateSelection);
109
71
  const scaffoldManifest = applySystemTemplates(templateData);
110
72
  const zoraExtensions = resolveZoraExtensionsForTemplateSelection(templateSelection);
111
- // 1) scaffold base project
112
73
  await this.scaffolder.scaffoldProject(projectPath, name, slug, {
113
74
  includeStudio,
114
75
  authProvider: resolveGeneratedAuthProvider(scaffoldManifest),
@@ -118,105 +79,55 @@ export class ProjectManager {
118
79
  splashScreen: scaffoldManifest.splashScreen ?? null,
119
80
  zoraExtensions,
120
81
  });
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
82
  const manifest = await this.scaffolder.finalizeManifest(projectPath, templateData, name, slug, templateSelection.category);
127
83
  const runtimePlan = resolveExpoRuntimePlan(manifest);
128
- // 3) generate router files based on manifest (no module layout mutations at creation)
129
84
  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) {
85
+ await syncProjectInfrastructure({ projectId: slug, projectPath, manifest });
86
+ if (onProjectCreated)
138
87
  await onProjectCreated(slug);
139
- }
140
88
  return { success: true, id: slug, path: projectPath };
141
89
  }
142
90
  async installWorkspacePackages() {
143
91
  await runWorkspaceInstall(this.rootPath);
144
92
  return { success: true };
145
93
  }
146
- // =========================================================================
147
- // MANIFEST (PUBLIC API)
148
- // =========================================================================
149
94
  async getProjectManifest(projectId) {
150
95
  return this.store.readManifest(projectId);
151
96
  }
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 };
97
+ async persistProjectManifest(args) {
98
+ const normalizedManifest = applySystemTemplates(args.manifest);
99
+ return this.store.writeManifest(args.projectId, normalizedManifest);
164
100
  }
165
- /**
166
- * Save manifest and (optionally) regenerate router files immediately.
167
- *
168
- * We take `mutations` as input to keep module boundaries clean.
169
- */
170
101
  async saveProjectManifest(args) {
171
102
  const { projectId, manifest, mutations, regenerateRouterFiles = true } = args;
103
+ const updated = await this.persistProjectManifest({ projectId, manifest });
172
104
  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
105
  const runtimePlan = resolveExpoRuntimePlan(updated);
177
106
  if (regenerateRouterFiles) {
178
- const resolvedIncludeStudio = await this.shouldIncludeStudio(projectPath);
179
- await this.syncProjectScaffold(projectPath, projectId, updated, resolvedIncludeStudio, runtimePlan);
107
+ const includeStudio = await this.shouldIncludeStudio(projectPath);
108
+ await this.syncProjectScaffold(projectPath, projectId, updated, includeStudio, runtimePlan);
180
109
  await this.writeGeneratedFiles(projectPath, updated, mutations, {
181
- includeStudio: resolvedIncludeStudio,
110
+ includeStudio,
182
111
  runtimePlan,
183
112
  });
184
113
  }
185
- await syncProjectInfrastructure({
186
- projectId,
187
- projectPath,
188
- manifest: updated,
189
- });
190
- return { success: true };
191
- }
192
- async saveStudioManifest(args) {
193
- const { projectId, manifest } = args;
194
- const normalizedManifest = applySystemTemplates(manifest);
195
- await this.store.writeStudioManifest(projectId, normalizedManifest);
114
+ await syncProjectInfrastructure({ projectId, projectPath, manifest: updated });
196
115
  return { success: true };
197
116
  }
198
- async syncStudioRuntime(args) {
199
- const { projectId, manifest, mutations } = args;
200
- const normalizedManifest = applySystemTemplates(manifest);
117
+ async syncProjectRuntime(args) {
118
+ const { projectId, mutations, includeStudio } = args;
201
119
  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,
120
+ const manifest = await this.getProjectManifest(projectId);
121
+ const resolvedIncludeStudio = await this.shouldIncludeStudio(projectPath, includeStudio);
122
+ const runtimePlan = resolveExpoRuntimePlan(manifest);
123
+ await this.syncProjectScaffold(projectPath, projectId, manifest, resolvedIncludeStudio, runtimePlan);
124
+ await this.writeGeneratedFiles(projectPath, manifest, mutations, {
125
+ includeStudio: resolvedIncludeStudio,
208
126
  runtimePlan,
209
127
  });
210
- await syncProjectInfrastructure({
211
- projectId,
212
- projectPath,
213
- manifest: normalizedManifest,
214
- });
128
+ await syncProjectInfrastructure({ projectId, projectPath, manifest });
215
129
  return { success: true };
216
130
  }
217
- /**
218
- * Rebuild only the root layout file from manifest + mutations.
219
- */
220
131
  async rebuildRootLayout(args) {
221
132
  const { projectId, mutations } = args;
222
133
  const manifest = await this.getProjectManifest(projectId);
@@ -227,81 +138,59 @@ export class ProjectManager {
227
138
  includeStudio: await this.shouldIncludeStudio(projectPath),
228
139
  runtimePlan,
229
140
  })
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);
141
+ .filter((file) => file.path === 'src/app/_layout.tsx');
142
+ for (const file of rootOnly) {
143
+ await this.writeText(path.join(projectPath, file.path), file.content);
233
144
  }
234
145
  return { success: true };
235
146
  }
236
147
  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 };
148
+ return this.syncProjectRuntime(args);
261
149
  }
262
150
  async regenerateInfrastructure(projectId) {
263
151
  const projectPath = getProjectPath(this.rootPath, projectId);
264
152
  const manifest = await this.getProjectManifest(projectId);
265
- return syncProjectInfrastructure({
266
- projectId,
267
- projectPath,
268
- manifest,
269
- });
153
+ return syncProjectInfrastructure({ projectId, projectPath, manifest });
270
154
  }
271
155
  async getInfrastructureStatus(projectId) {
272
156
  const projectPath = getProjectPath(this.rootPath, projectId);
273
157
  const manifest = await this.getProjectManifest(projectId);
274
- return getProjectInfrastructureStatus({
275
- projectId,
276
- projectPath,
277
- manifest,
278
- });
158
+ return inspectProjectInfrastructure({ projectId, projectPath, manifest });
159
+ }
160
+ async destroyProjectInfrastructure(projectId, projectPath, target) {
161
+ try {
162
+ await this.dependencies.runProjectInfrastructureLifecycle({
163
+ projectId,
164
+ projectPath,
165
+ target,
166
+ script: 'destroy',
167
+ });
168
+ }
169
+ catch (error) {
170
+ const message = error instanceof Error ? error.message : String(error);
171
+ throw new Error(`Infrastructure teardown failed for project '${projectId}': ${message}`, {
172
+ cause: error,
173
+ });
174
+ }
279
175
  }
280
- // =========================================================================
281
- // INTERNAL
282
- // =========================================================================
283
176
  async writeGeneratedFiles(projectPath, manifest, mutations, options) {
284
177
  const generated = this.appFiles.generateFiles(projectPath, manifest, mutations, {
285
178
  includeStudio: options.includeStudio,
286
179
  runtimePlan: options.runtimePlan,
287
180
  });
288
181
  const generatedPaths = generated.map((file) => file.path);
289
- for (const f of generated) {
290
- await this.writeText(path.join(projectPath, f.path), f.content);
182
+ for (const file of generated) {
183
+ await this.writeText(path.join(projectPath, file.path), file.content);
291
184
  }
292
- await syncGeneratedRouteFiles({
293
- projectPath,
294
- generatedPaths,
295
- });
185
+ await syncGeneratedRouteFiles({ projectPath, generatedPaths });
296
186
  }
297
187
  async writeText(absPath, content) {
298
188
  await fs.mkdir(path.dirname(absPath), { recursive: true });
299
189
  await fs.writeFile(absPath, content, 'utf8');
300
190
  }
301
191
  async shouldIncludeStudio(projectPath, requested) {
302
- if (requested === false) {
192
+ if (requested === false)
303
193
  return false;
304
- }
305
194
  return requested ?? (await exists(path.join(projectPath, 'src/studio')));
306
195
  }
307
196
  async syncProjectScaffold(projectPath, projectId, manifest, includeStudio, runtimePlan) {
@@ -315,9 +204,9 @@ export class ProjectManager {
315
204
  });
316
205
  }
317
206
  }
318
- async function exists(p) {
207
+ async function exists(filePath) {
319
208
  try {
320
- await fs.access(p);
209
+ await fs.access(filePath);
321
210
  return true;
322
211
  }
323
212
  catch {
@@ -333,9 +222,8 @@ function resolveGeneratedAuthProvider(manifest) {
333
222
  }
334
223
  function resolveGeneratedStorageProvider(manifest) {
335
224
  const { auth, database, storage } = manifest.infra;
336
- if (storage?.provider !== 'auto') {
225
+ if (storage?.provider !== 'auto')
337
226
  return null;
338
- }
339
227
  const usesSupabase = auth?.provider === 'supabase' || database?.provider === 'supabase';
340
228
  return usesSupabase ? 'supabase' : null;
341
229
  }
@@ -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"}