@decibelsystems/tools 2.1.3 → 2.2.0-beta.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/README.md +144 -63
- package/dist/daemonConfig.d.ts +6 -0
- package/dist/daemonConfig.d.ts.map +1 -1
- package/dist/daemonConfig.js +15 -2
- package/dist/daemonConfig.js.map +1 -1
- package/dist/facades/definitions.d.ts.map +1 -1
- package/dist/facades/definitions.js +15 -0
- package/dist/facades/definitions.js.map +1 -1
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +76 -2
- package/dist/httpServer.js.map +1 -1
- package/dist/kernel.d.ts +9 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +56 -6
- package/dist/kernel.js.map +1 -1
- package/dist/license.js +3 -3
- package/dist/license.js.map +1 -1
- package/dist/projectRegistry.d.ts +65 -3
- package/dist/projectRegistry.d.ts.map +1 -1
- package/dist/projectRegistry.js +222 -33
- package/dist/projectRegistry.js.map +1 -1
- package/dist/sentinelIssues.d.ts.map +1 -1
- package/dist/sentinelIssues.js +40 -14
- package/dist/sentinelIssues.js.map +1 -1
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -1
- package/dist/setup.d.ts +83 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +445 -0
- package/dist/setup.js.map +1 -0
- package/dist/store/markdown.d.ts +14 -1
- package/dist/store/markdown.d.ts.map +1 -1
- package/dist/store/markdown.js +36 -3
- package/dist/store/markdown.js.map +1 -1
- package/dist/tools/conductor/index.d.ts +9 -0
- package/dist/tools/conductor/index.d.ts.map +1 -0
- package/dist/tools/conductor/index.js +242 -0
- package/dist/tools/conductor/index.js.map +1 -0
- package/dist/tools/dojoPolicy.js +1 -1
- package/dist/tools/dojoPolicy.js.map +1 -1
- package/dist/tools/guardian.d.ts +29 -7
- package/dist/tools/guardian.d.ts.map +1 -1
- package/dist/tools/guardian.js +84 -73
- package/dist/tools/guardian.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry/index.d.ts.map +1 -1
- package/dist/tools/registry/index.js +41 -12
- package/dist/tools/registry/index.js.map +1 -1
- package/dist/tools/sentinel.d.ts +15 -0
- package/dist/tools/sentinel.d.ts.map +1 -1
- package/dist/tools/sentinel.js +280 -74
- package/dist/tools/sentinel.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,42 +1,73 @@
|
|
|
1
1
|
# @decibelsystems/tools
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Project intelligence for AI coding sessions.** A single MCP server that gives Claude (or any MCP client) a durable memory for your project — issues, decisions, friction, roadmap, and more — stored as plain files inside your repo, so the context survives when the chat window doesn't.
|
|
4
4
|
|
|
5
|
-
Tested with Claude Desktop, Claude Code, and Cursor. [Learn more](https://decibel.systems/tools)
|
|
5
|
+
> 29 facade tools (170+ internal handlers) across work tracking, architecture, experiments, design, git forensics, agent coordination, and security. Tested with Claude Desktop, Claude Code, and Cursor. [Learn more →](https://decibel.systems/tools)
|
|
6
6
|
|
|
7
7
|
<a href="https://github.com/decibelsystems/decibel-tools-mcp#cursor">
|
|
8
8
|
<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add to Cursor" height="32" />
|
|
9
9
|
</a>
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What is this?
|
|
14
|
+
|
|
15
|
+
When you work with an AI assistant, everything it "knows" about your project lives in the chat — and vanishes when the session ends. The next session starts cold: it re-discovers the same bugs, re-makes the same decisions, forgets why you chose Postgres over SQLite three weeks ago.
|
|
16
|
+
|
|
17
|
+
Decibel fixes that. It’s an MCP server that lets your AI **write project knowledge to disk** in a structured way and **read it back** in any future session. Track an issue in one conversation; a week later, a fresh session asks "what should I work on?" and gets the answer. Record an architecture decision once; it’s there forever. No database to run, no account to create — it’s just YAML and Markdown in a `.decibel/` folder in your repo.
|
|
18
|
+
|
|
19
|
+
## Objectives
|
|
20
|
+
|
|
21
|
+
Decibel is built around a few goals:
|
|
22
|
+
|
|
23
|
+
- **Persistence over recall.** Project state should outlive a single chat — so knowledge accrues instead of evaporating.
|
|
24
|
+
- **Local-first and private.** Everything is plain files in *your* repo. No telemetry, no cloud dependency, no lock-in. You can read, diff, and commit it like any other source.
|
|
25
|
+
- **One tool, many domains.** A handful of "facade" tools (each with an `action`) cover tracking, decisions, design, security, and coordination — instead of 170 separate tools cluttering the model’s context.
|
|
26
|
+
- **AI-native, human-readable.** Designed for an assistant to drive, but every artifact is something a person can open and understand.
|
|
27
|
+
- **Works everywhere MCP does.** Same tool set across Claude Code, Claude Desktop, Cursor, and custom agents over HTTP.
|
|
28
|
+
|
|
29
|
+
## Contents
|
|
30
|
+
|
|
31
|
+
- [Requirements](#requirements)
|
|
32
|
+
- [Quick Start](#quick-start)
|
|
33
|
+
- [Connect your AI client](#connect-your-ai-client) — [Claude Code](#claude-code) · [Claude Desktop](#claude-desktop) · [Cursor](#cursor)
|
|
34
|
+
- [Your first 5 minutes](#your-first-5-minutes)
|
|
35
|
+
- [The tools](#the-tools)
|
|
36
|
+
- [Daemon mode](#daemon-mode)
|
|
37
|
+
- [Configuration & Pro license](#configuration--pro-license)
|
|
38
|
+
- [Data storage](#data-storage)
|
|
39
|
+
- [Environment variables](#environment-variables)
|
|
40
|
+
- [Troubleshooting](#troubleshooting)
|
|
41
|
+
- [Privacy](#privacy)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Requirements
|
|
46
|
+
|
|
47
|
+
- **Node.js ≥ 18** (`node --version` to check). On macOS, the easiest path is [Homebrew](https://brew.sh): `brew install node`.
|
|
48
|
+
- An MCP-capable client: Claude Code, Claude Desktop, Cursor, or your own.
|
|
12
49
|
|
|
13
50
|
## Quick Start
|
|
14
51
|
|
|
15
52
|
```bash
|
|
16
|
-
# Install globally
|
|
53
|
+
# Install globally…
|
|
17
54
|
npm install -g @decibelsystems/tools
|
|
18
55
|
|
|
19
|
-
#
|
|
56
|
+
# …or run on demand with npx (no install)
|
|
20
57
|
npx @decibelsystems/tools
|
|
21
58
|
```
|
|
22
59
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
After installing, initialize your first project:
|
|
60
|
+
Then wire it into your AI client below, and [initialize your first project](#your-first-5-minutes).
|
|
26
61
|
|
|
27
|
-
|
|
28
|
-
# Copy the example registry (one-time setup)
|
|
29
|
-
cp projects.example.json projects.json
|
|
30
|
-
# Edit projects.json with your project paths
|
|
31
|
-
```
|
|
62
|
+
---
|
|
32
63
|
|
|
33
|
-
|
|
64
|
+
## Connect your AI client
|
|
34
65
|
|
|
35
|
-
|
|
66
|
+
The tool set is identical across every client — only the config file location differs.
|
|
36
67
|
|
|
37
68
|
### Claude Code
|
|
38
69
|
|
|
39
|
-
Add to `.mcp.json` in your project root or `~/.claude/settings.json
|
|
70
|
+
Add to `.mcp.json` in your project root (or `~/.claude.json` to make it global — *not* `~/.claude/settings.json`, which holds model/hooks/plugins and is ignored for MCP servers):
|
|
40
71
|
|
|
41
72
|
```json
|
|
42
73
|
{
|
|
@@ -49,24 +80,30 @@ Add to `.mcp.json` in your project root or `~/.claude/settings.json`:
|
|
|
49
80
|
}
|
|
50
81
|
```
|
|
51
82
|
|
|
52
|
-
###
|
|
83
|
+
### Claude Desktop
|
|
53
84
|
|
|
54
|
-
|
|
85
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS). If the file doesn’t exist yet, create it.
|
|
86
|
+
|
|
87
|
+
> **Important — use the login-shell wrapper.** Claude Desktop launches with a stripped `PATH` and often can’t find a bare `npx`, so the server silently fails to start. Wrapping the command in `zsh -lc` makes it load your shell profile and find Node, wherever it’s installed:
|
|
55
88
|
|
|
56
89
|
```json
|
|
57
90
|
{
|
|
58
91
|
"mcpServers": {
|
|
59
92
|
"decibel-tools": {
|
|
60
|
-
"command": "
|
|
61
|
-
"args": ["-
|
|
93
|
+
"command": "/bin/zsh",
|
|
94
|
+
"args": ["-lc", "npx -y @decibelsystems/tools"]
|
|
62
95
|
}
|
|
63
96
|
}
|
|
64
97
|
}
|
|
65
98
|
```
|
|
66
99
|
|
|
67
|
-
|
|
100
|
+
After saving, **fully quit Claude Desktop (⌘Q, not just the window) and reopen.** The server appears under the **Desktop** group in *Settings → Connectors*. First launch is slow while `npx` downloads the package — give it 30–60s.
|
|
68
101
|
|
|
69
|
-
|
|
102
|
+
*Prefer a background service?* Run the [daemon](#daemon-mode) and add it as a **custom connector** (URL `http://127.0.0.1:4888/mcp`) instead — no per-app process, shared across clients.
|
|
103
|
+
|
|
104
|
+
### Cursor
|
|
105
|
+
|
|
106
|
+
Add to `~/.cursor/mcp.json`:
|
|
70
107
|
|
|
71
108
|
```json
|
|
72
109
|
{
|
|
@@ -81,92 +118,120 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
|
81
118
|
|
|
82
119
|
---
|
|
83
120
|
|
|
84
|
-
##
|
|
121
|
+
## Your first 5 minutes
|
|
122
|
+
|
|
123
|
+
**1. Register a project.** Tools are scoped to a project, so this comes first. Just ask your assistant:
|
|
124
|
+
|
|
125
|
+
> "Run `project_init` for this folder."
|
|
85
126
|
|
|
86
|
-
|
|
127
|
+
That creates a `.decibel/` directory and registers the project. (Prefer files? Copy `projects.example.json` to `projects.json` and add your paths.)
|
|
128
|
+
|
|
129
|
+
**2. Start using it.** Everything is plain-language — the assistant maps your request to the right tool:
|
|
130
|
+
|
|
131
|
+
| You say… | What happens |
|
|
132
|
+
|----------|--------------|
|
|
133
|
+
| "Track a bug: the daemon doesn’t reconnect after sleep" | `sentinel` logs an issue |
|
|
134
|
+
| "Record why we chose Postgres over SQLite" | `architect` writes an ADR |
|
|
135
|
+
| "This build step keeps breaking — log it" | `friction` captures the pain point |
|
|
136
|
+
| "What should I work on next?" | `oracle` returns prioritized actions |
|
|
137
|
+
| "How healthy is this project?" | `workflow status` / `oracle` report |
|
|
138
|
+
|
|
139
|
+
**3. Come back later.** In a brand-new session, ask *"what’s open and what should I work on?"* — and the assistant reads back everything from `.decibel/`. That’s the whole point.
|
|
140
|
+
|
|
141
|
+
> 💡 **Tip:** Add a short note to your `CLAUDE.md` (Claude Code) or project instructions (Claude Desktop) telling the assistant to prefer Decibel tools for tracking work — so it reaches for them automatically.
|
|
142
|
+
|
|
143
|
+
---
|
|
87
144
|
|
|
88
|
-
|
|
145
|
+
## The tools
|
|
89
146
|
|
|
90
|
-
|
|
147
|
+
Every tool is a **facade**: one tool per domain, with an `action` parameter selecting the operation (e.g. `sentinel` + action `create_issue`).
|
|
148
|
+
|
|
149
|
+
### Core — always available
|
|
150
|
+
|
|
151
|
+
| Facade | Domain | Key actions |
|
|
91
152
|
|--------|--------|-------------|
|
|
92
153
|
| **sentinel** | Work tracking | `create_issue`, `close_issue`, `log_epic`, `list_epics`, `scan` |
|
|
93
|
-
| **architect** | Decisions | `create_adr`, `create_policy`, `list_policies`, `compile_oversight` |
|
|
154
|
+
| **architect** | Decisions (ADRs) | `create_adr`, `create_policy`, `list_policies`, `compile_oversight` |
|
|
94
155
|
| **dojo** | Incubation | `add_wish`, `create_proposal`, `scaffold_experiment`, `run_experiment` |
|
|
95
|
-
| **designer** | Design | `record_design_decision`, `crit`, `sync_tokens`, `review_figma` |
|
|
96
|
-
| **oracle** | Recommendations | `next_actions`, `roadmap` |
|
|
156
|
+
| **designer** | Design decisions | `record_design_decision`, `crit`, `sync_tokens`, `review_figma` |
|
|
157
|
+
| **oracle** | Recommendations | `next_actions`, `portfolio_summary`, `roadmap` |
|
|
97
158
|
| **roadmap** | Strategy | `get`, `list`, `get_health`, `link_epic`, `init` |
|
|
98
159
|
| **git** | Git forensics | `history`, `changes`, `link_issue` |
|
|
99
160
|
| **workflow** | Composites | `status`, `preflight`, `ship`, `investigate` |
|
|
100
|
-
| **vector** | Agent
|
|
101
|
-
| **context** | AI memory | `pin`, `unpin`, `list`, `
|
|
161
|
+
| **vector** | Agent run tracking | `track`, `drift`, `score` |
|
|
162
|
+
| **context** | AI memory | `pin`, `unpin`, `list`, `event_append`, `event_search` |
|
|
102
163
|
| **auditor** | Code quality | `health`, `refactor_score` |
|
|
103
164
|
| **forecast** | Estimation | `estimate`, `decompose`, `capacity` |
|
|
104
165
|
| **velocity** | Metrics | `trends`, `contributors` |
|
|
105
|
-
| **coordinator** | Multi-agent | `lock`, `unlock`, `heartbeat`, `log`, `message` |
|
|
166
|
+
| **coordinator** | Multi-agent locks | `lock`, `unlock`, `heartbeat`, `log`, `message` |
|
|
106
167
|
| **swarm** | Agent sessions | `start_session`, `join_session`, `emit_signal`, `claim_signal` |
|
|
168
|
+
| **peers** | Peer discovery | agent-to-agent presence & messaging |
|
|
169
|
+
| **concepts** | Concept graph | relate and query project concepts |
|
|
107
170
|
| **friction** | Pain points | `log`, `list`, `resolve`, `bump` |
|
|
108
171
|
| **registry** | Projects | `add`, `remove`, `list`, `alias`, `init`, `status` |
|
|
109
172
|
| **feedback** | Tool feedback | `submit`, `list` |
|
|
110
|
-
| **learnings** | Knowledge | `append`, `list` |
|
|
173
|
+
| **learnings** | Knowledge base | `append`, `list` |
|
|
111
174
|
| **provenance** | Audit trail | `list` |
|
|
112
175
|
| **bench** | Benchmarks | `run`, `compare` |
|
|
113
|
-
| **guardian** | Security | `scan_deps`, `scan_secrets`, `scan_http`, `scan_config`, `report` |
|
|
176
|
+
| **guardian** | Security scanning | `scan_deps`, `scan_secrets`, `scan_http`, `scan_config`, `report` |
|
|
114
177
|
|
|
115
|
-
### Pro
|
|
178
|
+
### Pro — requires a license key
|
|
116
179
|
|
|
117
|
-
| Facade | Domain | Key
|
|
180
|
+
| Facade | Domain | Key actions |
|
|
118
181
|
|--------|--------|-------------|
|
|
119
182
|
| **voice** | Voice inbox | `sync`, `list`, `process` |
|
|
120
183
|
| **studio** | Creative assets | `generate_image`, `generate_video` |
|
|
121
184
|
| **corpus** | Code patterns | `search`, `index` |
|
|
122
185
|
| **agentic** | Config compilation | `compile_pack`, `render`, `lint`, `golden_eval` |
|
|
123
186
|
|
|
124
|
-
> Add your license key to `~/.decibel/config.yaml` under `license.key` to
|
|
187
|
+
> Add your license key to `~/.decibel/config.yaml` under `license.key` to unlock Pro. See [Configuration](#configuration--pro-license).
|
|
125
188
|
|
|
126
189
|
---
|
|
127
190
|
|
|
128
|
-
## Daemon
|
|
191
|
+
## Daemon mode
|
|
129
192
|
|
|
130
|
-
Run as a persistent background service with HTTP transport
|
|
193
|
+
Run Decibel as a persistent background service with an HTTP transport — useful when several clients (Desktop, Cursor, custom agents) should share one server and one set of `.decibel` data.
|
|
131
194
|
|
|
132
195
|
```bash
|
|
133
|
-
# Start daemon (default
|
|
196
|
+
# Start the daemon (default 127.0.0.1:4888)
|
|
134
197
|
npx @decibelsystems/tools --daemon
|
|
135
198
|
|
|
136
|
-
#
|
|
199
|
+
# Both transports (stdio + HTTP) from one process
|
|
137
200
|
npx @decibelsystems/tools --daemon --stdio
|
|
138
201
|
|
|
139
|
-
# macOS launchd
|
|
202
|
+
# Manage it as a macOS launchd service (auto-start on login)
|
|
140
203
|
npx @decibelsystems/tools --daemon install
|
|
141
204
|
npx @decibelsystems/tools --daemon uninstall
|
|
142
205
|
npx @decibelsystems/tools --daemon status
|
|
143
206
|
```
|
|
144
207
|
|
|
145
|
-
The daemon includes log rotation, crash
|
|
208
|
+
The daemon includes log rotation, crash-loop protection (5 crashes in 60s), graceful shutdown with request draining, and a `/health` endpoint. MCP clients connect at **`http://127.0.0.1:4888/mcp`**; check it’s alive with `curl http://127.0.0.1:4888/health`.
|
|
209
|
+
|
|
210
|
+
---
|
|
146
211
|
|
|
147
|
-
|
|
212
|
+
## Configuration & Pro license
|
|
148
213
|
|
|
149
|
-
Create `~/.decibel/config.yaml
|
|
214
|
+
Create `~/.decibel/config.yaml`:
|
|
150
215
|
|
|
151
216
|
```yaml
|
|
152
217
|
daemon:
|
|
153
218
|
port: 4888
|
|
154
|
-
host:
|
|
155
|
-
auth_token: your-secret-token
|
|
219
|
+
host: 127.0.0.1
|
|
220
|
+
auth_token: your-secret-token # optional; required for non-localhost
|
|
156
221
|
log_max_size_mb: 10
|
|
157
222
|
log_max_files: 3
|
|
158
223
|
rate_limit_rpm: 60
|
|
159
224
|
license:
|
|
160
|
-
key: your-license-key
|
|
225
|
+
key: your-license-key # unlocks Pro facades
|
|
161
226
|
```
|
|
162
227
|
|
|
163
|
-
CLI flags override config
|
|
228
|
+
CLI flags override config-file values. Send `SIGHUP` to reload config without restarting.
|
|
164
229
|
|
|
165
230
|
---
|
|
166
231
|
|
|
167
|
-
## Data
|
|
232
|
+
## Data storage
|
|
168
233
|
|
|
169
|
-
|
|
234
|
+
Everything lives in a project-local `.decibel/` folder — readable, diffable, commit-able:
|
|
170
235
|
|
|
171
236
|
```
|
|
172
237
|
{project}/
|
|
@@ -186,39 +251,55 @@ Data is stored in project-local `.decibel/` folders:
|
|
|
186
251
|
├── learnings/ # Knowledge documents
|
|
187
252
|
├── context/ # Pinned facts, events
|
|
188
253
|
├── guardian/ # Security scan results, allowlists
|
|
189
|
-
└── voice/inbox/ # Voice messages
|
|
254
|
+
└── voice/inbox/ # Voice messages (Pro)
|
|
190
255
|
```
|
|
191
256
|
|
|
192
|
-
## Environment
|
|
257
|
+
## Environment variables
|
|
193
258
|
|
|
194
259
|
### Core
|
|
195
260
|
|
|
196
261
|
| Variable | Default | Description |
|
|
197
262
|
|----------|---------|-------------|
|
|
198
|
-
| `DECIBEL_ENV` | `dev` | Environment (dev
|
|
263
|
+
| `DECIBEL_ENV` | `dev` | Environment (`dev`, `staging`, `prod`) |
|
|
199
264
|
| `DECIBEL_ORG` | `default` | Organization name |
|
|
200
265
|
| `DECIBEL_MCP_ROOT` | `~/.decibel` | Global data storage root |
|
|
201
266
|
| `DECIBEL_PROJECT_ROOT` | — | Current project root path |
|
|
202
267
|
| `DECIBEL_REGISTRY_PATH` | — | Custom registry file location |
|
|
268
|
+
| `DECIBEL_PRO` | — | Set to `1` to enable Pro facades in dev |
|
|
203
269
|
|
|
204
|
-
### Optional
|
|
270
|
+
### Optional integrations
|
|
205
271
|
|
|
206
|
-
| Variable | Used
|
|
272
|
+
| Variable | Used by |
|
|
207
273
|
|----------|---------|
|
|
208
|
-
| `SUPABASE_URL` | Voice inbox, swarm sessions |
|
|
209
|
-
| `SUPABASE_SERVICE_KEY` | Supabase service role key |
|
|
274
|
+
| `SUPABASE_URL` / `SUPABASE_SERVICE_KEY` | Voice inbox, swarm sessions |
|
|
210
275
|
| `FIGMA_ACCESS_TOKEN` | Designer: `sync_tokens`, `review_figma` |
|
|
211
276
|
| `OPENAI_API_KEY` | Studio: image generation |
|
|
212
277
|
| `TOGETHER_API_KEY` | Studio: alternative image generation |
|
|
213
278
|
|
|
214
|
-
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Troubleshooting
|
|
215
282
|
|
|
216
|
-
**
|
|
283
|
+
**Tools don’t show up in Claude Desktop.**
|
|
284
|
+
1. You almost certainly hit the `PATH` problem — use the [`zsh -lc` wrapper](#claude-desktop), not a bare `npx`.
|
|
285
|
+
2. **Fully quit** (⌘Q) and reopen — a closed window isn’t a restart.
|
|
286
|
+
3. First launch downloads the package; wait 30–60s.
|
|
287
|
+
4. Check the log: `~/Library/Logs/Claude/mcp-server-decibel-tools.log`.
|
|
288
|
+
|
|
289
|
+
**`PROJECT_NOT_FOUND` errors.** Nothing’s registered yet — run `project_init` (or `registry add`) for your project before calling other tools.
|
|
290
|
+
|
|
291
|
+
**Local server vs. hosted connector.** decibel-tools is a *local* MCP server — it’s configured in the JSON file and only appears once you add it there. It won’t show up in the connector *search* (that only lists Anthropic’s hosted catalog). Hosted connectors (GitHub, Gmail) are separate, account-scoped, and enabled per-app and per-conversation.
|
|
292
|
+
|
|
293
|
+
**Pro facades missing.** They need a `license.key` in `~/.decibel/config.yaml` (or `DECIBEL_PRO=1` in dev).
|
|
294
|
+
|
|
295
|
+
---
|
|
217
296
|
|
|
218
|
-
|
|
297
|
+
## Privacy
|
|
219
298
|
|
|
220
|
-
**
|
|
299
|
+
- **Local storage only.** All project data stays in `.decibel/` folders in your repos. Nothing is sent anywhere by default.
|
|
300
|
+
- **Optional cloud integrations** activate only when you configure API keys (Figma, Supabase, OpenAI) — marked `openWorldHint: true` in their tool annotations.
|
|
301
|
+
- **No telemetry.** No usage analytics, no tracking.
|
|
221
302
|
|
|
222
303
|
## License
|
|
223
304
|
|
|
224
|
-
MIT
|
|
305
|
+
MIT — [Decibel Systems](https://decibel.systems)
|
package/dist/daemonConfig.d.ts
CHANGED
|
@@ -27,6 +27,12 @@ export declare function loadConfig(): DaemonConfig;
|
|
|
27
27
|
* Get the config file path (for display purposes).
|
|
28
28
|
*/
|
|
29
29
|
export declare function getConfigPath(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Write a license key into ~/.decibel/config.yaml, creating the file if
|
|
32
|
+
* needed. Uses parseDocument so existing comments and formatting survive —
|
|
33
|
+
* this file is hand-edited by users.
|
|
34
|
+
*/
|
|
35
|
+
export declare function writeLicenseKey(key: string): void;
|
|
30
36
|
/**
|
|
31
37
|
* Merge CLI flags over config file values. CLI takes precedence.
|
|
32
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemonConfig.d.ts","sourceRoot":"","sources":["../src/daemonConfig.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC;AAuBD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,YAAY,CA8BzC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,YAAY,CAad;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,GACpB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAiCvE"}
|
|
1
|
+
{"version":3,"file":"daemonConfig.d.ts","sourceRoot":"","sources":["../src/daemonConfig.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC;AAuBD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,YAAY,CA8BzC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CASjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,YAAY,CAad;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,GACpB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAiCvE"}
|
package/dist/daemonConfig.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
// Loads from ~/.decibel/config.yaml. CLI flags override config file values,
|
|
5
5
|
// config file overrides defaults. SIGHUP reloads hot-reloadable fields.
|
|
6
6
|
// ============================================================================
|
|
7
|
-
import { existsSync, readFileSync } from 'fs';
|
|
8
|
-
import { join } from 'path';
|
|
7
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
8
|
+
import { join, dirname } from 'path';
|
|
9
9
|
import { homedir } from 'os';
|
|
10
10
|
import YAML from 'yaml';
|
|
11
11
|
import { log } from './config.js';
|
|
@@ -66,6 +66,19 @@ export function loadConfig() {
|
|
|
66
66
|
export function getConfigPath() {
|
|
67
67
|
return CONFIG_PATH;
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Write a license key into ~/.decibel/config.yaml, creating the file if
|
|
71
|
+
* needed. Uses parseDocument so existing comments and formatting survive —
|
|
72
|
+
* this file is hand-edited by users.
|
|
73
|
+
*/
|
|
74
|
+
export function writeLicenseKey(key) {
|
|
75
|
+
mkdirSync(dirname(CONFIG_PATH), { recursive: true });
|
|
76
|
+
const doc = existsSync(CONFIG_PATH)
|
|
77
|
+
? YAML.parseDocument(readFileSync(CONFIG_PATH, 'utf-8'))
|
|
78
|
+
: new YAML.Document({});
|
|
79
|
+
doc.setIn(['license', 'key'], key);
|
|
80
|
+
writeFileSync(CONFIG_PATH, doc.toString(), 'utf-8');
|
|
81
|
+
}
|
|
69
82
|
/**
|
|
70
83
|
* Merge CLI flags over config file values. CLI takes precedence.
|
|
71
84
|
*/
|
package/dist/daemonConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemonConfig.js","sourceRoot":"","sources":["../src/daemonConfig.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"daemonConfig.js","sourceRoot":"","sources":["../src/daemonConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,eAAO,MAAM,WAAW,EAAE,UAAU,EAmanC,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,UAAU,EA0ElC,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,eAAO,MAAM,WAAW,EAAE,UAAU,EAmanC,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,UAAU,EA0ElC,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,UAAU,EAkHlC,CAAC;AAMF,eAAO,MAAM,oBAAoB,EAAE,UAAU,EAAmD,CAAC"}
|
|
@@ -578,6 +578,21 @@ export const appFacades = [
|
|
|
578
578
|
start_sprint: 'decibel_start_sprint',
|
|
579
579
|
},
|
|
580
580
|
},
|
|
581
|
+
{
|
|
582
|
+
name: 'conductor',
|
|
583
|
+
description: 'Sovereign, observable orchestrator. run a request end-to-end (classify → egress gate → route → verify) returning an answer + auditable trace_id; dryrun previews routing and what would egress WITHOUT executing; trace shows the full routing ledger for a request; cost summarises steps/egress/cost over a window; egress and routing view the deterministic policies (view-only). Proprietary/personal tasks never leave local hardware. Actions: run, dryrun, trace, cost, egress, routing',
|
|
584
|
+
compactDescription: 'Orchestrate requests with egress-gated, audited routing',
|
|
585
|
+
microEligible: false,
|
|
586
|
+
tier: 'core',
|
|
587
|
+
actions: {
|
|
588
|
+
run: 'conductor_run',
|
|
589
|
+
dryrun: 'conductor_dryrun',
|
|
590
|
+
trace: 'conductor_trace',
|
|
591
|
+
cost: 'conductor_cost',
|
|
592
|
+
egress: 'conductor_egress',
|
|
593
|
+
routing: 'conductor_routing',
|
|
594
|
+
},
|
|
595
|
+
},
|
|
581
596
|
];
|
|
582
597
|
// ============================================================================
|
|
583
598
|
// All Facades
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/httpServer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkBnE,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAG9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwiBtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkBnE,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAG9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwiBtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA40D3B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAkCA"}
|
package/dist/httpServer.js
CHANGED
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
import { createServer } from 'http';
|
|
28
28
|
import { timingSafeEqual, randomBytes } from 'crypto';
|
|
29
29
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
30
|
-
import { readFileSync } from 'fs';
|
|
30
|
+
import { readFileSync, existsSync } from 'fs';
|
|
31
31
|
import { fileURLToPath } from 'url';
|
|
32
|
-
import { dirname, join } from 'path';
|
|
32
|
+
import { dirname, join, resolve } from 'path';
|
|
33
33
|
import { log } from './config.js';
|
|
34
34
|
import { writeLocalAgentSession } from './agentPresence.js';
|
|
35
35
|
import { drainCommands, setSessionToken, getSessionToken, dropSessionToken, ackOwnerOf, clearAckOwner, } from './agentInbox.js';
|
|
@@ -1046,6 +1046,80 @@ export async function startHttpServer(server, kernelInstance, options) {
|
|
|
1046
1046
|
res.on('error', cleanup);
|
|
1047
1047
|
return;
|
|
1048
1048
|
}
|
|
1049
|
+
// GET /conductor/stream — SSE live-tail of the conductor trace ledger (C3).
|
|
1050
|
+
// Pure live-from-now: history is conductor.trace's job. Optional ?session_id / ?project_id filter.
|
|
1051
|
+
if (path === '/conductor/stream' && req.method === 'GET') {
|
|
1052
|
+
const filterSession = url.searchParams.get('session_id');
|
|
1053
|
+
const filterProject = url.searchParams.get('project_id');
|
|
1054
|
+
// mirrors conductor/index.ts ledgerPath() — same file the runs append to
|
|
1055
|
+
const lp = process.env.CONDUCTOR_LEDGER
|
|
1056
|
+
|| join(process.env.CONDUCTOR_DIR || resolve(process.cwd(), '../decibel-orchestrator'), '.decibel/conductor/trace.jsonl');
|
|
1057
|
+
res.writeHead(200, {
|
|
1058
|
+
'Content-Type': 'text/event-stream',
|
|
1059
|
+
'Cache-Control': 'no-cache',
|
|
1060
|
+
'Connection': 'keep-alive',
|
|
1061
|
+
});
|
|
1062
|
+
res.write(': connected\n\n');
|
|
1063
|
+
let offset = 0;
|
|
1064
|
+
try {
|
|
1065
|
+
offset = existsSync(lp) ? readFileSync(lp, 'utf8').length : 0;
|
|
1066
|
+
}
|
|
1067
|
+
catch {
|
|
1068
|
+
offset = 0;
|
|
1069
|
+
}
|
|
1070
|
+
let buf = '';
|
|
1071
|
+
// ponytail: re-reads the whole JSONL per poll — fine at trace sizes; switch to
|
|
1072
|
+
// fd offset reads if the ledger grows large.
|
|
1073
|
+
const poll = setInterval(() => {
|
|
1074
|
+
if (res.writableEnded)
|
|
1075
|
+
return;
|
|
1076
|
+
let content = '';
|
|
1077
|
+
try {
|
|
1078
|
+
content = existsSync(lp) ? readFileSync(lp, 'utf8') : '';
|
|
1079
|
+
}
|
|
1080
|
+
catch {
|
|
1081
|
+
return;
|
|
1082
|
+
}
|
|
1083
|
+
if (content.length < offset) {
|
|
1084
|
+
offset = 0;
|
|
1085
|
+
buf = '';
|
|
1086
|
+
} // rotated/truncated
|
|
1087
|
+
if (content.length <= offset)
|
|
1088
|
+
return;
|
|
1089
|
+
buf += content.slice(offset);
|
|
1090
|
+
offset = content.length;
|
|
1091
|
+
let nl;
|
|
1092
|
+
while ((nl = buf.indexOf('\n')) >= 0) {
|
|
1093
|
+
const line = buf.slice(0, nl);
|
|
1094
|
+
buf = buf.slice(nl + 1);
|
|
1095
|
+
if (!line.trim())
|
|
1096
|
+
continue;
|
|
1097
|
+
let evt;
|
|
1098
|
+
try {
|
|
1099
|
+
evt = JSON.parse(line);
|
|
1100
|
+
}
|
|
1101
|
+
catch {
|
|
1102
|
+
continue;
|
|
1103
|
+
}
|
|
1104
|
+
if (filterSession && evt.request_id !== filterSession)
|
|
1105
|
+
continue;
|
|
1106
|
+
if (filterProject && evt.project_id !== filterProject)
|
|
1107
|
+
continue;
|
|
1108
|
+
if (!res.writableEnded)
|
|
1109
|
+
res.write(`data: ${JSON.stringify(evt)}\n\n`);
|
|
1110
|
+
}
|
|
1111
|
+
}, 300);
|
|
1112
|
+
activeSseConnections.add(res);
|
|
1113
|
+
log(`HTTP: /conductor/stream opened (${activeSseConnections.size} SSE connections)`);
|
|
1114
|
+
const cleanup = () => {
|
|
1115
|
+
clearInterval(poll);
|
|
1116
|
+
activeSseConnections.delete(res);
|
|
1117
|
+
log(`HTTP: /conductor/stream closed (${activeSseConnections.size} SSE connections)`);
|
|
1118
|
+
};
|
|
1119
|
+
res.on('close', cleanup);
|
|
1120
|
+
res.on('error', cleanup);
|
|
1121
|
+
return;
|
|
1122
|
+
}
|
|
1049
1123
|
// GET /facades - Facade registry for agent bootstrap
|
|
1050
1124
|
if (path === '/facades' && req.method === 'GET') {
|
|
1051
1125
|
const tier = (url.searchParams.get('tier') || 'full');
|