@lifeaitools/clauth 1.6.0 → 1.7.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
@@ -72,20 +72,20 @@ clauth get github
72
72
  ```
73
73
  clauth install Provision Supabase + install Claude skill
74
74
  clauth setup Register this machine with the vault
75
- clauth status All services + state
76
- clauth search <query> Find services by name, project, description, or redacted address
77
- clauth test Verify connection
75
+ clauth status All services + state
76
+ clauth search <query> Find services by name, project, description, or redacted address
77
+ clauth test Verify connection
78
78
 
79
79
  clauth write key <service> Store a credential
80
80
  clauth write pw Change password
81
81
  clauth enable <svc|all> Activate service
82
82
  clauth disable <svc|all> Suspend service
83
- clauth get <service> Retrieve a key
84
- clauth npm whoami Verify npm token without PowerShell secret plumbing
85
- clauth npm sync-github-secret LIFEAI/rdc-skills
86
- Update GitHub NPM_TOKEN from clauth
87
-
88
- clauth add service <n> Register new service
83
+ clauth get <service> Retrieve a key
84
+ clauth npm whoami Verify npm token without PowerShell secret plumbing
85
+ clauth npm sync-github-secret LIFEAI/rdc-skills
86
+ Update GitHub NPM_TOKEN from clauth
87
+
88
+ clauth add service <n> Register new service
89
89
  clauth remove service <n> Remove service
90
90
  clauth revoke <svc|all> Delete key (destructive)
91
91
  ```
@@ -127,7 +127,7 @@ Full daemon operations reference: see `regen-root/.claude/rules/clauth.md`.
127
127
 
128
128
  ---
129
129
 
130
- ## MCP Server — 3 Namespaces, 32 Tools
130
+ ## MCP Server — 3 Namespaces, 32 Tools
131
131
 
132
132
  clauth is the single MCP interface for all local tools. One process, namespaced paths:
133
133
 
@@ -135,18 +135,18 @@ clauth is the single MCP interface for all local tools. One process, namespaced
135
135
  |------|-----------|-------|-------------|
136
136
  | `/clauth` | `clauth_*` | 13 | Credential vault operations |
137
137
  | `/gws` | `gws_*` | 6 | Google Workspace (Gmail, Calendar, Drive) |
138
- | `/fs` | `fs_*` | 13 | Filesystem (read, write, append, chunked write, URL ingest, Git import, stat, grep, glob, delete, mkdir, mounts) |
139
- | `/mcp` | all | 32 | All namespaces combined (Claude Code) |
140
-
141
- ### FS Tools
142
-
143
- 13 filesystem tools with path-jail security:
144
- - `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_mounts`
145
- - Uses `node:fs/promises` (async), `@vscode/ripgrep` (shipped binary), `fast-glob`
146
- - Permission flags per mount: `r` (read), `w` (write), `d` (delete)
147
- - Mount config stored as "fileserver" service type in vault — only configurable through web UI
148
- - 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`
149
- - 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`
138
+ | `/fs` | `fs_*` | 13 | Filesystem (read, write, append, chunked write, URL ingest, Git import, stat, grep, glob, delete, mkdir, mounts) |
139
+ | `/mcp` | all | 32 | All namespaces combined (Claude Code) |
140
+
141
+ ### FS Tools
142
+
143
+ 13 filesystem tools with path-jail security:
144
+ - `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_mounts`
145
+ - Uses `node:fs/promises` (async), `@vscode/ripgrep` (shipped binary), `fast-glob`
146
+ - Permission flags per mount: `r` (read), `w` (write), `d` (delete)
147
+ - Mount config stored as "fileserver" service type in vault — only configurable through web UI
148
+ - 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`
149
+ - 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`
150
150
 
151
151
  ### GWS Tools
152
152
 
@@ -200,15 +200,32 @@ Tests actual MCP tool calls (not just OAuth + listing).
200
200
 
201
201
  ## Releasing a New Version (maintainers)
202
202
 
203
+ clauth is a **private** repo, so we do **not** use GitHub Actions to publish —
204
+ Actions bill for minutes on private repos. (Reserve Actions for *public* repos,
205
+ where they're free.) Publishing is **webhook-driven**, with a manual fallback.
206
+
203
207
  ```bash
204
208
  # 1. Bump version in package.json
205
- # 2. Commit and tag
206
- git tag v1.5.38
209
+ # 2. Commit + tag + push — the tag push triggers the publish webhook
210
+ git add -A && git commit -m "feat(...): description (vX.Y.Z)"
211
+ git tag vX.Y.Z
207
212
  git push && git push --tags
208
- # GitHub Actions publishes automatically via Trusted Publishing
213
+
214
+ # 3. Verify it published (direct registry check — bypasses npm's cache)
215
+ curl -s https://registry.npmjs.org/@lifeaitools/clauth \
216
+ | python -c "import sys,json;print(json.load(sys.stdin)['dist-tags'])"
217
+
218
+ # 4. Fallback — if the webhook did NOT publish (registry still shows the old
219
+ # version), publish manually with the vault npm token:
220
+ clauth npm set-local # writes ~/.npmrc auth from the vault 'npm' service
221
+ npm publish --access public
209
222
  ```
210
223
 
211
- **NEVER** commit a version bump without tagging — the tag triggers npm CI.
224
+ **NEVER** commit a version bump without tagging — the tag push is what triggers
225
+ the publish webhook. If the webhook fails silently, the usual cause is a **stale
226
+ npm token on the webhook receiver** (it holds an env copy, not the live vault
227
+ value) — re-sync the receiver's token to the current vault `npm` service, then
228
+ use the manual publish above to unblock the release.
212
229
 
213
230
  ---
214
231