@wenathlan/cobaia 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/.dockerignore +1 -1
- package/App.tsx +2 -31
- package/Cargo.toml +17 -0
- package/Dockerfile +162 -3
- package/MANIFEST.in +7 -0
- package/biome.jsonc +3 -3
- package/build.gradle.kts +1 -1
- package/bun.lock +396 -343
- package/cobaia.csproj +2 -2
- package/cobaia.gemspec +2 -2
- package/cobaia.java +1 -1
- package/cobaia.rs +8 -0
- package/db.ts +12 -17
- package/docker-compose.yml +58 -0
- package/docker.config +74 -0
- package/homebrew.rb +25 -0
- package/keywords.txt +1 -0
- package/monetization.ts +248 -0
- package/nginx.conf +106 -0
- package/package.json +74 -76
- package/pnpm-workspace.yaml +59 -38
- package/pom.xml +2 -2
- package/pyproject.toml +23 -0
- package/routerbase.ts +1 -0
- package/sandboxmodality.ts +26 -40
- package/sol/Sol.tsx +1 -1
- package/sol/apps/apps.tsx +2 -2
- package/sol/blog/blog.tsx +2 -2
- package/sol/home/home.tsx +2 -2
- package/sol/intro/intro.tsx +1 -1
- package/sol/onboarding/onboarding.tsx +1 -1
- package/sol/pricing/pricing.tsx +1 -1
- package/sol/shell/Shell.tsx +2 -2
- package/sol/support/support.tsx +1 -1
- package/sol/wingets/IntroFooter.tsx +1 -1
- package/sol/wingets/IntroPlans.tsx +1 -1
- package/sol/wingets/ShellAdsslot.tsx +1 -1
- package/tauri.conf.json +1 -1
- package/{tests → test}/adsconfig.test.ts +2 -2
- package/{tests → test}/checkoutlinks.test.ts +2 -2
- package/{tests → test}/entryflow.test.ts +2 -2
- package/{tests → test}/familyurl.test.ts +1 -1
- package/{tests → test}/posts.test.ts +2 -2
- package/{tests → test}/sandboxmodality.test.ts +1 -1
- package/tsconfig.json +1 -0
- package/vite.config.ts +14 -0
- package/vitest.config.ts +9 -1
- package/wingets.ts +21 -0
- package/adsconfig.ts +0 -59
- package/checkoutlinks.ts +0 -80
- package/posts.ts +0 -54
- package/roster.ts +0 -29
- package/sol/wingets/index.ts +0 -20
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wenathlan/cobaia",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.168",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "cobaia is the monetization surface of the wenathlan family: the content site that carries the plans, the support rails and the honest advertisement slots while the family apps stay clean; the name is provisional until the owner picks the official one",
|
|
6
|
+
"license": "GPL-3.0-only",
|
|
6
7
|
"scripts": {
|
|
7
8
|
"dev": "vite --host",
|
|
8
9
|
"build": "vite build",
|
|
@@ -13,11 +14,11 @@
|
|
|
13
14
|
"test": "vitest run"
|
|
14
15
|
},
|
|
15
16
|
"dependencies": {
|
|
16
|
-
"@ai-sdk/openai": "^4.0.
|
|
17
|
-
"@ai-sdk/openai-compatible": "^3.0.
|
|
18
|
-
"@ai-sdk/provider-utils": "^5.0.
|
|
17
|
+
"@ai-sdk/openai": "^4.0.111",
|
|
18
|
+
"@ai-sdk/openai-compatible": "^3.0.87",
|
|
19
|
+
"@ai-sdk/provider-utils": "^5.0.76",
|
|
19
20
|
"@anthropic-ai/sdk": "^1.6.0",
|
|
20
|
-
"@biomejs/biome": "^2.6.
|
|
21
|
+
"@biomejs/biome": "^2.6.6",
|
|
21
22
|
"@capacitor/android": "^8.6.0",
|
|
22
23
|
"@capacitor/cli": "^8.6.0",
|
|
23
24
|
"@capacitor/core": "^8.6.0",
|
|
@@ -69,31 +70,31 @@
|
|
|
69
70
|
"@radix-ui/react-toggle-group": "^1.2.1",
|
|
70
71
|
"@radix-ui/react-tooltip": "^1.4.1",
|
|
71
72
|
"@reactuses/core": "^6.6.1",
|
|
72
|
-
"@tailwindcss/postcss": "^4.3.
|
|
73
|
+
"@tailwindcss/postcss": "^4.3.5",
|
|
73
74
|
"@tailwindcss/typography": "^0.5.20",
|
|
74
|
-
"@tailwindcss/vite": "^4.3.
|
|
75
|
-
"@tanstack/react-query": "^5.
|
|
75
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
76
|
+
"@tanstack/react-query": "^5.107.1",
|
|
76
77
|
"@tanstack/react-table": "^9.3.1",
|
|
77
78
|
"@tsconfig/node26": "^26.0.1",
|
|
78
79
|
"@types/babel__core": "^7.20.5",
|
|
79
80
|
"@types/better-sqlite3": "^9.6.0",
|
|
80
81
|
"@types/chrome": "^0.3.7",
|
|
81
82
|
"@types/express": "^5.0.6",
|
|
82
|
-
"@types/google.maps": "^3.66.
|
|
83
|
+
"@types/google.maps": "^3.66.10",
|
|
83
84
|
"@types/node": "^26.6.6",
|
|
84
85
|
"@types/react": "^19.3.0",
|
|
85
86
|
"@types/react-dom": "^19.3.0",
|
|
86
87
|
"@types/three": "^0.187.0",
|
|
87
88
|
"@vitejs/plugin-react": "^6.2.1",
|
|
88
|
-
"@wenathlan/argan": "~2.0.
|
|
89
|
-
"@wenathlan/cadria": "~2.0.
|
|
90
|
-
"@wenathlan/debonair": "~2.0.
|
|
91
|
-
"@wenathlan/devthink": "~2.0.
|
|
92
|
-
"@wenathlan/getry": "~2.0.
|
|
93
|
-
"@wenathlan/saddle": "~2.0.
|
|
94
|
-
"@wenathlan/vault": "~2.0.
|
|
89
|
+
"@wenathlan/argan": "~2.0.167",
|
|
90
|
+
"@wenathlan/cadria": "~2.0.167",
|
|
91
|
+
"@wenathlan/debonair": "~2.0.167",
|
|
92
|
+
"@wenathlan/devthink": "~2.0.167",
|
|
93
|
+
"@wenathlan/getry": "~2.0.167",
|
|
94
|
+
"@wenathlan/saddle": "~2.0.167",
|
|
95
|
+
"@wenathlan/vault": "~2.0.167",
|
|
95
96
|
"add": "^2.0.9",
|
|
96
|
-
"ai": "^7.0.
|
|
97
|
+
"ai": "^7.0.165",
|
|
97
98
|
"autoprefixer": "^10.6.2",
|
|
98
99
|
"axios": "^1.21.0",
|
|
99
100
|
"baseline-browser-mapping": "^2.11.35",
|
|
@@ -104,7 +105,7 @@
|
|
|
104
105
|
"class-variance-authority": "^0.7.1",
|
|
105
106
|
"clsx": "^2.1.1",
|
|
106
107
|
"cmdk": "^1.1.1",
|
|
107
|
-
"commander": "^15.
|
|
108
|
+
"commander": "^15.1.0",
|
|
108
109
|
"date-fns": "^4.4.0",
|
|
109
110
|
"deepmerge-ts": "^8.0.2",
|
|
110
111
|
"dockerode": "^5.0.1",
|
|
@@ -119,25 +120,24 @@
|
|
|
119
120
|
"fast-check": "^4.10.2",
|
|
120
121
|
"fast-uri": "^4.2.3",
|
|
121
122
|
"follow-redirects": "^1.16.2",
|
|
122
|
-
"framer-motion": "^14.
|
|
123
|
+
"framer-motion": "^14.10.1",
|
|
123
124
|
"glob": "^14.0.4",
|
|
124
125
|
"gsap": "^3.15.1",
|
|
125
|
-
"hono": "^4.13.
|
|
126
|
+
"hono": "^4.13.17",
|
|
126
127
|
"ink": "^8.0.0",
|
|
127
128
|
"input-otp": "^1.5.0",
|
|
128
129
|
"js-yaml": "^5.5.0",
|
|
129
130
|
"jsdom": "^31.0.0",
|
|
130
131
|
"katex": "^0.19.1",
|
|
131
|
-
"lucide-react": "^1.69.0",
|
|
132
132
|
"minimatch": "^11.0.5",
|
|
133
|
-
"motion": "^14.
|
|
133
|
+
"motion": "^14.10.1",
|
|
134
134
|
"mysql2": "^3.24.6",
|
|
135
135
|
"nanoid": "^6.0.2",
|
|
136
136
|
"next": "^16.4.5",
|
|
137
137
|
"next-auth": "^4.24.15",
|
|
138
138
|
"next-intl": "^4.14.9",
|
|
139
139
|
"next-themes": "^0.4.6",
|
|
140
|
-
"openai": "^7.
|
|
140
|
+
"openai": "^7.53.0",
|
|
141
141
|
"p-limit": "^7.3.3",
|
|
142
142
|
"p-retry": "^9.0.0",
|
|
143
143
|
"playwright": "^1.65.0",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"react-dom": "^19.3.1",
|
|
154
154
|
"react-hook-form": "^7.91.0",
|
|
155
155
|
"react-markdown": "^10.1.0",
|
|
156
|
-
"react-resizable-panels": "^4.
|
|
156
|
+
"react-resizable-panels": "^4.19.1",
|
|
157
157
|
"react-syntax-highlighter": "^16.1.2",
|
|
158
158
|
"recharts": "^3.10.1",
|
|
159
159
|
"request-ip": "^3.3.0",
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
"source-map-js": "^1.2.2",
|
|
165
165
|
"streamdown": "^2.7.1",
|
|
166
166
|
"tailwind-merge": "^3.7.0",
|
|
167
|
-
"tailwindcss": "^4.3.
|
|
167
|
+
"tailwindcss": "^4.3.5",
|
|
168
168
|
"tailwindcss-animate": "^1.0.7",
|
|
169
169
|
"three": "^0.187.0",
|
|
170
170
|
"ts-node": "^10.9.2",
|
|
@@ -184,14 +184,14 @@
|
|
|
184
184
|
"yaml": "^2.9.1",
|
|
185
185
|
"z-ai-web-dev-sdk": "^0.0.18",
|
|
186
186
|
"zod": "^4.6.7",
|
|
187
|
-
"zustand": "^5.0
|
|
187
|
+
"zustand": "^5.1.0"
|
|
188
188
|
},
|
|
189
189
|
"devDependencies": {
|
|
190
|
-
"@ai-sdk/openai": "^4.0.
|
|
191
|
-
"@ai-sdk/openai-compatible": "^3.0.
|
|
192
|
-
"@ai-sdk/provider-utils": "^5.0.
|
|
190
|
+
"@ai-sdk/openai": "^4.0.111",
|
|
191
|
+
"@ai-sdk/openai-compatible": "^3.0.87",
|
|
192
|
+
"@ai-sdk/provider-utils": "^5.0.76",
|
|
193
193
|
"@anthropic-ai/sdk": "^1.6.0",
|
|
194
|
-
"@biomejs/biome": "^2.6.
|
|
194
|
+
"@biomejs/biome": "^2.6.6",
|
|
195
195
|
"@capacitor/android": "^8.6.0",
|
|
196
196
|
"@capacitor/cli": "^8.6.0",
|
|
197
197
|
"@capacitor/core": "^8.6.0",
|
|
@@ -243,31 +243,31 @@
|
|
|
243
243
|
"@radix-ui/react-toggle-group": "^1.2.1",
|
|
244
244
|
"@radix-ui/react-tooltip": "^1.4.1",
|
|
245
245
|
"@reactuses/core": "^6.6.1",
|
|
246
|
-
"@tailwindcss/postcss": "^4.3.
|
|
246
|
+
"@tailwindcss/postcss": "^4.3.5",
|
|
247
247
|
"@tailwindcss/typography": "^0.5.20",
|
|
248
|
-
"@tailwindcss/vite": "^4.3.
|
|
249
|
-
"@tanstack/react-query": "^5.
|
|
248
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
249
|
+
"@tanstack/react-query": "^5.107.1",
|
|
250
250
|
"@tanstack/react-table": "^9.3.1",
|
|
251
251
|
"@tsconfig/node26": "^26.0.1",
|
|
252
252
|
"@types/babel__core": "^7.20.5",
|
|
253
253
|
"@types/better-sqlite3": "^9.6.0",
|
|
254
254
|
"@types/chrome": "^0.3.7",
|
|
255
255
|
"@types/express": "^5.0.6",
|
|
256
|
-
"@types/google.maps": "^3.66.
|
|
256
|
+
"@types/google.maps": "^3.66.10",
|
|
257
257
|
"@types/node": "^26.6.6",
|
|
258
258
|
"@types/react": "^19.3.0",
|
|
259
259
|
"@types/react-dom": "^19.3.0",
|
|
260
260
|
"@types/three": "^0.187.0",
|
|
261
261
|
"@vitejs/plugin-react": "^6.2.1",
|
|
262
|
-
"@wenathlan/argan": "~2.0.
|
|
263
|
-
"@wenathlan/cadria": "~2.0.
|
|
264
|
-
"@wenathlan/debonair": "~2.0.
|
|
265
|
-
"@wenathlan/devthink": "~2.0.
|
|
266
|
-
"@wenathlan/getry": "~2.0.
|
|
267
|
-
"@wenathlan/saddle": "~2.0.
|
|
268
|
-
"@wenathlan/vault": "~2.0.
|
|
262
|
+
"@wenathlan/argan": "~2.0.167",
|
|
263
|
+
"@wenathlan/cadria": "~2.0.167",
|
|
264
|
+
"@wenathlan/debonair": "~2.0.167",
|
|
265
|
+
"@wenathlan/devthink": "~2.0.167",
|
|
266
|
+
"@wenathlan/getry": "~2.0.167",
|
|
267
|
+
"@wenathlan/saddle": "~2.0.167",
|
|
268
|
+
"@wenathlan/vault": "~2.0.167",
|
|
269
269
|
"add": "^2.0.9",
|
|
270
|
-
"ai": "^7.0.
|
|
270
|
+
"ai": "^7.0.165",
|
|
271
271
|
"autoprefixer": "^10.6.2",
|
|
272
272
|
"axios": "^1.21.0",
|
|
273
273
|
"baseline-browser-mapping": "^2.11.35",
|
|
@@ -278,7 +278,7 @@
|
|
|
278
278
|
"class-variance-authority": "^0.7.1",
|
|
279
279
|
"clsx": "^2.1.1",
|
|
280
280
|
"cmdk": "^1.1.1",
|
|
281
|
-
"commander": "^15.
|
|
281
|
+
"commander": "^15.1.0",
|
|
282
282
|
"date-fns": "^4.4.0",
|
|
283
283
|
"deepmerge-ts": "^8.0.2",
|
|
284
284
|
"dockerode": "^5.0.1",
|
|
@@ -293,25 +293,24 @@
|
|
|
293
293
|
"fast-check": "^4.10.2",
|
|
294
294
|
"fast-uri": "^4.2.3",
|
|
295
295
|
"follow-redirects": "^1.16.2",
|
|
296
|
-
"framer-motion": "^14.
|
|
296
|
+
"framer-motion": "^14.10.1",
|
|
297
297
|
"glob": "^14.0.4",
|
|
298
298
|
"gsap": "^3.15.1",
|
|
299
|
-
"hono": "^4.13.
|
|
299
|
+
"hono": "^4.13.17",
|
|
300
300
|
"ink": "^8.0.0",
|
|
301
301
|
"input-otp": "^1.5.0",
|
|
302
302
|
"js-yaml": "^5.5.0",
|
|
303
303
|
"jsdom": "^31.0.0",
|
|
304
304
|
"katex": "^0.19.1",
|
|
305
|
-
"lucide-react": "^1.69.0",
|
|
306
305
|
"minimatch": "^11.0.5",
|
|
307
|
-
"motion": "^14.
|
|
306
|
+
"motion": "^14.10.1",
|
|
308
307
|
"mysql2": "^3.24.6",
|
|
309
308
|
"nanoid": "^6.0.2",
|
|
310
309
|
"next": "^16.4.5",
|
|
311
310
|
"next-auth": "^4.24.15",
|
|
312
311
|
"next-intl": "^4.14.9",
|
|
313
312
|
"next-themes": "^0.4.6",
|
|
314
|
-
"openai": "^7.
|
|
313
|
+
"openai": "^7.53.0",
|
|
315
314
|
"p-limit": "^7.3.3",
|
|
316
315
|
"p-retry": "^9.0.0",
|
|
317
316
|
"playwright": "^1.65.0",
|
|
@@ -327,7 +326,7 @@
|
|
|
327
326
|
"react-dom": "^19.3.1",
|
|
328
327
|
"react-hook-form": "^7.91.0",
|
|
329
328
|
"react-markdown": "^10.1.0",
|
|
330
|
-
"react-resizable-panels": "^4.
|
|
329
|
+
"react-resizable-panels": "^4.19.1",
|
|
331
330
|
"react-syntax-highlighter": "^16.1.2",
|
|
332
331
|
"recharts": "^3.10.1",
|
|
333
332
|
"request-ip": "^3.3.0",
|
|
@@ -338,7 +337,7 @@
|
|
|
338
337
|
"source-map-js": "^1.2.2",
|
|
339
338
|
"streamdown": "^2.7.1",
|
|
340
339
|
"tailwind-merge": "^3.7.0",
|
|
341
|
-
"tailwindcss": "^4.3.
|
|
340
|
+
"tailwindcss": "^4.3.5",
|
|
342
341
|
"tailwindcss-animate": "^1.0.7",
|
|
343
342
|
"three": "^0.187.0",
|
|
344
343
|
"ts-node": "^10.9.2",
|
|
@@ -358,14 +357,14 @@
|
|
|
358
357
|
"yaml": "^2.9.1",
|
|
359
358
|
"z-ai-web-dev-sdk": "^0.0.18",
|
|
360
359
|
"zod": "^4.6.7",
|
|
361
|
-
"zustand": "^5.0
|
|
360
|
+
"zustand": "^5.1.0"
|
|
362
361
|
},
|
|
363
362
|
"overrides": {
|
|
364
|
-
"@ai-sdk/openai": "^4.0.
|
|
365
|
-
"@ai-sdk/openai-compatible": "^3.0.
|
|
366
|
-
"@ai-sdk/provider-utils": "^5.0.
|
|
363
|
+
"@ai-sdk/openai": "^4.0.111",
|
|
364
|
+
"@ai-sdk/openai-compatible": "^3.0.87",
|
|
365
|
+
"@ai-sdk/provider-utils": "^5.0.76",
|
|
367
366
|
"@anthropic-ai/sdk": "^1.6.0",
|
|
368
|
-
"@biomejs/biome": "^2.6.
|
|
367
|
+
"@biomejs/biome": "^2.6.6",
|
|
369
368
|
"@capacitor/android": "^8.6.0",
|
|
370
369
|
"@capacitor/cli": "^8.6.0",
|
|
371
370
|
"@capacitor/core": "^8.6.0",
|
|
@@ -417,31 +416,31 @@
|
|
|
417
416
|
"@radix-ui/react-toggle-group": "^1.2.1",
|
|
418
417
|
"@radix-ui/react-tooltip": "^1.4.1",
|
|
419
418
|
"@reactuses/core": "^6.6.1",
|
|
420
|
-
"@tailwindcss/postcss": "^4.3.
|
|
419
|
+
"@tailwindcss/postcss": "^4.3.5",
|
|
421
420
|
"@tailwindcss/typography": "^0.5.20",
|
|
422
|
-
"@tailwindcss/vite": "^4.3.
|
|
423
|
-
"@tanstack/react-query": "^5.
|
|
421
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
422
|
+
"@tanstack/react-query": "^5.107.1",
|
|
424
423
|
"@tanstack/react-table": "^9.3.1",
|
|
425
424
|
"@tsconfig/node26": "^26.0.1",
|
|
426
425
|
"@types/babel__core": "^7.20.5",
|
|
427
426
|
"@types/better-sqlite3": "^9.6.0",
|
|
428
427
|
"@types/chrome": "^0.3.7",
|
|
429
428
|
"@types/express": "^5.0.6",
|
|
430
|
-
"@types/google.maps": "^3.66.
|
|
429
|
+
"@types/google.maps": "^3.66.10",
|
|
431
430
|
"@types/node": "^26.6.6",
|
|
432
431
|
"@types/react": "^19.3.0",
|
|
433
432
|
"@types/react-dom": "^19.3.0",
|
|
434
433
|
"@types/three": "^0.187.0",
|
|
435
434
|
"@vitejs/plugin-react": "^6.2.1",
|
|
436
|
-
"@wenathlan/argan": "~2.0.
|
|
437
|
-
"@wenathlan/cadria": "~2.0.
|
|
438
|
-
"@wenathlan/debonair": "~2.0.
|
|
439
|
-
"@wenathlan/devthink": "~2.0.
|
|
440
|
-
"@wenathlan/getry": "~2.0.
|
|
441
|
-
"@wenathlan/saddle": "~2.0.
|
|
442
|
-
"@wenathlan/vault": "~2.0.
|
|
435
|
+
"@wenathlan/argan": "~2.0.167",
|
|
436
|
+
"@wenathlan/cadria": "~2.0.167",
|
|
437
|
+
"@wenathlan/debonair": "~2.0.167",
|
|
438
|
+
"@wenathlan/devthink": "~2.0.167",
|
|
439
|
+
"@wenathlan/getry": "~2.0.167",
|
|
440
|
+
"@wenathlan/saddle": "~2.0.167",
|
|
441
|
+
"@wenathlan/vault": "~2.0.167",
|
|
443
442
|
"add": "^2.0.9",
|
|
444
|
-
"ai": "^7.0.
|
|
443
|
+
"ai": "^7.0.165",
|
|
445
444
|
"autoprefixer": "^10.6.2",
|
|
446
445
|
"axios": "^1.21.0",
|
|
447
446
|
"baseline-browser-mapping": "^2.11.35",
|
|
@@ -452,7 +451,7 @@
|
|
|
452
451
|
"class-variance-authority": "^0.7.1",
|
|
453
452
|
"clsx": "^2.1.1",
|
|
454
453
|
"cmdk": "^1.1.1",
|
|
455
|
-
"commander": "^15.
|
|
454
|
+
"commander": "^15.1.0",
|
|
456
455
|
"date-fns": "^4.4.0",
|
|
457
456
|
"deepmerge-ts": "^8.0.2",
|
|
458
457
|
"dockerode": "^5.0.1",
|
|
@@ -467,25 +466,24 @@
|
|
|
467
466
|
"fast-check": "^4.10.2",
|
|
468
467
|
"fast-uri": "^4.2.3",
|
|
469
468
|
"follow-redirects": "^1.16.2",
|
|
470
|
-
"framer-motion": "^14.
|
|
469
|
+
"framer-motion": "^14.10.1",
|
|
471
470
|
"glob": "^14.0.4",
|
|
472
471
|
"gsap": "^3.15.1",
|
|
473
|
-
"hono": "^4.13.
|
|
472
|
+
"hono": "^4.13.17",
|
|
474
473
|
"ink": "^8.0.0",
|
|
475
474
|
"input-otp": "^1.5.0",
|
|
476
475
|
"js-yaml": "^5.5.0",
|
|
477
476
|
"jsdom": "^31.0.0",
|
|
478
477
|
"katex": "^0.19.1",
|
|
479
|
-
"lucide-react": "^1.69.0",
|
|
480
478
|
"minimatch": "^11.0.5",
|
|
481
|
-
"motion": "^14.
|
|
479
|
+
"motion": "^14.10.1",
|
|
482
480
|
"mysql2": "^3.24.6",
|
|
483
481
|
"nanoid": "^6.0.2",
|
|
484
482
|
"next": "^16.4.5",
|
|
485
483
|
"next-auth": "^4.24.15",
|
|
486
484
|
"next-intl": "^4.14.9",
|
|
487
485
|
"next-themes": "^0.4.6",
|
|
488
|
-
"openai": "^7.
|
|
486
|
+
"openai": "^7.53.0",
|
|
489
487
|
"p-limit": "^7.3.3",
|
|
490
488
|
"p-retry": "^9.0.0",
|
|
491
489
|
"playwright": "^1.65.0",
|
|
@@ -501,7 +499,7 @@
|
|
|
501
499
|
"react-dom": "^19.3.1",
|
|
502
500
|
"react-hook-form": "^7.91.0",
|
|
503
501
|
"react-markdown": "^10.1.0",
|
|
504
|
-
"react-resizable-panels": "^4.
|
|
502
|
+
"react-resizable-panels": "^4.19.1",
|
|
505
503
|
"react-syntax-highlighter": "^16.1.2",
|
|
506
504
|
"recharts": "^3.10.1",
|
|
507
505
|
"request-ip": "^3.3.0",
|
|
@@ -512,7 +510,7 @@
|
|
|
512
510
|
"source-map-js": "^1.2.2",
|
|
513
511
|
"streamdown": "^2.7.1",
|
|
514
512
|
"tailwind-merge": "^3.7.0",
|
|
515
|
-
"tailwindcss": "^4.3.
|
|
513
|
+
"tailwindcss": "^4.3.5",
|
|
516
514
|
"tailwindcss-animate": "^1.0.7",
|
|
517
515
|
"three": "^0.187.0",
|
|
518
516
|
"ts-node": "^10.9.2",
|
|
@@ -532,7 +530,7 @@
|
|
|
532
530
|
"yaml": "^2.9.1",
|
|
533
531
|
"z-ai-web-dev-sdk": "^0.0.18",
|
|
534
532
|
"zod": "^4.6.7",
|
|
535
|
-
"zustand": "^5.0
|
|
533
|
+
"zustand": "^5.1.0",
|
|
536
534
|
"xcode": {
|
|
537
535
|
"uuid": "11.1.1"
|
|
538
536
|
}
|
package/pnpm-workspace.yaml
CHANGED
|
@@ -29,57 +29,78 @@ minimumReleaseAgeExclude:
|
|
|
29
29
|
- fast-uri@3.1.9
|
|
30
30
|
- follow-redirects@1.16.1
|
|
31
31
|
- zod@4.6.6
|
|
32
|
-
- '@biomejs/biome@2.6.3 || 2.6.4 || 2.6.5'
|
|
33
|
-
- '@biomejs/cli-android-arm64@2.6.3 || 2.6.4 || 2.6.5'
|
|
34
|
-
- '@biomejs/cli-android-x64@2.6.3 || 2.6.4 || 2.6.5'
|
|
35
|
-
- '@biomejs/cli-darwin-arm64@2.6.3 || 2.6.4 || 2.6.5'
|
|
36
|
-
- '@biomejs/cli-darwin-x64@2.6.3 || 2.6.4 || 2.6.5'
|
|
37
|
-
- '@biomejs/cli-linux-arm64-musl@2.6.3 || 2.6.4 || 2.6.5'
|
|
38
|
-
- '@biomejs/cli-linux-arm64@2.6.3 || 2.6.4 || 2.6.5'
|
|
39
|
-
- '@biomejs/cli-linux-x64-musl@2.6.3 || 2.6.4 || 2.6.5'
|
|
40
|
-
- '@biomejs/cli-linux-x64@2.6.3 || 2.6.4 || 2.6.5'
|
|
41
|
-
- '@biomejs/cli-win32-arm64@2.6.3 || 2.6.4 || 2.6.5'
|
|
42
|
-
- '@biomejs/cli-win32-x64@2.6.3 || 2.6.4 || 2.6.5'
|
|
32
|
+
- '@biomejs/biome@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
33
|
+
- '@biomejs/cli-android-arm64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
34
|
+
- '@biomejs/cli-android-x64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
35
|
+
- '@biomejs/cli-darwin-arm64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
36
|
+
- '@biomejs/cli-darwin-x64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
37
|
+
- '@biomejs/cli-linux-arm64-musl@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
38
|
+
- '@biomejs/cli-linux-arm64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
39
|
+
- '@biomejs/cli-linux-x64-musl@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
40
|
+
- '@biomejs/cli-linux-x64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
41
|
+
- '@biomejs/cli-win32-arm64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
42
|
+
- '@biomejs/cli-win32-x64@2.6.3 || 2.6.4 || 2.6.5 || 2.6.6'
|
|
43
43
|
- '@types/node@26.6.6'
|
|
44
44
|
- '@capacitor/android@8.6.0'
|
|
45
45
|
- '@capacitor/cli@8.6.0'
|
|
46
46
|
- '@capacitor/core@8.6.0'
|
|
47
47
|
- '@capacitor/ios@8.6.0'
|
|
48
48
|
- '@opencode-ai/sdk@1.19.5'
|
|
49
|
-
- react-resizable-panels@4.15.1 || 4.15.2 || 4.15.3 || 4.16.0 || 4.16.1 || 4.17.0 || 4.18.0 || 4.18.1
|
|
50
|
-
- '@types/google.maps@3.66.9'
|
|
51
|
-
-
|
|
49
|
+
- react-resizable-panels@4.15.1 || 4.15.2 || 4.15.3 || 4.16.0 || 4.16.1 || 4.17.0 || 4.18.0 || 4.18.1 || 4.19.0 || 4.19.1
|
|
50
|
+
- '@types/google.maps@3.66.9 || 3.66.10'
|
|
51
|
+
- playwright@1.65.0
|
|
52
|
+
- playwright-core@1.65.0
|
|
53
|
+
- '@anthropic-ai/sdk@1.6.0'
|
|
54
|
+
- '@hookform/resolvers@7.0.3'
|
|
55
|
+
- '@tanstack/query-core@5.106.1 || 5.107.1'
|
|
56
|
+
- '@tanstack/react-query@5.106.1 || 5.107.1'
|
|
57
|
+
- openai@7.52.0 || 7.53.0
|
|
58
|
+
- '@wenathlan/argan@2.0.155 || 2.0.165 || 2.0.166 || 2.0.167'
|
|
59
|
+
- '@wenathlan/cadria@2.0.154 || 2.0.155 || 2.0.156 || 2.0.165 || 2.0.166 || 2.1.8 || 2.0.167'
|
|
60
|
+
- '@wenathlan/debonair@2.0.154 || 2.0.155 || 2.0.156 || 2.0.165 || 2.0.166 || 2.1.8 || 2.0.167'
|
|
61
|
+
- '@wenathlan/devthink@2.0.154 || 2.0.155 || 2.0.156 || 2.0.165 || 2.0.166 || 2.1.7 || 2.0.167'
|
|
62
|
+
- '@wenathlan/getry@2.0.154 || 2.0.155 || 2.0.156 || 2.0.165 || 2.0.166 || 2.0.167'
|
|
63
|
+
- '@wenathlan/saddle@2.0.154 || 2.0.155 || 2.0.156 || 2.0.165 || 2.0.166 || 2.1.8 || 2.0.167'
|
|
64
|
+
- '@wenathlan/vault@2.0.152 || 2.0.153 || 2.0.154 || 2.0.155 || 2.0.156 || 2.0.165 || 2.0.166 || 2.1.8 || 2.0.167'
|
|
65
|
+
- jsdom@31.0.0
|
|
66
|
+
- pnpm@12.18.0
|
|
67
|
+
- "@pnpm/exe.linux-x64@12.18.0"
|
|
52
68
|
- '@fluentui/react-icons@2.0.345'
|
|
53
|
-
- '@wenathlan/vault@2.0.152 || 2.0.153 || 2.0.154 || 2.0.155 || 2.0.156 || 2.1.8'
|
|
54
69
|
- hono@4.13.16
|
|
55
|
-
- '@
|
|
56
|
-
- '@
|
|
57
|
-
- '@
|
|
58
|
-
- '@tailwindcss/
|
|
59
|
-
- '@tailwindcss/oxide-
|
|
60
|
-
- '@tailwindcss/oxide-
|
|
61
|
-
- '@tailwindcss/oxide-
|
|
62
|
-
- '@tailwindcss/oxide-
|
|
63
|
-
- '@tailwindcss/oxide-linux-
|
|
64
|
-
- '@tailwindcss/oxide-linux-
|
|
65
|
-
- '@tailwindcss/oxide-
|
|
66
|
-
- '@tailwindcss/oxide-
|
|
67
|
-
- '@tailwindcss/oxide-
|
|
68
|
-
- '@tailwindcss/oxide
|
|
69
|
-
- '@tailwindcss/
|
|
70
|
-
- '@tailwindcss/
|
|
71
|
-
- '@tailwindcss/oxide@4.3.4'
|
|
72
|
-
- '@tailwindcss/postcss@4.3.4'
|
|
73
|
-
- '@tailwindcss/vite@4.3.4'
|
|
70
|
+
- '@tailwindcss/node@4.3.4 || 4.3.5'
|
|
71
|
+
- '@tailwindcss/oxide-android-arm64@4.3.4 || 4.3.5'
|
|
72
|
+
- '@tailwindcss/oxide-darwin-arm64@4.3.4 || 4.3.5'
|
|
73
|
+
- '@tailwindcss/oxide-darwin-x64@4.3.4 || 4.3.5'
|
|
74
|
+
- '@tailwindcss/oxide-freebsd-x64@4.3.4 || 4.3.5'
|
|
75
|
+
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.4 || 4.3.5'
|
|
76
|
+
- '@tailwindcss/oxide-linux-arm64-gnu@4.3.4 || 4.3.5'
|
|
77
|
+
- '@tailwindcss/oxide-linux-arm64-musl@4.3.4 || 4.3.5'
|
|
78
|
+
- '@tailwindcss/oxide-linux-x64-gnu@4.3.4 || 4.3.5'
|
|
79
|
+
- '@tailwindcss/oxide-linux-x64-musl@4.3.4 || 4.3.5'
|
|
80
|
+
- '@tailwindcss/oxide-wasm32-wasi@4.3.4 || 4.3.5'
|
|
81
|
+
- '@tailwindcss/oxide-win32-arm64-msvc@4.3.4 || 4.3.5'
|
|
82
|
+
- '@tailwindcss/oxide-win32-x64-msvc@4.3.4 || 4.3.5'
|
|
83
|
+
- '@tailwindcss/oxide@4.3.4 || 4.3.5'
|
|
84
|
+
- '@tailwindcss/postcss@4.3.4 || 4.3.5'
|
|
85
|
+
- '@tailwindcss/vite@4.3.4 || 4.3.5'
|
|
74
86
|
- '@vitejs/plugin-react@6.2.1'
|
|
75
87
|
- '@vitest/mocker@5.1.0'
|
|
76
88
|
- '@vitest/spy@5.1.0'
|
|
77
|
-
- tailwindcss@4.3.4
|
|
89
|
+
- tailwindcss@4.3.4 || 4.3.5
|
|
78
90
|
- vitest@5.1.0
|
|
79
|
-
- '@wenathlan/saddle@2.0.154 || 2.0.155 || 2.0.156 || 2.1.8'
|
|
80
|
-
- '@wenathlan/devthink@2.0.154 || 2.0.155 || 2.0.156 || 2.1.7'
|
|
81
|
-
- '@wenathlan/argan@2.0.155'
|
|
82
91
|
- gsap@3.15.1
|
|
92
|
+
- '@wenathlan/cobaia@2.0.166 || 2.0.167'
|
|
93
|
+
- '@wenathlan/forge@2.0.166 || 2.0.167'
|
|
94
|
+
- '@wenathlan/foundry@2.0.166 || 2.0.167'
|
|
95
|
+
- '@wenathlan/stealthhead@2.0.166 || 2.0.167'
|
|
96
|
+
- framer-motion@14.10.1
|
|
97
|
+
- motion-dom@14.10.1
|
|
98
|
+
- motion@14.10.1
|
|
99
|
+
- zustand@5.1.0
|
|
100
|
+
- '@ai-sdk/gateway@4.0.137'
|
|
101
|
+
- '@ai-sdk/openai-compatible@3.0.86'
|
|
102
|
+
- '@ai-sdk/openai@4.0.110'
|
|
103
|
+
- ai@7.0.164
|
|
83
104
|
# the pnpm settings live here since pnpm 12 (the package.json pnpm field is
|
|
84
105
|
# no longer read, and onlyBuiltDependencies died in pnpm 11 — the map below
|
|
85
106
|
# is allowBuilds). THE 2.0.155 BUILDS GATE HEAL: the four-entry map froze
|
package/pom.xml
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<scm><url>https://github.com/wenathlan/devthink</url><connection>scm:git:https://github.com/wenathlan/devthink.git</connection></scm>
|
|
13
13
|
<distributionManagement><repository><id>github</id><name>GitHub Packages</name><url>https://maven.pkg.github.com/wenathlan/devthink</url></repository></distributionManagement>
|
|
14
14
|
<properties>
|
|
15
|
-
<revision>2.0.
|
|
15
|
+
<revision>2.0.168</revision>
|
|
16
16
|
</properties>
|
|
17
17
|
<build>
|
|
18
18
|
<resources>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<includes>
|
|
22
22
|
<include>README.md</include>
|
|
23
23
|
<include>docs/**</include>
|
|
24
|
-
<include>
|
|
24
|
+
<include>test/**</include>
|
|
25
25
|
</includes>
|
|
26
26
|
</resource>
|
|
27
27
|
</resources>
|
package/pyproject.toml
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# cobaia — the python documentation envelope of the family (the pypi channel).
|
|
2
|
+
# Ships the same envelope the gem face packs: README, docs and tests.
|
|
3
|
+
# Built by the publish lane with `python -m build` (PEP 517); the version
|
|
4
|
+
# rides the COBAIA_VERSION environment the metadata lockstep stamps — the
|
|
5
|
+
# pyproject table cannot fetch an environment the gemspec reads, so the
|
|
6
|
+
# static version below is the fallback the lane sed-stamps before building.
|
|
7
|
+
[build-system]
|
|
8
|
+
requires = ["setuptools>=75"]
|
|
9
|
+
build-backend = "setuptools.build_meta"
|
|
10
|
+
|
|
11
|
+
[project]
|
|
12
|
+
name = "wenathlan-cobaia"
|
|
13
|
+
version = "2.0.167"
|
|
14
|
+
authors = [{name = "wenathlan"}]
|
|
15
|
+
description = "The monetization surface — the plans, the support rails and the honest advertisement slots"
|
|
16
|
+
readme = "README.md"
|
|
17
|
+
license = {text = "GPL-3.0-only"}
|
|
18
|
+
requires-python = ">=3.11"
|
|
19
|
+
|
|
20
|
+
# The envelope carries no python code — the empty package list keeps the
|
|
21
|
+
# build honest while the MANIFEST.in packs the envelope files.
|
|
22
|
+
[tool.setuptools]
|
|
23
|
+
packages = []
|
package/routerbase.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { routerBase } from "../devthink/routerbase.ts";
|
package/sandboxmodality.ts
CHANGED
|
@@ -20,28 +20,24 @@
|
|
|
20
20
|
// this module never judges engine vocabulary, so the mirror cannot drift
|
|
21
21
|
// when the registry grows). The module never spawns anything and resolves
|
|
22
22
|
// no join: it names the lanes' truth; the platform resolves the sandbox.
|
|
23
|
-
// Zero consumer data
|
|
23
|
+
// Zero consumer data; the one import below is the owner's lane seat
|
|
24
|
+
// factory and nothing else enters.
|
|
25
|
+
//
|
|
26
|
+
// The engine seat (wave W5, the dedup law): the seat resolver, the env
|
|
27
|
+
// reader and the lane lookup no longer live in this file — they ride the
|
|
28
|
+
// saddle factory (laneseating of ../saddle/workloadlaw.ts, the owner's
|
|
29
|
+
// workload law) bound once to this app's own data, re-exported under the
|
|
30
|
+
// same names the surface always spoke. The rows stay mirrored (the drift
|
|
31
|
+
// pin the battery wants), only the engine moved: zero behavior change,
|
|
32
|
+
// zero public-surface change.
|
|
33
|
+
|
|
34
|
+
import { type AppWorkloadLane, type LaneSeatResult, laneseating } from "../saddle/workloadlaw.ts";
|
|
24
35
|
|
|
25
36
|
/** one mirrored workload lane row — the same five keys the engine law pins
|
|
26
|
-
* (app, lane, role, demand, today)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/** the lane id inside the app (kebab-case, the engine catalog id). */
|
|
31
|
-
readonly lane: string;
|
|
32
|
-
/** what the lane does, in one sentence (the engine row's sentence). */
|
|
33
|
-
readonly role: string;
|
|
34
|
-
/** the demand the lane puts on the sandbox (gpu, network, isolation,
|
|
35
|
-
* boot budget — never a modality name: the nuclear law). */
|
|
36
|
-
readonly demand: {
|
|
37
|
-
readonly gpu: boolean;
|
|
38
|
-
readonly network: boolean;
|
|
39
|
-
readonly isolation: "process" | "namespace" | "vm" | "hardware";
|
|
40
|
-
readonly bootbudget?: number;
|
|
41
|
-
};
|
|
42
|
-
/** where the heavy pass runs today — the honest truth the census reads. */
|
|
43
|
-
readonly today: "engine-lane" | "app-lane";
|
|
44
|
-
};
|
|
37
|
+
* (app, lane, role, demand, today); the shape itself rides the owner's
|
|
38
|
+
* law now (wave W5 — saddle/workloadlaw.ts answers the type once),
|
|
39
|
+
* re-exported under the historical surface name. */
|
|
40
|
+
export type { AppWorkloadLane };
|
|
45
41
|
|
|
46
42
|
/** the app slug every mirrored row carries. */
|
|
47
43
|
export const APPSLUG = "cobaia";
|
|
@@ -83,10 +79,13 @@ export const SANDBOXLANEENV = "COBAIA_SANDBOX_LANE";
|
|
|
83
79
|
* modality id the deploy named (validated by the platform's join at
|
|
84
80
|
* dispatch, never judged here). every answer is honest: an absent or
|
|
85
81
|
* blank choice answers the declared default, never a silent switch. */
|
|
86
|
-
export type LaneSeatResult
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
export type { LaneSeatResult };
|
|
83
|
+
|
|
84
|
+
/** the lane seat engine of this app — the saddle factory bound once to
|
|
85
|
+
* this app's own data (the dedup law: the engine lives in the owner, the
|
|
86
|
+
* app keeps its data), the seats re-exported below under the names the
|
|
87
|
+
* surface always spoke. */
|
|
88
|
+
const seating = laneseating({ slug: APPSLUG, envvar: SANDBOXLANEENV, lanes: WORKLOADLANES });
|
|
90
89
|
|
|
91
90
|
/**
|
|
92
91
|
* Resolves the sandbox lane seat of this application — the deploy's
|
|
@@ -101,16 +100,7 @@ export type LaneSeatResult =
|
|
|
101
100
|
* @param choice the deploy's choice (the env value or the config row).
|
|
102
101
|
* @returns the seat declaration.
|
|
103
102
|
*/
|
|
104
|
-
export
|
|
105
|
-
const name = choice?.trim() ?? "";
|
|
106
|
-
if (name.length === 0 || name === "local") {
|
|
107
|
-
return { ok: true, seat: "local", sandboxed: false };
|
|
108
|
-
}
|
|
109
|
-
if (name === "join") {
|
|
110
|
-
return { ok: true, seat: "join", sandboxed: true, pinned: false };
|
|
111
|
-
}
|
|
112
|
-
return { ok: true, seat: name, sandboxed: true, pinned: true };
|
|
113
|
-
}
|
|
103
|
+
export const lanesandbox = seating.lanesandbox;
|
|
114
104
|
|
|
115
105
|
/**
|
|
116
106
|
* Reads the lane seat off one environment lookup — the deploy pins
|
|
@@ -121,9 +111,7 @@ export function lanesandbox(choice: string | undefined): LaneSeatResult {
|
|
|
121
111
|
* @param lookup the environment lookup function (the env carrier).
|
|
122
112
|
* @returns the seat declaration.
|
|
123
113
|
*/
|
|
124
|
-
export
|
|
125
|
-
return lanesandbox(lookup(SANDBOXLANEENV));
|
|
126
|
-
}
|
|
114
|
+
export const lanesandboxfromenv = seating.lanesandboxfromenv;
|
|
127
115
|
|
|
128
116
|
/**
|
|
129
117
|
* Answers one mirrored lane row by lane id — the lookup the app surfaces
|
|
@@ -133,6 +121,4 @@ export function lanesandboxfromenv(lookup: (key: string) => string | undefined):
|
|
|
133
121
|
* @returns the mirrored row, or undefined when the app carries no such
|
|
134
122
|
* lane.
|
|
135
123
|
*/
|
|
136
|
-
export
|
|
137
|
-
return WORKLOADLANES.find((row) => row.lane === lane);
|
|
138
|
-
}
|
|
124
|
+
export const laneof = seating.laneof;
|
package/sol/Sol.tsx
CHANGED
|
@@ -29,7 +29,7 @@ import OnboardingAnchor from "./onboarding/onboarding";
|
|
|
29
29
|
import LegalAnchor from "./legal/legal";
|
|
30
30
|
import NotFoundAnchor from "./notfound/notfound";
|
|
31
31
|
import PricingAnchor from "./pricing/pricing";
|
|
32
|
-
import { EntryGate } from "
|
|
32
|
+
import { EntryGate } from "../wingets";
|
|
33
33
|
import { Shell } from "./shell/Shell";
|
|
34
34
|
import SupportAnchor from "./support/support";
|
|
35
35
|
|