@msn-control/liftoff 0.4.0 → 0.5.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.
- package/README.md +65 -224
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt +21 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/catalog.json +520 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/packaged/gitignore +27 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/README.md +25 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/components.json +22 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/eslint.config.js +23 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/index.html +13 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package-lock.json +6597 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package.json +60 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/public/power-apps.svg +55 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/App.tsx +17 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/assets/react.svg +1 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/mode-toggle.tsx +37 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/badge.tsx +46 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/button.tsx +60 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/calendar.tsx +211 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/card.tsx +92 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/chart.tsx +355 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/checkbox.tsx +32 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/command.tsx +184 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dialog.tsx +141 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dropdown-menu.tsx +257 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/input.tsx +21 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/label.tsx +22 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/popover.tsx +46 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/progress.tsx +29 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/select.tsx +185 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/separator.tsx +26 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/skeleton.tsx +13 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/table.tsx +114 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tabs.tsx +66 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/textarea.tsx +18 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tooltip.tsx +61 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/hooks/use-theme.ts +11 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/index.css +131 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/lib/utils.ts +6 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/main.tsx +10 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/_layout.tsx +31 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/home.tsx +59 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/not-found.tsx +14 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/query-provider.tsx +26 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/sonner-provider.tsx +23 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/theme-provider.tsx +64 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/router.tsx +24 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.app.json +34 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.json +13 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.node.json +26 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/vite.config.ts +19 -0
- package/assets/power-apps-code-app/README.md +27 -0
- package/dist/args.d.ts +33 -0
- package/dist/args.js +100 -38
- package/dist/args.js.map +1 -1
- package/dist/catalogs.d.ts +3 -1
- package/dist/catalogs.js +23 -0
- package/dist/catalogs.js.map +1 -1
- package/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/code-apps-plugin.d.ts +13 -0
- package/dist/code-apps-plugin.js +69 -0
- package/dist/code-apps-plugin.js.map +1 -0
- package/dist/commands.d.ts +4 -0
- package/dist/commands.js +669 -321
- package/dist/commands.js.map +1 -1
- package/dist/file-system.d.ts +16 -1
- package/dist/file-system.js +320 -10
- package/dist/file-system.js.map +1 -1
- package/dist/framework-adapters.d.ts +5 -2
- package/dist/framework-adapters.js +5 -2
- package/dist/framework-adapters.js.map +1 -1
- package/dist/genai-templates.d.ts +6 -6
- package/dist/genai-templates.js +0 -3
- package/dist/genai-templates.js.map +1 -1
- package/dist/interactive.d.ts +80 -6
- package/dist/interactive.js +338 -142
- package/dist/interactive.js.map +1 -1
- package/dist/migrate-plan.d.ts +4 -4
- package/dist/migrate-plan.js +1 -1
- package/dist/migrate-plan.js.map +1 -1
- package/dist/planner.d.ts +5 -0
- package/dist/planner.js +197 -53
- package/dist/planner.js.map +1 -1
- package/dist/power-apps-assets.d.ts +30 -0
- package/dist/power-apps-assets.js +131 -0
- package/dist/power-apps-assets.js.map +1 -0
- package/dist/power-apps-templates.d.ts +3 -0
- package/dist/power-apps-templates.js +140 -0
- package/dist/power-apps-templates.js.map +1 -0
- package/dist/power-apps-validation.d.ts +1 -0
- package/dist/power-apps-validation.js +79 -0
- package/dist/power-apps-validation.js.map +1 -0
- package/dist/process-runner.js +9 -6
- package/dist/process-runner.js.map +1 -1
- package/dist/project-dependencies.d.ts +7 -4
- package/dist/project-dependencies.js +16 -4
- package/dist/project-dependencies.js.map +1 -1
- package/dist/published-verifier.js +1 -1
- package/dist/published-verifier.js.map +1 -1
- package/dist/standard-templates.d.ts +4 -4
- package/dist/standard-templates.js.map +1 -1
- package/dist/templates.d.ts +2 -2
- package/dist/templates.js +196 -50
- package/dist/templates.js.map +1 -1
- package/dist/terminal.d.ts +99 -3
- package/dist/terminal.js +482 -66
- package/dist/terminal.js.map +1 -1
- package/dist/types.d.ts +73 -15
- package/dist/workstation.d.ts +10 -5
- package/dist/workstation.js +25 -10
- package/dist/workstation.js.map +1 -1
- package/docs/assets/liftoff-terminal.svg +33 -0
- package/docs/azure-deployment.md +66 -0
- package/docs/cli-reference.md +128 -0
- package/docs/configuration-and-manifests.md +102 -0
- package/docs/existing-repositories.md +87 -0
- package/docs/getting-started.md +114 -0
- package/docs/prerequisites.md +99 -0
- package/docs/project-structure.md +119 -0
- package/docs/safety-and-consent.md +98 -0
- package/docs/spec-workflows-and-agents.md +92 -0
- package/docs/troubleshooting.md +133 -0
- package/docs/workloads.md +128 -0
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-templates.js","sourceRoot":"","sources":["../src/standard-templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standard-templates.js","sourceRoot":"","sources":["../src/standard-templates.ts"],"names":[],"mappings":"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"}
|
package/dist/templates.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedArtifact, LiftoffManifest, ProjectPlan } from './types.js';
|
|
1
|
+
import type { ApiProjectPlan, GeneratedArtifact, LiftoffManifest, ProjectPlan } from './types.js';
|
|
2
2
|
export declare const AZURE_NAME_LIMITS: {
|
|
3
3
|
readonly resourceGroup: 90;
|
|
4
4
|
readonly containerRegistry: 50;
|
|
@@ -16,7 +16,7 @@ export declare const AZURE_NAME_LIMITS: {
|
|
|
16
16
|
readonly keyVault: 24;
|
|
17
17
|
};
|
|
18
18
|
export type AzureResourceNames = Record<keyof typeof AZURE_NAME_LIMITS, string>;
|
|
19
|
-
export declare function buildAzureResourceNames(plan:
|
|
19
|
+
export declare function buildAzureResourceNames(plan: ApiProjectPlan, environment: string, resourceSuffix: string): AzureResourceNames;
|
|
20
20
|
export declare function buildArtifacts(plan: ProjectPlan): GeneratedArtifact[];
|
|
21
21
|
export declare function partitionGeneratedArtifacts(artifacts: GeneratedArtifact[]): {
|
|
22
22
|
durable: GeneratedArtifact[];
|
package/dist/templates.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { addGenAiExtensionArtifacts } from './genai-templates.js';
|
|
3
|
+
import { addPowerAppsCodeAppArtifacts } from './power-apps-templates.js';
|
|
3
4
|
import { addStandardStackArtifacts, renderStandardDockerfile, renderStandardEnv } from './standard-templates.js';
|
|
4
5
|
import { liftoffVersion } from './version.js';
|
|
5
6
|
import { renderNpmLock, renderNpmPackage } from './npm-template-assets.js';
|
|
@@ -56,35 +57,28 @@ const sourceString = (value) => JSON.stringify(value);
|
|
|
56
57
|
const scriptSourceString = (value) => sourceString(value).replaceAll('<', '\\u003c');
|
|
57
58
|
const escapeHtml = (value) => value.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>').replaceAll('"', '"');
|
|
58
59
|
const genAiPattern = (plan) => {
|
|
59
|
-
if (plan.projectType.id !== 'genai' || !plan.pattern) {
|
|
60
|
-
throw new Error('GenAI template rendering requires a GenAI pattern.');
|
|
61
|
-
}
|
|
62
60
|
return plan.pattern;
|
|
63
61
|
};
|
|
64
|
-
const hasFunctionWorker = (plan) => plan.
|
|
65
|
-
const functionWorkerName = (plan) => `${
|
|
62
|
+
const hasFunctionWorker = (plan) => plan.workload === 'genai' && plan.provider.id === 'azure' && plan.pattern.worker;
|
|
63
|
+
const functionWorkerName = (plan) => `${plan.pattern.id}-worker`;
|
|
66
64
|
export function buildArtifacts(plan) {
|
|
67
65
|
const artifacts = [];
|
|
68
66
|
const add = (logicalName, category, pathParts, content) => {
|
|
69
67
|
artifacts.push({ logicalName, category, pathParts, content: ensureTrailingNewline(content) });
|
|
70
68
|
};
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
69
|
+
switch (plan.workload) {
|
|
70
|
+
case 'genai':
|
|
71
|
+
addGenAiWorkloadArtifacts(add, plan);
|
|
72
|
+
break;
|
|
73
|
+
case 'standard':
|
|
74
|
+
addStandardWorkloadArtifacts(add, plan);
|
|
75
|
+
break;
|
|
76
|
+
case 'power-apps-code-app':
|
|
77
|
+
addPowerAppsWorkloadArtifacts(add, plan);
|
|
78
|
+
break;
|
|
79
79
|
}
|
|
80
|
-
else {
|
|
81
|
-
addStandardStackArtifacts(add, plan);
|
|
82
|
-
}
|
|
83
|
-
addEnvironmentArtifacts(add, plan);
|
|
84
|
-
addDockerArtifacts(add, plan);
|
|
85
|
-
addInfrastructureArtifacts(add, plan);
|
|
86
80
|
addGovernanceArtifacts(add, plan);
|
|
87
|
-
if (plan.includeFrontend) {
|
|
81
|
+
if (plan.workload !== 'power-apps-code-app' && plan.includeFrontend) {
|
|
88
82
|
addFrontendArtifacts(add, plan);
|
|
89
83
|
}
|
|
90
84
|
const manifest = buildManifest(plan, artifacts);
|
|
@@ -96,6 +90,30 @@ export function buildArtifacts(plan) {
|
|
|
96
90
|
});
|
|
97
91
|
return artifacts;
|
|
98
92
|
}
|
|
93
|
+
function addGenAiWorkloadArtifacts(add, plan) {
|
|
94
|
+
addBaseArtifacts(add, plan);
|
|
95
|
+
addGenAiExtensionArtifacts(add, plan, {
|
|
96
|
+
backend: addBackendArtifacts,
|
|
97
|
+
database: addDatabaseArtifacts,
|
|
98
|
+
pattern: addPatternArtifacts,
|
|
99
|
+
functions: addFunctionArtifacts
|
|
100
|
+
});
|
|
101
|
+
addApiWorkloadOperations(add, plan);
|
|
102
|
+
}
|
|
103
|
+
function addStandardWorkloadArtifacts(add, plan) {
|
|
104
|
+
addBaseArtifacts(add, plan);
|
|
105
|
+
addStandardStackArtifacts(add, plan);
|
|
106
|
+
addApiWorkloadOperations(add, plan);
|
|
107
|
+
}
|
|
108
|
+
function addPowerAppsWorkloadArtifacts(add, plan) {
|
|
109
|
+
addPowerAppsCodeAppArtifacts(add, plan);
|
|
110
|
+
addPowerAppsProjectConfig(add, plan);
|
|
111
|
+
}
|
|
112
|
+
function addApiWorkloadOperations(add, plan) {
|
|
113
|
+
addEnvironmentArtifacts(add, plan);
|
|
114
|
+
addDockerArtifacts(add, plan);
|
|
115
|
+
addInfrastructureArtifacts(add, plan);
|
|
116
|
+
}
|
|
99
117
|
export function partitionGeneratedArtifacts(artifacts) {
|
|
100
118
|
const manifest = artifacts.find((artifact) => artifact.logicalName === 'manifest');
|
|
101
119
|
if (!manifest) {
|
|
@@ -111,22 +129,40 @@ export function partitionGeneratedArtifacts(artifacts) {
|
|
|
111
129
|
export function buildManifest(plan, artifacts, options = {}) {
|
|
112
130
|
const frameworkState = options.frameworkState ?? 'initialized';
|
|
113
131
|
const agents = frameworkState === 'initialized' ? plan.agents.map((agent) => agent.id) : [];
|
|
132
|
+
const workload = plan.workload === 'power-apps-code-app'
|
|
133
|
+
? {
|
|
134
|
+
kind: 'power-apps-code-app',
|
|
135
|
+
starter: plan.starter,
|
|
136
|
+
codeAppsPlugin: plan.codeAppsPlugin
|
|
137
|
+
}
|
|
138
|
+
: plan.workload === 'genai'
|
|
139
|
+
? {
|
|
140
|
+
kind: 'genai',
|
|
141
|
+
apiStack: plan.apiStack.id,
|
|
142
|
+
pattern: plan.pattern.id,
|
|
143
|
+
cloud: plan.provider.id,
|
|
144
|
+
region: plan.region.slug,
|
|
145
|
+
frontend: plan.includeFrontend,
|
|
146
|
+
environments: plan.environments.map((environment) => environment.id)
|
|
147
|
+
}
|
|
148
|
+
: {
|
|
149
|
+
kind: 'standard',
|
|
150
|
+
apiStack: plan.apiStack.id,
|
|
151
|
+
cloud: plan.provider.id,
|
|
152
|
+
region: plan.region.slug,
|
|
153
|
+
frontend: plan.includeFrontend,
|
|
154
|
+
environments: plan.environments.map((environment) => environment.id)
|
|
155
|
+
};
|
|
114
156
|
return {
|
|
115
|
-
artifactVersion:
|
|
157
|
+
artifactVersion: 4,
|
|
116
158
|
generatedBy: 'Mission Control Liftoff',
|
|
117
159
|
liftoffVersion,
|
|
118
160
|
project: {
|
|
119
161
|
name: plan.projectName,
|
|
120
|
-
|
|
121
|
-
apiStack: plan.apiStack.id,
|
|
122
|
-
...(plan.pattern ? { pattern: plan.pattern.id } : {}),
|
|
123
|
-
cloud: plan.provider.id,
|
|
124
|
-
region: plan.region.slug,
|
|
125
|
-
frontend: plan.includeFrontend,
|
|
162
|
+
workload,
|
|
126
163
|
specWorkflow: plan.specWorkflow.id,
|
|
127
164
|
agents,
|
|
128
165
|
...(frameworkState === 'initialized' && plan.defaultAgent ? { defaultAgent: plan.defaultAgent.id } : {}),
|
|
129
|
-
environments: plan.environments.map((environment) => environment.id)
|
|
130
166
|
},
|
|
131
167
|
framework: {
|
|
132
168
|
state: frameworkState,
|
|
@@ -150,7 +186,7 @@ function addBaseArtifacts(add, plan) {
|
|
|
150
186
|
projectName: plan.projectName,
|
|
151
187
|
projectType: plan.projectType.id,
|
|
152
188
|
apiStack: plan.apiStack.id,
|
|
153
|
-
...(plan.
|
|
189
|
+
...(plan.workload === 'genai' ? { pattern: plan.pattern.id } : {}),
|
|
154
190
|
cloud: plan.provider.id,
|
|
155
191
|
region: plan.region.slug,
|
|
156
192
|
includeFrontend: plan.includeFrontend,
|
|
@@ -160,7 +196,17 @@ function addBaseArtifacts(add, plan) {
|
|
|
160
196
|
...(plan.defaultAgent ? { defaultAgent: plan.defaultAgent.id } : {})
|
|
161
197
|
}, null, 2));
|
|
162
198
|
add('env-example', 'configuration', ['.env.example'], renderEnvExample(plan));
|
|
163
|
-
add('backend-dockerfile', 'runtime', ['Dockerfile'], plan.
|
|
199
|
+
add('backend-dockerfile', 'runtime', ['Dockerfile'], plan.workload === 'genai' ? renderBackendDockerfile() : renderStandardDockerfile(plan));
|
|
200
|
+
}
|
|
201
|
+
function addPowerAppsProjectConfig(add, plan) {
|
|
202
|
+
add('liftoff-config', 'project', ['liftoff.config.json'], JSON.stringify({
|
|
203
|
+
projectName: plan.projectName,
|
|
204
|
+
projectType: plan.projectType.id,
|
|
205
|
+
specWorkflow: plan.specWorkflow.id,
|
|
206
|
+
agents: plan.agents.map((agent) => agent.id),
|
|
207
|
+
...(plan.defaultAgent ? { defaultAgent: plan.defaultAgent.id } : {}),
|
|
208
|
+
codeAppsPlugin: plan.codeAppsPlugin
|
|
209
|
+
}, null, 2));
|
|
164
210
|
}
|
|
165
211
|
function addBackendArtifacts(add, plan) {
|
|
166
212
|
const routeModule = pyModule(genAiPattern(plan).id);
|
|
@@ -228,8 +274,8 @@ function addFunctionArtifacts(add, plan) {
|
|
|
228
274
|
}
|
|
229
275
|
function addEnvironmentArtifacts(add, plan) {
|
|
230
276
|
for (const environment of plan.environments) {
|
|
231
|
-
add(`environment-${environment.id}-backend`, 'environment', ['environments', environment.id, 'backend.env'], plan.
|
|
232
|
-
if (hasFunctionWorker(plan)) {
|
|
277
|
+
add(`environment-${environment.id}-backend`, 'environment', ['environments', environment.id, 'backend.env'], plan.workload === 'genai' ? renderBackendEnv(plan, environment.id) : renderStandardEnv(plan, environment.id));
|
|
278
|
+
if (plan.workload === 'genai' && hasFunctionWorker(plan)) {
|
|
233
279
|
add(`environment-${environment.id}-functions`, 'environment', ['environments', environment.id, 'functions.env'], renderFunctionsEnv(plan, environment.id));
|
|
234
280
|
}
|
|
235
281
|
}
|
|
@@ -252,6 +298,24 @@ function addInfrastructureArtifacts(add, plan) {
|
|
|
252
298
|
}
|
|
253
299
|
}
|
|
254
300
|
function addGovernanceArtifacts(add, plan) {
|
|
301
|
+
if (plan.workload === 'power-apps-code-app') {
|
|
302
|
+
if (plan.specWorkflow.id === 'openspec') {
|
|
303
|
+
const changeName = `bootstrap-${plan.safeProjectName}`;
|
|
304
|
+
add('openspec-config', 'seed', ['openspec', 'config.yaml'], renderPowerAppsOpenSpecConfig(plan));
|
|
305
|
+
add('openspec-seed-change-metadata', 'seed', ['openspec', 'changes', changeName, '.openspec.yaml'], 'schema: spec-driven');
|
|
306
|
+
add('openspec-seed-proposal', 'seed', ['openspec', 'changes', changeName, 'proposal.md'], renderPowerAppsSeedProposal(plan));
|
|
307
|
+
add('openspec-seed-design', 'seed', ['openspec', 'changes', changeName, 'design.md'], renderPowerAppsSeedDesign(plan));
|
|
308
|
+
add('openspec-seed-tasks', 'seed', ['openspec', 'changes', changeName, 'tasks.md'], renderSeedTasks());
|
|
309
|
+
add('openspec-spec-placeholder', 'seed', ['openspec', 'specs', '.gitkeep'], '');
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
add('spec-kit-constitution', 'seed', ['.specify', 'memory', 'constitution.md'], renderPowerAppsSpecKitConstitution(plan));
|
|
313
|
+
add('spec-kit-spec-template', 'framework', ['.specify', 'templates', 'spec-template.md'], renderSpecKitSpecTemplate());
|
|
314
|
+
add('spec-kit-plan-template', 'framework', ['.specify', 'templates', 'plan-template.md'], renderSpecKitPlanTemplate());
|
|
315
|
+
add('specs-placeholder', 'seed', ['specs', '.gitkeep'], '');
|
|
316
|
+
}
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
255
319
|
if (plan.specWorkflow.id === 'openspec') {
|
|
256
320
|
const changeName = `bootstrap-${plan.safeProjectName}`;
|
|
257
321
|
add('openspec-config', 'seed', ['openspec', 'config.yaml'], renderOpenSpecConfig(plan));
|
|
@@ -268,6 +332,84 @@ function addGovernanceArtifacts(add, plan) {
|
|
|
268
332
|
add('specs-placeholder', 'seed', ['specs', '.gitkeep'], '');
|
|
269
333
|
}
|
|
270
334
|
}
|
|
335
|
+
function renderPowerAppsOpenSpecConfig(plan) {
|
|
336
|
+
return `schema: spec-driven
|
|
337
|
+
context: |
|
|
338
|
+
Project: ${plan.projectName}
|
|
339
|
+
Workload: Microsoft Power Apps code app
|
|
340
|
+
Stack: React, Vite, TypeScript, Tailwind CSS, Power Apps SDK
|
|
341
|
+
Starter: ${plan.starter.repository}/${plan.starter.path}@${plan.starter.commit}
|
|
342
|
+
Runtime boundary: browser-hosted code app with connector-first data access
|
|
343
|
+
Environment binding: explicit post-scaffold Power Apps CLI action
|
|
344
|
+
rules:
|
|
345
|
+
proposal:
|
|
346
|
+
- Keep tenant, environment, connection, solution, and deployment choices explicit.
|
|
347
|
+
design:
|
|
348
|
+
- Prefer Power Platform connectors and generated service modules over custom APIs.
|
|
349
|
+
- Do not add Liftoff-owned Azure or API infrastructure unless a later change explicitly introduces it.
|
|
350
|
+
tasks:
|
|
351
|
+
- Include npm lint and build verification.
|
|
352
|
+
`;
|
|
353
|
+
}
|
|
354
|
+
function renderPowerAppsSeedProposal(plan) {
|
|
355
|
+
return `# Proposal: bootstrap-${plan.safeProjectName}
|
|
356
|
+
|
|
357
|
+
## Why
|
|
358
|
+
|
|
359
|
+
Establish the first governed feature on the generated ${plan.projectName} Power Apps code app.
|
|
360
|
+
|
|
361
|
+
## What Changes
|
|
362
|
+
|
|
363
|
+
- Define the initial React user experience and routes.
|
|
364
|
+
- Add connector-backed data access through generated service modules.
|
|
365
|
+
- Keep Power Apps environment binding, authentication, connections, and deployment explicit.
|
|
366
|
+
|
|
367
|
+
## Impact
|
|
368
|
+
|
|
369
|
+
- Affected source: \`src/\`
|
|
370
|
+
- No Liftoff-owned backend API, Docker stack, Azure resources, or \`power.config.json\`.
|
|
371
|
+
`;
|
|
372
|
+
}
|
|
373
|
+
function renderPowerAppsSeedDesign(plan) {
|
|
374
|
+
return `# Design: bootstrap-${plan.safeProjectName}
|
|
375
|
+
|
|
376
|
+
## Context
|
|
377
|
+
|
|
378
|
+
The project uses React, Vite, TypeScript, Tailwind CSS, and Microsoft's Power Apps SDK.
|
|
379
|
+
It was initialized from \`${plan.starter.path}\` at \`${plan.starter.commit}\`.
|
|
380
|
+
|
|
381
|
+
## Decisions
|
|
382
|
+
|
|
383
|
+
- Keep pages under \`src/pages\` and shared UI under \`src/components\`.
|
|
384
|
+
- Keep connector and generated service boundaries explicit under \`src\`.
|
|
385
|
+
- Use TanStack Query for server state and Zustand only for local client state.
|
|
386
|
+
- Bind to a tenant and environment only through Microsoft's Power Apps CLI.
|
|
387
|
+
`;
|
|
388
|
+
}
|
|
389
|
+
function renderPowerAppsSpecKitConstitution(plan) {
|
|
390
|
+
return `# ${plan.projectName} Constitution
|
|
391
|
+
|
|
392
|
+
## I. Power Apps workload boundary
|
|
393
|
+
|
|
394
|
+
The application MUST remain a Power Apps code app using React, Vite, TypeScript, Tailwind CSS,
|
|
395
|
+
the Power Apps SDK, and the Power Apps Vite plugin. Tenant and environment binding MUST remain
|
|
396
|
+
an explicit developer action.
|
|
397
|
+
|
|
398
|
+
## II. Connector-first integration
|
|
399
|
+
|
|
400
|
+
Features MUST prefer Power Platform connectors and generated service modules. A custom API or
|
|
401
|
+
Azure resource requires an explicit specification and MUST NOT be inferred from this scaffold.
|
|
402
|
+
|
|
403
|
+
## III. Project structure
|
|
404
|
+
|
|
405
|
+
Pages belong under \`src/pages\`, shared UI under \`src/components\`, and reusable providers or
|
|
406
|
+
connector boundaries under named \`src\` modules. \`power.config.json\` is never fabricated.
|
|
407
|
+
|
|
408
|
+
## IV. Quality gates
|
|
409
|
+
|
|
410
|
+
Every change MUST pass the applicable npm lint and build checks plus \`liftoff validate\`.
|
|
411
|
+
`;
|
|
412
|
+
}
|
|
271
413
|
function addFrontendArtifacts(add, plan) {
|
|
272
414
|
add('frontend-package', 'frontend', ['frontend', 'package.json'], renderFrontendPackage(plan));
|
|
273
415
|
add('frontend-lock', 'frontend', ['frontend', 'package-lock.json'], renderNpmLock('frontend', `${plan.safeProjectName}-frontend`));
|
|
@@ -282,7 +424,7 @@ function addFrontendArtifacts(add, plan) {
|
|
|
282
424
|
}
|
|
283
425
|
function renderDirectBuildAndTestGuide(plan) {
|
|
284
426
|
let backendCommands;
|
|
285
|
-
if (plan.
|
|
427
|
+
if (plan.workload === 'genai' || plan.apiStack.id === 'python-fastapi') {
|
|
286
428
|
backendCommands = `# macOS and Linux
|
|
287
429
|
python3 -m venv .venv
|
|
288
430
|
.venv/bin/python -m pip install -e "./backend[test]"
|
|
@@ -310,7 +452,7 @@ npm ci
|
|
|
310
452
|
npm run build
|
|
311
453
|
\`\`\`
|
|
312
454
|
` : '';
|
|
313
|
-
const windowsPythonCommands = plan.
|
|
455
|
+
const windowsPythonCommands = plan.workload === 'genai' || plan.apiStack.id === 'python-fastapi'
|
|
314
456
|
? `
|
|
315
457
|
|
|
316
458
|
Equivalent Windows dependency commands:
|
|
@@ -321,7 +463,7 @@ py -3 -m venv .venv
|
|
|
321
463
|
\`\`\`
|
|
322
464
|
`
|
|
323
465
|
: '';
|
|
324
|
-
const functionCommands = hasFunctionWorker(plan) ? `
|
|
466
|
+
const functionCommands = plan.workload === 'genai' && hasFunctionWorker(plan) ? `
|
|
325
467
|
|
|
326
468
|
Run the Function worker unit tests from the same Python virtual environment:
|
|
327
469
|
|
|
@@ -391,7 +533,7 @@ function renderGeneratedConfigurationGuide(plan) {
|
|
|
391
533
|
const frontendConfiguration = plan.includeFrontend
|
|
392
534
|
? '\n- `frontend/.env` configures `VITE_API_BASE_URL`; the production build does not contact the backend.'
|
|
393
535
|
: '';
|
|
394
|
-
if (plan.
|
|
536
|
+
if (plan.workload === 'standard') {
|
|
395
537
|
return `## Runtime Configuration
|
|
396
538
|
|
|
397
539
|
Copy \`.env.example\` to \`.env\` before running outside Docker Compose. The backend requires \`DATABASE_URL\` and \`REDIS_URL\`. \`CORS_ALLOWED_ORIGINS\` is a comma-separated allowlist and defaults to the local frontend at \`http://localhost:5173\`.${frontendConfiguration}
|
|
@@ -417,7 +559,7 @@ Liftoff rejects malformed, traversal, absolute, drive-qualified, UNC, separator-
|
|
|
417
559
|
`;
|
|
418
560
|
}
|
|
419
561
|
function renderRootReadme(plan) {
|
|
420
|
-
if (plan.
|
|
562
|
+
if (plan.workload === 'standard') {
|
|
421
563
|
return `# ${plan.projectName}
|
|
422
564
|
|
|
423
565
|
Generated by Mission Control Liftoff.
|
|
@@ -524,7 +666,7 @@ migration/legacy/
|
|
|
524
666
|
`;
|
|
525
667
|
}
|
|
526
668
|
function renderEnvExample(plan) {
|
|
527
|
-
if (plan.
|
|
669
|
+
if (plan.workload === 'standard') {
|
|
528
670
|
return renderStandardEnv(plan);
|
|
529
671
|
}
|
|
530
672
|
const pattern = genAiPattern(plan);
|
|
@@ -1717,7 +1859,7 @@ function renderDockerCompose(plan) {
|
|
|
1717
1859
|
depends_on:
|
|
1718
1860
|
- backend
|
|
1719
1861
|
` : '';
|
|
1720
|
-
const postgresImage = plan.
|
|
1862
|
+
const postgresImage = plan.workload === 'genai' ? 'pgvector/pgvector:pg16' : 'postgres:16-alpine';
|
|
1721
1863
|
return `services:
|
|
1722
1864
|
backend:
|
|
1723
1865
|
build:
|
|
@@ -1761,7 +1903,7 @@ ${frontendService}
|
|
|
1761
1903
|
ports:
|
|
1762
1904
|
- "8025:8025"
|
|
1763
1905
|
|
|
1764
|
-
${plan.
|
|
1906
|
+
${plan.workload === 'genai' ? ` langfuse:
|
|
1765
1907
|
image: langfuse/langfuse:2
|
|
1766
1908
|
profiles:
|
|
1767
1909
|
- observability
|
|
@@ -1861,12 +2003,14 @@ ${functionVariables}
|
|
|
1861
2003
|
`;
|
|
1862
2004
|
}
|
|
1863
2005
|
function renderTofuMain(plan) {
|
|
1864
|
-
const functionPattern =
|
|
2006
|
+
const functionPattern = plan.workload === 'genai' && hasFunctionWorker(plan)
|
|
2007
|
+
? genAiPattern(plan)
|
|
2008
|
+
: undefined;
|
|
1865
2009
|
const names = buildAzureResourceNames(plan, '${var.environment}', '${var.resource_suffix}');
|
|
1866
2010
|
const queueName = hasFunctionWorker(plan)
|
|
1867
2011
|
? 'var.function_worker_queue_name'
|
|
1868
2012
|
: JSON.stringify(DEFAULT_FUNCTION_WORKER_QUEUE_NAME);
|
|
1869
|
-
const projectIdentityEnv = plan.
|
|
2013
|
+
const projectIdentityEnv = plan.workload === 'genai' ? `
|
|
1870
2014
|
env {
|
|
1871
2015
|
name = "GENAI_PATTERN"
|
|
1872
2016
|
value = "${genAiPattern(plan).id}"
|
|
@@ -2214,7 +2358,7 @@ function renderTofuRemoteStateExample() {
|
|
|
2214
2358
|
}
|
|
2215
2359
|
function renderTofuReadme(plan) {
|
|
2216
2360
|
const env = plan.environments[0]?.id ?? 'dev';
|
|
2217
|
-
const functionSection = hasFunctionWorker(plan) ? `
|
|
2361
|
+
const functionSection = plan.workload === 'genai' && hasFunctionWorker(plan) ? `
|
|
2218
2362
|
## Azure Functions Worker
|
|
2219
2363
|
|
|
2220
2364
|
This project includes an Azure Functions worker under \`functions/${functionWorkerName(plan)}\`. The OpenTofu configuration attaches one user-assigned identity, grants its principal the Service Bus Data Receiver role, and selects it through \`ServiceBusConnection__clientId\` plus \`ServiceBusConnection__fullyQualifiedNamespace\`. \`function_worker_queue_name\` provisions the queue, configures \`SERVICEBUS_QUEUE_NAME\`, and drives the worker queue output. Function host storage uses the complete key-backed \`AzureWebJobsStorage\` connection setting.
|
|
@@ -2283,7 +2427,7 @@ function renderTofuTfvars(plan, environment) {
|
|
|
2283
2427
|
}
|
|
2284
2428
|
function renderOpenSpecConfig(plan) {
|
|
2285
2429
|
const frontendRule = plan.includeFrontend ? '\n - Keep frontend code under frontend.' : '';
|
|
2286
|
-
if (plan.
|
|
2430
|
+
if (plan.workload === 'standard') {
|
|
2287
2431
|
const backendRule = plan.apiStack.id === 'python-fastapi'
|
|
2288
2432
|
? 'Keep backend API code under backend/apis.'
|
|
2289
2433
|
: plan.apiStack.id === 'node-fastify'
|
|
@@ -2358,7 +2502,7 @@ ${functionsRule}
|
|
|
2358
2502
|
`;
|
|
2359
2503
|
}
|
|
2360
2504
|
function renderSeedProposal(plan) {
|
|
2361
|
-
if (plan.
|
|
2505
|
+
if (plan.workload === 'standard') {
|
|
2362
2506
|
return `## Why
|
|
2363
2507
|
|
|
2364
2508
|
Bootstrap the generated ${plan.apiStack.label} standard application baseline created by Mission Control Liftoff.
|
|
@@ -2411,7 +2555,7 @@ ${functionsChange}
|
|
|
2411
2555
|
`;
|
|
2412
2556
|
}
|
|
2413
2557
|
function renderSeedDesign(plan) {
|
|
2414
|
-
if (plan.
|
|
2558
|
+
if (plan.workload === 'standard') {
|
|
2415
2559
|
return `## Context
|
|
2416
2560
|
|
|
2417
2561
|
This standard project was generated with Liftoff using ${plan.apiStack.label}, Azure, OpenTofu, and ${plan.specWorkflow.label}.
|
|
@@ -2475,7 +2619,7 @@ function renderSeedTasks() {
|
|
|
2475
2619
|
`;
|
|
2476
2620
|
}
|
|
2477
2621
|
function renderSpecKitConstitution(plan) {
|
|
2478
|
-
if (plan.
|
|
2622
|
+
if (plan.workload === 'standard') {
|
|
2479
2623
|
const backendLayout = plan.apiStack.id === 'python-fastapi'
|
|
2480
2624
|
? 'backend/apis'
|
|
2481
2625
|
: plan.apiStack.id === 'node-fastify' ? 'backend/src' : 'backend/cmd/api and backend/internal';
|
|
@@ -2497,7 +2641,9 @@ Projects MUST include Docker Compose for local development with PostgreSQL, Redi
|
|
|
2497
2641
|
Services MUST use structured logging and environment-specific configuration for ${plan.environments.map((environment) => environment.id).join(', ')}.
|
|
2498
2642
|
`;
|
|
2499
2643
|
}
|
|
2500
|
-
const functionsLayout =
|
|
2644
|
+
const functionsLayout = plan.workload === 'genai' && hasFunctionWorker(plan)
|
|
2645
|
+
? ` Azure Functions trigger adapters live under functions/${functionWorkerName(plan)} and call shared orchestration from backend/orchestration.`
|
|
2646
|
+
: '';
|
|
2501
2647
|
return `# Mission Control Liftoff Constitution
|
|
2502
2648
|
|
|
2503
2649
|
## Principle 1: Approved Application Stack
|
|
@@ -2551,8 +2697,8 @@ createApp(App).mount('#app');
|
|
|
2551
2697
|
`;
|
|
2552
2698
|
}
|
|
2553
2699
|
function renderFrontendApp(plan) {
|
|
2554
|
-
const descriptor = plan.
|
|
2555
|
-
const apiContract = plan.
|
|
2700
|
+
const descriptor = plan.workload === 'genai' ? `${genAiPattern(plan).label} starter` : `${plan.apiStack.label} starter`;
|
|
2701
|
+
const apiContract = plan.workload === 'standard'
|
|
2556
2702
|
? { route: '/api', method: 'GET', bodyField: '', queryParameter: '', requiresInput: false }
|
|
2557
2703
|
: genAiPattern(plan).id === 'rag'
|
|
2558
2704
|
? { route: `${genAiPattern(plan).routePrefix}/query`, method: 'POST', bodyField: 'question', queryParameter: '', requiresInput: true }
|