@vxnus/siduri 0.0.2 → 0.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/README.md +5 -1
- package/dist/index.js +24 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Experimental CLI for creating and configuring Siduri companions.
|
|
|
5
5
|
Requires Node.js 20 or newer.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npx @vxnus/siduri@0.0.
|
|
8
|
+
npx @vxnus/siduri@0.0.3 create
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
The companion name becomes the project directory. For example, answering
|
|
@@ -21,6 +21,10 @@ Brain providers:
|
|
|
21
21
|
- **OpenAI-compatible API** — a custom `baseUrl`, model ID, and API-key
|
|
22
22
|
environment variable.
|
|
23
23
|
|
|
24
|
+
Memory currently uses PostgreSQL. The wizard lets you choose Local PostgreSQL,
|
|
25
|
+
Neon, Supabase, or another PostgreSQL provider; all use `DATABASE_URL`. SQLite
|
|
26
|
+
is shown as a future option but is not selectable in this release.
|
|
27
|
+
|
|
24
28
|
The wizard creates a project directory from the companion name, writes
|
|
25
29
|
`siduri.config.json`, copies the Siduri runtime, and installs the runtime
|
|
26
30
|
dependencies. API keys are never written to the configuration file. Optional
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
|
|
|
14
14
|
const e_knowledge_1 = require("@vxnus/e-knowledge");
|
|
15
15
|
const execFile = (0, node_util_1.promisify)(node_child_process_1.execFile);
|
|
16
16
|
const DEFAULT_REGISTRY_URL = 'https://e.vxnus.xyz/api/packs';
|
|
17
|
-
const CLI_VERSION = '0.0.
|
|
17
|
+
const CLI_VERSION = '0.0.3';
|
|
18
18
|
const RUNTIME_DEPENDENCIES = {
|
|
19
19
|
'@vxnus/e': '^0.1.3',
|
|
20
20
|
'@vxnus/e-knowledge': '^0.1.2',
|
|
@@ -33,7 +33,7 @@ const colors = {
|
|
|
33
33
|
};
|
|
34
34
|
function printHeader() {
|
|
35
35
|
console.log(`\n${colors.cyan}◈ SIDURI${colors.reset} ${colors.dim}companion setup${colors.reset}`);
|
|
36
|
-
console.log(`${colors.yellow}Experimental release 0.0.
|
|
36
|
+
console.log(`${colors.yellow}Experimental release 0.0.3${colors.reset} · configuration may change\n`);
|
|
37
37
|
}
|
|
38
38
|
function printSection(title) {
|
|
39
39
|
console.log(`\n${colors.cyan}── ${title} ${'─'.repeat(Math.max(2, 42 - title.length))}${colors.reset}`);
|
|
@@ -294,11 +294,30 @@ async function main() {
|
|
|
294
294
|
printSection('Companion');
|
|
295
295
|
const answers = await inquirer_1.default.prompt([
|
|
296
296
|
{ type: 'input', name: 'name', message: 'Companion name:', default: 'Siduri', validate: nonEmpty },
|
|
297
|
-
{
|
|
297
|
+
{
|
|
298
|
+
type: 'list',
|
|
299
|
+
name: 'memoryEngine',
|
|
300
|
+
message: 'Memory database?',
|
|
301
|
+
choices: [
|
|
302
|
+
{ name: 'PostgreSQL', value: 'postgres' },
|
|
303
|
+
{ name: 'SQLite (future)', value: 'sqlite', disabled: 'Coming soon' },
|
|
304
|
+
],
|
|
305
|
+
},
|
|
298
306
|
]);
|
|
307
|
+
const { memoryDeployment } = await inquirer_1.default.prompt({
|
|
308
|
+
type: 'list',
|
|
309
|
+
name: 'memoryDeployment',
|
|
310
|
+
message: 'PostgreSQL deployment?',
|
|
311
|
+
choices: [
|
|
312
|
+
{ name: 'Local PostgreSQL', value: 'local' },
|
|
313
|
+
{ name: 'Neon', value: 'neon' },
|
|
314
|
+
{ name: 'Supabase', value: 'supabase' },
|
|
315
|
+
{ name: 'Other PostgreSQL provider', value: 'other' },
|
|
316
|
+
],
|
|
317
|
+
});
|
|
299
318
|
const projectPath = node_path_1.default.resolve(process.cwd(), projectDirectoryName(answers.name));
|
|
300
319
|
await (0, promises_1.mkdir)(projectPath, { recursive: true });
|
|
301
|
-
printSuccess(`${answers.name} · PostgreSQL
|
|
320
|
+
printSuccess(`${answers.name} · PostgreSQL / ${memoryDeployment} · ${projectPath}`);
|
|
302
321
|
printSection('Brain · required');
|
|
303
322
|
const { brainProvider } = await inquirer_1.default.prompt({
|
|
304
323
|
type: 'list',
|
|
@@ -345,7 +364,7 @@ async function main() {
|
|
|
345
364
|
name: answers.name,
|
|
346
365
|
brain,
|
|
347
366
|
voice: { provider: voice, speakerId: 1 },
|
|
348
|
-
memory: { provider: answers.
|
|
367
|
+
memory: { provider: answers.memoryEngine, deployment: memoryDeployment },
|
|
349
368
|
knowledge,
|
|
350
369
|
behavior: { provider: remaining.behavior === 'none' ? 'none' : 'active_self', preset: remaining.behavior },
|
|
351
370
|
body: { provider: remaining.body, vtsUrl: process.env.VTS_URL || 'ws://127.0.0.1:8001' },
|