@dyyz1993/pi-coding-agent 0.69.9 → 0.69.11

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 (39) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/core/agent-session.d.ts +8 -2
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +122 -3
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/extensions/index.d.ts +1 -1
  7. package/dist/core/extensions/index.d.ts.map +1 -1
  8. package/dist/core/extensions/index.js.map +1 -1
  9. package/dist/core/extensions/loader.d.ts.map +1 -1
  10. package/dist/core/extensions/loader.js +5 -0
  11. package/dist/core/extensions/loader.js.map +1 -1
  12. package/dist/core/extensions/runner.d.ts +8 -1
  13. package/dist/core/extensions/runner.d.ts.map +1 -1
  14. package/dist/core/extensions/runner.js +88 -2
  15. package/dist/core/extensions/runner.js.map +1 -1
  16. package/dist/core/extensions/types.d.ts +66 -1
  17. package/dist/core/extensions/types.d.ts.map +1 -1
  18. package/dist/core/extensions/types.js.map +1 -1
  19. package/dist/modes/rpc/rpc-client.d.ts +29 -1
  20. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  21. package/dist/modes/rpc/rpc-client.js +60 -0
  22. package/dist/modes/rpc/rpc-client.js.map +1 -1
  23. package/dist/modes/rpc/rpc-mode.d.ts +1 -1
  24. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  25. package/dist/modes/rpc/rpc-mode.js +123 -0
  26. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  27. package/dist/modes/rpc/rpc-types.d.ts +209 -0
  28. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  29. package/dist/modes/rpc/rpc-types.js.map +1 -1
  30. package/docs/extensions.md +106 -1
  31. package/examples/extensions/README.md +1 -0
  32. package/examples/extensions/auto-session-title.ts +82 -0
  33. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  34. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  35. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  36. package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
  37. package/examples/extensions/with-deps/package-lock.json +2 -2
  38. package/examples/extensions/with-deps/package.json +1 -1
  39. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased]
3
+ ## [0.69.11] - 2026-04-26
4
4
 
5
5
  ### Added
6
6
 
@@ -8,9 +8,13 @@
8
8
  - Added `registerChannel(name)` to `ExtensionAPI` for bidirectional Extension <-> RPC Client communication, with deferred registration support during extension loading, buffered sends/receives, and request/response via `channel.invoke()` (fork feature)
9
9
  - Added `RpcClient.channel(name)` API for client-side channel access
10
10
  - Added `ChannelManager` for managing channel lifecycle, inbound routing, and invoke resolution
11
+ - Added `callLLM()` to `ExtensionAPI` for extensions to invoke LLM completions with custom prompts
12
+ - Added `session_rename` event to `ExtensionAPI.on()`, fired when `setSessionName()` changes the session display name, with `oldName`/`newName` payload
13
+ - Added `auto-session-title` example extension that generates session names from conversation context using `callLLM`
11
14
 
12
15
  ### Fixed
13
16
 
17
+ - Fixed `createExtensionAPI()` in `loader.ts` missing `callLLM` implementation, which caused runtime errors when extensions tried to use it
14
18
  - Fixed src/dist type mismatch in test imports for `agent-session-queue.test.ts`, `2023-queued-slash-command-followup.test.ts`, and `trigger-compact-extension.test.ts` (fork fix)
15
19
 
16
20
  - Fixed `ctx.ui.setWorkingMessage()` to persist across loader recreation, matching the behavior of `ctx.ui.setWorkingIndicator()` ([#3566](https://github.com/badlogic/pi-mono/issues/3566))
@@ -12,11 +12,11 @@
12
12
  *
13
13
  * Modes use this class and add their own I/O layer on top.
14
14
  */
15
- import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, ThinkingLevel } from "@dyyz1993/pi-agent-core";
15
+ import { Agent, type AgentEvent, type AgentMessage, type AgentState, type AgentTool, type ThinkingLevel } from "@dyyz1993/pi-agent-core";
16
16
  import type { ImageContent, Model, TextContent } from "@dyyz1993/pi-ai";
17
17
  import { type BashResult } from "./bash-executor.js";
18
18
  import { type CompactionResult } from "./compaction/index.js";
19
- import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.js";
19
+ import { type CallLLMOptions, type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.js";
20
20
  import type { CustomMessage } from "./messages.js";
21
21
  import type { ModelRegistry } from "./model-registry.js";
22
22
  import { type PromptTemplate } from "./prompt-templates.js";
@@ -62,6 +62,11 @@ export type AgentSessionEvent = AgentEvent | {
62
62
  success: boolean;
63
63
  attempt: number;
64
64
  finalError?: string;
65
+ } | {
66
+ type: "custom_entry";
67
+ customType: string;
68
+ data?: unknown;
69
+ id: string;
65
70
  };
66
71
  /** Listener function for agent session events */
67
72
  export type AgentSessionEventListener = (event: AgentSessionEvent) => void;
@@ -469,6 +474,7 @@ export declare class AgentSession {
469
474
  private _applyExtensionBindings;
470
475
  private _refreshCurrentModelFromRegistry;
471
476
  private _bindExtensionCore;
477
+ callLLM(options: CallLLMOptions): Promise<string>;
472
478
  private _refreshToolRegistry;
473
479
  private _buildRuntime;
474
480
  reload(): Promise<void>;