create-spatius-app 0.1.2 → 0.1.3-beta.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 (52) hide show
  1. package/README.md +17 -6
  2. package/dist/cli.js +721 -143
  3. package/dist/templates.js +612 -66
  4. package/package.json +4 -4
  5. package/schemas/result-v3.schema.json +6 -2
  6. package/schemas/result-v4.schema.json +170 -0
  7. package/templates/cloudflare-livekit/agent/env.example +3 -0
  8. package/templates/cloudflare-livekit/agent/src/agent.py +5 -3
  9. package/templates/cloudflare-livekit/package-lock.json +70 -142
  10. package/templates/cloudflare-livekit/package.json +1 -1
  11. package/templates/cloudflare-livekit/pnpm-lock.yaml +96 -153
  12. package/templates/cloudflare-livekit/tests/dev-events.test.mjs +23 -0
  13. package/templates/cloudflare-livekit/tests/dev-fixtures.mjs +7 -3
  14. package/templates/cloudflare-livekit/tsconfig.web.json +1 -0
  15. package/templates/cloudflare-livekit/tsconfig.worker.json +1 -0
  16. package/templates/cloudflare-livekit/web/api.ts +12 -0
  17. package/templates/cloudflare-livekit/web/components/agents-ui/agent-chat-transcript.tsx +6 -90
  18. package/templates/cloudflare-livekit/web/components/transcript-view.tsx +90 -0
  19. package/templates/cloudflare-livekit/web/session-attempt.ts +23 -2
  20. package/templates/cloudflare-livekit/worker/capability.test.ts +31 -0
  21. package/templates/cloudflare-livekit/worker/capability.ts +72 -0
  22. package/templates/cloudflare-livekit/worker/index.test.ts +2 -2
  23. package/templates/cloudflare-livekit/worker/index.ts +15 -3
  24. package/templates/cloudflare-livekit/worker/session.ts +34 -0
  25. package/templates/layers/agora/AGENTS.md +8 -0
  26. package/templates/layers/agora/README.md +19 -0
  27. package/templates/layers/agora/env.example +9 -0
  28. package/templates/layers/agora/package-lock.json +6068 -0
  29. package/templates/layers/agora/package.json +54 -0
  30. package/templates/layers/agora/pnpm-lock.yaml +3816 -0
  31. package/templates/layers/agora/tsconfig.json +16 -0
  32. package/templates/layers/agora/vitest.config.ts +4 -0
  33. package/templates/layers/agora/web/App.tsx +174 -0
  34. package/templates/layers/agora/web/agora-session.test.ts +70 -0
  35. package/templates/layers/agora/web/agora-session.ts +267 -0
  36. package/templates/layers/agora/worker/agora.test.ts +60 -0
  37. package/templates/layers/agora/worker/agora.ts +165 -0
  38. package/templates/layers/agora/worker/index.ts +50 -0
  39. package/templates/layers/catalog/DEPLOYMENT.md +3 -0
  40. package/templates/layers/catalog/spatius.config.json +1 -0
  41. package/templates/layers/node/Dockerfile +12 -0
  42. package/templates/layers/node/dockerignore +10 -0
  43. package/templates/layers/node/package-lock.json +5569 -0
  44. package/templates/layers/node/pnpm-lock.yaml +3470 -0
  45. package/templates/layers/node/railway.json +8 -0
  46. package/templates/layers/node/scripts/dev-service.mjs +14 -0
  47. package/templates/layers/node/scripts/dev-web.mjs +22 -0
  48. package/templates/layers/node/server/index.ts +92 -0
  49. package/templates/layers/node/vite.config.ts +17 -0
  50. package/templates/layers/railway-agent/agent/railway.json +5 -0
  51. package/dist/cli.js.map +0 -1
  52. package/dist/templates.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-spatius-app",
3
- "version": "0.1.2",
4
- "description": "Create a Spatius app with a web frontend, Cloudflare Worker, and LiveKit agent.",
3
+ "version": "0.1.3-beta.1",
4
+ "description": "Create a Spatius voice-avatar app with LiveKit or Agora and your choice of hosting.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "create-spatius-app": "./dist/cli.js"
@@ -60,7 +60,7 @@
60
60
  "@eslint/js": "^10.0.1",
61
61
  "@types/node": "^26.4.1",
62
62
  "@vercel/detect-agent": "1.2.5",
63
- "@vitest/coverage-v8": "4.1.11",
63
+ "@vitest/coverage-v8": "5.0.0",
64
64
  "ajv": "8.20.0",
65
65
  "commander": "^15.0.0",
66
66
  "concurrently": "10.0.5",
@@ -73,7 +73,7 @@
73
73
  "tsx": "^4.23.13",
74
74
  "typescript": "^6.0.2",
75
75
  "typescript-eslint": "^8.69.0",
76
- "vitest": "^4.1.11",
76
+ "vitest": "^5.0.0",
77
77
  "yaml": "2.9.0"
78
78
  }
79
79
  }
@@ -26,6 +26,7 @@
26
26
  "actions",
27
27
  "packageManagers",
28
28
  "nextSteps",
29
+ "stack",
29
30
  "humanSteps"
30
31
  ],
31
32
  "properties": {
@@ -48,7 +49,7 @@
48
49
  "type": "string"
49
50
  },
50
51
  "template": {
51
- "const": "default"
52
+ "type": "string"
52
53
  },
53
54
  "created": {
54
55
  "type": "array",
@@ -81,7 +82,7 @@
81
82
  "packageManagers": {
82
83
  "type": "object",
83
84
  "additionalProperties": false,
84
- "required": ["javascript", "python"],
85
+ "required": ["javascript"],
85
86
  "properties": {
86
87
  "javascript": {
87
88
  "enum": ["npm", "pnpm", "bun"]
@@ -97,6 +98,9 @@
97
98
  "type": "string"
98
99
  }
99
100
  },
101
+ "stack": {
102
+ "type": "string"
103
+ },
100
104
  "humanSteps": {
101
105
  "type": "array",
102
106
  "description": "Human prerequisites before running the app. Commands run from projectDirectory. On dry runs these are planned steps after creation, not actions already performed.",
@@ -0,0 +1,170 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "create-spatius-app result v4",
4
+ "oneOf": [
5
+ {
6
+ "$ref": "#/$defs/success"
7
+ },
8
+ {
9
+ "$ref": "#/$defs/failure"
10
+ }
11
+ ],
12
+ "$defs": {
13
+ "success": {
14
+ "type": "object",
15
+ "additionalProperties": false,
16
+ "required": [
17
+ "schemaVersion",
18
+ "ok",
19
+ "command",
20
+ "dryRun",
21
+ "generatorVersion",
22
+ "projectDirectory",
23
+ "created",
24
+ "wouldCreate",
25
+ "actions",
26
+ "packageManagers",
27
+ "nextSteps",
28
+ "stack",
29
+ "humanSteps"
30
+ ],
31
+ "properties": {
32
+ "schemaVersion": {
33
+ "const": 4
34
+ },
35
+ "ok": {
36
+ "const": true
37
+ },
38
+ "command": {
39
+ "const": "create"
40
+ },
41
+ "dryRun": {
42
+ "type": "boolean"
43
+ },
44
+ "generatorVersion": {
45
+ "type": "string"
46
+ },
47
+ "projectDirectory": {
48
+ "type": "string"
49
+ },
50
+ "created": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "wouldCreate": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string"
60
+ }
61
+ },
62
+ "actions": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": ["dependenciesInstalled", "gitInitialized", "deployed"],
66
+ "properties": {
67
+ "dependenciesInstalled": {
68
+ "type": "boolean"
69
+ },
70
+ "gitInitialized": {
71
+ "const": false
72
+ },
73
+ "deployed": {
74
+ "const": false
75
+ }
76
+ }
77
+ },
78
+ "packageManagers": {
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "required": ["javascript"],
82
+ "properties": {
83
+ "javascript": {
84
+ "enum": ["npm", "pnpm", "bun"]
85
+ },
86
+ "python": {
87
+ "enum": ["pip", "uv"]
88
+ }
89
+ }
90
+ },
91
+ "nextSteps": {
92
+ "type": "array",
93
+ "items": {
94
+ "type": "string"
95
+ }
96
+ },
97
+ "stack": {
98
+ "type": "string"
99
+ },
100
+ "humanSteps": {
101
+ "type": "array",
102
+ "description": "Human prerequisites before running the app. Commands run from projectDirectory. On dry runs these are planned steps after creation, not actions already performed.",
103
+ "items": {
104
+ "type": "object",
105
+ "additionalProperties": false,
106
+ "required": ["command", "reason", "requiresHuman", "requiresTty"],
107
+ "properties": {
108
+ "command": {
109
+ "type": "string"
110
+ },
111
+ "reason": {
112
+ "type": "string"
113
+ },
114
+ "requiresHuman": {
115
+ "const": true
116
+ },
117
+ "requiresTty": {
118
+ "const": true
119
+ }
120
+ }
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "failure": {
126
+ "type": "object",
127
+ "additionalProperties": false,
128
+ "required": ["schemaVersion", "ok", "error"],
129
+ "properties": {
130
+ "schemaVersion": {
131
+ "const": 4
132
+ },
133
+ "ok": {
134
+ "const": false
135
+ },
136
+ "error": {
137
+ "type": "object",
138
+ "additionalProperties": false,
139
+ "required": ["code", "message"],
140
+ "properties": {
141
+ "code": {
142
+ "enum": [
143
+ "CANCELLED",
144
+ "FILESYSTEM_ERROR",
145
+ "INSTALL_FAILED",
146
+ "INVALID_ARGUMENT",
147
+ "PACKAGE_MANAGER_NOT_FOUND",
148
+ "PACKAGE_MANAGER_UNAVAILABLE",
149
+ "TARGET_NOT_DIRECTORY",
150
+ "TARGET_NOT_EMPTY",
151
+ "TEMPLATE_NOT_FOUND",
152
+ "UNSAFE_TARGET",
153
+ "UNKNOWN_ERROR"
154
+ ]
155
+ },
156
+ "message": {
157
+ "type": "string"
158
+ },
159
+ "path": {
160
+ "type": "string"
161
+ },
162
+ "recovery": {
163
+ "type": "string"
164
+ }
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }
@@ -6,3 +6,6 @@ LIVEKIT_API_SECRET=your-livekit-api-secret
6
6
  # Spatius credentials
7
7
  SPATIUS_API_KEY=your-spatius-api-key
8
8
  SPATIUS_APP_ID=your-spatius-app-id
9
+
10
+ # Companion only: public web API origin (local Vite default).
11
+ SPATIUS_API_ORIGIN=http://localhost:5173
@@ -25,10 +25,11 @@ load_dotenv(".env.local")
25
25
 
26
26
 
27
27
  class Assistant(Agent):
28
- def __init__(self) -> None:
28
+ def __init__(self, instructions: str | None = None) -> None:
29
29
  super().__init__(
30
30
  llm=inference.LLM(model="google/gemma-4-31b-it"),
31
- instructions=textwrap.dedent(
31
+ instructions=instructions
32
+ or textwrap.dedent(
32
33
  """\
33
34
  You are a warm, concise voice assistant speaking through a digital
34
35
  avatar. Help the user directly and conversationally.
@@ -82,8 +83,9 @@ async def spatius_agent(ctx: JobContext) -> None:
82
83
  avatar = spatius.AvatarSession(avatar_id=dispatch_metadata.avatar_id)
83
84
  await avatar.start(session, room=ctx.room)
84
85
 
86
+ assistant = Assistant()
85
87
  await session.start(
86
- agent=Assistant(),
88
+ agent=assistant,
87
89
  room=ctx.room,
88
90
  room_options=room_io.RoomOptions(
89
91
  audio_input=room_io.AudioInputOptions(
@@ -41,7 +41,7 @@
41
41
  "typescript": "6.0.3",
42
42
  "typescript-eslint": "8.69.0",
43
43
  "vite": "8.2.2",
44
- "vitest": "4.1.11",
44
+ "vitest": "5.0.0",
45
45
  "wrangler": "4.129.0"
46
46
  },
47
47
  "engines": {
@@ -2486,13 +2486,6 @@
2486
2486
  "dev": true,
2487
2487
  "license": "CC0-1.0"
2488
2488
  },
2489
- "node_modules/@standard-schema/spec": {
2490
- "version": "1.1.0",
2491
- "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
2492
- "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
2493
- "dev": true,
2494
- "license": "MIT"
2495
- },
2496
2489
  "node_modules/@tailwindcss/node": {
2497
2490
  "version": "4.3.3",
2498
2491
  "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.3.tgz",
@@ -3527,34 +3520,17 @@
3527
3520
  }
3528
3521
  }
3529
3522
  },
3530
- "node_modules/@vitest/expect": {
3531
- "version": "4.1.11",
3532
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.11.tgz",
3533
- "integrity": "sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==",
3534
- "dev": true,
3535
- "license": "MIT",
3536
- "dependencies": {
3537
- "@standard-schema/spec": "^1.1.0",
3538
- "@types/chai": "^5.2.2",
3539
- "@vitest/spy": "4.1.11",
3540
- "@vitest/utils": "4.1.11",
3541
- "chai": "^6.2.2",
3542
- "tinyrainbow": "^3.1.0"
3543
- },
3544
- "funding": {
3545
- "url": "https://opencollective.com/vitest"
3546
- }
3547
- },
3548
3523
  "node_modules/@vitest/mocker": {
3549
- "version": "4.1.11",
3550
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.11.tgz",
3551
- "integrity": "sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==",
3524
+ "version": "5.0.0",
3525
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.0.tgz",
3526
+ "integrity": "sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==",
3552
3527
  "dev": true,
3553
3528
  "license": "MIT",
3554
3529
  "dependencies": {
3555
- "@vitest/spy": "4.1.11",
3530
+ "@jridgewell/trace-mapping": "0.3.31",
3531
+ "@vitest/spy": "5.0.0",
3556
3532
  "estree-walker": "^3.0.3",
3557
- "magic-string": "^0.30.21"
3533
+ "magic-string": "^1.2.3"
3558
3534
  },
3559
3535
  "funding": {
3560
3536
  "url": "https://opencollective.com/vitest"
@@ -3572,72 +3548,35 @@
3572
3548
  }
3573
3549
  }
3574
3550
  },
3575
- "node_modules/@vitest/pretty-format": {
3576
- "version": "4.1.11",
3577
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.11.tgz",
3578
- "integrity": "sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==",
3579
- "dev": true,
3580
- "license": "MIT",
3581
- "dependencies": {
3582
- "tinyrainbow": "^3.1.0"
3583
- },
3584
- "funding": {
3585
- "url": "https://opencollective.com/vitest"
3586
- }
3587
- },
3588
- "node_modules/@vitest/runner": {
3589
- "version": "4.1.11",
3590
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.11.tgz",
3591
- "integrity": "sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==",
3592
- "dev": true,
3593
- "license": "MIT",
3594
- "dependencies": {
3595
- "@vitest/utils": "4.1.11",
3596
- "pathe": "^2.0.3"
3597
- },
3598
- "funding": {
3599
- "url": "https://opencollective.com/vitest"
3600
- }
3601
- },
3602
- "node_modules/@vitest/snapshot": {
3603
- "version": "4.1.11",
3604
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.11.tgz",
3605
- "integrity": "sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==",
3551
+ "node_modules/@vitest/mocker/node_modules/@jridgewell/trace-mapping": {
3552
+ "version": "0.3.31",
3553
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
3554
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
3606
3555
  "dev": true,
3607
3556
  "license": "MIT",
3608
3557
  "dependencies": {
3609
- "@vitest/pretty-format": "4.1.11",
3610
- "@vitest/utils": "4.1.11",
3611
- "magic-string": "^0.30.21",
3612
- "pathe": "^2.0.3"
3613
- },
3614
- "funding": {
3615
- "url": "https://opencollective.com/vitest"
3558
+ "@jridgewell/resolve-uri": "^3.1.0",
3559
+ "@jridgewell/sourcemap-codec": "^1.4.14"
3616
3560
  }
3617
3561
  },
3618
- "node_modules/@vitest/spy": {
3619
- "version": "4.1.11",
3620
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.11.tgz",
3621
- "integrity": "sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==",
3562
+ "node_modules/@vitest/mocker/node_modules/@vitest/spy": {
3563
+ "version": "5.0.0",
3564
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.0.tgz",
3565
+ "integrity": "sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==",
3622
3566
  "dev": true,
3623
3567
  "license": "MIT",
3624
3568
  "funding": {
3625
3569
  "url": "https://opencollective.com/vitest"
3626
3570
  }
3627
3571
  },
3628
- "node_modules/@vitest/utils": {
3629
- "version": "4.1.11",
3630
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.11.tgz",
3631
- "integrity": "sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==",
3572
+ "node_modules/@vitest/mocker/node_modules/magic-string": {
3573
+ "version": "1.2.3",
3574
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.2.3.tgz",
3575
+ "integrity": "sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==",
3632
3576
  "dev": true,
3633
3577
  "license": "MIT",
3634
3578
  "dependencies": {
3635
- "@vitest/pretty-format": "4.1.11",
3636
- "convert-source-map": "^2.0.0",
3637
- "tinyrainbow": "^3.1.0"
3638
- },
3639
- "funding": {
3640
- "url": "https://opencollective.com/vitest"
3579
+ "@jridgewell/sourcemap-codec": "^1.5.5"
3641
3580
  }
3642
3581
  },
3643
3582
  "node_modules/@webgpu/types": {
@@ -3855,13 +3794,6 @@
3855
3794
  "url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
3856
3795
  }
3857
3796
  },
3858
- "node_modules/convert-source-map": {
3859
- "version": "2.0.0",
3860
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
3861
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
3862
- "dev": true,
3863
- "license": "MIT"
3864
- },
3865
3797
  "node_modules/cookie": {
3866
3798
  "version": "1.1.1",
3867
3799
  "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
@@ -5869,20 +5801,13 @@
5869
5801
  }
5870
5802
  },
5871
5803
  "node_modules/tinybench": {
5872
- "version": "2.9.0",
5873
- "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
5874
- "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
5875
- "dev": true,
5876
- "license": "MIT"
5877
- },
5878
- "node_modules/tinyexec": {
5879
- "version": "1.3.1",
5880
- "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz",
5881
- "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==",
5804
+ "version": "6.1.4",
5805
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.1.4.tgz",
5806
+ "integrity": "sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==",
5882
5807
  "dev": true,
5883
5808
  "license": "MIT",
5884
5809
  "engines": {
5885
- "node": ">=18"
5810
+ "node": ">=20.0.0"
5886
5811
  }
5887
5812
  },
5888
5813
  "node_modules/tinyglobby": {
@@ -5902,16 +5827,6 @@
5902
5827
  "url": "https://github.com/sponsors/SuperchupuDev"
5903
5828
  }
5904
5829
  },
5905
- "node_modules/tinyrainbow": {
5906
- "version": "3.1.1",
5907
- "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz",
5908
- "integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==",
5909
- "dev": true,
5910
- "license": "MIT",
5911
- "engines": {
5912
- "node": ">=14.0.0"
5913
- }
5914
- },
5915
5830
  "node_modules/tldts": {
5916
5831
  "version": "6.1.86",
5917
5832
  "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
@@ -6178,38 +6093,31 @@
6178
6093
  }
6179
6094
  },
6180
6095
  "node_modules/vitest": {
6181
- "version": "4.1.11",
6182
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.11.tgz",
6183
- "integrity": "sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==",
6096
+ "version": "5.0.0",
6097
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.0.tgz",
6098
+ "integrity": "sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==",
6184
6099
  "dev": true,
6185
6100
  "license": "MIT",
6186
6101
  "dependencies": {
6187
- "@vitest/expect": "4.1.11",
6188
- "@vitest/mocker": "4.1.11",
6189
- "@vitest/pretty-format": "4.1.11",
6190
- "@vitest/runner": "4.1.11",
6191
- "@vitest/snapshot": "4.1.11",
6192
- "@vitest/spy": "4.1.11",
6193
- "@vitest/utils": "4.1.11",
6194
- "es-module-lexer": "^2.0.0",
6195
- "expect-type": "^1.3.0",
6196
- "magic-string": "^0.30.21",
6197
- "obug": "^2.1.1",
6198
- "pathe": "^2.0.3",
6199
- "picomatch": "^4.0.3",
6200
- "std-env": "^4.0.0-rc.1",
6201
- "tinybench": "^2.9.0",
6202
- "tinyexec": "^1.0.2",
6203
- "tinyglobby": "^0.2.15",
6204
- "tinyrainbow": "^3.1.0",
6205
- "vite": "^6.0.0 || ^7.0.0 || ^8.0.0",
6102
+ "@types/chai": "^5.2.2",
6103
+ "@vitest/mocker": "5.0.0",
6104
+ "chai": "^6.2.2",
6105
+ "es-module-lexer": "^2.3.2",
6106
+ "expect-type": "^1.4.0",
6107
+ "magic-string": "^1.2.3",
6108
+ "obug": "^2.1.4",
6109
+ "picomatch": "^4.0.7",
6110
+ "std-env": "^4.2.0",
6111
+ "tinybench": "6.1.4",
6112
+ "tinyexec": "1.3.0",
6113
+ "tinyglobby": "^0.2.17",
6206
6114
  "why-is-node-running": "^2.3.0"
6207
6115
  },
6208
6116
  "bin": {
6209
6117
  "vitest": "vitest.mjs"
6210
6118
  },
6211
6119
  "engines": {
6212
- "node": "^20.0.0 || ^22.0.0 || >=24.0.0"
6120
+ "node": "^22.12.0 || ^24.0.0 || >=26.0.0"
6213
6121
  },
6214
6122
  "funding": {
6215
6123
  "url": "https://opencollective.com/vitest"
@@ -6217,16 +6125,16 @@
6217
6125
  "peerDependencies": {
6218
6126
  "@edge-runtime/vm": "*",
6219
6127
  "@opentelemetry/api": "^1.9.0",
6220
- "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
6221
- "@vitest/browser-playwright": "4.1.11",
6222
- "@vitest/browser-preview": "4.1.11",
6223
- "@vitest/browser-webdriverio": "4.1.11",
6224
- "@vitest/coverage-istanbul": "4.1.11",
6225
- "@vitest/coverage-v8": "4.1.11",
6226
- "@vitest/ui": "4.1.11",
6128
+ "@types/node": "^22.0.0 || >=24.0.0",
6129
+ "@vitest/browser-playwright": "5.0.0",
6130
+ "@vitest/browser-preview": "5.0.0",
6131
+ "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0",
6132
+ "@vitest/coverage-istanbul": "5.0.0",
6133
+ "@vitest/coverage-v8": "5.0.0",
6134
+ "@vitest/ui": "5.0.0",
6227
6135
  "happy-dom": "*",
6228
6136
  "jsdom": "*",
6229
- "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
6137
+ "vite": "^6.4.0 || ^7.0.0 || ^8.0.0"
6230
6138
  },
6231
6139
  "peerDependenciesMeta": {
6232
6140
  "@edge-runtime/vm": {
@@ -6267,6 +6175,26 @@
6267
6175
  }
6268
6176
  }
6269
6177
  },
6178
+ "node_modules/vitest/node_modules/magic-string": {
6179
+ "version": "1.2.3",
6180
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.2.3.tgz",
6181
+ "integrity": "sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==",
6182
+ "dev": true,
6183
+ "license": "MIT",
6184
+ "dependencies": {
6185
+ "@jridgewell/sourcemap-codec": "^1.5.5"
6186
+ }
6187
+ },
6188
+ "node_modules/vitest/node_modules/tinyexec": {
6189
+ "version": "1.3.0",
6190
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz",
6191
+ "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==",
6192
+ "dev": true,
6193
+ "license": "MIT",
6194
+ "engines": {
6195
+ "node": ">=18"
6196
+ }
6197
+ },
6270
6198
  "node_modules/w3c-xmlserializer": {
6271
6199
  "version": "5.0.0",
6272
6200
  "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
@@ -60,7 +60,7 @@
60
60
  "typescript": "6.0.3",
61
61
  "typescript-eslint": "8.69.0",
62
62
  "vite": "8.2.2",
63
- "vitest": "4.1.11",
63
+ "vitest": "5.0.0",
64
64
  "wrangler": "4.129.0"
65
65
  }
66
66
  }