opencode-onboard 0.4.15 → 0.5.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.
@@ -3,6 +3,6 @@
3
3
  "plugin": [
4
4
  "opencode-plugin-openspec@latest",
5
5
  "@different-ai/opencode-browser@latest",
6
- "@hueyexe/opencode-ensemble@latest"
6
+ "@hueyexe/opencode-ensemble@0.14.1"
7
7
  ]
8
8
  }
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "dependencies": {
3
- "@opencode-ai/plugin": "1.14.19"
3
+ "@opencode-ai/plugin": "latest",
4
+ "opencode-plugin-openspec": "latest",
5
+ "@different-ai/opencode-browser": "latest",
6
+ "@hueyexe/opencode-ensemble": "0.14.1"
4
7
  }
5
- }
8
+ }
package/content/AGENTS.md CHANGED
@@ -91,13 +91,27 @@ Replace every `<…>` with real values. Add a `rules:` section only if the codeb
91
91
 
92
92
  ---
93
93
 
94
- ### Step 6, Rewrite this file
94
+ ### Step 6, Install OpenCode plugins
95
+
96
+ OpenCode plugins declared in `.opencode/opencode.json` (under the `plugin` key) must be present in `.opencode/node_modules/` or OpenCode will fail to load them. The plugins are also listed in `.opencode/package.json` as dependencies.
97
+
98
+ ```bash
99
+ cd .opencode
100
+ npm install
101
+ cd ..
102
+ ```
103
+
104
+ This installs all plugin packages into `.opencode/node_modules/`. If you ever see "Plugin X not found" errors after init, run `npm install` in `.opencode/` again.
105
+
106
+ ---
107
+
108
+ ### Step 7, Rewrite this file
95
109
 
96
110
  Replace the entire contents of this file (`AGENTS.md`) with everything below the line `<!-- AGENTS-TEMPLATE-START -->` in this same file. Delete the bootstrap section and the template marker, the file should contain only the template content when done.
97
111
 
98
112
  ---
99
113
 
100
- ### Step 7, Confirm
114
+ ### Step 8, Confirm
101
115
 
102
116
  For **brownfield**, tell the user:
103
117
 
@@ -110,6 +124,7 @@ For **brownfield**, tell the user:
110
124
  - DESIGN.md generated
111
125
  - openspec/config.yaml populated
112
126
  - Project history archived in openspec
127
+ - OpenCode plugins installed
113
128
  - AGENTS.md updated with real guidance
114
129
 
115
130
  !! RESTART OPENCODE NOW !!
@@ -127,6 +142,7 @@ For **greenfield**, tell the user:
127
142
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
128
143
 
129
144
  - openspec/config.yaml populated
145
+ - OpenCode plugins installed
130
146
  - AGENTS.md updated with real guidance
131
147
  - ARCHITECTURE.md and DESIGN.md left as placeholders
132
148
 
@@ -150,6 +166,7 @@ After restarting you are ready to work.
150
166
  - Do NOT modify any project source files
151
167
  - Do NOT create CLI wrapper files or scripts
152
168
  - Only read source files for analysis, write only to ARCHITECTURE.md, DESIGN.md, AGENTS.md, openspec/config.yaml, and openspec/
169
+ - `npm install` (step 6) is allowed to modify `.opencode/package-lock.json` and `.opencode/node_modules/`
153
170
 
154
171
  <!-- AGENTS-TEMPLATE-START -->
155
172
  # AGENTS.md
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "opencode-onboard",
3
- "version": "0.4.15",
4
- "description": "Prepare any brownfield codebase for AI agent workflows using OpenCode, OpenSpec, and ensemble orchestration.",
3
+ "version": "0.5.1",
4
+ "description": "Prepare any codebase for AI agent workflows using OpenCode, OpenSpec, and ensemble orchestration.",
5
5
  "keywords": [
6
6
  "opencode",
7
7
  "ai",
@@ -44,6 +44,7 @@ export async function installQuota(options = {}) {
44
44
  try {
45
45
  const opencodeDir = path.join(process.cwd(), '.opencode')
46
46
  const opencodePath = path.join(opencodeDir, 'opencode.json')
47
+ const pkgPath = path.join(opencodeDir, 'package.json')
47
48
  const tuiPath = path.join(opencodeDir, 'tui.json')
48
49
  const quotaDir = path.join(opencodeDir, 'opencode-quota')
49
50
  const quotaPath = path.join(quotaDir, 'quota-toast.json')
@@ -52,6 +53,10 @@ export async function installQuota(options = {}) {
52
53
  ? await fse.readJson(opencodePath)
53
54
  : { $schema: 'https://opencode.ai/config.json' }
54
55
 
56
+ const pkg = await fse.pathExists(pkgPath)
57
+ ? await fse.readJson(pkgPath)
58
+ : {}
59
+
55
60
  const tui = await fse.pathExists(tuiPath)
56
61
  ? await fse.readJson(tuiPath)
57
62
  : { $schema: 'https://opencode.ai/tui.json' }
@@ -59,8 +64,15 @@ export async function installQuota(options = {}) {
59
64
  ensurePlugin(opencode)
60
65
  ensurePlugin(tui)
61
66
 
67
+ if (!pkg.dependencies) pkg.dependencies = {}
68
+ const pkgName = PLUGIN.replace(/@latest$/, '')
69
+ if (!(pkgName in pkg.dependencies)) {
70
+ pkg.dependencies[pkgName] = 'latest'
71
+ }
72
+
62
73
  await fse.ensureDir(opencodeDir)
63
74
  await fse.writeJson(opencodePath, opencode, { spaces: 2 })
75
+ await fse.writeJson(pkgPath, pkg, { spaces: 2 })
64
76
  await fse.writeJson(tuiPath, tui, { spaces: 2 })
65
77
 
66
78
  const quotaConfig = await fse.pathExists(quotaPath)
@@ -1,378 +0,0 @@
1
- {
2
- "name": ".opencode",
3
- "lockfileVersion": 3,
4
- "requires": true,
5
- "packages": {
6
- "": {
7
- "dependencies": {
8
- "@opencode-ai/plugin": "1.14.19"
9
- }
10
- },
11
- "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
12
- "version": "3.0.3",
13
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
14
- "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
15
- "cpu": [
16
- "arm64"
17
- ],
18
- "license": "MIT",
19
- "optional": true,
20
- "os": [
21
- "darwin"
22
- ]
23
- },
24
- "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
25
- "version": "3.0.3",
26
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
27
- "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
28
- "cpu": [
29
- "x64"
30
- ],
31
- "license": "MIT",
32
- "optional": true,
33
- "os": [
34
- "darwin"
35
- ]
36
- },
37
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
38
- "version": "3.0.3",
39
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
40
- "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
41
- "cpu": [
42
- "arm"
43
- ],
44
- "license": "MIT",
45
- "optional": true,
46
- "os": [
47
- "linux"
48
- ]
49
- },
50
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
51
- "version": "3.0.3",
52
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
53
- "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
54
- "cpu": [
55
- "arm64"
56
- ],
57
- "license": "MIT",
58
- "optional": true,
59
- "os": [
60
- "linux"
61
- ]
62
- },
63
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
64
- "version": "3.0.3",
65
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
66
- "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
67
- "cpu": [
68
- "x64"
69
- ],
70
- "license": "MIT",
71
- "optional": true,
72
- "os": [
73
- "linux"
74
- ]
75
- },
76
- "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
77
- "version": "3.0.3",
78
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
79
- "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
80
- "cpu": [
81
- "x64"
82
- ],
83
- "license": "MIT",
84
- "optional": true,
85
- "os": [
86
- "win32"
87
- ]
88
- },
89
- "node_modules/@opencode-ai/plugin": {
90
- "version": "1.14.19",
91
- "resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.14.19.tgz",
92
- "integrity": "sha512-g0C8Viocybmet7nBqJK/1xrQnacRS1f30VmqRTPScPmWz+4knIZzc2TEQp8+920sN8rB6BuoGwfBUVRXJmavhQ==",
93
- "license": "MIT",
94
- "dependencies": {
95
- "@opencode-ai/sdk": "1.14.19",
96
- "effect": "4.0.0-beta.48",
97
- "zod": "4.1.8"
98
- },
99
- "peerDependencies": {
100
- "@opentui/core": ">=0.1.101",
101
- "@opentui/solid": ">=0.1.101"
102
- },
103
- "peerDependenciesMeta": {
104
- "@opentui/core": {
105
- "optional": true
106
- },
107
- "@opentui/solid": {
108
- "optional": true
109
- }
110
- }
111
- },
112
- "node_modules/@opencode-ai/sdk": {
113
- "version": "1.14.19",
114
- "resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.14.19.tgz",
115
- "integrity": "sha512-9sTGsi8/HlBBeaWfsUjdJ2yi/SqpRvqSld0IFXc3ldaPb1w1uIPvgCGzhlHYQtqatXxSaX5lTN7zpudMaE21aw==",
116
- "license": "MIT",
117
- "dependencies": {
118
- "cross-spawn": "7.0.6"
119
- }
120
- },
121
- "node_modules/@standard-schema/spec": {
122
- "version": "1.1.0",
123
- "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
124
- "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
125
- "license": "MIT"
126
- },
127
- "node_modules/cross-spawn": {
128
- "version": "7.0.6",
129
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
130
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
131
- "license": "MIT",
132
- "dependencies": {
133
- "path-key": "^3.1.0",
134
- "shebang-command": "^2.0.0",
135
- "which": "^2.0.1"
136
- },
137
- "engines": {
138
- "node": ">= 8"
139
- }
140
- },
141
- "node_modules/detect-libc": {
142
- "version": "2.1.2",
143
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
144
- "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
145
- "license": "Apache-2.0",
146
- "optional": true,
147
- "engines": {
148
- "node": ">=8"
149
- }
150
- },
151
- "node_modules/effect": {
152
- "version": "4.0.0-beta.48",
153
- "resolved": "https://registry.npmjs.org/effect/-/effect-4.0.0-beta.48.tgz",
154
- "integrity": "sha512-MMAM/ZabuNdNmgXiin+BAanQXK7qM8mlt7nfXDoJ/Gn9V8i89JlCq+2N0AiWmqFLXjGLA0u3FjiOjSOYQk5uMw==",
155
- "license": "MIT",
156
- "dependencies": {
157
- "@standard-schema/spec": "^1.1.0",
158
- "fast-check": "^4.6.0",
159
- "find-my-way-ts": "^0.1.6",
160
- "ini": "^6.0.0",
161
- "kubernetes-types": "^1.30.0",
162
- "msgpackr": "^1.11.9",
163
- "multipasta": "^0.2.7",
164
- "toml": "^4.1.1",
165
- "uuid": "^13.0.0",
166
- "yaml": "^2.8.3"
167
- }
168
- },
169
- "node_modules/fast-check": {
170
- "version": "4.7.0",
171
- "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.7.0.tgz",
172
- "integrity": "sha512-NsZRtqvSSoCP0HbNjUD+r1JH8zqZalyp6gLY9e7OYs7NK9b6AHOs2baBFeBG7bVNsuoukh89x2Yg3rPsul8ziQ==",
173
- "funding": [
174
- {
175
- "type": "individual",
176
- "url": "https://github.com/sponsors/dubzzz"
177
- },
178
- {
179
- "type": "opencollective",
180
- "url": "https://opencollective.com/fast-check"
181
- }
182
- ],
183
- "license": "MIT",
184
- "dependencies": {
185
- "pure-rand": "^8.0.0"
186
- },
187
- "engines": {
188
- "node": ">=12.17.0"
189
- }
190
- },
191
- "node_modules/find-my-way-ts": {
192
- "version": "0.1.6",
193
- "resolved": "https://registry.npmjs.org/find-my-way-ts/-/find-my-way-ts-0.1.6.tgz",
194
- "integrity": "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA==",
195
- "license": "MIT"
196
- },
197
- "node_modules/ini": {
198
- "version": "6.0.0",
199
- "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz",
200
- "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==",
201
- "license": "ISC",
202
- "engines": {
203
- "node": "^20.17.0 || >=22.9.0"
204
- }
205
- },
206
- "node_modules/isexe": {
207
- "version": "2.0.0",
208
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
209
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
210
- "license": "ISC"
211
- },
212
- "node_modules/kubernetes-types": {
213
- "version": "1.30.0",
214
- "resolved": "https://registry.npmjs.org/kubernetes-types/-/kubernetes-types-1.30.0.tgz",
215
- "integrity": "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q==",
216
- "license": "Apache-2.0"
217
- },
218
- "node_modules/msgpackr": {
219
- "version": "1.11.10",
220
- "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.10.tgz",
221
- "integrity": "sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==",
222
- "license": "MIT",
223
- "optionalDependencies": {
224
- "msgpackr-extract": "^3.0.2"
225
- }
226
- },
227
- "node_modules/msgpackr-extract": {
228
- "version": "3.0.3",
229
- "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
230
- "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
231
- "hasInstallScript": true,
232
- "license": "MIT",
233
- "optional": true,
234
- "dependencies": {
235
- "node-gyp-build-optional-packages": "5.2.2"
236
- },
237
- "bin": {
238
- "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
239
- },
240
- "optionalDependencies": {
241
- "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
242
- "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
243
- "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
244
- "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
245
- "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
246
- "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
247
- }
248
- },
249
- "node_modules/multipasta": {
250
- "version": "0.2.7",
251
- "resolved": "https://registry.npmjs.org/multipasta/-/multipasta-0.2.7.tgz",
252
- "integrity": "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==",
253
- "license": "MIT"
254
- },
255
- "node_modules/node-gyp-build-optional-packages": {
256
- "version": "5.2.2",
257
- "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
258
- "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
259
- "license": "MIT",
260
- "optional": true,
261
- "dependencies": {
262
- "detect-libc": "^2.0.1"
263
- },
264
- "bin": {
265
- "node-gyp-build-optional-packages": "bin.js",
266
- "node-gyp-build-optional-packages-optional": "optional.js",
267
- "node-gyp-build-optional-packages-test": "build-test.js"
268
- }
269
- },
270
- "node_modules/path-key": {
271
- "version": "3.1.1",
272
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
273
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
274
- "license": "MIT",
275
- "engines": {
276
- "node": ">=8"
277
- }
278
- },
279
- "node_modules/pure-rand": {
280
- "version": "8.4.0",
281
- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-8.4.0.tgz",
282
- "integrity": "sha512-IoM8YF/jY0hiugFo/wOWqfmarlE6J0wc6fDK1PhftMk7MGhVZl88sZimmqBBFomLOCSmcCCpsfj7wXASCpvK9A==",
283
- "funding": [
284
- {
285
- "type": "individual",
286
- "url": "https://github.com/sponsors/dubzzz"
287
- },
288
- {
289
- "type": "opencollective",
290
- "url": "https://opencollective.com/fast-check"
291
- }
292
- ],
293
- "license": "MIT"
294
- },
295
- "node_modules/shebang-command": {
296
- "version": "2.0.0",
297
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
298
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
299
- "license": "MIT",
300
- "dependencies": {
301
- "shebang-regex": "^3.0.0"
302
- },
303
- "engines": {
304
- "node": ">=8"
305
- }
306
- },
307
- "node_modules/shebang-regex": {
308
- "version": "3.0.0",
309
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
310
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
311
- "license": "MIT",
312
- "engines": {
313
- "node": ">=8"
314
- }
315
- },
316
- "node_modules/toml": {
317
- "version": "4.1.1",
318
- "resolved": "https://registry.npmjs.org/toml/-/toml-4.1.1.tgz",
319
- "integrity": "sha512-EBJnVBr3dTXdA89WVFoAIPUqkBjxPMwRqsfuo1r240tKFHXv3zgca4+NJib/h6TyvGF7vOawz0jGuryJCdNHrw==",
320
- "license": "MIT",
321
- "engines": {
322
- "node": ">=20"
323
- }
324
- },
325
- "node_modules/uuid": {
326
- "version": "13.0.1",
327
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.1.tgz",
328
- "integrity": "sha512-9ezox2roIft6ExBVTVqibSd5dc5/47Sw/uY6b4SjQUT2TzQ0tltNquWA46y4xPQmdZYqvnio22SgWd41M86+jw==",
329
- "funding": [
330
- "https://github.com/sponsors/broofa",
331
- "https://github.com/sponsors/ctavan"
332
- ],
333
- "license": "MIT",
334
- "bin": {
335
- "uuid": "dist-node/bin/uuid"
336
- }
337
- },
338
- "node_modules/which": {
339
- "version": "2.0.2",
340
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
341
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
342
- "license": "ISC",
343
- "dependencies": {
344
- "isexe": "^2.0.0"
345
- },
346
- "bin": {
347
- "node-which": "bin/node-which"
348
- },
349
- "engines": {
350
- "node": ">= 8"
351
- }
352
- },
353
- "node_modules/yaml": {
354
- "version": "2.8.3",
355
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
356
- "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
357
- "license": "ISC",
358
- "bin": {
359
- "yaml": "bin.mjs"
360
- },
361
- "engines": {
362
- "node": ">= 14.6"
363
- },
364
- "funding": {
365
- "url": "https://github.com/sponsors/eemeli"
366
- }
367
- },
368
- "node_modules/zod": {
369
- "version": "4.1.8",
370
- "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.8.tgz",
371
- "integrity": "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==",
372
- "license": "MIT",
373
- "funding": {
374
- "url": "https://github.com/sponsors/colinhacks"
375
- }
376
- }
377
- }
378
- }