@msn-control/liftoff 0.1.1 → 0.2.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/dist/templates.js CHANGED
@@ -1,5 +1,10 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { liftoffVersion } from './version.js';
3
+ const contentHash = (content) => `sha256:${createHash('sha256').update(content, 'utf8').digest('hex')}`;
1
4
  const pyModule = (value) => value.replace(/-/g, '_');
2
5
  const titleCase = (value) => value.replace(/(^|[-_\s])([a-z])/g, (_match, prefix, letter) => `${prefix ? ' ' : ''}${letter.toUpperCase()}`).trim();
6
+ const hasFunctionWorker = (plan) => plan.provider.id === 'azure' && plan.pattern.worker;
7
+ const functionWorkerName = (plan) => `${plan.pattern.id}-worker`;
3
8
  export function buildArtifacts(plan) {
4
9
  const artifacts = [];
5
10
  const add = (logicalName, category, pathParts, content) => {
@@ -9,6 +14,7 @@ export function buildArtifacts(plan) {
9
14
  addBackendArtifacts(add, plan);
10
15
  addDatabaseArtifacts(add, plan);
11
16
  addPatternArtifacts(add, plan);
17
+ addFunctionArtifacts(add, plan);
12
18
  addEnvironmentArtifacts(add, plan);
13
19
  addDockerArtifacts(add, plan);
14
20
  addInfrastructureArtifacts(add, plan);
@@ -27,8 +33,9 @@ export function buildArtifacts(plan) {
27
33
  }
28
34
  export function buildManifest(plan, artifacts) {
29
35
  return {
30
- artifactVersion: 1,
36
+ artifactVersion: 2,
31
37
  generatedBy: 'Mission Control Liftoff',
38
+ liftoffVersion,
32
39
  project: {
33
40
  name: plan.projectName,
34
41
  pattern: plan.pattern.id,
@@ -41,7 +48,8 @@ export function buildManifest(plan, artifacts) {
41
48
  artifacts: artifacts.map((artifact) => ({
42
49
  logicalName: artifact.logicalName,
43
50
  category: artifact.category,
44
- pathParts: artifact.pathParts
51
+ pathParts: artifact.pathParts,
52
+ contentHash: contentHash(artifact.content)
45
53
  }))
46
54
  };
47
55
  }
@@ -104,9 +112,28 @@ function addPatternArtifacts(add, plan) {
104
112
  add('fine-tuned-eval-dataset', 'pattern', ['backend', 'evaluation', 'datasets', 'sample.jsonl'], '{"input":"Example request","expected":"Expected response placeholder"}');
105
113
  }
106
114
  }
115
+ function addFunctionArtifacts(add, plan) {
116
+ if (!hasFunctionWorker(plan)) {
117
+ return;
118
+ }
119
+ const workerName = functionWorkerName(plan);
120
+ const workerBase = ['functions', workerName];
121
+ add('functions-readme', 'functions', ['functions', 'README.md'], renderFunctionsReadme());
122
+ add('function-worker-readme', 'functions', [...workerBase, 'README.md'], renderFunctionWorkerReadme(plan));
123
+ add('function-worker-host', 'functions', [...workerBase, 'host.json'], renderFunctionHostJson());
124
+ add('function-worker-local-settings', 'functions', [...workerBase, 'local.settings.example.json'], renderFunctionLocalSettings(plan));
125
+ add('function-worker-requirements', 'functions', [...workerBase, 'requirements.txt'], renderFunctionRequirements());
126
+ add('function-worker-app', 'functions', [...workerBase, 'function_app.py'], renderFunctionApp(plan));
127
+ add('function-worker-test', 'functions-test', [...workerBase, 'tests', 'test_function_app.py'], renderFunctionTest());
128
+ add('function-worker-funcignore', 'functions', [...workerBase, '.funcignore'], renderFunctionFuncIgnore());
129
+ add('function-worker-gitignore', 'functions', [...workerBase, '.gitignore'], renderFunctionGitIgnore());
130
+ }
107
131
  function addEnvironmentArtifacts(add, plan) {
108
132
  for (const environment of plan.environments) {
109
133
  add(`environment-${environment.id}-backend`, 'environment', ['environments', environment.id, 'backend.env'], renderBackendEnv(plan, environment.id));
134
+ if (hasFunctionWorker(plan)) {
135
+ add(`environment-${environment.id}-functions`, 'environment', ['environments', environment.id, 'functions.env'], renderFunctionsEnv(plan, environment.id));
136
+ }
110
137
  }
111
138
  }
112
139
  function addDockerArtifacts(add, plan) {
@@ -154,6 +181,13 @@ function addFrontendArtifacts(add, plan) {
154
181
  add('frontend-dockerfile', 'frontend', ['frontend', 'Dockerfile'], renderFrontendDockerfile());
155
182
  }
156
183
  function renderRootReadme(plan) {
184
+ const functionsStackLine = hasFunctionWorker(plan) ? `- Azure Functions worker: Python v2 Service Bus trigger under \`functions/${functionWorkerName(plan)}\`
185
+ ` : '';
186
+ const functionsSection = hasFunctionWorker(plan) ? `
187
+ ## Azure Functions Worker
188
+
189
+ Azure Functions trigger adapters live under \`functions/${functionWorkerName(plan)}\`. Keep reusable GenAI orchestration under \`backend/orchestration\`; \`backend/workers\` remains the place for backend-adjacent or containerized worker code.
190
+ ` : '';
157
191
  return `# ${plan.projectName}
158
192
 
159
193
  Generated by Mission Control Liftoff.
@@ -168,6 +202,7 @@ Generated by Mission Control Liftoff.
168
202
  - Cache and local messaging: Redis
169
203
  - Observability: Langfuse
170
204
  - Local development: Docker Compose
205
+ ${functionsStackLine}
171
206
  ${plan.includeFrontend ? '- Frontend: Vue 3 with Tailwind\n' : ''}
172
207
  ## Local Development
173
208
 
@@ -190,6 +225,7 @@ tofu apply -var-file=environments/dev.tfvars
190
225
  ## Spec-Driven Workflow
191
226
 
192
227
  Selected workflow: ${plan.specWorkflow.label}.
228
+ ${functionsSection}
193
229
  `;
194
230
  }
195
231
  function renderGeneratedGitignore() {
@@ -199,6 +235,7 @@ __pycache__/
199
235
  node_modules/
200
236
  dist/
201
237
  .env
238
+ migration/legacy/
202
239
  *.tfstate
203
240
  *.tfstate.*
204
241
  .terraform/
@@ -594,6 +631,123 @@ function renderPatternWorker(plan) {
594
631
  return None
595
632
  `;
596
633
  }
634
+ function renderFunctionsReadme() {
635
+ return `# Azure Functions Workers
636
+
637
+ Azure Functions trigger adapters live under \`functions/<worker-name>\`.
638
+
639
+ Keep reusable GenAI orchestration, model configuration, prompt handling, and domain logic under \`backend/orchestration\`. Use \`backend/workers\` for backend-adjacent or containerized workers; use this folder for Azure Functions runtime files such as \`host.json\`, trigger bindings, local settings, and Function app tests.
640
+ `;
641
+ }
642
+ function renderFunctionWorkerReadme(plan) {
643
+ const workerName = functionWorkerName(plan);
644
+ return `# ${workerName}
645
+
646
+ Azure Functions worker scaffold for ${plan.pattern.label}.
647
+
648
+ This Function app uses the Python v2 decorator programming model and a Service Bus queue trigger. The trigger adapter should stay thin: decode the message, validate the envelope, and call shared code from \`backend/orchestration\` after that shared code is packaged with the Function app.
649
+
650
+ ## Local Development
651
+
652
+ \`\`\`bash
653
+ python -m venv .venv
654
+ source .venv/bin/activate
655
+ pip install -r requirements.txt
656
+ cp local.settings.example.json local.settings.json
657
+ func start
658
+ \`\`\`
659
+
660
+ On Windows, activate the virtual environment with \`.venv\\Scripts\\activate\`.
661
+ `;
662
+ }
663
+ function renderFunctionHostJson() {
664
+ return JSON.stringify({
665
+ version: '2.0',
666
+ extensionBundle: {
667
+ id: 'Microsoft.Azure.Functions.ExtensionBundle',
668
+ version: '[4.*, 5.0.0)'
669
+ }
670
+ }, null, 2);
671
+ }
672
+ function renderFunctionLocalSettings(plan) {
673
+ return JSON.stringify({
674
+ IsEncrypted: false,
675
+ Values: {
676
+ AzureWebJobsStorage: 'UseDevelopmentStorage=true',
677
+ FUNCTIONS_WORKER_RUNTIME: 'python',
678
+ SERVICEBUS_QUEUE_NAME: 'events',
679
+ ServiceBusConnection__fullyQualifiedNamespace: '<service-bus-namespace>.servicebus.windows.net',
680
+ GENAI_PATTERN: plan.pattern.id,
681
+ SHARED_ORCHESTRATION_ROOT: '../../backend'
682
+ }
683
+ }, null, 2);
684
+ }
685
+ function renderFunctionRequirements() {
686
+ return `azure-functions>=1.21.0
687
+ pytest>=8.2
688
+ `;
689
+ }
690
+ function renderFunctionApp(plan) {
691
+ const moduleName = pyModule(plan.pattern.id);
692
+ return `import json
693
+ import logging
694
+
695
+ import azure.functions as func
696
+
697
+
698
+ app = func.FunctionApp()
699
+
700
+
701
+ def decode_message_payload(body: str) -> dict:
702
+ try:
703
+ value = json.loads(body)
704
+ except json.JSONDecodeError:
705
+ return {"raw": body}
706
+ if isinstance(value, dict):
707
+ return value
708
+ return {"value": value}
709
+
710
+
711
+ @app.service_bus_queue_trigger(
712
+ arg_name="message",
713
+ queue_name="%SERVICEBUS_QUEUE_NAME%",
714
+ connection="ServiceBusConnection",
715
+ )
716
+ def process_${moduleName}_work(message: func.ServiceBusMessage) -> None:
717
+ payload = decode_message_payload(message.get_body().decode("utf-8"))
718
+ logging.info("Received ${plan.pattern.id} worker message with keys: %s", sorted(payload.keys()))
719
+ # Keep this adapter thin; call backend.orchestration code from packaged shared modules.
720
+ `;
721
+ }
722
+ function renderFunctionTest() {
723
+ return `from function_app import decode_message_payload
724
+
725
+
726
+ def test_decode_message_payload_for_json_object():
727
+ assert decode_message_payload('{"source_uri":"az://documents/example.pdf"}') == {
728
+ "source_uri": "az://documents/example.pdf"
729
+ }
730
+
731
+
732
+ def test_decode_message_payload_for_plain_text():
733
+ assert decode_message_payload("plain text") == {"raw": "plain text"}
734
+ `;
735
+ }
736
+ function renderFunctionFuncIgnore() {
737
+ return `.venv/
738
+ __pycache__/
739
+ .pytest_cache/
740
+ local.settings.json
741
+ tests/
742
+ `;
743
+ }
744
+ function renderFunctionGitIgnore() {
745
+ return `.venv/
746
+ __pycache__/
747
+ .pytest_cache/
748
+ local.settings.json
749
+ `;
750
+ }
597
751
  function renderBackendEnv(plan, environment) {
598
752
  const transport = environment === 'dev' ? 'redis-streams' : 'azure-service-bus';
599
753
  return `APP_ENV=${environment}
@@ -608,6 +762,17 @@ BLOB_ENDPOINT=
608
762
  LANGFUSE_HOST=
609
763
  `;
610
764
  }
765
+ function renderFunctionsEnv(plan, environment) {
766
+ return `APP_ENV=${environment}
767
+ APP_NAME=${plan.safeProjectName}
768
+ GENAI_PATTERN=${plan.pattern.id}
769
+ FUNCTIONS_WORKER_RUNTIME=python
770
+ SERVICEBUS_QUEUE_NAME=events
771
+ ServiceBusConnection__fullyQualifiedNamespace=<service-bus-namespace>.servicebus.windows.net
772
+ AzureWebJobsStorage__accountName=<storage-account-name>
773
+ SHARED_ORCHESTRATION_ROOT=../../backend
774
+ `;
775
+ }
611
776
  function renderDockerCompose(plan) {
612
777
  const frontendService = plan.includeFrontend ? `
613
778
  frontend:
@@ -689,6 +854,19 @@ function renderTofuProviders() {
689
854
  `;
690
855
  }
691
856
  function renderTofuVariables(plan) {
857
+ const functionVariables = hasFunctionWorker(plan) ? `
858
+ variable "function_worker_queue_name" {
859
+ type = string
860
+ default = "events"
861
+ description = "Service Bus queue consumed by the generated Azure Functions worker."
862
+ }
863
+
864
+ variable "functions_python_version" {
865
+ type = string
866
+ default = "3.12"
867
+ description = "Python runtime version for the generated Azure Functions worker."
868
+ }
869
+ ` : '';
692
870
  return `variable "environment" {
693
871
  type = string
694
872
  description = "Deployment environment name."
@@ -716,6 +894,7 @@ variable "enable_private_networking" {
716
894
  default = false
717
895
  description = "Enable production-oriented private-networking-ready settings."
718
896
  }
897
+ ${functionVariables}
719
898
  `;
720
899
  }
721
900
  function renderTofuMain(plan) {
@@ -744,6 +923,58 @@ resource "azurerm_container_app" "frontend" {
744
923
  }
745
924
  }
746
925
  }
926
+ ` : '';
927
+ const functionWorker = hasFunctionWorker(plan) ? `
928
+ resource "azurerm_service_plan" "functions" {
929
+ name = "asp-\${local.name_prefix}-functions"
930
+ resource_group_name = azurerm_resource_group.main.name
931
+ location = azurerm_resource_group.main.location
932
+ os_type = "Linux"
933
+ sku_name = "Y1"
934
+ }
935
+
936
+ resource "azurerm_linux_function_app" "worker" {
937
+ name = "func-${plan.safeProjectName}-\${var.environment}-\${var.resource_suffix}"
938
+ resource_group_name = azurerm_resource_group.main.name
939
+ location = azurerm_resource_group.main.location
940
+ service_plan_id = azurerm_service_plan.functions.id
941
+ storage_account_name = azurerm_storage_account.main.name
942
+ storage_account_access_key = azurerm_storage_account.main.primary_access_key
943
+
944
+ identity {
945
+ type = "UserAssigned"
946
+ identity_ids = [azurerm_user_assigned_identity.app.id]
947
+ }
948
+
949
+ site_config {
950
+ application_stack {
951
+ python_version = var.functions_python_version
952
+ }
953
+ }
954
+
955
+ app_settings = {
956
+ APP_ENV = var.environment
957
+ APP_NAME = "${plan.safeProjectName}"
958
+ GENAI_PATTERN = "${plan.pattern.id}"
959
+ FUNCTIONS_WORKER_RUNTIME = "python"
960
+ SERVICEBUS_QUEUE_NAME = var.function_worker_queue_name
961
+ ServiceBusConnection__fullyQualifiedNamespace = "\${azurerm_servicebus_namespace.main.name}.servicebus.windows.net"
962
+ AzureWebJobsStorage__accountName = azurerm_storage_account.main.name
963
+ SHARED_ORCHESTRATION_ROOT = "../../backend"
964
+ }
965
+ }
966
+
967
+ resource "azurerm_role_assignment" "function_servicebus_receiver" {
968
+ scope = azurerm_servicebus_namespace.main.id
969
+ role_definition_name = "Azure Service Bus Data Receiver"
970
+ principal_id = azurerm_user_assigned_identity.app.principal_id
971
+ }
972
+
973
+ resource "azurerm_role_assignment" "function_storage_blob_contributor" {
974
+ scope = azurerm_storage_account.main.id
975
+ role_definition_name = "Storage Blob Data Contributor"
976
+ principal_id = azurerm_user_assigned_identity.app.principal_id
977
+ }
747
978
  ` : '';
748
979
  return `locals {
749
980
  name_prefix = "${plan.safeProjectName}-\${var.environment}"
@@ -849,6 +1080,7 @@ resource "azurerm_servicebus_queue" "events" {
849
1080
  name = "events"
850
1081
  namespace_id = azurerm_servicebus_namespace.main.id
851
1082
  }
1083
+ ${functionWorker}
852
1084
 
853
1085
  resource "azurerm_communication_service" "main" {
854
1086
  name = "acs-\${local.name_prefix}"
@@ -868,6 +1100,15 @@ data "azurerm_client_config" "current" {}
868
1100
  `;
869
1101
  }
870
1102
  function renderTofuOutputs(plan) {
1103
+ const functionOutputs = hasFunctionWorker(plan) ? `
1104
+ output "function_app_name" {
1105
+ value = azurerm_linux_function_app.worker.name
1106
+ }
1107
+
1108
+ output "function_worker_queue_name" {
1109
+ value = azurerm_servicebus_queue.events.name
1110
+ }
1111
+ ` : '';
871
1112
  return `output "backend_url" {
872
1113
  value = azurerm_container_app.backend.ingress[0].fqdn
873
1114
  }
@@ -875,7 +1116,7 @@ function renderTofuOutputs(plan) {
875
1116
  ${plan.includeFrontend ? `output "frontend_url" {
876
1117
  value = azurerm_container_app.frontend.ingress[0].fqdn
877
1118
  }
878
- ` : ''}output "container_registry" {
1119
+ ` : ''}${functionOutputs}output "container_registry" {
879
1120
  value = azurerm_container_registry.main.login_server
880
1121
  }
881
1122
  `;
@@ -899,6 +1140,11 @@ function renderTofuRemoteStateExample() {
899
1140
  }
900
1141
  function renderTofuReadme(plan) {
901
1142
  const env = plan.environments[0]?.id ?? 'dev';
1143
+ const functionSection = hasFunctionWorker(plan) ? `
1144
+ ## Azure Functions Worker
1145
+
1146
+ This project includes an Azure Functions worker under \`functions/${functionWorkerName(plan)}\`. The OpenTofu configuration provisions Function app hosting, app settings, managed identity access to Service Bus, and worker outputs for the selected environments.
1147
+ ` : '';
902
1148
  return `# Azure OpenTofu
903
1149
 
904
1150
  Azure is the complete V1 provider for this Liftoff project.
@@ -911,17 +1157,27 @@ tofu output
911
1157
  \`\`\`
912
1158
 
913
1159
  Local OpenTofu state is generated by default. Use \`backend.remote.example.tf\` as the starting point for team remote state.
1160
+ ${functionSection}
914
1161
  `;
915
1162
  }
916
1163
  function renderTofuTfvars(plan, environment) {
1164
+ const functionValues = hasFunctionWorker(plan) ? `function_worker_queue_name = "events"
1165
+ functions_python_version = "3.12"
1166
+ ` : '';
917
1167
  return `environment = "${environment}"
918
1168
  location = "${plan.region.slug}"
919
1169
  resource_suffix = "${plan.safeProjectName.replace(/-/g, '')}${environment}"
920
1170
  enable_private_networking = ${environment === 'prod' ? 'true' : 'false'}
1171
+ ${functionValues}
921
1172
  `;
922
1173
  }
923
1174
  function renderOpenSpecConfig(plan) {
924
1175
  const frontendRule = plan.includeFrontend ? '\n - Keep frontend code under frontend.' : '';
1176
+ const functionsContext = hasFunctionWorker(plan) ? `
1177
+ Azure Functions worker: functions/${functionWorkerName(plan)}.` : '';
1178
+ const functionsRule = hasFunctionWorker(plan) ? `
1179
+ - Keep Azure Functions trigger adapters under functions/${functionWorkerName(plan)}.
1180
+ - Keep reusable GenAI orchestration under backend/orchestration.` : '';
925
1181
  return `schema: spec-driven
926
1182
 
927
1183
  context: |
@@ -936,6 +1192,7 @@ context: |
936
1192
  Cache and local messaging: Redis.
937
1193
  Observability: Langfuse.
938
1194
  Environments: ${plan.environments.map((environment) => environment.id).join(', ')}.
1195
+ ${functionsContext}
939
1196
 
940
1197
  rules:
941
1198
  specs:
@@ -946,6 +1203,7 @@ rules:
946
1203
  - Use Pydantic settings models for runtime configuration.
947
1204
  - Use OpenTofu for infrastructure changes.${frontendRule}
948
1205
  - Keep backend API code under backend/apis.
1206
+ ${functionsRule}
949
1207
  - Keep database artifacts under database.
950
1208
  tasks:
951
1209
  - Include local Docker Compose verification.
@@ -953,6 +1211,7 @@ rules:
953
1211
  `;
954
1212
  }
955
1213
  function renderSeedProposal(plan) {
1214
+ const functionsChange = hasFunctionWorker(plan) ? '\n- Establish Azure Functions worker trigger adapters for event-driven processing.' : '';
956
1215
  return `## Why
957
1216
 
958
1217
  Bootstrap the generated ${plan.pattern.label} application baseline created by Mission Control Liftoff.
@@ -961,6 +1220,7 @@ Bootstrap the generated ${plan.pattern.label} application baseline created by Mi
961
1220
 
962
1221
  - Establish the approved backend, infrastructure, local development, and governance baseline.
963
1222
  - Capture follow-up product requirements through spec-driven changes.
1223
+ ${functionsChange}
964
1224
 
965
1225
  ## Capabilities
966
1226
 
@@ -978,6 +1238,7 @@ Bootstrap the generated ${plan.pattern.label} application baseline created by Mi
978
1238
  `;
979
1239
  }
980
1240
  function renderSeedDesign(plan) {
1241
+ const functionsDecision = hasFunctionWorker(plan) ? '\n- Keep Azure Functions trigger adapters under functions/' + functionWorkerName(plan) + ' and shared GenAI logic under backend/orchestration.' : '';
981
1242
  return `## Context
982
1243
 
983
1244
  This project was generated with Liftoff using ${plan.pattern.label}, Azure, OpenTofu, and ${plan.specWorkflow.label}.
@@ -997,6 +1258,7 @@ This project was generated with Liftoff using ${plan.pattern.label}, Azure, Open
997
1258
  - Use FastAPI and PydanticAI for backend APIs and orchestration.
998
1259
  - Use OpenTofu for Azure infrastructure.
999
1260
  - Use Docker Compose for local development.
1261
+ ${functionsDecision}
1000
1262
 
1001
1263
  ## Risks / Trade-offs
1002
1264
 
@@ -1012,13 +1274,14 @@ function renderSeedTasks() {
1012
1274
  `;
1013
1275
  }
1014
1276
  function renderSpecKitConstitution(plan) {
1277
+ const functionsLayout = hasFunctionWorker(plan) ? ` Azure Functions trigger adapters live under functions/${functionWorkerName(plan)} and call shared orchestration from backend/orchestration.` : '';
1015
1278
  return `# Mission Control Liftoff Constitution
1016
1279
 
1017
1280
  ## Principle 1: Approved Application Stack
1018
1281
  Generated backend services MUST use FastAPI, PydanticAI, Pydantic configuration models, and Scalar for API documentation.
1019
1282
 
1020
1283
  ## Principle 2: Standard Project Layout
1021
- Backend APIs live under backend/apis. Database artifacts live under database.${plan.includeFrontend ? ' Frontend code lives under frontend.' : ''}
1284
+ Backend APIs live under backend/apis. Database artifacts live under database.${plan.includeFrontend ? ' Frontend code lives under frontend.' : ''}${functionsLayout}
1022
1285
 
1023
1286
  ## Principle 3: Infrastructure As Code
1024
1287
  Cloud infrastructure MUST be defined with OpenTofu. Azure is the supported V1 provider.
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -73,10 +73,12 @@ export interface ManifestArtifact {
73
73
  logicalName: string;
74
74
  category: string;
75
75
  pathParts: string[];
76
+ contentHash: string;
76
77
  }
77
78
  export interface LiftoffManifest {
78
- artifactVersion: 1;
79
+ artifactVersion: 2;
79
80
  generatedBy: 'Mission Control Liftoff';
81
+ liftoffVersion: string;
80
82
  project: {
81
83
  name: string;
82
84
  pattern: PatternId;
@@ -0,0 +1 @@
1
+ export declare const liftoffVersion: string;
@@ -0,0 +1,8 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ // Resolves from src/ (tests), dist/ (built), and the packed npm layout alike:
5
+ // package.json is always one level above this module's directory.
6
+ const packagePath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'package.json');
7
+ export const liftoffVersion = JSON.parse(readFileSync(packagePath, 'utf8')).version;
8
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8EAA8E;AAC9E,kEAAkE;AAClE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAErG,MAAM,CAAC,MAAM,cAAc,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAyB,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@msn-control/liftoff",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Mission Control Liftoff CLI for scaffolding enterprise GenAI applications.",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0-only",
@@ -11,7 +11,7 @@
11
11
  "repository": {
12
12
  "type": "git",
13
13
  "url": "git+https://github.com/voyager163/mission-control.git",
14
- "directory": "apps/liftoff-cli"
14
+ "directory": "tools/liftoff-cli"
15
15
  },
16
16
  "keywords": [
17
17
  "genai",
@@ -48,4 +48,4 @@
48
48
  "typescript": "^5.5.4",
49
49
  "vitest": "^4.1.9"
50
50
  }
51
- }
51
+ }