@mariozechner/pi-coding-agent 0.18.0 → 0.18.2
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 +26 -0
- package/README.md +13 -2
- package/dist/core/agent-session.d.ts +43 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +175 -7
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/export-html.d.ts.map +1 -1
- package/dist/core/export-html.js +10 -1
- package/dist/core/export-html.js.map +1 -1
- package/dist/core/hooks/types.d.ts +4 -4
- package/dist/core/hooks/types.d.ts.map +1 -1
- package/dist/core/hooks/types.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -0
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/session-manager.d.ts +4 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +23 -7
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +13 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +17 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +7 -3
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +27 -4
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +2 -2
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +39 -3
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +8 -4
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +8 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +12 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +11 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +18 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/docs/gemini.md +255 -0
- package/docs/hooks.md +10 -2
- package/docs/rpc.md +62 -0
- package/package.json +4 -4
package/docs/hooks.md
CHANGED
|
@@ -11,6 +11,14 @@ Hooks are automatically discovered from two locations:
|
|
|
11
11
|
|
|
12
12
|
All `.ts` files in these directories are loaded automatically. Project hooks let you define project-specific behavior (similar to `.pi/AGENTS.md`).
|
|
13
13
|
|
|
14
|
+
You can also load a specific hook file directly using the `--hook` flag:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pi --hook ./my-hook.ts
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This is useful for testing hooks without placing them in the standard directories.
|
|
21
|
+
|
|
14
22
|
### Additional Configuration
|
|
15
23
|
|
|
16
24
|
You can also add explicit hook paths in `~/.pi/agent/settings.json`:
|
|
@@ -114,8 +122,8 @@ Fired when session changes (`/branch` or session switch).
|
|
|
114
122
|
|
|
115
123
|
```typescript
|
|
116
124
|
pi.on("session_switch", async (event, ctx) => {
|
|
117
|
-
// event.newSessionFile: string
|
|
118
|
-
// event.previousSessionFile: string
|
|
125
|
+
// event.newSessionFile: string | null (null in --no-session mode)
|
|
126
|
+
// event.previousSessionFile: string | null (null in --no-session mode)
|
|
119
127
|
// event.reason: "branch" | "switch"
|
|
120
128
|
});
|
|
121
129
|
```
|
package/docs/rpc.md
CHANGED
|
@@ -303,6 +303,34 @@ Response:
|
|
|
303
303
|
{"type": "response", "command": "set_auto_compaction", "success": true}
|
|
304
304
|
```
|
|
305
305
|
|
|
306
|
+
### Retry
|
|
307
|
+
|
|
308
|
+
#### set_auto_retry
|
|
309
|
+
|
|
310
|
+
Enable or disable automatic retry on transient errors (overloaded, rate limit, 5xx).
|
|
311
|
+
|
|
312
|
+
```json
|
|
313
|
+
{"type": "set_auto_retry", "enabled": true}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Response:
|
|
317
|
+
```json
|
|
318
|
+
{"type": "response", "command": "set_auto_retry", "success": true}
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
#### abort_retry
|
|
322
|
+
|
|
323
|
+
Abort an in-progress retry (cancel the delay and stop retrying).
|
|
324
|
+
|
|
325
|
+
```json
|
|
326
|
+
{"type": "abort_retry"}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Response:
|
|
330
|
+
```json
|
|
331
|
+
{"type": "response", "command": "abort_retry", "success": true}
|
|
332
|
+
```
|
|
333
|
+
|
|
306
334
|
### Bash
|
|
307
335
|
|
|
308
336
|
#### bash
|
|
@@ -528,6 +556,8 @@ Events are streamed to stdout as JSON lines during agent operation. Events do NO
|
|
|
528
556
|
| `tool_execution_end` | Tool completes |
|
|
529
557
|
| `auto_compaction_start` | Auto-compaction begins |
|
|
530
558
|
| `auto_compaction_end` | Auto-compaction completes |
|
|
559
|
+
| `auto_retry_start` | Auto-retry begins (after transient error) |
|
|
560
|
+
| `auto_retry_end` | Auto-retry completes (success or final failure) |
|
|
531
561
|
|
|
532
562
|
### agent_start
|
|
533
563
|
|
|
@@ -664,6 +694,38 @@ Emitted when automatic compaction runs (when context is nearly full).
|
|
|
664
694
|
|
|
665
695
|
If compaction was aborted, `result` is `null` and `aborted` is `true`.
|
|
666
696
|
|
|
697
|
+
### auto_retry_start / auto_retry_end
|
|
698
|
+
|
|
699
|
+
Emitted when automatic retry is triggered after a transient error (overloaded, rate limit, 5xx).
|
|
700
|
+
|
|
701
|
+
```json
|
|
702
|
+
{
|
|
703
|
+
"type": "auto_retry_start",
|
|
704
|
+
"attempt": 1,
|
|
705
|
+
"maxAttempts": 3,
|
|
706
|
+
"delayMs": 2000,
|
|
707
|
+
"errorMessage": "529 {\"type\":\"error\",\"error\":{\"type\":\"overloaded_error\",\"message\":\"Overloaded\"}}"
|
|
708
|
+
}
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
```json
|
|
712
|
+
{
|
|
713
|
+
"type": "auto_retry_end",
|
|
714
|
+
"success": true,
|
|
715
|
+
"attempt": 2
|
|
716
|
+
}
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
On final failure (max retries exceeded):
|
|
720
|
+
```json
|
|
721
|
+
{
|
|
722
|
+
"type": "auto_retry_end",
|
|
723
|
+
"success": false,
|
|
724
|
+
"attempt": 3,
|
|
725
|
+
"finalError": "529 overloaded_error: Overloaded"
|
|
726
|
+
}
|
|
727
|
+
```
|
|
728
|
+
|
|
667
729
|
## Error Handling
|
|
668
730
|
|
|
669
731
|
Failed commands return a response with `success: false`:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mariozechner/pi-coding-agent",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.2",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"prepublishOnly": "npm run clean && npm run build"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@mariozechner/pi-agent-core": "^0.18.
|
|
43
|
-
"@mariozechner/pi-ai": "^0.18.
|
|
44
|
-
"@mariozechner/pi-tui": "^0.18.
|
|
42
|
+
"@mariozechner/pi-agent-core": "^0.18.2",
|
|
43
|
+
"@mariozechner/pi-ai": "^0.18.2",
|
|
44
|
+
"@mariozechner/pi-tui": "^0.18.2",
|
|
45
45
|
"chalk": "^5.5.0",
|
|
46
46
|
"diff": "^8.0.2",
|
|
47
47
|
"glob": "^11.0.3",
|