@wenathlan/argan 2.0.154 → 2.0.158
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 +5 -4
- package/cli.ts +114 -0
- package/docs/engine.md +60 -0
- package/docs/features.md +75 -0
- package/mimetypes.ts +3474 -0
- package/package.json +47 -17
- package/tests/design.test.ts +6 -6
- package/tests/family.test.ts +1 -2
- package/tests/sandboxmodality.test.ts +4 -4
- package/docs/.gitkeep +0 -0
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wenathlan/argan",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.158",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/wenathlan/devthink"
|
|
7
7
|
},
|
|
8
8
|
"description": "argan is the DNS and gateway library of the wenathlan family: zones, records, dnssec and handshake — the system network library whose site shares the unified database. The envelope distributes the documentation set, the zero-build site and the tests directory as one package.",
|
|
9
|
+
"bin": {
|
|
10
|
+
"argan": "./cli.ts"
|
|
11
|
+
},
|
|
9
12
|
"keywords": [
|
|
10
13
|
"argan",
|
|
11
14
|
"dns",
|
|
@@ -19,26 +22,37 @@
|
|
|
19
22
|
"license": "GPL-3.0-only",
|
|
20
23
|
"engines": {
|
|
21
24
|
"bare": "^1.18.0",
|
|
22
|
-
"bun": "^1.4.
|
|
25
|
+
"bun": "^1.4.4",
|
|
26
|
+
"cargo": ">=1.85.0",
|
|
23
27
|
"chrome": "^16.0.912",
|
|
24
28
|
"cnpm": "^9.4.0",
|
|
25
29
|
"corepack": "^0.35.0",
|
|
26
30
|
"deno": "^2.9.5",
|
|
31
|
+
"dotnet": ">=8.0.0",
|
|
27
32
|
"ecmascript": "^5.0.0",
|
|
28
33
|
"firefox": ">=0.8.0",
|
|
34
|
+
"go": ">=1.24.0",
|
|
29
35
|
"iojs": "^1.0.0",
|
|
36
|
+
"java": ">=17",
|
|
30
37
|
"node": ">=26.13.0 <27",
|
|
31
|
-
"npm": "^12.1
|
|
38
|
+
"npm": "^12.2.1",
|
|
32
39
|
"pnpm": "^12.6.0",
|
|
40
|
+
"python": ">=3.11.0",
|
|
41
|
+
"rust": ">=1.85.0",
|
|
33
42
|
"teleport": ">=0.2.0",
|
|
34
43
|
"typescript": "^5.8.0",
|
|
44
|
+
"v": "^0.5.2",
|
|
35
45
|
"vscode": "^1.118.0",
|
|
36
46
|
"yarn": "^4.17.1"
|
|
37
47
|
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"playwright": "^1.63.0"
|
|
50
|
+
},
|
|
38
51
|
"files": [
|
|
39
52
|
"README.md",
|
|
40
53
|
"docs",
|
|
41
|
-
"tests"
|
|
54
|
+
"tests",
|
|
55
|
+
"mimetypes.ts"
|
|
42
56
|
],
|
|
43
57
|
"homepage": "https://github.com/wenathlan/devthink/tree/main/argan",
|
|
44
58
|
"bugs": {
|
|
@@ -49,6 +63,13 @@
|
|
|
49
63
|
"registry": "https://registry.npmjs.org/"
|
|
50
64
|
},
|
|
51
65
|
"type": "module",
|
|
66
|
+
"exports": {
|
|
67
|
+
"./mimetypes": {
|
|
68
|
+
"types": "./mimetypes.ts",
|
|
69
|
+
"import": "./mimetypes.ts",
|
|
70
|
+
"default": "./mimetypes.ts"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
52
73
|
"scripts": {
|
|
53
74
|
"dev": "vite --host",
|
|
54
75
|
"build": "vite build",
|
|
@@ -66,16 +87,23 @@
|
|
|
66
87
|
"@fontsource-variable/inter": "^5.3.0",
|
|
67
88
|
"@fontsource-variable/jetbrains-mono": "^5.3.0",
|
|
68
89
|
"@fontsource-variable/outfit": "^5.3.0",
|
|
69
|
-
"@hono/node-server": "^2.1.
|
|
90
|
+
"@hono/node-server": "^2.1.6",
|
|
70
91
|
"@libsql/client": "^0.18.0",
|
|
71
92
|
"@prisma/adapter-libsql": "^7.10.1",
|
|
72
93
|
"@prisma/client": "^7.10.1",
|
|
73
|
-
"@wenathlan/
|
|
74
|
-
"@wenathlan/
|
|
75
|
-
"
|
|
94
|
+
"@wenathlan/cadria": "~2.0.155",
|
|
95
|
+
"@wenathlan/debonair": "~2.0.155",
|
|
96
|
+
"@wenathlan/devthink": "~2.0.154",
|
|
97
|
+
"@wenathlan/getry": "~2.0.155",
|
|
98
|
+
"@wenathlan/saddle": "~2.0.155",
|
|
99
|
+
"@wenathlan/argan": "~2.0.155",
|
|
100
|
+
"@wenathlan/vault": "~2.0.155",
|
|
101
|
+
"better-sqlite3": "^13.0.3",
|
|
102
|
+
"drizzle-orm": "^0.45.4",
|
|
103
|
+
"gsap": "^3.15.1",
|
|
76
104
|
"hono": "^4.13.16",
|
|
77
105
|
"ink": "^7.1.1",
|
|
78
|
-
"lucide-react": "^1.
|
|
106
|
+
"lucide-react": "^1.68.0",
|
|
79
107
|
"motion": "^12.43.0",
|
|
80
108
|
"react": "^19.3.1",
|
|
81
109
|
"react-devtools-core": "^8.0.0",
|
|
@@ -85,7 +113,7 @@
|
|
|
85
113
|
"z-ai-web-dev-sdk": "^0.0.18"
|
|
86
114
|
},
|
|
87
115
|
"devDependencies": {
|
|
88
|
-
"@biomejs/biome": "^2.6.
|
|
116
|
+
"@biomejs/biome": "^2.6.5",
|
|
89
117
|
"@capacitor/android": "^8.6.0",
|
|
90
118
|
"@capacitor/cli": "^8.6.0",
|
|
91
119
|
"@capacitor/core": "^8.6.0",
|
|
@@ -121,9 +149,9 @@
|
|
|
121
149
|
"@radix-ui/react-toggle": "^1.2.1",
|
|
122
150
|
"@radix-ui/react-toggle-group": "^1.2.1",
|
|
123
151
|
"@radix-ui/react-tooltip": "^1.4.1",
|
|
124
|
-
"@tailwindcss/postcss": "^4.3.
|
|
152
|
+
"@tailwindcss/postcss": "^4.3.4",
|
|
125
153
|
"@tailwindcss/typography": "^0.5.20",
|
|
126
|
-
"@tailwindcss/vite": "^4.3.
|
|
154
|
+
"@tailwindcss/vite": "^4.3.4",
|
|
127
155
|
"@tsconfig/node26": "^26.0.1",
|
|
128
156
|
"@types/better-sqlite3": "^9.6.0",
|
|
129
157
|
"@types/chrome": "^0.3.7",
|
|
@@ -133,7 +161,7 @@
|
|
|
133
161
|
"@types/react": "^19.3.0",
|
|
134
162
|
"@types/react-dom": "^19.3.0",
|
|
135
163
|
"@types/three": "^0.187.0",
|
|
136
|
-
"@vitejs/plugin-react": "^6.1
|
|
164
|
+
"@vitejs/plugin-react": "^6.2.1",
|
|
137
165
|
"add": "^2.0.9",
|
|
138
166
|
"autoprefixer": "^10.6.2",
|
|
139
167
|
"axios": "^1.21.0",
|
|
@@ -154,7 +182,7 @@
|
|
|
154
182
|
"hono": "^4.13.16",
|
|
155
183
|
"input-otp": "^1.5.0",
|
|
156
184
|
"jsdom": "26.1.0",
|
|
157
|
-
"lucide-react": "^1.
|
|
185
|
+
"lucide-react": "^1.68.0",
|
|
158
186
|
"mysql2": "^3.24.6",
|
|
159
187
|
"nanoid": "^6.0.2",
|
|
160
188
|
"next-themes": "^0.4.6",
|
|
@@ -169,12 +197,12 @@
|
|
|
169
197
|
"react-day-picker": "^10.0.2",
|
|
170
198
|
"react-dom": "^19.3.1",
|
|
171
199
|
"react-hook-form": "^7.91.0",
|
|
172
|
-
"react-resizable-panels": "^4.
|
|
200
|
+
"react-resizable-panels": "^4.18.0",
|
|
173
201
|
"recharts": "^3.10.1",
|
|
174
202
|
"sonner": "^2.0.8",
|
|
175
203
|
"streamdown": "^2.7.1",
|
|
176
204
|
"tailwind-merge": "^3.7.0",
|
|
177
|
-
"tailwindcss": "^4.3.
|
|
205
|
+
"tailwindcss": "^4.3.4",
|
|
178
206
|
"tailwindcss-animate": "^1.0.7",
|
|
179
207
|
"tsup": "^8.5.1",
|
|
180
208
|
"tsx": "^4.23.15",
|
|
@@ -183,7 +211,9 @@
|
|
|
183
211
|
"vaul": "^1.1.2",
|
|
184
212
|
"vite": "^8.3.5",
|
|
185
213
|
"vite-plugin-manus-runtime": "^0.0.59",
|
|
186
|
-
"vitest": "^5.0
|
|
214
|
+
"vitest": "^5.1.0",
|
|
215
|
+
"webpack": "^5.112.2",
|
|
216
|
+
"webpack-cli": "^6.0.1",
|
|
187
217
|
"wouter": "^3.13.0",
|
|
188
218
|
"yaml": "^2.9.1",
|
|
189
219
|
"zod": "^4.6.7"
|
package/tests/design.test.ts
CHANGED
|
@@ -17,11 +17,11 @@ function read(path: string): string {
|
|
|
17
17
|
return readFileSync(new URL(path, import.meta.url), "utf8");
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
const CSS = read("../
|
|
20
|
+
const CSS = read("../sol/sol.css");
|
|
21
21
|
const ENTRY = read("../index.html");
|
|
22
|
-
const MARK = read("../
|
|
22
|
+
const MARK = read("../sol/shell/Shell.tsx");
|
|
23
23
|
const TOML = read("../devthink.toml");
|
|
24
|
-
const SOL = read("../
|
|
24
|
+
const SOL = read("../sol/Sol.tsx");
|
|
25
25
|
const FAVICON = read("../favicon.svg");
|
|
26
26
|
const ICON = read("../icon.svg");
|
|
27
27
|
const MANIFEST = read("../manifest.webmanifest");
|
|
@@ -122,10 +122,10 @@ describe("design contract", () => {
|
|
|
122
122
|
});
|
|
123
123
|
|
|
124
124
|
it("carries the flow contract sources (the entry gate behind the home anchor, the shared state module)", () => {
|
|
125
|
-
const GATE = read("../
|
|
125
|
+
const GATE = read("../sol/wingets/HomeEntrygate.tsx");
|
|
126
126
|
const STATE = read("../onboardingstate.ts");
|
|
127
|
-
const HOME = read("../
|
|
128
|
-
const ONBOARDING = read("../
|
|
127
|
+
const HOME = read("../sol/home/home.tsx");
|
|
128
|
+
const ONBOARDING = read("../sol/onboarding/onboarding.tsx");
|
|
129
129
|
expect(GATE).toMatch(/navigate\("\/intro"/);
|
|
130
130
|
expect(GATE).toMatch(/navigate\("\/onboarding"/);
|
|
131
131
|
expect(HOME).toMatch(/EntryGate/);
|
package/tests/family.test.ts
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
// its own dot ink, and no accent ever collides with the banned palette.
|
|
8
8
|
import assert from "node:assert/strict";
|
|
9
9
|
import { describe, it } from "vitest";
|
|
10
|
-
import { FAMILY_ACCENTS, FAMILY_SLUGS, familyrow } from "../family.ts";
|
|
11
|
-
import { familyurl } from "../familyurl.ts";
|
|
10
|
+
import { FAMILY_ACCENTS, FAMILY_SLUGS, familyrow, familyurl } from "../family.ts";
|
|
12
11
|
|
|
13
12
|
const BANNED = new Set(["#3b82f6", "#2563eb", "#f97316"]);
|
|
14
13
|
|
|
@@ -66,12 +66,12 @@ describe("the sandbox lane seat (the deploy decides)", () => {
|
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
it("pins the named modality for the platform join to validate", () => {
|
|
69
|
-
const pinned = lanesandbox("
|
|
70
|
-
assert.deepEqual(pinned, { ok: true, seat: "
|
|
69
|
+
const pinned = lanesandbox("runnernode");
|
|
70
|
+
assert.deepEqual(pinned, { ok: true, seat: "runnernode", sandboxed: true, pinned: true });
|
|
71
71
|
// the module never judges engine vocabulary: the platform's join
|
|
72
72
|
// validates the pinned id at dispatch, the mirror only names it
|
|
73
|
-
const unusual = lanesandbox("
|
|
74
|
-
assert.deepEqual(unusual, { ok: true, seat: "
|
|
73
|
+
const unusual = lanesandbox("microvmfirecracker");
|
|
74
|
+
assert.deepEqual(unusual, { ok: true, seat: "microvmfirecracker", sandboxed: true, pinned: true });
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
it("reads the seat off the environment lookup the deploy pins", () => {
|
package/docs/.gitkeep
DELETED
|
File without changes
|