@dyyz1993/pi-coding-agent 0.69.12 → 0.69.14
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/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +13 -11
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +5 -4
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +73 -25
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/server-channel.d.ts +27 -0
- package/dist/core/extensions/server-channel.d.ts.map +1 -0
- package/dist/core/extensions/server-channel.js +40 -0
- package/dist/core/extensions/server-channel.js.map +1 -0
- package/dist/core/extensions/types.d.ts +19 -29
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/file-store/internal-git.d.ts +31 -0
- package/dist/core/file-store/internal-git.d.ts.map +1 -0
- package/dist/core/file-store/internal-git.js +176 -0
- package/dist/core/file-store/internal-git.js.map +1 -0
- package/dist/core/session-manager.d.ts +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +7 -2
- package/dist/core/session-manager.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +25 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +26 -3
- 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 +33 -2
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +22 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/rules-engine/cache.d.ts +4 -0
- package/dist/rules-engine/cache.d.ts.map +1 -0
- package/dist/rules-engine/cache.js +32 -0
- package/dist/rules-engine/cache.js.map +1 -0
- package/dist/rules-engine/config.d.ts +8 -0
- package/dist/rules-engine/config.d.ts.map +1 -0
- package/dist/rules-engine/config.js +56 -0
- package/dist/rules-engine/config.js.map +1 -0
- package/dist/rules-engine/index.d.ts +10 -0
- package/dist/rules-engine/index.d.ts.map +1 -0
- package/dist/rules-engine/index.js +404 -0
- package/dist/rules-engine/index.js.map +1 -0
- package/dist/rules-engine/injector.d.ts +5 -0
- package/dist/rules-engine/injector.d.ts.map +1 -0
- package/dist/rules-engine/injector.js +57 -0
- package/dist/rules-engine/injector.js.map +1 -0
- package/dist/rules-engine/loader.d.ts +8 -0
- package/dist/rules-engine/loader.d.ts.map +1 -0
- package/dist/rules-engine/loader.js +190 -0
- package/dist/rules-engine/loader.js.map +1 -0
- package/dist/rules-engine/matcher.d.ts +3 -0
- package/dist/rules-engine/matcher.d.ts.map +1 -0
- package/dist/rules-engine/matcher.js +48 -0
- package/dist/rules-engine/matcher.js.map +1 -0
- package/dist/rules-engine/types.d.ts +150 -0
- package/dist/rules-engine/types.d.ts.map +1 -0
- package/dist/rules-engine/types.js +2 -0
- package/dist/rules-engine/types.js.map +1 -0
- package/docs/extensions.md +56 -56
- package/docs/file-rollback-design.md +287 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
- package/examples/extensions/file-snapshot.ts +407 -0
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
|
@@ -292,24 +292,21 @@ export class AgentSession {
|
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
|
-
//
|
|
296
|
-
|
|
297
|
-
// Notify all listeners
|
|
298
|
-
this._emit(event);
|
|
299
|
-
// Handle session persistence
|
|
295
|
+
// Handle session persistence BEFORE emitting for message_end,
|
|
296
|
+
// so we can inject the entry ID into the event for RPC clients.
|
|
300
297
|
if (event.type === "message_end") {
|
|
301
|
-
|
|
298
|
+
let entryId;
|
|
302
299
|
if (event.message.role === "custom") {
|
|
303
|
-
|
|
304
|
-
this.sessionManager.appendCustomMessageEntry(event.message.customType, event.message.content, event.message.display, event.message.details);
|
|
300
|
+
entryId = this.sessionManager.appendCustomMessageEntry(event.message.customType, event.message.content, event.message.display, event.message.details);
|
|
305
301
|
}
|
|
306
302
|
else if (event.message.role === "user" ||
|
|
307
303
|
event.message.role === "assistant" ||
|
|
308
304
|
event.message.role === "toolResult") {
|
|
309
|
-
|
|
310
|
-
|
|
305
|
+
entryId = this.sessionManager.appendMessage(event.message);
|
|
306
|
+
}
|
|
307
|
+
if (entryId) {
|
|
308
|
+
event.entryId = entryId;
|
|
311
309
|
}
|
|
312
|
-
// Other message types (bashExecution, compactionSummary, branchSummary) are persisted elsewhere
|
|
313
310
|
// Track assistant message for auto-compaction (checked on agent_end)
|
|
314
311
|
if (event.message.role === "assistant") {
|
|
315
312
|
this._lastAssistantMessage = event.message;
|
|
@@ -329,6 +326,10 @@ export class AgentSession {
|
|
|
329
326
|
}
|
|
330
327
|
}
|
|
331
328
|
}
|
|
329
|
+
// Emit to extensions first
|
|
330
|
+
await this._emitExtensionEvent(event);
|
|
331
|
+
// Notify all listeners
|
|
332
|
+
this._emit(event);
|
|
332
333
|
// Check auto-retry and auto-compaction after agent completes
|
|
333
334
|
if (event.type === "agent_end" && this._lastAssistantMessage) {
|
|
334
335
|
const msg = this._lastAssistantMessage;
|
|
@@ -418,6 +419,7 @@ export class AgentSession {
|
|
|
418
419
|
const extensionEvent = {
|
|
419
420
|
type: "message_end",
|
|
420
421
|
message: event.message,
|
|
422
|
+
entryId: event.entryId,
|
|
421
423
|
};
|
|
422
424
|
await this._extensionRunner.emit(extensionEvent);
|
|
423
425
|
}
|