siduri 1.0.2 → 1.0.3
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 +11 -11
- package/dist/clean-machine-e2e.test.d.ts +1 -0
- package/dist/clean-machine-e2e.test.js +160 -0
- package/dist/configurators/memory.d.ts +5 -0
- package/dist/configurators/memory.js +21 -0
- package/dist/generator.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
5
5
|
{
|
|
6
6
|
name: '@sidurijs/self',
|
|
7
7
|
organType: 'behavior',
|
|
8
|
-
version: '
|
|
8
|
+
version: '1.0.1',
|
|
9
9
|
displayName: 'Self & Persona (Identity & Directives)',
|
|
10
10
|
description: 'Autonomous persona compiler, relational stances, and .self asset loader',
|
|
11
11
|
entrypoint: './dist/index.js',
|
|
@@ -45,7 +45,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
45
45
|
{
|
|
46
46
|
name: '@sidurijs/body',
|
|
47
47
|
organType: 'body',
|
|
48
|
-
version: '
|
|
48
|
+
version: '1.0.1',
|
|
49
49
|
displayName: 'Body (Live2D & VRM Avatar State)',
|
|
50
50
|
description: 'Renderer-agnostic avatar expression and embodiment event adapter supporting Live2D (.model3.json) and VRM (.vrm)',
|
|
51
51
|
entrypoint: './dist/index.js',
|
|
@@ -107,7 +107,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
107
107
|
{
|
|
108
108
|
name: '@sidurijs/brain',
|
|
109
109
|
organType: 'brain',
|
|
110
|
-
version: '
|
|
110
|
+
version: '1.0.2',
|
|
111
111
|
displayName: 'Brain (Cognition & Planning)',
|
|
112
112
|
description: 'Provider-neutral LLM reasoning, response planning, and proposal generation',
|
|
113
113
|
entrypoint: './dist/index.js',
|
|
@@ -163,7 +163,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
163
163
|
{
|
|
164
164
|
name: '@sidurijs/ear',
|
|
165
165
|
organType: 'ear',
|
|
166
|
-
version: '
|
|
166
|
+
version: '1.0.1',
|
|
167
167
|
displayName: 'Ear (Perception Ingress)',
|
|
168
168
|
description: 'Multi-modal sensory input ingestion, transcription bounds, and mime validation',
|
|
169
169
|
entrypoint: './dist/index.js',
|
|
@@ -194,7 +194,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
194
194
|
{
|
|
195
195
|
name: '@sidurijs/hands',
|
|
196
196
|
organType: 'hands',
|
|
197
|
-
version: '
|
|
197
|
+
version: '1.0.1',
|
|
198
198
|
displayName: 'Hands (MCP Tool Execution)',
|
|
199
199
|
description: 'Model Context Protocol tool management and cryptographically authorized action execution',
|
|
200
200
|
entrypoint: './dist/index.js',
|
|
@@ -248,7 +248,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
248
248
|
{
|
|
249
249
|
name: '@sidurijs/knowledge',
|
|
250
250
|
organType: 'knowledge',
|
|
251
|
-
version: '
|
|
251
|
+
version: '1.0.1',
|
|
252
252
|
displayName: 'Knowledge (Sovereign Life DB & Knowledge Packs)',
|
|
253
253
|
description: 'Sovereign Life Database (finances, inventory, schedule, preferences) and portable E knowledge packs',
|
|
254
254
|
entrypoint: './dist/index.js',
|
|
@@ -326,7 +326,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
326
326
|
{
|
|
327
327
|
name: '@sidurijs/archive',
|
|
328
328
|
organType: 'archive',
|
|
329
|
-
version: '1.0.
|
|
329
|
+
version: '1.0.2',
|
|
330
330
|
displayName: 'Archive (Interaction Audit Ledger)',
|
|
331
331
|
description: 'Cold append-only interaction audit trail and FTS5 full-text search (RFC VX-26-13)',
|
|
332
332
|
entrypoint: './dist/index.js',
|
|
@@ -356,7 +356,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
356
356
|
{
|
|
357
357
|
name: '@sidurijs/observation',
|
|
358
358
|
organType: 'observation',
|
|
359
|
-
version: '
|
|
359
|
+
version: '1.0.1',
|
|
360
360
|
displayName: 'Observation (Screen Perception & Frame Ingest)',
|
|
361
361
|
description: 'Screen capture frame ingest, SHA-256 deduplication, and visual grounding for Eyes/Vision',
|
|
362
362
|
entrypoint: './dist/index.js',
|
|
@@ -374,7 +374,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
374
374
|
{
|
|
375
375
|
name: '@sidurijs/vision',
|
|
376
376
|
organType: 'vision',
|
|
377
|
-
version: '
|
|
377
|
+
version: '1.0.1',
|
|
378
378
|
displayName: 'Vision (Visual Perception & OCR)',
|
|
379
379
|
description: 'Image inspection, cropping, and multi-pass OCR perception adapter',
|
|
380
380
|
entrypoint: './dist/index.js',
|
|
@@ -421,7 +421,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
421
421
|
{
|
|
422
422
|
name: '@sidurijs/voice',
|
|
423
423
|
organType: 'voice',
|
|
424
|
-
version: '
|
|
424
|
+
version: '1.0.1',
|
|
425
425
|
displayName: 'Voice (Speech Synthesis & Voice Conversion)',
|
|
426
426
|
description: 'Queued speech synthesis and audio rendering lifecycle adapter (VOICEVOX, RVC)',
|
|
427
427
|
entrypoint: './dist/index.js',
|
|
@@ -496,7 +496,7 @@ exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
|
496
496
|
{
|
|
497
497
|
name: '@sidurijs/mouth',
|
|
498
498
|
organType: 'mouth',
|
|
499
|
-
version: '
|
|
499
|
+
version: '1.0.1',
|
|
500
500
|
displayName: 'Mouth (Communication & UI Delivery)',
|
|
501
501
|
description: 'Decoupled output delivery organ formatting cognitive decisions for web interfaces',
|
|
502
502
|
entrypoint: './dist/index.js',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,160 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated RFC VX-26-13: Deconstructing Memory into Sovereign Primitives.
|
|
19
|
+
* Use ./archive instead.
|
|
20
|
+
*/
|
|
21
|
+
__exportStar(require("./archive"), exports);
|
package/dist/generator.js
CHANGED
|
@@ -74,8 +74,8 @@ function getDefaultConfigForManifest(manifest) {
|
|
|
74
74
|
function generateInstanceFiles(options) {
|
|
75
75
|
const instanceName = options.name || 'my-siduri';
|
|
76
76
|
const instanceId = options.id || 'default';
|
|
77
|
-
const coreVersion = options.coreVersion || '^1.0.
|
|
78
|
-
const cliVersion = options.cliVersion || '^1.0.
|
|
77
|
+
const coreVersion = options.coreVersion || '^1.0.3';
|
|
78
|
+
const cliVersion = options.cliVersion || '^1.0.3';
|
|
79
79
|
const canonicalOrder = ['brain', 'archive', 'knowledge', 'behavior', 'voice', 'body', 'mouth', 'hands', 'vision', 'ear', 'observation'];
|
|
80
80
|
const manifests = [...options.selectedManifests].sort((a, b) => {
|
|
81
81
|
const idxA = canonicalOrder.indexOf(a.organType);
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -61,7 +61,7 @@ const doctor_1 = require("./doctor");
|
|
|
61
61
|
const db_1 = require("./db");
|
|
62
62
|
const configurators_1 = require("./configurators");
|
|
63
63
|
const execFile = (0, node_util_1.promisify)(node_child_process_1.execFile);
|
|
64
|
-
exports.CLI_VERSION = '1.0.
|
|
64
|
+
exports.CLI_VERSION = '1.0.3';
|
|
65
65
|
const colors_1 = require("./colors");
|
|
66
66
|
Object.defineProperty(exports, "colors", { enumerable: true, get: function () { return colors_1.colors; } });
|
|
67
67
|
function printHeader() {
|