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.
- package/README.md +17 -6
- package/dist/cli.js +721 -143
- package/dist/templates.js +612 -66
- package/package.json +4 -4
- package/schemas/result-v3.schema.json +6 -2
- package/schemas/result-v4.schema.json +170 -0
- package/templates/cloudflare-livekit/agent/env.example +3 -0
- package/templates/cloudflare-livekit/agent/src/agent.py +5 -3
- package/templates/cloudflare-livekit/package-lock.json +70 -142
- package/templates/cloudflare-livekit/package.json +1 -1
- package/templates/cloudflare-livekit/pnpm-lock.yaml +96 -153
- package/templates/cloudflare-livekit/tests/dev-events.test.mjs +23 -0
- package/templates/cloudflare-livekit/tests/dev-fixtures.mjs +7 -3
- package/templates/cloudflare-livekit/tsconfig.web.json +1 -0
- package/templates/cloudflare-livekit/tsconfig.worker.json +1 -0
- package/templates/cloudflare-livekit/web/api.ts +12 -0
- package/templates/cloudflare-livekit/web/components/agents-ui/agent-chat-transcript.tsx +6 -90
- package/templates/cloudflare-livekit/web/components/transcript-view.tsx +90 -0
- package/templates/cloudflare-livekit/web/session-attempt.ts +23 -2
- package/templates/cloudflare-livekit/worker/capability.test.ts +31 -0
- package/templates/cloudflare-livekit/worker/capability.ts +72 -0
- package/templates/cloudflare-livekit/worker/index.test.ts +2 -2
- package/templates/cloudflare-livekit/worker/index.ts +15 -3
- package/templates/cloudflare-livekit/worker/session.ts +34 -0
- package/templates/layers/agora/AGENTS.md +8 -0
- package/templates/layers/agora/README.md +19 -0
- package/templates/layers/agora/env.example +9 -0
- package/templates/layers/agora/package-lock.json +6068 -0
- package/templates/layers/agora/package.json +54 -0
- package/templates/layers/agora/pnpm-lock.yaml +3816 -0
- package/templates/layers/agora/tsconfig.json +16 -0
- package/templates/layers/agora/vitest.config.ts +4 -0
- package/templates/layers/agora/web/App.tsx +174 -0
- package/templates/layers/agora/web/agora-session.test.ts +70 -0
- package/templates/layers/agora/web/agora-session.ts +267 -0
- package/templates/layers/agora/worker/agora.test.ts +60 -0
- package/templates/layers/agora/worker/agora.ts +165 -0
- package/templates/layers/agora/worker/index.ts +50 -0
- package/templates/layers/catalog/DEPLOYMENT.md +3 -0
- package/templates/layers/catalog/spatius.config.json +1 -0
- package/templates/layers/node/Dockerfile +12 -0
- package/templates/layers/node/dockerignore +10 -0
- package/templates/layers/node/package-lock.json +5569 -0
- package/templates/layers/node/pnpm-lock.yaml +3470 -0
- package/templates/layers/node/railway.json +8 -0
- package/templates/layers/node/scripts/dev-service.mjs +14 -0
- package/templates/layers/node/scripts/dev-web.mjs +22 -0
- package/templates/layers/node/server/index.ts +92 -0
- package/templates/layers/node/vite.config.ts +17 -0
- package/templates/layers/railway-agent/agent/railway.json +5 -0
- package/dist/cli.js.map +0 -1
- package/dist/templates.js.map +0 -1
|
@@ -139,7 +139,7 @@ importers:
|
|
|
139
139
|
version: 1.54.4(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0))(wrangler@4.129.0)
|
|
140
140
|
'@eslint/js':
|
|
141
141
|
specifier: 10.0.1
|
|
142
|
-
version: 10.0.1(eslint@10.10.0(jiti@2.7.0))
|
|
142
|
+
version: 10.0.1(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))
|
|
143
143
|
'@playwright/test':
|
|
144
144
|
specifier: 1.63.0
|
|
145
145
|
version: 1.63.0
|
|
@@ -178,16 +178,16 @@ importers:
|
|
|
178
178
|
version: 10.0.5
|
|
179
179
|
eslint:
|
|
180
180
|
specifier: 10.10.0
|
|
181
|
-
version: 10.10.0(jiti@2.7.0)
|
|
181
|
+
version: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
182
182
|
eslint-config-prettier:
|
|
183
183
|
specifier: 10.1.8
|
|
184
|
-
version: 10.1.8(eslint@10.10.0(jiti@2.7.0))
|
|
184
|
+
version: 10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))
|
|
185
185
|
globals:
|
|
186
186
|
specifier: 17.12.0
|
|
187
187
|
version: 17.12.0
|
|
188
188
|
jsdom:
|
|
189
189
|
specifier: 26.1.0
|
|
190
|
-
version: 26.1.0
|
|
190
|
+
version: 26.1.0(supports-color@10.2.2)
|
|
191
191
|
prettier:
|
|
192
192
|
specifier: 3.9.6
|
|
193
193
|
version: 3.9.6
|
|
@@ -199,13 +199,13 @@ importers:
|
|
|
199
199
|
version: 6.0.3
|
|
200
200
|
typescript-eslint:
|
|
201
201
|
specifier: 8.69.0
|
|
202
|
-
version: 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
202
|
+
version: 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
203
203
|
vite:
|
|
204
204
|
specifier: 8.2.2
|
|
205
205
|
version: 8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0)
|
|
206
206
|
vitest:
|
|
207
|
-
specifier:
|
|
208
|
-
version:
|
|
207
|
+
specifier: 5.0.0
|
|
208
|
+
version: 5.0.0(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(jsdom@26.1.0(supports-color@10.2.2))(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0))
|
|
209
209
|
wrangler:
|
|
210
210
|
specifier: 4.129.0
|
|
211
211
|
version: 4.129.0
|
|
@@ -1016,9 +1016,6 @@ packages:
|
|
|
1016
1016
|
'@speed-highlight/core@1.2.24':
|
|
1017
1017
|
resolution: {integrity: sha512-qeW2e1l78afw8VhRPfPQ1Gjj+KU5XFQ/OFV5ti6eTa9bruO7mJyZtA4vw0ofqmA3tKCkROE9xLk3VZoeRc98nw==}
|
|
1018
1018
|
|
|
1019
|
-
'@standard-schema/spec@1.1.0':
|
|
1020
|
-
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
|
|
1021
|
-
|
|
1022
1019
|
'@tailwindcss/node@4.3.3':
|
|
1023
1020
|
resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==}
|
|
1024
1021
|
|
|
@@ -1248,11 +1245,8 @@ packages:
|
|
|
1248
1245
|
oxc-transform-react:
|
|
1249
1246
|
optional: true
|
|
1250
1247
|
|
|
1251
|
-
'@vitest/
|
|
1252
|
-
resolution: {integrity: sha512-
|
|
1253
|
-
|
|
1254
|
-
'@vitest/mocker@4.1.11':
|
|
1255
|
-
resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==}
|
|
1248
|
+
'@vitest/mocker@5.0.0':
|
|
1249
|
+
resolution: {integrity: sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==}
|
|
1256
1250
|
peerDependencies:
|
|
1257
1251
|
msw: ^2.4.9
|
|
1258
1252
|
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
|
|
@@ -1262,20 +1256,8 @@ packages:
|
|
|
1262
1256
|
vite:
|
|
1263
1257
|
optional: true
|
|
1264
1258
|
|
|
1265
|
-
'@vitest/
|
|
1266
|
-
resolution: {integrity: sha512-
|
|
1267
|
-
|
|
1268
|
-
'@vitest/runner@4.1.11':
|
|
1269
|
-
resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==}
|
|
1270
|
-
|
|
1271
|
-
'@vitest/snapshot@4.1.11':
|
|
1272
|
-
resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==}
|
|
1273
|
-
|
|
1274
|
-
'@vitest/spy@4.1.11':
|
|
1275
|
-
resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==}
|
|
1276
|
-
|
|
1277
|
-
'@vitest/utils@4.1.11':
|
|
1278
|
-
resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==}
|
|
1259
|
+
'@vitest/spy@5.0.0':
|
|
1260
|
+
resolution: {integrity: sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==}
|
|
1279
1261
|
|
|
1280
1262
|
'@webgpu/types@0.1.72':
|
|
1281
1263
|
resolution: {integrity: sha512-0cF7RFM2edNoiIS1ODJp0/Gzv4/xSXhwoR0YCza+OWpJWtn4wmo9DvK91aLlH9+uUnwIriP7ZiC3WitmyhuzBw==}
|
|
@@ -1355,9 +1337,6 @@ packages:
|
|
|
1355
1337
|
engines: {node: '>=22'}
|
|
1356
1338
|
hasBin: true
|
|
1357
1339
|
|
|
1358
|
-
convert-source-map@2.0.0:
|
|
1359
|
-
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
|
|
1360
|
-
|
|
1361
1340
|
cookie@1.1.1:
|
|
1362
1341
|
resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
|
|
1363
1342
|
engines: {node: '>=18'}
|
|
@@ -1836,6 +1815,9 @@ packages:
|
|
|
1836
1815
|
magic-string@0.30.21:
|
|
1837
1816
|
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
|
|
1838
1817
|
|
|
1818
|
+
magic-string@1.2.3:
|
|
1819
|
+
resolution: {integrity: sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==}
|
|
1820
|
+
|
|
1839
1821
|
miniflare@5.20260903.0-alpha:
|
|
1840
1822
|
resolution: {integrity: sha512-VCZIFxOqFXeibRBJWwTlppqbv2lkeO10IX3QBRGK9j1QiMAfH/OSsCvbjp1MslBMhVZmy2VTRlVaVnsKnbDp6A==}
|
|
1841
1823
|
engines: {node: '>=22.0.0'}
|
|
@@ -2062,8 +2044,9 @@ packages:
|
|
|
2062
2044
|
resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
|
|
2063
2045
|
engines: {node: '>=6'}
|
|
2064
2046
|
|
|
2065
|
-
tinybench@
|
|
2066
|
-
resolution: {integrity: sha512-
|
|
2047
|
+
tinybench@6.1.4:
|
|
2048
|
+
resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==}
|
|
2049
|
+
engines: {node: '>=20.0.0'}
|
|
2067
2050
|
|
|
2068
2051
|
tinyexec@1.3.0:
|
|
2069
2052
|
resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==}
|
|
@@ -2073,10 +2056,6 @@ packages:
|
|
|
2073
2056
|
resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
|
|
2074
2057
|
engines: {node: '>=12.0.0'}
|
|
2075
2058
|
|
|
2076
|
-
tinyrainbow@3.1.1:
|
|
2077
|
-
resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==}
|
|
2078
|
-
engines: {node: '>=14.0.0'}
|
|
2079
|
-
|
|
2080
2059
|
tldts-core@6.1.86:
|
|
2081
2060
|
resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
|
|
2082
2061
|
|
|
@@ -2186,23 +2165,23 @@ packages:
|
|
|
2186
2165
|
yaml:
|
|
2187
2166
|
optional: true
|
|
2188
2167
|
|
|
2189
|
-
vitest@
|
|
2190
|
-
resolution: {integrity: sha512-
|
|
2191
|
-
engines: {node: ^
|
|
2168
|
+
vitest@5.0.0:
|
|
2169
|
+
resolution: {integrity: sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==}
|
|
2170
|
+
engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0}
|
|
2192
2171
|
hasBin: true
|
|
2193
2172
|
peerDependencies:
|
|
2194
2173
|
'@edge-runtime/vm': '*'
|
|
2195
2174
|
'@opentelemetry/api': ^1.9.0
|
|
2196
|
-
'@types/node': ^
|
|
2197
|
-
'@vitest/browser-playwright':
|
|
2198
|
-
'@vitest/browser-preview':
|
|
2199
|
-
'@vitest/browser-webdriverio':
|
|
2200
|
-
'@vitest/coverage-istanbul':
|
|
2201
|
-
'@vitest/coverage-v8':
|
|
2202
|
-
'@vitest/ui':
|
|
2175
|
+
'@types/node': ^22.0.0 || >=24.0.0
|
|
2176
|
+
'@vitest/browser-playwright': 5.0.0
|
|
2177
|
+
'@vitest/browser-preview': 5.0.0
|
|
2178
|
+
'@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0
|
|
2179
|
+
'@vitest/coverage-istanbul': 5.0.0
|
|
2180
|
+
'@vitest/coverage-v8': 5.0.0
|
|
2181
|
+
'@vitest/ui': 5.0.0
|
|
2203
2182
|
happy-dom: '*'
|
|
2204
2183
|
jsdom: '*'
|
|
2205
|
-
vite: ^6.
|
|
2184
|
+
vite: ^6.4.0 || ^7.0.0 || ^8.0.0
|
|
2206
2185
|
peerDependenciesMeta:
|
|
2207
2186
|
'@edge-runtime/vm':
|
|
2208
2187
|
optional: true
|
|
@@ -2508,17 +2487,17 @@ snapshots:
|
|
|
2508
2487
|
'@esbuild/win32-x64@0.28.1':
|
|
2509
2488
|
optional: true
|
|
2510
2489
|
|
|
2511
|
-
'@eslint-community/eslint-utils@4.10.1(eslint@10.10.0(jiti@2.7.0))':
|
|
2490
|
+
'@eslint-community/eslint-utils@4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))':
|
|
2512
2491
|
dependencies:
|
|
2513
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
2492
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
2514
2493
|
eslint-visitor-keys: 3.4.3
|
|
2515
2494
|
|
|
2516
2495
|
'@eslint-community/regexpp@4.12.2': {}
|
|
2517
2496
|
|
|
2518
|
-
'@eslint/config-array@0.23.5':
|
|
2497
|
+
'@eslint/config-array@0.23.5(supports-color@10.2.2)':
|
|
2519
2498
|
dependencies:
|
|
2520
2499
|
'@eslint/object-schema': 3.0.5
|
|
2521
|
-
debug: 4.4.3
|
|
2500
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
2522
2501
|
minimatch: 10.2.6
|
|
2523
2502
|
transitivePeerDependencies:
|
|
2524
2503
|
- supports-color
|
|
@@ -2531,9 +2510,9 @@ snapshots:
|
|
|
2531
2510
|
dependencies:
|
|
2532
2511
|
'@types/json-schema': 7.0.15
|
|
2533
2512
|
|
|
2534
|
-
'@eslint/js@10.0.1(eslint@10.10.0(jiti@2.7.0))':
|
|
2513
|
+
'@eslint/js@10.0.1(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))':
|
|
2535
2514
|
optionalDependencies:
|
|
2536
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
2515
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
2537
2516
|
|
|
2538
2517
|
'@eslint/object-schema@3.0.5': {}
|
|
2539
2518
|
|
|
@@ -2956,8 +2935,6 @@ snapshots:
|
|
|
2956
2935
|
|
|
2957
2936
|
'@speed-highlight/core@1.2.24': {}
|
|
2958
2937
|
|
|
2959
|
-
'@standard-schema/spec@1.1.0': {}
|
|
2960
|
-
|
|
2961
2938
|
'@tailwindcss/node@4.3.3':
|
|
2962
2939
|
dependencies:
|
|
2963
2940
|
'@jridgewell/remapping': 2.3.5
|
|
@@ -3083,15 +3060,15 @@ snapshots:
|
|
|
3083
3060
|
'@types/trusted-types@2.0.7':
|
|
3084
3061
|
optional: true
|
|
3085
3062
|
|
|
3086
|
-
'@typescript-eslint/eslint-plugin@8.69.0(@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)':
|
|
3063
|
+
'@typescript-eslint/eslint-plugin@8.69.0(@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
|
|
3087
3064
|
dependencies:
|
|
3088
3065
|
'@eslint-community/regexpp': 4.12.2
|
|
3089
|
-
'@typescript-eslint/parser': 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
3066
|
+
'@typescript-eslint/parser': 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3090
3067
|
'@typescript-eslint/scope-manager': 8.69.0
|
|
3091
|
-
'@typescript-eslint/type-utils': 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
3092
|
-
'@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
3068
|
+
'@typescript-eslint/type-utils': 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3069
|
+
'@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3093
3070
|
'@typescript-eslint/visitor-keys': 8.69.0
|
|
3094
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
3071
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
3095
3072
|
ignore: 7.0.8
|
|
3096
3073
|
natural-compare: 1.4.0
|
|
3097
3074
|
ts-api-utils: 2.5.0(typescript@6.0.3)
|
|
@@ -3099,23 +3076,23 @@ snapshots:
|
|
|
3099
3076
|
transitivePeerDependencies:
|
|
3100
3077
|
- supports-color
|
|
3101
3078
|
|
|
3102
|
-
'@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)':
|
|
3079
|
+
'@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
|
|
3103
3080
|
dependencies:
|
|
3104
3081
|
'@typescript-eslint/scope-manager': 8.69.0
|
|
3105
3082
|
'@typescript-eslint/types': 8.69.0
|
|
3106
|
-
'@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3)
|
|
3083
|
+
'@typescript-eslint/typescript-estree': 8.69.0(supports-color@10.2.2)(typescript@6.0.3)
|
|
3107
3084
|
'@typescript-eslint/visitor-keys': 8.69.0
|
|
3108
|
-
debug: 4.4.3
|
|
3109
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
3085
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3086
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
3110
3087
|
typescript: 6.0.3
|
|
3111
3088
|
transitivePeerDependencies:
|
|
3112
3089
|
- supports-color
|
|
3113
3090
|
|
|
3114
|
-
'@typescript-eslint/project-service@8.69.0(typescript@6.0.3)':
|
|
3091
|
+
'@typescript-eslint/project-service@8.69.0(supports-color@10.2.2)(typescript@6.0.3)':
|
|
3115
3092
|
dependencies:
|
|
3116
3093
|
'@typescript-eslint/tsconfig-utils': 8.69.0(typescript@6.0.3)
|
|
3117
3094
|
'@typescript-eslint/types': 8.69.0
|
|
3118
|
-
debug: 4.4.3
|
|
3095
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3119
3096
|
typescript: 6.0.3
|
|
3120
3097
|
transitivePeerDependencies:
|
|
3121
3098
|
- supports-color
|
|
@@ -3129,13 +3106,13 @@ snapshots:
|
|
|
3129
3106
|
dependencies:
|
|
3130
3107
|
typescript: 6.0.3
|
|
3131
3108
|
|
|
3132
|
-
'@typescript-eslint/type-utils@8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)':
|
|
3109
|
+
'@typescript-eslint/type-utils@8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
|
|
3133
3110
|
dependencies:
|
|
3134
3111
|
'@typescript-eslint/types': 8.69.0
|
|
3135
|
-
'@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3)
|
|
3136
|
-
'@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
3137
|
-
debug: 4.4.3
|
|
3138
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
3112
|
+
'@typescript-eslint/typescript-estree': 8.69.0(supports-color@10.2.2)(typescript@6.0.3)
|
|
3113
|
+
'@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3114
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3115
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
3139
3116
|
ts-api-utils: 2.5.0(typescript@6.0.3)
|
|
3140
3117
|
typescript: 6.0.3
|
|
3141
3118
|
transitivePeerDependencies:
|
|
@@ -3143,13 +3120,13 @@ snapshots:
|
|
|
3143
3120
|
|
|
3144
3121
|
'@typescript-eslint/types@8.69.0': {}
|
|
3145
3122
|
|
|
3146
|
-
'@typescript-eslint/typescript-estree@8.69.0(typescript@6.0.3)':
|
|
3123
|
+
'@typescript-eslint/typescript-estree@8.69.0(supports-color@10.2.2)(typescript@6.0.3)':
|
|
3147
3124
|
dependencies:
|
|
3148
|
-
'@typescript-eslint/project-service': 8.69.0(typescript@6.0.3)
|
|
3125
|
+
'@typescript-eslint/project-service': 8.69.0(supports-color@10.2.2)(typescript@6.0.3)
|
|
3149
3126
|
'@typescript-eslint/tsconfig-utils': 8.69.0(typescript@6.0.3)
|
|
3150
3127
|
'@typescript-eslint/types': 8.69.0
|
|
3151
3128
|
'@typescript-eslint/visitor-keys': 8.69.0
|
|
3152
|
-
debug: 4.4.3
|
|
3129
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3153
3130
|
minimatch: 10.2.6
|
|
3154
3131
|
semver: 7.8.5
|
|
3155
3132
|
tinyglobby: 0.2.17
|
|
@@ -3158,13 +3135,13 @@ snapshots:
|
|
|
3158
3135
|
transitivePeerDependencies:
|
|
3159
3136
|
- supports-color
|
|
3160
3137
|
|
|
3161
|
-
'@typescript-eslint/utils@8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)':
|
|
3138
|
+
'@typescript-eslint/utils@8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
|
|
3162
3139
|
dependencies:
|
|
3163
|
-
'@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.7.0))
|
|
3140
|
+
'@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))
|
|
3164
3141
|
'@typescript-eslint/scope-manager': 8.69.0
|
|
3165
3142
|
'@typescript-eslint/types': 8.69.0
|
|
3166
|
-
'@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3)
|
|
3167
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
3143
|
+
'@typescript-eslint/typescript-estree': 8.69.0(supports-color@10.2.2)(typescript@6.0.3)
|
|
3144
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
3168
3145
|
typescript: 6.0.3
|
|
3169
3146
|
transitivePeerDependencies:
|
|
3170
3147
|
- supports-color
|
|
@@ -3179,46 +3156,16 @@ snapshots:
|
|
|
3179
3156
|
'@rolldown/pluginutils': 1.0.1
|
|
3180
3157
|
vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0)
|
|
3181
3158
|
|
|
3182
|
-
'@vitest/
|
|
3183
|
-
dependencies:
|
|
3184
|
-
'@standard-schema/spec': 1.1.0
|
|
3185
|
-
'@types/chai': 5.2.3
|
|
3186
|
-
'@vitest/spy': 4.1.11
|
|
3187
|
-
'@vitest/utils': 4.1.11
|
|
3188
|
-
chai: 6.2.2
|
|
3189
|
-
tinyrainbow: 3.1.1
|
|
3190
|
-
|
|
3191
|
-
'@vitest/mocker@4.1.11(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0))':
|
|
3159
|
+
'@vitest/mocker@5.0.0(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0))':
|
|
3192
3160
|
dependencies:
|
|
3193
|
-
'@
|
|
3161
|
+
'@jridgewell/trace-mapping': 0.3.31
|
|
3162
|
+
'@vitest/spy': 5.0.0
|
|
3194
3163
|
estree-walker: 3.0.3
|
|
3195
|
-
magic-string:
|
|
3164
|
+
magic-string: 1.2.3
|
|
3196
3165
|
optionalDependencies:
|
|
3197
3166
|
vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0)
|
|
3198
3167
|
|
|
3199
|
-
'@vitest/
|
|
3200
|
-
dependencies:
|
|
3201
|
-
tinyrainbow: 3.1.1
|
|
3202
|
-
|
|
3203
|
-
'@vitest/runner@4.1.11':
|
|
3204
|
-
dependencies:
|
|
3205
|
-
'@vitest/utils': 4.1.11
|
|
3206
|
-
pathe: 2.0.3
|
|
3207
|
-
|
|
3208
|
-
'@vitest/snapshot@4.1.11':
|
|
3209
|
-
dependencies:
|
|
3210
|
-
'@vitest/pretty-format': 4.1.11
|
|
3211
|
-
'@vitest/utils': 4.1.11
|
|
3212
|
-
magic-string: 0.30.21
|
|
3213
|
-
pathe: 2.0.3
|
|
3214
|
-
|
|
3215
|
-
'@vitest/spy@4.1.11': {}
|
|
3216
|
-
|
|
3217
|
-
'@vitest/utils@4.1.11':
|
|
3218
|
-
dependencies:
|
|
3219
|
-
'@vitest/pretty-format': 4.1.11
|
|
3220
|
-
convert-source-map: 2.0.0
|
|
3221
|
-
tinyrainbow: 3.1.1
|
|
3168
|
+
'@vitest/spy@5.0.0': {}
|
|
3222
3169
|
|
|
3223
3170
|
'@webgpu/types@0.1.72': {}
|
|
3224
3171
|
|
|
@@ -3288,8 +3235,6 @@ snapshots:
|
|
|
3288
3235
|
tree-kill: 1.2.2
|
|
3289
3236
|
yargs: 18.0.0
|
|
3290
3237
|
|
|
3291
|
-
convert-source-map@2.0.0: {}
|
|
3292
|
-
|
|
3293
3238
|
cookie@1.1.1: {}
|
|
3294
3239
|
|
|
3295
3240
|
core-js@3.50.0: {}
|
|
@@ -3312,9 +3257,11 @@ snapshots:
|
|
|
3312
3257
|
whatwg-mimetype: 4.0.0
|
|
3313
3258
|
whatwg-url: 14.2.0
|
|
3314
3259
|
|
|
3315
|
-
debug@4.4.3:
|
|
3260
|
+
debug@4.4.3(supports-color@10.2.2):
|
|
3316
3261
|
dependencies:
|
|
3317
3262
|
ms: 2.1.3
|
|
3263
|
+
optionalDependencies:
|
|
3264
|
+
supports-color: 10.2.2
|
|
3318
3265
|
|
|
3319
3266
|
decimal.js@10.6.0: {}
|
|
3320
3267
|
|
|
@@ -3380,9 +3327,9 @@ snapshots:
|
|
|
3380
3327
|
|
|
3381
3328
|
escape-string-regexp@4.0.0: {}
|
|
3382
3329
|
|
|
3383
|
-
eslint-config-prettier@10.1.8(eslint@10.10.0(jiti@2.7.0)):
|
|
3330
|
+
eslint-config-prettier@10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2)):
|
|
3384
3331
|
dependencies:
|
|
3385
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
3332
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
3386
3333
|
|
|
3387
3334
|
eslint-scope@9.1.2:
|
|
3388
3335
|
dependencies:
|
|
@@ -3395,11 +3342,11 @@ snapshots:
|
|
|
3395
3342
|
|
|
3396
3343
|
eslint-visitor-keys@5.0.1: {}
|
|
3397
3344
|
|
|
3398
|
-
eslint@10.10.0(jiti@2.7.0):
|
|
3345
|
+
eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2):
|
|
3399
3346
|
dependencies:
|
|
3400
|
-
'@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.7.0))
|
|
3347
|
+
'@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))
|
|
3401
3348
|
'@eslint-community/regexpp': 4.12.2
|
|
3402
|
-
'@eslint/config-array': 0.23.5
|
|
3349
|
+
'@eslint/config-array': 0.23.5(supports-color@10.2.2)
|
|
3403
3350
|
'@eslint/config-helpers': 0.7.0
|
|
3404
3351
|
'@eslint/core': 1.2.1
|
|
3405
3352
|
'@eslint/plugin-kit': 0.7.3
|
|
@@ -3409,7 +3356,7 @@ snapshots:
|
|
|
3409
3356
|
'@types/estree': 1.0.9
|
|
3410
3357
|
ajv: 6.15.0
|
|
3411
3358
|
cross-spawn: 7.0.6
|
|
3412
|
-
debug: 4.4.3
|
|
3359
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3413
3360
|
escape-string-regexp: 4.0.0
|
|
3414
3361
|
eslint-scope: 9.1.2
|
|
3415
3362
|
eslint-visitor-keys: 5.0.1
|
|
@@ -3514,17 +3461,17 @@ snapshots:
|
|
|
3514
3461
|
dependencies:
|
|
3515
3462
|
whatwg-encoding: 3.1.1
|
|
3516
3463
|
|
|
3517
|
-
http-proxy-agent@7.0.2:
|
|
3464
|
+
http-proxy-agent@7.0.2(supports-color@10.2.2):
|
|
3518
3465
|
dependencies:
|
|
3519
3466
|
agent-base: 7.1.4
|
|
3520
|
-
debug: 4.4.3
|
|
3467
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3521
3468
|
transitivePeerDependencies:
|
|
3522
3469
|
- supports-color
|
|
3523
3470
|
|
|
3524
|
-
https-proxy-agent@7.0.6:
|
|
3471
|
+
https-proxy-agent@7.0.6(supports-color@10.2.2):
|
|
3525
3472
|
dependencies:
|
|
3526
3473
|
agent-base: 7.1.4
|
|
3527
|
-
debug: 4.4.3
|
|
3474
|
+
debug: 4.4.3(supports-color@10.2.2)
|
|
3528
3475
|
transitivePeerDependencies:
|
|
3529
3476
|
- supports-color
|
|
3530
3477
|
|
|
@@ -3556,14 +3503,14 @@ snapshots:
|
|
|
3556
3503
|
|
|
3557
3504
|
js-tokens@4.0.0: {}
|
|
3558
3505
|
|
|
3559
|
-
jsdom@26.1.0:
|
|
3506
|
+
jsdom@26.1.0(supports-color@10.2.2):
|
|
3560
3507
|
dependencies:
|
|
3561
3508
|
cssstyle: 4.6.0
|
|
3562
3509
|
data-urls: 5.0.0
|
|
3563
3510
|
decimal.js: 10.6.0
|
|
3564
3511
|
html-encoding-sniffer: 4.0.0
|
|
3565
|
-
http-proxy-agent: 7.0.2
|
|
3566
|
-
https-proxy-agent: 7.0.6
|
|
3512
|
+
http-proxy-agent: 7.0.2(supports-color@10.2.2)
|
|
3513
|
+
https-proxy-agent: 7.0.6(supports-color@10.2.2)
|
|
3567
3514
|
is-potential-custom-element-name: 1.0.1
|
|
3568
3515
|
nwsapi: 2.2.27
|
|
3569
3516
|
parse5: 7.3.0
|
|
@@ -3736,6 +3683,10 @@ snapshots:
|
|
|
3736
3683
|
dependencies:
|
|
3737
3684
|
'@jridgewell/sourcemap-codec': 1.6.0
|
|
3738
3685
|
|
|
3686
|
+
magic-string@1.2.3:
|
|
3687
|
+
dependencies:
|
|
3688
|
+
'@jridgewell/sourcemap-codec': 1.6.0
|
|
3689
|
+
|
|
3739
3690
|
miniflare@5.20260903.0-alpha:
|
|
3740
3691
|
dependencies:
|
|
3741
3692
|
'@cspotcode/source-map-support': 0.8.1
|
|
@@ -3967,7 +3918,7 @@ snapshots:
|
|
|
3967
3918
|
|
|
3968
3919
|
tapable@2.3.3: {}
|
|
3969
3920
|
|
|
3970
|
-
tinybench@
|
|
3921
|
+
tinybench@6.1.4: {}
|
|
3971
3922
|
|
|
3972
3923
|
tinyexec@1.3.0: {}
|
|
3973
3924
|
|
|
@@ -3976,8 +3927,6 @@ snapshots:
|
|
|
3976
3927
|
fdir: 6.5.0(picomatch@4.0.7)
|
|
3977
3928
|
picomatch: 4.0.7
|
|
3978
3929
|
|
|
3979
|
-
tinyrainbow@3.1.1: {}
|
|
3980
|
-
|
|
3981
3930
|
tldts-core@6.1.86: {}
|
|
3982
3931
|
|
|
3983
3932
|
tldts@6.1.86:
|
|
@@ -4008,13 +3957,13 @@ snapshots:
|
|
|
4008
3957
|
optionalDependencies:
|
|
4009
3958
|
rxjs: 7.8.2
|
|
4010
3959
|
|
|
4011
|
-
typescript-eslint@8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3):
|
|
3960
|
+
typescript-eslint@8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3):
|
|
4012
3961
|
dependencies:
|
|
4013
|
-
'@typescript-eslint/eslint-plugin': 8.69.0(@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
4014
|
-
'@typescript-eslint/parser': 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
4015
|
-
'@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3)
|
|
4016
|
-
'@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.7.0))(typescript@6.0.3)
|
|
4017
|
-
eslint: 10.10.0(jiti@2.7.0)
|
|
3962
|
+
'@typescript-eslint/eslint-plugin': 8.69.0(@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3963
|
+
'@typescript-eslint/parser': 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3964
|
+
'@typescript-eslint/typescript-estree': 8.69.0(supports-color@10.2.2)(typescript@6.0.3)
|
|
3965
|
+
'@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
|
|
3966
|
+
eslint: 10.10.0(jiti@2.7.0)(supports-color@10.2.2)
|
|
4018
3967
|
typescript: 6.0.3
|
|
4019
3968
|
transitivePeerDependencies:
|
|
4020
3969
|
- supports-color
|
|
@@ -4051,32 +4000,26 @@ snapshots:
|
|
|
4051
4000
|
fsevents: 2.3.3
|
|
4052
4001
|
jiti: 2.7.0
|
|
4053
4002
|
|
|
4054
|
-
vitest@
|
|
4003
|
+
vitest@5.0.0(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(jsdom@26.1.0(supports-color@10.2.2))(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0)):
|
|
4055
4004
|
dependencies:
|
|
4056
|
-
'@
|
|
4057
|
-
'@vitest/mocker':
|
|
4058
|
-
|
|
4059
|
-
'@vitest/runner': 4.1.11
|
|
4060
|
-
'@vitest/snapshot': 4.1.11
|
|
4061
|
-
'@vitest/spy': 4.1.11
|
|
4062
|
-
'@vitest/utils': 4.1.11
|
|
4005
|
+
'@types/chai': 5.2.3
|
|
4006
|
+
'@vitest/mocker': 5.0.0(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0))
|
|
4007
|
+
chai: 6.2.2
|
|
4063
4008
|
es-module-lexer: 2.3.2
|
|
4064
4009
|
expect-type: 1.4.0
|
|
4065
|
-
magic-string:
|
|
4010
|
+
magic-string: 1.2.3
|
|
4066
4011
|
obug: 2.1.4
|
|
4067
|
-
pathe: 2.0.3
|
|
4068
4012
|
picomatch: 4.0.7
|
|
4069
4013
|
std-env: 4.2.0
|
|
4070
|
-
tinybench:
|
|
4014
|
+
tinybench: 6.1.4
|
|
4071
4015
|
tinyexec: 1.3.0
|
|
4072
4016
|
tinyglobby: 0.2.17
|
|
4073
|
-
tinyrainbow: 3.1.1
|
|
4074
4017
|
vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.1)(jiti@2.7.0)
|
|
4075
4018
|
why-is-node-running: 2.3.0
|
|
4076
4019
|
optionalDependencies:
|
|
4077
4020
|
'@opentelemetry/api': 1.9.1
|
|
4078
4021
|
'@types/node': 26.4.1
|
|
4079
|
-
jsdom: 26.1.0
|
|
4022
|
+
jsdom: 26.1.0(supports-color@10.2.2)
|
|
4080
4023
|
transitivePeerDependencies:
|
|
4081
4024
|
- msw
|
|
4082
4025
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { appendFile, mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import test from 'node:test';
|
|
6
|
+
import { readEvents } from './dev-fixtures.mjs';
|
|
7
|
+
|
|
8
|
+
test('event polling waits for a complete trailing record', async (t) => {
|
|
9
|
+
const directory = await mkdtemp(join(tmpdir(), 'spatius-events-'));
|
|
10
|
+
t.after(() => rm(directory, { recursive: true, force: true }));
|
|
11
|
+
const path = join(directory, 'events.jsonl');
|
|
12
|
+
await writeFile(path, '{"type":"ready"}\n{"type":"reg');
|
|
13
|
+
assert.deepEqual(await readEvents(path), [{ type: 'ready' }]);
|
|
14
|
+
await appendFile(path, 'istered"}\n');
|
|
15
|
+
assert.deepEqual(await readEvents(path), [
|
|
16
|
+
{ type: 'ready' },
|
|
17
|
+
{ type: 'registered' },
|
|
18
|
+
]);
|
|
19
|
+
await writeFile(path, '{"type":');
|
|
20
|
+
assert.deepEqual(await readEvents(path), []);
|
|
21
|
+
await appendFile(path, 'broken}\n');
|
|
22
|
+
await assert.rejects(readEvents(path), SyntaxError);
|
|
23
|
+
});
|
|
@@ -54,7 +54,7 @@ if (role === 'lk' && args[0] === '--version') {
|
|
|
54
54
|
} else if (role === 'lk' && args.includes('--help')) {
|
|
55
55
|
if (process.env.DEV_TEST_PROBE === 'help-hang') { hold(); ready(); }
|
|
56
56
|
else { console.log(process.env.DEV_TEST_HELP ?? 'NAME: lk agent dev\\nUSAGE: lk agent dev [entrypoint]'); process.exit(Number(process.env.DEV_TEST_HELP_EXIT ?? 0)); }
|
|
57
|
-
} else if (role === 'grandchild') {
|
|
57
|
+
} else if (role === 'grandchild' || role === 'api') {
|
|
58
58
|
hold(); ready();
|
|
59
59
|
} else {
|
|
60
60
|
if (role !== 'web' && process.env.SPATIUS_DEV_READY_FILE && process.env.DEV_TEST_RUNTIME_HOLD === '1') {
|
|
@@ -129,6 +129,7 @@ export async function fixture(
|
|
|
129
129
|
await writeFile(path, body, { mode: 0o755 });
|
|
130
130
|
return path;
|
|
131
131
|
};
|
|
132
|
+
await executable('tsx', bin, 'api');
|
|
132
133
|
if (lk) await executable('lk');
|
|
133
134
|
if (uv) await executable('uv');
|
|
134
135
|
if (python) {
|
|
@@ -206,8 +207,11 @@ export async function fixture(
|
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
export async function readEvents(path) {
|
|
209
|
-
|
|
210
|
-
|
|
210
|
+
// A concurrent append can be visible before its terminating newline.
|
|
211
|
+
// Parse only complete records; the next poll will read the finished tail.
|
|
212
|
+
const contents = await readFile(path, 'utf8');
|
|
213
|
+
return contents
|
|
214
|
+
.slice(0, contents.lastIndexOf('\n') + 1)
|
|
211
215
|
.split('\n')
|
|
212
216
|
.filter(Boolean)
|
|
213
217
|
.map((line) => JSON.parse(line));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export interface VoiceSession {
|
|
2
|
+
session_capability?: string;
|
|
2
3
|
participant_token: string;
|
|
3
4
|
room_name: string;
|
|
4
5
|
server_url: string;
|
|
@@ -67,3 +68,14 @@ export async function requestVoiceSession(
|
|
|
67
68
|
}
|
|
68
69
|
return payload;
|
|
69
70
|
}
|
|
71
|
+
|
|
72
|
+
export async function stopVoiceSession(capability?: string): Promise<void> {
|
|
73
|
+
if (!capability) return;
|
|
74
|
+
const response = await fetch('/api/session/stop', {
|
|
75
|
+
method: 'POST',
|
|
76
|
+
headers: { 'content-type': 'application/json' },
|
|
77
|
+
body: JSON.stringify({ capability }),
|
|
78
|
+
keepalive: true,
|
|
79
|
+
});
|
|
80
|
+
if (!response.ok) throw new Error('Session cleanup failed');
|
|
81
|
+
}
|