@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.
- package/README.md +61 -19
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,37 +1,79 @@
|
|
|
1
1
|
# @agimon-ai/doompi-file-edit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A session-scoped file-change timeline and external-editor launcher for Pi.
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
10
|
-
|
|
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
|
-
|
|
20
|
+
pi install npm:@agimon-ai/doompi-file-edit
|
|
16
21
|
```
|
|
17
22
|
|
|
18
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
46
|
+
For a standalone installation, the package falls back to `~/.pi/agent/doom-file-edit/config.yaml`. Resolution order is:
|
|
25
47
|
|
|
26
|
-
|
|
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
|
-
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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.
|
|
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.
|
|
49
|
-
"@agimon-ai/doompi-
|
|
50
|
-
"@agimon-ai/doompi-
|
|
51
|
-
"@agimon-ai/doompi-ui": "0.0.1-alpha.
|
|
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",
|