@dtoolkit/dbrain 0.3.1 → 0.4.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.
Files changed (82) hide show
  1. package/README.md +39 -7
  2. package/dist/cli/compact.d.ts +10 -0
  3. package/dist/cli/compact.d.ts.map +1 -0
  4. package/dist/cli/compact.js +44 -0
  5. package/dist/cli/compact.js.map +1 -0
  6. package/dist/cli/configure.d.ts +2 -0
  7. package/dist/cli/configure.d.ts.map +1 -0
  8. package/dist/cli/configure.js +126 -0
  9. package/dist/cli/configure.js.map +1 -0
  10. package/dist/cli/index.js +63 -0
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/init.d.ts.map +1 -1
  13. package/dist/cli/init.js +18 -0
  14. package/dist/cli/init.js.map +1 -1
  15. package/dist/cli/keys.d.ts +11 -0
  16. package/dist/cli/keys.d.ts.map +1 -0
  17. package/dist/cli/keys.js +85 -0
  18. package/dist/cli/keys.js.map +1 -0
  19. package/dist/cli/link.d.ts +12 -0
  20. package/dist/cli/link.d.ts.map +1 -0
  21. package/dist/cli/link.js +118 -0
  22. package/dist/cli/link.js.map +1 -0
  23. package/dist/cli/start.d.ts.map +1 -1
  24. package/dist/cli/start.js +31 -1
  25. package/dist/cli/start.js.map +1 -1
  26. package/dist/cli/status.d.ts.map +1 -1
  27. package/dist/cli/status.js +23 -1
  28. package/dist/cli/status.js.map +1 -1
  29. package/dist/core/compact.d.ts +18 -0
  30. package/dist/core/compact.d.ts.map +1 -0
  31. package/dist/core/compact.js +117 -0
  32. package/dist/core/compact.js.map +1 -0
  33. package/dist/core/config.d.ts +23 -0
  34. package/dist/core/config.d.ts.map +1 -1
  35. package/dist/core/config.js +31 -1
  36. package/dist/core/config.js.map +1 -1
  37. package/dist/core/connections.d.ts +9 -0
  38. package/dist/core/connections.d.ts.map +1 -0
  39. package/dist/core/connections.js +25 -0
  40. package/dist/core/connections.js.map +1 -0
  41. package/dist/core/db.d.ts.map +1 -1
  42. package/dist/core/db.js +36 -0
  43. package/dist/core/db.js.map +1 -1
  44. package/dist/dashboard/index.html +250 -26
  45. package/dist/mcp/server.d.ts.map +1 -1
  46. package/dist/mcp/server.js +216 -15
  47. package/dist/mcp/server.js.map +1 -1
  48. package/dist/server/index.d.ts.map +1 -1
  49. package/dist/server/index.js +30 -2
  50. package/dist/server/index.js.map +1 -1
  51. package/dist/server/routes/compact.d.ts +3 -0
  52. package/dist/server/routes/compact.d.ts.map +1 -0
  53. package/dist/server/routes/compact.js +29 -0
  54. package/dist/server/routes/compact.js.map +1 -0
  55. package/dist/server/routes/entities.d.ts.map +1 -1
  56. package/dist/server/routes/entities.js +6 -1
  57. package/dist/server/routes/entities.js.map +1 -1
  58. package/dist/server/routes/facts.d.ts.map +1 -1
  59. package/dist/server/routes/facts.js +55 -2
  60. package/dist/server/routes/facts.js.map +1 -1
  61. package/dist/server/routes/health.d.ts.map +1 -1
  62. package/dist/server/routes/health.js +46 -2
  63. package/dist/server/routes/health.js.map +1 -1
  64. package/dist/server/routes/keys.d.ts +3 -0
  65. package/dist/server/routes/keys.d.ts.map +1 -0
  66. package/dist/server/routes/keys.js +73 -0
  67. package/dist/server/routes/keys.js.map +1 -0
  68. package/dist/server/routes/permissions.d.ts +3 -0
  69. package/dist/server/routes/permissions.d.ts.map +1 -0
  70. package/dist/server/routes/permissions.js +9 -0
  71. package/dist/server/routes/permissions.js.map +1 -0
  72. package/dist/server/routes/proxy.d.ts +3 -0
  73. package/dist/server/routes/proxy.d.ts.map +1 -0
  74. package/dist/server/routes/proxy.js +37 -0
  75. package/dist/server/routes/proxy.js.map +1 -0
  76. package/dist/server/routes/search.d.ts.map +1 -1
  77. package/dist/server/routes/search.js +113 -41
  78. package/dist/server/routes/search.js.map +1 -1
  79. package/dist/server/routes/workspace.d.ts.map +1 -1
  80. package/dist/server/routes/workspace.js +5 -0
  81. package/dist/server/routes/workspace.js.map +1 -1
  82. package/package.json +4 -2
package/README.md CHANGED
@@ -12,12 +12,32 @@
12
12
 
13
13
  Install it once, connect every AI you use — Claude Code at home, Claude Code at work, Gemini on your phone. All share the same identity, the same memories, the same knowledge.
14
14
 
15
- ```
16
- [Home] Claude Code ──MCP──┐
17
- [Work] Claude Code ──MCP──┤ ┌─────────────────────────────────┐
18
- [Mobile] Gemini ──REST──────┼────→│ dbrain (your mind) │
19
- [Server] OpenClaw ──REST────┤ │ identity + memory + knowledge │
20
- [Other] Custom AI ──API────┘ └─────────────────────────────────┘
15
+ ```mermaid
16
+ graph LR
17
+ subgraph Clients["Your AIs"]
18
+ home["🏠 Claude Code<br/><small>home</small>"]
19
+ work["💼 Claude Code<br/><small>work</small>"]
20
+ mobile["📱 Gemini<br/><small>mobile</small>"]
21
+ server["🖥️ OpenClaw<br/><small>server</small>"]
22
+ end
23
+
24
+ home -- MCP --> personal
25
+ work -- MCP --> personal
26
+ mobile -- REST --> personal
27
+ server -- REST --> personal
28
+
29
+ subgraph Federation["Federation"]
30
+ personal["dbrain<br/><strong>personal</strong><br/><small>identity + memory + knowledge</small>"]
31
+ shared["dbrain<br/><strong>shared / team</strong><br/><small>team knowledge + API keys</small>"]
32
+ end
33
+
34
+ personal -- "federated recall" --> shared
35
+ personal -- "share facts" --> shared
36
+
37
+ style personal fill:#2563eb,color:#fff,stroke:#1e40af
38
+ style shared fill:#7c3aed,color:#fff,stroke:#5b21b6
39
+ style Clients fill:#f8fafc,color:#1e293b,stroke:#e2e8f0
40
+ style Federation fill:#f8fafc,color:#1e293b,stroke:#e2e8f0
21
41
  ```
22
42
 
23
43
  ## Install
@@ -61,6 +81,7 @@ The brain has 4 layers:
61
81
  | **Conversations** | Raw chat history from every AI session | `conversations` + `messages` tables |
62
82
  | **Knowledge** | Structured facts organized by PARA | `entities` + `facts` tables with hot/warm/cold tiers |
63
83
  | **Recall** | Full-text search over all facts | FTS5 with OR logic for multi-language queries |
84
+ | **Federation** | Personal brains connect to shared team brains | Per-user API keys, federated recall, manual fact push |
64
85
 
65
86
  ### Memory tiers
66
87
 
@@ -85,6 +106,7 @@ Memories fade if you don't use them — like a real brain.
85
106
  | `log` | Send conversation messages for storage |
86
107
  | `wake_up` | Full identity load |
87
108
  | `overview` | Brain stats |
109
+ | `share` | Push a fact to a connected shared brain |
88
110
 
89
111
  ## REST API
90
112
 
@@ -99,8 +121,12 @@ All endpoints require `Authorization: Bearer <token>` except `/health`.
99
121
  | `POST` | `/entities/:id/facts` | Add facts to an entity |
100
122
  | `PATCH` | `/facts/:id/access` | Bump a memory (keep it hot) |
101
123
  | `GET/POST` | `/conversations` | Chat history |
102
- | `POST` | `/search` | Full-text search over all facts |
124
+ | `POST` | `/search` | Full-text search (supports `federated: true`) |
103
125
  | `GET` | `/memory/summary` | Overview: entities x tiers |
126
+ | `GET` | `/connections` | List connected brains with health status |
127
+ | `POST/GET/DELETE` | `/keys` | API key management (shared brains only) |
128
+ | `PATCH` | `/keys/:id` | Update API key permissions |
129
+ | `POST` | `/facts/:id/share` | Push a fact to a connected brain |
104
130
 
105
131
  ## CLI commands
106
132
 
@@ -110,6 +136,10 @@ All endpoints require `Authorization: Bearer <token>` except `/health`.
110
136
  | `dbrain start [path]` | Server | Start the API server + dashboard |
111
137
  | `dbrain connect <client> [url]` | Client | Connect a client to a running brain |
112
138
  | `dbrain status [path]` | Server | Check brain status |
139
+ | `dbrain link <url>` | Client | Connect to a shared brain |
140
+ | `dbrain unlink <name>` | Client | Disconnect from a shared brain |
141
+ | `dbrain connections` | Client | List connections with health status |
142
+ | `dbrain keys <action>` | Server | Manage per-user API keys (shared brains) |
113
143
 
114
144
  ## Dashboard
115
145
 
@@ -140,6 +170,8 @@ For non-interactive setup (Docker, CI):
140
170
  | `DBRAIN_AGENT_NAME` | `dBrain` | AI identity name |
141
171
  | `DBRAIN_OWNER_NAME` | `Human` | Owner name |
142
172
  | `DBRAIN_TIMEZONE` | Auto-detected | Owner timezone |
173
+ | `DBRAIN_BRAIN_NAME` | from identity | Brain display name |
174
+ | `DBRAIN_BRAIN_TYPE` | `personal` | `personal` or `shared` |
143
175
 
144
176
  ## License
145
177
 
@@ -0,0 +1,10 @@
1
+ export interface CompactCliOptions {
2
+ path?: string;
3
+ dedup?: boolean;
4
+ tiers?: boolean;
5
+ dryRun?: boolean;
6
+ threshold?: string;
7
+ limit?: string;
8
+ }
9
+ export declare function compactCommand(opts: CompactCliOptions): Promise<void>;
10
+ //# sourceMappingURL=compact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/cli/compact.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB,iBAkC3D"}
@@ -0,0 +1,44 @@
1
+ import { homedir } from 'node:os';
2
+ import { resolve } from 'node:path';
3
+ import pc from 'picocolors';
4
+ import { compact } from '../core/compact.js';
5
+ import { loadConfig } from '../core/config.js';
6
+ import { createDatabase } from '../core/db.js';
7
+ function resolveDataPath(pathArg) {
8
+ if (pathArg)
9
+ return resolve(pathArg.replace('~', homedir()));
10
+ return resolve(homedir(), '.dbrain');
11
+ }
12
+ export async function compactCommand(opts) {
13
+ const dataPath = resolveDataPath(opts.path);
14
+ const config = loadConfig(dataPath);
15
+ const db = createDatabase(config);
16
+ const steps = [];
17
+ if (opts.dedup)
18
+ steps.push('dedup');
19
+ if (opts.tiers)
20
+ steps.push('tiers');
21
+ if (steps.length === 0)
22
+ steps.push('dedup', 'tiers');
23
+ const threshold = opts.threshold ? parseFloat(opts.threshold) : config.compact.threshold;
24
+ const limit = opts.limit ? parseInt(opts.limit, 10) : config.compact.limit;
25
+ console.log(`\n${pc.cyan('dbrain')} compact${opts.dryRun ? pc.dim(' (dry run)') : ''}\n`);
26
+ console.log(` ${pc.dim('Threshold')}: ${threshold}`);
27
+ console.log(` ${pc.dim('Batch limit')}: ${limit}`);
28
+ console.log(` ${pc.dim('Steps')}: ${steps.join(', ')}\n`);
29
+ const result = compact({
30
+ db,
31
+ tiers: config.tiers,
32
+ threshold,
33
+ limit,
34
+ dryRun: opts.dryRun,
35
+ steps,
36
+ onProgress: (msg) => console.log(` ${pc.dim('>')} ${msg}`),
37
+ });
38
+ console.log(`\n${pc.green('Results')}:`);
39
+ console.log(` ${pc.green('Duplicates archived')}: ${result.factsDeduped}`);
40
+ console.log(` ${pc.green('Facts compacted')}: ${result.factsProcessed}`);
41
+ console.log(` ${pc.green('Tiers updated')}: ${result.tiersUpdated}\n`);
42
+ db.close();
43
+ }
44
+ //# sourceMappingURL=compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/cli/compact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function configure(pathArg?: string): Promise<void>;
2
+ //# sourceMappingURL=configure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/cli/configure.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,iBA8H/C"}
@@ -0,0 +1,126 @@
1
+ import { readFileSync, writeFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { resolve, join } from 'node:path';
4
+ import * as p from '@clack/prompts';
5
+ import pc from 'picocolors';
6
+ import { loadConfig } from '../core/config.js';
7
+ function resolveDataPath(pathArg) {
8
+ if (pathArg)
9
+ return resolve(pathArg.replace('~', homedir()));
10
+ return resolve(homedir(), '.dbrain');
11
+ }
12
+ export async function configure(pathArg) {
13
+ const dataPath = resolveDataPath(pathArg);
14
+ let config;
15
+ try {
16
+ config = loadConfig(dataPath);
17
+ }
18
+ catch {
19
+ console.log(`${pc.red('Not initialized.')} Run: ${pc.cyan('dbrain init')}`);
20
+ return;
21
+ }
22
+ p.intro(pc.cyan('dbrain') + ' configure');
23
+ const answers = await p.group({
24
+ port: () => p.text({
25
+ message: 'API port',
26
+ initialValue: String(config.port),
27
+ validate: (v) => {
28
+ const n = parseInt(v ?? '', 10);
29
+ if (isNaN(n) || n < 1 || n > 65535)
30
+ return 'Invalid port';
31
+ },
32
+ }),
33
+ host: () => p.select({
34
+ message: 'Bind address',
35
+ options: [
36
+ { value: '0.0.0.0', label: '0.0.0.0 — All interfaces (accessible from network)' },
37
+ { value: '127.0.0.1', label: '127.0.0.1 — Localhost only' },
38
+ ],
39
+ initialValue: config.host,
40
+ }),
41
+ brainName: () => p.text({
42
+ message: 'Brain name',
43
+ initialValue: config.brainName || 'dBrain',
44
+ }),
45
+ hotDays: () => p.text({
46
+ message: 'Hot tier: days threshold',
47
+ initialValue: String(config.tiers.hotDays),
48
+ validate: (v) => {
49
+ const n = parseInt(v ?? '', 10);
50
+ if (isNaN(n) || n < 1)
51
+ return 'Must be a positive number';
52
+ },
53
+ }),
54
+ hotMinAccess: () => p.text({
55
+ message: 'Hot tier: minimum access count',
56
+ initialValue: String(config.tiers.hotMinAccess),
57
+ validate: (v) => {
58
+ const n = parseInt(v ?? '', 10);
59
+ if (isNaN(n) || n < 1)
60
+ return 'Must be a positive number';
61
+ },
62
+ }),
63
+ warmDays: () => p.text({
64
+ message: 'Warm tier: days threshold',
65
+ initialValue: String(config.tiers.warmDays),
66
+ validate: (v) => {
67
+ const n = parseInt(v ?? '', 10);
68
+ if (isNaN(n) || n < 1)
69
+ return 'Must be a positive number';
70
+ },
71
+ }),
72
+ compactThreshold: () => p.text({
73
+ message: 'Compact: similarity threshold (0-1)',
74
+ initialValue: String(config.compact.threshold),
75
+ validate: (v) => {
76
+ const n = parseFloat(v ?? '');
77
+ if (isNaN(n) || n < 0 || n > 1)
78
+ return 'Must be between 0 and 1';
79
+ },
80
+ }),
81
+ compactLimit: () => p.text({
82
+ message: 'Compact: batch limit',
83
+ initialValue: String(config.compact.limit),
84
+ validate: (v) => {
85
+ const n = parseInt(v ?? '', 10);
86
+ if (isNaN(n) || n < 1)
87
+ return 'Must be a positive number';
88
+ },
89
+ }),
90
+ compactSchedule: () => p.text({
91
+ message: 'Compact: cron schedule (empty to disable)',
92
+ initialValue: config.compact.schedule || '',
93
+ placeholder: '0 3 * * *',
94
+ }),
95
+ }, {
96
+ onCancel: () => {
97
+ p.cancel('Configuration cancelled.');
98
+ process.exit(0);
99
+ },
100
+ });
101
+ const raw = JSON.parse(readFileSync(join(dataPath, 'config.json'), 'utf-8'));
102
+ const updated = {
103
+ ...raw,
104
+ port: parseInt(answers.port, 10),
105
+ host: answers.host,
106
+ brainName: answers.brainName,
107
+ tiers: {
108
+ hotDays: parseInt(answers.hotDays, 10),
109
+ hotMinAccess: parseInt(answers.hotMinAccess, 10),
110
+ warmDays: parseInt(answers.warmDays, 10),
111
+ },
112
+ compact: {
113
+ ...raw.compact,
114
+ threshold: parseFloat(answers.compactThreshold),
115
+ limit: parseInt(answers.compactLimit, 10),
116
+ schedule: answers.compactSchedule || undefined,
117
+ },
118
+ };
119
+ if (JSON.stringify(updated) === JSON.stringify(raw)) {
120
+ p.outro(pc.dim('No changes.'));
121
+ return;
122
+ }
123
+ writeFileSync(join(dataPath, 'config.json'), JSON.stringify(updated, null, 2) + '\n', 'utf-8');
124
+ p.outro(pc.green('Config updated. Restart the server to apply changes.'));
125
+ }
126
+ //# sourceMappingURL=configure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/cli/configure.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -51,5 +51,68 @@ program
51
51
  const { status } = await import('./status.js');
52
52
  await status(path);
53
53
  });
54
+ program
55
+ .command('keys')
56
+ .description('Manage API keys (shared brains only)')
57
+ .argument('<action>', 'create | list | revoke')
58
+ .option('--url <url>', 'Brain URL (or DBRAIN_URL env)')
59
+ .option('--token <token>', 'Admin token (or DBRAIN_TOKEN env)')
60
+ .option('--user-id <userId>', 'User ID (create)')
61
+ .option('--user-name <userName>', 'User display name (create)')
62
+ .option('--permissions <perms>', 'read | write | read+write (create, default: read+write)')
63
+ .option('--key-id <keyId>', 'Key ID (revoke)')
64
+ .action(async (action, opts) => {
65
+ const { keys } = await import('./keys.js');
66
+ await keys(action, opts);
67
+ });
68
+ program
69
+ .command('compact')
70
+ .description('Compact the brain (deduplicate facts, recalculate tiers)')
71
+ .option('--path <path>', 'Data path')
72
+ .option('--dedup', 'Deduplicate cold facts only')
73
+ .option('--tiers', 'Recalculate tiers only')
74
+ .option('--dry-run', 'Preview without writing')
75
+ .option('--threshold <n>', 'Similarity threshold (0-1, default 0.85)')
76
+ .option('--limit <n>', 'Max facts per batch (default 1000)')
77
+ .action(async (opts) => {
78
+ const { compactCommand } = await import('./compact.js');
79
+ await compactCommand(opts);
80
+ });
81
+ program
82
+ .command('configure')
83
+ .description('Reconfigure the brain (interactive)')
84
+ .argument('[path]', 'Data path')
85
+ .action(async (path) => {
86
+ const { configure } = await import('./configure.js');
87
+ await configure(path);
88
+ });
89
+ program
90
+ .command('link')
91
+ .description('Link to a shared brain')
92
+ .argument('<url>', 'Shared brain URL')
93
+ .option('--token <token>', 'Access token for the shared brain')
94
+ .option('--name <name>', 'Connection name (defaults to remote brain name)')
95
+ .option('--path <path>', 'Local brain data path')
96
+ .action(async (url, opts) => {
97
+ const { link } = await import('./link.js');
98
+ await link(url, opts);
99
+ });
100
+ program
101
+ .command('unlink')
102
+ .description('Remove a connection to a shared brain')
103
+ .argument('<name>', 'Connection name')
104
+ .option('--path <path>', 'Local brain data path')
105
+ .action(async (name, opts) => {
106
+ const { unlink } = await import('./link.js');
107
+ await unlink(name, opts);
108
+ });
109
+ program
110
+ .command('connections')
111
+ .description('List connected brains with health status')
112
+ .option('--path <path>', 'Local brain data path')
113
+ .action(async (opts) => {
114
+ const { connections } = await import('./link.js');
115
+ await connections(opts);
116
+ });
54
117
  program.parse();
55
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAElF,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,MAAM,MAAM,GAAG;;;;;;kCAMmB,CAAC;AAEnC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,qDAAqD,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;AAEzJ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAErE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;KAC/B,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,IAAkC,EAAE,EAAE;IAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,SAAS,CAAC;KACtB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,QAAQ,CAAC,UAAU,EAAE,uDAAuD,CAAC;KAC7E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;KAC9B,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,GAAuB,EAAE,IAAwB,EAAE,EAAE;IAClF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oBAAoB,CAAC;KACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAmBA,wBAAsB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,iBAwLhF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAmBA,wBAAsB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,iBAqMhF"}
package/dist/cli/init.js CHANGED
@@ -51,6 +51,14 @@ export async function init(pathArg, flags) {
51
51
  message: 'Access token (leave default to auto-generate)',
52
52
  initialValue: generateToken(),
53
53
  }),
54
+ brainType: () => p.select({
55
+ message: 'Brain type?',
56
+ options: [
57
+ { value: 'personal', label: 'Personal — Your own brain' },
58
+ { value: 'shared', label: 'Shared — Team brain (issues per-user API keys)' },
59
+ ],
60
+ initialValue: 'personal',
61
+ }),
54
62
  agentName: () => p.text({
55
63
  message: "What's my name? (your AI's identity)",
56
64
  initialValue: 'dBrain',
@@ -83,7 +91,11 @@ export async function init(pathArg, flags) {
83
91
  port,
84
92
  host: answers.host,
85
93
  token: answers.token,
94
+ brainName: answers.agentName,
95
+ brainType: answers.brainType,
96
+ connections: [],
86
97
  tiers: { hotDays: 7, hotMinAccess: 10, warmDays: 30 },
98
+ compact: { threshold: 0.85, limit: 1000 },
87
99
  };
88
100
  const s = p.spinner();
89
101
  s.start('Creating data directory');
@@ -142,6 +154,8 @@ function initNonInteractive(pathArg) {
142
154
  const host = process.env.DBRAIN_HOST || '0.0.0.0';
143
155
  const token = process.env.DBRAIN_TOKEN || generateToken();
144
156
  const agentName = process.env.DBRAIN_AGENT_NAME || 'dBrain';
157
+ const brainName = process.env.DBRAIN_BRAIN_NAME || agentName;
158
+ const brainType = (process.env.DBRAIN_BRAIN_TYPE || 'personal');
145
159
  const ownerName = process.env.DBRAIN_OWNER_NAME || 'Human';
146
160
  const ownerTimezone = process.env.DBRAIN_TIMEZONE || Intl.DateTimeFormat().resolvedOptions().timeZone;
147
161
  if (existsSync(join(dataPath, 'config.json'))) {
@@ -153,7 +167,11 @@ function initNonInteractive(pathArg) {
153
167
  port,
154
168
  host,
155
169
  token,
170
+ brainName,
171
+ brainType,
172
+ connections: [],
156
173
  tiers: { hotDays: 7, hotMinAccess: 10, warmDays: 30 },
174
+ compact: { threshold: 0.85, limit: 1000 },
157
175
  };
158
176
  mkdirSync(dataPath, { recursive: true });
159
177
  writeFileSync(join(dataPath, 'config.json'), JSON.stringify(config, null, 2) + '\n', 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ interface KeysOptions {
2
+ url?: string;
3
+ token?: string;
4
+ userId?: string;
5
+ userName?: string;
6
+ permissions?: string;
7
+ keyId?: string;
8
+ }
9
+ export declare function keys(action: string, opts: KeysOptions): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/cli/keys.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoBD,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,iBA2F3D"}
@@ -0,0 +1,85 @@
1
+ import * as p from '@clack/prompts';
2
+ import pc from 'picocolors';
3
+ async function apiCall(url, token, method, path, body) {
4
+ const headers = { Authorization: `Bearer ${token}` };
5
+ if (body)
6
+ headers['Content-Type'] = 'application/json';
7
+ const res = await fetch(`${url}${path}`, {
8
+ method,
9
+ headers,
10
+ body: body ? JSON.stringify(body) : undefined,
11
+ });
12
+ const data = await res.json();
13
+ return { ok: res.ok, status: res.status, data };
14
+ }
15
+ export async function keys(action, opts) {
16
+ const url = opts.url || process.env.DBRAIN_URL;
17
+ const token = opts.token || process.env.DBRAIN_TOKEN;
18
+ if (!url || !token) {
19
+ p.log.error(`${pc.red('Missing --url and --token (or DBRAIN_URL / DBRAIN_TOKEN env vars)')}`);
20
+ process.exit(1);
21
+ }
22
+ if (action === 'create') {
23
+ const userId = opts.userId;
24
+ const userName = opts.userName;
25
+ if (!userId || !userName) {
26
+ p.log.error(`${pc.red('--user-id and --user-name are required for create')}`);
27
+ process.exit(1);
28
+ }
29
+ const { ok, data } = await apiCall(url, token, 'POST', '/keys', {
30
+ userId,
31
+ userName,
32
+ permissions: opts.permissions || 'read+write',
33
+ });
34
+ if (!ok) {
35
+ p.log.error(`${pc.red('Failed to create key:')} ${JSON.stringify(data)}`);
36
+ process.exit(1);
37
+ }
38
+ const key = data;
39
+ p.log.success(`${pc.green('Key created')}`);
40
+ p.note([
41
+ `ID: ${pc.dim(key.id)}`,
42
+ `User: ${pc.green(userName)} (${userId})`,
43
+ `Permissions: ${pc.green(key.permissions)}`,
44
+ `Token: ${pc.green(key.token)}`,
45
+ ``,
46
+ `${pc.dim('Save this token — it will not be shown again.')}`,
47
+ ].join('\n'), 'API Key');
48
+ }
49
+ else if (action === 'list') {
50
+ const { ok, data } = await apiCall(url, token, 'GET', '/keys');
51
+ if (!ok) {
52
+ p.log.error(`${pc.red('Failed to list keys:')} ${JSON.stringify(data)}`);
53
+ process.exit(1);
54
+ }
55
+ const keys = data;
56
+ if (keys.length === 0) {
57
+ p.log.info('No API keys found.');
58
+ return;
59
+ }
60
+ p.log.info(`${pc.bold(`${keys.length} key(s)`)}\n`);
61
+ for (const k of keys) {
62
+ const status = k.status === 'active' ? pc.green('active') : pc.red('revoked');
63
+ const lastUsed = k.lastUsed ? pc.dim(k.lastUsed) : pc.dim('never');
64
+ console.log(` ${pc.dim(k.id)} ${k.userName} (${k.userId}) ${k.permissions} ${status} last: ${lastUsed} ${pc.dim(k.tokenPreview)}`);
65
+ }
66
+ }
67
+ else if (action === 'revoke') {
68
+ const keyId = opts.keyId;
69
+ if (!keyId) {
70
+ p.log.error(`${pc.red('--key-id is required for revoke')}`);
71
+ process.exit(1);
72
+ }
73
+ const { ok, data } = await apiCall(url, token, 'DELETE', `/keys/${keyId}`);
74
+ if (!ok) {
75
+ p.log.error(`${pc.red('Failed to revoke key:')} ${JSON.stringify(data)}`);
76
+ process.exit(1);
77
+ }
78
+ p.log.success(`${pc.green('Key revoked:')} ${keyId}`);
79
+ }
80
+ else {
81
+ p.log.error(`${pc.red(`Unknown action: ${action}. Use create, list, or revoke.`)}`);
82
+ process.exit(1);
83
+ }
84
+ }
85
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/cli/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare function link(url: string, opts: {
2
+ path?: string;
3
+ token?: string;
4
+ name?: string;
5
+ }): Promise<void>;
6
+ export declare function unlink(name: string, opts: {
7
+ path?: string;
8
+ }): Promise<void>;
9
+ export declare function connections(opts: {
10
+ path?: string;
11
+ }): Promise<void>;
12
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/cli/link.ts"],"names":[],"mappings":"AAoBA,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,iBA4D7F;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,iBAoBjE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,iBAmCxD"}