@wenathlan/getry 2.0.165 → 2.0.167

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 (66) hide show
  1. package/README.md +1 -1
  2. package/accounts.ts +2087 -0
  3. package/antigravity.ts +2171 -0
  4. package/auth.ts +265 -0
  5. package/cli.ts +3 -3
  6. package/constants.ts +950 -0
  7. package/db.ts +810 -0
  8. package/docs/distributionlanes.md +1 -1
  9. package/docs/features.md +1 -2
  10. package/docs/gateway.md +2 -3
  11. package/docs/getry.md +33 -0
  12. package/engine.ts +1535 -0
  13. package/fingerprint.ts +1461 -0
  14. package/gateway.ts +1306 -0
  15. package/gatewaycheck.ts +142 -0
  16. package/intelligence.ts +169 -0
  17. package/json.ts +932 -0
  18. package/labels.ts +262 -0
  19. package/llm.ts +2709 -0
  20. package/models.ts +4017 -0
  21. package/nodeshim.ts +265 -0
  22. package/oauth.ts +2201 -0
  23. package/package.json +580 -225
  24. package/project.ts +1293 -0
  25. package/providers.ts +3238 -0
  26. package/quota.ts +1891 -0
  27. package/recovery.ts +2434 -0
  28. package/request.ts +4496 -0
  29. package/search.ts +1761 -0
  30. package/server.ts +766 -0
  31. package/streaming.ts +4398 -0
  32. package/{tests → test}/cli.test.ts +1 -1
  33. package/{tests → test}/gateway.test.ts +2 -2
  34. package/{tests → test}/gatewayversions.test.ts +1 -1
  35. package/{tests → test}/intelligence.test.ts +1 -1
  36. package/{tests → test}/keyrotation.test.ts +1 -1
  37. package/{tests → test}/onboardingstate.test.ts +1 -1
  38. package/{tests → test}/providerfixtures.ts +12 -12
  39. package/{tests → test}/researchfixtures.ts +1 -1
  40. package/{tests → test}/sandboxmodality.test.ts +1 -1
  41. package/thinking.ts +416 -0
  42. package/types.ts +809 -0
  43. package/utils.ts +263 -0
  44. package/validate.ts +61 -0
  45. package/versionregistry.ts +1325 -0
  46. /package/{tests → test}/debonairlane.test.ts +0 -0
  47. /package/{tests → test}/design.test.ts +0 -0
  48. /package/{tests → test}/family.test.ts +0 -0
  49. /package/{tests → test}/gatewayserver.ts +0 -0
  50. /package/{tests → test}/jsonpolicy.test.ts +0 -0
  51. /package/{tests → test}/llm.test.ts +0 -0
  52. /package/{tests → test}/modelroute.test.ts +0 -0
  53. /package/{tests → test}/promptlibrary.test.ts +0 -0
  54. /package/{tests → test}/providercli.test.ts +0 -0
  55. /package/{tests → test}/providerconstants.test.ts +0 -0
  56. /package/{tests → test}/providerfingerprint.test.ts +0 -0
  57. /package/{tests → test}/providermodels.test.ts +0 -0
  58. /package/{tests → test}/provideroauth.test.ts +0 -0
  59. /package/{tests → test}/routerotation.test.ts +0 -0
  60. /package/{tests → test}/serverauth.test.ts +0 -0
  61. /package/{tests → test}/serverengine.test.ts +0 -0
  62. /package/{tests → test}/serverproperty.test.ts +0 -0
  63. /package/{tests → test}/serverutils.test.ts +0 -0
  64. /package/{tests → test}/streamfallback.test.ts +0 -0
  65. /package/{tests → test}/thinkingladder.test.ts +0 -0
  66. /package/{tests → test}/torturellm.test.ts +0 -0
package/package.json CHANGED
@@ -1,27 +1,547 @@
1
1
  {
2
2
  "name": "@wenathlan/getry",
3
- "version": "2.0.165",
3
+ "version": "2.0.167",
4
+ "private": false,
4
5
  "description": "getry is the AI gateway of the wenathlan family: five provider gateways (v1 zai, v2 babel, v3 nvidia, v4 opencode+kilo, v5 openrouter) serving 35 OpenAI-compatible routes with the 7-level thinking system, the session store and the key rotation, described by schema.prisma and served as one static Sol surface. The envelope distributes the documentation set and the tests directory as one package.",
5
- "keywords": [
6
- "getry",
7
- "gateway",
8
- "ai",
9
- "api",
10
- "llm",
11
- "proxy",
12
- "openai-compatible",
13
- "documentation"
14
- ],
15
- "homepage": "https://github.com/wenathlan/devthink/tree/main/getry",
16
- "bugs": {
17
- "url": "https://github.com/wenathlan/devthink/issues"
6
+ "license": "GPL-3.0-only",
7
+ "scripts": {
8
+ "db:generate": "prisma generate --schema schema.prisma",
9
+ "dev": "vite --host",
10
+ "build": "vite build",
11
+ "start": "vite preview --host",
12
+ "preview": "vite preview --host",
13
+ "check": "tsc --noEmit",
14
+ "typecheck": "tsc --noEmit",
15
+ "test": "vitest run",
16
+ "restore:entry": "node -e \"const{readFileSync}=require('node:fs');const{execSync}=require('node:child_process');const script=/script[^>]*App\\.tsx/;const triad=/family=Bricolage\\+Grotesque[\\s\\S]*Outfit[\\s\\S]*JetBrains\\+Mono/;const face=(h)=>script.test(h)&&triad.test(h);if(face(readFileSync('index.html','utf8'))){console.log('index.html already rides the source face');process.exit(0)}if(!face(execSync('git show HEAD:./index.html',{encoding:'utf8'}))){console.error('refusing: HEAD index.html is not the canonical source face yet (script App.tsx + the font triad) - land the source-face fix first; nothing was touched');process.exit(1)}execSync('git checkout -- index.html',{stdio:'inherit'});console.log('index.html restored from HEAD (the source face)')\""
17
+ },
18
+ "dependencies": {
19
+ "@ai-sdk/openai": "^4.0.110",
20
+ "@ai-sdk/openai-compatible": "^3.0.86",
21
+ "@ai-sdk/provider-utils": "^5.0.75",
22
+ "@anthropic-ai/sdk": "^1.6.0",
23
+ "@biomejs/biome": "^2.6.6",
24
+ "@capacitor/android": "^8.6.0",
25
+ "@capacitor/cli": "^8.6.0",
26
+ "@capacitor/core": "^8.6.0",
27
+ "@capacitor/ios": "^8.6.0",
28
+ "@dnd-kit/core": "^6.3.1",
29
+ "@dnd-kit/sortable": "^10.0.0",
30
+ "@dnd-kit/utilities": "^3.2.2",
31
+ "@fluentui/react-icons": "^2.0.345",
32
+ "@fontsource-variable/bricolage-grotesque": "^5.3.0",
33
+ "@fontsource-variable/geist-mono": "^5.3.0",
34
+ "@fontsource-variable/inter": "^5.3.0",
35
+ "@fontsource-variable/jetbrains-mono": "^5.3.0",
36
+ "@fontsource-variable/outfit": "^5.3.0",
37
+ "@fontsource-variable/urbanist": "^5.3.0",
38
+ "@grpc/grpc-js": "^1.14.7",
39
+ "@hono/node-server": "^2.1.6",
40
+ "@hookform/resolvers": "^7.0.3",
41
+ "@humanfs/node": "^0.17.0",
42
+ "@libsql/client": "^0.18.0",
43
+ "@mdxeditor/editor": "^4.5.0",
44
+ "@opencode-ai/sdk": "^1.19.5",
45
+ "@prisma/adapter-libsql": "^7.10.1",
46
+ "@prisma/client": "^7.10.1",
47
+ "@radix-ui/react-accordion": "^1.3.1",
48
+ "@radix-ui/react-alert-dialog": "^1.2.1",
49
+ "@radix-ui/react-aspect-ratio": "^1.2.0",
50
+ "@radix-ui/react-avatar": "^1.3.1",
51
+ "@radix-ui/react-checkbox": "^1.4.1",
52
+ "@radix-ui/react-collapsible": "^1.2.1",
53
+ "@radix-ui/react-context-menu": "^2.4.1",
54
+ "@radix-ui/react-dialog": "^1.3.1",
55
+ "@radix-ui/react-dropdown-menu": "^2.2.1",
56
+ "@radix-ui/react-hover-card": "^1.2.1",
57
+ "@radix-ui/react-label": "^2.1.17",
58
+ "@radix-ui/react-menubar": "^1.2.1",
59
+ "@radix-ui/react-navigation-menu": "^1.4.1",
60
+ "@radix-ui/react-popover": "^1.3.1",
61
+ "@radix-ui/react-progress": "^1.2.1",
62
+ "@radix-ui/react-radio-group": "^1.5.1",
63
+ "@radix-ui/react-scroll-area": "^1.4.0",
64
+ "@radix-ui/react-select": "^2.4.1",
65
+ "@radix-ui/react-separator": "^1.2.0",
66
+ "@radix-ui/react-slider": "^1.6.1",
67
+ "@radix-ui/react-slot": "^1.5.0",
68
+ "@radix-ui/react-switch": "^1.4.1",
69
+ "@radix-ui/react-tabs": "^1.2.1",
70
+ "@radix-ui/react-toast": "^1.3.1",
71
+ "@radix-ui/react-toggle": "^1.2.1",
72
+ "@radix-ui/react-toggle-group": "^1.2.1",
73
+ "@radix-ui/react-tooltip": "^1.4.1",
74
+ "@reactuses/core": "^6.6.1",
75
+ "@tailwindcss/postcss": "^4.3.5",
76
+ "@tailwindcss/typography": "^0.5.20",
77
+ "@tailwindcss/vite": "^4.3.5",
78
+ "@tanstack/react-query": "^5.107.1",
79
+ "@tanstack/react-table": "^9.3.1",
80
+ "@tsconfig/node26": "^26.0.1",
81
+ "@types/babel__core": "^7.20.5",
82
+ "@types/better-sqlite3": "^9.6.0",
83
+ "@types/chrome": "^0.3.7",
84
+ "@types/express": "^5.0.6",
85
+ "@types/google.maps": "^3.66.10",
86
+ "@types/node": "^26.6.6",
87
+ "@types/react": "^19.3.0",
88
+ "@types/react-dom": "^19.3.0",
89
+ "@types/three": "^0.187.0",
90
+ "@vitejs/plugin-react": "^6.2.1",
91
+ "@wenathlan/argan": "~2.0.166",
92
+ "@wenathlan/cadria": "~2.0.166",
93
+ "@wenathlan/debonair": "~2.0.166",
94
+ "@wenathlan/devthink": "~2.0.166",
95
+ "@wenathlan/getry": "~2.0.166",
96
+ "@wenathlan/saddle": "~2.0.166",
97
+ "@wenathlan/vault": "~2.0.166",
98
+ "add": "^2.0.9",
99
+ "ai": "^7.0.164",
100
+ "autoprefixer": "^10.6.2",
101
+ "axios": "^1.21.0",
102
+ "baseline-browser-mapping": "^2.11.35",
103
+ "better-sqlite3": "^13.0.3",
104
+ "body-parser": "^2.4.0",
105
+ "bun-types": "^1.4.4",
106
+ "cheerio": "^1.2.0",
107
+ "class-variance-authority": "^0.7.1",
108
+ "clsx": "^2.1.1",
109
+ "cmdk": "^1.1.1",
110
+ "commander": "^15.0.0",
111
+ "date-fns": "^4.4.0",
112
+ "deepmerge-ts": "^8.0.2",
113
+ "dockerode": "^5.0.1",
114
+ "drizzle-kit": "^0.31.11",
115
+ "drizzle-orm": "^0.45.4",
116
+ "embla-carousel-react": "^8.6.0",
117
+ "emittery": "^2.2.0",
118
+ "esbuild": "^0.28.2",
119
+ "eslint": "^10.14.0",
120
+ "eslint-config-next": "^16.4.5",
121
+ "express": "^5.3.0",
122
+ "fast-check": "^4.10.2",
123
+ "fast-uri": "^4.2.3",
124
+ "follow-redirects": "^1.16.2",
125
+ "framer-motion": "^14.10.1",
126
+ "glob": "^14.0.4",
127
+ "gsap": "^3.15.1",
128
+ "hono": "^4.13.16",
129
+ "ink": "^8.0.0",
130
+ "input-otp": "^1.5.0",
131
+ "js-yaml": "^5.5.0",
132
+ "jsdom": "^31.0.0",
133
+ "katex": "^0.19.1",
134
+ "lucide-react": "^1.70.0",
135
+ "minimatch": "^11.0.5",
136
+ "motion": "^14.10.1",
137
+ "mysql2": "^3.24.6",
138
+ "nanoid": "^6.0.2",
139
+ "next": "^16.4.5",
140
+ "next-auth": "^4.24.15",
141
+ "next-intl": "^4.14.9",
142
+ "next-themes": "^0.4.6",
143
+ "openai": "^7.53.0",
144
+ "p-limit": "^7.3.3",
145
+ "p-retry": "^9.0.0",
146
+ "playwright": "^1.65.0",
147
+ "pnpm": "^12.18.0",
148
+ "postcss": "^8.5.32",
149
+ "postcss-selector-parser": "^7.1.7",
150
+ "prettier": "^3.9.10",
151
+ "prisma": "^7.10.1",
152
+ "proxy-addr": "^2.0.8",
153
+ "react": "^19.3.1",
154
+ "react-day-picker": "^10.0.2",
155
+ "react-devtools-core": "^8.0.0",
156
+ "react-dom": "^19.3.1",
157
+ "react-hook-form": "^7.91.0",
158
+ "react-markdown": "^10.1.0",
159
+ "react-resizable-panels": "^4.19.1",
160
+ "react-syntax-highlighter": "^16.1.2",
161
+ "recharts": "^3.10.1",
162
+ "request-ip": "^3.3.0",
163
+ "sharp": "^0.35.5",
164
+ "shell-quote": "^1.12.0",
165
+ "smol-toml": "^1.9.1",
166
+ "sonner": "^2.0.8",
167
+ "source-map-js": "^1.2.2",
168
+ "streamdown": "^2.7.1",
169
+ "tailwind-merge": "^3.7.0",
170
+ "tailwindcss": "^4.3.5",
171
+ "tailwindcss-animate": "^1.0.7",
172
+ "three": "^0.187.0",
173
+ "ts-node": "^10.9.2",
174
+ "tsup": "^9.0.0",
175
+ "tsx": "^4.23.15",
176
+ "tw-animate-css": "^1.4.0",
177
+ "typescript": "^7.0.2",
178
+ "undici": "^8.12.4",
179
+ "uuid": "^14.0.3",
180
+ "vaul": "^1.1.2",
181
+ "vite": "^8.3.6",
182
+ "vite-plugin-manus-runtime": "^0.0.59",
183
+ "vitest": "^5.1.0",
184
+ "webpack": "^5.112.2",
185
+ "webpack-cli": "^7.3.1",
186
+ "wouter": "^3.13.0",
187
+ "yaml": "^2.9.1",
188
+ "z-ai-web-dev-sdk": "^0.0.18",
189
+ "zod": "^4.6.7",
190
+ "zustand": "^5.1.0"
18
191
  },
19
- "repository": {
20
- "type": "git",
21
- "url": "https://github.com/wenathlan/devthink"
192
+ "devDependencies": {
193
+ "@ai-sdk/openai": "^4.0.110",
194
+ "@ai-sdk/openai-compatible": "^3.0.86",
195
+ "@ai-sdk/provider-utils": "^5.0.75",
196
+ "@anthropic-ai/sdk": "^1.6.0",
197
+ "@biomejs/biome": "^2.6.6",
198
+ "@capacitor/android": "^8.6.0",
199
+ "@capacitor/cli": "^8.6.0",
200
+ "@capacitor/core": "^8.6.0",
201
+ "@capacitor/ios": "^8.6.0",
202
+ "@dnd-kit/core": "^6.3.1",
203
+ "@dnd-kit/sortable": "^10.0.0",
204
+ "@dnd-kit/utilities": "^3.2.2",
205
+ "@fluentui/react-icons": "^2.0.345",
206
+ "@fontsource-variable/bricolage-grotesque": "^5.3.0",
207
+ "@fontsource-variable/geist-mono": "^5.3.0",
208
+ "@fontsource-variable/inter": "^5.3.0",
209
+ "@fontsource-variable/jetbrains-mono": "^5.3.0",
210
+ "@fontsource-variable/outfit": "^5.3.0",
211
+ "@fontsource-variable/urbanist": "^5.3.0",
212
+ "@grpc/grpc-js": "^1.14.7",
213
+ "@hono/node-server": "^2.1.6",
214
+ "@hookform/resolvers": "^7.0.3",
215
+ "@humanfs/node": "^0.17.0",
216
+ "@libsql/client": "^0.18.0",
217
+ "@mdxeditor/editor": "^4.5.0",
218
+ "@opencode-ai/sdk": "^1.19.5",
219
+ "@prisma/adapter-libsql": "^7.10.1",
220
+ "@prisma/client": "^7.10.1",
221
+ "@radix-ui/react-accordion": "^1.3.1",
222
+ "@radix-ui/react-alert-dialog": "^1.2.1",
223
+ "@radix-ui/react-aspect-ratio": "^1.2.0",
224
+ "@radix-ui/react-avatar": "^1.3.1",
225
+ "@radix-ui/react-checkbox": "^1.4.1",
226
+ "@radix-ui/react-collapsible": "^1.2.1",
227
+ "@radix-ui/react-context-menu": "^2.4.1",
228
+ "@radix-ui/react-dialog": "^1.3.1",
229
+ "@radix-ui/react-dropdown-menu": "^2.2.1",
230
+ "@radix-ui/react-hover-card": "^1.2.1",
231
+ "@radix-ui/react-label": "^2.1.17",
232
+ "@radix-ui/react-menubar": "^1.2.1",
233
+ "@radix-ui/react-navigation-menu": "^1.4.1",
234
+ "@radix-ui/react-popover": "^1.3.1",
235
+ "@radix-ui/react-progress": "^1.2.1",
236
+ "@radix-ui/react-radio-group": "^1.5.1",
237
+ "@radix-ui/react-scroll-area": "^1.4.0",
238
+ "@radix-ui/react-select": "^2.4.1",
239
+ "@radix-ui/react-separator": "^1.2.0",
240
+ "@radix-ui/react-slider": "^1.6.1",
241
+ "@radix-ui/react-slot": "^1.5.0",
242
+ "@radix-ui/react-switch": "^1.4.1",
243
+ "@radix-ui/react-tabs": "^1.2.1",
244
+ "@radix-ui/react-toast": "^1.3.1",
245
+ "@radix-ui/react-toggle": "^1.2.1",
246
+ "@radix-ui/react-toggle-group": "^1.2.1",
247
+ "@radix-ui/react-tooltip": "^1.4.1",
248
+ "@reactuses/core": "^6.6.1",
249
+ "@tailwindcss/postcss": "^4.3.5",
250
+ "@tailwindcss/typography": "^0.5.20",
251
+ "@tailwindcss/vite": "^4.3.5",
252
+ "@tanstack/react-query": "^5.107.1",
253
+ "@tanstack/react-table": "^9.3.1",
254
+ "@tsconfig/node26": "^26.0.1",
255
+ "@types/babel__core": "^7.20.5",
256
+ "@types/better-sqlite3": "^9.6.0",
257
+ "@types/chrome": "^0.3.7",
258
+ "@types/express": "^5.0.6",
259
+ "@types/google.maps": "^3.66.10",
260
+ "@types/node": "^26.6.6",
261
+ "@types/react": "^19.3.0",
262
+ "@types/react-dom": "^19.3.0",
263
+ "@types/three": "^0.187.0",
264
+ "@vitejs/plugin-react": "^6.2.1",
265
+ "@wenathlan/argan": "~2.0.166",
266
+ "@wenathlan/cadria": "~2.0.166",
267
+ "@wenathlan/debonair": "~2.0.166",
268
+ "@wenathlan/devthink": "~2.0.166",
269
+ "@wenathlan/getry": "~2.0.166",
270
+ "@wenathlan/saddle": "~2.0.166",
271
+ "@wenathlan/vault": "~2.0.166",
272
+ "add": "^2.0.9",
273
+ "ai": "^7.0.164",
274
+ "autoprefixer": "^10.6.2",
275
+ "axios": "^1.21.0",
276
+ "baseline-browser-mapping": "^2.11.35",
277
+ "better-sqlite3": "^13.0.3",
278
+ "body-parser": "^2.4.0",
279
+ "bun-types": "^1.4.4",
280
+ "cheerio": "^1.2.0",
281
+ "class-variance-authority": "^0.7.1",
282
+ "clsx": "^2.1.1",
283
+ "cmdk": "^1.1.1",
284
+ "commander": "^15.0.0",
285
+ "date-fns": "^4.4.0",
286
+ "deepmerge-ts": "^8.0.2",
287
+ "dockerode": "^5.0.1",
288
+ "drizzle-kit": "^0.31.11",
289
+ "drizzle-orm": "^0.45.4",
290
+ "embla-carousel-react": "^8.6.0",
291
+ "emittery": "^2.2.0",
292
+ "esbuild": "^0.28.2",
293
+ "eslint": "^10.14.0",
294
+ "eslint-config-next": "^16.4.5",
295
+ "express": "^5.3.0",
296
+ "fast-check": "^4.10.2",
297
+ "fast-uri": "^4.2.3",
298
+ "follow-redirects": "^1.16.2",
299
+ "framer-motion": "^14.10.1",
300
+ "glob": "^14.0.4",
301
+ "gsap": "^3.15.1",
302
+ "hono": "^4.13.16",
303
+ "ink": "^8.0.0",
304
+ "input-otp": "^1.5.0",
305
+ "js-yaml": "^5.5.0",
306
+ "jsdom": "^31.0.0",
307
+ "katex": "^0.19.1",
308
+ "lucide-react": "^1.70.0",
309
+ "minimatch": "^11.0.5",
310
+ "motion": "^14.10.1",
311
+ "mysql2": "^3.24.6",
312
+ "nanoid": "^6.0.2",
313
+ "next": "^16.4.5",
314
+ "next-auth": "^4.24.15",
315
+ "next-intl": "^4.14.9",
316
+ "next-themes": "^0.4.6",
317
+ "openai": "^7.53.0",
318
+ "p-limit": "^7.3.3",
319
+ "p-retry": "^9.0.0",
320
+ "playwright": "^1.65.0",
321
+ "pnpm": "^12.18.0",
322
+ "postcss": "^8.5.32",
323
+ "postcss-selector-parser": "^7.1.7",
324
+ "prettier": "^3.9.10",
325
+ "prisma": "^7.10.1",
326
+ "proxy-addr": "^2.0.8",
327
+ "react": "^19.3.1",
328
+ "react-day-picker": "^10.0.2",
329
+ "react-devtools-core": "^8.0.0",
330
+ "react-dom": "^19.3.1",
331
+ "react-hook-form": "^7.91.0",
332
+ "react-markdown": "^10.1.0",
333
+ "react-resizable-panels": "^4.19.1",
334
+ "react-syntax-highlighter": "^16.1.2",
335
+ "recharts": "^3.10.1",
336
+ "request-ip": "^3.3.0",
337
+ "sharp": "^0.35.5",
338
+ "shell-quote": "^1.12.0",
339
+ "smol-toml": "^1.9.1",
340
+ "sonner": "^2.0.8",
341
+ "source-map-js": "^1.2.2",
342
+ "streamdown": "^2.7.1",
343
+ "tailwind-merge": "^3.7.0",
344
+ "tailwindcss": "^4.3.5",
345
+ "tailwindcss-animate": "^1.0.7",
346
+ "three": "^0.187.0",
347
+ "ts-node": "^10.9.2",
348
+ "tsup": "^9.0.0",
349
+ "tsx": "^4.23.15",
350
+ "tw-animate-css": "^1.4.0",
351
+ "typescript": "^7.0.2",
352
+ "undici": "^8.12.4",
353
+ "uuid": "^14.0.3",
354
+ "vaul": "^1.1.2",
355
+ "vite": "^8.3.6",
356
+ "vite-plugin-manus-runtime": "^0.0.59",
357
+ "vitest": "^5.1.0",
358
+ "webpack": "^5.112.2",
359
+ "webpack-cli": "^7.3.1",
360
+ "wouter": "^3.13.0",
361
+ "yaml": "^2.9.1",
362
+ "z-ai-web-dev-sdk": "^0.0.18",
363
+ "zod": "^4.6.7",
364
+ "zustand": "^5.1.0"
365
+ },
366
+ "overrides": {
367
+ "@ai-sdk/openai": "^4.0.110",
368
+ "@ai-sdk/openai-compatible": "^3.0.86",
369
+ "@ai-sdk/provider-utils": "^5.0.75",
370
+ "@anthropic-ai/sdk": "^1.6.0",
371
+ "@biomejs/biome": "^2.6.6",
372
+ "@capacitor/android": "^8.6.0",
373
+ "@capacitor/cli": "^8.6.0",
374
+ "@capacitor/core": "^8.6.0",
375
+ "@capacitor/ios": "^8.6.0",
376
+ "@dnd-kit/core": "^6.3.1",
377
+ "@dnd-kit/sortable": "^10.0.0",
378
+ "@dnd-kit/utilities": "^3.2.2",
379
+ "@fluentui/react-icons": "^2.0.345",
380
+ "@fontsource-variable/bricolage-grotesque": "^5.3.0",
381
+ "@fontsource-variable/geist-mono": "^5.3.0",
382
+ "@fontsource-variable/inter": "^5.3.0",
383
+ "@fontsource-variable/jetbrains-mono": "^5.3.0",
384
+ "@fontsource-variable/outfit": "^5.3.0",
385
+ "@fontsource-variable/urbanist": "^5.3.0",
386
+ "@grpc/grpc-js": "^1.14.7",
387
+ "@hono/node-server": "^2.1.6",
388
+ "@hookform/resolvers": "^7.0.3",
389
+ "@humanfs/node": "^0.17.0",
390
+ "@libsql/client": "^0.18.0",
391
+ "@mdxeditor/editor": "^4.5.0",
392
+ "@opencode-ai/sdk": "^1.19.5",
393
+ "@prisma/adapter-libsql": "^7.10.1",
394
+ "@prisma/client": "^7.10.1",
395
+ "@radix-ui/react-accordion": "^1.3.1",
396
+ "@radix-ui/react-alert-dialog": "^1.2.1",
397
+ "@radix-ui/react-aspect-ratio": "^1.2.0",
398
+ "@radix-ui/react-avatar": "^1.3.1",
399
+ "@radix-ui/react-checkbox": "^1.4.1",
400
+ "@radix-ui/react-collapsible": "^1.2.1",
401
+ "@radix-ui/react-context-menu": "^2.4.1",
402
+ "@radix-ui/react-dialog": "^1.3.1",
403
+ "@radix-ui/react-dropdown-menu": "^2.2.1",
404
+ "@radix-ui/react-hover-card": "^1.2.1",
405
+ "@radix-ui/react-label": "^2.1.17",
406
+ "@radix-ui/react-menubar": "^1.2.1",
407
+ "@radix-ui/react-navigation-menu": "^1.4.1",
408
+ "@radix-ui/react-popover": "^1.3.1",
409
+ "@radix-ui/react-progress": "^1.2.1",
410
+ "@radix-ui/react-radio-group": "^1.5.1",
411
+ "@radix-ui/react-scroll-area": "^1.4.0",
412
+ "@radix-ui/react-select": "^2.4.1",
413
+ "@radix-ui/react-separator": "^1.2.0",
414
+ "@radix-ui/react-slider": "^1.6.1",
415
+ "@radix-ui/react-slot": "^1.5.0",
416
+ "@radix-ui/react-switch": "^1.4.1",
417
+ "@radix-ui/react-tabs": "^1.2.1",
418
+ "@radix-ui/react-toast": "^1.3.1",
419
+ "@radix-ui/react-toggle": "^1.2.1",
420
+ "@radix-ui/react-toggle-group": "^1.2.1",
421
+ "@radix-ui/react-tooltip": "^1.4.1",
422
+ "@reactuses/core": "^6.6.1",
423
+ "@tailwindcss/postcss": "^4.3.5",
424
+ "@tailwindcss/typography": "^0.5.20",
425
+ "@tailwindcss/vite": "^4.3.5",
426
+ "@tanstack/react-query": "^5.107.1",
427
+ "@tanstack/react-table": "^9.3.1",
428
+ "@tsconfig/node26": "^26.0.1",
429
+ "@types/babel__core": "^7.20.5",
430
+ "@types/better-sqlite3": "^9.6.0",
431
+ "@types/chrome": "^0.3.7",
432
+ "@types/express": "^5.0.6",
433
+ "@types/google.maps": "^3.66.10",
434
+ "@types/node": "^26.6.6",
435
+ "@types/react": "^19.3.0",
436
+ "@types/react-dom": "^19.3.0",
437
+ "@types/three": "^0.187.0",
438
+ "@vitejs/plugin-react": "^6.2.1",
439
+ "@wenathlan/argan": "~2.0.166",
440
+ "@wenathlan/cadria": "~2.0.166",
441
+ "@wenathlan/debonair": "~2.0.166",
442
+ "@wenathlan/devthink": "~2.0.166",
443
+ "@wenathlan/getry": "~2.0.166",
444
+ "@wenathlan/saddle": "~2.0.166",
445
+ "@wenathlan/vault": "~2.0.166",
446
+ "add": "^2.0.9",
447
+ "ai": "^7.0.164",
448
+ "autoprefixer": "^10.6.2",
449
+ "axios": "^1.21.0",
450
+ "baseline-browser-mapping": "^2.11.35",
451
+ "better-sqlite3": "^13.0.3",
452
+ "body-parser": "^2.4.0",
453
+ "bun-types": "^1.4.4",
454
+ "cheerio": "^1.2.0",
455
+ "class-variance-authority": "^0.7.1",
456
+ "clsx": "^2.1.1",
457
+ "cmdk": "^1.1.1",
458
+ "commander": "^15.0.0",
459
+ "date-fns": "^4.4.0",
460
+ "deepmerge-ts": "^8.0.2",
461
+ "dockerode": "^5.0.1",
462
+ "drizzle-kit": "^0.31.11",
463
+ "drizzle-orm": "^0.45.4",
464
+ "embla-carousel-react": "^8.6.0",
465
+ "emittery": "^2.2.0",
466
+ "esbuild": "^0.28.2",
467
+ "eslint": "^10.14.0",
468
+ "eslint-config-next": "^16.4.5",
469
+ "express": "^5.3.0",
470
+ "fast-check": "^4.10.2",
471
+ "fast-uri": "^4.2.3",
472
+ "follow-redirects": "^1.16.2",
473
+ "framer-motion": "^14.10.1",
474
+ "glob": "^14.0.4",
475
+ "gsap": "^3.15.1",
476
+ "hono": "^4.13.16",
477
+ "ink": "^8.0.0",
478
+ "input-otp": "^1.5.0",
479
+ "js-yaml": "^5.5.0",
480
+ "jsdom": "^31.0.0",
481
+ "katex": "^0.19.1",
482
+ "lucide-react": "^1.70.0",
483
+ "minimatch": "^11.0.5",
484
+ "motion": "^14.10.1",
485
+ "mysql2": "^3.24.6",
486
+ "nanoid": "^6.0.2",
487
+ "next": "^16.4.5",
488
+ "next-auth": "^4.24.15",
489
+ "next-intl": "^4.14.9",
490
+ "next-themes": "^0.4.6",
491
+ "openai": "^7.53.0",
492
+ "p-limit": "^7.3.3",
493
+ "p-retry": "^9.0.0",
494
+ "playwright": "^1.65.0",
495
+ "pnpm": "^12.18.0",
496
+ "postcss": "^8.5.32",
497
+ "postcss-selector-parser": "^7.1.7",
498
+ "prettier": "^3.9.10",
499
+ "prisma": "^7.10.1",
500
+ "proxy-addr": "^2.0.8",
501
+ "react": "^19.3.1",
502
+ "react-day-picker": "^10.0.2",
503
+ "react-devtools-core": "^8.0.0",
504
+ "react-dom": "^19.3.1",
505
+ "react-hook-form": "^7.91.0",
506
+ "react-markdown": "^10.1.0",
507
+ "react-resizable-panels": "^4.19.1",
508
+ "react-syntax-highlighter": "^16.1.2",
509
+ "recharts": "^3.10.1",
510
+ "request-ip": "^3.3.0",
511
+ "sharp": "^0.35.5",
512
+ "shell-quote": "^1.12.0",
513
+ "smol-toml": "^1.9.1",
514
+ "sonner": "^2.0.8",
515
+ "source-map-js": "^1.2.2",
516
+ "streamdown": "^2.7.1",
517
+ "tailwind-merge": "^3.7.0",
518
+ "tailwindcss": "^4.3.5",
519
+ "tailwindcss-animate": "^1.0.7",
520
+ "three": "^0.187.0",
521
+ "ts-node": "^10.9.2",
522
+ "tsup": "^9.0.0",
523
+ "tsx": "^4.23.15",
524
+ "tw-animate-css": "^1.4.0",
525
+ "typescript": "^7.0.2",
526
+ "undici": "^8.12.4",
527
+ "uuid": "^14.0.3",
528
+ "vaul": "^1.1.2",
529
+ "vite": "^8.3.6",
530
+ "vite-plugin-manus-runtime": "^0.0.59",
531
+ "vitest": "^5.1.0",
532
+ "webpack": "^5.112.2",
533
+ "webpack-cli": "^7.3.1",
534
+ "wouter": "^3.13.0",
535
+ "yaml": "^2.9.1",
536
+ "z-ai-web-dev-sdk": "^0.0.18",
537
+ "zod": "^4.6.7",
538
+ "zustand": "^5.1.0",
539
+ "xcode": {
540
+ "uuid": "11.1.1"
541
+ }
22
542
  },
23
- "license": "GPL-3.0-only",
24
543
  "type": "module",
544
+ "sideEffects": false,
25
545
  "bin": {
26
546
  "getry": "./cli.ts"
27
547
  },
@@ -170,15 +690,10 @@
170
690
  "import": "./gateway.ts",
171
691
  "default": "./gateway.ts"
172
692
  },
173
- "./gatewayprobe": {
174
- "types": "./gatewayprobe.ts",
175
- "import": "./gatewayprobe.ts",
176
- "default": "./gatewayprobe.ts"
177
- },
178
- "./gatewaysmoke": {
179
- "types": "./gatewaysmoke.ts",
180
- "import": "./gatewaysmoke.ts",
181
- "default": "./gatewaysmoke.ts"
693
+ "./gatewaycheck": {
694
+ "types": "./gatewaycheck.ts",
695
+ "import": "./gatewaycheck.ts",
696
+ "default": "./gatewaycheck.ts"
182
697
  },
183
698
  "./nodeshim": {
184
699
  "types": "./nodeshim.ts",
@@ -199,203 +714,43 @@
199
714
  "files": [
200
715
  "README.md",
201
716
  "docs",
202
- "tests",
203
- "cli.ts"
717
+ "test",
718
+ "accounts.ts",
719
+ "antigravity.ts",
720
+ "auth.ts",
721
+ "cli.ts",
722
+ "constants.ts",
723
+ "db.ts",
724
+ "engine.ts",
725
+ "fingerprint.ts",
726
+ "gateway.ts",
727
+ "gatewaycheck.ts",
728
+ "intelligence.ts",
729
+ "json.ts",
730
+ "labels.ts",
731
+ "llm.ts",
732
+ "models.ts",
733
+ "nodeshim.ts",
734
+ "oauth.ts",
735
+ "project.ts",
736
+ "providers.ts",
737
+ "quota.ts",
738
+ "recovery.ts",
739
+ "request.ts",
740
+ "search.ts",
741
+ "server.ts",
742
+ "streaming.ts",
743
+ "test/gatewayserver.ts",
744
+ "thinking.ts",
745
+ "types.ts",
746
+ "utils.ts",
747
+ "validate.ts",
748
+ "versionregistry.ts"
204
749
  ],
205
- "engines": {
206
- "babel": "^7.28.0",
207
- "bare": "^1.18.0",
208
- "bun": "^1.4.4",
209
- "cargo": ">=1.85.0",
210
- "chrome": "^16.0.912",
211
- "cnpm": "^9.4.0",
212
- "corepack": "^0.35.0",
213
- "deno": "^2.9.5",
214
- "dotnet": ">=8.0.0",
215
- "ecmascript": "^5.0.0",
216
- "firefox": ">=0.8.0",
217
- "go": ">=1.24.0",
218
- "iojs": "^1.0.0",
219
- "java": ">=17",
220
- "node": ">=26.13.0 <27",
221
- "npm": "^12.2.1",
222
- "pnpm": "^12.6.0",
223
- "python": ">=3.11.0",
224
- "rust": ">=1.85.0",
225
- "teleport": ">=0.2.0",
226
- "typescript": "^5.8.0",
227
- "v": "^0.5.2",
228
- "vscode": "^1.118.0",
229
- "yaml": "^2.9.1",
230
- "yarn": "^4.17.1"
231
- },
232
- "peerDependencies": {
233
- "playwright": "^1.63.0"
234
- },
235
- "scripts": {
236
- "db:generate": "prisma generate --schema schema.prisma",
237
- "dev": "vite --host",
238
- "build": "vite build",
239
- "start": "vite preview --host",
240
- "preview": "vite preview --host",
241
- "check": "tsc --noEmit",
242
- "typecheck": "tsc --noEmit",
243
- "test": "vitest run",
244
- "restore:entry": "node -e \"const{readFileSync}=require('node:fs');const{execSync}=require('node:child_process');const script=/script[^>]*App\\.tsx/;const triad=/family=Bricolage\\+Grotesque[\\s\\S]*Outfit[\\s\\S]*JetBrains\\+Mono/;const face=(h)=>script.test(h)&&triad.test(h);if(face(readFileSync('index.html','utf8'))){console.log('index.html already rides the source face');process.exit(0)}if(!face(execSync('git show HEAD:./index.html',{encoding:'utf8'}))){console.error('refusing: HEAD index.html is not the canonical source face yet (script App.tsx + the font triad) - land the source-face fix first; nothing was touched');process.exit(1)}execSync('git checkout -- index.html',{stdio:'inherit'});console.log('index.html restored from HEAD (the source face)')\""
245
- },
246
- "dependencies": {
247
- "@fluentui/react-icons": "^2.0.345",
248
- "@fontsource-variable/bricolage-grotesque": "^5.3.0",
249
- "@fontsource-variable/geist-mono": "^5.3.0",
250
- "@fontsource-variable/inter": "^5.3.0",
251
- "@fontsource-variable/jetbrains-mono": "^5.3.0",
252
- "@fontsource-variable/outfit": "^5.3.0",
253
- "@hono/node-server": "^2.1.6",
254
- "@libsql/client": "^0.18.0",
255
- "@prisma/adapter-libsql": "^7.10.1",
256
- "@prisma/client": "^7.10.1",
257
- "@wenathlan/argan": "~2.0.155",
258
- "@wenathlan/cadria": "~2.0.155",
259
- "@wenathlan/debonair": "~2.0.155",
260
- "@wenathlan/devthink": "~2.0.154",
261
- "@wenathlan/getry": "~2.0.155",
262
- "@wenathlan/saddle": "~2.0.155",
263
- "@wenathlan/vault": "~2.0.155",
264
- "better-sqlite3": "^13.0.3",
265
- "drizzle-orm": "^0.45.4",
266
- "gsap": "^3.15.1",
267
- "hono": "^4.13.16",
268
- "ink": "^7.1.1",
269
- "lucide-react": "^1.68.0",
270
- "motion": "^12.43.0",
271
- "react": "^19.3.1",
272
- "react-devtools-core": "^8.0.0",
273
- "react-dom": "^19.3.1",
274
- "three": "^0.187.0",
275
- "wouter": "^3.13.0",
276
- "z-ai-web-dev-sdk": "^0.0.18"
277
- },
278
- "devDependencies": {
279
- "@biomejs/biome": "^2.6.5",
280
- "@capacitor/android": "^8.6.0",
281
- "@capacitor/cli": "^8.6.0",
282
- "@capacitor/core": "^8.6.0",
283
- "@capacitor/ios": "^8.6.0",
284
- "@hookform/resolvers": "^5.9.2",
285
- "@opencode-ai/sdk": "^1.19.5",
286
- "@radix-ui/react-accordion": "^1.3.1",
287
- "@radix-ui/react-alert-dialog": "^1.2.1",
288
- "@radix-ui/react-aspect-ratio": "^1.2.0",
289
- "@radix-ui/react-avatar": "^1.3.1",
290
- "@radix-ui/react-checkbox": "^1.4.1",
291
- "@radix-ui/react-collapsible": "^1.2.1",
292
- "@radix-ui/react-context-menu": "^2.4.1",
293
- "@radix-ui/react-dialog": "^1.3.1",
294
- "@radix-ui/react-dropdown-menu": "^2.2.1",
295
- "@radix-ui/react-hover-card": "^1.2.1",
296
- "@radix-ui/react-label": "^2.1.17",
297
- "@radix-ui/react-menubar": "^1.2.1",
298
- "@radix-ui/react-navigation-menu": "^1.4.1",
299
- "@radix-ui/react-popover": "^1.3.1",
300
- "@radix-ui/react-progress": "^1.2.1",
301
- "@radix-ui/react-radio-group": "^1.5.1",
302
- "@radix-ui/react-scroll-area": "^1.4.0",
303
- "@radix-ui/react-select": "^2.4.1",
304
- "@radix-ui/react-separator": "^1.2.0",
305
- "@radix-ui/react-slider": "^1.6.1",
306
- "@radix-ui/react-slot": "^1.5.0",
307
- "@radix-ui/react-switch": "^1.4.1",
308
- "@radix-ui/react-tabs": "^1.2.1",
309
- "@radix-ui/react-toggle": "^1.2.1",
310
- "@radix-ui/react-toggle-group": "^1.2.1",
311
- "@radix-ui/react-tooltip": "^1.4.1",
312
- "@tailwindcss/postcss": "^4.3.4",
313
- "@tailwindcss/typography": "^0.5.20",
314
- "@tailwindcss/vite": "^4.3.4",
315
- "@tsconfig/node26": "^26.0.1",
316
- "@types/better-sqlite3": "^9.6.0",
317
- "@types/chrome": "^0.3.7",
318
- "@types/express": "^5.0.6",
319
- "@types/google.maps": "^3.66.9",
320
- "@types/node": "^26.6.6",
321
- "@types/react": "^19.3.0",
322
- "@types/react-dom": "^19.3.0",
323
- "@types/three": "^0.187.0",
324
- "@vitejs/plugin-react": "^6.2.1",
325
- "add": "^2.0.9",
326
- "autoprefixer": "^10.6.2",
327
- "axios": "^1.21.0",
328
- "bun-types": "^1.4.4",
329
- "cheerio": "^1.2.0",
330
- "class-variance-authority": "^0.7.1",
331
- "clsx": "^2.1.1",
332
- "cmdk": "^1.1.1",
333
- "drizzle-kit": "^0.31.11",
334
- "embla-carousel-react": "^8.6.0",
335
- "emittery": "^2.2.0",
336
- "esbuild": "^0.28.2",
337
- "express": "^5.3.0",
338
- "fast-check": "^4.10.2",
339
- "framer-motion": "^13.5.1",
340
- "input-otp": "^1.5.0",
341
- "jsdom": "26.1.0",
342
- "mysql2": "^3.24.6",
343
- "nanoid": "^6.0.2",
344
- "next-themes": "^0.4.6",
345
- "p-limit": "^7.3.3",
346
- "p-retry": "^8.0.1",
347
- "playwright": "^1.64.1",
348
- "pnpm": "^12.16.1",
349
- "postcss": "^8.5.32",
350
- "prettier": "^3.9.10",
351
- "prisma": "^7.10.1",
352
- "react-day-picker": "^10.0.2",
353
- "react-hook-form": "^7.91.0",
354
- "react-resizable-panels": "^4.18.1",
355
- "recharts": "^3.10.1",
356
- "sonner": "^2.0.8",
357
- "streamdown": "^2.7.1",
358
- "tailwind-merge": "^3.7.0",
359
- "tailwindcss": "^4.3.4",
360
- "tailwindcss-animate": "^1.0.7",
361
- "tsup": "^8.5.1",
362
- "tsx": "^4.23.15",
363
- "tw-animate-css": "^1.4.0",
364
- "typescript": "^7.0.2",
365
- "vaul": "^1.1.2",
366
- "vite": "^8.3.5",
367
- "vite-plugin-manus-runtime": "^0.0.59",
368
- "vitest": "^5.1.0",
369
- "webpack": "^5.112.2",
370
- "webpack-cli": "^6.0.1",
371
- "yaml": "^2.9.1",
372
- "zod": "^4.6.7"
373
- },
374
- "overrides": {
375
- "uuid": "^11.1.1",
376
- "deepmerge-ts": "^8.0.0",
377
- "esbuild": "^0.28.2",
378
- "follow-redirects": "^1.16.2",
379
- "minimatch": "^11.0.3",
380
- "glob": "^14.0.3",
381
- "mysql2": "^3.24.6",
382
- "postcss-selector-parser": "^7.1.6",
383
- "source-map-js": "1.2.2",
384
- "proxy-addr": "2.0.8",
385
- "body-parser": "^2.4.0",
386
- "fast-uri": "^3.1.9",
387
- "zod": "^4.6.7",
388
- "undici": "^7.30.1",
389
- "katex": "^0.18.2",
390
- "shell-quote": "^1.11.0",
391
- "xcode": {
392
- "uuid": "11.1.1"
393
- },
394
- "@grpc/grpc-js": "1.14.5"
395
- },
396
- "publishConfig": {
397
- "access": "public",
398
- "registry": "https://registry.npmjs.org/"
399
- },
400
- "packageManager": "pnpm@12.3.4"
750
+ "trustedDependencies": [
751
+ "@parcel/watcher",
752
+ "@swc/core",
753
+ "pnpm",
754
+ "protobufjs"
755
+ ]
401
756
  }