agentcache 0.4.2 → 0.5.0-beta.1
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 +280 -151
- package/dist/chunk-4T3I3ACZ.js +6592 -0
- package/dist/chunk-ECMT4ANK.js +1725 -0
- package/dist/{chunk-T4COG3XD.js → chunk-R5I6WWSD.js} +31 -14
- package/dist/chunk-RXGW4Q3G.js +109 -0
- package/dist/chunk-XRJ6QW6N.js +92 -0
- package/dist/cli.js +2535 -292
- package/dist/device-id-RV7RO5RB.js +7 -0
- package/dist/ide-detector-ETGAVVXO.js +8 -0
- package/dist/mcp.d.ts +734 -2
- package/dist/mcp.js +1126 -446
- package/dist/{paths-5LZRKNYY.js → paths-NTZ2357O.js} +3 -2
- package/dist/postinstall.js +1 -65
- package/dist/setup-CXZFERQE.js +48 -0
- package/docs/compatibility.md +146 -0
- package/docs/demo-script.md +121 -0
- package/docs/launch-copy.md +127 -0
- package/docs/privacy.md +173 -0
- package/docs/troubleshooting.md +206 -0
- package/package.json +32 -14
- package/dist/3-canonicalizer-HIN2F7SZ.js +0 -11
- package/dist/chunk-5UO7NJPQ.js +0 -71
- package/dist/chunk-CUBZRYS5.js +0 -580
- package/dist/chunk-GGAATZKM.js +0 -120
- package/dist/chunk-JUDLOBOC.js +0 -77
- package/dist/chunk-KFQGP6VL.js +0 -33
- package/dist/chunk-PSASDZQE.js +0 -490
- package/dist/chunk-SLRKWMSE.js +0 -202
- package/dist/chunk-T7BJPANN.js +0 -45
- package/dist/chunk-WTXSZBQE.js +0 -388
- package/dist/compile-all-PTWTZVP5.js +0 -495
- package/dist/ide-detector-5TRCR4F5.js +0 -7
- package/dist/pre-tool-use-A4AJHZOJ.js +0 -30
- package/dist/session-start-DGMGEAJU.js +0 -78
- package/dist/setup-CVG35TUZ.js +0 -51
- package/dist/sqlite-NM2BVHUY.js +0 -7
- package/dist/stop-WGGRX6TQ.js +0 -38
- package/dist/transcript-JWSGSDSF.js +0 -24
package/README.md
CHANGED
|
@@ -1,172 +1,301 @@
|
|
|
1
1
|
# AgentCache
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
> **Pick a coding session and continue it in another agent.**
|
|
4
|
+
|
|
5
|
+
**AgentCache 0.5.0-beta.1 is a same-machine public beta.** It keeps a local,
|
|
6
|
+
portable timeline for an explicitly selected coding session, then hands a
|
|
7
|
+
bounded checkpoint to another registered agent through MCP. There is no
|
|
8
|
+
Markdown handoff file to maintain and no silent choice of “latest” session.
|
|
9
|
+
|
|
10
|
+
The destination agent provider may receive the resume capsule when its agent
|
|
11
|
+
consumes a handoff. In the prescribed prompt-based flow, the handoff ID and
|
|
12
|
+
one-use token may also be sent to the destination provider. Treat the token as
|
|
13
|
+
a temporary bearer secret. “Local-first” describes AgentCache storage and
|
|
14
|
+
coordination; it does not change the network or retention behavior of Claude
|
|
15
|
+
Code, Codex, Cursor, or another hosted agent.
|
|
16
|
+
|
|
17
|
+
## What it carries
|
|
18
|
+
|
|
19
|
+
AgentCache carries the useful state around a coding conversation: the goal,
|
|
20
|
+
explicit constraints, completed work, open work, blockers, decisions, rejected
|
|
21
|
+
approaches, next step, portable Git metadata, and a bounded slice of recent
|
|
22
|
+
events. It can keep multiple client legs in one timeline or create an explicit
|
|
23
|
+
fork with an independent child timeline.
|
|
24
|
+
|
|
25
|
+
It does not transplant a vendor's private conversation object, hidden
|
|
26
|
+
reasoning, system prompt, approval state, or complete tool output. It does not
|
|
27
|
+
intentionally carry credentials: known credential patterns and absolute local
|
|
28
|
+
paths are redacted, but arbitrary secrets may still appear. It does not replace
|
|
29
|
+
a client's own `/resume` command. Native transcript stores are treated as
|
|
30
|
+
read-only sources.
|
|
31
|
+
|
|
32
|
+
## Five-minute quickstart
|
|
33
|
+
|
|
34
|
+
Prerequisites: Node.js 22 or newer, two supported clients installed on the same
|
|
35
|
+
machine, and the same canonical repository root open in both clients. Separate
|
|
36
|
+
clones and Git worktrees are isolated in this beta, even when their remotes
|
|
37
|
+
match.
|
|
38
|
+
|
|
39
|
+
1. Install the pinned beta and run the explicit setup step.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm install -g agentcache@0.5.0-beta.1
|
|
43
|
+
agentcache setup
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Installation has no postinstall configuration hook. Setup is explicit:
|
|
47
|
+
`agentcache setup` detects installed clients and adds a client-bound MCP
|
|
48
|
+
entry such as `agentcache serve --adapter codex` when the existing config is
|
|
49
|
+
unambiguous. Restart or reload clients after setup.
|
|
50
|
+
|
|
51
|
+
2. Check what AgentCache actually detected and what each adapter can do.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
agentcache doctor
|
|
55
|
+
agentcache adapter list --json
|
|
56
|
+
agentcache adapter doctor claude-code
|
|
57
|
+
agentcache adapter doctor codex
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The global `agentcache doctor` checks exact adapter-bound MCP registrations
|
|
61
|
+
and, after initialization, the v2 store. On a fresh setup before the first
|
|
62
|
+
session operation, an absent v2 store is normal: doctor reports the
|
|
63
|
+
informational message `will initialize on first session operation`. That is
|
|
64
|
+
not a failure. `adapter doctor` reports the capability evidence for one
|
|
65
|
+
client.
|
|
66
|
+
|
|
67
|
+
3. In the source client, ask its AgentCache MCP server to open a portable
|
|
68
|
+
session for the current workspace, record the goal and relevant progress,
|
|
69
|
+
and create a checkpoint before you switch. Then, from that repository, list
|
|
70
|
+
the portable sessions.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
agentcache session list
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Listing also attempts bounded, read-only discovery for adapters whose native
|
|
77
|
+
history can prove the current workspace. A conversation opened through the
|
|
78
|
+
AgentCache MCP tools already appears as a portable session.
|
|
79
|
+
|
|
80
|
+
4. Prepare a handoff with the interactive picker. The destination is always
|
|
81
|
+
explicit.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
agentcache session resume --to codex
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Search, select a numbered session, inspect it, then choose `continue` or
|
|
88
|
+
`fork`. Known branches appear in the list. The inspection view shows the
|
|
89
|
+
exact local workspace path, recovered objective, checkpoint Git state,
|
|
90
|
+
event count, and an approximate checkpoint-state JSON baseline. The final
|
|
91
|
+
resume capsule is larger because bounded recent events and its envelope are
|
|
92
|
+
added later. AgentCache then shows the exact public capsule that the
|
|
93
|
+
destination will receive. Choose `exclude` to remove numbered events from
|
|
94
|
+
this handoff's initial capsule and re-preview it, `confirm` to finish, or
|
|
95
|
+
`cancel` to delete the unconsumed handoff. Nothing is preselected and the
|
|
96
|
+
picker has no timeout. The one-time token is printed only after confirmation
|
|
97
|
+
and expires after ten minutes. These local inspection details are not added
|
|
98
|
+
to the JSON listing contract.
|
|
99
|
+
|
|
100
|
+
5. Open the same repository in Codex and ask it to call AgentCache's
|
|
101
|
+
`session_resume` tool with that handoff ID and token. Ask it to restate the
|
|
102
|
+
goal and next step before continuing. The handoff is accepted only by the
|
|
103
|
+
chosen adapter in the chosen workspace.
|
|
104
|
+
|
|
105
|
+
For scripts, specify the session ID and request structured output:
|
|
4
106
|
|
|
5
107
|
```bash
|
|
6
|
-
|
|
108
|
+
agentcache session resume ses_... --to codex --json
|
|
7
109
|
```
|
|
8
110
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
4. **Periodically** → database projects into `SKILL.md` for git distribution
|
|
64
|
-
|
|
65
|
-
Knowledge compounds. One lesson stated once propagates to every future session across every IDE.
|
|
66
|
-
|
|
67
|
-
## Install
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npm install -g agentcache
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
The install automatically:
|
|
74
|
-
1. Creates `~/.agentcache/agentcache.db`
|
|
75
|
-
2. Detects your IDEs (Claude Code, Cursor, Roo Code, Windsurf, Continue, Codex)
|
|
76
|
-
3. Registers as an MCP server in each — with auto-approve
|
|
77
|
-
4. Sets up Claude Code hooks for transcript recovery
|
|
78
|
-
5. Compiles your existing transcript history in the background
|
|
79
|
-
|
|
80
|
-
**Zero config. Zero setup. Start a session and it's working.**
|
|
81
|
-
|
|
82
|
-
## Supported IDEs
|
|
83
|
-
|
|
84
|
-
| IDE | MCP | Auto-Approve | Transcript Recovery |
|
|
85
|
-
|-----|-----|-------------|-------------------|
|
|
86
|
-
| Claude Code | ✓ | ✓ | Full (hooks + JSONL) |
|
|
87
|
-
| Cursor | ✓ | ✓ | Full (agent transcripts) |
|
|
88
|
-
| Roo Code (VS Code) | ✓ | ✓ | Full (task history) |
|
|
89
|
-
| Codex | ✓ | ✓ | Full (session JSONL) |
|
|
90
|
-
| Continue | ✓ | ✓ | Full (session JSON) |
|
|
91
|
-
| Windsurf | ✓ | ✓ | Incremental only |
|
|
92
|
-
| Goose | — | — | Full (SQLite) |
|
|
93
|
-
|
|
94
|
-
All IDEs share the same knowledge database. A rule learned in Claude Code is injected in Cursor the next time you open it.
|
|
95
|
-
|
|
96
|
-
## Security Model
|
|
97
|
-
|
|
98
|
-
AgentCache creates a feedback loop: agents write observations → observations compile → knowledge injects into future sessions. This is the product's value **and** its attack surface.
|
|
99
|
-
|
|
100
|
-
**Quarantine gate**: Agent-submitted observations require confirmation across 2+ independent sessions before injection. A single prompt-injected `compile_submit` cannot poison your knowledge.
|
|
101
|
-
|
|
102
|
-
**Human-only enforcement**: Policy rules (that block tool calls) can only be created via CLI. No MCP tool can create policy.
|
|
103
|
-
|
|
104
|
-
**Scope gate**: Agent-submitted observations are always project-scoped. Global requires explicit human action.
|
|
105
|
-
|
|
106
|
-
### Security Modes
|
|
107
|
-
|
|
108
|
-
```json
|
|
109
|
-
{ "security": "auto" }
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
| Mode | Behavior |
|
|
113
|
-
|------|----------|
|
|
114
|
-
| `auto` | Quarantine — new items inject after 2+ session confirmations |
|
|
115
|
-
| `review` | Nothing injects until `agentcache review` approves it |
|
|
116
|
-
| `locked` | `compile_submit` disabled. Human-triggered batch only |
|
|
117
|
-
|
|
118
|
-
## CLI
|
|
111
|
+
Non-interactive and JSON runs never open the picker; they fail if the session
|
|
112
|
+
ID is absent. They return the same bounded public capsule as `session_resume`;
|
|
113
|
+
pass one or more IDs to `--exclude-event <event-id...>` to omit known capsule
|
|
114
|
+
events. Exclusion is
|
|
115
|
+
not deletion or access control: it affects only this initial capsule, and a
|
|
116
|
+
same-workspace destination can still request those events with
|
|
117
|
+
`session_history`. See [the demo script](docs/demo-script.md) for a complete
|
|
118
|
+
Claude Code → Codex → Cursor fork walkthrough.
|
|
119
|
+
|
|
120
|
+
## Resume and fork semantics
|
|
121
|
+
|
|
122
|
+
- `continue` adds a new client leg to the same portable session.
|
|
123
|
+
- `fork` creates a child session anchored to an immutable parent checkpoint;
|
|
124
|
+
later parent and child events remain independent.
|
|
125
|
+
- An active source writer blocks continuation unless the human explicitly
|
|
126
|
+
confirms takeover with `--confirm-active-source`; for parallel work, fork.
|
|
127
|
+
- A handoff is single-use, expires after ten minutes, and is bound to one
|
|
128
|
+
destination adapter, workspace, and exact prepared capsule.
|
|
129
|
+
- Interactive cancellation and prompt failures delete the unconsumed draft;
|
|
130
|
+
superseded drafts are deleted before an exclusion-adjusted capsule is made.
|
|
131
|
+
- A changed session head, wrong destination, wrong workspace, expired token, or
|
|
132
|
+
reused token is rejected rather than guessed around.
|
|
133
|
+
- Long history is marked partial and can be fetched in bounded pages with
|
|
134
|
+
`session history` or the MCP `session_history` tool.
|
|
135
|
+
|
|
136
|
+
## Compatibility
|
|
137
|
+
|
|
138
|
+
The table below is generated as a documentation contract against the runtime
|
|
139
|
+
adapter registry. `experimental` means the parser or registration is covered by
|
|
140
|
+
fixtures but does not yet have dated live-client evidence. `unsupported` means
|
|
141
|
+
AgentCache will report the limitation instead of pretending the operation
|
|
142
|
+
works. Modes describe how the adapter capability is implemented.
|
|
143
|
+
|
|
144
|
+
<!-- runtime-capability-matrix:start -->
|
|
145
|
+
| Client | Adapter ID | Registration | History | Native resume | Append | Checkpoint | Fork | Launch |
|
|
146
|
+
|---|---|---|---|---|---|---|---|---|
|
|
147
|
+
| Claude Code | claude-code | experimental / mcp-cooperative | experimental / local-snapshot | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
148
|
+
| Cursor | cursor | experimental / mcp-cooperative | experimental / local-snapshot | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
149
|
+
| Roo Code | roo-code | experimental / mcp-cooperative | experimental / local-snapshot | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
150
|
+
| Windsurf | windsurf | experimental / mcp-cooperative | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
151
|
+
| Continue | continue | experimental / mcp-cooperative | experimental / local-snapshot | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
152
|
+
| Codex | codex | experimental / mcp-cooperative | experimental / local-snapshot | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
153
|
+
| Goose | goose | experimental / mcp-cooperative | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none | unsupported / none |
|
|
154
|
+
<!-- runtime-capability-matrix:end -->
|
|
155
|
+
|
|
156
|
+
The `native resume`, `append`, `checkpoint`, `fork`, and `launch` columns are
|
|
157
|
+
client-native adapter capabilities. The beta's portable append, checkpoint,
|
|
158
|
+
resume, and fork operations are provided through AgentCache's shared MCP/CLI
|
|
159
|
+
session layer; they do not write those operations into vendor-owned histories.
|
|
160
|
+
Windsurf and Goose historical recovery are unsupported. Goose MCP registration
|
|
161
|
+
uses its documented 1.39 YAML schema but remains experimental.
|
|
162
|
+
|
|
163
|
+
For evidence, limitations, source formats, and how to read the matrix, see
|
|
164
|
+
[Compatibility](docs/compatibility.md). The live source of truth is:
|
|
119
165
|
|
|
120
166
|
```bash
|
|
121
|
-
agentcache
|
|
122
|
-
agentcache
|
|
123
|
-
agentcache review # Approve/reject quarantined items
|
|
124
|
-
agentcache promote <id> # Approve a single item
|
|
125
|
-
agentcache add-rule "never force push" --enforce # Create policy (human-only)
|
|
126
|
-
agentcache compile-all # Batch-compile all transcripts
|
|
127
|
-
agentcache setup # Re-register with IDEs
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## compile-all
|
|
131
|
-
|
|
132
|
-
Processes all uncompiled transcripts from all IDEs using the first available LLM backend:
|
|
133
|
-
|
|
134
|
-
1. CLI tools: `claude`, `codex`, `gemini`, `copilot`, `aider`, `goose`
|
|
135
|
-
2. Ollama at `localhost:11434`
|
|
136
|
-
3. `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`
|
|
137
|
-
|
|
138
|
-
Runs automatically on install and when pending transcripts exceed 20.
|
|
139
|
-
|
|
140
|
-
## Data
|
|
141
|
-
|
|
167
|
+
agentcache adapter list --json
|
|
168
|
+
agentcache adapter doctor <adapter-id> --json
|
|
142
169
|
```
|
|
143
|
-
~/.agentcache/
|
|
144
|
-
├── agentcache.db # Knowledge database (SQLite + WAL)
|
|
145
|
-
├── config.json # Security mode
|
|
146
|
-
└── compile-all.lock # Prevents concurrent compilation
|
|
147
170
|
|
|
148
|
-
|
|
149
|
-
|
|
171
|
+
## Command reference
|
|
172
|
+
|
|
173
|
+
These are the public beta session-continuity commands. Options are abbreviated
|
|
174
|
+
here; use `agentcache <group> <command> --help` for the complete syntax.
|
|
175
|
+
|
|
176
|
+
<!-- beta-command-matrix:start -->
|
|
177
|
+
| Command | Purpose |
|
|
178
|
+
|---|---|
|
|
179
|
+
| `session list` | Discover and list sessions for the current workspace. |
|
|
180
|
+
| `session inspect` | Inspect one portable session. |
|
|
181
|
+
| `session resume` | Prepare an explicit one-use destination handoff. |
|
|
182
|
+
| `session append` | Append one human-authorized portable event. |
|
|
183
|
+
| `session checkpoint` | Create one human-authorized checkpoint. |
|
|
184
|
+
| `session fork` | Prepare an explicit fork from a checkpoint. |
|
|
185
|
+
| `session history` | Read a bounded page of portable history. |
|
|
186
|
+
| `handoff list` | List pending handoffs for the current workspace. |
|
|
187
|
+
| `handoff cancel` | Cancel one pending handoff. |
|
|
188
|
+
| `adapter list` | List supported runtime adapter definitions. |
|
|
189
|
+
| `adapter doctor` | Probe one adapter and show capability evidence. |
|
|
190
|
+
| `adapter register` | Register AgentCache with one detected client. |
|
|
191
|
+
| `adapter unregister` | Remove AgentCache-owned registration for one client. |
|
|
192
|
+
<!-- beta-command-matrix:end -->
|
|
193
|
+
|
|
194
|
+
The exact argument and option contract is checked against the real Commander
|
|
195
|
+
command objects. “Required options” must be present for Commander to invoke the
|
|
196
|
+
handler; angle brackets on an optional option mean that the option takes a
|
|
197
|
+
value, not that the option itself is mandatory.
|
|
198
|
+
|
|
199
|
+
<!-- cli-help-contract:start -->
|
|
200
|
+
| Command | Arguments | Required options | Optional options |
|
|
201
|
+
|---|---|---|---|
|
|
202
|
+
| `session list` | — | — | `--adapter <id>; --status <status>; --json` |
|
|
203
|
+
| `session inspect` | `<session-id>` | — | `--json` |
|
|
204
|
+
| `session resume` | `[session-id]` | `--to <adapter>` | `--checkpoint <id>; --fork; --confirm-active-source; --exclude-event <event-id...>; --json` |
|
|
205
|
+
| `session append` | `<session-id>` | `--kind <kind>` | `--text <text>; --stdin; --json` |
|
|
206
|
+
| `session checkpoint` | `<session-id>` | — | `--summary <text>; --summary-file <path>; --state-file <path>; --json` |
|
|
207
|
+
| `session fork` | `<session-id>` | `--from <checkpoint-id|latest>; --to <adapter>` | `--title <title>; --exclude-event <event-id...>; --json` |
|
|
208
|
+
| `session history` | `<session-id>` | — | `--before <cursor>; --limit <number>; --json` |
|
|
209
|
+
| `handoff list` | — | — | `--json` |
|
|
210
|
+
| `handoff cancel` | `<handoff-id>` | — | `--json` |
|
|
211
|
+
| `adapter list` | — | — | `--json` |
|
|
212
|
+
| `adapter doctor` | `<adapter-id>` | — | `--json` |
|
|
213
|
+
| `adapter register` | `<adapter-id>` | — | — |
|
|
214
|
+
| `adapter unregister` | `<adapter-id>` | — | — |
|
|
215
|
+
<!-- cli-help-contract:end -->
|
|
216
|
+
|
|
217
|
+
`session append` requires exactly one of `--text` or `--stdin`. `session
|
|
218
|
+
checkpoint` accepts at most one of `--summary`, `--summary-file`, or
|
|
219
|
+
`--state-file`. A non-interactive or `--json` resume requires an explicit
|
|
220
|
+
session ID.
|
|
221
|
+
|
|
222
|
+
## Data flow and safety boundary
|
|
223
|
+
|
|
224
|
+
```text
|
|
225
|
+
read-only native history (when verified)
|
|
226
|
+
│ bounded read + normalization + redaction
|
|
227
|
+
▼
|
|
228
|
+
~/.agentcache/agentcache-v2.db
|
|
229
|
+
│ explicit checkpoint + one-use handoff
|
|
230
|
+
▼
|
|
231
|
+
destination MCP session
|
|
232
|
+
│ hosted-client provider boundary
|
|
233
|
+
▼
|
|
234
|
+
destination model
|
|
150
235
|
```
|
|
151
236
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
237
|
+
AgentCache stores v2 session data locally with user-only filesystem
|
|
238
|
+
permissions. It rejects symbolic, special, or multiply linked database and
|
|
239
|
+
SQLite sidecar paths, uses bounded transcript reads, rejects transcript
|
|
240
|
+
symlinks, redacts known credential shapes and absolute local paths from
|
|
241
|
+
portable text, and labels resume data `untrusted_prior_session_context`.
|
|
242
|
+
Redaction is defense in depth, not a proof that arbitrary secrets cannot
|
|
243
|
+
appear; inspect sensitive sessions before handing them to another provider.
|
|
244
|
+
|
|
245
|
+
Setup does not add blanket AgentCache tool approvals. Registration updates are
|
|
246
|
+
atomic, back up an existing configuration before a material change, and leave
|
|
247
|
+
malformed or ambiguous configurations untouched. AgentCache does not mutate Git
|
|
248
|
+
or write generated context into a repository in the default beta path.
|
|
249
|
+
|
|
250
|
+
Read the complete [privacy and trust boundary](docs/privacy.md) before using the
|
|
251
|
+
beta with sensitive repositories.
|
|
252
|
+
|
|
253
|
+
## Beta limits
|
|
254
|
+
|
|
255
|
+
- Same machine only. Cloud sync, accounts, teams, and cross-device continuation
|
|
256
|
+
are deferred.
|
|
257
|
+
- There is no native picker UI; the terminal picker is the control plane.
|
|
258
|
+
- Native client history formats can change. All current adapters are marked
|
|
259
|
+
experimental or unsupported until dated live-client verification exists.
|
|
260
|
+
- Windsurf and Goose can participate prospectively through MCP registration,
|
|
261
|
+
but their historical recovery is unsupported.
|
|
262
|
+
- AgentCache cannot carry hidden reasoning, private provider state, or tool
|
|
263
|
+
approvals between clients.
|
|
264
|
+
- A Markdown fallback is intentionally not generated when a destination is
|
|
265
|
+
unavailable; the pending handoff remains until it is consumed, cancelled, or
|
|
266
|
+
expires.
|
|
267
|
+
|
|
268
|
+
## Legacy 0.4 data
|
|
269
|
+
|
|
270
|
+
Version 0.5 creates `~/.agentcache/agentcache-v2.db` beside the legacy
|
|
271
|
+
`~/.agentcache/agentcache.db`; it does not translate or mutate compiled v1
|
|
272
|
+
knowledge. Legacy v1 CLI commands are not registered in the beta: `compile-session`,
|
|
273
|
+
`discover`, `enforce`, `review`, `promote`, `add-rule`, `compile-all`, and
|
|
274
|
+
`status` are unavailable. Setup, installation, startup, session discovery, and
|
|
275
|
+
idle operation cannot invoke legacy compilation. Automatic `SKILL.md`
|
|
276
|
+
generation is not part of the beta path.
|
|
277
|
+
|
|
278
|
+
This preserves the original “your codebase learns” experiment without making
|
|
279
|
+
its legacy compiler the trust boundary for cross-agent continuation.
|
|
280
|
+
|
|
281
|
+
## Operations and feedback
|
|
282
|
+
|
|
283
|
+
- [Troubleshooting, uninstall, and rollback](docs/troubleshooting.md)
|
|
284
|
+
- [Privacy and data flow](docs/privacy.md)
|
|
285
|
+
- [Compatibility details](docs/compatibility.md)
|
|
286
|
+
- [60–90 second demo](docs/demo-script.md)
|
|
287
|
+
- [Launch copy](docs/launch-copy.md)
|
|
288
|
+
- [Open a structured beta-feedback issue](https://github.com/raghav-a21ai/agentcache/issues/new?template=beta-feedback.yml)
|
|
289
|
+
|
|
290
|
+
## Development
|
|
163
291
|
|
|
164
292
|
```bash
|
|
165
293
|
git clone https://github.com/raghav-a21ai/agentcache
|
|
166
294
|
cd agentcache
|
|
167
295
|
npm install
|
|
296
|
+
npm run typecheck
|
|
168
297
|
npm run build
|
|
169
|
-
npm test
|
|
298
|
+
npm test
|
|
170
299
|
```
|
|
171
300
|
|
|
172
301
|
## License
|