@getpaseo/server 0.1.99 → 0.1.101
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/server/executable-resolution/windows.js +3 -0
- package/dist/server/server/agent/agent-manager.d.ts +10 -0
- package/dist/server/server/agent/agent-manager.js +65 -27
- package/dist/server/server/agent/agent-sdk-types.d.ts +8 -0
- package/dist/server/server/agent/mcp-server.d.ts +2 -45
- package/dist/server/server/agent/mcp-server.js +45 -1985
- package/dist/server/server/agent/prompt-attachments.js +6 -2
- package/dist/server/server/agent/provider-registry.js +1 -0
- package/dist/server/server/agent/provider-snapshot-manager.d.ts +4 -0
- package/dist/server/server/agent/provider-snapshot-manager.js +58 -13
- package/dist/server/server/agent/providers/acp-agent.d.ts +39 -2
- package/dist/server/server/agent/providers/acp-agent.js +281 -20
- package/dist/server/server/agent/providers/claude/agent.js +96 -62
- package/dist/server/server/agent/providers/codex-app-server-agent.js +6 -57
- package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +2 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.js +10 -0
- package/dist/server/server/agent/providers/diagnostic-utils.d.ts +1 -0
- package/dist/server/server/agent/providers/diagnostic-utils.js +1 -1
- package/dist/server/server/agent/providers/generic-acp-agent.d.ts +3 -0
- package/dist/server/server/agent/providers/generic-acp-agent.js +41 -23
- package/dist/server/server/agent/providers/mock-load-test-agent.js +4 -2
- package/dist/server/server/agent/providers/opencode/server-manager.d.ts +14 -11
- package/dist/server/server/agent/providers/opencode/server-manager.js +149 -91
- package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +6 -5
- package/dist/server/server/agent/providers/opencode/test-server-manager.js +13 -3
- package/dist/server/server/agent/providers/opencode/test-utils/{test-opencode-runtime.d.ts → test-opencode-harness.d.ts} +11 -11
- package/dist/server/server/agent/providers/opencode/test-utils/{test-opencode-runtime.js → test-opencode-harness.js} +23 -10
- package/dist/server/server/agent/providers/opencode-agent.d.ts +9 -3
- package/dist/server/server/agent/providers/opencode-agent.js +26 -38
- package/dist/server/server/agent/providers/pi/agent.d.ts +4 -2
- package/dist/server/server/agent/providers/pi/agent.js +8 -3
- package/dist/server/server/agent/providers/pi/cli-runtime.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/cli-runtime.js +6 -3
- package/dist/server/server/agent/providers/pi/rpc-types.d.ts +2 -1
- package/dist/server/server/agent/providers/provider-image-output.d.ts +5 -0
- package/dist/server/server/agent/providers/provider-image-output.js +55 -0
- package/dist/server/server/agent/tools/paseo-tools.d.ts +48 -0
- package/dist/server/server/agent/tools/paseo-tools.js +2121 -0
- package/dist/server/server/agent/tools/types.d.ts +36 -0
- package/dist/server/server/agent/tools/types.js +2 -0
- package/dist/server/server/bootstrap.js +71 -62
- package/dist/server/server/persisted-config.d.ts +5 -0
- package/dist/server/server/persisted-config.js +10 -2
- package/dist/server/server/session/agent-updates/agent-updates-service.d.ts +59 -0
- package/dist/server/server/session/agent-updates/agent-updates-service.js +220 -0
- package/dist/server/server/session/checkout/checkout-session.d.ts +13 -15
- package/dist/server/server/session/checkout/checkout-session.js +18 -16
- package/dist/server/server/session/checkout/git-metadata-generator.d.ts +53 -0
- package/dist/server/server/session/checkout/git-metadata-generator.js +159 -0
- package/dist/server/server/session/daemon/daemon-session.d.ts +14 -0
- package/dist/server/server/session/daemon/daemon-session.js +38 -0
- package/dist/server/server/session/daemon/diagnostics.d.ts +41 -0
- package/dist/server/server/session/daemon/diagnostics.js +421 -0
- package/dist/server/server/session/git-mutation/git-mutation-service.d.ts +34 -0
- package/dist/server/server/session/git-mutation/git-mutation-service.js +71 -0
- package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.d.ts +36 -0
- package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.js +134 -0
- package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.d.ts +34 -0
- package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.js +190 -0
- package/dist/server/server/session/workspace-scripts/workspace-scripts-service.d.ts +41 -0
- package/dist/server/server/session/workspace-scripts/workspace-scripts-service.js +100 -0
- package/dist/server/server/session.d.ts +7 -51
- package/dist/server/server/session.js +113 -938
- package/dist/server/server/speech/providers/openai/config.d.ts +1 -2
- package/dist/server/server/speech/providers/openai/config.js +13 -9
- package/dist/server/server/speech/providers/openai/runtime.js +2 -16
- package/dist/server/server/speech/providers/openai/stt.d.ts +1 -0
- package/dist/server/server/speech/providers/openai/stt.js +4 -2
- package/dist/server/server/speech/providers/openai/tts.d.ts +1 -0
- package/dist/server/server/speech/providers/openai/tts.js +1 -0
- package/dist/server/server/websocket/runtime-metrics.d.ts +20 -0
- package/dist/server/server/websocket-server.d.ts +1 -2
- package/dist/server/server/websocket-server.js +26 -21
- package/dist/server/server/worktree-bootstrap.d.ts +1 -1
- package/dist/server/server/worktree-branch-name-generator.js +3 -1
- package/dist/server/utils/checkout-git.js +51 -26
- package/dist/src/executable-resolution/windows.js +3 -0
- package/dist/src/server/persisted-config.js +10 -2
- package/package.json +5 -5
- package/dist/server/server/agent/providers/opencode/runtime.d.ts +0 -28
- package/dist/server/server/agent/providers/opencode/runtime.js +0 -5
- package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts +0 -42
- package/dist/server/server/speech/providers/openai/realtime-transcription-session.js +0 -168
|
@@ -67,14 +67,18 @@ export function buildAgentBranchNameSeed(firstAgentContext) {
|
|
|
67
67
|
const parts = [];
|
|
68
68
|
const prompt = firstAgentContext.prompt?.trim();
|
|
69
69
|
if (prompt) {
|
|
70
|
-
parts.push(prompt);
|
|
70
|
+
parts.push(["<user-prompt>", prompt, "</user-prompt>"].join("\n"));
|
|
71
71
|
}
|
|
72
|
+
const renderedAttachments = [];
|
|
72
73
|
for (const attachment of firstAgentContext.attachments ?? []) {
|
|
73
74
|
const rendered = renderPromptAttachmentAsText(attachment).trim();
|
|
74
75
|
if (rendered) {
|
|
75
|
-
|
|
76
|
+
renderedAttachments.push(rendered);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
79
|
+
if (renderedAttachments.length > 0) {
|
|
80
|
+
parts.push(["<attachments>", renderedAttachments.join("\n\n"), "</attachments>"].join("\n"));
|
|
81
|
+
}
|
|
78
82
|
return parts.length > 0 ? parts.join("\n\n") : undefined;
|
|
79
83
|
}
|
|
80
84
|
//# sourceMappingURL=prompt-attachments.js.map
|
|
@@ -51,6 +51,7 @@ const PROVIDER_CLIENT_FACTORIES = {
|
|
|
51
51
|
providerParams: options?.providerParams ?? {
|
|
52
52
|
sessionDir: "~/.omp/agent/sessions",
|
|
53
53
|
},
|
|
54
|
+
commandsRpcType: "get_available_commands",
|
|
54
55
|
}),
|
|
55
56
|
mock: (logger) => new MockLoadTestAgentClient(logger),
|
|
56
57
|
"mock-slow": () => new MockSlowProviderClient(),
|
|
@@ -15,6 +15,7 @@ export interface ProviderSnapshotManagerOptions {
|
|
|
15
15
|
isDev?: boolean;
|
|
16
16
|
extraClients?: Partial<Record<AgentProvider, AgentClient>>;
|
|
17
17
|
refreshTimeoutMs?: number;
|
|
18
|
+
diagnosticTimeoutMs?: number;
|
|
18
19
|
}
|
|
19
20
|
interface ProviderSnapshotRefreshOptions {
|
|
20
21
|
cwd: string;
|
|
@@ -64,6 +65,7 @@ export declare class ProviderSnapshotManager {
|
|
|
64
65
|
private readonly events;
|
|
65
66
|
private destroyed;
|
|
66
67
|
private readonly refreshTimeoutMs;
|
|
68
|
+
private readonly diagnosticTimeoutMs;
|
|
67
69
|
private readonly logger;
|
|
68
70
|
private readonly workspaceGitService?;
|
|
69
71
|
private readonly managedProcesses?;
|
|
@@ -101,6 +103,8 @@ export declare class ProviderSnapshotManager {
|
|
|
101
103
|
private resolveParent;
|
|
102
104
|
private getReadyProvider;
|
|
103
105
|
private requireProvider;
|
|
106
|
+
private refreshDiagnosticSnapshotEntry;
|
|
107
|
+
private getBaseProviderDiagnostic;
|
|
104
108
|
private createLoadingEntries;
|
|
105
109
|
private reconcileSnapshotForRegistry;
|
|
106
110
|
private warmUp;
|
|
@@ -5,8 +5,9 @@ import { expandTilde } from "../../utils/path.js";
|
|
|
5
5
|
import { withTimeout } from "../../utils/promise-timeout.js";
|
|
6
6
|
import { buildProviderRegistry, shutdownAgentClients, } from "./provider-registry.js";
|
|
7
7
|
import { applyMutableProviderConfigToOverrides } from "../daemon-config-store.js";
|
|
8
|
-
import { formatProviderDiagnostic } from "./providers/diagnostic-utils.js";
|
|
9
|
-
const DEFAULT_REFRESH_TIMEOUT_MS =
|
|
8
|
+
import { formatProviderDiagnostic, formatProviderDiagnosticError, } from "./providers/diagnostic-utils.js";
|
|
9
|
+
const DEFAULT_REFRESH_TIMEOUT_MS = 60000;
|
|
10
|
+
const DEFAULT_DIAGNOSTIC_TIMEOUT_MS = 120000;
|
|
10
11
|
const REFRESH_TIMEOUT_ENV_VAR = "PASEO_PROVIDER_REFRESH_TIMEOUT_MS";
|
|
11
12
|
// Provider refresh probes can be slow on cold starts (e.g. Copilot's first
|
|
12
13
|
// `copilot --acp` invocation, OpenCode workspace probes with many MCP servers).
|
|
@@ -25,6 +26,12 @@ function resolveRefreshTimeoutMs(option) {
|
|
|
25
26
|
}
|
|
26
27
|
return DEFAULT_REFRESH_TIMEOUT_MS;
|
|
27
28
|
}
|
|
29
|
+
function resolveDiagnosticTimeoutMs(option, refreshTimeoutMs) {
|
|
30
|
+
if (typeof option === "number" && Number.isFinite(option) && option > 0) {
|
|
31
|
+
return option;
|
|
32
|
+
}
|
|
33
|
+
return Math.max(refreshTimeoutMs, DEFAULT_DIAGNOSTIC_TIMEOUT_MS);
|
|
34
|
+
}
|
|
28
35
|
export class ProviderSnapshotManager {
|
|
29
36
|
constructor(options) {
|
|
30
37
|
this.snapshots = new Map();
|
|
@@ -40,6 +47,7 @@ export class ProviderSnapshotManager {
|
|
|
40
47
|
this.providerOverrides = options.providerOverrides;
|
|
41
48
|
this.baseProviderOverrides = options.providerOverrides;
|
|
42
49
|
this.refreshTimeoutMs = resolveRefreshTimeoutMs(options.refreshTimeoutMs);
|
|
50
|
+
this.diagnosticTimeoutMs = resolveDiagnosticTimeoutMs(options.diagnosticTimeoutMs, this.refreshTimeoutMs);
|
|
43
51
|
this.providerRegistry = this.buildRegistry();
|
|
44
52
|
this.providerClients = { ...this.extraClients };
|
|
45
53
|
}
|
|
@@ -180,18 +188,23 @@ export class ProviderSnapshotManager {
|
|
|
180
188
|
});
|
|
181
189
|
}
|
|
182
190
|
async getProviderDiagnostic(provider) {
|
|
183
|
-
const definition = this.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
191
|
+
const definition = this.providerRegistry[provider];
|
|
192
|
+
if (!definition) {
|
|
193
|
+
return {
|
|
194
|
+
provider,
|
|
195
|
+
diagnostic: formatProviderDiagnostic(provider, [
|
|
196
|
+
{ label: "Error", value: `Provider ${provider} is not configured` },
|
|
197
|
+
]),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
const baseDiagnosticPromise = this.getBaseProviderDiagnostic(provider, definition);
|
|
201
|
+
const snapshotEntryPromise = this.refreshDiagnosticSnapshotEntry(provider, definition);
|
|
202
|
+
const [baseDiagnostic, entry] = await Promise.all([
|
|
203
|
+
baseDiagnosticPromise,
|
|
204
|
+
snapshotEntryPromise,
|
|
205
|
+
]);
|
|
188
206
|
const modelCount = entry.status === "ready" ? String(entry.models?.length ?? 0) : "—";
|
|
189
207
|
const status = formatProviderStatus(entry);
|
|
190
|
-
const baseDiagnostic = client.getDiagnostic
|
|
191
|
-
? (await client.getDiagnostic()).diagnostic
|
|
192
|
-
: formatProviderDiagnostic(definition.label ?? provider, [
|
|
193
|
-
{ label: "Diagnostic", value: "No diagnostic available" },
|
|
194
|
-
]);
|
|
195
208
|
const diagnostic = `${baseDiagnostic}\n Models: ${modelCount}\n Status: ${status}`;
|
|
196
209
|
return { provider, diagnostic };
|
|
197
210
|
}
|
|
@@ -283,6 +296,38 @@ export class ProviderSnapshotManager {
|
|
|
283
296
|
}
|
|
284
297
|
return definition;
|
|
285
298
|
}
|
|
299
|
+
async refreshDiagnosticSnapshotEntry(provider, definition) {
|
|
300
|
+
try {
|
|
301
|
+
const cwd = resolveSnapshotCwd();
|
|
302
|
+
await this.refreshSnapshotForCwd({ cwd, providers: [provider] });
|
|
303
|
+
return await this.getProvider({ cwd, provider, wait: false });
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
return {
|
|
307
|
+
provider,
|
|
308
|
+
status: "error",
|
|
309
|
+
enabled: definition.enabled,
|
|
310
|
+
label: definition.label,
|
|
311
|
+
description: definition.description,
|
|
312
|
+
defaultModeId: definition.defaultModeId,
|
|
313
|
+
error: toErrorMessage(error),
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
async getBaseProviderDiagnostic(provider, definition) {
|
|
318
|
+
try {
|
|
319
|
+
const client = this.ensureClient(provider, definition);
|
|
320
|
+
if (client.getDiagnostic) {
|
|
321
|
+
return (await withTimeout(client.getDiagnostic(), this.diagnosticTimeoutMs, `Timed out collecting ${definition.label ?? provider} diagnostic after ${this.diagnosticTimeoutMs}ms`)).diagnostic;
|
|
322
|
+
}
|
|
323
|
+
return formatProviderDiagnostic(definition.label ?? provider, [
|
|
324
|
+
{ label: "Diagnostic", value: "No diagnostic available" },
|
|
325
|
+
]);
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
return formatProviderDiagnosticError(definition.label ?? provider, error);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
286
331
|
createLoadingEntries() {
|
|
287
332
|
const entries = new Map();
|
|
288
333
|
for (const provider of this.getProviderIds()) {
|
|
@@ -454,7 +499,7 @@ export class ProviderSnapshotManager {
|
|
|
454
499
|
setEntry({ ...base, status: "unavailable", enabled: true });
|
|
455
500
|
return;
|
|
456
501
|
}
|
|
457
|
-
const catalog = await withTimeout(definition.fetchCatalog({ cwd, force }, client), this.refreshTimeoutMs, `Timed out refreshing ${definition.label} after ${this.refreshTimeoutMs}ms`);
|
|
502
|
+
const catalog = await withTimeout(definition.fetchCatalog({ cwd, force, timeoutMs: this.refreshTimeoutMs }, client), this.refreshTimeoutMs, `Timed out refreshing ${definition.label} after ${this.refreshTimeoutMs}ms`);
|
|
458
503
|
setEntry({
|
|
459
504
|
...base,
|
|
460
505
|
status: "ready",
|
|
@@ -3,8 +3,9 @@ import type { ProcessTerminator } from "../../../utils/tree-kill.js";
|
|
|
3
3
|
import type { ReadableStream as NodeReadableStream, WritableStream as NodeWritableStream } from "node:stream/web";
|
|
4
4
|
import { ClientSideConnection, type Client as ACPClient, type CreateTerminalRequest, type InitializeResponse, type KillTerminalRequest, type LoadSessionResponse, type NewSessionResponse, type ReadTextFileRequest, type RequestPermissionRequest, type RequestPermissionResponse, type ResumeSessionResponse, type SessionConfigOption, type SessionMode, type SessionModelState, type SessionNotification, type TerminalOutputRequest, type TerminalOutputResponse, type ToolCallContent, type ToolCallLocation, type ToolCallStatus, type ToolKind, type Usage, type WaitForTerminalExitRequest, type WriteTextFileRequest, type Stream as ACPStream } from "@agentclientprotocol/sdk";
|
|
5
5
|
import type { Logger } from "pino";
|
|
6
|
-
import { type AgentCapabilityFlags, type AgentClient, type AgentLaunchContext, type AgentMode, type AgentModelDefinition, type AgentPermissionRequest, type AgentPermissionResponse, type AgentPersistenceHandle, type AgentPromptInput, type AgentRunOptions, type AgentRunResult, type AgentRuntimeInfo, type AgentSession, type AgentSessionConfig, type AgentSlashCommand, type AgentStreamEvent, type AgentUsage, type FetchCatalogOptions, type ImportableProviderSession, type ImportProviderSessionContext, type ImportProviderSessionInput, type ListImportableSessionsOptions, type ProviderCatalog } from "../agent-sdk-types.js";
|
|
6
|
+
import { type AgentCapabilityFlags, type AgentClient, type AgentFeature, type AgentLaunchContext, type AgentMode, type AgentModelDefinition, type AgentPermissionRequest, type AgentPermissionResponse, type AgentPersistenceHandle, type AgentPromptInput, type AgentRunOptions, type AgentRunResult, type AgentRuntimeInfo, type AgentSession, type AgentSessionConfig, type AgentSlashCommand, type AgentStreamEvent, type AgentUsage, type FetchCatalogOptions, type ImportableProviderSession, type ImportProviderSessionContext, type ImportProviderSessionInput, type ListImportableSessionsOptions, type ProviderCatalog } from "../agent-sdk-types.js";
|
|
7
7
|
import { type ProviderRuntimeSettings } from "../provider-launch-config.js";
|
|
8
|
+
import { type DiagnosticEntry } from "./diagnostic-utils.js";
|
|
8
9
|
export declare function summarizeACPRequestError(error: unknown): {
|
|
9
10
|
message: string;
|
|
10
11
|
code?: string;
|
|
@@ -24,6 +25,7 @@ interface ACPAgentClientOptions {
|
|
|
24
25
|
modelTransformer?: (models: AgentModelDefinition[]) => AgentModelDefinition[];
|
|
25
26
|
sessionResponseTransformer?: (response: SessionStateResponse) => SessionStateResponse;
|
|
26
27
|
configOptionsTransformer?: (configOptions: SessionConfigOption[]) => SessionConfigOption[];
|
|
28
|
+
configFeatureOptions?: ACPConfigFeatureOption[];
|
|
27
29
|
modeIdTransformer?: (modeId: string) => string | null;
|
|
28
30
|
toolSnapshotTransformer?: (snapshot: ACPToolSnapshot) => ACPToolSnapshot;
|
|
29
31
|
providerModeWriter?: (context: ACPProviderModeWriterContext) => Promise<ACPProviderModeWriteResult>;
|
|
@@ -43,6 +45,7 @@ interface ACPAgentSessionOptions {
|
|
|
43
45
|
modelTransformer?: (models: AgentModelDefinition[]) => AgentModelDefinition[];
|
|
44
46
|
sessionResponseTransformer?: (response: SessionStateResponse) => SessionStateResponse;
|
|
45
47
|
configOptionsTransformer?: (configOptions: SessionConfigOption[]) => SessionConfigOption[];
|
|
48
|
+
configFeatureOptions?: ACPConfigFeatureOption[];
|
|
46
49
|
modeIdTransformer?: (modeId: string) => string | null;
|
|
47
50
|
toolSnapshotTransformer?: (snapshot: ACPToolSnapshot) => ACPToolSnapshot;
|
|
48
51
|
providerModeWriter?: (context: ACPProviderModeWriterContext) => Promise<ACPProviderModeWriteResult>;
|
|
@@ -60,6 +63,17 @@ export interface SpawnedACPProcess {
|
|
|
60
63
|
child: ChildProcessWithoutNullStreams;
|
|
61
64
|
connection: ClientSideConnection;
|
|
62
65
|
initialize: InitializeResponse;
|
|
66
|
+
stderrChunks?: string[];
|
|
67
|
+
}
|
|
68
|
+
type UninitializedACPProcess = Omit<SpawnedACPProcess, "initialize"> & {
|
|
69
|
+
initialize?: InitializeResponse;
|
|
70
|
+
};
|
|
71
|
+
interface ACPProcessTransport {
|
|
72
|
+
child: ChildProcessWithoutNullStreams;
|
|
73
|
+
connection: ClientSideConnection;
|
|
74
|
+
stderrChunks: string[];
|
|
75
|
+
spawnReady: Promise<void>;
|
|
76
|
+
spawnError: Promise<never>;
|
|
63
77
|
}
|
|
64
78
|
export interface ACPToolSnapshot {
|
|
65
79
|
toolCallId: string;
|
|
@@ -76,6 +90,16 @@ interface TerminalExit {
|
|
|
76
90
|
exitCode?: number | null;
|
|
77
91
|
signal?: string | null;
|
|
78
92
|
}
|
|
93
|
+
export interface ACPConfigFeatureOption {
|
|
94
|
+
id: string;
|
|
95
|
+
configId: string;
|
|
96
|
+
category: string;
|
|
97
|
+
label: string;
|
|
98
|
+
description?: string;
|
|
99
|
+
tooltip?: string;
|
|
100
|
+
icon?: string;
|
|
101
|
+
emptyOptionLabel?: string;
|
|
102
|
+
}
|
|
79
103
|
type SelectConfigOption = Extract<SessionConfigOption, {
|
|
80
104
|
type: "select";
|
|
81
105
|
}>;
|
|
@@ -134,6 +158,7 @@ export declare function deriveModesFromACP(fallbackModes: AgentMode[], modeState
|
|
|
134
158
|
currentModeId: string | null;
|
|
135
159
|
};
|
|
136
160
|
export declare function deriveModelDefinitionsFromACP(provider: string, models: SessionModelState | null | undefined, configOptions?: SessionConfigOption[] | null): AgentModelDefinition[];
|
|
161
|
+
export declare function deriveFeaturesFromACP(configOptions: SessionConfigOption[] | null | undefined, featureOptions: ACPConfigFeatureOption[]): AgentFeature[];
|
|
137
162
|
export declare class ACPAgentClient implements AgentClient {
|
|
138
163
|
readonly provider: string;
|
|
139
164
|
readonly capabilities: AgentCapabilityFlags;
|
|
@@ -144,6 +169,7 @@ export declare class ACPAgentClient implements AgentClient {
|
|
|
144
169
|
private readonly modelTransformer?;
|
|
145
170
|
private readonly sessionResponseTransformer?;
|
|
146
171
|
private readonly configOptionsTransformer?;
|
|
172
|
+
private readonly configFeatureOptions;
|
|
147
173
|
private readonly modeIdTransformer?;
|
|
148
174
|
private readonly toolSnapshotTransformer?;
|
|
149
175
|
private readonly providerModeWriter?;
|
|
@@ -156,15 +182,23 @@ export declare class ACPAgentClient implements AgentClient {
|
|
|
156
182
|
createSession(config: AgentSessionConfig, launchContext?: AgentLaunchContext): Promise<AgentSession>;
|
|
157
183
|
resumeSession(handle: AgentPersistenceHandle, overrides?: Partial<AgentSessionConfig>, launchContext?: AgentLaunchContext): Promise<AgentSession>;
|
|
158
184
|
fetchCatalog(options: FetchCatalogOptions): Promise<ProviderCatalog>;
|
|
185
|
+
listFeatures(config: AgentSessionConfig): Promise<AgentFeature[]>;
|
|
159
186
|
listImportableSessions(options?: ListImportableSessionsOptions): Promise<ImportableProviderSession[]>;
|
|
160
187
|
importSession(input: ImportProviderSessionInput, context: ImportProviderSessionContext): Promise<import("../agent-sdk-types.js").ImportedProviderSession>;
|
|
161
188
|
isAvailable(): Promise<boolean>;
|
|
162
189
|
protected spawnProcess(launchEnv?: Record<string, string>, options?: {
|
|
163
190
|
initializeTimeoutMs?: number;
|
|
191
|
+
onSpawned?: (probe: UninitializedACPProcess) => void;
|
|
164
192
|
}): Promise<SpawnedACPProcess>;
|
|
193
|
+
protected spawnTransport(launchEnv?: Record<string, string>): Promise<ACPProcessTransport>;
|
|
194
|
+
protected initializeTransport(transport: ACPProcessTransport, initializeTimeoutMs?: number): Promise<InitializeResponse>;
|
|
165
195
|
protected buildProbeClient(): ACPClient;
|
|
166
|
-
protected closeProbe(probe:
|
|
196
|
+
protected closeProbe(probe: UninitializedACPProcess): Promise<void>;
|
|
167
197
|
protected runACPRequest<T>(request: () => Promise<T>): Promise<T>;
|
|
198
|
+
protected buildACPProbeDiagnosticRows(options?: {
|
|
199
|
+
cwd?: string;
|
|
200
|
+
phaseTimeoutMs?: number;
|
|
201
|
+
}): Promise<DiagnosticEntry[]>;
|
|
168
202
|
protected resolveLaunchCommand(): Promise<{
|
|
169
203
|
command: string;
|
|
170
204
|
args: string[];
|
|
@@ -182,6 +216,7 @@ export declare class ACPAgentSession implements AgentSession, ACPClient {
|
|
|
182
216
|
protected readonly modelTransformer?: (models: AgentModelDefinition[]) => AgentModelDefinition[];
|
|
183
217
|
private readonly sessionResponseTransformer?;
|
|
184
218
|
private readonly configOptionsTransformer?;
|
|
219
|
+
private readonly configFeatureOptions;
|
|
185
220
|
private readonly modeIdTransformer?;
|
|
186
221
|
private readonly toolSnapshotTransformer?;
|
|
187
222
|
private readonly providerModeWriter?;
|
|
@@ -236,6 +271,7 @@ export declare class ACPAgentSession implements AgentSession, ACPClient {
|
|
|
236
271
|
getRuntimeInfo(): Promise<AgentRuntimeInfo>;
|
|
237
272
|
getAvailableModes(): Promise<AgentMode[]>;
|
|
238
273
|
getCurrentMode(): Promise<string | null>;
|
|
274
|
+
get features(): AgentFeature[];
|
|
239
275
|
private ensureCommandsReadyDeferred;
|
|
240
276
|
private settleCommandsReady;
|
|
241
277
|
private waitForCommandsReady;
|
|
@@ -246,6 +282,7 @@ export declare class ACPAgentSession implements AgentSession, ACPClient {
|
|
|
246
282
|
setModel(modelId: string | null): Promise<void>;
|
|
247
283
|
private setModelWithSelection;
|
|
248
284
|
setThinkingOption(thinkingOptionId: string | null): Promise<void>;
|
|
285
|
+
setFeature(featureId: string, value: unknown): Promise<void>;
|
|
249
286
|
private applyConfigOptionResponse;
|
|
250
287
|
getPendingPermissions(): AgentPermissionRequest[];
|
|
251
288
|
respondToPermission(requestId: string, response: AgentPermissionResponse): Promise<void>;
|