@haposoft/cafekit 0.15.1 → 0.16.0-rc.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 (99) hide show
  1. package/README.md +6 -2
  2. package/bin/__tests__/codex-hooks.test.js +140 -0
  3. package/bin/__tests__/codex-native.test.js +230 -2
  4. package/bin/__tests__/develop-contract.test.js +1120 -0
  5. package/bin/__tests__/installer-safety.test.js +553 -2
  6. package/bin/__tests__/package-inventory.test.js +258 -0
  7. package/bin/__tests__/secret-scanner.test.js +157 -0
  8. package/bin/__tests__/validator-grounding.test.js +713 -0
  9. package/bin/install.js +5 -1
  10. package/bin/lib/codex-install.js +21 -6
  11. package/bin/lib/context.js +17 -6
  12. package/bin/lib/copy-utils.js +31 -0
  13. package/bin/lib/i18n.js +12 -3
  14. package/bin/lib/instruction-blocks.js +85 -0
  15. package/bin/lib/managed-writer.js +4 -1
  16. package/bin/lib/opencode-install.js +75 -30
  17. package/bin/lib/skill-deps.js +45 -7
  18. package/bin/phases/claude-runtime.js +103 -4
  19. package/bin/phases/codex-runtime.js +41 -7
  20. package/bin/phases/post-install.js +29 -22
  21. package/bin/phases/root-config.js +89 -10
  22. package/bin/phases/select-platform.js +23 -0
  23. package/bin/phases/skills-setup.js +7 -3
  24. package/package.json +15 -5
  25. package/src/claude/CLAUDE.md +6 -122
  26. package/src/claude/agents/code-auditor.md +21 -22
  27. package/src/claude/agents/debugger.md +3 -3
  28. package/src/claude/agents/deployer.md +1 -1
  29. package/src/claude/agents/{god-developer.md → implementer.md} +2 -2
  30. package/src/claude/agents/project-manager.md +1 -1
  31. package/src/claude/agents/spec-maker.md +2 -2
  32. package/src/claude/hooks/__tests__/spec-gate.test.js +356 -5
  33. package/src/claude/hooks/agent.cjs +7 -14
  34. package/src/claude/hooks/rules.cjs +33 -53
  35. package/src/claude/hooks/spec-gate.cjs +66 -21
  36. package/src/claude/hooks/spec-state.cjs +5 -0
  37. package/src/claude/migration-manifest.json +9 -2
  38. package/src/claude/runtime.json +0 -3
  39. package/src/claude/scripts/generate-skill-catalog.cjs +1 -1
  40. package/src/claude/scripts/scan-staged-secrets.cjs +170 -0
  41. package/src/claude/scripts/spec-ground.cjs +189 -83
  42. package/src/claude/scripts/validate-spec-output.cjs +294 -30
  43. package/src/claude/scripts/workflow-policy.cjs +609 -0
  44. package/src/claude/skills/ai-multimodal/SKILL.md +2 -2
  45. package/src/claude/skills/ai-multimodal/references/audio-processing.md +6 -6
  46. package/src/claude/skills/ai-multimodal/references/video-analysis.md +1 -1
  47. package/src/claude/skills/backend-development/SKILL.md +4 -4
  48. package/src/claude/skills/backend-development/references/backend-architecture.md +1 -1
  49. package/src/claude/skills/backend-development/references/backend-devops.md +2 -2
  50. package/src/claude/skills/backend-development/references/backend-mindset.md +3 -3
  51. package/src/claude/skills/backend-development/references/backend-performance.md +5 -5
  52. package/src/claude/skills/backend-development/references/backend-security.md +3 -3
  53. package/src/claude/skills/backend-development/references/backend-technologies.md +5 -5
  54. package/src/claude/skills/backend-development/references/backend-testing.md +2 -2
  55. package/src/claude/skills/brainstorm/SKILL.md +2 -3
  56. package/src/claude/skills/chrome-devtools/scripts/package-lock.json +261 -150
  57. package/src/claude/skills/chrome-devtools/scripts/package.json +1 -1
  58. package/src/claude/skills/code-review/SKILL.md +12 -8
  59. package/src/claude/skills/code-review/references/verification-gate.md +4 -4
  60. package/src/claude/skills/debug/SKILL.md +2 -0
  61. package/src/claude/skills/develop/SKILL.md +100 -52
  62. package/src/claude/skills/develop/references/parallel-waves.md +105 -26
  63. package/src/claude/skills/develop/references/quality-gate.md +58 -38
  64. package/src/claude/skills/develop/references/subagent-patterns.md +2 -2
  65. package/src/claude/skills/git/SKILL.md +44 -50
  66. package/src/claude/skills/hotfix/SKILL.md +10 -8
  67. package/src/claude/skills/hotfix/references/parallel-patterns.md +2 -2
  68. package/src/claude/skills/hotfix/references/review-cycle.md +26 -21
  69. package/src/claude/skills/inspect/SKILL.md +12 -30
  70. package/src/claude/skills/mobile-development/SKILL.md +12 -12
  71. package/src/claude/skills/mobile-development/references/mobile-android.md +7 -7
  72. package/src/claude/skills/mobile-development/references/mobile-best-practices.md +22 -23
  73. package/src/claude/skills/mobile-development/references/mobile-frameworks.md +13 -13
  74. package/src/claude/skills/mobile-development/references/mobile-ios.md +1 -1
  75. package/src/claude/skills/mobile-development/references/mobile-mindset.md +17 -19
  76. package/src/claude/skills/pptx/scripts/package-lock.json +868 -0
  77. package/src/claude/skills/pptx/scripts/package.json +1 -1
  78. package/src/claude/skills/question/SKILL.md +13 -13
  79. package/src/claude/skills/research/SKILL.md +2 -2
  80. package/src/claude/skills/specs/SKILL.md +32 -15
  81. package/src/claude/skills/specs/references/review.md +3 -3
  82. package/src/claude/skills/specs/rules/tasks-generation.md +1 -1
  83. package/src/claude/skills/specs/templates/spec-state.json +7 -3
  84. package/src/claude/skills/sync/SKILL.md +26 -1
  85. package/src/claude/skills/sync/references/sync-protocols.md +3 -3
  86. package/src/claude/skills/test/SKILL.md +12 -4
  87. package/src/claude/skills/test/references/failure-triage.md +17 -17
  88. package/src/claude/skills/test/references/test-memory.md +2 -2
  89. package/src/codex/AGENTS.md +16 -24
  90. package/src/codex/hooks/lib/spec-receipt.cjs +57 -4
  91. package/src/codex/hooks/rules.cjs +27 -26
  92. package/src/codex/hooks/spec-gate.cjs +19 -8
  93. package/src/codex/hooks/spec-state.cjs +10 -1
  94. package/src/codex/hooks.json +14 -14
  95. package/src/common/AGENTS.md +43 -0
  96. package/src/opencode/AGENTS.md +21 -121
  97. package/src/opencode/plugins/rules.ts +26 -34
  98. package/src/opencode/plugins/spec-gate.ts +283 -0
  99. package/src/claude/skills/inspect/references/external-gemini-inspection.md +0 -169
@@ -0,0 +1,868 @@
1
+ {
2
+ "name": "cafekit-skill-pptx",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "cafekit-skill-pptx",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "playwright": "^1.40.0",
12
+ "pptxgenjs": "^3.12.0",
13
+ "react": "^18.0.0",
14
+ "react-dom": "^18.0.0",
15
+ "react-icons": "^5.0.0",
16
+ "sharp": "^0.35.0"
17
+ }
18
+ },
19
+ "node_modules/@emnapi/runtime": {
20
+ "version": "1.11.3",
21
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz",
22
+ "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==",
23
+ "license": "MIT",
24
+ "optional": true,
25
+ "dependencies": {
26
+ "tslib": "^2.4.0"
27
+ }
28
+ },
29
+ "node_modules/@img/colour": {
30
+ "version": "1.1.0",
31
+ "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz",
32
+ "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==",
33
+ "license": "MIT",
34
+ "engines": {
35
+ "node": ">=18"
36
+ }
37
+ },
38
+ "node_modules/@img/sharp-darwin-arm64": {
39
+ "version": "0.35.3",
40
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz",
41
+ "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==",
42
+ "cpu": [
43
+ "arm64"
44
+ ],
45
+ "license": "Apache-2.0",
46
+ "optional": true,
47
+ "os": [
48
+ "darwin"
49
+ ],
50
+ "engines": {
51
+ "node": ">=20.9.0"
52
+ },
53
+ "funding": {
54
+ "url": "https://opencollective.com/libvips"
55
+ },
56
+ "optionalDependencies": {
57
+ "@img/sharp-libvips-darwin-arm64": "1.3.2"
58
+ }
59
+ },
60
+ "node_modules/@img/sharp-darwin-x64": {
61
+ "version": "0.35.3",
62
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz",
63
+ "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==",
64
+ "cpu": [
65
+ "x64"
66
+ ],
67
+ "license": "Apache-2.0",
68
+ "optional": true,
69
+ "os": [
70
+ "darwin"
71
+ ],
72
+ "engines": {
73
+ "node": ">=20.9.0"
74
+ },
75
+ "funding": {
76
+ "url": "https://opencollective.com/libvips"
77
+ },
78
+ "optionalDependencies": {
79
+ "@img/sharp-libvips-darwin-x64": "1.3.2"
80
+ }
81
+ },
82
+ "node_modules/@img/sharp-freebsd-wasm32": {
83
+ "version": "0.35.3",
84
+ "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz",
85
+ "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==",
86
+ "license": "Apache-2.0",
87
+ "optional": true,
88
+ "os": [
89
+ "freebsd"
90
+ ],
91
+ "dependencies": {
92
+ "@img/sharp-wasm32": "0.35.3"
93
+ },
94
+ "engines": {
95
+ "node": ">=20.9.0"
96
+ },
97
+ "funding": {
98
+ "url": "https://opencollective.com/libvips"
99
+ }
100
+ },
101
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
102
+ "version": "1.3.2",
103
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz",
104
+ "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==",
105
+ "cpu": [
106
+ "arm64"
107
+ ],
108
+ "license": "LGPL-3.0-or-later",
109
+ "optional": true,
110
+ "os": [
111
+ "darwin"
112
+ ],
113
+ "funding": {
114
+ "url": "https://opencollective.com/libvips"
115
+ }
116
+ },
117
+ "node_modules/@img/sharp-libvips-darwin-x64": {
118
+ "version": "1.3.2",
119
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz",
120
+ "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==",
121
+ "cpu": [
122
+ "x64"
123
+ ],
124
+ "license": "LGPL-3.0-or-later",
125
+ "optional": true,
126
+ "os": [
127
+ "darwin"
128
+ ],
129
+ "funding": {
130
+ "url": "https://opencollective.com/libvips"
131
+ }
132
+ },
133
+ "node_modules/@img/sharp-libvips-linux-arm": {
134
+ "version": "1.3.2",
135
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz",
136
+ "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==",
137
+ "cpu": [
138
+ "arm"
139
+ ],
140
+ "license": "LGPL-3.0-or-later",
141
+ "optional": true,
142
+ "os": [
143
+ "linux"
144
+ ],
145
+ "funding": {
146
+ "url": "https://opencollective.com/libvips"
147
+ }
148
+ },
149
+ "node_modules/@img/sharp-libvips-linux-arm64": {
150
+ "version": "1.3.2",
151
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz",
152
+ "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==",
153
+ "cpu": [
154
+ "arm64"
155
+ ],
156
+ "license": "LGPL-3.0-or-later",
157
+ "optional": true,
158
+ "os": [
159
+ "linux"
160
+ ],
161
+ "funding": {
162
+ "url": "https://opencollective.com/libvips"
163
+ }
164
+ },
165
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
166
+ "version": "1.3.2",
167
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz",
168
+ "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==",
169
+ "cpu": [
170
+ "ppc64"
171
+ ],
172
+ "license": "LGPL-3.0-or-later",
173
+ "optional": true,
174
+ "os": [
175
+ "linux"
176
+ ],
177
+ "funding": {
178
+ "url": "https://opencollective.com/libvips"
179
+ }
180
+ },
181
+ "node_modules/@img/sharp-libvips-linux-riscv64": {
182
+ "version": "1.3.2",
183
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz",
184
+ "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==",
185
+ "cpu": [
186
+ "riscv64"
187
+ ],
188
+ "license": "LGPL-3.0-or-later",
189
+ "optional": true,
190
+ "os": [
191
+ "linux"
192
+ ],
193
+ "funding": {
194
+ "url": "https://opencollective.com/libvips"
195
+ }
196
+ },
197
+ "node_modules/@img/sharp-libvips-linux-s390x": {
198
+ "version": "1.3.2",
199
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz",
200
+ "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==",
201
+ "cpu": [
202
+ "s390x"
203
+ ],
204
+ "license": "LGPL-3.0-or-later",
205
+ "optional": true,
206
+ "os": [
207
+ "linux"
208
+ ],
209
+ "funding": {
210
+ "url": "https://opencollective.com/libvips"
211
+ }
212
+ },
213
+ "node_modules/@img/sharp-libvips-linux-x64": {
214
+ "version": "1.3.2",
215
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz",
216
+ "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==",
217
+ "cpu": [
218
+ "x64"
219
+ ],
220
+ "license": "LGPL-3.0-or-later",
221
+ "optional": true,
222
+ "os": [
223
+ "linux"
224
+ ],
225
+ "funding": {
226
+ "url": "https://opencollective.com/libvips"
227
+ }
228
+ },
229
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
230
+ "version": "1.3.2",
231
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz",
232
+ "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==",
233
+ "cpu": [
234
+ "arm64"
235
+ ],
236
+ "license": "LGPL-3.0-or-later",
237
+ "optional": true,
238
+ "os": [
239
+ "linux"
240
+ ],
241
+ "funding": {
242
+ "url": "https://opencollective.com/libvips"
243
+ }
244
+ },
245
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
246
+ "version": "1.3.2",
247
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz",
248
+ "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==",
249
+ "cpu": [
250
+ "x64"
251
+ ],
252
+ "license": "LGPL-3.0-or-later",
253
+ "optional": true,
254
+ "os": [
255
+ "linux"
256
+ ],
257
+ "funding": {
258
+ "url": "https://opencollective.com/libvips"
259
+ }
260
+ },
261
+ "node_modules/@img/sharp-linux-arm": {
262
+ "version": "0.35.3",
263
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz",
264
+ "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==",
265
+ "cpu": [
266
+ "arm"
267
+ ],
268
+ "license": "Apache-2.0",
269
+ "optional": true,
270
+ "os": [
271
+ "linux"
272
+ ],
273
+ "engines": {
274
+ "node": ">=20.9.0"
275
+ },
276
+ "funding": {
277
+ "url": "https://opencollective.com/libvips"
278
+ },
279
+ "optionalDependencies": {
280
+ "@img/sharp-libvips-linux-arm": "1.3.2"
281
+ }
282
+ },
283
+ "node_modules/@img/sharp-linux-arm64": {
284
+ "version": "0.35.3",
285
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz",
286
+ "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==",
287
+ "cpu": [
288
+ "arm64"
289
+ ],
290
+ "license": "Apache-2.0",
291
+ "optional": true,
292
+ "os": [
293
+ "linux"
294
+ ],
295
+ "engines": {
296
+ "node": ">=20.9.0"
297
+ },
298
+ "funding": {
299
+ "url": "https://opencollective.com/libvips"
300
+ },
301
+ "optionalDependencies": {
302
+ "@img/sharp-libvips-linux-arm64": "1.3.2"
303
+ }
304
+ },
305
+ "node_modules/@img/sharp-linux-ppc64": {
306
+ "version": "0.35.3",
307
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz",
308
+ "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==",
309
+ "cpu": [
310
+ "ppc64"
311
+ ],
312
+ "license": "Apache-2.0",
313
+ "optional": true,
314
+ "os": [
315
+ "linux"
316
+ ],
317
+ "engines": {
318
+ "node": ">=20.9.0"
319
+ },
320
+ "funding": {
321
+ "url": "https://opencollective.com/libvips"
322
+ },
323
+ "optionalDependencies": {
324
+ "@img/sharp-libvips-linux-ppc64": "1.3.2"
325
+ }
326
+ },
327
+ "node_modules/@img/sharp-linux-riscv64": {
328
+ "version": "0.35.3",
329
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz",
330
+ "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==",
331
+ "cpu": [
332
+ "riscv64"
333
+ ],
334
+ "license": "Apache-2.0",
335
+ "optional": true,
336
+ "os": [
337
+ "linux"
338
+ ],
339
+ "engines": {
340
+ "node": ">=20.9.0"
341
+ },
342
+ "funding": {
343
+ "url": "https://opencollective.com/libvips"
344
+ },
345
+ "optionalDependencies": {
346
+ "@img/sharp-libvips-linux-riscv64": "1.3.2"
347
+ }
348
+ },
349
+ "node_modules/@img/sharp-linux-s390x": {
350
+ "version": "0.35.3",
351
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz",
352
+ "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==",
353
+ "cpu": [
354
+ "s390x"
355
+ ],
356
+ "license": "Apache-2.0",
357
+ "optional": true,
358
+ "os": [
359
+ "linux"
360
+ ],
361
+ "engines": {
362
+ "node": ">=20.9.0"
363
+ },
364
+ "funding": {
365
+ "url": "https://opencollective.com/libvips"
366
+ },
367
+ "optionalDependencies": {
368
+ "@img/sharp-libvips-linux-s390x": "1.3.2"
369
+ }
370
+ },
371
+ "node_modules/@img/sharp-linux-x64": {
372
+ "version": "0.35.3",
373
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz",
374
+ "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==",
375
+ "cpu": [
376
+ "x64"
377
+ ],
378
+ "license": "Apache-2.0",
379
+ "optional": true,
380
+ "os": [
381
+ "linux"
382
+ ],
383
+ "engines": {
384
+ "node": ">=20.9.0"
385
+ },
386
+ "funding": {
387
+ "url": "https://opencollective.com/libvips"
388
+ },
389
+ "optionalDependencies": {
390
+ "@img/sharp-libvips-linux-x64": "1.3.2"
391
+ }
392
+ },
393
+ "node_modules/@img/sharp-linuxmusl-arm64": {
394
+ "version": "0.35.3",
395
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz",
396
+ "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==",
397
+ "cpu": [
398
+ "arm64"
399
+ ],
400
+ "license": "Apache-2.0",
401
+ "optional": true,
402
+ "os": [
403
+ "linux"
404
+ ],
405
+ "engines": {
406
+ "node": ">=20.9.0"
407
+ },
408
+ "funding": {
409
+ "url": "https://opencollective.com/libvips"
410
+ },
411
+ "optionalDependencies": {
412
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.2"
413
+ }
414
+ },
415
+ "node_modules/@img/sharp-linuxmusl-x64": {
416
+ "version": "0.35.3",
417
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz",
418
+ "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==",
419
+ "cpu": [
420
+ "x64"
421
+ ],
422
+ "license": "Apache-2.0",
423
+ "optional": true,
424
+ "os": [
425
+ "linux"
426
+ ],
427
+ "engines": {
428
+ "node": ">=20.9.0"
429
+ },
430
+ "funding": {
431
+ "url": "https://opencollective.com/libvips"
432
+ },
433
+ "optionalDependencies": {
434
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.2"
435
+ }
436
+ },
437
+ "node_modules/@img/sharp-wasm32": {
438
+ "version": "0.35.3",
439
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz",
440
+ "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==",
441
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
442
+ "optional": true,
443
+ "dependencies": {
444
+ "@emnapi/runtime": "^1.11.1"
445
+ },
446
+ "engines": {
447
+ "node": ">=20.9.0"
448
+ },
449
+ "funding": {
450
+ "url": "https://opencollective.com/libvips"
451
+ }
452
+ },
453
+ "node_modules/@img/sharp-webcontainers-wasm32": {
454
+ "version": "0.35.3",
455
+ "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz",
456
+ "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==",
457
+ "cpu": [
458
+ "wasm32"
459
+ ],
460
+ "license": "Apache-2.0",
461
+ "optional": true,
462
+ "dependencies": {
463
+ "@img/sharp-wasm32": "0.35.3"
464
+ },
465
+ "engines": {
466
+ "node": ">=20.9.0"
467
+ },
468
+ "funding": {
469
+ "url": "https://opencollective.com/libvips"
470
+ }
471
+ },
472
+ "node_modules/@img/sharp-win32-arm64": {
473
+ "version": "0.35.3",
474
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz",
475
+ "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==",
476
+ "cpu": [
477
+ "arm64"
478
+ ],
479
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
480
+ "optional": true,
481
+ "os": [
482
+ "win32"
483
+ ],
484
+ "engines": {
485
+ "node": ">=20.9.0"
486
+ },
487
+ "funding": {
488
+ "url": "https://opencollective.com/libvips"
489
+ }
490
+ },
491
+ "node_modules/@img/sharp-win32-ia32": {
492
+ "version": "0.35.3",
493
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz",
494
+ "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==",
495
+ "cpu": [
496
+ "ia32"
497
+ ],
498
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
499
+ "optional": true,
500
+ "os": [
501
+ "win32"
502
+ ],
503
+ "engines": {
504
+ "node": "^20.9.0"
505
+ },
506
+ "funding": {
507
+ "url": "https://opencollective.com/libvips"
508
+ }
509
+ },
510
+ "node_modules/@img/sharp-win32-x64": {
511
+ "version": "0.35.3",
512
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz",
513
+ "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==",
514
+ "cpu": [
515
+ "x64"
516
+ ],
517
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
518
+ "optional": true,
519
+ "os": [
520
+ "win32"
521
+ ],
522
+ "engines": {
523
+ "node": ">=20.9.0"
524
+ },
525
+ "funding": {
526
+ "url": "https://opencollective.com/libvips"
527
+ }
528
+ },
529
+ "node_modules/@types/node": {
530
+ "version": "18.19.130",
531
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz",
532
+ "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==",
533
+ "license": "MIT",
534
+ "dependencies": {
535
+ "undici-types": "~5.26.4"
536
+ }
537
+ },
538
+ "node_modules/core-util-is": {
539
+ "version": "1.0.3",
540
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
541
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
542
+ "license": "MIT"
543
+ },
544
+ "node_modules/detect-libc": {
545
+ "version": "2.1.2",
546
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
547
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
548
+ "license": "Apache-2.0",
549
+ "engines": {
550
+ "node": ">=8"
551
+ }
552
+ },
553
+ "node_modules/fsevents": {
554
+ "version": "2.3.2",
555
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
556
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
557
+ "hasInstallScript": true,
558
+ "license": "MIT",
559
+ "optional": true,
560
+ "os": [
561
+ "darwin"
562
+ ],
563
+ "engines": {
564
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
565
+ }
566
+ },
567
+ "node_modules/https": {
568
+ "version": "1.0.0",
569
+ "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz",
570
+ "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==",
571
+ "license": "ISC"
572
+ },
573
+ "node_modules/image-size": {
574
+ "version": "1.2.1",
575
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz",
576
+ "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==",
577
+ "license": "MIT",
578
+ "dependencies": {
579
+ "queue": "6.0.2"
580
+ },
581
+ "bin": {
582
+ "image-size": "bin/image-size.js"
583
+ },
584
+ "engines": {
585
+ "node": ">=16.x"
586
+ }
587
+ },
588
+ "node_modules/immediate": {
589
+ "version": "3.0.6",
590
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
591
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
592
+ "license": "MIT"
593
+ },
594
+ "node_modules/inherits": {
595
+ "version": "2.0.4",
596
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
597
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
598
+ "license": "ISC"
599
+ },
600
+ "node_modules/isarray": {
601
+ "version": "1.0.0",
602
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
603
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
604
+ "license": "MIT"
605
+ },
606
+ "node_modules/js-tokens": {
607
+ "version": "4.0.0",
608
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
609
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
610
+ "license": "MIT"
611
+ },
612
+ "node_modules/jszip": {
613
+ "version": "3.10.1",
614
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
615
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
616
+ "license": "(MIT OR GPL-3.0-or-later)",
617
+ "dependencies": {
618
+ "lie": "~3.3.0",
619
+ "pako": "~1.0.2",
620
+ "readable-stream": "~2.3.6",
621
+ "setimmediate": "^1.0.5"
622
+ }
623
+ },
624
+ "node_modules/lie": {
625
+ "version": "3.3.0",
626
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
627
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
628
+ "license": "MIT",
629
+ "dependencies": {
630
+ "immediate": "~3.0.5"
631
+ }
632
+ },
633
+ "node_modules/loose-envify": {
634
+ "version": "1.4.0",
635
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
636
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
637
+ "license": "MIT",
638
+ "dependencies": {
639
+ "js-tokens": "^3.0.0 || ^4.0.0"
640
+ },
641
+ "bin": {
642
+ "loose-envify": "cli.js"
643
+ }
644
+ },
645
+ "node_modules/pako": {
646
+ "version": "1.0.11",
647
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
648
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
649
+ "license": "(MIT AND Zlib)"
650
+ },
651
+ "node_modules/playwright": {
652
+ "version": "1.62.0",
653
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.0.tgz",
654
+ "integrity": "sha512-Z14dG305dgaLu6foB1TXQagFiW8JfSUIUaUuPaKQ6NtBPKF1P/qXcqfh6c6K/icPqdy37JmjbiBXf6JNg6Sylw==",
655
+ "license": "Apache-2.0",
656
+ "dependencies": {
657
+ "playwright-core": "1.62.0"
658
+ },
659
+ "bin": {
660
+ "playwright": "cli.js"
661
+ },
662
+ "engines": {
663
+ "node": ">=20"
664
+ },
665
+ "optionalDependencies": {
666
+ "fsevents": "2.3.2"
667
+ }
668
+ },
669
+ "node_modules/playwright-core": {
670
+ "version": "1.62.0",
671
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.0.tgz",
672
+ "integrity": "sha512-nsNRyq0r2zsG8AcRHWknc9QRA5XCueC7gWMrs+Gx2tlZn9hcl8zudfh00lhJPY1DE7NmZ6bDsT9g2yey8mXljA==",
673
+ "license": "Apache-2.0",
674
+ "bin": {
675
+ "playwright-core": "cli.js"
676
+ },
677
+ "engines": {
678
+ "node": ">=20"
679
+ }
680
+ },
681
+ "node_modules/pptxgenjs": {
682
+ "version": "3.12.0",
683
+ "resolved": "https://registry.npmjs.org/pptxgenjs/-/pptxgenjs-3.12.0.tgz",
684
+ "integrity": "sha512-ZozkYKWb1MoPR4ucw3/aFYlHkVIJxo9czikEclcUVnS4Iw/M+r+TEwdlB3fyAWO9JY1USxJDt0Y0/r15IR/RUA==",
685
+ "license": "MIT",
686
+ "dependencies": {
687
+ "@types/node": "^18.7.3",
688
+ "https": "^1.0.0",
689
+ "image-size": "^1.0.0",
690
+ "jszip": "^3.7.1"
691
+ }
692
+ },
693
+ "node_modules/process-nextick-args": {
694
+ "version": "2.0.1",
695
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
696
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
697
+ "license": "MIT"
698
+ },
699
+ "node_modules/queue": {
700
+ "version": "6.0.2",
701
+ "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
702
+ "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
703
+ "license": "MIT",
704
+ "dependencies": {
705
+ "inherits": "~2.0.3"
706
+ }
707
+ },
708
+ "node_modules/react": {
709
+ "version": "18.3.1",
710
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
711
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
712
+ "license": "MIT",
713
+ "dependencies": {
714
+ "loose-envify": "^1.1.0"
715
+ },
716
+ "engines": {
717
+ "node": ">=0.10.0"
718
+ }
719
+ },
720
+ "node_modules/react-dom": {
721
+ "version": "18.3.1",
722
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
723
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
724
+ "license": "MIT",
725
+ "dependencies": {
726
+ "loose-envify": "^1.1.0",
727
+ "scheduler": "^0.23.2"
728
+ },
729
+ "peerDependencies": {
730
+ "react": "^18.3.1"
731
+ }
732
+ },
733
+ "node_modules/react-icons": {
734
+ "version": "5.7.0",
735
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.7.0.tgz",
736
+ "integrity": "sha512-LBLy340Rzqy6+/yVhZKT3B/QpP1BZaesGqasf09HPOBzRarcDIFH0WwXlXQfE7q7ipxK4MSiC5DIBWURCny6fw==",
737
+ "license": "MIT",
738
+ "peerDependencies": {
739
+ "react": "*"
740
+ }
741
+ },
742
+ "node_modules/readable-stream": {
743
+ "version": "2.3.8",
744
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
745
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
746
+ "license": "MIT",
747
+ "dependencies": {
748
+ "core-util-is": "~1.0.0",
749
+ "inherits": "~2.0.3",
750
+ "isarray": "~1.0.0",
751
+ "process-nextick-args": "~2.0.0",
752
+ "safe-buffer": "~5.1.1",
753
+ "string_decoder": "~1.1.1",
754
+ "util-deprecate": "~1.0.1"
755
+ }
756
+ },
757
+ "node_modules/safe-buffer": {
758
+ "version": "5.1.2",
759
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
760
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
761
+ "license": "MIT"
762
+ },
763
+ "node_modules/scheduler": {
764
+ "version": "0.23.2",
765
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
766
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
767
+ "license": "MIT",
768
+ "dependencies": {
769
+ "loose-envify": "^1.1.0"
770
+ }
771
+ },
772
+ "node_modules/semver": {
773
+ "version": "7.8.5",
774
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
775
+ "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
776
+ "license": "ISC",
777
+ "bin": {
778
+ "semver": "bin/semver.js"
779
+ },
780
+ "engines": {
781
+ "node": ">=10"
782
+ }
783
+ },
784
+ "node_modules/setimmediate": {
785
+ "version": "1.0.5",
786
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
787
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
788
+ "license": "MIT"
789
+ },
790
+ "node_modules/sharp": {
791
+ "version": "0.35.3",
792
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz",
793
+ "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==",
794
+ "license": "Apache-2.0",
795
+ "dependencies": {
796
+ "@img/colour": "^1.1.0",
797
+ "detect-libc": "^2.1.2",
798
+ "semver": "^7.8.5"
799
+ },
800
+ "engines": {
801
+ "node": ">=20.9.0"
802
+ },
803
+ "funding": {
804
+ "url": "https://opencollective.com/libvips"
805
+ },
806
+ "optionalDependencies": {
807
+ "@img/sharp-darwin-arm64": "0.35.3",
808
+ "@img/sharp-darwin-x64": "0.35.3",
809
+ "@img/sharp-freebsd-wasm32": "0.35.3",
810
+ "@img/sharp-libvips-darwin-arm64": "1.3.2",
811
+ "@img/sharp-libvips-darwin-x64": "1.3.2",
812
+ "@img/sharp-libvips-linux-arm": "1.3.2",
813
+ "@img/sharp-libvips-linux-arm64": "1.3.2",
814
+ "@img/sharp-libvips-linux-ppc64": "1.3.2",
815
+ "@img/sharp-libvips-linux-riscv64": "1.3.2",
816
+ "@img/sharp-libvips-linux-s390x": "1.3.2",
817
+ "@img/sharp-libvips-linux-x64": "1.3.2",
818
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.2",
819
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.2",
820
+ "@img/sharp-linux-arm": "0.35.3",
821
+ "@img/sharp-linux-arm64": "0.35.3",
822
+ "@img/sharp-linux-ppc64": "0.35.3",
823
+ "@img/sharp-linux-riscv64": "0.35.3",
824
+ "@img/sharp-linux-s390x": "0.35.3",
825
+ "@img/sharp-linux-x64": "0.35.3",
826
+ "@img/sharp-linuxmusl-arm64": "0.35.3",
827
+ "@img/sharp-linuxmusl-x64": "0.35.3",
828
+ "@img/sharp-webcontainers-wasm32": "0.35.3",
829
+ "@img/sharp-win32-arm64": "0.35.3",
830
+ "@img/sharp-win32-ia32": "0.35.3",
831
+ "@img/sharp-win32-x64": "0.35.3"
832
+ },
833
+ "peerDependenciesMeta": {
834
+ "@types/node": {
835
+ "optional": true
836
+ }
837
+ }
838
+ },
839
+ "node_modules/string_decoder": {
840
+ "version": "1.1.1",
841
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
842
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
843
+ "license": "MIT",
844
+ "dependencies": {
845
+ "safe-buffer": "~5.1.0"
846
+ }
847
+ },
848
+ "node_modules/tslib": {
849
+ "version": "2.8.1",
850
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
851
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
852
+ "license": "0BSD",
853
+ "optional": true
854
+ },
855
+ "node_modules/undici-types": {
856
+ "version": "5.26.5",
857
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
858
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
859
+ "license": "MIT"
860
+ },
861
+ "node_modules/util-deprecate": {
862
+ "version": "1.0.2",
863
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
864
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
865
+ "license": "MIT"
866
+ }
867
+ }
868
+ }