create-maa-project 0.1.0__tar.gz

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 (62) hide show
  1. create_maa_project-0.1.0/.github/workflows/release.yml +165 -0
  2. create_maa_project-0.1.0/.github/workflows/schema-sync.yml +35 -0
  3. create_maa_project-0.1.0/.gitignore +8 -0
  4. create_maa_project-0.1.0/.release/create-maa-project-manifest.json +68 -0
  5. create_maa_project-0.1.0/LICENSE +1 -0
  6. create_maa_project-0.1.0/PKG-INFO +51 -0
  7. create_maa_project-0.1.0/README.md +43 -0
  8. create_maa_project-0.1.0/package.json +45 -0
  9. create_maa_project-0.1.0/pnpm-lock.yaml +1338 -0
  10. create_maa_project-0.1.0/pnpm-workspace.yaml +2 -0
  11. create_maa_project-0.1.0/py-wrapper/create_maa_project/__init__.py +1 -0
  12. create_maa_project-0.1.0/py-wrapper/create_maa_project/__main__.py +218 -0
  13. create_maa_project-0.1.0/py-wrapper/create_maa_project/release_manifest.py +2 -0
  14. create_maa_project-0.1.0/pyproject.toml +18 -0
  15. create_maa_project-0.1.0/scripts/build-sea.mjs +90 -0
  16. create_maa_project-0.1.0/scripts/build.mjs +13 -0
  17. create_maa_project-0.1.0/scripts/create-release-manifest.mjs +73 -0
  18. create_maa_project-0.1.0/scripts/generate-template-assets.mjs +43 -0
  19. create_maa_project-0.1.0/scripts/prepare-pypi-release.mjs +35 -0
  20. create_maa_project-0.1.0/scripts/sync-release-version.mjs +75 -0
  21. create_maa_project-0.1.0/scripts/sync-schema.mjs +3 -0
  22. create_maa_project-0.1.0/scripts/test-python.mjs +39 -0
  23. create_maa_project-0.1.0/src/args.ts +191 -0
  24. create_maa_project-0.1.0/src/assets.ts +1136 -0
  25. create_maa_project-0.1.0/src/doctor.ts +511 -0
  26. create_maa_project-0.1.0/src/index.ts +242 -0
  27. create_maa_project-0.1.0/src/log.ts +34 -0
  28. create_maa_project-0.1.0/src/project.ts +456 -0
  29. create_maa_project-0.1.0/src/prompt.ts +112 -0
  30. create_maa_project-0.1.0/src/scaffold.ts +447 -0
  31. create_maa_project-0.1.0/src/sync.ts +185 -0
  32. create_maa_project-0.1.0/src/template-assets.generated.ts +2 -0
  33. create_maa_project-0.1.0/src/templates.ts +1405 -0
  34. create_maa_project-0.1.0/src/types.ts +144 -0
  35. create_maa_project-0.1.0/src/update.ts +555 -0
  36. create_maa_project-0.1.0/src/utils.ts +77 -0
  37. create_maa_project-0.1.0/templates/base/.editorconfig +14 -0
  38. create_maa_project-0.1.0/templates/base/.gitattributes +7 -0
  39. create_maa_project-0.1.0/templates/base/.github/workflows/schema-sync.yml +36 -0
  40. create_maa_project-0.1.0/templates/base/.gitignore +9 -0
  41. create_maa_project-0.1.0/templates/base/.prettierignore +5 -0
  42. create_maa_project-0.1.0/templates/base/.prettierrc.mjs +17 -0
  43. create_maa_project-0.1.0/templates/base/README.en.md +16 -0
  44. create_maa_project-0.1.0/templates/base/README.md +16 -0
  45. create_maa_project-0.1.0/templates/base/gitignore.tmpl +9 -0
  46. create_maa_project-0.1.0/templates/base/interface.json.tmpl +12 -0
  47. create_maa_project-0.1.0/templates/base/resource/base/default_pipeline.json +36 -0
  48. create_maa_project-0.1.0/templates/base/resource/base/image/empty.png +0 -0
  49. create_maa_project-0.1.0/templates/base/resource/base/pipeline/tutorial.json +13 -0
  50. create_maa_project-0.1.0/templates/base/tools/schema/custom.action.schema.json +8 -0
  51. create_maa_project-0.1.0/templates/base/tools/schema/custom.recognition.schema.json +8 -0
  52. create_maa_project-0.1.0/templates/base/tools/schema/interface.schema.json +1099 -0
  53. create_maa_project-0.1.0/templates/base/tools/schema/interface_config.schema.json +118 -0
  54. create_maa_project-0.1.0/templates/base/tools/schema/interface_import.schema.json +551 -0
  55. create_maa_project-0.1.0/templates/base/tools/schema/pipeline.schema.json +4285 -0
  56. create_maa_project-0.1.0/templates/base/tools/schema/schema-manifest.json +33 -0
  57. create_maa_project-0.1.0/templates/base/tools/sync-schema.mjs +100 -0
  58. create_maa_project-0.1.0/tests/args.test.ts +79 -0
  59. create_maa_project-0.1.0/tests/scaffold.test.ts +477 -0
  60. create_maa_project-0.1.0/tests/test_py_wrapper.py +258 -0
  61. create_maa_project-0.1.0/tsconfig.json +24 -0
  62. create_maa_project-0.1.0/vitest.config.ts +11 -0
@@ -0,0 +1,165 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ check:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+ - uses: pnpm/action-setup@v6
18
+ - uses: actions/setup-node@v6
19
+ with:
20
+ node-version: 24
21
+ cache: pnpm
22
+ - uses: actions/setup-python@v6
23
+ with:
24
+ python-version: '3.13'
25
+ - run: node scripts/sync-release-version.mjs
26
+ - run: pnpm install --frozen-lockfile
27
+ - run: pnpm check
28
+ - run: pnpm build
29
+ - run: mkdir -p dist/npm && pnpm pack --pack-destination dist/npm
30
+ - uses: actions/upload-artifact@v7
31
+ with:
32
+ name: npm-package
33
+ path: dist/npm/*.tgz
34
+ if-no-files-found: error
35
+
36
+ sea:
37
+ needs: check
38
+ strategy:
39
+ fail-fast: false
40
+ matrix:
41
+ include:
42
+ - runner: windows-latest
43
+ asset_os: win
44
+ arch: x86_64
45
+ - runner: windows-11-arm
46
+ asset_os: win
47
+ arch: aarch64
48
+ - runner: ubuntu-latest
49
+ asset_os: linux
50
+ arch: x86_64
51
+ - runner: ubuntu-24.04-arm
52
+ asset_os: linux
53
+ arch: aarch64
54
+ - runner: macos-15-intel
55
+ asset_os: macos
56
+ arch: x86_64
57
+ - runner: macos-latest
58
+ asset_os: macos
59
+ arch: aarch64
60
+ runs-on: ${{ matrix.runner }}
61
+ steps:
62
+ - uses: actions/checkout@v6
63
+ - uses: pnpm/action-setup@v6
64
+ - uses: actions/setup-node@v6
65
+ with:
66
+ node-version: 24
67
+ cache: pnpm
68
+ - run: node scripts/sync-release-version.mjs
69
+ - run: pnpm install --frozen-lockfile
70
+ - run: pnpm build:sea
71
+ env:
72
+ CREATE_MAA_PROJECT_RELEASE_OS: ${{ matrix.asset_os }}
73
+ CREATE_MAA_PROJECT_RELEASE_ARCH: ${{ matrix.arch }}
74
+ - uses: actions/upload-artifact@v7
75
+ with:
76
+ name: sea-${{ matrix.asset_os }}-${{ matrix.arch }}
77
+ path: dist/sea/create-maa-project-${{ matrix.asset_os }}-${{ matrix.arch }}*
78
+ if-no-files-found: error
79
+
80
+ release-manifest:
81
+ needs: sea
82
+ runs-on: ubuntu-latest
83
+ steps:
84
+ - uses: actions/checkout@v6
85
+ - uses: actions/setup-node@v6
86
+ with:
87
+ node-version: 24
88
+ - run: node scripts/sync-release-version.mjs
89
+ - uses: actions/download-artifact@v7
90
+ with:
91
+ pattern: sea-*
92
+ merge-multiple: true
93
+ path: dist/release-assets
94
+ - run: node scripts/create-release-manifest.mjs dist/release-assets dist/release/create-maa-project-manifest.json
95
+ - uses: actions/upload-artifact@v7
96
+ with:
97
+ name: release-manifest
98
+ path: dist/release/create-maa-project-manifest.json
99
+ if-no-files-found: error
100
+
101
+ github-release:
102
+ needs: release-manifest
103
+ if: startsWith(github.ref, 'refs/tags/')
104
+ permissions:
105
+ contents: write
106
+ runs-on: ubuntu-latest
107
+ steps:
108
+ - uses: actions/download-artifact@v7
109
+ with:
110
+ pattern: sea-*
111
+ merge-multiple: true
112
+ path: dist/release
113
+ - uses: actions/download-artifact@v7
114
+ with:
115
+ name: release-manifest
116
+ path: dist/release
117
+ - uses: softprops/action-gh-release@v3
118
+ with:
119
+ generate_release_notes: true
120
+ files: dist/release/*
121
+
122
+ npm:
123
+ needs: check
124
+ if: startsWith(github.ref, 'refs/tags/')
125
+ permissions:
126
+ contents: read
127
+ id-token: write
128
+ runs-on: ubuntu-latest
129
+ steps:
130
+ - uses: actions/download-artifact@v7
131
+ with:
132
+ name: npm-package
133
+ path: dist/npm
134
+ - uses: actions/setup-node@v6
135
+ with:
136
+ node-version: 24
137
+ registry-url: https://registry.npmjs.org
138
+ - run: npm publish dist/npm/*.tgz --access public --provenance
139
+ env:
140
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
141
+
142
+ pypi:
143
+ needs: github-release
144
+ if: startsWith(github.ref, 'refs/tags/')
145
+ permissions:
146
+ contents: read
147
+ id-token: write
148
+ runs-on: ubuntu-latest
149
+ steps:
150
+ - uses: actions/checkout@v6
151
+ - uses: actions/setup-python@v6
152
+ with:
153
+ python-version: '3.13'
154
+ - uses: astral-sh/setup-uv@v8.1.0
155
+ - uses: actions/setup-node@v6
156
+ with:
157
+ node-version: 24
158
+ - run: node scripts/sync-release-version.mjs
159
+ - uses: actions/download-artifact@v7
160
+ with:
161
+ name: release-manifest
162
+ path: .release
163
+ - run: node scripts/prepare-pypi-release.mjs .release/create-maa-project-manifest.json
164
+ - run: uv build
165
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,35 @@
1
+ name: Schema Sync
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: '17 2 * * *'
7
+
8
+ permissions:
9
+ contents: write
10
+
11
+ jobs:
12
+ sync:
13
+ if: github.event.repository.fork == false
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+ - uses: pnpm/action-setup@v6
18
+ - uses: actions/setup-node@v6
19
+ with:
20
+ node-version: 24
21
+ cache: pnpm
22
+ - run: pnpm sync:schema
23
+ - run: pnpm install --frozen-lockfile
24
+ - run: pnpm check
25
+ - name: Commit schema updates
26
+ run: |
27
+ if git diff --quiet; then
28
+ echo "No schema changes."
29
+ exit 0
30
+ fi
31
+ git config user.name "github-actions[bot]"
32
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
33
+ git add templates/base/tools/schema
34
+ git commit -m "chore: sync MaaFW schema [skip changelog]"
35
+ git push
@@ -0,0 +1,8 @@
1
+ node_modules/
2
+ .pnpm-store/
3
+ dist/
4
+ coverage/
5
+ .create-maa-project/
6
+ .uv-cache/
7
+ *.log
8
+ __pycache__/
@@ -0,0 +1,68 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "create-maa-project",
4
+ "version": "0.1.0",
5
+ "tag": "v0.1.0",
6
+ "assets": [
7
+ {
8
+ "kind": "sea",
9
+ "os": "linux",
10
+ "arch": "aarch64",
11
+ "version": "0.1.0",
12
+ "name": "create-maa-project-linux-aarch64",
13
+ "url": "https://github.com/Windsland52/create-maa-project/releases/download/v0.1.0/create-maa-project-linux-aarch64",
14
+ "sha256": "108803bf7eccd476ee062cc28bca271c97f71870602fdb5371471353f8eb12ef",
15
+ "size": 121900160
16
+ },
17
+ {
18
+ "kind": "sea",
19
+ "os": "linux",
20
+ "arch": "x86_64",
21
+ "version": "0.1.0",
22
+ "name": "create-maa-project-linux-x86_64",
23
+ "url": "https://github.com/Windsland52/create-maa-project/releases/download/v0.1.0/create-maa-project-linux-x86_64",
24
+ "sha256": "51f5b43ea7da577172d812824bc442c2b53a98b82a987a16f1cc94ffb963e412",
25
+ "size": 123997376
26
+ },
27
+ {
28
+ "kind": "sea",
29
+ "os": "macos",
30
+ "arch": "aarch64",
31
+ "version": "0.1.0",
32
+ "name": "create-maa-project-macos-aarch64",
33
+ "url": "https://github.com/Windsland52/create-maa-project/releases/download/v0.1.0/create-maa-project-macos-aarch64",
34
+ "sha256": "55a424756d99ecfb9d284a60cbf511add7dfbda1b75bd377dd2582f975024c71",
35
+ "size": 120835456
36
+ },
37
+ {
38
+ "kind": "sea",
39
+ "os": "macos",
40
+ "arch": "x86_64",
41
+ "version": "0.1.0",
42
+ "name": "create-maa-project-macos-x86_64",
43
+ "url": "https://github.com/Windsland52/create-maa-project/releases/download/v0.1.0/create-maa-project-macos-x86_64",
44
+ "sha256": "8425f0ccc2961fcdd666f8d813ae771a71ae63112178dba9b29d3f168e1210fe",
45
+ "size": 123156480
46
+ },
47
+ {
48
+ "kind": "sea",
49
+ "os": "win",
50
+ "arch": "aarch64",
51
+ "version": "0.1.0",
52
+ "name": "create-maa-project-win-aarch64.exe",
53
+ "url": "https://github.com/Windsland52/create-maa-project/releases/download/v0.1.0/create-maa-project-win-aarch64.exe",
54
+ "sha256": "d1ebc72b068e35a433cb3bba6e90ea46aa3fbf54d11da61cf30353a20fa24efc",
55
+ "size": 81634304
56
+ },
57
+ {
58
+ "kind": "sea",
59
+ "os": "win",
60
+ "arch": "x86_64",
61
+ "version": "0.1.0",
62
+ "name": "create-maa-project-win-x86_64.exe",
63
+ "url": "https://github.com/Windsland52/create-maa-project/releases/download/v0.1.0/create-maa-project-win-x86_64.exe",
64
+ "sha256": "286d5fe2764ccdce26e788bed0c241f9715e1e852c0224a7ed78c9f608aee205",
65
+ "size": 92887552
66
+ }
67
+ ]
68
+ }
@@ -0,0 +1 @@
1
+ AGPL-3.0-or-later
@@ -0,0 +1,51 @@
1
+ Metadata-Version: 2.4
2
+ Name: create-maa-project
3
+ Version: 0.1.0
4
+ Summary: PyPI wrapper for create-maa-project
5
+ License-File: LICENSE
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+
9
+ # create-maa-project
10
+
11
+ MaaFW pure pipeline project scaffolding CLI.
12
+
13
+ ```bash
14
+ npx create-maa-project my-project
15
+ ```
16
+
17
+ Current implementation covers the local pipeline scaffold core:
18
+
19
+ - interactive create flow without LLM
20
+ - default `resource/base` project shape
21
+ - committed `maa-project.json` and `maa-project.lock.json`
22
+ - project-owned files such as `interface.json`, `package.json`, `tasks/`, `resource/`, editor ignores/settings, and OCR model files are created once instead of managed as template baselines
23
+ - metadata sync for interface, package, controller, license, network mode, display name, and validated GitHub repository URLs
24
+ - managed file hash checks through `--doctor` and `--diff`
25
+ - `--accept-changes [path...]` to accept selected or all changed managed files
26
+ - accepted local baseline reporting in `--doctor` and generated `tools/check-project.mjs`
27
+ - `--update node-deps` dependency refresh with successful pending-action cleanup
28
+ - `--update schema` refreshes the generated project from the CLI's embedded schema baseline
29
+ - runtime updates resolve MaaFramework and MFAAvalonia assets from GitHub Releases, verify GitHub-provided sha256 digests, cache MFAAvalonia GUI files for release staging, and extract MaaFramework into the generated runtime layout
30
+ - `pnpm sync:runtime` in generated projects calls `create-maa-project --update maafw --update runtime:mfa`; set `CREATE_MAA_PROJECT_RUNTIME_PLATFORM=all` to sync every desktop platform instead of the current platform
31
+ - default asset downloads retry transient network failures; set `CREATE_MAA_PROJECT_DOWNLOAD_ATTEMPTS=<n>` to override the default
32
+ - OCR downloads can be seeded for local/offline verification with `CREATE_MAA_PROJECT_OCR_ZIP_PATH`
33
+ - OCR model updates use a verified manifest from `CREATE_MAA_PROJECT_OCR_MANIFEST_URL` when configured, with the existing OCR zip as fallback
34
+ - explicit schema baseline sync through `pnpm sync:schema`, plus generated daily schema-sync workflow
35
+ - CLI project creation attempts OCR model download and `pnpm install` by default, keeping actionable pending items if either fails
36
+ - conservative `--update template` with `--update template --diff` preview and `--force` overwrite
37
+ - generated project lint and release dry-run smoke checks, including pending-action, pnpm lockfile, VS Code settings, and interface schema guards
38
+ - release staging through generated `tools/build-release.mjs`, with MFAAvalonia GUI files laid down first, MaaFramework runtime overlaid after it, package-only `interface.json` rewriting, tag-based version injection, dev-file exclusion, package smoke checks, and Unix tar executable metadata smoke in the release workflow
39
+ - default release workflow packages the 3 OS x 2 arch desktop artifact matrix using M9A-style GUI suffixes such as `-MFAA`: Windows zip artifacts, plus Linux/macOS tar.gz artifacts; MFAAvalonia runtime sync uses its upstream `win/linux/osx` and `x64/arm64` asset matrix separately
40
+ - explicit `--git`/`--no-git` creation flow with parent-repository and pending-commit guards
41
+ - write lock, explicit stale-lock cleanup, local backups for file overwrites and non-empty target directories, cache cleanup, and backup restore
42
+
43
+ Schema syncing is explicit and workflow-based rather than part of build.
44
+
45
+ ## Release
46
+
47
+ Pushing a `v*` tag runs `.github/workflows/release.yml`. The workflow checks the
48
+ repo, builds the npm package, builds SEA binaries for Windows/Linux/macOS on
49
+ `x86_64` and `aarch64`, writes `create-maa-project-manifest.json`, publishes the
50
+ GitHub Release assets, publishes npm, then builds the PyPI wrapper with the
51
+ release manifest digest embedded and publishes it through trusted publishing.
@@ -0,0 +1,43 @@
1
+ # create-maa-project
2
+
3
+ MaaFW pure pipeline project scaffolding CLI.
4
+
5
+ ```bash
6
+ npx create-maa-project my-project
7
+ ```
8
+
9
+ Current implementation covers the local pipeline scaffold core:
10
+
11
+ - interactive create flow without LLM
12
+ - default `resource/base` project shape
13
+ - committed `maa-project.json` and `maa-project.lock.json`
14
+ - project-owned files such as `interface.json`, `package.json`, `tasks/`, `resource/`, editor ignores/settings, and OCR model files are created once instead of managed as template baselines
15
+ - metadata sync for interface, package, controller, license, network mode, display name, and validated GitHub repository URLs
16
+ - managed file hash checks through `--doctor` and `--diff`
17
+ - `--accept-changes [path...]` to accept selected or all changed managed files
18
+ - accepted local baseline reporting in `--doctor` and generated `tools/check-project.mjs`
19
+ - `--update node-deps` dependency refresh with successful pending-action cleanup
20
+ - `--update schema` refreshes the generated project from the CLI's embedded schema baseline
21
+ - runtime updates resolve MaaFramework and MFAAvalonia assets from GitHub Releases, verify GitHub-provided sha256 digests, cache MFAAvalonia GUI files for release staging, and extract MaaFramework into the generated runtime layout
22
+ - `pnpm sync:runtime` in generated projects calls `create-maa-project --update maafw --update runtime:mfa`; set `CREATE_MAA_PROJECT_RUNTIME_PLATFORM=all` to sync every desktop platform instead of the current platform
23
+ - default asset downloads retry transient network failures; set `CREATE_MAA_PROJECT_DOWNLOAD_ATTEMPTS=<n>` to override the default
24
+ - OCR downloads can be seeded for local/offline verification with `CREATE_MAA_PROJECT_OCR_ZIP_PATH`
25
+ - OCR model updates use a verified manifest from `CREATE_MAA_PROJECT_OCR_MANIFEST_URL` when configured, with the existing OCR zip as fallback
26
+ - explicit schema baseline sync through `pnpm sync:schema`, plus generated daily schema-sync workflow
27
+ - CLI project creation attempts OCR model download and `pnpm install` by default, keeping actionable pending items if either fails
28
+ - conservative `--update template` with `--update template --diff` preview and `--force` overwrite
29
+ - generated project lint and release dry-run smoke checks, including pending-action, pnpm lockfile, VS Code settings, and interface schema guards
30
+ - release staging through generated `tools/build-release.mjs`, with MFAAvalonia GUI files laid down first, MaaFramework runtime overlaid after it, package-only `interface.json` rewriting, tag-based version injection, dev-file exclusion, package smoke checks, and Unix tar executable metadata smoke in the release workflow
31
+ - default release workflow packages the 3 OS x 2 arch desktop artifact matrix using M9A-style GUI suffixes such as `-MFAA`: Windows zip artifacts, plus Linux/macOS tar.gz artifacts; MFAAvalonia runtime sync uses its upstream `win/linux/osx` and `x64/arm64` asset matrix separately
32
+ - explicit `--git`/`--no-git` creation flow with parent-repository and pending-commit guards
33
+ - write lock, explicit stale-lock cleanup, local backups for file overwrites and non-empty target directories, cache cleanup, and backup restore
34
+
35
+ Schema syncing is explicit and workflow-based rather than part of build.
36
+
37
+ ## Release
38
+
39
+ Pushing a `v*` tag runs `.github/workflows/release.yml`. The workflow checks the
40
+ repo, builds the npm package, builds SEA binaries for Windows/Linux/macOS on
41
+ `x86_64` and `aarch64`, writes `create-maa-project-manifest.json`, publishes the
42
+ GitHub Release assets, publishes npm, then builds the PyPI wrapper with the
43
+ release manifest digest embedded and publishes it through trusted publishing.
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "create-maa-project",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "bin": {
6
+ "create-maa-project": "./dist/index.js"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/Windsland52/create-maa-project"
11
+ },
12
+ "files": [
13
+ "dist/index.js",
14
+ "templates",
15
+ "README.md",
16
+ "LICENSE"
17
+ ],
18
+ "scripts": {
19
+ "build": "node scripts/build.mjs",
20
+ "build:sea": "node scripts/build-sea.mjs",
21
+ "dev": "tsx src/index.ts",
22
+ "release:manifest": "node scripts/create-release-manifest.mjs",
23
+ "release:prepare-pypi": "node scripts/prepare-pypi-release.mjs",
24
+ "release:sync-version": "node scripts/sync-release-version.mjs",
25
+ "sync:schema": "node scripts/sync-schema.mjs",
26
+ "typecheck": "tsc --noEmit",
27
+ "test": "vitest run && node scripts/test-python.mjs",
28
+ "check": "pnpm typecheck && pnpm test"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "24.0.0",
32
+ "esbuild": "0.25.5",
33
+ "postject": "1.0.0-alpha.6",
34
+ "tsx": "4.20.3",
35
+ "typescript": "5.8.3",
36
+ "vitest": "3.2.4"
37
+ },
38
+ "engines": {
39
+ "node": ">=24"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "packageManager": "pnpm@11.5.1"
45
+ }