@vaclav-synacek/pi-coding-agent-termux 0.49.3-0 → 0.50.1-0
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 +110 -1
- package/dist/cli/args.d.ts +5 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +57 -23
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/core/agent-session.d.ts +60 -37
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +272 -69
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +8 -18
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +39 -55
- 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 +2 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/export-html/template.css +9 -0
- package/dist/core/export-html/template.js +6 -4
- 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 +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +10 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +9 -3
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +39 -12
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +112 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +9 -2
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +13 -0
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/model-registry.d.ts +42 -2
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +154 -44
- 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 +3 -2
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/package-manager.d.ts +130 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +1177 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +6 -0
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +114 -54
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resource-loader.d.ts +160 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +604 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +14 -105
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +52 -304
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +45 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +34 -16
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +104 -25
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +18 -10
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +126 -93
- package/dist/core/skills.js.map +1 -1
- package/dist/core/system-prompt.d.ts +3 -27
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +16 -103
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +2 -1
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +4 -4
- package/dist/core/tools/read.js.map +1 -1
- package/dist/index.d.ts +12 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +209 -97
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +5 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +29 -9
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +468 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +4 -0
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +1 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +3 -4
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +18 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +195 -87
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +5 -5
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +42 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +543 -210
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +1 -1
- package/dist/modes/interactive/theme/light.json +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +8 -1
- package/dist/modes/interactive/theme/theme.d.ts +8 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +72 -25
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +7 -74
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +17 -82
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/utils/git.d.ts +2 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +6 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/shell.d.ts +1 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +14 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/docs/compaction.md +23 -21
- package/docs/custom-provider.md +538 -0
- package/docs/development.md +69 -0
- package/docs/extensions.md +182 -118
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/json.md +79 -0
- package/docs/keybindings.md +162 -0
- package/docs/models.md +193 -0
- package/docs/packages.md +168 -0
- package/docs/prompt-templates.md +67 -0
- package/docs/providers.md +147 -0
- package/docs/sdk.md +111 -178
- package/docs/session.md +167 -16
- package/docs/settings.md +216 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +111 -202
- package/docs/terminal-setup.md +65 -0
- package/docs/themes.md +295 -0
- package/docs/tui.md +36 -5
- package/docs/windows.md +17 -0
- package/examples/README.md +1 -0
- package/examples/extensions/README.md +22 -2
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +349 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/doom-overlay/doom/build.sh +1 -1
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/02-custom-model.ts +3 -3
- package/examples/sdk/03-custom-prompt.ts +20 -9
- package/examples/sdk/04-skills.ts +26 -27
- package/examples/sdk/06-extensions.ts +15 -6
- package/examples/sdk/07-context-files.ts +22 -18
- package/examples/sdk/08-prompt-templates.ts +19 -14
- package/examples/sdk/09-api-keys-and-oauth.ts +5 -12
- package/examples/sdk/10-settings.ts +3 -3
- package/examples/sdk/12-full-control.ts +16 -7
- package/examples/sdk/README.md +24 -30
- package/package.json +4 -4
- package/docs/theme.md +0 -617
- package/examples/extensions/chalk-logger.ts +0 -26
|
@@ -16,14 +16,26 @@ import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, ThinkingLe
|
|
|
16
16
|
import type { ImageContent, Model, TextContent } from "@mariozechner/pi-ai";
|
|
17
17
|
import { type BashResult } from "./bash-executor.js";
|
|
18
18
|
import { type CompactionResult } from "./compaction/index.js";
|
|
19
|
-
import type
|
|
19
|
+
import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ShutdownHandler, type ToolDefinition } 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";
|
|
23
|
-
import type {
|
|
24
|
-
import type {
|
|
25
|
-
import type {
|
|
23
|
+
import type { ResourceLoader } from "./resource-loader.js";
|
|
24
|
+
import type { BranchSummaryEntry, SessionManager } from "./session-manager.js";
|
|
25
|
+
import type { SettingsManager } from "./settings-manager.js";
|
|
26
26
|
import type { BashOperations } from "./tools/bash.js";
|
|
27
|
+
/** Parsed skill block from a user message */
|
|
28
|
+
export interface ParsedSkillBlock {
|
|
29
|
+
name: string;
|
|
30
|
+
location: string;
|
|
31
|
+
content: string;
|
|
32
|
+
userMessage: string | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse a skill block from message text.
|
|
36
|
+
* Returns null if the text doesn't contain a skill block.
|
|
37
|
+
*/
|
|
38
|
+
export declare function parseSkillBlock(text: string): ParsedSkillBlock | null;
|
|
27
39
|
/** Session-specific events that extend the core AgentEvent */
|
|
28
40
|
export type AgentSessionEvent = AgentEvent | {
|
|
29
41
|
type: "auto_compaction_start";
|
|
@@ -52,26 +64,32 @@ export interface AgentSessionConfig {
|
|
|
52
64
|
agent: Agent;
|
|
53
65
|
sessionManager: SessionManager;
|
|
54
66
|
settingsManager: SettingsManager;
|
|
67
|
+
cwd: string;
|
|
55
68
|
/** Models to cycle through with Ctrl+P (from --models flag) */
|
|
56
69
|
scopedModels?: Array<{
|
|
57
70
|
model: Model<any>;
|
|
58
71
|
thinkingLevel: ThinkingLevel;
|
|
59
72
|
}>;
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
/** Loaded skills (already discovered by SDK) */
|
|
65
|
-
skills?: Skill[];
|
|
66
|
-
/** Skill loading warnings (already captured by SDK) */
|
|
67
|
-
skillWarnings?: SkillWarning[];
|
|
68
|
-
skillsSettings?: Required<SkillsSettings>;
|
|
73
|
+
/** Resource loader for skills, prompts, themes, context files, system prompt */
|
|
74
|
+
resourceLoader: ResourceLoader;
|
|
75
|
+
/** SDK custom tools registered outside extensions */
|
|
76
|
+
customTools?: ToolDefinition[];
|
|
69
77
|
/** Model registry for API key resolution and model discovery */
|
|
70
78
|
modelRegistry: ModelRegistry;
|
|
71
|
-
/**
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
|
|
79
|
+
/** Initial active built-in tool names. Default: [read, bash, edit, write] */
|
|
80
|
+
initialActiveToolNames?: string[];
|
|
81
|
+
/** Override base tools (useful for custom runtimes). */
|
|
82
|
+
baseToolsOverride?: Record<string, AgentTool>;
|
|
83
|
+
/** Mutable ref used by Agent to access the current ExtensionRunner */
|
|
84
|
+
extensionRunnerRef?: {
|
|
85
|
+
current?: ExtensionRunner;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export interface ExtensionBindings {
|
|
89
|
+
uiContext?: ExtensionUIContext;
|
|
90
|
+
commandContextActions?: ExtensionCommandContextActions;
|
|
91
|
+
shutdownHandler?: ShutdownHandler;
|
|
92
|
+
onError?: ExtensionErrorListener;
|
|
75
93
|
}
|
|
76
94
|
/** Options for AgentSession.prompt() */
|
|
77
95
|
export interface PromptOptions {
|
|
@@ -114,7 +132,6 @@ export declare class AgentSession {
|
|
|
114
132
|
readonly sessionManager: SessionManager;
|
|
115
133
|
readonly settingsManager: SettingsManager;
|
|
116
134
|
private _scopedModels;
|
|
117
|
-
private _promptTemplates;
|
|
118
135
|
private _unsubscribeAgent?;
|
|
119
136
|
private _eventListeners;
|
|
120
137
|
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
@@ -134,12 +151,20 @@ export declare class AgentSession {
|
|
|
134
151
|
private _pendingBashMessages;
|
|
135
152
|
private _extensionRunner;
|
|
136
153
|
private _turnIndex;
|
|
137
|
-
private
|
|
138
|
-
private
|
|
139
|
-
private
|
|
154
|
+
private _resourceLoader;
|
|
155
|
+
private _customTools;
|
|
156
|
+
private _baseToolRegistry;
|
|
157
|
+
private _cwd;
|
|
158
|
+
private _extensionRunnerRef?;
|
|
159
|
+
private _initialActiveToolNames?;
|
|
160
|
+
private _baseToolsOverride?;
|
|
161
|
+
private _extensionUIContext?;
|
|
162
|
+
private _extensionCommandContextActions?;
|
|
163
|
+
private _extensionShutdownHandler?;
|
|
164
|
+
private _extensionErrorListener?;
|
|
165
|
+
private _extensionErrorUnsubscriber?;
|
|
140
166
|
private _modelRegistry;
|
|
141
167
|
private _toolRegistry;
|
|
142
|
-
private _rebuildSystemPrompt?;
|
|
143
168
|
private _baseSystemPrompt;
|
|
144
169
|
constructor(config: AgentSessionConfig);
|
|
145
170
|
/** Model registry for API key resolution and model discovery */
|
|
@@ -231,6 +256,7 @@ export declare class AgentSession {
|
|
|
231
256
|
}>): void;
|
|
232
257
|
/** File-based prompt templates */
|
|
233
258
|
get promptTemplates(): ReadonlyArray<PromptTemplate>;
|
|
259
|
+
private _rebuildSystemPrompt;
|
|
234
260
|
/**
|
|
235
261
|
* Send a prompt to the agent.
|
|
236
262
|
* - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming
|
|
@@ -309,11 +335,7 @@ export declare class AgentSession {
|
|
|
309
335
|
getSteeringMessages(): readonly string[];
|
|
310
336
|
/** Get pending follow-up messages (read-only) */
|
|
311
337
|
getFollowUpMessages(): readonly string[];
|
|
312
|
-
get
|
|
313
|
-
/** Skills loaded by SDK (empty if --no-skills or skills: [] was passed) */
|
|
314
|
-
get skills(): readonly Skill[];
|
|
315
|
-
/** Skill loading warnings captured by SDK */
|
|
316
|
-
get skillWarnings(): readonly SkillWarning[];
|
|
338
|
+
get resourceLoader(): ResourceLoader;
|
|
317
339
|
/**
|
|
318
340
|
* Abort current operation and wait for agent to become idle.
|
|
319
341
|
*/
|
|
@@ -322,10 +344,14 @@ export declare class AgentSession {
|
|
|
322
344
|
* Start a new session, optionally with initial messages and parent tracking.
|
|
323
345
|
* Clears all messages and starts a new session.
|
|
324
346
|
* Listeners are preserved and will continue receiving events.
|
|
325
|
-
* @param options - Optional
|
|
347
|
+
* @param options.parentSession - Optional parent session path for tracking
|
|
348
|
+
* @param options.setup - Optional callback to initialize session (e.g., append messages)
|
|
326
349
|
* @returns true if completed, false if cancelled by extension
|
|
327
350
|
*/
|
|
328
|
-
newSession(options?:
|
|
351
|
+
newSession(options?: {
|
|
352
|
+
parentSession?: string;
|
|
353
|
+
setup?: (sessionManager: SessionManager) => Promise<void>;
|
|
354
|
+
}): Promise<boolean>;
|
|
329
355
|
private _emitModelSelect;
|
|
330
356
|
/**
|
|
331
357
|
* Set model directly.
|
|
@@ -342,10 +368,6 @@ export declare class AgentSession {
|
|
|
342
368
|
cycleModel(direction?: "forward" | "backward"): Promise<ModelCycleResult | undefined>;
|
|
343
369
|
private _cycleScopedModel;
|
|
344
370
|
private _cycleAvailableModel;
|
|
345
|
-
/**
|
|
346
|
-
* Get all available models with valid API keys.
|
|
347
|
-
*/
|
|
348
|
-
getAvailableModels(): Promise<Model<any>[]>;
|
|
349
371
|
/**
|
|
350
372
|
* Set thinking level.
|
|
351
373
|
* Clamps to model capabilities based on available thinking levels.
|
|
@@ -403,16 +425,17 @@ export declare class AgentSession {
|
|
|
403
425
|
setAutoCompactionEnabled(enabled: boolean): void;
|
|
404
426
|
/** Whether auto-compaction is enabled */
|
|
405
427
|
get autoCompactionEnabled(): boolean;
|
|
428
|
+
bindExtensions(bindings: ExtensionBindings): Promise<void>;
|
|
429
|
+
private _applyExtensionBindings;
|
|
430
|
+
private _bindExtensionCore;
|
|
431
|
+
private _buildRuntime;
|
|
432
|
+
reload(): Promise<void>;
|
|
406
433
|
/**
|
|
407
434
|
* Check if an error is retryable (overloaded, rate limit, server errors).
|
|
408
435
|
* Context overflow errors are NOT retryable (handled by compaction instead).
|
|
409
436
|
*/
|
|
410
437
|
private _isRetryableError;
|
|
411
438
|
private _handleRetryableError;
|
|
412
|
-
/**
|
|
413
|
-
* Sleep helper that respects abort signal.
|
|
414
|
-
*/
|
|
415
|
-
private _sleep;
|
|
416
439
|
/**
|
|
417
440
|
* Cancel in-progress retry.
|
|
418
441
|
*/
|