@rizom/brain 0.2.0-alpha.6 → 0.2.0-alpha.61

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 (40) hide show
  1. package/README.md +1 -1
  2. package/dist/brain.js +4763 -26510
  3. package/dist/deploy.d.ts +17 -26
  4. package/dist/deploy.js +25 -25
  5. package/dist/deploy.js.map +4 -4
  6. package/dist/entities.d.ts +561 -0
  7. package/dist/entities.js +172 -0
  8. package/dist/entities.js.map +242 -0
  9. package/dist/index.d.ts +65 -0
  10. package/dist/index.js +5 -0
  11. package/dist/index.js.map +11 -0
  12. package/dist/interfaces.d.ts +923 -0
  13. package/dist/interfaces.js +172 -0
  14. package/dist/interfaces.js.map +209 -0
  15. package/dist/plugins.d.ts +1195 -0
  16. package/dist/plugins.js +178 -0
  17. package/dist/plugins.js.map +294 -0
  18. package/dist/seed-content/relay/README.md +28 -371
  19. package/dist/seed-content/relay/anchor-profile/anchor-profile.md +8 -11
  20. package/dist/seed-content/relay/brain-character/brain-character.md +5 -4
  21. package/dist/seed-content/relay/site-content/about/about.md +20 -0
  22. package/dist/seed-content/relay/site-content/home/diagram.md +184 -0
  23. package/dist/seed-content/relay/site-info/site-info.md +11 -1
  24. package/dist/services.d.ts +601 -0
  25. package/dist/services.js +172 -0
  26. package/dist/services.js.map +242 -0
  27. package/dist/site.d.ts +56 -157
  28. package/dist/site.js +323 -463
  29. package/dist/site.js.map +131 -249
  30. package/dist/templates.d.ts +302 -0
  31. package/dist/templates.js +172 -0
  32. package/dist/templates.js.map +206 -0
  33. package/dist/themes.d.ts +5 -44
  34. package/dist/themes.js +91 -8
  35. package/dist/themes.js.map +2 -2
  36. package/package.json +35 -4
  37. package/templates/deploy/scripts/provision-server.ts +109 -0
  38. package/templates/deploy/scripts/update-dns.ts +65 -0
  39. package/templates/deploy/scripts/write-ssh-key.ts +17 -0
  40. package/tsconfig.instance.json +31 -0
@@ -1,384 +1,41 @@
1
- # Recall
1
+ # Relay seed content
2
2
 
3
- **Your team's AI-powered knowledge hub**
3
+ This directory contains the first-boot starter content for `@brains/relay`.
4
4
 
5
- Recall captures links, conversations, and decisions automatically, then makes them searchable and actionable. Connect via Matrix chat, web interface, or AI assistants like Claude Desktop.
5
+ ## What it is for
6
6
 
7
- ## What is Recall?
7
+ The files here give a new relay instance enough durable markdown content to boot with a coherent identity and a usable starting structure.
8
8
 
9
- Recall is a collaborative knowledge management system that:
9
+ Included content typically covers:
10
10
 
11
- - **Captures** links, conversations, and documents automatically
12
- - **Organizes** content with AI-powered summaries and topic extraction
13
- - **Connects** to Matrix chat, web browsers, and AI assistants
14
- - **Syncs** everything to Git for version control and backup
15
- - **Stores** data as human-readable Markdown files
11
+ - `brain-character/` the brain's identity and operating voice
12
+ - `anchor-profile/` the operator or owner profile
13
+ - `site-info/` site title, metadata, and presentation defaults
14
+ - `site-content/` editable homepage and about-page sections for the default site
15
+ - `deck/` example deck content
16
+ - root `.md` files — supporting reference material
16
17
 
17
- Think of it as a smart second brain for your team that works where you already collaborate.
18
+ ## How it is used
18
19
 
19
- ## Features
20
+ On first boot, if `brain-data/` is empty, relay copies this seed content into the instance content directory.
20
21
 
21
- ### 🔗 Automatic Link Capture
22
+ After that:
22
23
 
23
- Paste any URL in Matrix chat and Recall automatically:
24
+ - edit the instance's `brain-data/` content, not this directory
25
+ - treat markdown files as the durable source of truth
26
+ - let the runtime index that content into SQLite for search and retrieval
27
+ - optionally sync the same markdown content to git through `directory-sync`
24
28
 
25
- - Extracts and archives the content
26
- - Generates a summary
27
- - Identifies relevant topics
28
- - Makes it searchable
29
+ ## Authoring notes
29
30
 
30
- ### 💬 AI-Powered Conversations
31
+ - Keep content markdown-first and entity-shaped
32
+ - Prefer durable editorial copy over temporary scaffolding text
33
+ - Use frontmatter that matches the owning entity schema
34
+ - Keep examples realistic but clearly starter-level
31
35
 
32
- - Ask questions in natural language via Matrix
33
- - Query your team's knowledge base
34
- - Get instant answers from captured content
35
- - Integrated semantic search
36
+ ## Related docs
36
37
 
37
- ### 🏷️ Smart Organization
38
-
39
- - Automatic topic extraction from conversations
40
- - AI-generated summaries of discussions
41
- - Browse by links, topics, summaries, or presentations
42
- - Full-text and semantic search
43
-
44
- ### 🌐 Static Site Generation
45
-
46
- - Beautiful web interface with all your content
47
- - Presentation decks with Reveal.js
48
- - Responsive design with Tailwind CSS
49
- - Can be deployed anywhere
50
-
51
- ### 🔄 Git Sync
52
-
53
- - All content backed up to Git automatically
54
- - Edit in Obsidian, VS Code, or any Markdown editor
55
- - Version control for all changes
56
- - Works with GitHub, GitLab, or self-hosted Git
57
-
58
- ### 🤖 MCP Integration
59
-
60
- - Connect to Claude Desktop or other MCP clients
61
- - Let AI assistants search your knowledge base
62
- - Execute commands and queries remotely
63
- - HTTP and stdio transport support
64
-
65
- ## Quick Start
66
-
67
- ### Prerequisites
68
-
69
- - [Bun](https://bun.sh) v1.0+
70
- - SQLite 3.x
71
- - Git
72
-
73
- ### Installation
74
-
75
- ```bash
76
- # Clone the repository
77
- git clone https://github.com/your-org/brains
78
- cd brains
79
-
80
- # Install dependencies
81
- bun install
82
-
83
- # Navigate to your relay app
84
- cd apps/my-relay
85
- ```
86
-
87
- ### Configuration
88
-
89
- Create a `.env` file in the root directory:
90
-
91
- ```bash
92
- # Required: Anthropic API key for AI features
93
- AI_API_KEY=your-api-key-here
94
-
95
- # Database URLs (defaults to local SQLite files)
96
- DATABASE_URL=file:./data/brains.db
97
- JOB_QUEUE_DATABASE_URL=file:./data/jobs.db
98
- CONVERSATION_DATABASE_URL=file:./data/conversations.db
99
-
100
- # Matrix Configuration (optional - for chat interface)
101
- MATRIX_HOMESERVER=https://matrix.org
102
- MATRIX_ACCESS_TOKEN=your_matrix_token
103
- MATRIX_USER_ID=@recall:matrix.org
104
- MATRIX_ANCHOR_USER_ID=@youruser:matrix.org
105
-
106
- # Git Sync Configuration (optional - for backup)
107
- GIT_SYNC_REPO=your-org/recall-content
108
- GIT_SYNC_TOKEN=ghp_your_github_token
109
-
110
- # MCP Configuration (optional - for remote access)
111
- MCP_AUTH_TOKEN=your_secure_token
112
-
113
- # Web Interface (optional - for production deployment)
114
- DOMAIN=recall.example.com
115
- PORT=3000
116
-
117
- # Logging
118
- LOG_LEVEL=info
119
- ```
120
-
121
- ### Running Locally
122
-
123
- ```bash
124
- # Run in development mode (watches for changes)
125
- bun run dev
126
-
127
- # Run CLI interface
128
- bun run dev:cli
129
-
130
- # Run in production mode
131
- bun run start
132
- ```
133
-
134
- The application will:
135
-
136
- - Initialize SQLite databases
137
- - Sync seed content to markdown files
138
- - Start all configured interfaces (web, matrix, MCP)
139
- - Begin processing jobs in the background
140
-
141
- Visit `http://localhost:3000` to access the web interface.
142
-
143
- ## Development
144
-
145
- ### Available Commands
146
-
147
- ```bash
148
- # Development
149
- bun run dev # Start with hot reload
150
- bun run dev:cli # Start CLI interface with hot reload
151
-
152
- # Production
153
- bun run start # Run the application
154
- bun run start:cli # Run CLI interface
155
-
156
- # Database
157
- bun run migrate # Run all migrations
158
- bun run migrate:entities # Migrate entities database only
159
- bun run db:studio # Open Drizzle Studio (main DB)
160
- bun run db:studio:entities # Studio for entities
161
- bun run db:studio:conversations # Studio for conversations
162
- bun run db:studio:jobs # Studio for job queue
163
-
164
- # Quality
165
- bun run test # Run tests
166
- bun run typecheck # Type check
167
- bun run lint # Lint code
168
-
169
- # Matrix Setup
170
- bun run matrix:setup # Interactive Matrix configuration
171
- ```
172
-
173
- ### Project Structure
174
-
175
- ```
176
- apps/my-relay/
177
- ├── brain.config.ts # Main configuration
178
- ├── seed-content/ # Initial markdown content
179
- ├── scripts/ # Utility scripts
180
- └── data/ # SQLite databases (created on first run)
181
- ```
182
-
183
- ### Adding Seed Content
184
-
185
- Place markdown files in `seed-content/` and they'll be synced to the database on startup. Files can include:
186
-
187
- - Links (frontmatter: `type: link`)
188
- - Summaries (frontmatter: `type: summary`)
189
- - Topics (frontmatter: `type: topic`)
190
- - Presentations (frontmatter: `type: deck`)
191
- - Custom content types
192
-
193
- ## Usage
194
-
195
- ### Matrix Chat
196
-
197
- 1. Invite your Recall bot to a Matrix room
198
- 2. Paste URLs to capture links automatically
199
- 3. Mention the bot to ask questions: `@recall what topics have we discussed?`
200
- 4. Use commands: `!help`, `!identity`, `!git-sync`
201
-
202
- ### Web Interface
203
-
204
- Navigate to your deployment URL to:
205
-
206
- - Browse all captured links at `/links`
207
- - View topics at `/topics`
208
- - Read summaries at `/summaries`
209
- - Present decks at `/decks`
210
- - Search content with semantic search
211
-
212
- ### MCP (AI Assistant Integration)
213
-
214
- Configure Claude Desktop or another MCP client:
215
-
216
- ```json
217
- {
218
- "mcpServers": {
219
- "recall": {
220
- "command": "node",
221
- "args": ["/path/to/brains/apps/my-relay/brain.yaml", "--mcp"]
222
- }
223
- }
224
- }
225
- ```
226
-
227
- Or use HTTP transport for remote access:
228
-
229
- ```json
230
- {
231
- "mcpServers": {
232
- "recall": {
233
- "url": "https://recall.example.com/mcp",
234
- "headers": {
235
- "Authorization": "Bearer your_auth_token"
236
- }
237
- }
238
- }
239
- }
240
- ```
241
-
242
- Available MCP tools:
243
-
244
- - `brain_query` - Natural language queries
245
- - `brain_command` - Execute shell commands
246
- - `entity_*` - Create, read, update, delete entities
247
-
248
- ### CLI Interface
249
-
250
- ```bash
251
- bun run start:cli
252
-
253
- # In the CLI:
254
- > query "what are our main topics?"
255
- > command "help"
256
- > exit
257
- ```
258
-
259
- ## Deployment
260
-
261
- Recall can be deployed as:
262
-
263
- 1. **Docker Container** - See `deploy/providers/hetzner/` for examples
264
- 2. **Systemd Service** - Run as a system service
265
- 3. **Node.js Process** - Standard Node deployment
266
- 4. **Bun Binary** - Compile to standalone executable
267
-
268
- ### Docker Deployment
269
-
270
- ```bash
271
- # Build image
272
- docker build -t recall .
273
-
274
- # Run container
275
- docker run -d \
276
- --name recall \
277
- -p 3000:3000 \
278
- -v ./data:/app/data \
279
- -v ./content:/app/content \
280
- --env-file .env \
281
- recall
282
- ```
283
-
284
- ### Environment-Specific Configuration
285
-
286
- - **Development**: Local SQLite, hot reload, debug logging
287
- - **Production**: Remote databases, health checks, info logging
288
- - **Preview**: Separate databases, preview domain
289
-
290
- See `deploy/` directory for deployment scripts and configurations.
291
-
292
- ## Architecture
293
-
294
- Recall is built on a plugin-based architecture:
295
-
296
- ### Core
297
-
298
- - **Shell** - Plugin system and service orchestration
299
- - **Entity Service** - Unified data model with SQLite + vector embeddings
300
- - **Job Queue** - Background task processing
301
- - **Messaging** - Event-driven communication between plugins
302
-
303
- ### Plugins
304
-
305
- - **System** - Core commands and queries
306
- - **Link** - URL capture and content extraction
307
- - **Summary** - AI-powered summarization
308
- - **Topics** - Topic extraction and organization
309
- - **Decks** - Presentation deck rendering
310
- - **Site Builder** - Static site generation
311
- - **Directory Sync** - Markdown file synchronization
312
- - **Git Sync** - Automatic Git backup
313
-
314
- ### Interfaces
315
-
316
- - **Matrix** - Chat integration
317
- - **MCP** - AI assistant protocol
318
- - **Webserver** - HTTP API and static site hosting
319
- - **CLI** - Command-line interface
320
-
321
- ## Contributing
322
-
323
- This is an internal tool, but we welcome contributions:
324
-
325
- 1. Follow the repository [AGENTS.md](../../AGENTS.md) development guidelines
326
- 2. Write tests for new features
327
- 3. Run `bun run typecheck` and `bun run lint` before committing
328
- 4. Keep commits focused and write clear messages
329
-
330
- ## Troubleshooting
331
-
332
- ### Database Issues
333
-
334
- ```bash
335
- # Reset databases (WARNING: deletes all data)
336
- rm -rf data/*.db
337
-
338
- # Run migrations
339
- bun run migrate
340
- ```
341
-
342
- ### Matrix Connection Issues
343
-
344
- ```bash
345
- # Verify Matrix configuration
346
- bun run matrix:setup
347
-
348
- # Check Matrix access token validity
349
- curl -H "Authorization: Bearer $MATRIX_ACCESS_TOKEN" \
350
- $MATRIX_HOMESERVER/_matrix/client/v3/account/whoami
351
- ```
352
-
353
- ### MCP Connection Issues
354
-
355
- ```bash
356
- # Test MCP endpoint
357
- curl -X POST https://your-domain.com/mcp \
358
- -H "Authorization: Bearer $MCP_AUTH_TOKEN" \
359
- -H "Content-Type: application/json" \
360
- -d '{"method": "ping"}'
361
- ```
362
-
363
- ### Git Sync Issues
364
-
365
- ```bash
366
- # Check Git sync status
367
- cd content
368
- git status
369
- git log
370
-
371
- # Force sync
372
- # In Matrix: !git-sync
373
- # Or restart the application
374
- ```
375
-
376
- ## License
377
-
378
- Apache-2.0
379
-
380
- ## Support
381
-
382
- - Documentation: [docs/](../../docs/)
383
- - Issues: [GitHub Issues](https://github.com/your-org/brains/issues)
384
- - Matrix: `#recall:your-domain.com`
38
+ - [Relay model README](../README.md)
39
+ - [Repository README](../../../README.md)
40
+ - [Brain model architecture](../../../docs/brain-model.md)
41
+ - [AGENTS.md](../../../AGENTS.md)
@@ -1,17 +1,14 @@
1
1
  ---
2
2
  kind: team
3
- name: Team Organization
4
- description: Collaborative team workspace for knowledge sharing
5
- website: "https://team.example.com"
6
- email: team@example.com
3
+ name: Relay POC Team
4
+ description: A small team validating shared knowledge capture, synthesis, and peer-brain coordination.
5
+ website: "https://relay.example.com"
6
+ email: relay-team@example.com
7
7
  socialLinks:
8
- - platform: linkedin
9
- url: "https://www.linkedin.com/company/team-org"
10
- label: Connect on LinkedIn
11
8
  - platform: github
12
- url: "https://github.com/team-org"
13
- label: View team projects
9
+ url: "https://github.com/rizom-ai/brains"
10
+ label: Brains repository
14
11
  - platform: email
15
- url: "mailto:team@example.com"
16
- label: Contact team
12
+ url: "mailto:relay-team@example.com"
13
+ label: Contact the Relay POC team
17
14
  ---
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: Relay
3
3
  role: Team knowledge coordinator
4
- purpose: Capture, organize, and share team knowledge
4
+ purpose: Capture, synthesize, and route shared team knowledge across humans and peer brains
5
5
  values:
6
- - clarity
7
- - collaboration
8
- - accessibility
6
+ - collaborative clarity
7
+ - durable memory
8
+ - grounded synthesis
9
+ - explicit coordination
9
10
  ---
@@ -0,0 +1,20 @@
1
+ ---
2
+ routeId: about
3
+ sectionId: about
4
+ ---
5
+
6
+ # About Relay
7
+
8
+ ## Title
9
+
10
+ Relay is a collaborative team-memory brain.
11
+
12
+ ## Intro
13
+
14
+ It exists for teams that need to remember together: capturing what happened, summarizing why it matters, and coordinating with trusted peer brains when work crosses boundaries.
15
+
16
+ ## Points
17
+
18
+ - Not a personal blog engine or portfolio shell.
19
+ - Not a marketing automation stack.
20
+ - A small public face for a larger private knowledge workflow.
@@ -0,0 +1,184 @@
1
+ ---
2
+ routeId: home
3
+ sectionId: diagram
4
+ ---
5
+
6
+ # Home diagram
7
+
8
+ ## Eyebrow
9
+
10
+ A team brain, diagrammed
11
+
12
+ ## Headline
13
+
14
+ Relay sits between the work and the world, and keeps both honest.
15
+
16
+ ## Intro
17
+
18
+ Capture sources flow into a shared brain; the brain organizes, summarizes, and — selectively — exposes a public surface. Everything else stays private and operational.
19
+
20
+ ## Primary CTA
21
+
22
+ ### Label
23
+
24
+ See it on a real team
25
+
26
+ ### Href
27
+
28
+ #diagram
29
+
30
+ ## Secondary CTA
31
+
32
+ ### Label
33
+
34
+ Read the model
35
+
36
+ ### Href
37
+
38
+ /about
39
+
40
+ ## Inputs
41
+
42
+ ### Input 1
43
+
44
+ #### Label
45
+
46
+ Source · chat
47
+
48
+ #### Title
49
+
50
+ Discord
51
+
52
+ #### Detail
53
+
54
+ Shared decisions and field notes captured in flow.
55
+
56
+ ### Input 2
57
+
58
+ #### Label
59
+
60
+ Source · agent
61
+
62
+ #### Title
63
+
64
+ MCP / CLI
65
+
66
+ #### Detail
67
+
68
+ Structured captures from tools and assistants.
69
+
70
+ ### Input 3
71
+
72
+ #### Label
73
+
74
+ Source · web
75
+
76
+ #### Title
77
+
78
+ Links & docs
79
+
80
+ #### Detail
81
+
82
+ External material indexed with sourceable metadata.
83
+
84
+ ## Outputs
85
+
86
+ ### Output 1
87
+
88
+ #### Label
89
+
90
+ Surface · public
91
+
92
+ #### Title
93
+
94
+ Default site
95
+
96
+ #### Detail
97
+
98
+ A small, durable face onto what the team currently knows.
99
+
100
+ ### Output 2
101
+
102
+ #### Label
103
+
104
+ Surface · agents
105
+
106
+ #### Title
107
+
108
+ A2A exchange
109
+
110
+ #### Detail
111
+
112
+ Peer brains coordinate over an approved, signed protocol.
113
+
114
+ ### Output 3
115
+
116
+ #### Label
117
+
118
+ Surface · query
119
+
120
+ #### Title
121
+
122
+ Team Q&A
123
+
124
+ #### Detail
125
+
126
+ Ask the brain in chat; answers cite the captures behind them.
127
+
128
+ ## Core
129
+
130
+ ### Eyebrow
131
+
132
+ The relay
133
+
134
+ ### Name
135
+
136
+ brain
137
+
138
+ ### Sub
139
+
140
+ capture → topics → summaries
141
+
142
+ ## Legend
143
+
144
+ ### Legend 1
145
+
146
+ #### Tone
147
+
148
+ capture
149
+
150
+ #### Title
151
+
152
+ Capture
153
+
154
+ #### Text
155
+
156
+ Anything the team already does that produces a trace — chat messages, links, deploys, decisions.
157
+
158
+ ### Legend 2
159
+
160
+ #### Tone
161
+
162
+ synthesis
163
+
164
+ #### Title
165
+
166
+ Synthesis
167
+
168
+ #### Text
169
+
170
+ The work the brain does on its own time — clustering captures into topics, summaries, and durable memory.
171
+
172
+ ### Legend 3
173
+
174
+ #### Tone
175
+
176
+ share
177
+
178
+ #### Title
179
+
180
+ Share
181
+
182
+ #### Text
183
+
184
+ A small, opinionated public surface and an approved agent-to-agent protocol. Most memory stays private.
@@ -1,5 +1,15 @@
1
1
  ---
2
2
  title: Relay
3
- description: Your team's AI-powered knowledge hub
3
+ description: Collaborative team memory, synthesis, and peer-brain coordination.
4
4
  themeMode: dark
5
+ copyright: Relay sample site — powered by Rizom
6
+ cta:
7
+ heading: Start with shared memory
8
+ buttonText: Read the model
9
+ buttonLink: /about
10
+ sections:
11
+ loop:
12
+ blurb: Capture, synthesize, and share what the team already knows.
13
+ surface:
14
+ blurb: Minimal by default, extensible in the full preset.
5
15
  ---