@lifeaitools/clauth 1.19.4 → 1.30.2

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 CHANGED
@@ -27,37 +27,37 @@ At the end it prints a **bootstrap token** — save it for the next step.
27
27
 
28
28
  ---
29
29
 
30
- ## After Install — Register Your Machine
31
-
32
- ```bash
33
- clauth setup
34
- ```
30
+ ## After Install — Register Your Machine
31
+
32
+ ```bash
33
+ clauth setup
34
+ ```
35
35
 
36
36
  Prompts for: machine label, password, bootstrap token (from `clauth install`).
37
37
 
38
- Then verify:
39
- ```bash
40
- clauth test # → PASS
41
- clauth status # → 12 services, all NO KEY
42
- ```
43
-
44
- ### Add A New Computer
45
-
46
- On an old computer where clauth is already registered:
47
-
48
- ```bash
49
- clauth enroll --label "Dave-New-Laptop"
50
- ```
51
-
52
- This creates a one-time enrollment code tied to the same `install_id` and writes
53
- a one-time PowerShell setup script. Move that script to the new computer and run
54
- it. The script installs clauth, enrolls the computer, installs startup, then
55
- deletes itself. Setup defaults the machine label to the computer name and only
56
- asks you to set the new computer's local clauth password.
57
-
58
- The enrollment code does not copy repo credentials into the script. It lets the
59
- new hardware-bound `machine_hash` join the shared Supabase Vault once. After the
60
- code is redeemed, it cannot be used again.
38
+ Then verify:
39
+ ```bash
40
+ clauth test # → PASS
41
+ clauth status # → 12 services, all NO KEY
42
+ ```
43
+
44
+ ### Add A New Computer
45
+
46
+ On an old computer where clauth is already registered:
47
+
48
+ ```bash
49
+ clauth enroll --label "Dave-New-Laptop"
50
+ ```
51
+
52
+ This creates a one-time enrollment code tied to the same `install_id` and writes
53
+ a one-time PowerShell setup script. Move that script to the new computer and run
54
+ it. The script installs clauth, enrolls the computer, installs startup, then
55
+ deletes itself. Setup defaults the machine label to the computer name and only
56
+ asks you to set the new computer's local clauth password.
57
+
58
+ The enrollment code does not copy repo credentials into the script. It lets the
59
+ new hardware-bound `machine_hash` join the shared Supabase Vault once. After the
60
+ code is redeemed, it cannot be used again.
61
61
 
62
62
  ---
63
63
 
@@ -88,13 +88,13 @@ clauth get github
88
88
  ## Command Reference
89
89
 
90
90
  ```
91
- clauth install Provision Supabase + install Claude skill
92
- clauth setup Register this machine with the vault
93
- clauth enroll Create one-time code to add another computer
94
- clauth status All services + state
95
- clauth search <query> Find services by name, project, description, or type
96
- clauth search <query> --addresses
97
- Also search redacted address hints (may read multiple secrets)
91
+ clauth install Provision Supabase + install Claude skill
92
+ clauth setup Register this machine with the vault
93
+ clauth enroll Create one-time code to add another computer
94
+ clauth status All services + state
95
+ clauth search <query> Find services by name, project, description, or type
96
+ clauth search <query> --addresses
97
+ Also search redacted address hints (may read multiple secrets)
98
98
  clauth test Verify connection
99
99
 
100
100
  clauth write key <service> Store a credential
@@ -137,81 +137,98 @@ Nothing stored locally. Password never persisted. Machine hash is one-way only.
137
137
 
138
138
  clauth runs as an HTTP daemon on `http://127.0.0.1:52437`. The daemon provides:
139
139
 
140
- - **Web UI** — unlock vault, manage services, configure mounts
141
- - **REST API** — `GET /knowledge`, `GET /status`, `GET /v/<service>`, `GET /ping`, `POST /restart`, `GET /shutdown`
142
- - **MCP server** — Model Context Protocol for Claude Code and claude.ai
143
- - **Cloudflare Tunnel** — exposes MCP endpoints publicly for claude.ai connectors
144
-
145
- Start: `clauth serve start` (starts locked, auto-opens browser for unlock).
146
-
147
- Full daemon operations reference: see `regen-root/.claude/rules/clauth.md`.
148
-
149
- ### Safe Metadata Cache
150
-
151
- Agents and scripts must discover services through metadata endpoints, not by
152
- walking every secret endpoint. The daemon caches service metadata for 30 seconds:
153
-
154
- ```bash
155
- curl -s http://127.0.0.1:52437/knowledge # sanitized, agent-safe metadata
156
- curl -s http://127.0.0.1:52437/list-services # names only
157
- curl -s http://127.0.0.1:52437/status # full daemon metadata, cached
158
- ```
159
-
160
- `/knowledge` returns service names, labels, key types, enabled state, project,
161
- description, timestamps, and `has_key`. It never returns raw secrets or Vault
162
- secret names. Use `GET /v/<service>` only for the one exact secret needed by the
163
- next command. Do not bulk-fetch every service.
140
+ - **Web UI** — unlock vault, manage services, configure mounts
141
+ - **REST API** — `GET /knowledge`, `GET /status`, `GET /v/<service>`, `GET /ping`, `POST /restart`, `GET /shutdown`
142
+ - **MCP server** — Model Context Protocol for Claude Code and claude.ai
143
+ - **Cloudflare Tunnel** — exposes MCP endpoints publicly for claude.ai connectors
144
+
145
+ Start: `clauth serve start` (starts locked, auto-opens browser for unlock).
146
+
147
+ Full daemon operations reference: see `regen-root/.claude/rules/clauth.md`.
148
+
149
+ ### Safe Metadata Cache
150
+
151
+ Agents and scripts must discover services through metadata endpoints, not by
152
+ walking every secret endpoint. The daemon caches service metadata for 30 seconds:
153
+
154
+ ```bash
155
+ curl -s http://127.0.0.1:52437/knowledge # sanitized, agent-safe metadata
156
+ curl -s http://127.0.0.1:52437/list-services # names only
157
+ curl -s http://127.0.0.1:52437/status # full daemon metadata, cached
158
+ ```
159
+
160
+ `/knowledge` returns service names, labels, key types, enabled state, project,
161
+ description, timestamps, and `has_key`. It never returns raw secrets or Vault
162
+ secret names. Use `GET /v/<service>` only for the one exact secret needed by the
163
+ next command. Do not bulk-fetch every service.
164
164
 
165
165
  ---
166
166
 
167
- ## MCP Server — 5 Namespaces, 63 Tools
168
-
169
- clauth is the single MCP interface for all local tools. One process, namespaced paths:
170
-
171
- | Path | Namespace | Tools | Description |
172
- |------|-----------|-------|-------------|
173
- | `/clauth` | `clauth_*` + runtime helpers | 23 | Credential vault operations, safe metadata cache, and agent runtime helpers |
174
- | `/gws` | `gws_*` | 6 | Google Workspace (Gmail, Calendar, Drive) |
175
- | `/fs` | `fs_*` | 20 | Filesystem plus guarded git/local-branch tools |
176
- | `/chitchat` | `chitchat_*` | 7 | Collaboration relay sessions |
177
- | `/codevelop` | `codevelop_*` | 7 | Peer development sessions |
178
- | `/mcp` | all | 63 | All namespaces combined (Claude Code) |
179
-
180
- The default live `/clauth` surface includes 13 credential tools plus
181
- `call_agent`, `monkey_dispatch`, `handoff_start`, `terminal_*`, and `channel_*`
182
- runtime helpers. Admin write tools such as enable/disable/project/token actions
183
- are gated by write-mode.
184
-
185
- ### clauth MCP Usage
186
-
187
- Use `clauth_knowledge` or `clauth_status` for discovery. They use cached
188
- metadata and never retrieve raw secrets. `clauth_search` is metadata-only by
189
- default; pass `addresses: true` only when you intentionally need redacted address
190
- hints from connstrings/fileserver/oauth secrets. `clauth_get` is for one exact
191
- secret. `clauth_inject` refuses more than five services unless `allow_many: true`
192
- is explicitly supplied, to prevent accidental rate-limit lockouts from bulk
193
- secret sweeps.
167
+ ## MCP Server — 5 Namespaces, 63 Tools
168
+
169
+ clauth is the single MCP interface for all local tools. One process, namespaced paths:
170
+
171
+ | Path | Namespace | Tools | Description |
172
+ |------|-----------|-------|-------------|
173
+ | `/clauth` | `clauth_*` + runtime helpers | 23 | Credential vault operations, safe metadata cache, and agent runtime helpers |
174
+ | `/gws` | `gws_*` | 6 | Google Workspace (Gmail, Calendar, Drive) |
175
+ | `/fs` | `fs_*` | 20 | Filesystem plus guarded git/local-branch tools |
176
+ | `/chitchat` | `chitchat_*` | 7 | Collaboration relay sessions |
177
+ | `/codevelop` | `codevelop_*` | 7 | Peer development sessions |
178
+ | `/mcp` | all | 63 | All namespaces combined (Claude Code) |
179
+
180
+ The default live `/clauth` surface includes 13 credential tools plus
181
+ `call_agent`, `monkey_dispatch`, `handoff_start`, `terminal_*`, and `channel_*`
182
+ runtime helpers. Admin write tools such as enable/disable/project/token actions
183
+ are gated by write-mode.
184
+
185
+ ### TinTin Agent Setup
186
+
187
+ clauth owns the local TinTin settings and isolated agent setup contract used by
188
+ app sidebars and the standalone TinTin console.
189
+
190
+ | Method | Route | Purpose |
191
+ | --- | --- | --- |
192
+ | `GET` | `/tintin/settings` | Read persisted TinTin app/agent/sidebar/dispatch/co-develop settings. |
193
+ | `PUT` | `/tintin/settings` | Save TinTin app/agent/sidebar/dispatch/co-develop settings. |
194
+ | `GET` | `/tintin/settings/ui` | Browser settings page for operators, with sections for Agent Setup, Agent Defaults, Sidebar Apps, Blackboard Dispatch, Co-develop Relay, and stored agent sessions. |
195
+ | `POST` | `/tintin/agent-sessions` | Create or reuse an isolated agent cwd, normally a git worktree. |
196
+
197
+ The agent-session response includes the requested agent/runtime/model, repo
198
+ root, isolated `cwd`, worktree path, branch, launch mode, and launch command.
199
+ This route prepares the proper Codex/Claude isolation path; separate supervisor
200
+ code is still responsible for long-running process parking and wake/resume.
201
+
202
+ ### clauth MCP Usage
203
+
204
+ Use `clauth_knowledge` or `clauth_status` for discovery. They use cached
205
+ metadata and never retrieve raw secrets. `clauth_search` is metadata-only by
206
+ default; pass `addresses: true` only when you intentionally need redacted address
207
+ hints from connstrings/fileserver/oauth secrets. `clauth_get` is for one exact
208
+ secret. `clauth_inject` refuses more than five services unless `allow_many: true`
209
+ is explicitly supplied, to prevent accidental rate-limit lockouts from bulk
210
+ secret sweeps.
194
211
 
195
212
  ### FS Tools
196
213
 
197
- 20 filesystem tools with path-jail security:
198
- - `fs_read`, `fs_write`, `fs_stat`, `fs_append`, `fs_write_chunk`, `fs_ingest_url`, `fs_import_git_files`, `fs_list`, `fs_grep`, `fs_glob`, `fs_delete`, `fs_mkdir`, `fs_edit`, `fs_move`, `fs_copy`, `fs_mounts`, `fs_repo_status`, `fs_use_branch`, `fs_commit`, `fs_diff`
214
+ 20 filesystem tools with path-jail security:
215
+ - `fs_read`, `fs_write`, `fs_stat`, `fs_append`, `fs_write_chunk`, `fs_ingest_url`, `fs_import_git_files`, `fs_list`, `fs_grep`, `fs_glob`, `fs_delete`, `fs_mkdir`, `fs_edit`, `fs_move`, `fs_copy`, `fs_mounts`, `fs_repo_status`, `fs_use_branch`, `fs_commit`, `fs_diff`
199
216
  - Uses `node:fs/promises` (async), `@vscode/ripgrep` (shipped binary), `fast-glob`
200
217
  - Permission flags per mount: `r` (read), `w` (write), `d` (delete)
201
218
  - Mount config stored as "fileserver" service type in vault — only configurable through web UI
202
- - Large writes should use `fs_write_chunk`; cloud-to-local transfer should use `fs_ingest_url`; guarded appends should pass `expected_sha256` from `fs_stat`
203
- - Durable new files authored by Claude.ai in GitHub should use `fs_import_git_files` so the local dirty monorepo fetches and restores only named paths without `git pull`
204
-
205
- ### Collaboration Tools
206
-
207
- Chitchat tools: `chitchat_start`, `chitchat_list`, `chitchat_send`, `chitchat_recv`, `chitchat_reply`, `chitchat_poll`, `chitchat_stop`
208
-
209
- Codevelop tools: `codevelop_start`, `codevelop_join`, `codevelop_send`, `codevelop_poll`, `codevelop_status`, `codevelop_stream`, `codevelop_stop`
210
-
211
- ### GWS Tools
212
-
213
- 6 Google Workspace tools: `gws_run`, `gws_gmail_list`, `gws_gmail_read`, `gws_gmail_send`, `gws_calendar_list`, `gws_drive_list`
214
- - Calls `gws` CLI via `execSync` with `shell: 'bash'` (fixes Windows cmd.exe JSON quoting)
219
+ - Large writes should use `fs_write_chunk`; cloud-to-local transfer should use `fs_ingest_url`; guarded appends should pass `expected_sha256` from `fs_stat`
220
+ - Durable new files authored by Claude.ai in GitHub should use `fs_import_git_files` so the local dirty monorepo fetches and restores only named paths without `git pull`
221
+
222
+ ### Collaboration Tools
223
+
224
+ Chitchat tools: `chitchat_start`, `chitchat_list`, `chitchat_send`, `chitchat_recv`, `chitchat_reply`, `chitchat_poll`, `chitchat_stop`
225
+
226
+ Codevelop tools: `codevelop_start`, `codevelop_join`, `codevelop_send`, `codevelop_poll`, `codevelop_status`, `codevelop_stream`, `codevelop_stop`
227
+
228
+ ### GWS Tools
229
+
230
+ 6 Google Workspace tools: `gws_run`, `gws_gmail_list`, `gws_gmail_read`, `gws_gmail_send`, `gws_calendar_list`, `gws_drive_list`
231
+ - Calls `gws` CLI via `execSync` with `shell: 'bash'` (fixes Windows cmd.exe JSON quoting)
215
232
 
216
233
  ---
217
234
 
@@ -235,11 +252,11 @@ Full OAuth 2.1 protocol implementation is present for future use when Anthropic
235
252
 
236
253
  | Connector | URL |
237
254
  |-----------|-----|
238
- | clauth | `https://clauth.regendevcorp.com/clauth` |
239
- | gws | `https://clauth.regendevcorp.com/gws` |
240
- | chitchat | `https://clauth.regendevcorp.com/chitchat` |
241
- | codevelop | `https://clauth.regendevcorp.com/codevelop` |
242
- | fs | `https://fs.regendevcorp.com/fs` |
255
+ | clauth | `https://clauth.regendevcorp.com/clauth` |
256
+ | gws | `https://clauth.regendevcorp.com/gws` |
257
+ | chitchat | `https://clauth.regendevcorp.com/chitchat` |
258
+ | codevelop | `https://clauth.regendevcorp.com/codevelop` |
259
+ | fs | `https://fs.regendevcorp.com/fs` |
243
260
 
244
261
  ---
245
262
 
@@ -252,9 +269,9 @@ Full OAuth 2.1 protocol implementation is present for future use when Anthropic
252
269
 
253
270
  ## Testing
254
271
 
255
- ```bash
256
- node test-tools.mjs # MCP tool execution smoke tests
257
- ```
272
+ ```bash
273
+ node test-tools.mjs # MCP tool execution smoke tests
274
+ ```
258
275
 
259
276
  Tests actual MCP tool calls (not just OAuth + listing).
260
277