audrey 2.0.0 → 2.1.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/CHANGELOG.md +63 -0
- package/README.md +64 -60
- package/SECURITY.md +2 -3
- package/dist/mcp-server/config.d.ts +1 -1
- package/dist/mcp-server/config.d.ts.map +1 -1
- package/dist/mcp-server/config.js +31 -3
- package/dist/mcp-server/config.js.map +1 -1
- package/dist/mcp-server/index.d.ts +6 -2
- package/dist/mcp-server/index.d.ts.map +1 -1
- package/dist/mcp-server/index.js +147 -16
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tool-schemas.d.ts +46 -0
- package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
- package/dist/mcp-server/tool-schemas.js +20 -1
- package/dist/mcp-server/tool-schemas.js.map +1 -1
- package/dist/src/action-key.d.ts.map +1 -1
- package/dist/src/action-key.js +7 -7
- package/dist/src/action-key.js.map +1 -1
- package/dist/src/audrey.d.ts +7 -4
- package/dist/src/audrey.d.ts.map +1 -1
- package/dist/src/audrey.js +210 -57
- package/dist/src/audrey.js.map +1 -1
- package/dist/src/autopilot.d.ts +1 -1
- package/dist/src/autopilot.d.ts.map +1 -1
- package/dist/src/autopilot.js +47 -224
- package/dist/src/autopilot.js.map +1 -1
- package/dist/src/capsule.d.ts +4 -17
- package/dist/src/capsule.d.ts.map +1 -1
- package/dist/src/capsule.js +21 -20
- package/dist/src/capsule.js.map +1 -1
- package/dist/src/chatgpt-auth.d.ts +77 -0
- package/dist/src/chatgpt-auth.d.ts.map +1 -0
- package/dist/src/chatgpt-auth.js +887 -0
- package/dist/src/chatgpt-auth.js.map +1 -0
- package/dist/src/chatgpt-llm.d.ts +18 -0
- package/dist/src/chatgpt-llm.d.ts.map +1 -0
- package/dist/src/chatgpt-llm.js +157 -0
- package/dist/src/chatgpt-llm.js.map +1 -0
- package/dist/src/consolidate.d.ts.map +1 -1
- package/dist/src/consolidate.js +30 -2
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/controller.d.ts +7 -1
- package/dist/src/controller.d.ts.map +1 -1
- package/dist/src/controller.js +88 -14
- package/dist/src/controller.js.map +1 -1
- package/dist/src/db.d.ts +1 -0
- package/dist/src/db.d.ts.map +1 -1
- package/dist/src/db.js +126 -45
- package/dist/src/db.js.map +1 -1
- package/dist/src/embedding.d.ts.map +1 -1
- package/dist/src/embedding.js +14 -1
- package/dist/src/embedding.js.map +1 -1
- package/dist/src/encode.d.ts +14 -0
- package/dist/src/encode.d.ts.map +1 -1
- package/dist/src/encode.js +56 -17
- package/dist/src/encode.js.map +1 -1
- package/dist/src/events.d.ts +17 -0
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +130 -3
- package/dist/src/events.js.map +1 -1
- package/dist/src/export.d.ts +1 -0
- package/dist/src/export.d.ts.map +1 -1
- package/dist/src/export.js +9 -2
- package/dist/src/export.js.map +1 -1
- package/dist/src/forget.d.ts.map +1 -1
- package/dist/src/forget.js +6 -2
- package/dist/src/forget.js.map +1 -1
- package/dist/src/fts.d.ts +2 -2
- package/dist/src/fts.d.ts.map +1 -1
- package/dist/src/fts.js +4 -4
- package/dist/src/fts.js.map +1 -1
- package/dist/src/grounding.d.ts +1 -1
- package/dist/src/grounding.d.ts.map +1 -1
- package/dist/src/grounding.js +24 -11
- package/dist/src/grounding.js.map +1 -1
- package/dist/src/hybrid-recall.d.ts +5 -8
- package/dist/src/hybrid-recall.d.ts.map +1 -1
- package/dist/src/hybrid-recall.js +25 -57
- package/dist/src/hybrid-recall.js.map +1 -1
- package/dist/src/import.d.ts +40 -3
- package/dist/src/import.d.ts.map +1 -1
- package/dist/src/import.js +101 -42
- package/dist/src/import.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/llm-shared.d.ts +10 -0
- package/dist/src/llm-shared.d.ts.map +1 -0
- package/dist/src/llm-shared.js +20 -0
- package/dist/src/llm-shared.js.map +1 -0
- package/dist/src/llm.d.ts +2 -1
- package/dist/src/llm.d.ts.map +1 -1
- package/dist/src/llm.js +13 -22
- package/dist/src/llm.js.map +1 -1
- package/dist/src/migrate.d.ts.map +1 -1
- package/dist/src/migrate.js +34 -40
- package/dist/src/migrate.js.map +1 -1
- package/dist/src/preflight.d.ts +2 -0
- package/dist/src/preflight.d.ts.map +1 -1
- package/dist/src/preflight.js +5 -1
- package/dist/src/preflight.js.map +1 -1
- package/dist/src/project-memory.d.ts +14 -0
- package/dist/src/project-memory.d.ts.map +1 -0
- package/dist/src/project-memory.js +135 -0
- package/dist/src/project-memory.js.map +1 -0
- package/dist/src/project.d.ts +2 -0
- package/dist/src/project.d.ts.map +1 -1
- package/dist/src/project.js +12 -0
- package/dist/src/project.js.map +1 -1
- package/dist/src/promote.d.ts.map +1 -1
- package/dist/src/promote.js +2 -26
- package/dist/src/promote.js.map +1 -1
- package/dist/src/recall-scoring.d.ts +14 -0
- package/dist/src/recall-scoring.d.ts.map +1 -0
- package/dist/src/recall-scoring.js +167 -0
- package/dist/src/recall-scoring.js.map +1 -0
- package/dist/src/recall.d.ts.map +1 -1
- package/dist/src/recall.js +31 -168
- package/dist/src/recall.js.map +1 -1
- package/dist/src/rollback.d.ts +12 -0
- package/dist/src/rollback.d.ts.map +1 -1
- package/dist/src/rollback.js +118 -25
- package/dist/src/rollback.js.map +1 -1
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/routes.js +102 -33
- package/dist/src/routes.js.map +1 -1
- package/dist/src/rules-compiler.d.ts +4 -0
- package/dist/src/rules-compiler.d.ts.map +1 -1
- package/dist/src/rules-compiler.js +34 -2
- package/dist/src/rules-compiler.js.map +1 -1
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +96 -38
- package/dist/src/server.js.map +1 -1
- package/dist/src/shell-command.d.ts.map +1 -1
- package/dist/src/shell-command.js +24 -7
- package/dist/src/shell-command.js.map +1 -1
- package/dist/src/success-checks.d.ts +41 -0
- package/dist/src/success-checks.d.ts.map +1 -0
- package/dist/src/success-checks.js +164 -0
- package/dist/src/success-checks.js.map +1 -0
- package/dist/src/types.d.ts +7 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +23 -9
- package/dist/src/validate.js.map +1 -1
- package/package.json +7 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.1.0 - 2026-10-28
|
|
4
|
+
|
|
5
|
+
### Guard can check what an action returned
|
|
6
|
+
|
|
7
|
+
- `beforeAction` accepts `successChecks`: up to 16 comparisons, each naming a JSON Pointer into the output that `afterAction` will receive and the scalar value found there must equal. The receipt stores the compiled contract with expected values as SHA-256 fingerprints rather than plaintext, so the expectation is fixed before the action runs and a later `afterAction` cannot replace it. A reported success whose checks mismatch is recorded as `failed`; one whose checks cannot be evaluated (value missing, string that is not JSON when `parseJson` is set) is recorded as `unknown`; a reported failure stays failed, and passing checks never promote an unknown execution outcome to success. Blocked and skipped actions do not run the checks. MCP `memory_guard_before` takes `success_checks`, REST `POST /v1/guard/before` takes `success_checks` or `successChecks`, and `GuardOutcome` gains `reported_outcome` and `verification`. The contract and its limits are in `docs/SUCCESS_CHECKS.md`.
|
|
8
|
+
- A failed check stays active for the exact-failure window until a later success passes the same contract. A retry that omits the checks, or declares different ones, does not clear it or hide it; the failure stands until a success passes the original contract or the exact-failure window ends. The older `MemoryController.beforeAction(AgentAction)` interface rejects `successChecks`; use `Audrey.beforeAction` and `Audrey.afterAction`.
|
|
9
|
+
- `afterAction` records the outcome, the post-event, and any evidence feedback inside one immediate transaction and emits its events after the commit. Two hook processes closing the same receipt at once could previously both read "no outcome yet" and both write one, applying the same evidence feedback twice. It also rejects an outcome outside `succeeded`, `failed`, `blocked`, `skipped`, and `unknown` instead of storing it, and it sets `read_only` on the recorded outcome from the receipt rather than from caller metadata, so a failure cannot be kept out of failure learning by labelling it read-only.
|
|
10
|
+
- Autopilot passes an explicit `unknown` outcome through instead of treating a zero exit code as success, learns a failure from the persisted outcome's error summary so a verification failure behind a clean exit still produces a failure memory, and the legacy controller path no longer writes a failure memory for a read-only command's non-zero exit.
|
|
11
|
+
- The exact-action fingerprint keeps the command's case and whitespace. Folding both meant `rm -rf build` and `rm -rf BUILD` shared one failure history on a case-sensitive filesystem, and quoted arguments lost their spacing. Autopilot keys, which fingerprint the host's tool-input digest, are unchanged. Non-digest keys recorded through the SDK, MCP, or REST before this release do not match the exact-repeat check after upgrading; those failures still surface through the recent-failure path, which matches by what a command runs.
|
|
12
|
+
|
|
13
|
+
### Reflection and consolidation on a ChatGPT subscription
|
|
14
|
+
|
|
15
|
+
- `AUDREY_LLM_PROVIDER=chatgpt` runs reflection and consolidation through OpenAI's Responses API with a signed-in ChatGPT plan instead of an API key. `audrey auth login` completes the browser sign-in (`--no-browser` prints the URL instead of opening it; `--consent` asks for plan usage when it was not granted the first time), and `audrey auth status`, `accounts`, `select --account <ID>`, and `logout` manage saved registrations. ID tokens are verified against OpenAI's published keys (new dependency: `jose`). Credentials live in `AUDREY_CHATGPT_AUTH_DIR` (default `~/.audrey/auth`, created `0700` with `0600` files), outside the memory database, and `status` and `accounts` report connection state without printing tokens. The provider confirms the selected model is available to the account before using a new token, never substitutes a different model, and never falls back to API billing. Requests are sent with `store: false`, and the first request in a process prints the same one-line stderr notice the API providers print before memory content leaves the machine. On Windows the owner-only ACL is applied through the .NET access-control API rather than `Set-Acl`, so it needs neither an elevated shell nor a loadable PowerShell module.
|
|
16
|
+
- `AUDREY_LLM_REASONING_EFFORT` (`low`, `medium`, `high`, `xhigh`, or `max`) sets the reasoning effort for the `chatgpt` provider, which defaults to `medium`, and for the `openai` provider, which sends no `reasoning_effort` unless the variable is set, since chat-tuned and older reasoning models reject the parameter. The `openai` provider's default model moves from `gpt-4o` to `gpt-6.1-sol`, and its `max_completion_tokens` handling now covers `gpt-6` models.
|
|
17
|
+
- Autopilot hook commands accept `--llm-reasoning-effort`, `--chatgpt-auth-dir`, and `--chatgpt-account`, and `audrey install` writes them from the matching environment variables.
|
|
18
|
+
|
|
19
|
+
### Promote
|
|
20
|
+
|
|
21
|
+
- Promoted rule files are named by memory identity (`.claude/rules/audrey-sem-<hash>.md` and `audrey-proc-<hash>.md`) rather than by a slug of the title. Two memories whose titles slugified the same, or that differed only in case on a case-insensitive filesystem, could previously land in one file, and a memory id from an imported snapshot never becomes part of a path.
|
|
22
|
+
- An existing rule file is preserved, not overwritten. Promotion reads the generated provenance header at the new name and at the older slug name, including the numbered variants the old renderer wrote; a file carrying this memory's provenance is recorded as already promoted and left as it is, so a rule someone edited survives a re-run. A file at the destination with different provenance is an error instead of an overwrite. New files are published by hard-linking a private temporary file into place, which fails rather than replaces when something else wrote the path first, so two promotions racing cannot clobber each other. On a filesystem without hard links (exFAT, some network and container mounts) the file is created with an exclusive open instead, which keeps the same no-overwrite guarantee. `overwritten` in the result is always `false` now.
|
|
23
|
+
- Promotions are recorded in a ledger inside the store (`audrey_config` keys prefixed `promotion_ledger:`) as well as in the activity log. The event retention sweep deletes old `Promotion` events, which made the candidate search forget what had been promoted and offer it again; the sweep now copies each promotion into the ledger before deleting its event, and `memory_export` and `memory_import` round-trip the ledger.
|
|
24
|
+
- The footer of a generated rule no longer points at an `audrey forget` command that does not exist. It names the `memory_forget` tool and the SDK call, and says that retracting the memory does not delete the file.
|
|
25
|
+
|
|
26
|
+
### Recall
|
|
27
|
+
|
|
28
|
+
- Keyword candidates are scored the same way as vector candidates. A semantic or procedural memory that only full-text search found used to get a reduced confidence (its support ratio alone, with no age, interference, or salience), so hybrid ranking fused two different scales; both paths now run the same confidence and provenance computation, and `min_confidence` applies uniformly during fusion.
|
|
29
|
+
- Full-text search includes `context_dependent` semantic and procedural memories, and `dormant` ones when `include_dormant` is set. It previously matched only `active` rows, so a memory the vector path would return could be invisible to a keyword query for the same words.
|
|
30
|
+
- The post-encode contradiction check finds the nearest semantic memory with a bounded nearest-neighbour query instead of computing a distance to every one of the agent's semantic rows and sorting them. When the nearest vector belongs to a retired memory it runs one more indexed query restricted to live rows.
|
|
31
|
+
- `greeting` excludes superseded episodes from its recent, identity, unresolved, and affect summaries, and `encode` with `supersedes` and `resolveTruth` drop or restore the affected row's vector immediately rather than at the next sweep.
|
|
32
|
+
- `recall` requires an integer `limit` of at least 1 (the MCP schema now rejects fractions), and the local embedding provider rejects a `batchSize` that is not a positive integer.
|
|
33
|
+
|
|
34
|
+
### Encode, import, and consolidation
|
|
35
|
+
|
|
36
|
+
- `encodeBatch` validates every item before writing any of them. The context, causal, and supersedes checks lived only in the single-item path, so a batch with a bad later item committed its earlier items, queued their post-encode work, and then threw without returning their ids.
|
|
37
|
+
- `encode` validates what it is given: `context` must be an object of string values and is redacted as one document, `causal` must carry string `trigger` and `consequence` values, and `supersedes` must name an episode owned by the acting agent. An agent could previously supersede another agent's episode by id.
|
|
38
|
+
- Import no longer caps snapshot size (50,000 characters per content field, 25,000 rows per section, 25 MB of content in total). Those caps blocked restoring a store that was simply larger than an interactive request; shape validation stays, and embedding runs in batches of 256 with each returned vector checked for the right dimension and finite values. Imported semantic and procedural memories inherit `private` from any private evidence episode in the snapshot, matching what consolidation does.
|
|
39
|
+
- Each consolidation run records a commit sequence in its undo journal, assigned under the write lock, because run ids and timestamps record when preparation started rather than the order merges committed. Rollback refuses a run that is not `completed`, and refuses to undo a merge that a later completed run built on until that later run is rolled back first; two journals without sequences whose completion times tie are refused rather than guessed.
|
|
40
|
+
|
|
41
|
+
### REST sidecar
|
|
42
|
+
|
|
43
|
+
- Startup and shutdown are deliberate. `startServer` resolves only after the listener is bound and rejects, closing the store and any sockets, if binding fails. `close()` stops accepting connections, waits for in-flight requests up to `shutdownTimeoutMs` (default 10 seconds), then drains queued post-encode work and reports any that did not finish. `audrey serve` handles `SIGINT` and `SIGTERM` the same way and forces exit one second past the grace period.
|
|
44
|
+
- The API key comparison refuses an `Authorization` header longer than its fixed 4 KiB compare buffer instead of silently comparing only the first 1 KiB, and the configured key must fit that buffer; the compare itself stays constant-time over the whole buffer.
|
|
45
|
+
- Routes with optional bodies (`consolidate`, `dream`, `decay`, `greeting`) answer 400 to a body that is not a JSON object instead of treating it as empty. `validate` answers 400 to an unknown `outcome` instead of recording it as `used`. `encode` accepts `causal`, requires string context values, and accepts `supersedes` only when admin tools are enabled, because retiring a memory is the same class of operation as `forget` and the acting agent on this transport is whatever the caller named. `capsule` accepts `cwd`. `forget` by query and `reflect` act as the request's agent rather than the server's default agent.
|
|
46
|
+
|
|
47
|
+
### Hosts and CLI
|
|
48
|
+
|
|
49
|
+
- `audrey --help` and `-h` work after a subcommand, and `audrey auth` joins the command list.
|
|
50
|
+
- `server.json` (the MCP Registry listing) is a release version surface: the release cut bumps it with the other four, readiness checks it for alignment, and it now lists the embedding, LLM, and admin-tools variables alongside the data directory and agent name. It had declared 1.1.3 since that release.
|
|
51
|
+
- The shell classifier no longer treats `git remote -v add …` or `git remote --verbose set-url …` as read-only, since the verbose flag is a global option that can precede a mutating subcommand, and a redirect to `nul` or `NUL:` counts as a write, because under Bash on Windows those names can be ordinary files.
|
|
52
|
+
|
|
53
|
+
### Python SDK
|
|
54
|
+
|
|
55
|
+
- `StatusResponse` matches what `/v1/status` returns: `episodes`, `semantics`, `procedures`, `healthy`, the vector and searchable counts, dimensions, schema version, warm-up, and recall-health fields. The previous model's fields were never populated. `episodic`, `semantic`, and `procedural` remain as read-only aliases. `context` on encode and recall is typed `dict[str, str]` and rejected client-side otherwise, and the README states that snapshot export and restore need `AUDREY_ENABLE_ADMIN_TOOLS=1` on the sidecar.
|
|
56
|
+
|
|
57
|
+
### Dependencies
|
|
58
|
+
|
|
59
|
+
- The production dependency audit is clean again. `@modelcontextprotocol/sdk` moves to 1.32 (six advisories against the HTTP transports, OAuth client, and bearer-token checks, none of which the stdio server uses but all of which ship in the package), `zod` to 4.6.7 (memory exhaustion while validating oversized constrained collections), `hono` to 4.13.14 and `@hono/node-server` to 2.1 (`serveStatic` double-decoding, unused here; the node-server major drops Node 18 and the Vercel adapter and changes nothing Audrey calls), and the transitive `sharp`, `body-parser`, `proxy-addr`, `qs`, `ip-address`, and `fast-uri` pins to their patched releases.
|
|
60
|
+
|
|
61
|
+
### Documentation
|
|
62
|
+
|
|
63
|
+
- The README describes each feature by what it checks and what it does not: Guard verifies action fingerprints and declared result checks, not whether a prose prerequisite was satisfied; grounding checks that paths and scripts still exist, not that they are correct; `impact` reports explicit feedback, not time saved; and hook latency includes process startup even with a warm model cache. `.env.example` says that Audrey does not load `.env` files itself.
|
|
64
|
+
- Removes non-reference material from `docs/paper` (a copy bank, a submission plan, and a posting log), the pre-writing outline and submission notes, and the three scripts and the readiness check that existed only to validate them. The arXiv title and abstract, the two entries the paper build needs, now live in `docs/paper/arxiv-metadata.json`, which `paper:arxiv` reads. The paper pipeline itself is unchanged: claims, arXiv source and compile, the submission bundle, and the evidence ledger all still build and verify, and the paper and ledger no longer describe the removed tooling.
|
|
65
|
+
|
|
3
66
|
## 2.0.0 - 2026-09-16
|
|
4
67
|
|
|
5
68
|
Breaking changes: Node 20 and Node 23 are no longer supported. The SDK's `audrey.db` now exposes Audrey's SQLite adapter instead of a `better-sqlite3` instance; code using driver-specific methods must be updated. Existing memory stores need no conversion.
|
package/README.md
CHANGED
|
@@ -15,19 +15,19 @@
|
|
|
15
15
|
</p>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## Memory before action
|
|
19
19
|
|
|
20
20
|
You fix the deploy command on Monday. On Thursday, a fresh session tries the broken version again.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Audrey brings relevant project memory into the next session, checks supported tool calls before they run, and links their reported outcomes to the check that preceded them. A Guard decision carries evidence IDs you can inspect. Grounding can flag memories that reference deleted files or package scripts.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Try the SQLite-backed demo before configuring a host:
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
```bash
|
|
27
|
+
npm exec --yes --package=audrey -- audrey demo --scenario repeated-failure
|
|
28
|
+
```
|
|
29
29
|
|
|
30
|
-
The
|
|
30
|
+
The demo simulates a failed deploy, passes read-only inspection commands through the hook, and checks a proposed retry. It does not execute a deployment or change host configuration. After npm fetches the package, the demo needs no API key, model download, or network call.
|
|
31
31
|
|
|
32
32
|
## Meet Audrey Autopilot
|
|
33
33
|
|
|
@@ -60,7 +60,9 @@ Autopilot then closes the loop:
|
|
|
60
60
|
| A tool failure is reported | Forms a durable, sanitized failure memory for the next attempt |
|
|
61
61
|
| The turn stops or context compacts | Runs lightweight, due-only consolidation without holding the conversation open |
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
An outcome reflects the tool's reported status. A zero exit code can still produce stale or incorrect output. Custom integrations can declare [required result checks](docs/SUCCESS_CHECKS.md) in `beforeAction` and supply the actual output to `afterAction`. Guard then records a mismatch as failed and an unverifiable reported success as unknown. Audrey does not generate application-specific checks or infer the expected values.
|
|
64
|
+
|
|
65
|
+
Each hook event carries a host-declared timeout (30 seconds for the `PreToolUse` Guard check). Audrey caps individual hosted embedding/LLM requests below that deadline; this is not a deadline for the entire hook, and local model initialization has no equivalent internal timeout. Errors caught by Audrey fail open by default: the hook emits no decision. Set `AUDREY_HOOK_FAIL_CLOSED=1` to deny a `PreToolUse` action on a caught error. If the host terminates the process first, the host determines what happens. Other lifecycle hooks have no deny path and always degrade open on caught errors.
|
|
64
66
|
|
|
65
67
|
## A small story about a failed deploy
|
|
66
68
|
|
|
@@ -71,21 +73,17 @@ $ npm run deploy
|
|
|
71
73
|
Error: deployment target is missing
|
|
72
74
|
```
|
|
73
75
|
|
|
74
|
-
Audrey keeps a redacted trace and
|
|
76
|
+
Audrey keeps a redacted trace and an action fingerprint. If another session under the same agent identity proposes that action, Guard can deny the retry with evidence. A later recorded success for that fingerprint clears the exact-failure block. If the failed action declared result checks, recovery must pass the same checks. The default exact-failure window is seven days; other memory warnings are evaluated separately.
|
|
75
77
|
|
|
76
|
-
|
|
78
|
+
Fixing a file or deployment target does not itself clear the block. For a deliberate retry, the Guard API accepts `acknowledgePriorFailure: true` (MCP/REST: `acknowledge_prior_failure`; CLI: `--acknowledge-prior-failure`). Autopilot also recognizes retry language in the current user prompt. Acknowledgement lowers the exact-failure block to a warning and preserves its evidence; it does not bypass separate policy warnings.
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
audrey demo --scenario repeated-failure
|
|
82
|
-
```
|
|
80
|
+
Guard does not yet evaluate whether a natural-language prerequisite has been satisfied. A trusted must-follow memory can keep blocking even after its suggested repair succeeds. Review the cited rule when that happens; changing a command's spelling is not proof that its underlying problem is fixed.
|
|
83
81
|
|
|
84
82
|
## Looking is not doing
|
|
85
83
|
|
|
86
|
-
|
|
84
|
+
Inspection commands such as `grep`, `git status`, and `cat` normally need no memory check. A non-zero exit from `grep` can simply mean there was no match.
|
|
87
85
|
|
|
88
|
-
|
|
86
|
+
A command whose every part is positively recognised as read-only skips Guard. The classifier rejects command substitution, redirects other than `/dev/null`, `sudo`, `xargs`, and environment assignments that could change command resolution. Inspection outcomes can be recorded, but are excluded from failure learning. Unrecognised commands remain guarded.
|
|
89
87
|
|
|
90
88
|
```text
|
|
91
89
|
$ grep -rn "prisma" src/ Guard: silent
|
|
@@ -97,11 +95,11 @@ Audrey Guard: BLOCKED
|
|
|
97
95
|
- must_follow (high): Before running npm run deploy, run npm run db:generate because Prisma client must be generated first.
|
|
98
96
|
```
|
|
99
97
|
|
|
100
|
-
|
|
98
|
+
This excerpt illustrates the output of `audrey demo --scenario repeated-failure`.
|
|
101
99
|
|
|
102
100
|
When Guard does speak, it names the memory it is speaking from, and a remembered failure is matched to the proposed command by what it runs (`npm run deploy` against `npm run deploy`), not by how similar two strings look to an embedding.
|
|
103
101
|
|
|
104
|
-
|
|
102
|
+
Commands with execution-capable options or lifecycle scripts are guarded, including `git ls-remote --upload-pack=...`, `npm pack --dry-run`, and `ss -K`. The classifier is a convenience for ordinary inspection commands, not an operating-system sandbox. Repository configuration, shell expansion, and programs invoked by a reader can change what a command does. Use host permissions or a sandbox when enforcement is required.
|
|
105
103
|
|
|
106
104
|
## What Audrey remembers
|
|
107
105
|
|
|
@@ -116,11 +114,13 @@ Audrey treats memory as more than a pile of text chunks.
|
|
|
116
114
|
|
|
117
115
|
Every context packet includes memory IDs, confidence, provenance where available, and a reason for inclusion. Uncertain or disputed memories are labeled as such. Retrieved content is wrapped with a simple rule: memory is evidence, not authority; current system and user instructions always win.
|
|
118
116
|
|
|
119
|
-
##
|
|
117
|
+
## Checking memories against the repository
|
|
120
118
|
|
|
121
119
|
Age is not the only way a memory goes wrong. A note saying "ship with `npm run deploy:prod`" is perfectly recent, well sourced, and completely wrong the day that script is deleted. Worse, every recall reinforces it, because retrieval counts as evidence that a memory is useful. A confidently stated, well-supported, false instruction is more damaging than no memory at all.
|
|
122
120
|
|
|
123
|
-
|
|
121
|
+
Audrey checks a narrow, useful part of this problem: whether referenced repository paths and package script names still exist. When a memory is written with project context, it records only anchors that resolve at that moment. A missing anchor can then distinguish a later repository change from a reference that never resolved.
|
|
122
|
+
|
|
123
|
+
Existence does not establish correctness. A script can keep its name while changing behavior, and an intact file can contain obsolete instructions. Grounding does not execute scripts, prove a fix, or verify arbitrary claims in prose.
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
126
|
audrey ground
|
|
@@ -139,25 +139,25 @@ Repair is symmetric. Restore the file or the script and the next check clears th
|
|
|
139
139
|
|
|
140
140
|
Memories with no checkable claims are left unlabeled. Silence is not a clean bill of health, and presenting it as one would be the same mistake pointed the other way.
|
|
141
141
|
|
|
142
|
-
##
|
|
142
|
+
## Daily use
|
|
143
143
|
|
|
144
144
|
Most of this runs on its own once Autopilot is installed. You do not invoke recall, and you do not invoke Guard. The table is here for the parts you would reach for deliberately, and so the automatic parts are legible rather than magic.
|
|
145
145
|
|
|
146
146
|
| What | When you want it | Why it helps | How |
|
|
147
147
|
|---|---|---|---|
|
|
148
148
|
| **Autopilot** | Always, after one install | The whole point. Memory arrives before the agent acts instead of after you notice it went wrong. | `audrey install --host auto`, restart the host, approve hooks once |
|
|
149
|
-
| **Guard** | Automatic, before
|
|
150
|
-
| **Grounding** | After deleting or renaming things a memory might mention |
|
|
151
|
-
| **Session briefing** | Automatic at session start | Small, scoped packet instead of pasting context every time.
|
|
149
|
+
| **Guard** | Automatic, before supported edit, write, or shell tool calls | Checks action fingerprints against recorded failures and surfaces memory warnings. Recognised read-only commands skip the check. Repairing the repository alone does not clear a prior failure. | Runs at `PreToolUse`. Manually: `audrey guard --tool Bash --strict` |
|
|
150
|
+
| **Grounding** | After deleting or renaming things a memory might mention | Flags previously observed paths or package script names that no longer exist. | `audrey ground`, or let the maintenance sweep do it |
|
|
151
|
+
| **Session briefing** | Automatic at session start | Small, scoped packet instead of pasting context every time. Unchanged memories inject once per session; changes to content or standing are sent again. | `SessionStart` hook. Preview with `audrey greeting` |
|
|
152
152
|
| **Explicit capture** | When you say "remember that…" or "I prefer…" | Deliberate memories are worth more than inferred ones, and phrasing it that way is enough. | Just type it. Autopilot picks up those sentence shapes |
|
|
153
153
|
| **Consolidation** | Automatic when idle; manually before a long break | Repeated episodes become one principle. Otherwise the store is a pile of near-duplicates and recall gets noisy. | `audrey dream` |
|
|
154
154
|
| **Contradictions** | When two memories disagree | Neither one silently wins. Both stay visible and labeled until something resolves them. | Surfaced in packets; `memory_resolve_truth` to settle one |
|
|
155
|
-
| **Decay** |
|
|
155
|
+
| **Decay** | Confidence ages during recall; run maintenance to mark dormant memories | Age lowers confidence. Explicit decay can move weak memories out of active retrieval. Autopilot consolidation does not run this dormancy pass. | `audrey dream` or `memory_decay` |
|
|
156
156
|
| **Promote** | When a pattern deserves to be a repo rule | Moves a learned habit out of memory and into a file your team can read and review. | `audrey promote --dry-run` first |
|
|
157
|
-
| **Impact** | When
|
|
157
|
+
| **Impact** | When reviewing memory feedback | Reports explicit used/helpful/wrong feedback and frequently validated memories. It does not measure time saved or independently establish that a blocked action would have failed. | `audrey impact --window 30` |
|
|
158
158
|
| **Snapshot** | Backups, or moving to a new machine | Full store in one JSON file. Import treats it as untrusted: redacted and stripped of trust markers on the way in. | `AUDREY_ENABLE_ADMIN_TOOLS=1`, then `memory_export` / `memory_import` |
|
|
159
159
|
| **Doctor** | Packets stopped arriving | The two real causes are a drifted hook entrypoint and starved consolidation. Doctor names which one. | `audrey doctor` |
|
|
160
|
-
| **Demo** | Before
|
|
160
|
+
| **Demo** | Before configuring a host | Exercises a simulated failure and blocked retry in temporary SQLite storage, with no API key or network call. | `audrey demo --scenario repeated-failure` |
|
|
161
161
|
| **REST sidecar** | Custom agents that are not Codex or Claude Code | Same memory runtime, same evidence contract, over HTTP. Python and JS clients included. | `audrey serve` with `AUDREY_API_KEY` set |
|
|
162
162
|
|
|
163
163
|
## What Audrey deliberately does not do
|
|
@@ -176,7 +176,7 @@ Guard checks memory at the point where it can change an action, not after the da
|
|
|
176
176
|
|
|
177
177
|
### Continuity across agent sessions
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
Codex and Claude Code use the same memory runtime and evidence contract. Generated configurations use separate `codex` and `claude-code` agent identities, so they do not automatically recall each other's memories. Cross-agent Autopilot recall requires the explicit `AUDREY_AUTOPILOT_SCOPE=shared` setting in the host runtime environment; this broadens recall across the store. MCP, REST, JavaScript, and Python clients make the core usable in custom agents too.
|
|
180
180
|
|
|
181
181
|
### Evidence a human can inspect
|
|
182
182
|
|
|
@@ -188,30 +188,14 @@ The default store is SQLite, FTS5, and `sqlite-vec`. Local embeddings are the de
|
|
|
188
188
|
|
|
189
189
|
### A safer shared store
|
|
190
190
|
|
|
191
|
-
Agent-scoped recall
|
|
191
|
+
Agent-scoped recall continues through validation, contradiction detection, interference, affect, failure lookup, capsules, greetings, Guard, and REST request routing. Recall updates retrieval count and last-reinforced timestamp for returned semantic and procedural memories. Capsule and Guard filtering may further narrow those results. Explicit validation feedback (`memory_validate` / `/v1/validate`) separately updates usage and salience from a caller's used/helpful/wrong assessment.
|
|
192
192
|
|
|
193
193
|
Vector candidates are partitioned by agent before nearest-neighbor ranking, so one busy agent cannot crowd another out of a bounded search. For hard tenant boundaries, still use a distinct `AUDREY_DATA_DIR` per tenant or security domain.
|
|
194
194
|
|
|
195
|
-
## See it before installing anything
|
|
196
|
-
|
|
197
|
-
```bash
|
|
198
|
-
npm exec --yes --package=audrey -- audrey demo --scenario repeated-failure
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
That command runs from the npm cache, exercises the full SQLite-backed Guard loop, and leaves host configuration unchanged.
|
|
202
|
-
|
|
203
195
|
<div align="center">
|
|
204
196
|
<img src="docs/assets/audrey-feature-grid.jpg" alt="Audrey memory continuity, recall, evidence, local storage, and memory-before-action" width="760">
|
|
205
197
|
</div>
|
|
206
198
|
|
|
207
|
-
## Where we want to take it
|
|
208
|
-
|
|
209
|
-
The ambition is a temporal evidence graph for agents: immutable observations, explicit validity windows, source trust, evolving claims, scoped procedures, and outcome-calibrated policy. The defensible part is not storing more text. It is knowing what was believed, why, in which context, for how long, and whether acting on it helped.
|
|
210
|
-
|
|
211
|
-
Near-term work includes durable background cognition jobs, tenant namespaces bound to credentials, memory quarantine and taint propagation, public long-horizon evaluations, encrypted backup options, and a persistent local daemon that removes per-hook model startup entirely.
|
|
212
|
-
|
|
213
|
-
If that is the kind of agent infrastructure you want to build, open an issue or start with the demo. Audrey is MIT licensed, and the product boundary is intentionally inspectable.
|
|
214
|
-
|
|
215
199
|
---
|
|
216
200
|
|
|
217
201
|
## Technical reference
|
|
@@ -258,7 +242,7 @@ Claude Code scope mapping follows the host’s terminology:
|
|
|
258
242
|
|
|
259
243
|
Codex supports project `.codex/hooks.json` and user `~/.codex/hooks.json`; it has no local hook scope. Audrey preserves unrelated hooks, replaces older Audrey-owned handlers, writes a private timestamped backup, and is idempotent on repeat installation. Project-adjacent backup names match `*.audrey-*.bak`; keep that pattern ignored because a host config can contain unrelated credentials.
|
|
260
244
|
|
|
261
|
-
Audrey respects `CLAUDE_CONFIG_DIR` and `CODEX_HOME`. Generated hooks pin the stable Node executable, Audrey entrypoint, data directory, agent identity, and non-secret provider choices used at install time. With local embeddings, an Autopilot install
|
|
245
|
+
Audrey respects `CLAUDE_CONFIG_DIR` and `CODEX_HOME`. Generated hooks pin the stable Node executable, Audrey entrypoint, data directory, agent identity, and non-secret provider choices used at install time. With local embeddings, an Autopilot install warms the model cache; set `AUDREY_DISABLE_WARMUP=1` to skip it. Each hook still runs in a new process and initializes an embedding pipeline when needed, so cached model files do not eliminate startup latency.
|
|
262
246
|
|
|
263
247
|
Generate MCP configuration without applying it:
|
|
264
248
|
|
|
@@ -297,7 +281,7 @@ Codex hook interception is a guardrail, not a complete shell-policy boundary. Th
|
|
|
297
281
|
### JavaScript API
|
|
298
282
|
|
|
299
283
|
```js
|
|
300
|
-
import { Audrey
|
|
284
|
+
import { Audrey } from 'audrey';
|
|
301
285
|
|
|
302
286
|
const memory = new Audrey({
|
|
303
287
|
dataDir: './audrey-data',
|
|
@@ -317,15 +301,19 @@ const capsule = await memory.capsule('increase Stripe throughput', {
|
|
|
317
301
|
budgetChars: 3000,
|
|
318
302
|
});
|
|
319
303
|
|
|
320
|
-
const
|
|
321
|
-
const before = await guard.beforeAction({
|
|
322
|
-
action: 'deploy the billing worker',
|
|
304
|
+
const before = await memory.beforeAction('npm run deploy:billing', {
|
|
323
305
|
tool: 'Bash',
|
|
324
|
-
command: 'npm run deploy:billing',
|
|
325
306
|
cwd: process.cwd(),
|
|
307
|
+
strict: true,
|
|
326
308
|
});
|
|
327
309
|
|
|
328
|
-
console.log(before.decision, before.
|
|
310
|
+
console.log(before.decision, before.evidence_ids, before.receipt_id);
|
|
311
|
+
// Only execute an authorized action when before.ok_to_proceed is true.
|
|
312
|
+
// After execution, close this receipt with memory.afterAction({
|
|
313
|
+
// receiptId: before.receipt_id, outcome: 'succeeded' | 'failed' | 'unknown',
|
|
314
|
+
// errorSummary: '...' // when available
|
|
315
|
+
// });
|
|
316
|
+
// Report the observed outcome; creating a receipt does not execute the action.
|
|
329
317
|
await memory.closeAsync();
|
|
330
318
|
```
|
|
331
319
|
|
|
@@ -376,7 +364,7 @@ episode
|
|
|
376
364
|
├─ agent-scoped interference / resonance / validation
|
|
377
365
|
├─ reinforcement or contradiction evidence
|
|
378
366
|
├─ sleep-time consolidation into semantic or procedural memory
|
|
379
|
-
└─ grounding
|
|
367
|
+
└─ grounding rechecks recorded paths and package-script names
|
|
380
368
|
|
|
381
369
|
query
|
|
382
370
|
├─ bounded vector candidates
|
|
@@ -404,18 +392,24 @@ The server also sends host instructions explaining the Guard receipt loop when l
|
|
|
404
392
|
|
|
405
393
|
| Variable | Default | Purpose |
|
|
406
394
|
|---|---|---|
|
|
395
|
+
| `AUDREY_MODEL_CACHE_DIR` | `$XDG_CACHE_HOME/audrey/models` or `~/.cache/audrey/models` | Writable per-user cache for local model files |
|
|
396
|
+
| `AUDREY_SHARED_STORE` | `0` | Set `1` to retain operator-managed permissions for an intentionally shared store |
|
|
407
397
|
| `AUDREY_DATA_DIR` | `~/.audrey/data` | SQLite store; use a distinct directory per tenant/security boundary |
|
|
408
398
|
| `AUDREY_AGENT` | host-specific | Logical memory owner used for scoped operations |
|
|
409
399
|
| `AUDREY_EMBEDDING_PROVIDER` | `local` | `local`, `gemini`, `openai`, or `mock` |
|
|
410
|
-
| `AUDREY_LLM_PROVIDER` | unset | `anthropic`, `openai
|
|
400
|
+
| `AUDREY_LLM_PROVIDER` | unset | `anthropic`, `openai` (API billing), `chatgpt` (subscription), or `mock` for reflection/consolidation; unset (or `auto`) uses local heuristics only, never an ambient API key |
|
|
411
401
|
| `AUDREY_LLM_MODEL` | provider default | Explicit LLM model override |
|
|
402
|
+
| `AUDREY_LLM_REASONING_EFFORT` | `medium` | OpenAI reasoning effort: `low`, `medium`, `high`, `xhigh`, or `max` |
|
|
403
|
+
| `AUDREY_CHATGPT_AUTH_DIR` | `~/.audrey/auth` | Protected local subscription credential directory |
|
|
404
|
+
| `AUDREY_CHATGPT_ACCOUNT` | active account | Saved subscription registration to use |
|
|
412
405
|
| `AUDREY_DEVICE` | `gpu` | Local embedding device; falls back to CPU |
|
|
413
406
|
| `AUDREY_CONTEXT_BUDGET_CHARS` | `4000` | Maximum default capsule size |
|
|
414
407
|
| `AUDREY_AUTOPILOT_SCOPE` | `agent` | `agent` or explicit cross-agent `shared` recall for hooks |
|
|
415
408
|
| `AUDREY_PACKET_FORMAT` | `compact` | Injected packet style: `compact` line format or `verbose` key=value |
|
|
416
|
-
| `AUDREY_PACKET_DELTA` | `1` | Inject each memory once per session; `0` resends full packets every prompt |
|
|
409
|
+
| `AUDREY_PACKET_DELTA` | `1` | Inject each unchanged memory version once per session; `0` resends full packets every prompt |
|
|
417
410
|
| `AUDREY_HOOK_FAIL_CLOSED` | `0` | Deny guarded actions when Audrey itself fails |
|
|
418
411
|
| `AUDREY_API_KEY` | unset | Bearer token for REST access |
|
|
412
|
+
| `AUDREY_ALLOW_NO_AUTH` | `0` | Set `1` to permit unauthenticated non-loopback REST access |
|
|
419
413
|
| `AUDREY_HOST` | `127.0.0.1` | REST bind address |
|
|
420
414
|
| `AUDREY_PORT` | `7437` | REST port |
|
|
421
415
|
| `AUDREY_ENABLE_ADMIN_TOOLS` | `0` | Enable export, import, forget, and promote operations |
|
|
@@ -426,6 +420,18 @@ The server also sends host instructions explaining the Guard receipt loop when l
|
|
|
426
420
|
|
|
427
421
|
Provider secrets are never embedded in generated hook commands. `--include-secrets` applies only to MCP registration; prefer host environment injection or a secret manager.
|
|
428
422
|
|
|
423
|
+
OpenAI API billing uses `AUDREY_LLM_PROVIDER=openai` and `OPENAI_API_KEY`. To use a ChatGPT subscription for reflection and consolidation, run `audrey auth login`, then set `AUDREY_LLM_PROVIDER=chatgpt`, `AUDREY_LLM_MODEL=gpt-6.1-sol`, and `AUDREY_LLM_REASONING_EFFORT=medium`. Reinstall the host configuration after changing provider settings. Subscription requests require account permission and an available model; failures never switch to API billing. Embeddings remain a separate provider and default to local execution. See [OpenAI's subscription documentation](https://developers.openai.com/siwc/token-sharing-open-source).
|
|
424
|
+
|
|
425
|
+
Use `audrey auth accounts` to list saved registrations, `audrey auth select --account <ID>` to switch, and `audrey auth logout` to sign out. Tokens stay in protected local storage outside the memory database. `audrey auth status` reports connection state without exposing tokens.
|
|
426
|
+
|
|
427
|
+
New local stores use private directory and database permissions on filesystems that support POSIX modes. Existing database and WAL files are restricted on open. Windows and mounted volumes need appropriate operating-system ACLs. Set `AUDREY_SHARED_STORE=1` (SDK: `sharedStore: true`) only when you manage shared access yourself.
|
|
428
|
+
|
|
429
|
+
Local models download into the per-user cache on first use. Allow that first run to finish before relying on hooks offline. A failed initialization can be retried in the same process. For a system package installed by root, run the initial model load as the desktop user so the cache remains writable.
|
|
430
|
+
|
|
431
|
+
Snapshot format 2 preserves grounding anchors, their last known state, and consolidation undo journals; older snapshots remain importable. Worktrees share a repository identity for recall, while grounding checks the checkout where an anchor was recorded. Rollback preserves earlier knowledge when undoing a merge. Legacy merges without an undo journal are refused when they cannot be reversed safely.
|
|
432
|
+
|
|
433
|
+
The REST API requires JSON request bodies and rejects cross-origin browser requests. Unauthenticated requests require a loopback host unless `AUDREY_ALLOW_NO_AUTH=1` is explicitly set. Configure `AUDREY_API_KEY` for network deployments.
|
|
434
|
+
|
|
429
435
|
### Production checklist
|
|
430
436
|
|
|
431
437
|
- Give every tenant or hard isolation domain its own `AUDREY_DATA_DIR`.
|
|
@@ -460,7 +466,7 @@ GuardBench currently contains ten local, deterministic pre-action scenarios cove
|
|
|
460
466
|
Latest local result in this checkout: 10/10 scenarios passed, 100% prevention rate, 0% false-block rate, 0 raw secret leaks, 0 published artifact leaks, and 3.805ms / 13.445ms p50/p95 Guard latency under the mock-provider methodology.
|
|
461
467
|
<!-- guardbench-summary:end -->
|
|
462
468
|
|
|
463
|
-
`benchmarks/perf-snapshot.js` measures encode and hybrid-recall p50/p95/p99 at configurable corpus sizes with machine
|
|
469
|
+
`benchmarks/perf-snapshot.js` measures encode and hybrid-recall p50/p95/p99 at configurable corpus sizes with machine provenance. It currently uses mock 64-dimensional embeddings; it has no provider-selection flag and does not measure hook process startup. Measure complete hook invocations separately with your intended provider, cache state, corpus, and hardware before using these numbers to estimate interactive latency.
|
|
464
470
|
|
|
465
471
|
The longer-term public evaluation target includes [LongMemEval](https://arxiv.org/abs/2410.10813), [MemoryAgentBench](https://arxiv.org/abs/2507.05257), and adversarial memory-poisoning cases. Relevant design directions include bitemporal knowledge graphs in [Zep/Graphiti](https://arxiv.org/abs/2501.13956), evolving memory organization in [A-MEM](https://arxiv.org/abs/2502.12110), and sleep-time agent compute in [Sleep-time Compute](https://arxiv.org/abs/2504.13171).
|
|
466
472
|
|
|
@@ -490,8 +496,6 @@ npm run bench:guard:external:evidence:strict
|
|
|
490
496
|
|
|
491
497
|
npm run paper:arxiv:compile
|
|
492
498
|
npm run paper:arxiv:compile:strict
|
|
493
|
-
npm run paper:launch-results
|
|
494
|
-
npm run paper:launch-results:strict
|
|
495
499
|
|
|
496
500
|
npm run release:cut:plan
|
|
497
501
|
npm run release:cut:apply
|
|
@@ -502,6 +506,6 @@ npm run python:release:check
|
|
|
502
506
|
|
|
503
507
|
Live Zep runs require `ZEP_API_KEY`; `ZEP_GUARDBENCH_INGEST_DELAY_MS` tunes ingestion settling time. The external dry-run matrix proves adapter shape without credentials, while external evidence verification distinguishes pending runs from verified live evidence.
|
|
504
508
|
|
|
505
|
-
Publication packaging
|
|
509
|
+
Publication packaging verifies artifact hashes, source bundles, and path redaction. Release readiness separately reports source-control state, live remote-head verification, npm registry/auth readiness, and PyPI publish readiness. Pass `-- --target-version <version>` to the readiness commands when checking a release; the script's legacy default is `1.1.1`.
|
|
506
510
|
|
|
507
511
|
MIT licensed. Built for agents that should get better at the work without becoming less accountable.
|
package/SECURITY.md
CHANGED
|
@@ -6,9 +6,8 @@ Security fixes are best-effort for the current published release line and the cu
|
|
|
6
6
|
|
|
7
7
|
| Version | Supported |
|
|
8
8
|
|---|---|
|
|
9
|
-
| `
|
|
10
|
-
|
|
|
11
|
-
| `< 1.0.0` | No |
|
|
9
|
+
| `2.0.x` and `master` | Yes |
|
|
10
|
+
| `< 2.0.0` | No |
|
|
12
11
|
|
|
13
12
|
## Reporting a Vulnerability
|
|
14
13
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AudreyConfig, EmbeddingConfig, LLMConfig } from '../src/types.js';
|
|
2
|
-
export declare const VERSION = "2.
|
|
2
|
+
export declare const VERSION = "2.1.0";
|
|
3
3
|
export declare const SERVER_NAME = "audrey-memory";
|
|
4
4
|
export declare const DEFAULT_AGENT = "local-agent";
|
|
5
5
|
export declare const DEFAULT_DATA_DIR: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEhF,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,QAAwD,CAAC;AAEpF,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEvD,UAAU,aAAa;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;CACtC;AAyBD,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,GAAE,MAAM,GAAG,SAA4C,GAC9D,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAgB1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,GAAE,MAAM,GAAG,SAAsC,EACzD,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { homedir } from 'node:os';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
-
export const VERSION = '2.
|
|
4
|
+
export const VERSION = '2.1.0';
|
|
5
5
|
export const SERVER_NAME = 'audrey-memory';
|
|
6
6
|
export const DEFAULT_AGENT = 'local-agent';
|
|
7
7
|
export const DEFAULT_DATA_DIR = join(homedir(), '.audrey', 'data');
|
|
@@ -17,7 +17,7 @@ export const HOST_AGENT_NAMES = {
|
|
|
17
17
|
jetbrains: 'jetbrains',
|
|
18
18
|
};
|
|
19
19
|
const VALID_EMBEDDING_PROVIDERS = new Set(['mock', 'local', 'gemini', 'openai']);
|
|
20
|
-
const VALID_LLM_PROVIDERS = new Set(['mock', 'anthropic', 'openai']);
|
|
20
|
+
const VALID_LLM_PROVIDERS = new Set(['mock', 'anthropic', 'openai', 'chatgpt']);
|
|
21
21
|
function assertValidProvider(provider, validProviders, envVar) {
|
|
22
22
|
if (!validProviders.has(provider)) {
|
|
23
23
|
throw new Error(`Unsupported ${envVar} value: ${provider}`);
|
|
@@ -81,6 +81,20 @@ export function resolveLLMProvider(env, explicit = env['AUDREY_LLM_PROVIDER'], o
|
|
|
81
81
|
}
|
|
82
82
|
assertValidProvider(explicit, VALID_LLM_PROVIDERS, 'AUDREY_LLM_PROVIDER');
|
|
83
83
|
const provider = explicit;
|
|
84
|
+
const effort = env['AUDREY_LLM_REASONING_EFFORT']?.trim() || 'medium';
|
|
85
|
+
if (!['low', 'medium', 'high', 'xhigh', 'max'].includes(effort)) {
|
|
86
|
+
throw new Error(`Unsupported AUDREY_LLM_REASONING_EFFORT value: ${effort}`);
|
|
87
|
+
}
|
|
88
|
+
const reasoningEffort = effort;
|
|
89
|
+
if (provider === 'chatgpt') {
|
|
90
|
+
return {
|
|
91
|
+
provider,
|
|
92
|
+
model: model || 'gpt-6.1-sol',
|
|
93
|
+
reasoningEffort,
|
|
94
|
+
...(env['AUDREY_CHATGPT_AUTH_DIR'] ? { authDir: env['AUDREY_CHATGPT_AUTH_DIR'] } : {}),
|
|
95
|
+
...(env['AUDREY_CHATGPT_ACCOUNT'] ? { chatgptAccount: env['AUDREY_CHATGPT_ACCOUNT'] } : {}),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
84
98
|
if (provider === 'anthropic') {
|
|
85
99
|
const apiKey = env['ANTHROPIC_API_KEY'];
|
|
86
100
|
if (requireApiKey && !apiKey) {
|
|
@@ -93,7 +107,12 @@ export function resolveLLMProvider(env, explicit = env['AUDREY_LLM_PROVIDER'], o
|
|
|
93
107
|
if (requireApiKey && !apiKey) {
|
|
94
108
|
throw new Error('AUDREY_LLM_PROVIDER=openai requires OPENAI_API_KEY to be set.');
|
|
95
109
|
}
|
|
96
|
-
return {
|
|
110
|
+
return {
|
|
111
|
+
provider: 'openai',
|
|
112
|
+
apiKey,
|
|
113
|
+
...(env['AUDREY_LLM_REASONING_EFFORT'] ? { reasoningEffort } : {}),
|
|
114
|
+
...withModel,
|
|
115
|
+
};
|
|
97
116
|
}
|
|
98
117
|
return { provider: 'mock' };
|
|
99
118
|
}
|
|
@@ -157,6 +176,12 @@ export function buildAudreyMcpEnv(env = process.env, agent = env['AUDREY_AGENT']
|
|
|
157
176
|
addEnv('AUDREY_LLM_PROVIDER', llm.provider);
|
|
158
177
|
if (llm.model)
|
|
159
178
|
addEnv('AUDREY_LLM_MODEL', llm.model);
|
|
179
|
+
if (llm.reasoningEffort)
|
|
180
|
+
addEnv('AUDREY_LLM_REASONING_EFFORT', llm.reasoningEffort);
|
|
181
|
+
if (llm.provider === 'chatgpt') {
|
|
182
|
+
addEnv('AUDREY_CHATGPT_AUTH_DIR', llm.authDir);
|
|
183
|
+
addEnv('AUDREY_CHATGPT_ACCOUNT', llm.chatgptAccount);
|
|
184
|
+
}
|
|
160
185
|
if (llm.provider === 'anthropic') {
|
|
161
186
|
if (includeSecrets)
|
|
162
187
|
addEnv('ANTHROPIC_API_KEY', llm.apiKey);
|
|
@@ -175,6 +200,9 @@ const AUTOPILOT_RUNTIME_FLAGS = {
|
|
|
175
200
|
AUDREY_DEVICE: '--device',
|
|
176
201
|
AUDREY_LLM_PROVIDER: '--llm-provider',
|
|
177
202
|
AUDREY_LLM_MODEL: '--llm-model',
|
|
203
|
+
AUDREY_LLM_REASONING_EFFORT: '--llm-reasoning-effort',
|
|
204
|
+
AUDREY_CHATGPT_AUTH_DIR: '--chatgpt-auth-dir',
|
|
205
|
+
AUDREY_CHATGPT_ACCOUNT: '--chatgpt-account',
|
|
178
206
|
};
|
|
179
207
|
export function buildAutopilotRuntimeArgs(env = process.env, agent = env['AUDREY_AGENT'] || DEFAULT_AGENT) {
|
|
180
208
|
const runtime = buildAudreyMcpEnv(env, agent, { includeSecrets: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../mcp-server/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { execFileSync } from 'node:child_process';
|
|
3
3
|
import { type CodexHooksProbeResult } from './codex-hooks-probe.js';
|
|
4
|
-
import { Audrey } from '../src/index.js';
|
|
4
|
+
import { Audrey, type SuccessCheck } from '../src/index.js';
|
|
5
5
|
import { type ProfileDiagnostics } from '../src/profile.js';
|
|
6
6
|
import type { Affect, IntrospectResult, MemoryStatusResult, MemoryType, PublicRetrievalMode, RecallResults, SourceType } from '../src/types.js';
|
|
7
7
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
@@ -42,6 +42,9 @@ export interface DoctorReport {
|
|
|
42
42
|
checks: DoctorCheck[];
|
|
43
43
|
ok: boolean;
|
|
44
44
|
}
|
|
45
|
+
export declare function registerHttpShutdownHandlers(processRef: NodeJS.Process, server: {
|
|
46
|
+
close: () => Promise<void>;
|
|
47
|
+
}, logger?: (...args: unknown[]) => void, timeoutMs?: number): () => Promise<void>;
|
|
45
48
|
export declare function formatInstallGuide(host: string, env?: Record<string, string | undefined>, dryRun?: boolean, installHooks?: boolean, scope?: HookScope): string;
|
|
46
49
|
declare function runCli(command: 'claude' | 'codex', args: string[], options?: Parameters<typeof execFileSync>[2]): void;
|
|
47
50
|
export type CodexCliRunner = (args: string[]) => string;
|
|
@@ -240,8 +243,9 @@ interface MemoryPreflightArgs {
|
|
|
240
243
|
include_capsule?: boolean;
|
|
241
244
|
scope?: 'agent' | 'shared';
|
|
242
245
|
}
|
|
243
|
-
export declare function buildMemoryGuardBeforeHandler(audrey: Audrey): ({ action, tool, session_id, cwd, files, strict, limit, budget_chars, mode, failure_window_hours, include_status, include_capsule, scope, acknowledge_prior_failure, }: MemoryPreflightArgs & {
|
|
246
|
+
export declare function buildMemoryGuardBeforeHandler(audrey: Audrey): ({ action, tool, session_id, cwd, files, strict, limit, budget_chars, mode, failure_window_hours, include_status, include_capsule, scope, acknowledge_prior_failure, success_checks, }: MemoryPreflightArgs & {
|
|
244
247
|
acknowledge_prior_failure?: boolean;
|
|
248
|
+
success_checks?: SuccessCheck[];
|
|
245
249
|
}) => Promise<{
|
|
246
250
|
content: Array<{
|
|
247
251
|
type: "text";
|