@phi-code-admin/phi-code 0.76.16 → 0.77.1
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 +41 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +20 -3
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/api-key-store.d.ts +1 -1
- package/dist/core/api-key-store.d.ts.map +1 -1
- package/dist/core/api-key-store.js +5 -2
- package/dist/core/api-key-store.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +3 -3
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +4 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +7 -2
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +4 -0
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/keybindings.d.ts +5 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +4 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +6 -2
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +9 -3
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +36 -5
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +15 -4
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +2 -0
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +3 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +1 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +12 -1
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +3 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +27 -7
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +16 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js +4 -2
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +9 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +29 -4
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +10 -4
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +7 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +80 -8
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js +7 -3
- package/dist/utils/sleep.js.map +1 -1
- package/extensions/phi/benchmark.ts +9 -2
- package/extensions/phi/init.ts +4 -1
- package/extensions/phi/keys.ts +13 -0
- package/extensions/phi/memory.ts +4 -1
- package/extensions/phi/orchestrator.ts +115 -25
- package/extensions/phi/providers/opencode-go.ts +39 -13
- package/extensions/phi/setup.ts +8 -1
- package/extensions/phi/web-search.ts +15 -3
- package/package.json +1 -1
|
@@ -217,8 +217,15 @@ export class AgentSession {
|
|
|
217
217
|
// =========================================================================
|
|
218
218
|
/** Emit an event to all listeners */
|
|
219
219
|
_emit(event) {
|
|
220
|
+
// Isolate each listener so a throwing listener cannot abort the broadcast
|
|
221
|
+
// and silently drop the event for the remaining listeners.
|
|
220
222
|
for (const l of this._eventListeners) {
|
|
221
|
-
|
|
223
|
+
try {
|
|
224
|
+
l(event);
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
console.error("AgentSession listener error", err);
|
|
228
|
+
}
|
|
222
229
|
}
|
|
223
230
|
}
|
|
224
231
|
_emitQueueUpdate() {
|
|
@@ -1247,6 +1254,10 @@ export class AgentSession {
|
|
|
1247
1254
|
* @param customInstructions Optional instructions for the compaction summary
|
|
1248
1255
|
*/
|
|
1249
1256
|
async compact(customInstructions) {
|
|
1257
|
+
// Abort any in-flight auto-compaction first. abort() only cancels retry and
|
|
1258
|
+
// the agent, not _autoCompactionAbortController, so without this a concurrent
|
|
1259
|
+
// auto-compaction could append a second compaction entry and rebuild state twice.
|
|
1260
|
+
this.abortCompaction();
|
|
1250
1261
|
this._disconnectFromAgent();
|
|
1251
1262
|
await this.abort();
|
|
1252
1263
|
this._compactionAbortController = new AbortController();
|
|
@@ -1932,7 +1943,7 @@ export class AgentSession {
|
|
|
1932
1943
|
return false;
|
|
1933
1944
|
const err = message.errorMessage;
|
|
1934
1945
|
// Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors (including connection lost), WebSocket transport closes/errors, fetch failed, request ended without sending chunks, HTTP/2 closed before response, terminated, retry delay exceeded
|
|
1935
|
-
return /overloaded|provider.?returned.?error|rate.?limit|too many requests
|
|
1946
|
+
return /overloaded|provider.?returned.?error|rate.?limit|too many requests|\b(429|500|502|503|504)\b|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i.test(err);
|
|
1936
1947
|
}
|
|
1937
1948
|
/**
|
|
1938
1949
|
* Handle retryable errors with exponential backoff.
|
|
@@ -1996,9 +2007,15 @@ export class AgentSession {
|
|
|
1996
2007
|
this._resolveRetry();
|
|
1997
2008
|
return false;
|
|
1998
2009
|
}
|
|
1999
|
-
|
|
2010
|
+
// Keep _retryAbortController set across the deferred tick so abortRetry() in the
|
|
2011
|
+
// gap between the resolved sleep and the setTimeout callback can still mark the
|
|
2012
|
+
// signal aborted. Capture the signal and clear the controller inside the callback.
|
|
2013
|
+
const signal = this._retryAbortController.signal;
|
|
2000
2014
|
// Retry via continue() - use setTimeout to break out of event handler chain
|
|
2001
2015
|
setTimeout(() => {
|
|
2016
|
+
this._retryAbortController = undefined;
|
|
2017
|
+
if (signal.aborted)
|
|
2018
|
+
return;
|
|
2002
2019
|
this.agent.continue().catch(() => {
|
|
2003
2020
|
// Retry failed - will be caught by next agent_end
|
|
2004
2021
|
});
|