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

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 +65 -19
  2. package/package.json +11 -9
package/README.md CHANGED
@@ -1,37 +1,83 @@
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
+ Part of the [DoomPi distribution](https://www.npmjs.com/package/@agimon-ai/doompi).
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
+ 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
+
9
+ > **Alpha:** timeline and UI contracts may change between releases.
10
+
11
+ ## Requirements
12
+
13
+ - Node.js 22.19.0 or newer
14
+ - Pi 0.84.2 and Pi TUI 0.84.2
15
+ - Git for diffs against `HEAD`
11
16
 
12
17
  ## Install
13
18
 
19
+ DoomPi loads the Doom adapter as core. For standalone Pi:
20
+
14
21
  ```bash
15
- npm install @agimon-ai/doompi-file-edit
22
+ pi install npm:@agimon-ai/doompi-file-edit
16
23
  ```
17
24
 
18
- ## How it loads
25
+ | Entry | Purpose |
26
+ | --------------------------------------------- | -------------------------------------- |
27
+ | `@agimon-ai/doompi-file-edit/extensions/doom` | DoomPi adapter and Leader contribution |
28
+ | `@agimon-ai/doompi-file-edit/extensions/pi` | Standalone Pi adapter |
29
+ | `@agimon-ai/doompi-file-edit` | Library API |
30
+
31
+ ## Open the timeline
32
+
33
+ Use `SPC e f` in DoomPi. Select a file to inspect its diff or open it in the configured editor.
19
34
 
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.
35
+ 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.
36
+
37
+ The overlay and external-editor handoff require an interactive TUI. Headless hosts can consume the timeline services but cannot display the panel.
38
+
39
+ ## Configure the editor
40
+
41
+ Set the shared DoomPi configuration in `~/.pi/.doom/config.yaml`:
42
+
43
+ ```yaml
44
+ editor:
45
+ command: nvim +{line} {file}
46
+ ```
23
47
 
24
- ## Leader
48
+ For a standalone installation, the package falls back to `~/.pi/agent/doom-file-edit/config.yaml`. Resolution order is:
25
49
 
26
- `SPC e f` opens the files edited by the current session.
50
+ 1. DoomPi `editor.command`;
51
+ 2. package fallback configuration;
52
+ 3. `$VISUAL`;
53
+ 4. `$EDITOR`;
54
+ 5. `nano {file}` on Unix-like systems.
27
55
 
28
- ## Entry points
56
+ 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.
57
+
58
+ ## Data behavior
59
+
60
+ 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.
61
+
62
+ ## Public API
63
+
64
+ ```ts
65
+ import { createFileEditContainer, fileEditExtension } from '@agimon-ai/doompi-file-edit';
66
+ import type { FileDiff, FileEditEntry } from '@agimon-ai/doompi-file-edit';
67
+ ```
68
+
69
+ The root also exports editor-resolution and timeline domain types for host integrations.
70
+
71
+ ## Development
72
+
73
+ ```bash
74
+ pnpm build
75
+ pnpm typecheck
76
+ pnpm test
77
+ pnpm lint
78
+ ```
29
79
 
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 |
80
+ Maintained by [Agimon](https://agimon.ai/about).
35
81
 
36
82
  ## License
37
83
 
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-file-edit",
3
- "version": "0.0.1-alpha.21",
4
- "description": "Pi session file edit timeline and external editor overlay",
3
+ "version": "0.0.1-alpha.23",
4
+ "description": "Pi extension for session-scoped file-change timelines and external editor workflows.",
5
5
  "keywords": [
6
- "ai",
7
6
  "coding-agent",
8
- "developer-tools",
9
7
  "doompi",
10
- "pi-package"
8
+ "external-editor",
9
+ "file-editing",
10
+ "pi-coding-agent",
11
+ "pi-extension",
12
+ "session-timeline"
11
13
  ],
12
14
  "homepage": "https://agimon.ai",
13
15
  "license": "MIT",
@@ -45,10 +47,10 @@
45
47
  "cross-spawn": "7.0.6",
46
48
  "inversify": "8.2.1",
47
49
  "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"
50
+ "@agimon-ai/doompi-config": "0.0.1-alpha.23",
51
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.23",
52
+ "@agimon-ai/doompi-telemetry": "0.0.1-alpha.23",
53
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.23"
52
54
  },
53
55
  "devDependencies": {
54
56
  "@earendil-works/pi-coding-agent": "0.84.2",