@vxnus/siduri 2.0.27 → 2.0.30
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/dist/builtin-manifests.js +2 -2
- package/dist/clean-machine-smoke.test.js +0 -1
- package/dist/discovery.test.js +2 -3
- package/dist/generator.js +38 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +42 -17
- package/dist/release-check.js +0 -1
- package/dist/web-dist/404/index.html +1 -1
- package/dist/web-dist/404.html +1 -1
- package/dist/web-dist/__next.__PAGE__.txt +29 -30
- package/dist/web-dist/__next._full.txt +23 -25
- package/dist/web-dist/__next._tree.txt +2 -2
- package/dist/web-dist/_next/static/LZCqJ-mUh49-lAiKiCill/_buildManifest.js +1 -0
- package/dist/web-dist/_next/static/chunks/136-1d10af93b770a1c8.js +52 -0
- package/dist/web-dist/_next/static/chunks/426-9f7f6e7fffd4c3c3.js +1 -0
- package/dist/web-dist/_next/static/chunks/563b947f-8e2871a2ab7cd91e.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/_global-error/page-bce6d30fb2b1a3b0.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/_not-found/page-34af109a364a684f.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/chat/page-952ffd2ca033d626.js +30 -0
- package/dist/web-dist/_next/static/chunks/app/layout-c2b7ec35aaa926ae.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/operator/page-03e3e0286b6acd25.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/page-0ea61d6527029893.js +1 -0
- package/dist/web-dist/_next/static/chunks/framework-7afb7035d9872ea0.js +1 -0
- package/dist/web-dist/_next/static/chunks/main-8553b996986f1210.js +5 -0
- package/dist/web-dist/_next/static/chunks/main-app-600dfd311d48a1fb.js +1 -0
- package/dist/web-dist/_next/static/chunks/next/dist/client/components/builtin/app-error-bce6d30fb2b1a3b0.js +1 -0
- package/dist/web-dist/_next/static/chunks/next/dist/client/components/builtin/forbidden-bce6d30fb2b1a3b0.js +1 -0
- package/dist/web-dist/_next/static/chunks/next/dist/client/components/builtin/global-error-777c8f036c92d838.js +1 -0
- package/dist/web-dist/_next/static/chunks/next/dist/client/components/builtin/not-found-bce6d30fb2b1a3b0.js +1 -0
- package/dist/web-dist/_next/static/chunks/next/dist/client/components/builtin/unauthorized-bce6d30fb2b1a3b0.js +1 -0
- package/dist/web-dist/_next/static/chunks/webpack-f73cedc256be153e.js +1 -0
- package/dist/web-dist/_next/static/css/8ef96fc81e2b580f.css +1 -0
- package/dist/web-dist/_not-found/__next._full.txt +10 -10
- package/dist/web-dist/_not-found/__next._not-found.__PAGE__.txt +8 -8
- package/dist/web-dist/_not-found/__next._tree.txt +2 -2
- package/dist/web-dist/_not-found/index.html +1 -1
- package/dist/web-dist/_not-found/index.txt +10 -10
- package/dist/web-dist/chat/__next._full.txt +11 -11
- package/dist/web-dist/chat/__next._tree.txt +2 -2
- package/dist/web-dist/chat/__next.chat.__PAGE__.txt +9 -9
- package/dist/web-dist/chat/index.html +1 -1
- package/dist/web-dist/chat/index.txt +11 -11
- package/dist/web-dist/index.html +1 -1
- package/dist/web-dist/index.txt +23 -25
- package/dist/web-dist/operator/__next._full.txt +11 -11
- package/dist/web-dist/operator/__next._tree.txt +2 -2
- package/dist/web-dist/operator/__next.operator.__PAGE__.txt +9 -9
- package/dist/web-dist/operator/index.html +1 -1
- package/dist/web-dist/operator/index.txt +11 -11
- package/package.json +7 -7
- package/dist/clean-machine-e2e.test.d.ts +0 -1
- package/dist/clean-machine-e2e.test.js +0 -160
- package/dist/web-dist/_next/static/XSRxigNHd6kj6yaxEfmDc/_buildManifest.js +0 -11
- package/dist/web-dist/_next/static/XSRxigNHd6kj6yaxEfmDc/_clientMiddlewareManifest.js +0 -1
- package/dist/web-dist/_next/static/chunks/0jgw-jf26m0ui.js +0 -22
- package/dist/web-dist/_next/static/chunks/0tdcnq1-n6kof.js +0 -31
- package/dist/web-dist/_next/static/chunks/0tt9d7g2ld6tf.css +0 -1
- package/dist/web-dist/_next/static/chunks/12vwhiuvdy_i7.js +0 -1
- package/dist/web-dist/_next/static/chunks/1p_vttqtrpoc-.js +0 -1
- package/dist/web-dist/_next/static/chunks/2dsfgoa225hpl.js +0 -1
- package/dist/web-dist/_next/static/chunks/2mno6yfdoee0x.js +0 -1
- package/dist/web-dist/_next/static/chunks/2t-xpv4so_9r5.js +0 -1
- package/dist/web-dist/_next/static/chunks/30a48dk5bjyhj.js +0 -1
- package/dist/web-dist/_next/static/chunks/3xcr2fr4801wt.js +0 -30
- package/dist/web-dist/_next/static/chunks/turbopack-2hpygfb68u21h.js +0 -1
- package/dist/web-dist/_next/static/media/apple-icon.2g7-yefdphkmy.png +0 -0
- package/dist/web-dist/_next/static/media/favicon.3rlors1ui1gw9.ico +0 -0
- package/dist/web-dist/_next/static/media/icon.0580nb9h-ugue.svg +0 -4
- /package/dist/web-dist/_next/static/{XSRxigNHd6kj6yaxEfmDc → LZCqJ-mUh49-lAiKiCill}/_ssgManifest.js +0 -0
- /package/dist/web-dist/_next/static/chunks/{0cz1d0mv5g_q7.js → polyfills-42372ed130431b0a.js} +0 -0
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const node_child_process_1 = require("node:child_process");
|
|
9
|
-
const discovery_1 = require("./discovery");
|
|
10
|
-
const generator_1 = require("./generator");
|
|
11
|
-
describe('Phase 5: Clean-Machine Distribution & E2E Integration Suite', () => {
|
|
12
|
-
const repoRoot = node_path_1.default.resolve(__dirname, '../../');
|
|
13
|
-
const tempPackDir = node_path_1.default.resolve(__dirname, '../temp-packs-e2e');
|
|
14
|
-
const cleanMachineRoot = node_path_1.default.resolve(__dirname, '../temp-clean-machine-e2e');
|
|
15
|
-
const getPkgVer = (dir) => JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.resolve(repoRoot, dir, 'package.json'), 'utf8')).version;
|
|
16
|
-
const ALL_CANONICAL_PACKAGES = [
|
|
17
|
-
{ filter: '@siduri-x/core', dir: 'packages/core', tarName: `siduri-x-core-${getPkgVer('packages/core')}.tgz`, isOrgan: false },
|
|
18
|
-
{ filter: '@siduri-x/brain', dir: 'packages/organs/brain', tarName: `siduri-x-brain-${getPkgVer('packages/organs/brain')}.tgz`, isOrgan: true },
|
|
19
|
-
{ filter: '@siduri-x/memory', dir: 'packages/memory', tarName: `siduri-x-memory-${getPkgVer('packages/memory')}.tgz`, isOrgan: true },
|
|
20
|
-
{ filter: '@siduri-x/knowledge', dir: 'packages/knowledge', tarName: `siduri-x-knowledge-${getPkgVer('packages/knowledge')}.tgz`, isOrgan: true },
|
|
21
|
-
{ filter: '@siduri-x/self', dir: 'packages/self', tarName: `siduri-x-self-${getPkgVer('packages/self')}.tgz`, isOrgan: true },
|
|
22
|
-
{ filter: '@siduri-x/ear', dir: 'packages/organs/ear', tarName: `siduri-x-ear-${getPkgVer('packages/organs/ear')}.tgz`, isOrgan: true },
|
|
23
|
-
{ filter: '@siduri-x/vision', dir: 'packages/organs/vision', tarName: `siduri-x-vision-${getPkgVer('packages/organs/vision')}.tgz`, isOrgan: true },
|
|
24
|
-
{ filter: '@siduri-x/hands', dir: 'packages/organs/hands', tarName: `siduri-x-hands-${getPkgVer('packages/organs/hands')}.tgz`, isOrgan: true },
|
|
25
|
-
{ filter: '@siduri-x/body', dir: 'packages/organs/body', tarName: `siduri-x-body-${getPkgVer('packages/organs/body')}.tgz`, isOrgan: true },
|
|
26
|
-
{ filter: '@siduri-x/voice', dir: 'packages/organs/voice', tarName: `siduri-x-voice-${getPkgVer('packages/organs/voice')}.tgz`, isOrgan: true },
|
|
27
|
-
{ filter: '@siduri-x/observation', dir: 'packages/organs/observation', tarName: `siduri-x-observation-${getPkgVer('packages/organs/observation')}.tgz`, isOrgan: true },
|
|
28
|
-
{ filter: '@siduri-x/mouth', dir: 'packages/organs/mouth', tarName: `siduri-x-mouth-${getPkgVer('packages/organs/mouth')}.tgz`, isOrgan: true },
|
|
29
|
-
{ filter: '@siduri-x/eknowledge', dir: 'packages/organs/eknowledge', tarName: `siduri-x-eknowledge-${getPkgVer('packages/organs/eknowledge')}.tgz`, isOrgan: true },
|
|
30
|
-
{ filter: '@vxnus/siduri', dir: 'cli', tarName: `vxnus-siduri-${getPkgVer('cli')}.tgz`, isOrgan: false },
|
|
31
|
-
];
|
|
32
|
-
const getTarPath = (pkgName) => {
|
|
33
|
-
const pkg = ALL_CANONICAL_PACKAGES.find(p => p.filter === pkgName);
|
|
34
|
-
return node_path_1.default.join(tempPackDir, pkg.tarName);
|
|
35
|
-
};
|
|
36
|
-
beforeAll(() => {
|
|
37
|
-
// 1. Prepare clean directories
|
|
38
|
-
if (node_fs_1.default.existsSync(tempPackDir))
|
|
39
|
-
node_fs_1.default.rmSync(tempPackDir, { recursive: true, force: true });
|
|
40
|
-
if (node_fs_1.default.existsSync(cleanMachineRoot))
|
|
41
|
-
node_fs_1.default.rmSync(cleanMachineRoot, { recursive: true, force: true });
|
|
42
|
-
node_fs_1.default.mkdirSync(tempPackDir, { recursive: true });
|
|
43
|
-
node_fs_1.default.mkdirSync(cleanMachineRoot, { recursive: true });
|
|
44
|
-
// 2. Build all packages in repo
|
|
45
|
-
(0, node_child_process_1.execSync)("pnpm turbo run build --filter='!web'", { cwd: repoRoot, stdio: 'pipe' });
|
|
46
|
-
// 3. Pack each canonical package into tempPackDir
|
|
47
|
-
for (const pkg of ALL_CANONICAL_PACKAGES) {
|
|
48
|
-
(0, node_child_process_1.execSync)(`pnpm pack --pack-destination ${tempPackDir}`, {
|
|
49
|
-
cwd: node_path_1.default.resolve(repoRoot, pkg.dir),
|
|
50
|
-
stdio: 'pipe',
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}, 90000);
|
|
54
|
-
afterAll(() => {
|
|
55
|
-
if (node_fs_1.default.existsSync(tempPackDir))
|
|
56
|
-
node_fs_1.default.rmSync(tempPackDir, { recursive: true, force: true });
|
|
57
|
-
if (node_fs_1.default.existsSync(cleanMachineRoot))
|
|
58
|
-
node_fs_1.default.rmSync(cleanMachineRoot, { recursive: true, force: true });
|
|
59
|
-
});
|
|
60
|
-
describe('Phase 5A: Package Artifact Verification', () => {
|
|
61
|
-
test('all 14 packages produce valid tarballs', () => {
|
|
62
|
-
for (const pkg of ALL_CANONICAL_PACKAGES) {
|
|
63
|
-
const tarPath = node_path_1.default.join(tempPackDir, pkg.tarName);
|
|
64
|
-
expect(node_fs_1.default.existsSync(tarPath)).toBe(true);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
test('packed package.json files have zero workspace:* or link: dependencies', () => {
|
|
68
|
-
for (const pkg of ALL_CANONICAL_PACKAGES) {
|
|
69
|
-
const tarPath = node_path_1.default.join(tempPackDir, pkg.tarName);
|
|
70
|
-
const pkgJsonRaw = (0, node_child_process_1.execSync)(`tar -xzf ${tarPath} -O package/package.json`, { encoding: 'utf8' });
|
|
71
|
-
const pkgJson = JSON.parse(pkgJsonRaw);
|
|
72
|
-
const allDeps = {
|
|
73
|
-
...(pkgJson.dependencies || {}),
|
|
74
|
-
...(pkgJson.peerDependencies || {}),
|
|
75
|
-
};
|
|
76
|
-
for (const [depName, version] of Object.entries(allDeps)) {
|
|
77
|
-
if (typeof version === 'string') {
|
|
78
|
-
expect(version.startsWith('workspace:')).toBe(false);
|
|
79
|
-
expect(version.startsWith('link:')).toBe(false);
|
|
80
|
-
expect(version.includes('../')).toBe(false);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
describe('Phase 5B & 5C & 5G: Clean-Machine Installation & Isolation Acceptance', () => {
|
|
87
|
-
const registry = discovery_1.OrganRegistry.discover([
|
|
88
|
-
node_path_1.default.resolve(repoRoot, 'packages/organs'),
|
|
89
|
-
node_path_1.default.resolve(repoRoot, 'packages')
|
|
90
|
-
]);
|
|
91
|
-
const brain = registry.get('brain');
|
|
92
|
-
const hands = registry.get('hands');
|
|
93
|
-
const memory = registry.get('memory');
|
|
94
|
-
test('Clean Composition 1: Brain only instance installs, starts, runs doctor and db push', () => {
|
|
95
|
-
const instanceDir = node_path_1.default.join(cleanMachineRoot, 'inst-brain-only');
|
|
96
|
-
node_fs_1.default.mkdirSync(node_path_1.default.join(instanceDir, 'src'), { recursive: true });
|
|
97
|
-
const files = (0, generator_1.generateInstanceFiles)({
|
|
98
|
-
name: 'CleanBrainOnly',
|
|
99
|
-
selectedManifests: [brain],
|
|
100
|
-
});
|
|
101
|
-
const pkgObj = JSON.parse(files['package.json']);
|
|
102
|
-
pkgObj.dependencies = {
|
|
103
|
-
'@siduri-x/core': `file:${getTarPath('@siduri-x/core')}`,
|
|
104
|
-
'@siduri-x/brain': `file:${getTarPath('@siduri-x/brain')}`,
|
|
105
|
-
};
|
|
106
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'package.json'), JSON.stringify(pkgObj, null, 2) + '\n');
|
|
107
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'siduri.config.json'), files['siduri.config.json']);
|
|
108
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'siduri.schema.json'), files['siduri.schema.json']);
|
|
109
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, '.env.example'), files['.env.example']);
|
|
110
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'README.md'), files['README.md']);
|
|
111
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'src/index.js'), files['src/index.js']);
|
|
112
|
-
(0, node_child_process_1.execSync)('npm install --no-audit --no-fund', { cwd: instanceDir, stdio: 'pipe' });
|
|
113
|
-
expect(node_fs_1.default.existsSync(node_path_1.default.join(instanceDir, 'node_modules/@siduri-x/memory'))).toBe(false);
|
|
114
|
-
expect(node_fs_1.default.existsSync(node_path_1.default.join(instanceDir, 'node_modules/@siduri-x/hands'))).toBe(false);
|
|
115
|
-
const doctorPass = (0, node_child_process_1.execSync)(`node ${node_path_1.default.resolve(repoRoot, 'cli/dist/index.js')} doctor`, {
|
|
116
|
-
cwd: instanceDir,
|
|
117
|
-
env: { ...process.env, OPENROUTER_API_KEY: 'test-key-clean' },
|
|
118
|
-
encoding: 'utf8',
|
|
119
|
-
});
|
|
120
|
-
expect(doctorPass).toContain('Result: PASS');
|
|
121
|
-
const dbPushOutput = (0, node_child_process_1.execSync)(`node ${node_path_1.default.resolve(repoRoot, 'cli/dist/index.js')} db push`, {
|
|
122
|
-
cwd: instanceDir,
|
|
123
|
-
encoding: 'utf8',
|
|
124
|
-
});
|
|
125
|
-
expect(dbPushOutput).toContain('SQLite manages schema natively. No CLI migrations required.');
|
|
126
|
-
}, 60000);
|
|
127
|
-
test('Clean Composition 2: Brain + Hands installs and runs doctor verifying ACTION_POLICY_SECRET', () => {
|
|
128
|
-
const instanceDir = node_path_1.default.join(cleanMachineRoot, 'inst-brain-hands');
|
|
129
|
-
node_fs_1.default.mkdirSync(node_path_1.default.join(instanceDir, 'src'), { recursive: true });
|
|
130
|
-
const files = (0, generator_1.generateInstanceFiles)({
|
|
131
|
-
name: 'CleanBrainHands',
|
|
132
|
-
selectedManifests: [brain, hands],
|
|
133
|
-
});
|
|
134
|
-
const pkgObj = JSON.parse(files['package.json']);
|
|
135
|
-
pkgObj.dependencies = {
|
|
136
|
-
'@siduri-x/core': `file:${getTarPath('@siduri-x/core')}`,
|
|
137
|
-
'@siduri-x/brain': `file:${getTarPath('@siduri-x/brain')}`,
|
|
138
|
-
'@siduri-x/hands': `file:${getTarPath('@siduri-x/hands')}`,
|
|
139
|
-
};
|
|
140
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'package.json'), JSON.stringify(pkgObj, null, 2) + '\n');
|
|
141
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'siduri.config.json'), files['siduri.config.json']);
|
|
142
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'siduri.schema.json'), files['siduri.schema.json']);
|
|
143
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, '.env.example'), files['.env.example']);
|
|
144
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'README.md'), files['README.md']);
|
|
145
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(instanceDir, 'src/index.js'), files['src/index.js']);
|
|
146
|
-
(0, node_child_process_1.execSync)('npm install --no-audit --no-fund', { cwd: instanceDir, stdio: 'pipe' });
|
|
147
|
-
const doctorOutput = (0, node_child_process_1.execSync)(`node ${node_path_1.default.resolve(repoRoot, 'cli/dist/index.js')} doctor`, {
|
|
148
|
-
cwd: instanceDir,
|
|
149
|
-
env: {
|
|
150
|
-
...process.env,
|
|
151
|
-
OPENROUTER_API_KEY: 'test-key-clean',
|
|
152
|
-
ACTION_POLICY_SECRET: 'test-secret-clean',
|
|
153
|
-
},
|
|
154
|
-
encoding: 'utf8',
|
|
155
|
-
});
|
|
156
|
-
expect(doctorOutput).toContain('ACTION_POLICY_SECRET');
|
|
157
|
-
expect(doctorOutput).toContain('Result: PASS');
|
|
158
|
-
}, 60000);
|
|
159
|
-
});
|
|
160
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__MIDDLEWARE_MATCHERS = [];self.__MIDDLEWARE_MATCHERS_CB && self.__MIDDLEWARE_MATCHERS_CB()
|