@flame0510/project-aether 1.11.0 → 1.11.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 +5 -1
- package/app/agents/CostSection.tsx +10 -2
- package/app/api/costs/agent/route.ts +19 -1
- package/app/api/gateway/provider/route.ts +20 -2
- package/app/api/update-check/route.ts +20 -11
- package/app/gateway/ModelDetailsModal.tsx +4 -2
- package/app/gateway/PageClient.tsx +86 -36
- package/app/system/PageClient.tsx +4 -2
- package/bin/postinstall.js +7 -4
- package/bin/rev4a.js +6 -7
- package/docs/FRONTEND-ARCHITECTURE.md +3 -3
- package/docs/REV4A.md +6 -3
- package/docs/dev/API-REFERENCE.md +26 -14
- package/docs/dev/GATEWAY.md +13 -4
- package/docs/rag/GLOSSARY.md +1 -1
- package/docs/rag/REV4A-OVERVIEW.md +2 -2
- package/lib/docker-socket-path.d.ts +9 -0
- package/lib/docker-stats.d.ts +88 -0
- package/lib/model-details.ts +3 -3
- package/lib/model-pricing.ts +6 -4
- package/model-details.json +2799 -2274
- package/model-pricing.json +63 -48
- package/models.config.json +41 -10
- package/npm-shrinkwrap.json +1979 -0
- package/package.json +11 -9
- package/scripts/check-language.mjs +1 -1
- package/scripts/check-package-types.mjs +74 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flame0510/project-aether",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"description": "Rev4a — Revolution for Agents. OpenClaw agent fleet orchestrator.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"openclaw",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"terminal-ws-server.js",
|
|
40
40
|
"server.js",
|
|
41
41
|
"package.json",
|
|
42
|
+
"npm-shrinkwrap.json",
|
|
42
43
|
"proxy.ts",
|
|
43
44
|
"instrumentation.ts",
|
|
44
45
|
"next.config.mjs",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"dev": "next dev -p 3720",
|
|
55
56
|
"build": "next build",
|
|
56
57
|
"typecheck": "tsc --noEmit",
|
|
58
|
+
"check:package-types": "node scripts/check-package-types.mjs",
|
|
57
59
|
"start": "rev4a serve",
|
|
58
60
|
"start:all": "rev4a serve",
|
|
59
61
|
"refresh:pricing": "node scripts/refresh-model-pricing.mjs",
|
|
@@ -64,6 +66,11 @@
|
|
|
64
66
|
},
|
|
65
67
|
"dependencies": {
|
|
66
68
|
"@types/better-sqlite3": "^7.6.13",
|
|
69
|
+
"@types/d3": "7.4.3",
|
|
70
|
+
"@types/node": "25.9.5",
|
|
71
|
+
"@types/react": "19.2.17",
|
|
72
|
+
"@types/react-dom": "19.2.3",
|
|
73
|
+
"@types/ws": "8.18.1",
|
|
67
74
|
"@xterm/addon-fit": "^0.11.0",
|
|
68
75
|
"@xterm/addon-web-links": "^0.12.0",
|
|
69
76
|
"@xterm/xterm": "^6.0.0",
|
|
@@ -75,19 +82,14 @@
|
|
|
75
82
|
"html2canvas": "^1.4.1",
|
|
76
83
|
"jose": "^6.2.3",
|
|
77
84
|
"marked": "^18.0.5",
|
|
78
|
-
"next": "
|
|
85
|
+
"next": "16.2.6",
|
|
79
86
|
"node-pty": "^1.1.0",
|
|
80
87
|
"react": "^19.2.0",
|
|
81
88
|
"react-dom": "^19.2.0",
|
|
89
|
+
"typescript": "6.0.3",
|
|
82
90
|
"ws": "^8.21.0"
|
|
83
91
|
},
|
|
84
92
|
"devDependencies": {
|
|
85
|
-
"@playwright/test": "^1.61.1"
|
|
86
|
-
"@types/d3": "^7.4.3",
|
|
87
|
-
"@types/node": "25.9.5",
|
|
88
|
-
"@types/react": "19.2.17",
|
|
89
|
-
"@types/react-dom": "^19.2.3",
|
|
90
|
-
"@types/ws": "^8.18.1",
|
|
91
|
-
"typescript": "6.0.3"
|
|
93
|
+
"@playwright/test": "^1.61.1"
|
|
92
94
|
}
|
|
93
95
|
}
|
|
@@ -57,7 +57,7 @@ const WORDS = [
|
|
|
57
57
|
|
|
58
58
|
const EXTENSIONS = ['.ts', '.tsx', '.js', '.mjs', '.cjs', '.md', '.json', '.sh', '.yml', '.yaml', '.css', '.html'];
|
|
59
59
|
/** Lockfiles: generated, huge, and never the place a word is written by hand. */
|
|
60
|
-
const IGNORED = new Set(['package-lock.json', 'scripts/check-language.mjs']);
|
|
60
|
+
const IGNORED = new Set(['package-lock.json', 'npm-shrinkwrap.json', 'scripts/check-language.mjs']);
|
|
61
61
|
const MARKER = 'lang-ok';
|
|
62
62
|
|
|
63
63
|
const staged = process.argv.includes('--staged');
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Typecheck the npm tarball from a package path under node_modules. TypeScript resolves
|
|
4
|
+
* CommonJS imports differently there than in the repository, so a local build alone
|
|
5
|
+
* cannot catch a missing sibling .d.ts file.
|
|
6
|
+
*/
|
|
7
|
+
import { execFileSync } from 'node:child_process';
|
|
8
|
+
import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, symlinkSync } from 'node:fs';
|
|
9
|
+
import { tmpdir } from 'node:os';
|
|
10
|
+
import { dirname, join, resolve } from 'node:path';
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
12
|
+
|
|
13
|
+
const root = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
14
|
+
const { name } = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'));
|
|
15
|
+
const temp = mkdtempSync(join(tmpdir(), 'rev4a-package-types-'));
|
|
16
|
+
// Runs on a normal exit and on process.exit(1); a finally block would not see the latter.
|
|
17
|
+
process.on('exit', () => rmSync(temp, { recursive: true, force: true }));
|
|
18
|
+
|
|
19
|
+
const [packed] = JSON.parse(execFileSync('npm', ['pack', '--json', '--pack-destination', temp], {
|
|
20
|
+
cwd: root,
|
|
21
|
+
encoding: 'utf8',
|
|
22
|
+
}));
|
|
23
|
+
const packageDir = join(temp, 'node_modules', ...name.split('/'));
|
|
24
|
+
mkdirSync(packageDir, { recursive: true });
|
|
25
|
+
execFileSync('tar', ['-xzf', join(temp, packed.filename), '-C', packageDir, '--strip-components=1']);
|
|
26
|
+
|
|
27
|
+
const packedManifest = JSON.parse(readFileSync(join(packageDir, 'package.json'), 'utf8'));
|
|
28
|
+
const shrinkwrapPath = join(packageDir, 'npm-shrinkwrap.json');
|
|
29
|
+
if (!existsSync(shrinkwrapPath)) {
|
|
30
|
+
console.error('npm-shrinkwrap.json is missing from the npm tarball.');
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
const shrinkwrap = JSON.parse(readFileSync(shrinkwrapPath, 'utf8'));
|
|
34
|
+
if (shrinkwrap.version !== packedManifest.version || shrinkwrap.packages?.['']?.version !== packedManifest.version) {
|
|
35
|
+
console.error('The published dependency lock does not match the package version.');
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
const buildDependencies = [
|
|
39
|
+
'typescript', '@types/node', '@types/react', '@types/react-dom',
|
|
40
|
+
'@types/d3', '@types/ws', '@types/better-sqlite3',
|
|
41
|
+
];
|
|
42
|
+
const missingBuildDependencies = buildDependencies.filter((dep) => !packedManifest.dependencies?.[dep] || !shrinkwrap.packages?.[`node_modules/${dep}`]);
|
|
43
|
+
if (missingBuildDependencies.length) {
|
|
44
|
+
console.error(`Global builds need these production dependencies: ${missingBuildDependencies.join(', ')}`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
if (packedManifest.dependencies.next !== shrinkwrap.packages?.['node_modules/next']?.version) {
|
|
48
|
+
console.error('Pin Next.js to the version in the published dependency lock.');
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const libDir = join(packageDir, 'lib');
|
|
53
|
+
function missingDeclarations(dir) {
|
|
54
|
+
return readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
|
|
55
|
+
const file = join(dir, entry.name);
|
|
56
|
+
if (entry.isDirectory()) return missingDeclarations(file);
|
|
57
|
+
if (!/\.(?:js|mjs)$/.test(entry.name)) return [];
|
|
58
|
+
return existsSync(file.replace(/\.(?:js|mjs)$/, '.d.ts')) ? [] : [file.slice(libDir.length + 1)];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const missing = missingDeclarations(libDir);
|
|
62
|
+
if (missing.length) {
|
|
63
|
+
console.error(`Missing declaration files in the npm tarball: ${missing.join(', ')}`);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Use the checkout's installed dependencies, but keep the project itself under
|
|
68
|
+
// node_modules so TS follows the same package-resolution path as the global install.
|
|
69
|
+
symlinkSync(join(root, 'node_modules'), join(packageDir, 'node_modules'), 'dir');
|
|
70
|
+
execFileSync(process.execPath, [join(root, 'node_modules', 'typescript', 'bin', 'tsc'), '--noEmit', '--pretty', 'false'], {
|
|
71
|
+
cwd: packageDir,
|
|
72
|
+
stdio: 'inherit',
|
|
73
|
+
});
|
|
74
|
+
console.log(`Package-path typecheck passed for ${name}.`);
|