@earendil-works/pi-coding-agent 0.80.2 → 0.80.5
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 +115 -1
- package/README.md +3 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +4 -2
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +13 -25
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/core/agent-session.d.ts +22 -5
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +133 -50
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +13 -5
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/cache-stats.d.ts +49 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +101 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +1 -2
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +56 -81
- package/dist/core/compaction/compaction.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/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +10 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +5 -3
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +38 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +39 -5
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +28 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +3 -6
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry.d.ts +3 -0
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +16 -2
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +10 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +15 -18
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/package-manager.d.ts +4 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +68 -26
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js +0 -10
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/resource-loader.d.ts +2 -2
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +8 -7
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +8 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +21 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +104 -72
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +10 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +27 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts +1 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +3 -3
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/timings.d.ts +4 -2
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +24 -14
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +20 -5
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +2 -2
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +12 -25
- package/dist/core/tools/read.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +2 -2
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -4
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +23 -15
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts +34 -3
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +280 -25
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +52 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +3 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +12 -3
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +4 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +1 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +3 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +17 -6
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +4 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +23 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/modes/interactive/components/status-indicator.js +60 -0
- package/dist/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +6 -2
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +19 -6
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +21 -10
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +417 -196
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +21 -6
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +17 -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 +20 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +26 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts +2 -2
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +71 -17
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.d.ts +3 -0
- package/dist/rpc-entry.d.ts.map +1 -0
- package/dist/rpc-entry.js +10 -0
- package/dist/rpc-entry.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/image-convert.d.ts +1 -0
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js +21 -15
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts +18 -0
- package/dist/utils/image-process.d.ts.map +1 -0
- package/dist/utils/image-process.js +83 -0
- package/dist/utils/image-process.js.map +1 -0
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js +41 -0
- package/dist/utils/mime.js.map +1 -1
- package/docs/extensions.md +88 -17
- package/docs/keybindings.md +1 -1
- package/docs/models.md +4 -4
- package/docs/packages.md +2 -2
- package/docs/providers.md +2 -1
- package/docs/rpc.md +71 -3
- package/docs/sdk.md +50 -0
- package/docs/session-format.md +18 -8
- package/docs/settings.md +11 -0
- package/docs/usage.md +3 -3
- package/examples/extensions/README.md +1 -0
- package/examples/extensions/custom-compaction.ts +1 -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/entry-renderer.ts +41 -0
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/handoff.ts +1 -1
- package/examples/extensions/qna.ts +1 -1
- package/examples/extensions/question.ts +1 -0
- package/examples/extensions/reload-runtime.ts +2 -2
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/summarize.ts +1 -0
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/12-full-control.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +12 -12
- package/package.json +8 -5
|
@@ -21,7 +21,7 @@ import type { CustomMessage } from "./messages.ts";
|
|
|
21
21
|
import type { ModelRegistry } from "./model-registry.ts";
|
|
22
22
|
import { type PromptTemplate } from "./prompt-templates.ts";
|
|
23
23
|
import type { ResourceLoader } from "./resource-loader.ts";
|
|
24
|
-
import type { BranchSummaryEntry, SessionManager } from "./session-manager.ts";
|
|
24
|
+
import type { BranchSummaryEntry, SessionEntry, SessionManager } from "./session-manager.ts";
|
|
25
25
|
import type { SettingsManager } from "./settings-manager.ts";
|
|
26
26
|
import { type BashOperations } from "./tools/bash.ts";
|
|
27
27
|
/** Parsed skill block from a user message */
|
|
@@ -43,6 +43,8 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
|
|
|
43
43
|
type: "agent_end";
|
|
44
44
|
messages: AgentMessage[];
|
|
45
45
|
willRetry: boolean;
|
|
46
|
+
} | {
|
|
47
|
+
type: "agent_settled";
|
|
46
48
|
} | {
|
|
47
49
|
type: "queue_update";
|
|
48
50
|
steering: readonly string[];
|
|
@@ -50,6 +52,9 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
|
|
|
50
52
|
} | {
|
|
51
53
|
type: "compaction_start";
|
|
52
54
|
reason: "manual" | "threshold" | "overflow";
|
|
55
|
+
} | {
|
|
56
|
+
type: "entry_appended";
|
|
57
|
+
entry: SessionEntry;
|
|
53
58
|
} | {
|
|
54
59
|
type: "session_info_changed";
|
|
55
60
|
name: string | undefined;
|
|
@@ -87,7 +92,7 @@ export interface AgentSessionConfig {
|
|
|
87
92
|
model: Model<any>;
|
|
88
93
|
thinkingLevel?: ThinkingLevel;
|
|
89
94
|
}>;
|
|
90
|
-
/** Resource loader for skills, prompts, themes, context files, system prompt */
|
|
95
|
+
/** Resource loader for extensions, skills, prompts, themes, context files, and system prompt */
|
|
91
96
|
resourceLoader: ResourceLoader;
|
|
92
97
|
/** SDK custom tools registered outside extensions */
|
|
93
98
|
customTools?: ToolDefinition[];
|
|
@@ -167,6 +172,9 @@ export declare class AgentSession {
|
|
|
167
172
|
private _scopedModels;
|
|
168
173
|
private _unsubscribeAgent?;
|
|
169
174
|
private _eventListeners;
|
|
175
|
+
private _isAgentRunActive;
|
|
176
|
+
private _idleWaitPromise;
|
|
177
|
+
private _resolveIdleWait;
|
|
170
178
|
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
171
179
|
private _steeringMessages;
|
|
172
180
|
/** Tracks pending follow-up messages for UI display. Removed when delivered. */
|
|
@@ -207,6 +215,7 @@ export declare class AgentSession {
|
|
|
207
215
|
private _toolPromptGuidelines;
|
|
208
216
|
private _baseSystemPrompt;
|
|
209
217
|
private _baseSystemPromptOptions;
|
|
218
|
+
private _systemPromptOverride?;
|
|
210
219
|
constructor(config: AgentSessionConfig);
|
|
211
220
|
/** Model registry for API key resolution and model discovery */
|
|
212
221
|
get modelRegistry(): ModelRegistry;
|
|
@@ -221,9 +230,13 @@ export declare class AgentSession {
|
|
|
221
230
|
* happens here instead of in wrappers.
|
|
222
231
|
*/
|
|
223
232
|
private _installAgentToolHooks;
|
|
233
|
+
private _installAgentNextTurnRefresh;
|
|
224
234
|
/** Emit an event to all listeners */
|
|
225
235
|
private _emit;
|
|
226
236
|
private _emitQueueUpdate;
|
|
237
|
+
private _getIdleWaitPromise;
|
|
238
|
+
private _resolveIdleWaitIfIdle;
|
|
239
|
+
private _emitAgentSettled;
|
|
227
240
|
private _lastAssistantMessage;
|
|
228
241
|
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
229
242
|
private _handleAgentEvent;
|
|
@@ -262,8 +275,10 @@ export declare class AgentSession {
|
|
|
262
275
|
get model(): Model<any> | undefined;
|
|
263
276
|
/** Current thinking level */
|
|
264
277
|
get thinkingLevel(): ThinkingLevel;
|
|
265
|
-
/** Whether
|
|
278
|
+
/** Whether the session is currently processing an agent run or post-run continuation. */
|
|
266
279
|
get isStreaming(): boolean;
|
|
280
|
+
/** Whether the session has no active agent run, retry, auto-compaction, or queued continuation. */
|
|
281
|
+
get isIdle(): boolean;
|
|
267
282
|
/** Current effective system prompt (includes any per-turn extension modifications) */
|
|
268
283
|
get systemPrompt(): string;
|
|
269
284
|
/** Current retry attempt (0 if not retrying) */
|
|
@@ -402,6 +417,7 @@ export declare class AgentSession {
|
|
|
402
417
|
* Abort current operation and wait for agent to become idle.
|
|
403
418
|
*/
|
|
404
419
|
abort(): Promise<void>;
|
|
420
|
+
waitForIdle(): Promise<void>;
|
|
405
421
|
private _emitModelSelect;
|
|
406
422
|
/**
|
|
407
423
|
* Set model directly.
|
|
@@ -485,7 +501,6 @@ export declare class AgentSession {
|
|
|
485
501
|
reload(options?: {
|
|
486
502
|
beforeSessionStart?: () => void | Promise<void>;
|
|
487
503
|
}): Promise<void>;
|
|
488
|
-
private _isNonRetryableProviderLimitError;
|
|
489
504
|
/**
|
|
490
505
|
* Check if an error is retryable (overloaded, rate limit, server errors).
|
|
491
506
|
* Context overflow errors are NOT retryable (handled by compaction instead).
|
|
@@ -571,7 +586,9 @@ export declare class AgentSession {
|
|
|
571
586
|
}>;
|
|
572
587
|
private _extractUserMessageText;
|
|
573
588
|
/**
|
|
574
|
-
* Get session statistics.
|
|
589
|
+
* Get session statistics. Aggregates over ALL session entries (including
|
|
590
|
+
* history that was compacted away), so token/cost totals reflect what was
|
|
591
|
+
* actually billed across the session.
|
|
575
592
|
*/
|
|
576
593
|
getSessionStats(): SessionStats;
|
|
577
594
|
getContextUsage(): ContextUsage | undefined;
|