@bman654/clodex 2.1.0 → 2.1.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 +32 -10
- package/dist/{chunk-QLGIKUKC.js → chunk-OVO6OUZG.js} +409 -280
- package/dist/chunk-OVO6OUZG.js.map +1 -0
- package/dist/claude-wrapper.js +10 -21
- package/dist/claude-wrapper.js.map +1 -1
- package/dist/cli.js +1881 -410
- package/dist/cli.js.map +1 -1
- package/docs/background-agents.md +5 -2
- package/docs/credential-helpers.md +76 -0
- package/package.json +1 -1
- package/dist/chunk-QLGIKUKC.js.map +0 -1
package/README.md
CHANGED
|
@@ -214,17 +214,39 @@ clodex --version # version
|
|
|
214
214
|
## Configuration
|
|
215
215
|
|
|
216
216
|
- Config home: `~/.clodex` (override with `CLODEX_HOME`). On first run, config is migrated automatically from a legacy `~/.relay-ai` directory if present; the legacy directory is never modified.
|
|
217
|
-
- The config-home filesystem
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
- The config-home filesystem and the native account home must support hard
|
|
218
|
+
links because registry and credential locks are published atomically. Keep
|
|
219
|
+
`CLODEX_HOME` and `~/.clodex/credential-locks` on local filesystems rather
|
|
220
|
+
than FAT, exFAT, or a network mount that rejects hard links. An abrupt process
|
|
221
|
+
kill during lock publication can leave a `*.lock.*.tmp` file; it does not
|
|
222
|
+
block later lock acquisition and can be removed when no Clodex process is
|
|
222
223
|
running. A canonical `providers.json.lock` whose recorded PID is no longer
|
|
223
|
-
running is reclaimed automatically on the next lock acquisition. If it
|
|
224
|
-
while that PID is active, stop every Clodex process and verify the
|
|
225
|
-
before removing the lock manually. Never remove the canonical
|
|
226
|
-
Clodex process is active.
|
|
227
|
-
- Credentials live in the OS credential store (Keychain / Windows Credential
|
|
224
|
+
running is reclaimed automatically on the next lock acquisition. If it
|
|
225
|
+
remains while that PID is active, stop every Clodex process and verify the
|
|
226
|
+
recorded PID before removing the lock manually. Never remove the canonical
|
|
227
|
+
lock while a Clodex process is active.
|
|
228
|
+
- Credentials live in the OS credential store (Keychain / Windows Credential
|
|
229
|
+
Manager / Secret Service). The `clodex` service holds the main value or
|
|
230
|
+
published marker; `clodex-chunks` holds current long-credential chunks;
|
|
231
|
+
`clodex-journal` holds crash-recovery metadata and a deletion marker; and
|
|
232
|
+
`clodex-deleted` holds a redundant non-secret deletion guard. A
|
|
233
|
+
`clodex-state-key` entry protects each account's recovery metadata. Use
|
|
234
|
+
Clodex provider removal instead of deleting these entries individually.
|
|
235
|
+
Authenticated encrypted per-account managed-state markers live under the
|
|
236
|
+
native OS account home at `~/.clodex/keyring-state`; before each journal
|
|
237
|
+
write they record the exact recovery intent so a retry can replay and verify
|
|
238
|
+
it. The encryption key remains in the OS credential store, so the filesystem
|
|
239
|
+
marker alone cannot be used to test credential guesses. The marker also
|
|
240
|
+
prevents a temporarily unavailable keyring journal from being mistaken for
|
|
241
|
+
an absent one. If the OS credential store was completely reset, Clodex
|
|
242
|
+
permits direct reauthorization only after sentinel checks prove the main and
|
|
243
|
+
chunk namespaces are empty. Hidden, locked, or partially restored state
|
|
244
|
+
remains fail-closed. Credential mutation locks live beside that state at
|
|
245
|
+
`~/.clodex/credential-locks`. Both paths are independent of `CLODEX_HOME` and
|
|
246
|
+
runtime or temporary-directory environment overrides. This keeps concurrent
|
|
247
|
+
processes serialized when they use different config homes. Set
|
|
248
|
+
`CLODEX_CREDENTIAL_HELPER` to an absolute executable path to use an external
|
|
249
|
+
secure store instead; see [credential helpers](docs/credential-helpers.md).
|
|
228
250
|
- Proxied routes forward configured provider headers for API-key and OAuth authentication. Anonymous routes preserve non-credential headers while removing authorization, API-key, cookie, token, secret, and credential-bearing header names before dispatch.
|
|
229
251
|
- `CLODEX_CLAUDE_PATH` overrides Claude Code binary discovery.
|
|
230
252
|
- **Outbound proxy:** when `HTTP_PROXY`/`HTTPS_PROXY` (and optionally `NO_PROXY`) are set in clodex's environment, all clodex-originated network calls honor them — OAuth sign-in and token refresh, model-list and models.dev refreshes, upstream OpenAI API calls, and the ChatGPT/Codex OAuth WebSocket transport (tunneled via HTTP CONNECT).
|