siduri 1.0.0
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/LICENSE +6 -0
- package/README.md +84 -0
- package/dist/builtin-manifests.d.ts +2 -0
- package/dist/builtin-manifests.js +524 -0
- package/dist/clean-machine-e2e.test.d.ts +1 -0
- package/dist/clean-machine-e2e.test.js +160 -0
- package/dist/clean-machine-smoke.test.d.ts +1 -0
- package/dist/clean-machine-smoke.test.js +165 -0
- package/dist/colors.d.ts +8 -0
- package/dist/colors.js +11 -0
- package/dist/configurators/behavior.d.ts +2 -0
- package/dist/configurators/behavior.js +77 -0
- package/dist/configurators/body.d.ts +2 -0
- package/dist/configurators/body.js +107 -0
- package/dist/configurators/brain.d.ts +6 -0
- package/dist/configurators/brain.js +80 -0
- package/dist/configurators/ear.d.ts +2 -0
- package/dist/configurators/ear.js +43 -0
- package/dist/configurators/hands.d.ts +2 -0
- package/dist/configurators/hands.js +43 -0
- package/dist/configurators/index.d.ts +24 -0
- package/dist/configurators/index.js +78 -0
- package/dist/configurators/knowledge.d.ts +6 -0
- package/dist/configurators/knowledge.js +146 -0
- package/dist/configurators/memory.d.ts +2 -0
- package/dist/configurators/memory.js +26 -0
- package/dist/configurators/mouth.d.ts +2 -0
- package/dist/configurators/mouth.js +35 -0
- package/dist/configurators/observation.d.ts +2 -0
- package/dist/configurators/observation.js +38 -0
- package/dist/configurators/types.d.ts +12 -0
- package/dist/configurators/types.js +2 -0
- package/dist/configurators/vision.d.ts +2 -0
- package/dist/configurators/vision.js +47 -0
- package/dist/configurators/voice.d.ts +2 -0
- package/dist/configurators/voice.js +373 -0
- package/dist/configurators.test.d.ts +1 -0
- package/dist/configurators.test.js +464 -0
- package/dist/db.d.ts +13 -0
- package/dist/db.js +15 -0
- package/dist/discovery.d.ts +13 -0
- package/dist/discovery.js +85 -0
- package/dist/discovery.test.d.ts +1 -0
- package/dist/discovery.test.js +69 -0
- package/dist/doctor-db.test.d.ts +1 -0
- package/dist/doctor-db.test.js +52 -0
- package/dist/doctor.d.ts +19 -0
- package/dist/doctor.js +266 -0
- package/dist/generator.d.ts +23 -0
- package/dist/generator.js +1094 -0
- package/dist/generator.test.d.ts +1 -0
- package/dist/generator.test.js +252 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +607 -0
- package/dist/manifest.d.ts +33 -0
- package/dist/manifest.js +40 -0
- package/dist/project-dir.test.d.ts +1 -0
- package/dist/project-dir.test.js +37 -0
- package/dist/providers/knowledge-hub.d.ts +44 -0
- package/dist/providers/knowledge-hub.js +162 -0
- package/dist/providers/openrouter.d.ts +32 -0
- package/dist/providers/openrouter.js +201 -0
- package/dist/release-check.d.ts +9 -0
- package/dist/release-check.js +128 -0
- package/dist/runtime-parity.test.d.ts +1 -0
- package/dist/runtime-parity.test.js +141 -0
- package/dist/schema-validator.d.ts +9 -0
- package/dist/schema-validator.js +107 -0
- package/dist/web-dist/404/index.html +1 -0
- package/dist/web-dist/404.html +1 -0
- package/dist/web-dist/__next.__PAGE__.txt +34 -0
- package/dist/web-dist/__next._full.txt +32 -0
- package/dist/web-dist/__next._tree.txt +4 -0
- package/dist/web-dist/_next/static/4aL_iP3FHsLSyHzCnRQYD/_buildManifest.js +1 -0
- package/dist/web-dist/_next/static/4aL_iP3FHsLSyHzCnRQYD/_ssgManifest.js +1 -0
- package/dist/web-dist/_next/static/chunks/136-1d10af93b770a1c8.js +52 -0
- package/dist/web-dist/_next/static/chunks/1629039a.f535b3ff45566416.js +1 -0
- package/dist/web-dist/_next/static/chunks/202.59b8eb8a8c45f711.js +1 -0
- package/dist/web-dist/_next/static/chunks/2be4ccb0.ab2975eb50b4e166.js +1 -0
- package/dist/web-dist/_next/static/chunks/411.d68b2e48424f1e47.js +1 -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/92e71660.11f182d50bce2be0.js +342 -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-74658f4988eabcc7.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/chat/page-ab56048b707a3ddd.js +34 -0
- package/dist/web-dist/_next/static/chunks/app/layout-14f1a3f31e58be17.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/operator/page-6b2d0ba884183ad7.js +1 -0
- package/dist/web-dist/_next/static/chunks/app/page-fc4bf56cf33ae27b.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-9e6a144626e5a5b9.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-68ea4ac05dcaf701.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/polyfills-42372ed130431b0a.js +1 -0
- package/dist/web-dist/_next/static/chunks/webpack-9073f434bc17ce16.js +1 -0
- package/dist/web-dist/_next/static/css/ceeb8e5596664b11.css +1 -0
- package/dist/web-dist/_not-found/__next._full.txt +17 -0
- package/dist/web-dist/_not-found/__next._not-found.__PAGE__.txt +23 -0
- package/dist/web-dist/_not-found/__next._tree.txt +3 -0
- package/dist/web-dist/_not-found/index.html +1 -0
- package/dist/web-dist/_not-found/index.txt +17 -0
- package/dist/web-dist/apple-icon.png +0 -0
- package/dist/web-dist/apple-touch-icon.png +0 -0
- package/dist/web-dist/chat/__next._full.txt +18 -0
- package/dist/web-dist/chat/__next._tree.txt +3 -0
- package/dist/web-dist/chat/__next.chat.__PAGE__.txt +24 -0
- package/dist/web-dist/chat/index.html +1 -0
- package/dist/web-dist/chat/index.txt +18 -0
- package/dist/web-dist/favicon.ico +0 -0
- package/dist/web-dist/favicon.svg +4 -0
- package/dist/web-dist/icon.svg +4 -0
- package/dist/web-dist/index.html +1 -0
- package/dist/web-dist/index.txt +32 -0
- package/dist/web-dist/live2d/live2dcubismcore.min.js +9 -0
- package/dist/web-dist/logo-circle.png +0 -0
- package/dist/web-dist/logo-circle.svg +4 -0
- package/dist/web-dist/logo-white.svg +3 -0
- package/dist/web-dist/logo.png +0 -0
- package/dist/web-dist/logo.svg +3 -0
- package/dist/web-dist/operator/__next._full.txt +18 -0
- package/dist/web-dist/operator/__next._tree.txt +3 -0
- package/dist/web-dist/operator/__next.operator.__PAGE__.txt +24 -0
- package/dist/web-dist/operator/index.html +1 -0
- package/dist/web-dist/operator/index.txt +18 -0
- package/dist/web-template.d.ts +2 -0
- package/dist/web-template.js +589 -0
- package/package.json +44 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
Copyright (c) 2026 VXNUS Creative Technology Studio. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This is an experimental prerelease of Siduri. It is provided for evaluation
|
|
4
|
+
and development only. No production use, redistribution, or sublicensing is
|
|
5
|
+
permitted without written authorization from VXNUS Creative Technology
|
|
6
|
+
Studio.
|
package/README.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Siduri CLI (`@vxnus/siduri`)
|
|
2
|
+
|
|
3
|
+
Experimental CLI for creating, diagnosing, and managing standalone Siduri companions powered by the `@sidurijs/*` organ ecosystem.
|
|
4
|
+
|
|
5
|
+
Requires Node.js >=22.16.0.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx @vxnus/siduri create my-companion
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- **Node.js**: `v22.16.0` or newer
|
|
14
|
+
- **LLM API Key**: e.g. `OPENROUTER_API_KEY` for Brain organ
|
|
15
|
+
- **Optional Local Services**:
|
|
16
|
+
- **VOICEVOX**: For voice synthesis (auto-downloaded at runtime by default, or connect to standalone app).
|
|
17
|
+
- Storage is powered by embedded SQLite with WAL mode and built-in FTS5 (`siduri.sqlite`). No external database servers or Docker containers are required.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **Manifest-Driven Organ Discovery**: Dynamically discovers installed `@sidurijs/*` organs and generates custom, standalone ESM instance code.
|
|
22
|
+
- **Interactive Configuration Wizard**: Model catalog discovery for OpenRouter, manifest inspection for E Knowledge Hub, and guided organ parameters.
|
|
23
|
+
- **Zero Monolithic Bundling**: Scaffolds standard Node.js ESM projects with explicit dependency trees.
|
|
24
|
+
- **Diagnostics (`siduri doctor`)**: Runs environment variable validation, schema conformance checks, storage writeability verification, external service endpoint probing, and organ health probes.
|
|
25
|
+
- **Zero-Config Database**: Powered by embedded SQLite (`siduri.sqlite`). Memory and persistent state are initialized automatically at startup without manual SQL migrations.
|
|
26
|
+
|
|
27
|
+
## CLI Usage
|
|
28
|
+
|
|
29
|
+
### 1. Create a Standalone Companion
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx @vxnus/siduri create [directory]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The interactive wizard allows you to name your companion, configure organ providers and models, and inspect Knowledge manifests. It generates:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
my-companion/
|
|
39
|
+
├── package.json # ESM package referencing only selected @sidurijs/* organs
|
|
40
|
+
├── siduri.config.json # Selected organ configurations
|
|
41
|
+
├── siduri.schema.json # Composed JSON Schema from organ manifests
|
|
42
|
+
├── .env.example # Only environment variables required by selected organs
|
|
43
|
+
├── README.md # Instance-specific guide
|
|
44
|
+
└── src/
|
|
45
|
+
└── index.js # Direct runtime bootstrapping with explicit organ factories
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Run Diagnostics
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx siduri doctor [directory]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Inspects active configuration, checks required/optional environment variables, and executes health probes.
|
|
55
|
+
|
|
56
|
+
### 3. Database Management
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npx siduri db push [directory]
|
|
60
|
+
npx siduri db reset [directory]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
SQLite manages migrations and schemas automatically in-process.
|
|
64
|
+
|
|
65
|
+
### 4. Instance Reset
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx siduri reset [directory]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Clears SQLite databases and cached state to return the companion to Blank Slate.
|
|
72
|
+
|
|
73
|
+
## Local Development
|
|
74
|
+
|
|
75
|
+
From the repository root:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
pnpm --filter @vxnus/siduri build
|
|
79
|
+
pnpm --filter @vxnus/siduri test
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## License
|
|
83
|
+
|
|
84
|
+
Licensed under the [Apache License, Version 2.0](./LICENSE).
|
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BUILTIN_ORGAN_MANIFESTS = void 0;
|
|
4
|
+
exports.BUILTIN_ORGAN_MANIFESTS = [
|
|
5
|
+
{
|
|
6
|
+
name: '@sidurijs/self',
|
|
7
|
+
organType: 'behavior',
|
|
8
|
+
version: '2.0.12',
|
|
9
|
+
displayName: 'Self & Persona (Identity & Directives)',
|
|
10
|
+
description: 'Autonomous persona compiler, relational stances, and .self asset loader',
|
|
11
|
+
entrypoint: './dist/index.js',
|
|
12
|
+
factory: 'ActiveSelfCompiler',
|
|
13
|
+
configKey: 'behavior',
|
|
14
|
+
configSchema: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
required: ['provider'],
|
|
17
|
+
properties: {
|
|
18
|
+
provider: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
enum: ['active_self', 'none']
|
|
21
|
+
},
|
|
22
|
+
mode: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
enum: ['blank_slate', 'custom']
|
|
25
|
+
},
|
|
26
|
+
archetype: {
|
|
27
|
+
type: 'string'
|
|
28
|
+
},
|
|
29
|
+
ethos: {
|
|
30
|
+
type: 'string'
|
|
31
|
+
},
|
|
32
|
+
directive: {
|
|
33
|
+
type: 'string'
|
|
34
|
+
},
|
|
35
|
+
selfPath: {
|
|
36
|
+
type: 'string'
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
environment: [],
|
|
41
|
+
services: [],
|
|
42
|
+
database: null,
|
|
43
|
+
healthCheck: null
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: '@sidurijs/body',
|
|
47
|
+
organType: 'body',
|
|
48
|
+
version: '2.1.0',
|
|
49
|
+
displayName: 'Body (Live2D & VRM Avatar State)',
|
|
50
|
+
description: 'Renderer-agnostic avatar expression and embodiment event adapter supporting Live2D (.model3.json) and VRM (.vrm)',
|
|
51
|
+
entrypoint: './dist/index.js',
|
|
52
|
+
factory: 'NeutralBodyOrgan',
|
|
53
|
+
configKey: 'body',
|
|
54
|
+
configSchema: {
|
|
55
|
+
type: 'object',
|
|
56
|
+
required: ['provider'],
|
|
57
|
+
properties: {
|
|
58
|
+
provider: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
enum: ['live2d', 'vrm', 'none']
|
|
61
|
+
},
|
|
62
|
+
format: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
enum: ['live2d', 'vrm', 'auto'],
|
|
65
|
+
default: 'auto'
|
|
66
|
+
},
|
|
67
|
+
initialExpression: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
default: 'neutral'
|
|
70
|
+
},
|
|
71
|
+
modelPath: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
description: 'Path to local Live2D Cubism (.model3.json) or VRM (.vrm) model file'
|
|
74
|
+
},
|
|
75
|
+
modelUrl: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
description: 'Relative web or remote HTTP URL to Live2D Cubism (.model3.json) or VRM (.vrm) model file'
|
|
78
|
+
},
|
|
79
|
+
vrm: {
|
|
80
|
+
type: 'object',
|
|
81
|
+
properties: {
|
|
82
|
+
specVersion: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
enum: ['0.x', '1.0', 'auto'],
|
|
85
|
+
default: 'auto'
|
|
86
|
+
},
|
|
87
|
+
lookAtMode: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
enum: ['camera', 'cursor', 'head', 'none'],
|
|
90
|
+
default: 'camera'
|
|
91
|
+
},
|
|
92
|
+
defaultPose: {
|
|
93
|
+
type: 'string'
|
|
94
|
+
},
|
|
95
|
+
expressionMapping: {
|
|
96
|
+
type: 'object'
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
environment: [],
|
|
103
|
+
services: [],
|
|
104
|
+
database: null,
|
|
105
|
+
healthCheck: null
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: '@sidurijs/brain',
|
|
109
|
+
organType: 'brain',
|
|
110
|
+
version: '2.0.13',
|
|
111
|
+
displayName: 'Brain (Cognition & Planning)',
|
|
112
|
+
description: 'Provider-neutral LLM reasoning, response planning, and proposal generation',
|
|
113
|
+
entrypoint: './dist/index.js',
|
|
114
|
+
factory: 'OpenRouterBrain',
|
|
115
|
+
configKey: 'brain',
|
|
116
|
+
configSchema: {
|
|
117
|
+
type: 'object',
|
|
118
|
+
required: ['provider', 'model'],
|
|
119
|
+
properties: {
|
|
120
|
+
provider: {
|
|
121
|
+
type: 'string',
|
|
122
|
+
enum: ['openrouter', 'openai-compatible']
|
|
123
|
+
},
|
|
124
|
+
model: {
|
|
125
|
+
type: 'string'
|
|
126
|
+
},
|
|
127
|
+
apiKey: {
|
|
128
|
+
type: 'string'
|
|
129
|
+
},
|
|
130
|
+
apiKeyEnv: {
|
|
131
|
+
type: 'string',
|
|
132
|
+
default: 'OPENROUTER_API_KEY'
|
|
133
|
+
},
|
|
134
|
+
baseUrl: {
|
|
135
|
+
type: 'string'
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
environment: [
|
|
140
|
+
{
|
|
141
|
+
name: 'OPENROUTER_API_KEY',
|
|
142
|
+
required: false,
|
|
143
|
+
secret: true,
|
|
144
|
+
description: 'API key for OpenRouter managed routing'
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'OPENAI_COMPATIBLE_API_KEY',
|
|
148
|
+
required: false,
|
|
149
|
+
secret: true,
|
|
150
|
+
description: 'API key for OpenAI-compatible endpoint'
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
services: [
|
|
154
|
+
{
|
|
155
|
+
name: 'LLM Inference API',
|
|
156
|
+
kind: 'http_service',
|
|
157
|
+
optional: false
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
database: null,
|
|
161
|
+
healthCheck: 'probeBrainHealth'
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: '@sidurijs/ear',
|
|
165
|
+
organType: 'ear',
|
|
166
|
+
version: '2.0.3',
|
|
167
|
+
displayName: 'Ear (Perception Ingress)',
|
|
168
|
+
description: 'Multi-modal sensory input ingestion, transcription bounds, and mime validation',
|
|
169
|
+
entrypoint: './dist/index.js',
|
|
170
|
+
factory: 'DefaultEarOrgan',
|
|
171
|
+
configKey: 'ear',
|
|
172
|
+
configSchema: {
|
|
173
|
+
type: 'object',
|
|
174
|
+
properties: {
|
|
175
|
+
defaultSource: {
|
|
176
|
+
type: 'string',
|
|
177
|
+
default: 'text_chat'
|
|
178
|
+
},
|
|
179
|
+
maxTextLength: {
|
|
180
|
+
type: 'number',
|
|
181
|
+
default: 4000
|
|
182
|
+
},
|
|
183
|
+
maxAudioBytes: {
|
|
184
|
+
type: 'number',
|
|
185
|
+
default: 10485760
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
environment: [],
|
|
190
|
+
services: [],
|
|
191
|
+
database: null,
|
|
192
|
+
healthCheck: null
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: '@sidurijs/hands',
|
|
196
|
+
organType: 'hands',
|
|
197
|
+
version: '2.0.2',
|
|
198
|
+
displayName: 'Hands (MCP Tool Execution)',
|
|
199
|
+
description: 'Model Context Protocol tool management and cryptographically authorized action execution',
|
|
200
|
+
entrypoint: './dist/index.js',
|
|
201
|
+
factory: 'DefaultHandsOrgan',
|
|
202
|
+
configKey: 'hands',
|
|
203
|
+
configSchema: {
|
|
204
|
+
type: 'object',
|
|
205
|
+
properties: {
|
|
206
|
+
defaultTimeoutMs: {
|
|
207
|
+
type: 'number',
|
|
208
|
+
default: 10000
|
|
209
|
+
},
|
|
210
|
+
providers: {
|
|
211
|
+
type: 'array',
|
|
212
|
+
items: {
|
|
213
|
+
type: 'object',
|
|
214
|
+
required: ['serverName'],
|
|
215
|
+
properties: {
|
|
216
|
+
serverName: {
|
|
217
|
+
type: 'string'
|
|
218
|
+
},
|
|
219
|
+
baseUrl: {
|
|
220
|
+
type: 'string'
|
|
221
|
+
},
|
|
222
|
+
command: {
|
|
223
|
+
type: 'string'
|
|
224
|
+
},
|
|
225
|
+
args: {
|
|
226
|
+
type: 'array',
|
|
227
|
+
items: {
|
|
228
|
+
type: 'string'
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
environment: [
|
|
237
|
+
{
|
|
238
|
+
name: 'ACTION_POLICY_SECRET',
|
|
239
|
+
required: false,
|
|
240
|
+
secret: true,
|
|
241
|
+
description: 'HMAC secret key for signing and verifying action execution capabilities (required in production)'
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
services: [],
|
|
245
|
+
database: null,
|
|
246
|
+
healthCheck: 'probeHandsHealth'
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
name: '@sidurijs/knowledge',
|
|
250
|
+
organType: 'knowledge',
|
|
251
|
+
version: '2.0.6',
|
|
252
|
+
displayName: 'Knowledge (Sovereign Life DB & Knowledge Packs)',
|
|
253
|
+
description: 'Sovereign Life Database (finances, inventory, schedule, preferences) and portable E knowledge packs',
|
|
254
|
+
entrypoint: './dist/index.js',
|
|
255
|
+
factory: 'UnifiedKnowledgeOrgan',
|
|
256
|
+
configKey: 'knowledge',
|
|
257
|
+
configSchema: {
|
|
258
|
+
type: 'object',
|
|
259
|
+
properties: {
|
|
260
|
+
lifeDatabase: {
|
|
261
|
+
type: 'boolean',
|
|
262
|
+
default: true
|
|
263
|
+
},
|
|
264
|
+
dbPath: {
|
|
265
|
+
type: 'string',
|
|
266
|
+
default: 'siduri.sqlite'
|
|
267
|
+
},
|
|
268
|
+
provider: {
|
|
269
|
+
type: 'string',
|
|
270
|
+
enum: ['unified', 'e-knowledge', 'e-remote', 'e-hub', 'none'],
|
|
271
|
+
default: 'unified'
|
|
272
|
+
},
|
|
273
|
+
pack: {
|
|
274
|
+
type: 'object'
|
|
275
|
+
},
|
|
276
|
+
packPath: {
|
|
277
|
+
type: 'string'
|
|
278
|
+
},
|
|
279
|
+
baseUrl: {
|
|
280
|
+
type: 'string'
|
|
281
|
+
},
|
|
282
|
+
registryUrl: {
|
|
283
|
+
type: 'string'
|
|
284
|
+
},
|
|
285
|
+
packId: {
|
|
286
|
+
type: 'string'
|
|
287
|
+
},
|
|
288
|
+
timeoutMs: {
|
|
289
|
+
type: 'number',
|
|
290
|
+
default: 5000
|
|
291
|
+
},
|
|
292
|
+
preferredMode: {
|
|
293
|
+
type: 'string',
|
|
294
|
+
enum: ['lexical', 'semantic', 'hybrid'],
|
|
295
|
+
default: 'lexical'
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
environment: [
|
|
300
|
+
{
|
|
301
|
+
name: 'SIDURI_KNOWLEDGE_PACK',
|
|
302
|
+
required: false,
|
|
303
|
+
secret: false,
|
|
304
|
+
description: 'Path to local E knowledge pack'
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: 'SIDURI_KNOWLEDGE_REGISTRY_URL',
|
|
308
|
+
required: false,
|
|
309
|
+
secret: false,
|
|
310
|
+
default: 'https://e.vxnus.xyz/api/v1/knowledge',
|
|
311
|
+
description: 'URL of the E Knowledge Hub registry'
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
services: [
|
|
315
|
+
{
|
|
316
|
+
name: 'E Knowledge Hub',
|
|
317
|
+
kind: 'http_service',
|
|
318
|
+
optional: true
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
database: {
|
|
322
|
+
engine: 'sqlite'
|
|
323
|
+
},
|
|
324
|
+
healthCheck: null
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
name: '@sidurijs/archive',
|
|
328
|
+
organType: 'archive',
|
|
329
|
+
version: '1.0.0',
|
|
330
|
+
displayName: 'Archive (Interaction Audit Ledger)',
|
|
331
|
+
description: 'Cold append-only interaction audit trail and FTS5 full-text search (RFC VX-26-13)',
|
|
332
|
+
entrypoint: './dist/index.js',
|
|
333
|
+
factory: 'SqliteArchiveLedger',
|
|
334
|
+
configKey: 'archive',
|
|
335
|
+
configSchema: {
|
|
336
|
+
type: 'object',
|
|
337
|
+
required: ['provider'],
|
|
338
|
+
properties: {
|
|
339
|
+
provider: {
|
|
340
|
+
type: 'string',
|
|
341
|
+
enum: ['sqlite']
|
|
342
|
+
},
|
|
343
|
+
databasePath: {
|
|
344
|
+
type: 'string',
|
|
345
|
+
default: 'siduri.sqlite'
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
environment: [],
|
|
350
|
+
services: [],
|
|
351
|
+
database: {
|
|
352
|
+
engine: 'sqlite'
|
|
353
|
+
},
|
|
354
|
+
healthCheck: null
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
name: '@sidurijs/observation',
|
|
358
|
+
organType: 'observation',
|
|
359
|
+
version: '2.0.1',
|
|
360
|
+
displayName: 'Observation (Screen Perception & Frame Ingest)',
|
|
361
|
+
description: 'Screen capture frame ingest, SHA-256 deduplication, and visual grounding for Eyes/Vision',
|
|
362
|
+
entrypoint: './dist/index.js',
|
|
363
|
+
factory: 'FixtureObservationOrgan',
|
|
364
|
+
configKey: 'observation',
|
|
365
|
+
configSchema: {
|
|
366
|
+
type: 'object',
|
|
367
|
+
properties: {}
|
|
368
|
+
},
|
|
369
|
+
environment: [],
|
|
370
|
+
services: [],
|
|
371
|
+
database: null,
|
|
372
|
+
healthCheck: null
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
name: '@sidurijs/vision',
|
|
376
|
+
organType: 'vision',
|
|
377
|
+
version: '2.0.1',
|
|
378
|
+
displayName: 'Vision (Visual Perception & OCR)',
|
|
379
|
+
description: 'Image inspection, cropping, and multi-pass OCR perception adapter',
|
|
380
|
+
entrypoint: './dist/index.js',
|
|
381
|
+
factory: 'OpenRouterVisionAdapter',
|
|
382
|
+
configKey: 'vision',
|
|
383
|
+
configSchema: {
|
|
384
|
+
type: 'object',
|
|
385
|
+
required: ['provider'],
|
|
386
|
+
properties: {
|
|
387
|
+
provider: {
|
|
388
|
+
type: 'string',
|
|
389
|
+
enum: ['openrouter', 'none']
|
|
390
|
+
},
|
|
391
|
+
model: {
|
|
392
|
+
type: 'string',
|
|
393
|
+
default: 'gpt-4-vision'
|
|
394
|
+
},
|
|
395
|
+
apiKey: {
|
|
396
|
+
type: 'string'
|
|
397
|
+
},
|
|
398
|
+
baseUrl: {
|
|
399
|
+
type: 'string'
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
environment: [
|
|
404
|
+
{
|
|
405
|
+
name: 'OPENROUTER_API_KEY',
|
|
406
|
+
required: false,
|
|
407
|
+
secret: true,
|
|
408
|
+
description: 'API key for vision model inference'
|
|
409
|
+
}
|
|
410
|
+
],
|
|
411
|
+
services: [
|
|
412
|
+
{
|
|
413
|
+
name: 'Vision Inference API',
|
|
414
|
+
kind: 'http_service',
|
|
415
|
+
optional: false
|
|
416
|
+
}
|
|
417
|
+
],
|
|
418
|
+
database: null,
|
|
419
|
+
healthCheck: 'probeVisionHealth'
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
name: '@sidurijs/voice',
|
|
423
|
+
organType: 'voice',
|
|
424
|
+
version: '2.0.2',
|
|
425
|
+
displayName: 'Voice (Speech Synthesis & Voice Conversion)',
|
|
426
|
+
description: 'Queued speech synthesis and audio rendering lifecycle adapter (VOICEVOX, RVC)',
|
|
427
|
+
entrypoint: './dist/index.js',
|
|
428
|
+
factory: 'VoicevoxAdapter',
|
|
429
|
+
configKey: 'voice',
|
|
430
|
+
configSchema: {
|
|
431
|
+
type: 'object',
|
|
432
|
+
required: ['provider'],
|
|
433
|
+
properties: {
|
|
434
|
+
provider: {
|
|
435
|
+
type: 'string',
|
|
436
|
+
enum: ['voicevox', 'edge-tts', 'kokoro', 'piper', 'none']
|
|
437
|
+
},
|
|
438
|
+
speakerId: {
|
|
439
|
+
type: 'number',
|
|
440
|
+
default: 1
|
|
441
|
+
},
|
|
442
|
+
baseUrl: {
|
|
443
|
+
type: 'string',
|
|
444
|
+
default: 'http://localhost:50021'
|
|
445
|
+
},
|
|
446
|
+
maxQueueDepth: {
|
|
447
|
+
type: 'number',
|
|
448
|
+
default: 50
|
|
449
|
+
},
|
|
450
|
+
rvc: {
|
|
451
|
+
type: 'object',
|
|
452
|
+
properties: {
|
|
453
|
+
enabled: { type: 'boolean', default: false },
|
|
454
|
+
serviceUrl: { type: 'string', default: 'http://localhost:50055' },
|
|
455
|
+
modelName: { type: 'string' },
|
|
456
|
+
modelPath: { type: 'string' },
|
|
457
|
+
indexPath: { type: 'string' },
|
|
458
|
+
pitchShift: { type: 'number', default: 0 },
|
|
459
|
+
f0Method: { type: 'string', enum: ['rmvpe', 'pm', 'harvest', 'crepe'], default: 'rmvpe' },
|
|
460
|
+
indexRate: { type: 'number', default: 0.75 }
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
},
|
|
465
|
+
environment: [
|
|
466
|
+
{
|
|
467
|
+
name: 'VOICEVOX_URL',
|
|
468
|
+
required: false,
|
|
469
|
+
secret: false,
|
|
470
|
+
default: 'http://localhost:50021',
|
|
471
|
+
description: 'Base URL of the running VOICEVOX engine'
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
name: 'RVC_SERVICE_URL',
|
|
475
|
+
required: false,
|
|
476
|
+
secret: false,
|
|
477
|
+
default: 'http://localhost:50055',
|
|
478
|
+
description: 'Base URL of headless RVC voice conversion microservice'
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
services: [
|
|
482
|
+
{
|
|
483
|
+
name: 'VOICEVOX Engine',
|
|
484
|
+
kind: 'http_service',
|
|
485
|
+
optional: false
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
name: 'RVC Headless Service',
|
|
489
|
+
kind: 'http_service',
|
|
490
|
+
optional: true
|
|
491
|
+
}
|
|
492
|
+
],
|
|
493
|
+
database: null,
|
|
494
|
+
healthCheck: null
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
name: '@sidurijs/mouth',
|
|
498
|
+
organType: 'mouth',
|
|
499
|
+
version: '2.0.2',
|
|
500
|
+
displayName: 'Mouth (Communication & UI Delivery)',
|
|
501
|
+
description: 'Decoupled output delivery organ formatting cognitive decisions for web interfaces',
|
|
502
|
+
entrypoint: './dist/index.js',
|
|
503
|
+
factory: 'DefaultMouthOrgan',
|
|
504
|
+
configKey: 'mouth',
|
|
505
|
+
configSchema: {
|
|
506
|
+
type: 'object',
|
|
507
|
+
properties: {
|
|
508
|
+
defaultMedium: {
|
|
509
|
+
type: 'string',
|
|
510
|
+
enum: ['web'],
|
|
511
|
+
default: 'web'
|
|
512
|
+
},
|
|
513
|
+
maxTextLength: {
|
|
514
|
+
type: 'number',
|
|
515
|
+
default: 8000
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
environment: [],
|
|
520
|
+
services: [],
|
|
521
|
+
database: null,
|
|
522
|
+
healthCheck: null
|
|
523
|
+
}
|
|
524
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|