@agimon-ai/doompi-file-edit 0.0.1-alpha.21 → 0.0.1-alpha.22

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.
Files changed (2) hide show
  1. package/README.md +61 -19
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,37 +1,79 @@
1
1
  # @agimon-ai/doompi-file-edit
2
2
 
3
- **Every edit in the session, in one place.**
3
+ A session-scoped file-change timeline and external-editor launcher for Pi.
4
4
 
5
- This package keeps a timeline of files the current Pi session changed and opens them in an
6
- external editor when the terminal view is not enough. It is the answer to "what did the
7
- agent touch?" without asking the transcript to remember every write.
5
+ The package records files changed by successful `edit` and `write` calls and literal file paths detected in successful Bash changes. It presents the current session's work without relying on the transcript to remember every path.
8
6
 
9
- This is part of [Doompi](https://www.npmjs.com/package/@agimon-ai/doompi). Most users get
10
- it with the distribution.
7
+ > **Alpha:** timeline and UI contracts may change between releases.
8
+
9
+ ## Requirements
10
+
11
+ - Node.js 22.19.0 or newer
12
+ - Pi 0.84.2 and Pi TUI 0.84.2
13
+ - Git for diffs against `HEAD`
11
14
 
12
15
  ## Install
13
16
 
17
+ DoomPi loads the Doom adapter as core. For standalone Pi:
18
+
14
19
  ```bash
15
- npm install @agimon-ai/doompi-file-edit
20
+ pi install npm:@agimon-ai/doompi-file-edit
16
21
  ```
17
22
 
18
- ## How it loads
23
+ | Entry | Purpose |
24
+ | --------------------------------------------- | -------------------------------------- |
25
+ | `@agimon-ai/doompi-file-edit/extensions/doom` | DoomPi adapter and Leader contribution |
26
+ | `@agimon-ai/doompi-file-edit/extensions/pi` | Standalone Pi adapter |
27
+ | `@agimon-ai/doompi-file-edit` | Library API |
28
+
29
+ ## Open the timeline
30
+
31
+ Use `SPC e f` in DoomPi. Select a file to inspect its diff or open it in the configured editor.
19
32
 
20
- Doompi loads the edit timeline as core. It is not a layer and does not appear in
21
- `.doom/modes.yaml`. The bare package name follows its Pi manifest and selects the Doom
22
- adapter; explicit `/extensions/pi` and `/extensions/doom` subpaths remain available.
33
+ Diffs compare the working tree with Git `HEAD` and are capped at 200 lines and 256 KiB. Files outside Git history or changes that cannot be attributed to a literal Bash path may have limited timeline detail.
34
+
35
+ The overlay and external-editor handoff require an interactive TUI. Headless hosts can consume the timeline services but cannot display the panel.
36
+
37
+ ## Configure the editor
38
+
39
+ Set the shared DoomPi configuration in `~/.pi/.doom/config.yaml`:
40
+
41
+ ```yaml
42
+ editor:
43
+ command: nvim +{line} {file}
44
+ ```
23
45
 
24
- ## Leader
46
+ For a standalone installation, the package falls back to `~/.pi/agent/doom-file-edit/config.yaml`. Resolution order is:
25
47
 
26
- `SPC e f` opens the files edited by the current session.
48
+ 1. DoomPi `editor.command`;
49
+ 2. package fallback configuration;
50
+ 3. `$VISUAL`;
51
+ 4. `$EDITOR`;
52
+ 5. `nano {file}` on Unix-like systems.
27
53
 
28
- ## Entry points
54
+ Only `{file}` and `{line}` placeholders are expanded. The command is split and spawned directly, not passed through a shell, so shell operators and expansions are not interpreted.
29
55
 
30
- | Import | Purpose |
31
- | --------------------------------------------- | --------------------- |
32
- | `@agimon-ai/doompi-file-edit` | Library API |
33
- | `@agimon-ai/doompi-file-edit/extensions/pi` | Standalone Pi adapter |
34
- | `@agimon-ai/doompi-file-edit/extensions/doom` | Doompi adapter |
56
+ ## Data behavior
57
+
58
+ The timeline contains file paths and Git-derived diff content from the current session. That content can be sensitive. It is stored in session-scoped package state and should be protected with the same access controls as Pi session data.
59
+
60
+ ## Public API
61
+
62
+ ```ts
63
+ import { createFileEditContainer, fileEditExtension } from '@agimon-ai/doompi-file-edit';
64
+ import type { FileDiff, FileEditEntry } from '@agimon-ai/doompi-file-edit';
65
+ ```
66
+
67
+ The root also exports editor-resolution and timeline domain types for host integrations.
68
+
69
+ ## Development
70
+
71
+ ```bash
72
+ pnpm build
73
+ pnpm typecheck
74
+ pnpm test
75
+ pnpm lint
76
+ ```
35
77
 
36
78
  ## License
37
79
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-file-edit",
3
- "version": "0.0.1-alpha.21",
3
+ "version": "0.0.1-alpha.22",
4
4
  "description": "Pi session file edit timeline and external editor overlay",
5
5
  "keywords": [
6
6
  "ai",
@@ -45,10 +45,10 @@
45
45
  "cross-spawn": "7.0.6",
46
46
  "inversify": "8.2.1",
47
47
  "reflect-metadata": "0.2.2",
48
- "@agimon-ai/doompi-config": "0.0.1-alpha.21",
49
- "@agimon-ai/doompi-telemetry": "0.0.1-alpha.21",
50
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.21",
51
- "@agimon-ai/doompi-ui": "0.0.1-alpha.21"
48
+ "@agimon-ai/doompi-config": "0.0.1-alpha.22",
49
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.22",
50
+ "@agimon-ai/doompi-telemetry": "0.0.1-alpha.22",
51
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.22"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@earendil-works/pi-coding-agent": "0.84.2",