pi-vault-mind 0.16.29 → 0.16.31
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 +44 -0
- package/README.md +215 -13
- package/dist/src/commands.js +7 -7
- package/dist/src/context-capture.d.ts +11 -6
- package/dist/src/context-capture.js +12 -7
- package/dist/src/events.d.ts +2 -2
- package/dist/src/events.js +109 -132
- package/dist/src/index.js +9 -8
- package/dist/src/personalize.js +2 -2
- package/dist/src/settings-ui.js +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.js +1 -1
- package/dist/src/utils.js +3 -3
- package/dist/test/check-deps-script.test.js +102 -0
- package/dist/test/context-capture.test.js +34 -14
- package/dist/test/events.test.js +210 -132
- package/dist/test/pvm-cli.test.js +118 -0
- package/dist/test/pvm-setup.test.js +218 -0
- package/dist/test/utils.test.js +26 -4
- package/dist/test/vault-pi-script.test.js +119 -0
- package/package.json +22 -7
- package/pi-vault-mind.config.example.json +1 -1
- package/runtime/pvm-extensions.json +11 -0
- package/runtime/skills/LICENSE +21 -0
- package/runtime/skills/json-canvas/SKILL.md +244 -0
- package/runtime/skills/json-canvas/references/EXAMPLES.md +329 -0
- package/runtime/skills/nlm-skill/LICENSE +21 -0
- package/runtime/skills/nlm-skill/SKILL.md +936 -0
- package/runtime/skills/nlm-skill/references/command_reference.md +1072 -0
- package/runtime/skills/nlm-skill/references/remote-mcp.md +83 -0
- package/runtime/skills/nlm-skill/references/studio-prompt-examples.md +420 -0
- package/runtime/skills/nlm-skill/references/studio-prompting-guide.md +399 -0
- package/runtime/skills/nlm-skill/references/troubleshooting.md +427 -0
- package/runtime/skills/nlm-skill/references/workflows.md +572 -0
- package/runtime/skills/obsidian-bases/SKILL.md +499 -0
- package/runtime/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
- package/runtime/skills/obsidian-cli/SKILL.md +106 -0
- package/runtime/skills/obsidian-markdown/SKILL.md +196 -0
- package/runtime/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/runtime/skills/obsidian-markdown/references/EMBEDS.md +70 -0
- package/runtime/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/scripts/check-deps.sh +182 -118
- package/scripts/generate-extension-packages-json.mjs +5 -5
- package/scripts/pvm-setup.mjs +218 -0
- package/scripts/pvm.mjs +173 -0
- package/scripts/setup-vault-pi.sh +2 -66
- package/scripts/vault-pi.sh +108 -13
- package/skills/github-release-notes-file/SKILL.md +0 -42
- package/skills/obsidian-guided-test-session/SKILL.md +0 -110
- package/skills/obsidian-interactive-test/SKILL.md +0 -88
- package/skills/obsidian-plugin-publish/SKILL.md +0 -58
- package/skills/pi-vault-mind-release/SKILL.md +0 -141
- package/skills/pre-test-release/SKILL.md +0 -116
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.16.31 — 2026-08-28
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **One-command vault setup.** `pvm setup [vault-path]` installs the complete vault-local extension, task/subagent, NotebookLM, and curated skill profile before merge-safely scaffolding Vault Mind, model-router, and main-agent configuration.
|
|
8
|
+
- **Resource-only repair.** `pvm setup --resources-only [vault-path]` refreshes extensions, tools, and skills without changing vault configuration.
|
|
9
|
+
- **Dependency audit and repair.** `pvm check-deps [--fix] [--strict] [--obsidian] [vault-path]` verifies the host runtime, vault-local extensions, curated skills, and optional content or Obsidian tooling.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- **Pi 0.84.3 runtime.** Development and compatibility checks now target `@earendil-works/pi-coding-agent` and `@earendil-works/pi-tui` 0.84.3.
|
|
14
|
+
- **Node.js 22.19 runtime floor.** Package metadata, dependency audits, and setup documentation now match the minimum Node version required by Pi 0.84.3.
|
|
15
|
+
- **Current task and subagent extensions.** New vault setup installs `@juicesharp/rpiv-todo` 2.7.1 and `pi-subagents` 0.58.0, while removing the obsolete `@tintinweb/pi-tasks` package.
|
|
16
|
+
- **Pi Context 2.1.2 integration.** Session-start and turn-end capture now use the current checkpoint and context-event APIs.
|
|
17
|
+
- **Curated package surface.** Published Pi discovery exposes only Vault Mind usage, setup, and specialist content skills; internal release, plugin-development, and test workflows are no longer shipped as runtime skills.
|
|
18
|
+
- **Reproducible package tooling.** The repository now pins pnpm 10.34.5 so Corepack does not select an incompatible pnpm major during clean release builds.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **Quiet main-agent startup.** Automatic context management initializes without injecting a synthetic `/acm` user message into a new session.
|
|
23
|
+
- **Stable Pi launcher selection.** Setup avoids transient `npx` binaries and consistently provisions the vault-local agent directory with the installed Pi runtime.
|
|
24
|
+
|
|
25
|
+
### Verification
|
|
26
|
+
|
|
27
|
+
- Node 24.19.0 with pnpm 10.34.5: dependency install, core build, and package-scoped Biome check completed successfully.
|
|
28
|
+
- Full core test suite: 937/937 passing.
|
|
29
|
+
- Packed `pi-vault-mind-0.16.31.tgz` successfully; the packaged `pvm --help` executable ran and exposed the `run`, `setup`, and `check-deps` commands.
|
|
30
|
+
|
|
31
|
+
## 0.16.30 — 2026-08-27
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- **First-class `pvm` executable.** The npm package now exposes `pvm run [vault-path]`; it uses the current directory when the vault path is omitted and supports both global installation and `npx pi-vault-mind run`.
|
|
36
|
+
- **Explicit launch modes.** `pvm run` stays in the current terminal by default, with `--same-terminal`, `--new-window`, and `--auto` overrides.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- **Portable vault launcher.** `vault-pi.sh` now handles interactive terminals directly, normalizes relative vault paths before deriving runtime state, removes inline-session PID files on exit, and rejects unknown flags instead of treating them as vault paths.
|
|
41
|
+
|
|
42
|
+
### Verification
|
|
43
|
+
|
|
44
|
+
- Root and Obsidian builds passed; full test suite: 910/910 passing.
|
|
45
|
+
- `npm pack` includes `scripts/pvm.mjs` as an executable, and `npm exec` resolved the packed tarball's `pvm` command successfully.
|
|
46
|
+
|
|
3
47
|
## 0.16.29 — 2026-08-27
|
|
4
48
|
|
|
5
49
|
### Fixed
|
package/README.md
CHANGED
|
@@ -176,7 +176,7 @@ The Broadcaster agent can generate podcasts, study guides, and slide decks from
|
|
|
176
176
|
|
|
177
177
|
### Prerequisites
|
|
178
178
|
|
|
179
|
-
- **Node.js**
|
|
179
|
+
- **Node.js** 22.19.0+ (matches `engines` in `package.json`)
|
|
180
180
|
- **Embedding Provider** — choose one:
|
|
181
181
|
- `@xenova/transformers` — built-in, no external deps (uses all-MiniLM-L6-v2, offline-capable)
|
|
182
182
|
- `ollama` — requires Ollama running locally with `embeddinggemma` (higher quality)
|
|
@@ -190,32 +190,66 @@ The Broadcaster agent can generate podcasts, study guides, and slide decks from
|
|
|
190
190
|
> bearer token are private to whoever owns it. (A standalone PyPI package for the
|
|
191
191
|
> server may come later.)
|
|
192
192
|
|
|
193
|
-
### 1. Install
|
|
193
|
+
### 1. Install and set up the vault-local runtime
|
|
194
|
+
|
|
195
|
+
Install the first-class `pvm` CLI once, then run setup against a vault:
|
|
194
196
|
|
|
195
197
|
```bash
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
npm install --global pi-vault-mind
|
|
199
|
+
pvm setup /path/to/your/vault
|
|
200
|
+
pvm run /path/to/your/vault
|
|
199
201
|
```
|
|
200
202
|
|
|
201
|
-
|
|
203
|
+
`pvm setup` is safe to repeat. It installs or updates the required Vault Mind,
|
|
204
|
+
context, model-routing, task, and subagent extensions inside
|
|
205
|
+
`<vault>/.vault-mind/.pi/agent/`; installs the curated `obsidian-cli`,
|
|
206
|
+
`obsidian-markdown`, `obsidian-bases`, and `json-canvas` skills; and
|
|
207
|
+
merge-safely scaffolds Vault Mind, model-router, and main-agent configuration.
|
|
208
|
+
Existing user configuration, collections, model choices, and `system.md` are
|
|
209
|
+
preserved.
|
|
210
|
+
|
|
211
|
+
Refresh only extensions, tools, and skills without touching vault
|
|
212
|
+
configuration:
|
|
202
213
|
|
|
203
214
|
```bash
|
|
204
|
-
|
|
215
|
+
pvm setup --resources-only /path/to/your/vault
|
|
205
216
|
```
|
|
206
217
|
|
|
207
|
-
|
|
218
|
+
Audit the isolated runtime without changing it, or repair it in place:
|
|
208
219
|
|
|
209
|
-
```
|
|
210
|
-
/
|
|
220
|
+
```bash
|
|
221
|
+
pvm check-deps /path/to/your/vault
|
|
222
|
+
pvm check-deps --fix /path/to/your/vault
|
|
211
223
|
```
|
|
212
224
|
|
|
213
|
-
|
|
214
|
-
|
|
225
|
+
Add `--strict` to fail when optional tools are missing and `--obsidian` to
|
|
226
|
+
include recommended Obsidian plugin checks.
|
|
215
227
|
|
|
216
|
-
|
|
228
|
+
Run either mode without a global installation:
|
|
217
229
|
|
|
218
230
|
```bash
|
|
231
|
+
npx --yes pi-vault-mind setup /path/to/your/vault
|
|
232
|
+
npx --yes pi-vault-mind run /path/to/your/vault
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Installing only the Pi extension remains supported:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
pi install npm:pi-vault-mind
|
|
239
|
+
pi -e npm:pi-vault-mind
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 2. Configure interactively when needed
|
|
243
|
+
|
|
244
|
+
Inside Pi, use the wizard to choose or change embedding providers, folder
|
|
245
|
+
layout, and other user-facing settings:
|
|
246
|
+
|
|
247
|
+
```text
|
|
248
|
+
/vm setup
|
|
249
|
+
```
|
|
250
|
+
For a non-interactive repair inside Pi:
|
|
251
|
+
|
|
252
|
+
```text
|
|
219
253
|
/vm setup --vault /home/you/Obsidian/MyVault --remoteUrl https://your-embedding-service-url.example.com --model embeddinggemma
|
|
220
254
|
```
|
|
221
255
|
|
|
@@ -269,6 +303,174 @@ Edit `<vault>/.vault-mind/vault-mind.config.json` to match your domain:
|
|
|
269
303
|
}
|
|
270
304
|
```
|
|
271
305
|
|
|
306
|
+
## Using Vault Mind agent identities
|
|
307
|
+
|
|
308
|
+
Vault Mind keeps the interactive Pi session on the unrestricted `main` persona
|
|
309
|
+
unless you explicitly select a specialist boundary. Bundled specialist skills
|
|
310
|
+
are available resources; merely loading them does not change the active
|
|
311
|
+
persona.
|
|
312
|
+
|
|
313
|
+
### Start the vault-local main agent
|
|
314
|
+
|
|
315
|
+
From the vault directory, start Pi in the current terminal:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
pvm run
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
You can launch a different vault from anywhere or use the package without a
|
|
322
|
+
global install:
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
pvm run /path/to/your/vault
|
|
326
|
+
npx --yes pi-vault-mind run /path/to/your/vault
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
`pvm run` defaults to the current terminal. This is the recommended Obsidian
|
|
330
|
+
Terminal profile command. Use a vault-path placeholder supplied by the plugin,
|
|
331
|
+
or provide the vault's absolute path. Override the launch mode when needed:
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
pvm run --same-terminal /path/to/your/vault
|
|
335
|
+
pvm run --new-window /path/to/your/vault
|
|
336
|
+
pvm run --auto /path/to/your/vault
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
`--new-window` opens a dedicated Terminal/iTerm window. `--auto` uses the
|
|
340
|
+
current terminal when attached to a TTY and falls back to a new window
|
|
341
|
+
otherwise. The packaged shell launcher remains available for direct use as
|
|
342
|
+
`scripts/vault-pi.sh`.
|
|
343
|
+
|
|
344
|
+
In every mode, the launcher runs Pi inside the target vault with its
|
|
345
|
+
configuration isolated under `<vault>/.vault-mind/.pi/agent/`. It also prevents
|
|
346
|
+
two launcher-managed Pi processes from running for the same vault and removes
|
|
347
|
+
the PID file when an inline session exits.
|
|
348
|
+
|
|
349
|
+
Check the active persona after startup:
|
|
350
|
+
|
|
351
|
+
```text
|
|
352
|
+
/vm identity status
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
A normal main-agent session reports:
|
|
356
|
+
|
|
357
|
+
```text
|
|
358
|
+
Persona: main
|
|
359
|
+
Effective boundary: none (main agent)
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
`Injection` may report `enabled` or `disabled`. An enabled injector still
|
|
363
|
+
applies no boundary while the persona is `main`.
|
|
364
|
+
|
|
365
|
+
### Use specialist agents without changing the main session
|
|
366
|
+
|
|
367
|
+
Normally, leave the interactive session on `main` and dispatch specialist work
|
|
368
|
+
through the passive watcher:
|
|
369
|
+
|
|
370
|
+
```text
|
|
371
|
+
@agent-Miner
|
|
372
|
+
Research and extract the durable facts from this note.
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
The watcher runs that work as an isolated specialist job. It does not turn the
|
|
376
|
+
interactive terminal into the Miner persona. The same distinction applies to
|
|
377
|
+
`@agent-Broadcaster`, `@agent-Manager`, and `@agent-Heavy-Lifter`.
|
|
378
|
+
|
|
379
|
+
### Explicitly change the interactive persona
|
|
380
|
+
|
|
381
|
+
Use an identity boundary only when the current interactive session itself
|
|
382
|
+
should follow a specialist capability contract:
|
|
383
|
+
|
|
384
|
+
```text
|
|
385
|
+
/vm identity set miner
|
|
386
|
+
/vm identity set broadcaster
|
|
387
|
+
/vm identity set manager
|
|
388
|
+
/vm identity set heavy-lifter
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
| Persona | Intended interactive boundary |
|
|
392
|
+
|---|---|
|
|
393
|
+
| `main` | Unrestricted primary agent with the full configured toolset |
|
|
394
|
+
| `manager` | Orchestrates collections, publishing, and subagents; does not run Bash |
|
|
395
|
+
| `miner` | Extracts and stores knowledge; does not run Bash or publish |
|
|
396
|
+
| `broadcaster` | Produces presentation artifacts; does not run Bash or write durable knowledge |
|
|
397
|
+
| `heavy-lifter` | Performs file and Bash work in isolation; does not write durable knowledge or publish |
|
|
398
|
+
|
|
399
|
+
`/vm identity set <role>` persists the selected persona, enables boundary
|
|
400
|
+
injection, and applies on the next agent turn.
|
|
401
|
+
|
|
402
|
+
Use the remaining controls to inspect or suspend that selection:
|
|
403
|
+
|
|
404
|
+
```text
|
|
405
|
+
/vm identity status
|
|
406
|
+
/vm identity off
|
|
407
|
+
/vm identity on
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
- `off` disables boundary injection without discarding the selected persona.
|
|
411
|
+
- `on` re-enables the configured persona boundary on the next agent turn.
|
|
412
|
+
- `status` shows the configured persona, injection switch, effective boundary,
|
|
413
|
+
and any environment overrides.
|
|
414
|
+
|
|
415
|
+
Restore the safe main-agent default with:
|
|
416
|
+
|
|
417
|
+
```text
|
|
418
|
+
/vm identity set main
|
|
419
|
+
/vm identity off
|
|
420
|
+
/vm identity status
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
The final status should show `Effective boundary: none (main agent)`.
|
|
424
|
+
|
|
425
|
+
### Configuration and environment overrides
|
|
426
|
+
|
|
427
|
+
Identity controls are stored in the vault-local configuration:
|
|
428
|
+
|
|
429
|
+
```json
|
|
430
|
+
{
|
|
431
|
+
"vaultMind": {
|
|
432
|
+
"identities": {
|
|
433
|
+
"activeRole": "main",
|
|
434
|
+
"injectBoundaries": false
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
The canonical path is
|
|
441
|
+
`<vault>/.vault-mind/vault-mind.config.json` under
|
|
442
|
+
`vaultMind.identities`. Identity commands preserve any existing
|
|
443
|
+
`vaultMind.identities.roles` allowlists.
|
|
444
|
+
|
|
445
|
+
Launch automation and explicit specialist forks can override the saved values
|
|
446
|
+
for one process:
|
|
447
|
+
|
|
448
|
+
```bash
|
|
449
|
+
VAULT_MIND_AGENT_ROLE=miner VAULT_MIND_IDENTITY_INJECTION=on pi
|
|
450
|
+
VAULT_MIND_IDENTITY_INJECTION=off pi
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
`VAULT_MIND_AGENT_ROLE` takes precedence over `activeRole`.
|
|
454
|
+
`VAULT_MIND_IDENTITY_INJECTION=off` suppresses every boundary, while `on`
|
|
455
|
+
enables the explicitly selected role. Missing, `main`, `none`, and unknown
|
|
456
|
+
roles all resolve safely to the unrestricted main agent.
|
|
457
|
+
|
|
458
|
+
### Troubleshoot an unexpected specialist boundary
|
|
459
|
+
|
|
460
|
+
1. Run `/vm identity status` and check both the configured persona and any
|
|
461
|
+
reported environment overrides.
|
|
462
|
+
2. If an environment override is present, exit Pi, unset
|
|
463
|
+
`VAULT_MIND_AGENT_ROLE` and `VAULT_MIND_IDENTITY_INJECTION`, then relaunch.
|
|
464
|
+
3. Run `/vm identity set main`, followed by `/vm identity off`.
|
|
465
|
+
4. Send the next agent turn and re-run `/vm identity status`; boundary changes
|
|
466
|
+
take effect on the next turn.
|
|
467
|
+
5. Confirm Pi was started for the intended vault and uses
|
|
468
|
+
`<vault>/.vault-mind/.pi/agent/` as `PI_CODING_AGENT_DIR`.
|
|
469
|
+
|
|
470
|
+
Do not edit `SYSTEM.md` or an agent skill to change the interactive identity.
|
|
471
|
+
Those files provide operating instructions and resources; persona selection
|
|
472
|
+
belongs in `vaultMind.identities` or an explicit environment override.
|
|
473
|
+
|
|
272
474
|
## Example domains
|
|
273
475
|
|
|
274
476
|
### Research project
|
package/dist/src/commands.js
CHANGED
|
@@ -259,7 +259,7 @@ const handleInit = async (_args, ctx, pi) => {
|
|
|
259
259
|
const existing = JSON.parse(fs.readFileSync(cfgDest, "utf-8"));
|
|
260
260
|
existing.extensionCompatibility = existing.extensionCompatibility || {};
|
|
261
261
|
existing.extensionCompatibility["pi-context"] = {
|
|
262
|
-
|
|
262
|
+
checkpointPatterns: [],
|
|
263
263
|
enhanceInjectors: false,
|
|
264
264
|
autoEnableAcm: true,
|
|
265
265
|
indexContextEvents: true,
|
|
@@ -314,7 +314,7 @@ const handleValidate = async (_args, ctx, pi) => {
|
|
|
314
314
|
const contextCfg = getPiContextConfig(cfg);
|
|
315
315
|
const willCapture = hasContext && contextCfg.enabled;
|
|
316
316
|
lines.push("", "🧩 Extension Integrations:", " • pi-context:");
|
|
317
|
-
lines.push(` - Tools installed: ${hasContext ? "✅ Yes (
|
|
317
|
+
lines.push(` - Tools installed: ${hasContext ? "✅ Yes (context_checkpoint, context_timeline, context_compact)" : "❌ No"}`);
|
|
318
318
|
lines.push(` - Config enabled: ${contextCfg.enabled ? "✅ Yes" : "❌ No"}`);
|
|
319
319
|
lines.push(` - Will capture events: ${willCapture ? "✅ Yes — on next turn" : "❌ No"}`);
|
|
320
320
|
if (hasContext && !contextCfg.enabled)
|
|
@@ -1122,10 +1122,10 @@ const handleContext = async (args, ctx, pi) => {
|
|
|
1122
1122
|
` - Config enabled: ${piContextCfg.enabled ? "✅" : "❌"}`,
|
|
1123
1123
|
` - Will capture on next turn: ${willCapture ? "✅ Yes" : "❌ No"}`,
|
|
1124
1124
|
"",
|
|
1125
|
-
`
|
|
1126
|
-
...(piContextCfg.
|
|
1127
|
-
? piContextCfg.
|
|
1128
|
-
: [" (none — no
|
|
1125
|
+
`Checkpoint Patterns: ${piContextCfg.checkpointPatterns?.length || 0}`,
|
|
1126
|
+
...(piContextCfg.checkpointPatterns?.length
|
|
1127
|
+
? piContextCfg.checkpointPatterns.map((p) => ` • "${p}"`)
|
|
1128
|
+
: [" (none — no checkpoint-based lookups)"]),
|
|
1129
1129
|
"",
|
|
1130
1130
|
`Enhance Injectors: ${piContextCfg.enhanceInjectors ? "Yes" : "No"}`,
|
|
1131
1131
|
`autoEnableAcm: ${piContextCfg.autoEnableAcm ? "Yes" : "No"}`,
|
|
@@ -1163,7 +1163,7 @@ const _toggleContext = (cfgPath, enabled) => {
|
|
|
1163
1163
|
const existing = JSON.parse(fs.readFileSync(cfgPath, "utf-8"));
|
|
1164
1164
|
existing.extensionCompatibility = existing.extensionCompatibility || {};
|
|
1165
1165
|
existing.extensionCompatibility["pi-context"] = {
|
|
1166
|
-
|
|
1166
|
+
checkpointPatterns: [],
|
|
1167
1167
|
enhanceInjectors: false,
|
|
1168
1168
|
autoEnableAcm: true,
|
|
1169
1169
|
indexContextEvents: true,
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Context Capture — Layer 4
|
|
2
|
+
* Context Capture — Layer 4 pi-context /acm reminder.
|
|
3
|
+
*
|
|
4
|
+
* On extension load, reminds the human to run /acm to enable agentic context
|
|
5
|
+
* management. Does NOT inject /acm as a user or model message; the reminder
|
|
6
|
+
* is an unobtrusive UI notification only.
|
|
3
7
|
*
|
|
4
|
-
* On extension load, auto-sends /acm to enable agentic context management.
|
|
5
8
|
* Injects context_checkpoint instructions into agent task prompts.
|
|
6
9
|
*
|
|
7
10
|
* Note: context_compact requires CommandCtx (only in main session, not
|
|
8
11
|
* subagent forks). Subagent forks use context_checkpoint and context_timeline.
|
|
9
12
|
*/
|
|
10
|
-
import type {
|
|
13
|
+
import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
15
|
+
* Notify the human to run /acm to enable agentic context management.
|
|
16
|
+
*
|
|
17
|
+
* Uses ctx.ui.notify — a transient TUI notification that never enters the
|
|
18
|
+
* session history and is never delivered to the model.
|
|
14
19
|
*/
|
|
15
|
-
export declare function
|
|
20
|
+
export declare function notifyAcmReminder(ctx: ExtensionContext): void;
|
|
16
21
|
/**
|
|
17
22
|
* Build context_checkpoint instructions to inject into a dispatch task prompt.
|
|
18
23
|
*
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Context Capture — Layer 4
|
|
2
|
+
* Context Capture — Layer 4 pi-context /acm reminder.
|
|
3
|
+
*
|
|
4
|
+
* On extension load, reminds the human to run /acm to enable agentic context
|
|
5
|
+
* management. Does NOT inject /acm as a user or model message; the reminder
|
|
6
|
+
* is an unobtrusive UI notification only.
|
|
3
7
|
*
|
|
4
|
-
* On extension load, auto-sends /acm to enable agentic context management.
|
|
5
8
|
* Injects context_checkpoint instructions into agent task prompts.
|
|
6
9
|
*
|
|
7
10
|
* Note: context_compact requires CommandCtx (only in main session, not
|
|
8
11
|
* subagent forks). Subagent forks use context_checkpoint and context_timeline.
|
|
9
12
|
*/
|
|
10
|
-
// ── ACM
|
|
13
|
+
// ── ACM reminder notification ─────────────────────────────────────────────────
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
15
|
+
* Notify the human to run /acm to enable agentic context management.
|
|
16
|
+
*
|
|
17
|
+
* Uses ctx.ui.notify — a transient TUI notification that never enters the
|
|
18
|
+
* session history and is never delivered to the model.
|
|
14
19
|
*/
|
|
15
|
-
export function
|
|
16
|
-
|
|
20
|
+
export function notifyAcmReminder(ctx) {
|
|
21
|
+
ctx.ui.notify("Run /acm to enable agentic context management for this session.", "info");
|
|
17
22
|
}
|
|
18
23
|
// ── Checkpoint instructions for agent task prompts ────────────────────────────
|
|
19
24
|
/**
|
package/dist/src/events.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { BeforeAgentStartEvent, ExtensionAPI, ExtensionContext, TurnEndEvent } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
/**
|
|
3
|
-
* Handles before_agent_start to inject collection entries and pi-context
|
|
3
|
+
* Handles before_agent_start to inject collection entries and pi-context checkpoint matches
|
|
4
4
|
* into the system prompt.
|
|
5
5
|
*/
|
|
6
6
|
export declare const handleBeforeAgentStart: (pi: ExtensionAPI, event: BeforeAgentStartEvent, ctx: ExtensionContext) => Promise<{
|
|
7
7
|
systemPrompt?: string;
|
|
8
8
|
} | undefined>;
|
|
9
9
|
/**
|
|
10
|
-
* Handles turn_end to capture pi-context
|
|
10
|
+
* Handles turn_end to capture pi-context checkpoints and summaries in the
|
|
11
11
|
* context_events collection.
|
|
12
12
|
*/
|
|
13
13
|
export declare const handleTurnEnd: (pi: ExtensionAPI, _event: TurnEndEvent, ctx: ExtensionContext) => Promise<void>;
|