@msn-control/liftoff 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +11 -5
  2. package/assets/locks/frontend/package-lock.json +51 -51
  3. package/assets/locks/frontend/package.json +1 -1
  4. package/assets/locks/node-backend/package-lock.json +353 -12
  5. package/assets/locks/node-backend/package.json +3 -3
  6. package/assets/supported-stack.json +9 -9
  7. package/dist/args.js +7 -5
  8. package/dist/args.js.map +1 -1
  9. package/dist/artifact-lifecycle.d.ts +4 -0
  10. package/dist/artifact-lifecycle.js +38 -0
  11. package/dist/artifact-lifecycle.js.map +1 -0
  12. package/dist/commands.js +415 -77
  13. package/dist/commands.js.map +1 -1
  14. package/dist/file-system.d.ts +1 -1
  15. package/dist/file-system.js +171 -29
  16. package/dist/file-system.js.map +1 -1
  17. package/dist/framework-adapters.d.ts +1 -1
  18. package/dist/framework-adapters.js +9 -3
  19. package/dist/framework-adapters.js.map +1 -1
  20. package/dist/framework-validation.d.ts +1 -0
  21. package/dist/framework-validation.js +26 -0
  22. package/dist/framework-validation.js.map +1 -1
  23. package/dist/init-filesystem.js +2 -2
  24. package/dist/init-filesystem.js.map +1 -1
  25. package/dist/interactive.d.ts +13 -0
  26. package/dist/interactive.js +14 -0
  27. package/dist/interactive.js.map +1 -1
  28. package/dist/openspec-profile.d.ts +28 -0
  29. package/dist/openspec-profile.js +172 -0
  30. package/dist/openspec-profile.js.map +1 -0
  31. package/dist/planner.js +19 -1
  32. package/dist/planner.js.map +1 -1
  33. package/dist/power-apps-templates.js +15 -1
  34. package/dist/power-apps-templates.js.map +1 -1
  35. package/dist/reconcile.js +4 -10
  36. package/dist/reconcile.js.map +1 -1
  37. package/dist/repository-governance.js +4 -0
  38. package/dist/repository-governance.js.map +1 -1
  39. package/dist/templates.d.ts +5 -1
  40. package/dist/templates.js +126 -60
  41. package/dist/templates.js.map +1 -1
  42. package/dist/types.d.ts +27 -4
  43. package/docs/cli-reference.md +52 -25
  44. package/docs/configuration-and-manifests.md +39 -24
  45. package/docs/existing-repositories.md +38 -23
  46. package/docs/getting-started.md +17 -7
  47. package/docs/prerequisites.md +17 -0
  48. package/docs/project-structure.md +13 -1
  49. package/docs/repository-governance.md +2 -2
  50. package/docs/safety-and-consent.md +47 -30
  51. package/docs/spec-workflows-and-agents.md +47 -7
  52. package/docs/supported-stack.md +14 -17
  53. package/docs/troubleshooting.md +53 -8
  54. package/docs/workloads.md +9 -8
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -20,13 +20,17 @@ liftoff init
20
20
 
21
21
  After the first self-upgrade-capable release is installed globally through npm,
22
22
  later CLI releases use `liftoff upgrade --check` followed by `liftoff upgrade`.
23
- This replaces the CLI only; generated projects still use `liftoff update`.
23
+ This replaces the CLI only; generated projects use `liftoff update` separately
24
+ for Liftoff-managed core files.
24
25
 
25
26
  Liftoff asks you to choose a workload and spec workflow, select one or more coding
26
27
  agents with Space, review workstation readiness, and confirm the project plan before
27
28
  it writes. Repository governance is enabled by default as a local handoff; live
28
29
  activation remains deferred until commit, push, read-only Phase 0, and explicit
29
- plan approval. After initialization:
30
+ plan approval. OpenSpec projects include all 12 OpenSpec 1.11 workflows as both
31
+ skills and commands. A mismatched global OpenSpec profile and the default-off
32
+ GitHub-hosted Copilot coding agent each require separate consent. After
33
+ initialization:
30
34
 
31
35
  ```bash
32
36
  liftoff validate
@@ -35,9 +39,11 @@ liftoff upgrade --check
35
39
  liftoff update --check
36
40
  ```
37
41
 
38
- Plain `liftoff update` applies safe managed changes immediately and skips
39
- conflicts. Use `liftoff update --check --json` for a read-only CI drift gate,
40
- and review every reported path before choosing `liftoff update --force`.
42
+ Plain `liftoff update` applies safe managed-core changes immediately and skips
43
+ core conflicts. Application source, dependencies, schemas, containers,
44
+ environments, documentation, and infrastructure are project-owned after
45
+ generation and remain outside every update mode, including `--force`. Use
46
+ `liftoff update --check --json` for a read-only core-maintenance gate.
41
47
 
42
48
  ![Liftoff terminal showing interactive workload, workflow, multi-agent, readiness, and safe completion steps](docs/assets/liftoff-terminal.svg)
43
49
 
@@ -12,12 +12,12 @@
12
12
  "@vitejs/plugin-vue": "^6.0.8",
13
13
  "tailwindcss": "^4.3.3",
14
14
  "vite": "^8.2.2",
15
- "vue": "^3.5.41"
15
+ "vue": "^3.5.42"
16
16
  }
17
17
  },
18
18
  "node_modules/@babel/helper-string-parser": {
19
19
  "version": "7.29.7",
20
- "integrity": "sha1-fwhx2Zgk0jE31g+G/PYTD9WhtR8=",
20
+ "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
21
21
  "license": "MIT",
22
22
  "engines": {
23
23
  "node": ">=6.9.0"
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "node_modules/@babel/helper-validator-identifier": {
27
27
  "version": "7.29.7",
28
- "integrity": "sha1-vYcITO0MeW7Ea9pJLeboPSnon8I=",
28
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
29
29
  "license": "MIT",
30
30
  "engines": {
31
31
  "node": ">=6.9.0"
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "node_modules/@babel/parser": {
35
35
  "version": "7.29.8",
36
- "integrity": "sha1-llNxai8Qxne5j7xj1L+wAMMCzxc=",
36
+ "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
37
37
  "license": "MIT",
38
38
  "dependencies": {
39
39
  "@babel/types": "^7.29.8"
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "node_modules/@babel/types": {
49
49
  "version": "7.29.8",
50
- "integrity": "sha1-Einu8x2FFW1w+j9M2Fk3bQ6vaGM=",
50
+ "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
51
51
  "license": "MIT",
52
52
  "dependencies": {
53
53
  "@babel/helper-string-parser": "^7.29.7",
@@ -683,36 +683,36 @@
683
683
  }
684
684
  },
685
685
  "node_modules/@vue/compiler-core": {
686
- "version": "3.5.41",
687
- "integrity": "sha1-gqQBLYtCD1piwWWKctFvfR7fEao=",
686
+ "version": "3.5.42",
687
+ "integrity": "sha512-2Ye1ilMtKXxl8qZUrQ5j0CdgenFp/HFQmta6rfRyfEsTG69L6Wk+tWuNoHYHMx9E8tF2Slvdg1FuwDvAXdy1LQ==",
688
688
  "license": "MIT",
689
689
  "dependencies": {
690
690
  "@babel/parser": "^7.29.8",
691
- "@vue/shared": "3.5.41",
691
+ "@vue/shared": "3.5.42",
692
692
  "entities": "^7.0.1",
693
693
  "estree-walker": "^2.0.2",
694
694
  "source-map-js": "^1.2.1"
695
695
  }
696
696
  },
697
697
  "node_modules/@vue/compiler-dom": {
698
- "version": "3.5.41",
699
- "integrity": "sha1-ECn3XeCcZloKksYVZGN1QZKss2E=",
698
+ "version": "3.5.42",
699
+ "integrity": "sha512-qbhQZEFmycr+ni/qyuccS4sucNN7VAbDfbkvNxWOX2VfgFm90MNs3/UhRNKoPMEIVn0F8gdlYjLPvqxHwHeQOA==",
700
700
  "license": "MIT",
701
701
  "dependencies": {
702
- "@vue/compiler-core": "3.5.41",
703
- "@vue/shared": "3.5.41"
702
+ "@vue/compiler-core": "3.5.42",
703
+ "@vue/shared": "3.5.42"
704
704
  }
705
705
  },
706
706
  "node_modules/@vue/compiler-sfc": {
707
- "version": "3.5.41",
708
- "integrity": "sha1-+cfCFwrW7kvzXBeLXfAmSF2KY9s=",
707
+ "version": "3.5.42",
708
+ "integrity": "sha512-fkCAFB4okcAANGMThboWnScp/gzWjU0ZSkVnjTIiplmMDq2uq0tIB3j+xVu4rhv5rvOgBySCysudmbMd6xRRqw==",
709
709
  "license": "MIT",
710
710
  "dependencies": {
711
711
  "@babel/parser": "^7.29.8",
712
- "@vue/compiler-core": "3.5.41",
713
- "@vue/compiler-dom": "3.5.41",
714
- "@vue/compiler-ssr": "3.5.41",
715
- "@vue/shared": "3.5.41",
712
+ "@vue/compiler-core": "3.5.42",
713
+ "@vue/compiler-dom": "3.5.42",
714
+ "@vue/compiler-ssr": "3.5.42",
715
+ "@vue/shared": "3.5.42",
716
716
  "estree-walker": "^2.0.2",
717
717
  "magic-string": "^0.30.21",
718
718
  "postcss": "^8.5.19",
@@ -720,60 +720,60 @@
720
720
  }
721
721
  },
722
722
  "node_modules/@vue/compiler-ssr": {
723
- "version": "3.5.41",
724
- "integrity": "sha1-jl+fao0huAL85zc4B92TXtRUEIM=",
723
+ "version": "3.5.42",
724
+ "integrity": "sha512-xmLk3wLkbizPAiLyomjgFFosf2ys9b5Ghb+oh/k2tnvipNz8OFrQOiTcWCzyK7MpBp9KkyGtfvgfLUivbmuGYA==",
725
725
  "license": "MIT",
726
726
  "dependencies": {
727
- "@vue/compiler-dom": "3.5.41",
728
- "@vue/shared": "3.5.41"
727
+ "@vue/compiler-dom": "3.5.42",
728
+ "@vue/shared": "3.5.42"
729
729
  }
730
730
  },
731
731
  "node_modules/@vue/reactivity": {
732
- "version": "3.5.41",
733
- "integrity": "sha1-g75huIsZjyHBV9OqbcuEOiWhGHI=",
732
+ "version": "3.5.42",
733
+ "integrity": "sha512-TzNNfKpb7hDxbQltwAut8VDQA5YP+BuRlxntHUuRjyKwlMvmAPbs3unhCvieijifY6vFfVBwsS7wG/C7uq+bEQ==",
734
734
  "license": "MIT",
735
735
  "dependencies": {
736
- "@vue/shared": "3.5.41"
736
+ "@vue/shared": "3.5.42"
737
737
  }
738
738
  },
739
739
  "node_modules/@vue/runtime-core": {
740
- "version": "3.5.41",
741
- "integrity": "sha1-o+AjyfIYCcgfJIE9rLf/oYouQWE=",
740
+ "version": "3.5.42",
741
+ "integrity": "sha512-9uACtuHs7vJGkm5Bp3xu4xRDLFTIYy5DgxpToVjqGIAhAEKwQfsaLvKINhM6nFVp6bZPRFGdDqd1g52MqKsotA==",
742
742
  "license": "MIT",
743
743
  "dependencies": {
744
- "@vue/reactivity": "3.5.41",
745
- "@vue/shared": "3.5.41"
744
+ "@vue/reactivity": "3.5.42",
745
+ "@vue/shared": "3.5.42"
746
746
  }
747
747
  },
748
748
  "node_modules/@vue/runtime-dom": {
749
- "version": "3.5.41",
750
- "integrity": "sha1-Qo96BCBAI4X64X1BPSUWn5j2QgU=",
749
+ "version": "3.5.42",
750
+ "integrity": "sha512-rsCmhiWLaRxGltLwhlCWyYkFn7WAbKRh0q17eZ1A6Dq6eqc2ACQ61IIryxz0LrsvCzHSilLA9JHovVwM8CNE2g==",
751
751
  "license": "MIT",
752
752
  "dependencies": {
753
- "@vue/reactivity": "3.5.41",
754
- "@vue/runtime-core": "3.5.41",
755
- "@vue/shared": "3.5.41",
753
+ "@vue/reactivity": "3.5.42",
754
+ "@vue/runtime-core": "3.5.42",
755
+ "@vue/shared": "3.5.42",
756
756
  "csstype": "^3.2.3"
757
757
  }
758
758
  },
759
759
  "node_modules/@vue/server-renderer": {
760
- "version": "3.5.41",
761
- "integrity": "sha1-A1o4x5GC8VRJUjjqg6y6JCZqwgA=",
760
+ "version": "3.5.42",
761
+ "integrity": "sha512-2++5dUyYS4gvo7xQXSECUDhB7TS0aOl5SeVfC5qSq1Jgfhjvegw1zqhwTIR3imZ+QYPJQw9gfcFvXGAjGZ7ajQ==",
762
762
  "license": "MIT",
763
763
  "dependencies": {
764
- "@vue/compiler-ssr": "3.5.41",
765
- "@vue/runtime-dom": "3.5.41",
766
- "@vue/shared": "3.5.41"
764
+ "@vue/compiler-ssr": "3.5.42",
765
+ "@vue/runtime-dom": "3.5.42",
766
+ "@vue/shared": "3.5.42"
767
767
  }
768
768
  },
769
769
  "node_modules/@vue/shared": {
770
- "version": "3.5.41",
771
- "integrity": "sha1-rEdkl/dElfdSUIcnCEmEF1ZVXPI=",
770
+ "version": "3.5.42",
771
+ "integrity": "sha512-2rPxex1jQf4jvl9MOHl6YaXCPcrNqz/FstMOEh3QWY+/OME9nQTvl9WYeCwhW7AFjaR0SnngZGlp/wkR6rkI6g==",
772
772
  "license": "MIT"
773
773
  },
774
774
  "node_modules/csstype": {
775
775
  "version": "3.2.3",
776
- "integrity": "sha1-7EjA8+mT5QZIyG2lWeJhCZXPmJo=",
776
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
777
777
  "license": "MIT"
778
778
  },
779
779
  "node_modules/detect-libc": {
@@ -798,7 +798,7 @@
798
798
  },
799
799
  "node_modules/entities": {
800
800
  "version": "7.0.1",
801
- "integrity": "sha1-JuioiInbY0F9y5oeeaPxvJK1l2s=",
801
+ "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
802
802
  "license": "BSD-2-Clause",
803
803
  "engines": {
804
804
  "node": ">=0.12"
@@ -809,7 +809,7 @@
809
809
  },
810
810
  "node_modules/estree-walker": {
811
811
  "version": "2.0.2",
812
- "integrity": "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=",
812
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
813
813
  "license": "MIT"
814
814
  },
815
815
  "node_modules/fsevents": {
@@ -1568,15 +1568,15 @@
1568
1568
  }
1569
1569
  },
1570
1570
  "node_modules/vue": {
1571
- "version": "3.5.41",
1572
- "integrity": "sha1-iGS93+Wc4SiijJutIZzZJIkWr3M=",
1571
+ "version": "3.5.42",
1572
+ "integrity": "sha512-4RyHQTbQvOPs3MfvUO1Sg0YRrKNnA0mAVtvpd12Tg1fKDN7OHBUl1IqSn8zGJjK9nI3NkNp8cgTpVrSZC5TTcA==",
1573
1573
  "license": "MIT",
1574
1574
  "dependencies": {
1575
- "@vue/compiler-dom": "3.5.41",
1576
- "@vue/compiler-sfc": "3.5.41",
1577
- "@vue/runtime-dom": "3.5.41",
1578
- "@vue/server-renderer": "3.5.41",
1579
- "@vue/shared": "3.5.41"
1575
+ "@vue/compiler-dom": "3.5.42",
1576
+ "@vue/compiler-sfc": "3.5.42",
1577
+ "@vue/runtime-dom": "3.5.42",
1578
+ "@vue/server-renderer": "3.5.42",
1579
+ "@vue/shared": "3.5.42"
1580
1580
  },
1581
1581
  "peerDependencies": {
1582
1582
  "typescript": "*"
@@ -13,6 +13,6 @@
13
13
  "@vitejs/plugin-vue": "^6.0.8",
14
14
  "tailwindcss": "^4.3.3",
15
15
  "vite": "^8.2.2",
16
- "vue": "^3.5.41"
16
+ "vue": "^3.5.42"
17
17
  }
18
18
  }
@@ -16,10 +16,10 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "^24.6.0",
19
- "@types/pg": "^8.15.0",
19
+ "@types/pg": "^8.23.1",
20
20
  "drizzle-kit": "^0.31.0",
21
- "tsx": "^4.20.0",
22
- "typescript": "^5.5.4",
21
+ "tsx": "^4.23.13",
22
+ "typescript": "^7.0.2",
23
23
  "vite": "8.2.2",
24
24
  "vitest": "4.1.11"
25
25
  },
@@ -1328,8 +1328,8 @@
1328
1328
  }
1329
1329
  },
1330
1330
  "node_modules/@types/pg": {
1331
- "version": "8.20.0",
1332
- "integrity": "sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==",
1331
+ "version": "8.23.1",
1332
+ "integrity": "sha512-fKVHpikPdg4GKks3JuLEhvwSyvwzF23hnabPy6DD8ljVbC7+6J5dQzdv4arV6jqq57djnMgs1HKBxX4P8aBI3A==",
1333
1333
  "devOptional": true,
1334
1334
  "license": "MIT",
1335
1335
  "dependencies": {
@@ -1338,6 +1338,326 @@
1338
1338
  "pg-types": "^2.2.0"
1339
1339
  }
1340
1340
  },
1341
+ "node_modules/@typescript/typescript-aix-ppc64": {
1342
+ "version": "7.0.2",
1343
+ "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==",
1344
+ "cpu": [
1345
+ "ppc64"
1346
+ ],
1347
+ "dev": true,
1348
+ "license": "Apache-2.0",
1349
+ "optional": true,
1350
+ "os": [
1351
+ "aix"
1352
+ ],
1353
+ "engines": {
1354
+ "node": ">=16.20.0"
1355
+ }
1356
+ },
1357
+ "node_modules/@typescript/typescript-darwin-arm64": {
1358
+ "version": "7.0.2",
1359
+ "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==",
1360
+ "cpu": [
1361
+ "arm64"
1362
+ ],
1363
+ "dev": true,
1364
+ "license": "Apache-2.0",
1365
+ "optional": true,
1366
+ "os": [
1367
+ "darwin"
1368
+ ],
1369
+ "engines": {
1370
+ "node": ">=16.20.0"
1371
+ }
1372
+ },
1373
+ "node_modules/@typescript/typescript-darwin-x64": {
1374
+ "version": "7.0.2",
1375
+ "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==",
1376
+ "cpu": [
1377
+ "x64"
1378
+ ],
1379
+ "dev": true,
1380
+ "license": "Apache-2.0",
1381
+ "optional": true,
1382
+ "os": [
1383
+ "darwin"
1384
+ ],
1385
+ "engines": {
1386
+ "node": ">=16.20.0"
1387
+ }
1388
+ },
1389
+ "node_modules/@typescript/typescript-freebsd-arm64": {
1390
+ "version": "7.0.2",
1391
+ "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==",
1392
+ "cpu": [
1393
+ "arm64"
1394
+ ],
1395
+ "dev": true,
1396
+ "license": "Apache-2.0",
1397
+ "optional": true,
1398
+ "os": [
1399
+ "freebsd"
1400
+ ],
1401
+ "engines": {
1402
+ "node": ">=16.20.0"
1403
+ }
1404
+ },
1405
+ "node_modules/@typescript/typescript-freebsd-x64": {
1406
+ "version": "7.0.2",
1407
+ "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==",
1408
+ "cpu": [
1409
+ "x64"
1410
+ ],
1411
+ "dev": true,
1412
+ "license": "Apache-2.0",
1413
+ "optional": true,
1414
+ "os": [
1415
+ "freebsd"
1416
+ ],
1417
+ "engines": {
1418
+ "node": ">=16.20.0"
1419
+ }
1420
+ },
1421
+ "node_modules/@typescript/typescript-linux-arm": {
1422
+ "version": "7.0.2",
1423
+ "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==",
1424
+ "cpu": [
1425
+ "arm"
1426
+ ],
1427
+ "dev": true,
1428
+ "license": "Apache-2.0",
1429
+ "optional": true,
1430
+ "os": [
1431
+ "linux"
1432
+ ],
1433
+ "engines": {
1434
+ "node": ">=16.20.0"
1435
+ }
1436
+ },
1437
+ "node_modules/@typescript/typescript-linux-arm64": {
1438
+ "version": "7.0.2",
1439
+ "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==",
1440
+ "cpu": [
1441
+ "arm64"
1442
+ ],
1443
+ "dev": true,
1444
+ "license": "Apache-2.0",
1445
+ "optional": true,
1446
+ "os": [
1447
+ "linux"
1448
+ ],
1449
+ "engines": {
1450
+ "node": ">=16.20.0"
1451
+ }
1452
+ },
1453
+ "node_modules/@typescript/typescript-linux-loong64": {
1454
+ "version": "7.0.2",
1455
+ "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==",
1456
+ "cpu": [
1457
+ "loong64"
1458
+ ],
1459
+ "dev": true,
1460
+ "license": "Apache-2.0",
1461
+ "optional": true,
1462
+ "os": [
1463
+ "linux"
1464
+ ],
1465
+ "engines": {
1466
+ "node": ">=16.20.0"
1467
+ }
1468
+ },
1469
+ "node_modules/@typescript/typescript-linux-mips64el": {
1470
+ "version": "7.0.2",
1471
+ "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==",
1472
+ "cpu": [
1473
+ "mips64el"
1474
+ ],
1475
+ "dev": true,
1476
+ "license": "Apache-2.0",
1477
+ "optional": true,
1478
+ "os": [
1479
+ "linux"
1480
+ ],
1481
+ "engines": {
1482
+ "node": ">=16.20.0"
1483
+ }
1484
+ },
1485
+ "node_modules/@typescript/typescript-linux-ppc64": {
1486
+ "version": "7.0.2",
1487
+ "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==",
1488
+ "cpu": [
1489
+ "ppc64"
1490
+ ],
1491
+ "dev": true,
1492
+ "license": "Apache-2.0",
1493
+ "optional": true,
1494
+ "os": [
1495
+ "linux"
1496
+ ],
1497
+ "engines": {
1498
+ "node": ">=16.20.0"
1499
+ }
1500
+ },
1501
+ "node_modules/@typescript/typescript-linux-riscv64": {
1502
+ "version": "7.0.2",
1503
+ "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==",
1504
+ "cpu": [
1505
+ "riscv64"
1506
+ ],
1507
+ "dev": true,
1508
+ "license": "Apache-2.0",
1509
+ "optional": true,
1510
+ "os": [
1511
+ "linux"
1512
+ ],
1513
+ "engines": {
1514
+ "node": ">=16.20.0"
1515
+ }
1516
+ },
1517
+ "node_modules/@typescript/typescript-linux-s390x": {
1518
+ "version": "7.0.2",
1519
+ "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==",
1520
+ "cpu": [
1521
+ "s390x"
1522
+ ],
1523
+ "dev": true,
1524
+ "license": "Apache-2.0",
1525
+ "optional": true,
1526
+ "os": [
1527
+ "linux"
1528
+ ],
1529
+ "engines": {
1530
+ "node": ">=16.20.0"
1531
+ }
1532
+ },
1533
+ "node_modules/@typescript/typescript-linux-x64": {
1534
+ "version": "7.0.2",
1535
+ "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==",
1536
+ "cpu": [
1537
+ "x64"
1538
+ ],
1539
+ "dev": true,
1540
+ "license": "Apache-2.0",
1541
+ "optional": true,
1542
+ "os": [
1543
+ "linux"
1544
+ ],
1545
+ "engines": {
1546
+ "node": ">=16.20.0"
1547
+ }
1548
+ },
1549
+ "node_modules/@typescript/typescript-netbsd-arm64": {
1550
+ "version": "7.0.2",
1551
+ "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==",
1552
+ "cpu": [
1553
+ "arm64"
1554
+ ],
1555
+ "dev": true,
1556
+ "license": "Apache-2.0",
1557
+ "optional": true,
1558
+ "os": [
1559
+ "netbsd"
1560
+ ],
1561
+ "engines": {
1562
+ "node": ">=16.20.0"
1563
+ }
1564
+ },
1565
+ "node_modules/@typescript/typescript-netbsd-x64": {
1566
+ "version": "7.0.2",
1567
+ "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==",
1568
+ "cpu": [
1569
+ "x64"
1570
+ ],
1571
+ "dev": true,
1572
+ "license": "Apache-2.0",
1573
+ "optional": true,
1574
+ "os": [
1575
+ "netbsd"
1576
+ ],
1577
+ "engines": {
1578
+ "node": ">=16.20.0"
1579
+ }
1580
+ },
1581
+ "node_modules/@typescript/typescript-openbsd-arm64": {
1582
+ "version": "7.0.2",
1583
+ "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==",
1584
+ "cpu": [
1585
+ "arm64"
1586
+ ],
1587
+ "dev": true,
1588
+ "license": "Apache-2.0",
1589
+ "optional": true,
1590
+ "os": [
1591
+ "openbsd"
1592
+ ],
1593
+ "engines": {
1594
+ "node": ">=16.20.0"
1595
+ }
1596
+ },
1597
+ "node_modules/@typescript/typescript-openbsd-x64": {
1598
+ "version": "7.0.2",
1599
+ "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==",
1600
+ "cpu": [
1601
+ "x64"
1602
+ ],
1603
+ "dev": true,
1604
+ "license": "Apache-2.0",
1605
+ "optional": true,
1606
+ "os": [
1607
+ "openbsd"
1608
+ ],
1609
+ "engines": {
1610
+ "node": ">=16.20.0"
1611
+ }
1612
+ },
1613
+ "node_modules/@typescript/typescript-sunos-x64": {
1614
+ "version": "7.0.2",
1615
+ "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==",
1616
+ "cpu": [
1617
+ "x64"
1618
+ ],
1619
+ "dev": true,
1620
+ "license": "Apache-2.0",
1621
+ "optional": true,
1622
+ "os": [
1623
+ "sunos"
1624
+ ],
1625
+ "engines": {
1626
+ "node": ">=16.20.0"
1627
+ }
1628
+ },
1629
+ "node_modules/@typescript/typescript-win32-arm64": {
1630
+ "version": "7.0.2",
1631
+ "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==",
1632
+ "cpu": [
1633
+ "arm64"
1634
+ ],
1635
+ "dev": true,
1636
+ "license": "Apache-2.0",
1637
+ "optional": true,
1638
+ "os": [
1639
+ "win32"
1640
+ ],
1641
+ "engines": {
1642
+ "node": ">=16.20.0"
1643
+ }
1644
+ },
1645
+ "node_modules/@typescript/typescript-win32-x64": {
1646
+ "version": "7.0.2",
1647
+ "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==",
1648
+ "cpu": [
1649
+ "x64"
1650
+ ],
1651
+ "dev": true,
1652
+ "license": "Apache-2.0",
1653
+ "optional": true,
1654
+ "os": [
1655
+ "win32"
1656
+ ],
1657
+ "engines": {
1658
+ "node": ">=16.20.0"
1659
+ }
1660
+ },
1341
1661
  "node_modules/@vitest/expect": {
1342
1662
  "version": "4.1.11",
1343
1663
  "integrity": "sha1-X1gNH5zbujFNvyOy2RH46yOHj18=",
@@ -3315,8 +3635,8 @@
3315
3635
  }
3316
3636
  },
3317
3637
  "node_modules/tsx": {
3318
- "version": "4.23.1",
3319
- "integrity": "sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==",
3638
+ "version": "4.23.13",
3639
+ "integrity": "sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==",
3320
3640
  "dev": true,
3321
3641
  "license": "MIT",
3322
3642
  "dependencies": {
@@ -3333,16 +3653,37 @@
3333
3653
  }
3334
3654
  },
3335
3655
  "node_modules/typescript": {
3336
- "version": "5.9.3",
3337
- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
3656
+ "version": "7.0.2",
3657
+ "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==",
3338
3658
  "dev": true,
3339
3659
  "license": "Apache-2.0",
3340
3660
  "bin": {
3341
- "tsc": "bin/tsc",
3342
- "tsserver": "bin/tsserver"
3661
+ "tsc": "bin/tsc"
3343
3662
  },
3344
3663
  "engines": {
3345
- "node": ">=14.17"
3664
+ "node": ">=16.20.0"
3665
+ },
3666
+ "optionalDependencies": {
3667
+ "@typescript/typescript-aix-ppc64": "7.0.2",
3668
+ "@typescript/typescript-darwin-arm64": "7.0.2",
3669
+ "@typescript/typescript-darwin-x64": "7.0.2",
3670
+ "@typescript/typescript-freebsd-arm64": "7.0.2",
3671
+ "@typescript/typescript-freebsd-x64": "7.0.2",
3672
+ "@typescript/typescript-linux-arm": "7.0.2",
3673
+ "@typescript/typescript-linux-arm64": "7.0.2",
3674
+ "@typescript/typescript-linux-loong64": "7.0.2",
3675
+ "@typescript/typescript-linux-mips64el": "7.0.2",
3676
+ "@typescript/typescript-linux-ppc64": "7.0.2",
3677
+ "@typescript/typescript-linux-riscv64": "7.0.2",
3678
+ "@typescript/typescript-linux-s390x": "7.0.2",
3679
+ "@typescript/typescript-linux-x64": "7.0.2",
3680
+ "@typescript/typescript-netbsd-arm64": "7.0.2",
3681
+ "@typescript/typescript-netbsd-x64": "7.0.2",
3682
+ "@typescript/typescript-openbsd-arm64": "7.0.2",
3683
+ "@typescript/typescript-openbsd-x64": "7.0.2",
3684
+ "@typescript/typescript-sunos-x64": "7.0.2",
3685
+ "@typescript/typescript-win32-arm64": "7.0.2",
3686
+ "@typescript/typescript-win32-x64": "7.0.2"
3346
3687
  }
3347
3688
  },
3348
3689
  "node_modules/undici-types": {