@wenathlan/saddle 2.0.166 → 2.0.168

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/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@wenathlan/saddle",
3
- "version": "2.0.166",
3
+ "version": "2.0.168",
4
4
  "private": false,
5
5
  "description": "binary computing engine that turns distributed storage into a publishable working set carrying the merged virtual-hardware engine (the saddle + e2ugh grand merge)",
6
+ "license": "GPL-3.0-only",
6
7
  "scripts": {
7
- "build:engine": "node scriptsbuildengine.ts",
8
+ "build:engine": "node scripts.ts buildengine",
8
9
  "check": "tsc -p tsconfig.json --noEmit",
9
10
  "formatcheck": "node --import tsx format.ts",
10
11
  "test": "vitest run",
@@ -17,7 +18,7 @@
17
18
  "tauri": "npx --yes @tauri-apps/cli@2.11.4",
18
19
  "capacitor:sync:android": "npm run web:build:pages && cap sync android",
19
20
  "capacitor:sync:ios": "npm run web:build:pages && cap sync ios",
20
- "native:check:flat": "node scriptsvalidateflatnative.ts",
21
+ "native:check:flat": "node scripts.ts validateflatnative",
21
22
  "web:dev": "vite --host",
22
23
  "web:check": "npm run build:engine && tsc --project tsconfig.json --noEmit",
23
24
  "web:build": "vite build",
@@ -39,17 +40,17 @@
39
40
  "format": "biome format --write .",
40
41
  "format:biome": "biome format --write .",
41
42
  "format:check": "biome check .",
42
- "test:watch": "node --test --watch \"tests/*.test.ts\"",
43
- "test:coverage": "node --test --experimental-test-coverage \"tests/*.test.ts\"",
44
- "test:unit": "node --test \"tests/*.test.ts\"",
45
- "test:e2e": "node --test \"tests/*.test.ts\"",
43
+ "test:watch": "node --test --watch \"test/*.test.ts\"",
44
+ "test:coverage": "node --test --experimental-test-coverage \"test/*.test.ts\"",
45
+ "test:unit": "node --test \"test/*.test.ts\"",
46
+ "test:e2e": "node --test \"test/*.test.ts\"",
46
47
  "qemu:version": "qemu-system-x86_64 --version || echo 'qemu 11.1.0 expected 2026-08-22'",
47
48
  "vm:create": "node --import tsx ./cli.ts vm",
48
49
  "vm:validate": "node --import tsx ./cli.ts vmlint",
49
50
  "gpu:list": "node --import tsx ./cli.ts gpus",
50
- "docker:build": "docker build -f Dockerfile -t saddle:2.0.166 ..",
51
- "docker:run": "docker run --rm --memory-swap=-1 --shm-size=2g saddle:2.0.166",
52
- "docker:health": "docker run --rm -d --name saddle-health -p 8080:8080 saddle:2.0.166 >/dev/null && sleep 5; curl -fsS http://localhost:8080/api/v1/health || true; docker rm -f saddle-health >/dev/null 2>&1 || true",
51
+ "docker:build": "docker build -f Dockerfile -t saddle:2.0.168 ..",
52
+ "docker:run": "docker run --rm --memory-swap=-1 --shm-size=2g saddle:2.0.168",
53
+ "docker:health": "docker run --rm -d --name saddle-health -p 8080:8080 saddle:2.0.168 >/dev/null && sleep 5; curl -fsS http://localhost:8080/api/v1/health || true; docker rm -f saddle-health >/dev/null 2>&1 || true",
53
54
  "firecracker:boot": "firecracker --api-sock /tmp/fc-saddle.sock --config-file vmconfig.json 2>/dev/null || echo 'firecracker 1.16.1 warm-pool boot 125ms target'",
54
55
  "py:bridge": "python3 qemubridge.py",
55
56
  "py:test": "python3 -m pytest -q || python3 qemubridge.py",
@@ -58,11 +59,11 @@
58
59
  "start:engine": "node --import tsx ./cli.ts plan"
59
60
  },
60
61
  "dependencies": {
61
- "@ai-sdk/openai": "^4.0.109",
62
- "@ai-sdk/openai-compatible": "^3.0.85",
63
- "@ai-sdk/provider-utils": "^5.0.75",
62
+ "@ai-sdk/openai": "^4.0.111",
63
+ "@ai-sdk/openai-compatible": "^3.0.87",
64
+ "@ai-sdk/provider-utils": "^5.0.76",
64
65
  "@anthropic-ai/sdk": "^1.6.0",
65
- "@biomejs/biome": "^2.6.5",
66
+ "@biomejs/biome": "^2.6.6",
66
67
  "@capacitor/android": "^8.6.0",
67
68
  "@capacitor/cli": "^8.6.0",
68
69
  "@capacitor/core": "^8.6.0",
@@ -114,31 +115,31 @@
114
115
  "@radix-ui/react-toggle-group": "^1.2.1",
115
116
  "@radix-ui/react-tooltip": "^1.4.1",
116
117
  "@reactuses/core": "^6.6.1",
117
- "@tailwindcss/postcss": "^4.3.4",
118
+ "@tailwindcss/postcss": "^4.3.5",
118
119
  "@tailwindcss/typography": "^0.5.20",
119
- "@tailwindcss/vite": "^4.3.4",
120
- "@tanstack/react-query": "^5.106.1",
120
+ "@tailwindcss/vite": "^4.3.5",
121
+ "@tanstack/react-query": "^5.107.1",
121
122
  "@tanstack/react-table": "^9.3.1",
122
123
  "@tsconfig/node26": "^26.0.1",
123
124
  "@types/babel__core": "^7.20.5",
124
125
  "@types/better-sqlite3": "^9.6.0",
125
126
  "@types/chrome": "^0.3.7",
126
127
  "@types/express": "^5.0.6",
127
- "@types/google.maps": "^3.66.9",
128
+ "@types/google.maps": "^3.66.10",
128
129
  "@types/node": "^26.6.6",
129
130
  "@types/react": "^19.3.0",
130
131
  "@types/react-dom": "^19.3.0",
131
132
  "@types/three": "^0.187.0",
132
133
  "@vitejs/plugin-react": "^6.2.1",
133
- "@wenathlan/argan": "~2.0.165",
134
- "@wenathlan/cadria": "~2.0.165",
135
- "@wenathlan/debonair": "~2.0.165",
136
- "@wenathlan/devthink": "~2.0.165",
137
- "@wenathlan/getry": "~2.0.165",
138
- "@wenathlan/saddle": "~2.0.165",
139
- "@wenathlan/vault": "~2.0.165",
134
+ "@wenathlan/argan": "~2.0.167",
135
+ "@wenathlan/cadria": "~2.0.167",
136
+ "@wenathlan/debonair": "~2.0.167",
137
+ "@wenathlan/devthink": "~2.0.167",
138
+ "@wenathlan/getry": "~2.0.167",
139
+ "@wenathlan/saddle": "~2.0.167",
140
+ "@wenathlan/vault": "~2.0.167",
140
141
  "add": "^2.0.9",
141
- "ai": "^7.0.163",
142
+ "ai": "^7.0.165",
142
143
  "autoprefixer": "^10.6.2",
143
144
  "axios": "^1.21.0",
144
145
  "baseline-browser-mapping": "^2.11.35",
@@ -149,7 +150,7 @@
149
150
  "class-variance-authority": "^0.7.1",
150
151
  "clsx": "^2.1.1",
151
152
  "cmdk": "^1.1.1",
152
- "commander": "^15.0.0",
153
+ "commander": "^15.1.0",
153
154
  "date-fns": "^4.4.0",
154
155
  "deepmerge-ts": "^8.0.2",
155
156
  "dockerode": "^5.0.1",
@@ -164,25 +165,24 @@
164
165
  "fast-check": "^4.10.2",
165
166
  "fast-uri": "^4.2.3",
166
167
  "follow-redirects": "^1.16.2",
167
- "framer-motion": "^14.9.1",
168
+ "framer-motion": "^14.10.1",
168
169
  "glob": "^14.0.4",
169
170
  "gsap": "^3.15.1",
170
- "hono": "^4.13.16",
171
+ "hono": "^4.13.17",
171
172
  "ink": "^8.0.0",
172
173
  "input-otp": "^1.5.0",
173
174
  "js-yaml": "^5.5.0",
174
175
  "jsdom": "^31.0.0",
175
176
  "katex": "^0.19.1",
176
- "lucide-react": "^1.69.0",
177
177
  "minimatch": "^11.0.5",
178
- "motion": "^14.9.1",
178
+ "motion": "^14.10.1",
179
179
  "mysql2": "^3.24.6",
180
180
  "nanoid": "^6.0.2",
181
181
  "next": "^16.4.5",
182
182
  "next-auth": "^4.24.15",
183
183
  "next-intl": "^4.14.9",
184
184
  "next-themes": "^0.4.6",
185
- "openai": "^7.52.0",
185
+ "openai": "^7.53.0",
186
186
  "p-limit": "^7.3.3",
187
187
  "p-retry": "^9.0.0",
188
188
  "playwright": "^1.65.0",
@@ -198,7 +198,7 @@
198
198
  "react-dom": "^19.3.1",
199
199
  "react-hook-form": "^7.91.0",
200
200
  "react-markdown": "^10.1.0",
201
- "react-resizable-panels": "^4.18.1",
201
+ "react-resizable-panels": "^4.19.1",
202
202
  "react-syntax-highlighter": "^16.1.2",
203
203
  "recharts": "^3.10.1",
204
204
  "request-ip": "^3.3.0",
@@ -209,7 +209,7 @@
209
209
  "source-map-js": "^1.2.2",
210
210
  "streamdown": "^2.7.1",
211
211
  "tailwind-merge": "^3.7.0",
212
- "tailwindcss": "^4.3.4",
212
+ "tailwindcss": "^4.3.5",
213
213
  "tailwindcss-animate": "^1.0.7",
214
214
  "three": "^0.187.0",
215
215
  "ts-node": "^10.9.2",
@@ -229,14 +229,14 @@
229
229
  "yaml": "^2.9.1",
230
230
  "z-ai-web-dev-sdk": "^0.0.18",
231
231
  "zod": "^4.6.7",
232
- "zustand": "^5.0.15"
232
+ "zustand": "^5.1.0"
233
233
  },
234
234
  "devDependencies": {
235
- "@ai-sdk/openai": "^4.0.109",
236
- "@ai-sdk/openai-compatible": "^3.0.85",
237
- "@ai-sdk/provider-utils": "^5.0.75",
235
+ "@ai-sdk/openai": "^4.0.111",
236
+ "@ai-sdk/openai-compatible": "^3.0.87",
237
+ "@ai-sdk/provider-utils": "^5.0.76",
238
238
  "@anthropic-ai/sdk": "^1.6.0",
239
- "@biomejs/biome": "^2.6.5",
239
+ "@biomejs/biome": "^2.6.6",
240
240
  "@capacitor/android": "^8.6.0",
241
241
  "@capacitor/cli": "^8.6.0",
242
242
  "@capacitor/core": "^8.6.0",
@@ -288,31 +288,31 @@
288
288
  "@radix-ui/react-toggle-group": "^1.2.1",
289
289
  "@radix-ui/react-tooltip": "^1.4.1",
290
290
  "@reactuses/core": "^6.6.1",
291
- "@tailwindcss/postcss": "^4.3.4",
291
+ "@tailwindcss/postcss": "^4.3.5",
292
292
  "@tailwindcss/typography": "^0.5.20",
293
- "@tailwindcss/vite": "^4.3.4",
294
- "@tanstack/react-query": "^5.106.1",
293
+ "@tailwindcss/vite": "^4.3.5",
294
+ "@tanstack/react-query": "^5.107.1",
295
295
  "@tanstack/react-table": "^9.3.1",
296
296
  "@tsconfig/node26": "^26.0.1",
297
297
  "@types/babel__core": "^7.20.5",
298
298
  "@types/better-sqlite3": "^9.6.0",
299
299
  "@types/chrome": "^0.3.7",
300
300
  "@types/express": "^5.0.6",
301
- "@types/google.maps": "^3.66.9",
301
+ "@types/google.maps": "^3.66.10",
302
302
  "@types/node": "^26.6.6",
303
303
  "@types/react": "^19.3.0",
304
304
  "@types/react-dom": "^19.3.0",
305
305
  "@types/three": "^0.187.0",
306
306
  "@vitejs/plugin-react": "^6.2.1",
307
- "@wenathlan/argan": "~2.0.165",
308
- "@wenathlan/cadria": "~2.0.165",
309
- "@wenathlan/debonair": "~2.0.165",
310
- "@wenathlan/devthink": "~2.0.165",
311
- "@wenathlan/getry": "~2.0.165",
312
- "@wenathlan/saddle": "~2.0.165",
313
- "@wenathlan/vault": "~2.0.165",
307
+ "@wenathlan/argan": "~2.0.167",
308
+ "@wenathlan/cadria": "~2.0.167",
309
+ "@wenathlan/debonair": "~2.0.167",
310
+ "@wenathlan/devthink": "~2.0.167",
311
+ "@wenathlan/getry": "~2.0.167",
312
+ "@wenathlan/saddle": "~2.0.167",
313
+ "@wenathlan/vault": "~2.0.167",
314
314
  "add": "^2.0.9",
315
- "ai": "^7.0.163",
315
+ "ai": "^7.0.165",
316
316
  "autoprefixer": "^10.6.2",
317
317
  "axios": "^1.21.0",
318
318
  "baseline-browser-mapping": "^2.11.35",
@@ -323,7 +323,7 @@
323
323
  "class-variance-authority": "^0.7.1",
324
324
  "clsx": "^2.1.1",
325
325
  "cmdk": "^1.1.1",
326
- "commander": "^15.0.0",
326
+ "commander": "^15.1.0",
327
327
  "date-fns": "^4.4.0",
328
328
  "deepmerge-ts": "^8.0.2",
329
329
  "dockerode": "^5.0.1",
@@ -338,25 +338,24 @@
338
338
  "fast-check": "^4.10.2",
339
339
  "fast-uri": "^4.2.3",
340
340
  "follow-redirects": "^1.16.2",
341
- "framer-motion": "^14.9.1",
341
+ "framer-motion": "^14.10.1",
342
342
  "glob": "^14.0.4",
343
343
  "gsap": "^3.15.1",
344
- "hono": "^4.13.16",
344
+ "hono": "^4.13.17",
345
345
  "ink": "^8.0.0",
346
346
  "input-otp": "^1.5.0",
347
347
  "js-yaml": "^5.5.0",
348
348
  "jsdom": "^31.0.0",
349
349
  "katex": "^0.19.1",
350
- "lucide-react": "^1.69.0",
351
350
  "minimatch": "^11.0.5",
352
- "motion": "^14.9.1",
351
+ "motion": "^14.10.1",
353
352
  "mysql2": "^3.24.6",
354
353
  "nanoid": "^6.0.2",
355
354
  "next": "^16.4.5",
356
355
  "next-auth": "^4.24.15",
357
356
  "next-intl": "^4.14.9",
358
357
  "next-themes": "^0.4.6",
359
- "openai": "^7.52.0",
358
+ "openai": "^7.53.0",
360
359
  "p-limit": "^7.3.3",
361
360
  "p-retry": "^9.0.0",
362
361
  "playwright": "^1.65.0",
@@ -372,7 +371,7 @@
372
371
  "react-dom": "^19.3.1",
373
372
  "react-hook-form": "^7.91.0",
374
373
  "react-markdown": "^10.1.0",
375
- "react-resizable-panels": "^4.18.1",
374
+ "react-resizable-panels": "^4.19.1",
376
375
  "react-syntax-highlighter": "^16.1.2",
377
376
  "recharts": "^3.10.1",
378
377
  "request-ip": "^3.3.0",
@@ -383,7 +382,7 @@
383
382
  "source-map-js": "^1.2.2",
384
383
  "streamdown": "^2.7.1",
385
384
  "tailwind-merge": "^3.7.0",
386
- "tailwindcss": "^4.3.4",
385
+ "tailwindcss": "^4.3.5",
387
386
  "tailwindcss-animate": "^1.0.7",
388
387
  "three": "^0.187.0",
389
388
  "ts-node": "^10.9.2",
@@ -403,14 +402,14 @@
403
402
  "yaml": "^2.9.1",
404
403
  "z-ai-web-dev-sdk": "^0.0.18",
405
404
  "zod": "^4.6.7",
406
- "zustand": "^5.0.15"
405
+ "zustand": "^5.1.0"
407
406
  },
408
407
  "overrides": {
409
- "@ai-sdk/openai": "^4.0.109",
410
- "@ai-sdk/openai-compatible": "^3.0.85",
411
- "@ai-sdk/provider-utils": "^5.0.75",
408
+ "@ai-sdk/openai": "^4.0.111",
409
+ "@ai-sdk/openai-compatible": "^3.0.87",
410
+ "@ai-sdk/provider-utils": "^5.0.76",
412
411
  "@anthropic-ai/sdk": "^1.6.0",
413
- "@biomejs/biome": "^2.6.5",
412
+ "@biomejs/biome": "^2.6.6",
414
413
  "@capacitor/android": "^8.6.0",
415
414
  "@capacitor/cli": "^8.6.0",
416
415
  "@capacitor/core": "^8.6.0",
@@ -462,31 +461,31 @@
462
461
  "@radix-ui/react-toggle-group": "^1.2.1",
463
462
  "@radix-ui/react-tooltip": "^1.4.1",
464
463
  "@reactuses/core": "^6.6.1",
465
- "@tailwindcss/postcss": "^4.3.4",
464
+ "@tailwindcss/postcss": "^4.3.5",
466
465
  "@tailwindcss/typography": "^0.5.20",
467
- "@tailwindcss/vite": "^4.3.4",
468
- "@tanstack/react-query": "^5.106.1",
466
+ "@tailwindcss/vite": "^4.3.5",
467
+ "@tanstack/react-query": "^5.107.1",
469
468
  "@tanstack/react-table": "^9.3.1",
470
469
  "@tsconfig/node26": "^26.0.1",
471
470
  "@types/babel__core": "^7.20.5",
472
471
  "@types/better-sqlite3": "^9.6.0",
473
472
  "@types/chrome": "^0.3.7",
474
473
  "@types/express": "^5.0.6",
475
- "@types/google.maps": "^3.66.9",
474
+ "@types/google.maps": "^3.66.10",
476
475
  "@types/node": "^26.6.6",
477
476
  "@types/react": "^19.3.0",
478
477
  "@types/react-dom": "^19.3.0",
479
478
  "@types/three": "^0.187.0",
480
479
  "@vitejs/plugin-react": "^6.2.1",
481
- "@wenathlan/argan": "~2.0.165",
482
- "@wenathlan/cadria": "~2.0.165",
483
- "@wenathlan/debonair": "~2.0.165",
484
- "@wenathlan/devthink": "~2.0.165",
485
- "@wenathlan/getry": "~2.0.165",
486
- "@wenathlan/saddle": "~2.0.165",
487
- "@wenathlan/vault": "~2.0.165",
480
+ "@wenathlan/argan": "~2.0.167",
481
+ "@wenathlan/cadria": "~2.0.167",
482
+ "@wenathlan/debonair": "~2.0.167",
483
+ "@wenathlan/devthink": "~2.0.167",
484
+ "@wenathlan/getry": "~2.0.167",
485
+ "@wenathlan/saddle": "~2.0.167",
486
+ "@wenathlan/vault": "~2.0.167",
488
487
  "add": "^2.0.9",
489
- "ai": "^7.0.163",
488
+ "ai": "^7.0.165",
490
489
  "autoprefixer": "^10.6.2",
491
490
  "axios": "^1.21.0",
492
491
  "baseline-browser-mapping": "^2.11.35",
@@ -497,7 +496,7 @@
497
496
  "class-variance-authority": "^0.7.1",
498
497
  "clsx": "^2.1.1",
499
498
  "cmdk": "^1.1.1",
500
- "commander": "^15.0.0",
499
+ "commander": "^15.1.0",
501
500
  "date-fns": "^4.4.0",
502
501
  "deepmerge-ts": "^8.0.2",
503
502
  "dockerode": "^5.0.1",
@@ -512,25 +511,24 @@
512
511
  "fast-check": "^4.10.2",
513
512
  "fast-uri": "^4.2.3",
514
513
  "follow-redirects": "^1.16.2",
515
- "framer-motion": "^14.9.1",
514
+ "framer-motion": "^14.10.1",
516
515
  "glob": "^14.0.4",
517
516
  "gsap": "^3.15.1",
518
- "hono": "^4.13.16",
517
+ "hono": "^4.13.17",
519
518
  "ink": "^8.0.0",
520
519
  "input-otp": "^1.5.0",
521
520
  "js-yaml": "^5.5.0",
522
521
  "jsdom": "^31.0.0",
523
522
  "katex": "^0.19.1",
524
- "lucide-react": "^1.69.0",
525
523
  "minimatch": "^11.0.5",
526
- "motion": "^14.9.1",
524
+ "motion": "^14.10.1",
527
525
  "mysql2": "^3.24.6",
528
526
  "nanoid": "^6.0.2",
529
527
  "next": "^16.4.5",
530
528
  "next-auth": "^4.24.15",
531
529
  "next-intl": "^4.14.9",
532
530
  "next-themes": "^0.4.6",
533
- "openai": "^7.52.0",
531
+ "openai": "^7.53.0",
534
532
  "p-limit": "^7.3.3",
535
533
  "p-retry": "^9.0.0",
536
534
  "playwright": "^1.65.0",
@@ -546,7 +544,7 @@
546
544
  "react-dom": "^19.3.1",
547
545
  "react-hook-form": "^7.91.0",
548
546
  "react-markdown": "^10.1.0",
549
- "react-resizable-panels": "^4.18.1",
547
+ "react-resizable-panels": "^4.19.1",
550
548
  "react-syntax-highlighter": "^16.1.2",
551
549
  "recharts": "^3.10.1",
552
550
  "request-ip": "^3.3.0",
@@ -557,7 +555,7 @@
557
555
  "source-map-js": "^1.2.2",
558
556
  "streamdown": "^2.7.1",
559
557
  "tailwind-merge": "^3.7.0",
560
- "tailwindcss": "^4.3.4",
558
+ "tailwindcss": "^4.3.5",
561
559
  "tailwindcss-animate": "^1.0.7",
562
560
  "three": "^0.187.0",
563
561
  "ts-node": "^10.9.2",
@@ -577,7 +575,7 @@
577
575
  "yaml": "^2.9.1",
578
576
  "z-ai-web-dev-sdk": "^0.0.18",
579
577
  "zod": "^4.6.7",
580
- "zustand": "^5.0.15",
578
+ "zustand": "^5.1.0",
581
579
  "xcode": {
582
580
  "uuid": "11.1.1"
583
581
  }
@@ -665,7 +663,7 @@
665
663
  "distribution.ts",
666
664
  "isolation.ts",
667
665
  "integration.ts",
668
- "scriptlanes.ts",
666
+ "scripts.ts",
669
667
  "communication.ts",
670
668
  "cli.ts",
671
669
  "docs",