@agentclientprotocol/claude-agent-acp 0.95.1-preview.2 → 0.95.1-preview.4
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/acp-agent.d.ts +20 -0
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +113 -18
- package/dist/native-subagents.d.ts +55 -4
- package/dist/native-subagents.d.ts.map +1 -1
- package/dist/native-subagents.js +111 -31
- package/dist/session-model.d.ts +23 -0
- package/dist/session-model.d.ts.map +1 -1
- package/dist/session-model.js +67 -0
- package/dist/subagent-replay.d.ts +29 -5
- package/dist/subagent-replay.d.ts.map +1 -1
- package/dist/subagent-replay.js +71 -14
- package/package.json +1 -1
package/dist/acp-agent.d.ts
CHANGED
|
@@ -1093,6 +1093,12 @@ export declare class ClaudeAcpAgent {
|
|
|
1093
1093
|
* {@link publishCurrentSubagentStates} sends its children's current states.
|
|
1094
1094
|
*/
|
|
1095
1095
|
private readonly replayedSubagents;
|
|
1096
|
+
/**
|
|
1097
|
+
* AIR's draft: the model that the last load of each session replayed to each
|
|
1098
|
+
* child session, as the model id and the entry that went out. See
|
|
1099
|
+
* {@link publishReplayedChildModels}.
|
|
1100
|
+
*/
|
|
1101
|
+
private readonly replayedChildModels;
|
|
1096
1102
|
/** See the `foreground` constructor option. */
|
|
1097
1103
|
private readonly foregroundEvents?;
|
|
1098
1104
|
/**
|
|
@@ -1661,6 +1667,11 @@ export declare class ClaudeAcpAgent {
|
|
|
1661
1667
|
* later frame announces the child with its correct nested lineage.
|
|
1662
1668
|
*/
|
|
1663
1669
|
private toolUseOwner;
|
|
1670
|
+
/**
|
|
1671
|
+
* The models of the session `sessionId`, for the `model` option of its
|
|
1672
|
+
* subagents: the entries of the session's own `model` option.
|
|
1673
|
+
*/
|
|
1674
|
+
private subagentModels;
|
|
1664
1675
|
private subagentConfigurationHook;
|
|
1665
1676
|
/**
|
|
1666
1677
|
* The PreToolUse hook of a v2 connection, for Edit and Write: the tool call
|
|
@@ -1721,6 +1732,15 @@ export declare class ClaudeAcpAgent {
|
|
|
1721
1732
|
* as history.
|
|
1722
1733
|
*/
|
|
1723
1734
|
publishCurrentSubagentStates(sessionId: string): Promise<void>;
|
|
1735
|
+
/**
|
|
1736
|
+
* AIR's draft: a load replays while the CLI starts, so the replay can lack
|
|
1737
|
+
* the session's model list and send a child's model as its id. After the
|
|
1738
|
+
* load response the list is known, and each replayed child whose model the
|
|
1739
|
+
* list maps to another entry gets that entry. The replay already ended the
|
|
1740
|
+
* child, and AIR's draft allows no other update after a child's end, but it
|
|
1741
|
+
* takes this more exact snapshot of the same configuration.
|
|
1742
|
+
*/
|
|
1743
|
+
private publishReplayedChildModels;
|
|
1724
1744
|
private updateConfigOption;
|
|
1725
1745
|
/**
|
|
1726
1746
|
* Refine a heuristic context window with `getContextUsage().rawMaxTokens`,
|
package/dist/acp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/acp-agent.js
CHANGED
|
@@ -4,7 +4,7 @@ import { GOAL_ACTIONS, GOAL_CONTROL_METHOD, GOAL_EXTENSION_VERSION, goalUpdateFr
|
|
|
4
4
|
import { promptSuggestionsMeta, promptSuggestionText } from "./prompt-suggestions.js";
|
|
5
5
|
import { sanitizeTitle, SessionTitles } from "./session-titles.js";
|
|
6
6
|
import { AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY, asSdkSessionNotification, clientSupportsSubagents, subagentForm, } from "./acp-subagents.js";
|
|
7
|
-
import { isNativeSubagentControlTool, isNativeSubagentControlUpdate, NativeSubagentRuntime, nativeSubagentState, resumedNativeSubagentId, sendMessageResume, sendMessageResumePrompt, } from "./native-subagents.js";
|
|
7
|
+
import { childModelOption, isNativeSubagentControlTool, isNativeSubagentControlUpdate, NativeSubagentRuntime, nativeSubagentState, responseModelEntry, resumedNativeSubagentId, sameModelEntry, sendMessageResume, sendMessageResumePrompt, } from "./native-subagents.js";
|
|
8
8
|
import { AIR_ASYNC_TASKS_CAPABILITY, AIR_BACKGROUND_SUBAGENTS_CAPABILITY, AIR_CUSTOM_INSTRUCTIONS_CAPABILITY, airCustomInstructions, AIR_DIFF_PATCH_CAPABILITY, AIR_PLAN_FILE_CAPABILITY, AIR_GOAL_KEY, AIR_KIND_KEY, AIR_LOAD_REPLAY_END_CAPABILITY, AIR_LOAD_REPLAY_END_KEY, AIR_RECOMMENDED_CONFIG_VALUE_CAPABILITY, AIR_SKILL_PATH_KEY, clientSupportsAirCapability, withAirMeta, } from "./air-extension.js";
|
|
9
9
|
import * as sessionIndex from "./session-index/connection.js";
|
|
10
10
|
import { AsyncTaskRuntime, backgroundBashTaskFromToolResult, backgroundedBashToolCallIds, clientSupportsAsyncTasks, } from "./async-tasks.js";
|
|
@@ -19,7 +19,7 @@ import { applyAskElicitationResponse, askUserQuestionsToCreateRequest, createEli
|
|
|
19
19
|
import { forkSession } from "./fork-session.js";
|
|
20
20
|
import { clientSystemPrompt, sdkSystemPrompt, SYSTEM_PROMPT_CAPABILITY, } from "./client-system-prompt.js";
|
|
21
21
|
import { readSubagentMessages, subagentHistory, subagentLaunchIds, subagentLaunchedBy, subagentLineage, } from "./subagent-history.js";
|
|
22
|
-
import { RfdSubagentReplay, replaySubagentTerminalState, } from "./subagent-replay.js";
|
|
22
|
+
import { RfdSubagentReplay, firstResponseModel, replaySubagentTerminalState, } from "./subagent-replay.js";
|
|
23
23
|
import { readResumedSession, readResumedTail, } from "./resumed-session.js";
|
|
24
24
|
import { SessionTiming } from "./session-timing.js";
|
|
25
25
|
import { ALLOW_BYPASS } from "./permissions/modes.js";
|
|
@@ -50,7 +50,7 @@ import { formatUsageResponse, isUsageCommandText, parseUsageResponse } from "./u
|
|
|
50
50
|
export { DEFAULT_AGENT_ID } from "./session-config-ids.js";
|
|
51
51
|
import { MCP_AVAILABLE_COMMAND, parseMcpCommand, runMcpCommand } from "./mcp-command.js";
|
|
52
52
|
import { MODE_CONFIG_ID, resolveInitialPermissionMode, SessionModeManager, } from "./session-mode.js";
|
|
53
|
-
import { applyAvailableModelsAllowlist, buildModelConfigOption, getAvailableModels, MODEL_CONFIG_ID, narrowToGatewayModels, resolveModelPreference, } from "./session-model.js";
|
|
53
|
+
import { applyAvailableModelsAllowlist, buildModelConfigOption, getAvailableModels, MODEL_CONFIG_ID, modelDisplayName, modelEntryFor, narrowToGatewayModels, resolveModelPreference, } from "./session-model.js";
|
|
54
54
|
import { GatewayListingError, listBedrockModels, listGatewayModels, PROVIDER_AUTH_TOKEN_PLACEHOLDER, selectBedrockRegion, } from "./gateway-models.js";
|
|
55
55
|
import { buildEffortConfigOption, EFFORT_CONFIG_ID, effortFlagSettings, effortLevelName, mergeEffortSettings, settingsEffortForModel, } from "./session-effort.js";
|
|
56
56
|
export { EFFORT_CONFIG_ID, settingsEffortForModel } from "./session-effort.js";
|
|
@@ -1182,6 +1182,12 @@ export class ClaudeAcpAgent {
|
|
|
1182
1182
|
* {@link publishCurrentSubagentStates} sends its children's current states.
|
|
1183
1183
|
*/
|
|
1184
1184
|
replayedSubagents = new Map();
|
|
1185
|
+
/**
|
|
1186
|
+
* AIR's draft: the model that the last load of each session replayed to each
|
|
1187
|
+
* child session, as the model id and the entry that went out. See
|
|
1188
|
+
* {@link publishReplayedChildModels}.
|
|
1189
|
+
*/
|
|
1190
|
+
replayedChildModels = new Map();
|
|
1185
1191
|
/** See the `foreground` constructor option. */
|
|
1186
1192
|
foregroundEvents;
|
|
1187
1193
|
/**
|
|
@@ -1240,6 +1246,7 @@ export class ClaudeAcpAgent {
|
|
|
1240
1246
|
clearHookCallbacks(id);
|
|
1241
1247
|
session.nativeSubagentRuntime?.clear();
|
|
1242
1248
|
session.asyncTaskRuntime?.clear();
|
|
1249
|
+
this.replayedChildModels.delete(id);
|
|
1243
1250
|
if (this.sessions[id] === session)
|
|
1244
1251
|
delete this.sessions[id];
|
|
1245
1252
|
},
|
|
@@ -1497,6 +1504,7 @@ export class ClaudeAcpAgent {
|
|
|
1497
1504
|
catch (error) {
|
|
1498
1505
|
pending.stopped = true;
|
|
1499
1506
|
await replay;
|
|
1507
|
+
this.replayedChildModels.delete(params.sessionId);
|
|
1500
1508
|
throw error;
|
|
1501
1509
|
}
|
|
1502
1510
|
timing.phase("session-ready");
|
|
@@ -2797,7 +2805,7 @@ export class ClaudeAcpAgent {
|
|
|
2797
2805
|
* recognizable by the `parentToolUseId` meta that toAcpNotifications
|
|
2798
2806
|
* stamps from `parent_tool_use_id`, and never reach the top-level feed
|
|
2799
2807
|
* as the turn's answer. */
|
|
2800
|
-
const subagents = (session.nativeSubagentRuntime ??= new NativeSubagentRuntime(subagentForm(this.clientCapabilities), params.sessionId, session, async (notification) => this.client.sessionUpdate(asSdkSessionNotification(notification)), this.logger, (agentId) => subagentLineage(params.sessionId, agentId, this.logger), (launchId) => subagentLaunchedBy(params.sessionId, launchId)));
|
|
2808
|
+
const subagents = (session.nativeSubagentRuntime ??= new NativeSubagentRuntime(subagentForm(this.clientCapabilities), params.sessionId, session, async (notification) => this.client.sessionUpdate(asSdkSessionNotification(notification)), this.logger, (agentId) => subagentLineage(params.sessionId, agentId, this.logger), (launchId) => subagentLaunchedBy(params.sessionId, launchId), this.subagentModels(params.sessionId)));
|
|
2801
2809
|
// Adapter-composed advisories (hook feedback, model fallbacks) are live
|
|
2802
2810
|
// events, not something the model said. Clients on the notice contract get
|
|
2803
2811
|
// them as `notice` updates; the rest keep the bold-label transcript line.
|
|
@@ -6202,6 +6210,7 @@ export class ClaudeAcpAgent {
|
|
|
6202
6210
|
clearHookCallbacks(params.sessionId);
|
|
6203
6211
|
session.nativeSubagentRuntime?.clear();
|
|
6204
6212
|
session.asyncTaskRuntime?.clear();
|
|
6213
|
+
this.replayedChildModels.delete(params.sessionId);
|
|
6205
6214
|
delete this.sessions[params.sessionId];
|
|
6206
6215
|
}
|
|
6207
6216
|
else {
|
|
@@ -6730,6 +6739,7 @@ export class ClaudeAcpAgent {
|
|
|
6730
6739
|
clearHookCallbacks(sessionId);
|
|
6731
6740
|
session.nativeSubagentRuntime?.clear();
|
|
6732
6741
|
session.asyncTaskRuntime?.clear();
|
|
6742
|
+
this.replayedChildModels.delete(sessionId);
|
|
6733
6743
|
delete this.sessions[sessionId];
|
|
6734
6744
|
this.sessionIndex.onTeardown(sessionId);
|
|
6735
6745
|
const ended = await raceTimeoutAndAbort(turnsEnded, TEARDOWN_TURN_END_TIMEOUT_MS, new AbortController().signal);
|
|
@@ -6901,6 +6911,11 @@ export class ClaudeAcpAgent {
|
|
|
6901
6911
|
const replayCompactionUpdates = clientSupportsCompactionUpdates(this.clientCapabilities);
|
|
6902
6912
|
const replayTerminalStates = new Map();
|
|
6903
6913
|
const replayChildren = new Map();
|
|
6914
|
+
// A load replays while the CLI starts, and the session's model list comes
|
|
6915
|
+
// with the CLI at an unknown point of the replay. So a pending replay maps
|
|
6916
|
+
// no model to the list, and each child's model is its id until the load
|
|
6917
|
+
// response refines it (see `publishCurrentSubagentStates`).
|
|
6918
|
+
const replayModels = pending ? undefined : this.subagentModels(sessionId);
|
|
6904
6919
|
// Registers the Agent and Task launches of `list`, and the terminal state
|
|
6905
6920
|
// of each launch from its tool_result.
|
|
6906
6921
|
const registerLaunches = (list) => {
|
|
@@ -7008,7 +7023,7 @@ export class ClaudeAcpAgent {
|
|
|
7008
7023
|
? await subagentHistory(sessionId)
|
|
7009
7024
|
: { agents: new Map() };
|
|
7010
7025
|
const rfdReplay = form === "rfd"
|
|
7011
|
-
? new RfdSubagentReplay(rfdHistory, (notification) => this.client.sessionUpdate(asSdkSessionNotification(notification)))
|
|
7026
|
+
? new RfdSubagentReplay(rfdHistory, (notification) => this.client.sessionUpdate(asSdkSessionNotification(notification)), replayModels)
|
|
7012
7027
|
: undefined;
|
|
7013
7028
|
rfdReplay?.scan(messages, sessionId);
|
|
7014
7029
|
// History persists no task_started frame, so a background task gets its
|
|
@@ -7115,6 +7130,30 @@ export class ClaudeAcpAgent {
|
|
|
7115
7130
|
: nativeReplayEnabled && parentToolUseId
|
|
7116
7131
|
? await announceReplayChild(parentToolUseId)
|
|
7117
7132
|
: sessionId;
|
|
7133
|
+
if (message.type === "assistant") {
|
|
7134
|
+
const model = message.message.model;
|
|
7135
|
+
if (rfdReplay && child) {
|
|
7136
|
+
await rfdReplay.responseModel(child, model);
|
|
7137
|
+
}
|
|
7138
|
+
else if (nativeReplayEnabled && parentToolUseId) {
|
|
7139
|
+
// AIR's draft: the entry of the model list that is known now. A load
|
|
7140
|
+
// can lack the list until the CLI started, so the entry goes again
|
|
7141
|
+
// after the load response when the list maps it to another one.
|
|
7142
|
+
const replayChild = replayChildren.get(parentToolUseId);
|
|
7143
|
+
const entry = responseModelEntry(model, replayModels);
|
|
7144
|
+
if (replayChild?.announced && entry && !sameModelEntry(replayChild.model, entry)) {
|
|
7145
|
+
replayChild.responseModel = model;
|
|
7146
|
+
replayChild.model = entry;
|
|
7147
|
+
await this.client.sessionUpdate({
|
|
7148
|
+
sessionId: replayChild.sessionId,
|
|
7149
|
+
update: {
|
|
7150
|
+
sessionUpdate: "config_option_update",
|
|
7151
|
+
configOptions: [childModelOption(entry)],
|
|
7152
|
+
},
|
|
7153
|
+
});
|
|
7154
|
+
}
|
|
7155
|
+
}
|
|
7156
|
+
}
|
|
7118
7157
|
if (message.type === "assistant" &&
|
|
7119
7158
|
parentToolUseId &&
|
|
7120
7159
|
!child &&
|
|
@@ -7224,8 +7263,8 @@ export class ClaudeAcpAgent {
|
|
|
7224
7263
|
const launched = rfdReplay.childOfLaunch(toolUseId);
|
|
7225
7264
|
if (!launched || launched.announced)
|
|
7226
7265
|
continue;
|
|
7227
|
-
await rfdReplay.announce(launched);
|
|
7228
7266
|
const childMessages = await readSubagentMessages(sessionId, launched.sessionId, rfdHistory, this.logger);
|
|
7267
|
+
await rfdReplay.announce(launched, firstResponseModel(childMessages));
|
|
7229
7268
|
rfdReplay.scan(childMessages, launched.sessionId);
|
|
7230
7269
|
for (const childMessage of childMessages)
|
|
7231
7270
|
await replayMessage(childMessage, launched);
|
|
@@ -7240,6 +7279,14 @@ export class ClaudeAcpAgent {
|
|
|
7240
7279
|
this.replayedSubagents.set(sessionId, rfdReplay);
|
|
7241
7280
|
}
|
|
7242
7281
|
if (nativeReplayEnabled && !pending?.stopped) {
|
|
7282
|
+
const childModels = new Map();
|
|
7283
|
+
for (const child of replayChildren.values()) {
|
|
7284
|
+
if (child.responseModel && child.model) {
|
|
7285
|
+
childModels.set(child.sessionId, { model: child.responseModel, sent: child.model });
|
|
7286
|
+
}
|
|
7287
|
+
}
|
|
7288
|
+
if (childModels.size > 0)
|
|
7289
|
+
this.replayedChildModels.set(sessionId, childModels);
|
|
7243
7290
|
// Claude history persists sidechain messages and Agent/Task tool uses,
|
|
7244
7291
|
// but not task_started/task_updated lifecycle frames. Recover terminal
|
|
7245
7292
|
// state from the launch tool_result. Missing results and malformed or
|
|
@@ -7634,6 +7681,24 @@ export class ClaudeAcpAgent {
|
|
|
7634
7681
|
toolCallSessionId: child?.announced ? child.sessionId : sessionId,
|
|
7635
7682
|
};
|
|
7636
7683
|
}
|
|
7684
|
+
/**
|
|
7685
|
+
* The models of the session `sessionId`, for the `model` option of its
|
|
7686
|
+
* subagents: the entries of the session's own `model` option.
|
|
7687
|
+
*/
|
|
7688
|
+
subagentModels(sessionId) {
|
|
7689
|
+
return {
|
|
7690
|
+
entry: (model) => {
|
|
7691
|
+
const session = this.sessions[sessionId];
|
|
7692
|
+
return session
|
|
7693
|
+
? modelEntryFor(session.configOptions, session.modelInfos, model)
|
|
7694
|
+
: undefined;
|
|
7695
|
+
},
|
|
7696
|
+
name: (model) => {
|
|
7697
|
+
const session = this.sessions[sessionId];
|
|
7698
|
+
return session ? modelDisplayName(session.modelInfos, model) : undefined;
|
|
7699
|
+
},
|
|
7700
|
+
};
|
|
7701
|
+
}
|
|
7637
7702
|
subagentConfigurationHook(sessionId) {
|
|
7638
7703
|
return async (input) => {
|
|
7639
7704
|
const session = this.sessions[sessionId];
|
|
@@ -7647,16 +7712,12 @@ export class ClaudeAcpAgent {
|
|
|
7647
7712
|
availableModes: [mode ?? { id: input.permission_mode, name: input.permission_mode }],
|
|
7648
7713
|
}));
|
|
7649
7714
|
}
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
currentValue: input.to_model,
|
|
7657
|
-
options: [{ value: input.to_model, name: input.to_model }],
|
|
7658
|
-
});
|
|
7659
|
-
}
|
|
7715
|
+
const switchedModel = input.hook_event_name === "PostModelSwitch"
|
|
7716
|
+
? responseModelEntry(input.to_model, this.subagentModels(sessionId))
|
|
7717
|
+
: undefined;
|
|
7718
|
+
// The entry of the root session's `model` option, as for a child response.
|
|
7719
|
+
if (switchedModel)
|
|
7720
|
+
options.push(childModelOption(switchedModel));
|
|
7660
7721
|
if (input.effort?.level) {
|
|
7661
7722
|
options.push({
|
|
7662
7723
|
id: EFFORT_CONFIG_ID,
|
|
@@ -8060,13 +8121,14 @@ export class ClaudeAcpAgent {
|
|
|
8060
8121
|
* as history.
|
|
8061
8122
|
*/
|
|
8062
8123
|
async publishCurrentSubagentStates(sessionId) {
|
|
8124
|
+
await this.publishReplayedChildModels(sessionId);
|
|
8063
8125
|
const replay = this.replayedSubagents.get(sessionId);
|
|
8064
8126
|
if (!replay)
|
|
8065
8127
|
return;
|
|
8066
8128
|
this.replayedSubagents.delete(sessionId);
|
|
8067
8129
|
const runtime = this.sessions[sessionId]?.nativeSubagentRuntime;
|
|
8068
8130
|
try {
|
|
8069
|
-
for (const notification of replay.currentStates((child) => runtime?.liveWorkState(child))) {
|
|
8131
|
+
for (const notification of replay.currentStates((child) => runtime?.liveWorkState(child), (child) => runtime?.configurationOf?.(child))) {
|
|
8070
8132
|
await this.client.sessionUpdate(asSdkSessionNotification(notification));
|
|
8071
8133
|
}
|
|
8072
8134
|
}
|
|
@@ -8074,6 +8136,38 @@ export class ClaudeAcpAgent {
|
|
|
8074
8136
|
this.logger.error(`Session ${sessionId}: failed to send current subagent states:`, error);
|
|
8075
8137
|
}
|
|
8076
8138
|
}
|
|
8139
|
+
/**
|
|
8140
|
+
* AIR's draft: a load replays while the CLI starts, so the replay can lack
|
|
8141
|
+
* the session's model list and send a child's model as its id. After the
|
|
8142
|
+
* load response the list is known, and each replayed child whose model the
|
|
8143
|
+
* list maps to another entry gets that entry. The replay already ended the
|
|
8144
|
+
* child, and AIR's draft allows no other update after a child's end, but it
|
|
8145
|
+
* takes this more exact snapshot of the same configuration.
|
|
8146
|
+
*/
|
|
8147
|
+
async publishReplayedChildModels(sessionId) {
|
|
8148
|
+
const childModels = this.replayedChildModels.get(sessionId);
|
|
8149
|
+
if (!childModels)
|
|
8150
|
+
return;
|
|
8151
|
+
this.replayedChildModels.delete(sessionId);
|
|
8152
|
+
const models = this.subagentModels(sessionId);
|
|
8153
|
+
try {
|
|
8154
|
+
for (const [childSessionId, { model, sent }] of childModels) {
|
|
8155
|
+
const entry = responseModelEntry(model, models);
|
|
8156
|
+
if (!entry || sameModelEntry(entry, sent))
|
|
8157
|
+
continue;
|
|
8158
|
+
await this.client.sessionUpdate({
|
|
8159
|
+
sessionId: childSessionId,
|
|
8160
|
+
update: {
|
|
8161
|
+
sessionUpdate: "config_option_update",
|
|
8162
|
+
configOptions: [childModelOption(entry)],
|
|
8163
|
+
},
|
|
8164
|
+
});
|
|
8165
|
+
}
|
|
8166
|
+
}
|
|
8167
|
+
catch (error) {
|
|
8168
|
+
this.logger.error(`Session ${sessionId}: failed to send subagent models:`, error);
|
|
8169
|
+
}
|
|
8170
|
+
}
|
|
8077
8171
|
async updateConfigOption(sessionId, configId, value) {
|
|
8078
8172
|
const session = this.sessions[sessionId];
|
|
8079
8173
|
if (!session)
|
|
@@ -8691,7 +8785,8 @@ export class ClaudeAcpAgent {
|
|
|
8691
8785
|
// are distinguished exactly as the CLI will see them.
|
|
8692
8786
|
const providerCacheKey = providerCacheKeyFor(env);
|
|
8693
8787
|
this.logger.log(`[session/query] sessionId=${sessionId} resume=${creationOpts?.resume ?? "none"} apiType=${resolvedProvider?.apiType ?? "native"} baseUrl=${resolvedProvider?.baseUrl ?? "native"}`);
|
|
8694
|
-
|
|
8788
|
+
// Both forms of native subagent sessions report the configuration of a child.
|
|
8789
|
+
const subagentConfigHook = subagentForm(this.clientCapabilities)
|
|
8695
8790
|
? this.subagentConfigurationHook(sessionId)
|
|
8696
8791
|
: undefined;
|
|
8697
8792
|
const options = {
|
|
@@ -59,6 +59,25 @@ type Publish = (notification: AcpSessionNotification) => Promise<void>;
|
|
|
59
59
|
type Logger = {
|
|
60
60
|
log(message: string): void;
|
|
61
61
|
};
|
|
62
|
+
/** An entry of a session's `model` select option. */
|
|
63
|
+
export type ModelEntry = {
|
|
64
|
+
value: string;
|
|
65
|
+
name: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The models of the root session. A child's model is an entry of the root
|
|
69
|
+
* session's `model` option when one matches, so that a client can compare the
|
|
70
|
+
* two sessions' models.
|
|
71
|
+
*/
|
|
72
|
+
export type SubagentModels = {
|
|
73
|
+
/**
|
|
74
|
+
* The entry of the root session's `model` option for `model`, a model id
|
|
75
|
+
* that a response reported. Undefined when no entry matches.
|
|
76
|
+
*/
|
|
77
|
+
entry(model: string): ModelEntry | undefined;
|
|
78
|
+
/** The display name of the model id `model` in the session's model list, if the list has it. */
|
|
79
|
+
name(model: string): string | undefined;
|
|
80
|
+
};
|
|
62
81
|
/** What the SDK says about the end of a task, beyond its status. */
|
|
63
82
|
export type TaskEnd = {
|
|
64
83
|
/** The SDK's text for a failure. */
|
|
@@ -111,6 +130,7 @@ export declare class NativeSubagentRuntime {
|
|
|
111
130
|
private readonly logger;
|
|
112
131
|
private readonly lineage?;
|
|
113
132
|
private readonly launchedAgent?;
|
|
133
|
+
private readonly models?;
|
|
114
134
|
readonly enabled: boolean;
|
|
115
135
|
/** The form of the child sessions; see {@link SubagentForm}. */
|
|
116
136
|
readonly form: SubagentForm | undefined;
|
|
@@ -169,17 +189,31 @@ export declare class NativeSubagentRuntime {
|
|
|
169
189
|
* `form` is undefined for a client without native subagent sessions. The RFD
|
|
170
190
|
* form restores an agent from before a load or resume with `lineage`. The AIR
|
|
171
191
|
* form does too, and `launchedAgent` finds the agent that a launch call made.
|
|
192
|
+
* `models` maps the model of a child response to the root session's entry
|
|
193
|
+
* (see {@link reportModel}).
|
|
172
194
|
*/
|
|
173
|
-
constructor(form: SubagentForm | undefined, rootSessionId: string, session: NativeSubagentSession, publish: Publish, logger: Logger, lineage?: SubagentLineage | undefined, launchedAgent?: LaunchedAgent | undefined);
|
|
195
|
+
constructor(form: SubagentForm | undefined, rootSessionId: string, session: NativeSubagentSession, publish: Publish, logger: Logger, lineage?: SubagentLineage | undefined, launchedAgent?: LaunchedAgent | undefined, models?: SubagentModels | undefined);
|
|
174
196
|
route(notification: AcpSessionNotification, deliver: Publish, forcedSessionId?: string): Promise<AcpSessionNotification | null>;
|
|
175
197
|
/**
|
|
176
198
|
* The RFD form: the work state that the client holds for the announced child
|
|
177
199
|
* `sessionId` of this live session, or undefined when no such child runs here.
|
|
178
200
|
*/
|
|
179
201
|
liveWorkState(sessionId: string): WorkState["state"] | undefined;
|
|
180
|
-
/**
|
|
202
|
+
/**
|
|
203
|
+
* Reports the model of a child response, an exact model id, as the entry of
|
|
204
|
+
* the root session's `model` option that matches it, else as the id (see
|
|
205
|
+
* {@link responseModelEntry}). The child gets no model before its first
|
|
206
|
+
* response: the adapter cannot tell the model that Claude Code picks for it.
|
|
207
|
+
* The client gets a new configuration only when the entry changes.
|
|
208
|
+
*/
|
|
181
209
|
reportModel(parentToolUseId: string | null, model: string | undefined, deliver: Publish): Promise<void>;
|
|
182
|
-
/**
|
|
210
|
+
/** The configuration that the client last got for the announced child `sessionId`, if any. */
|
|
211
|
+
configurationOf(sessionId: string): SessionConfigOption[] | undefined;
|
|
212
|
+
/**
|
|
213
|
+
* Takes configuration options of the child `agentId`: an SDK agent id, as a
|
|
214
|
+
* hook names it, or a child session id. Hook observations can precede the
|
|
215
|
+
* task event that establishes a child's parent.
|
|
216
|
+
*/
|
|
183
217
|
reportConfiguration(agentId: string, options: SessionConfigOption[], meta?: SessionNotification["update"]["_meta"]): Promise<void>;
|
|
184
218
|
private publishConfiguration;
|
|
185
219
|
private routeUpdate;
|
|
@@ -335,7 +369,10 @@ export declare class NativeSubagentRuntime {
|
|
|
335
369
|
* that the reported idle snapshot lacks.
|
|
336
370
|
*/
|
|
337
371
|
private supplyError;
|
|
338
|
-
/**
|
|
372
|
+
/**
|
|
373
|
+
* Announces `child` in the client's form, then its configuration. A runtime
|
|
374
|
+
* without a form never does.
|
|
375
|
+
*/
|
|
339
376
|
private announce;
|
|
340
377
|
/** The RFD form: publishes the work state of `child` on its parent. */
|
|
341
378
|
private reportState;
|
|
@@ -433,6 +470,20 @@ export declare class NativeSubagentRuntime {
|
|
|
433
470
|
*/
|
|
434
471
|
private nextChildSessionId;
|
|
435
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* The `model` option of a child session. The client cannot change a child's
|
|
475
|
+
* configuration, so the select offers only the current model.
|
|
476
|
+
*/
|
|
477
|
+
export declare function childModelOption(entry: ModelEntry): SessionConfigOption;
|
|
478
|
+
/** Whether two model entries have the same value and name. */
|
|
479
|
+
export declare function sameModelEntry(left: ModelEntry | undefined, right: ModelEntry): boolean;
|
|
480
|
+
/**
|
|
481
|
+
* The model entry for `model`, the model id of a child's response: the entry
|
|
482
|
+
* of the root session's `model` option that matches it, else the id, with its
|
|
483
|
+
* display name when the session's model list has one. Undefined for no model,
|
|
484
|
+
* and for `<synthetic>`, which marks a message that no model wrote.
|
|
485
|
+
*/
|
|
486
|
+
export declare function responseModelEntry(model: unknown, models: SubagentModels | undefined): ModelEntry | undefined;
|
|
436
487
|
/**
|
|
437
488
|
* Announces the child on its parent, once, before any update of the child.
|
|
438
489
|
* The RFD form announces it as running and then sends the prompt as the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-subagents.d.ts","sourceRoot":"","sources":["../src/native-subagents.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"native-subagents.d.ts","sourceRoot":"","sources":["../src/native-subagents.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAK9F,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,WAAW,CACjC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;IAAE,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CACtF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;gDAC4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,+BAA+B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,+BAA+B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvD,CAAC;AAEF,KAAK,OAAO,GAAG,CAAC,YAAY,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACvE,KAAK,MAAM,GAAG;IAAE,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE7C,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,gGAAgG;IAChG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAQF,oEAAoE;AACpE,MAAM,MAAM,OAAO,GAAG;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AASF,8EAA8E;AAC9E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;AAE1F;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAQ9E;;;GAGG;AACH,qBAAa,qBAAqB;IAwE9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IA7E1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;IAC9E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;IAC1E;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IACvE,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8C;IAC7E;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAG/B;IACJ;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IACJ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,YAAY,CAAK;IACzB,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoC;IAClE,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,8DAA8D;IAC9D,OAAO,CAAC,sBAAsB,CAAK;IACnC,wFAAwF;IACxF,OAAO,CAAC,YAAY,CAAK;IACzB,wFAAwF;IACxF,OAAO,CAAC,aAAa,CAAK;IAE1B;;;;;;OAMG;gBAED,IAAI,EAAE,YAAY,GAAG,SAAS,EACb,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,YAAA,EACzB,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,MAAM,CAAC,EAAE,cAAc,YAAA;IAcpC,KAAK,CACT,YAAY,EAAE,sBAAsB,EACpC,OAAO,EAAE,OAAO,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAOzC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS;IAMhE;;;;;;OAMG;IACG,WAAW,CACf,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAuBhB,8FAA8F;IAC9F,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,SAAS;IAMrE;;;;OAIG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAAE,EAC9B,IAAI,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC;YAgCF,oBAAoB;YAuCpB,WAAW;IA+HnB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFrE;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BnF;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAKhF;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAWzE;;;OAGG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC;IAqDhB;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtE;;;;;;;;;OASG;IACG,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/F;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,CAAC,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;IAwBb,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAI7C;;;;;;;;;;;;;;;OAeG;YACW,OAAO;IAiDrB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAMtB,uEAAuE;IACvE,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA4BrB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IA4CpB;;;;;;;;OAQG;YACW,WAAW;IAiCzB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;YACW,WAAW;IASzB;;;OAGG;YACW,QAAQ;IAMtB,uEAAuE;YACzD,WAAW;IASzB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAiBf;;;;;;;;;;;OAWG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,CAAC,CAAC,YAAY,EAAE,sBAAsB,KAAK,sBAAsB,GAAG,IAAI,CAAC,GAAG,SAAS;IAcxF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;;OAOG;YACW,cAAc;IAsC5B;;;;;OAKG;YACW,gBAAgB;IAqC9B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;iEAC6D;IAC7D,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,qBAAqB;IAS7B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAYpB,4EAA4E;IAC5E,OAAO,CAAC,cAAc;IAQtB,KAAK,IAAI,IAAI;IAoBb,qFAAqF;IACrF,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,MAAM;IA4Bd,OAAO,CAAC,cAAc;IAMtB,0FAA0F;IAC1F,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;YACW,cAAc;IAkC5B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;CAoB3B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CASvE;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,cAAc,GAAG,SAAS,GACjC,UAAU,GAAG,SAAS,CAGxB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAsBf;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,MAAM,GACX,sBAAsB,EAAE,CAkB1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,OAAO,CACb,sBAAsB,CAAC,QAAQ,CAAC,EAChC;IAAE,aAAa,EAAE,kBAAkB,GAAG,WAAW,CAAA;CAAE,CACpD,GACA,sBAAsB,GAAG,SAAS,CAapC;AAmCD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAmBrF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,OAAO,GACnB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAazD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,EACtE,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,MAAM,GAAG,SAAS,CAEpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,EACtE,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBlD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAM9E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,GACvC,MAAM,IAAI,OAAO,CAClB,sBAAsB,CAAC,QAAQ,CAAC,EAChC;IAAE,aAAa,EAAE,WAAW,GAAG,kBAAkB,CAAA;CAAE,CACpD,CASA;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEtE"}
|
package/dist/native-subagents.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RequestError, } from "@agentclientprotocol/sdk/unstable";
|
|
2
2
|
import { AIR_SUBAGENT_KEY, airExtensionMeta } from "./air-extension.js";
|
|
3
|
+
import { MODEL_CONFIG_ID } from "./session-model.js";
|
|
3
4
|
import { isFinalToolCallStatus } from "./tool-calls/renderer.js";
|
|
4
5
|
const MAX_PENDING_PARENTS = 64;
|
|
5
6
|
const MAX_PENDING_UPDATES = 256;
|
|
@@ -17,6 +18,7 @@ export class NativeSubagentRuntime {
|
|
|
17
18
|
logger;
|
|
18
19
|
lineage;
|
|
19
20
|
launchedAgent;
|
|
21
|
+
models;
|
|
20
22
|
enabled;
|
|
21
23
|
/** The form of the child sessions; see {@link SubagentForm}. */
|
|
22
24
|
form;
|
|
@@ -75,14 +77,17 @@ export class NativeSubagentRuntime {
|
|
|
75
77
|
* `form` is undefined for a client without native subagent sessions. The RFD
|
|
76
78
|
* form restores an agent from before a load or resume with `lineage`. The AIR
|
|
77
79
|
* form does too, and `launchedAgent` finds the agent that a launch call made.
|
|
80
|
+
* `models` maps the model of a child response to the root session's entry
|
|
81
|
+
* (see {@link reportModel}).
|
|
78
82
|
*/
|
|
79
|
-
constructor(form, rootSessionId, session, publish, logger, lineage, launchedAgent) {
|
|
83
|
+
constructor(form, rootSessionId, session, publish, logger, lineage, launchedAgent, models) {
|
|
80
84
|
this.rootSessionId = rootSessionId;
|
|
81
85
|
this.session = session;
|
|
82
86
|
this.publish = publish;
|
|
83
87
|
this.logger = logger;
|
|
84
88
|
this.lineage = lineage;
|
|
85
89
|
this.launchedAgent = launchedAgent;
|
|
90
|
+
this.models = models;
|
|
86
91
|
this.form = form;
|
|
87
92
|
this.enabled = form !== undefined;
|
|
88
93
|
this.children = session.nativeSubagentsByTaskId ??= new Map();
|
|
@@ -111,57 +116,88 @@ export class NativeSubagentRuntime {
|
|
|
111
116
|
const child = this.children.get(sessionId);
|
|
112
117
|
return child?.announced ? child.workState : undefined;
|
|
113
118
|
}
|
|
114
|
-
/**
|
|
119
|
+
/**
|
|
120
|
+
* Reports the model of a child response, an exact model id, as the entry of
|
|
121
|
+
* the root session's `model` option that matches it, else as the id (see
|
|
122
|
+
* {@link responseModelEntry}). The child gets no model before its first
|
|
123
|
+
* response: the adapter cannot tell the model that Claude Code picks for it.
|
|
124
|
+
* The client gets a new configuration only when the entry changes.
|
|
125
|
+
*/
|
|
115
126
|
async reportModel(parentToolUseId, model, deliver) {
|
|
116
|
-
|
|
127
|
+
const entry = this.form && parentToolUseId ? responseModelEntry(model, this.models) : undefined;
|
|
128
|
+
if (!entry)
|
|
117
129
|
return;
|
|
130
|
+
// Every response of a child reports its model: most repeat the model that
|
|
131
|
+
// the client already has, and need no routing.
|
|
132
|
+
const child = this.childByParentToolUse.get(parentToolUseId);
|
|
133
|
+
const current = child?.announced
|
|
134
|
+
? this.configBySession.get(child.sessionId)?.options.get(MODEL_CONFIG_ID)
|
|
135
|
+
: undefined;
|
|
136
|
+
if (current?.type === "select" && current.currentValue === entry.value) {
|
|
137
|
+
const shown = current.options[0];
|
|
138
|
+
if (shown && "name" in shown && shown.name === entry.name)
|
|
139
|
+
return;
|
|
118
140
|
}
|
|
119
141
|
await deliver({
|
|
120
142
|
sessionId: this.rootSessionId,
|
|
121
143
|
update: {
|
|
122
144
|
sessionUpdate: "config_option_update",
|
|
123
|
-
configOptions: [
|
|
124
|
-
{
|
|
125
|
-
id: "model",
|
|
126
|
-
name: "Model",
|
|
127
|
-
category: "model",
|
|
128
|
-
type: "select",
|
|
129
|
-
currentValue: model,
|
|
130
|
-
options: [{ value: model, name: model }],
|
|
131
|
-
},
|
|
132
|
-
],
|
|
145
|
+
configOptions: [childModelOption(entry)],
|
|
133
146
|
_meta: { claudeCode: { parentToolUseId } },
|
|
134
147
|
},
|
|
135
148
|
});
|
|
136
149
|
}
|
|
137
|
-
/**
|
|
150
|
+
/** The configuration that the client last got for the announced child `sessionId`, if any. */
|
|
151
|
+
configurationOf(sessionId) {
|
|
152
|
+
const published = this.configBySession.get(sessionId)?.published;
|
|
153
|
+
if (!this.childOfSession(sessionId)?.announced || !published)
|
|
154
|
+
return undefined;
|
|
155
|
+
return JSON.parse(published);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Takes configuration options of the child `agentId`: an SDK agent id, as a
|
|
159
|
+
* hook names it, or a child session id. Hook observations can precede the
|
|
160
|
+
* task event that establishes a child's parent.
|
|
161
|
+
*/
|
|
138
162
|
async reportConfiguration(agentId, options, meta) {
|
|
139
|
-
if (this.form
|
|
163
|
+
if (!this.form || agentId === this.rootSessionId || options.length === 0)
|
|
164
|
+
return;
|
|
165
|
+
// In AIR's draft, the session id of a resumed or restored agent is
|
|
166
|
+
// `<agent id>:generation:<n>`, so the agent id names its current generation.
|
|
167
|
+
const known = this.children.get(agentId) ?? this.childOfSession(agentId);
|
|
168
|
+
const sessionId = known?.sessionId ?? agentId;
|
|
169
|
+
// AIR's draft takes no configuration of an ended child (see `finishTask`).
|
|
170
|
+
if (this.form === "air" &&
|
|
171
|
+
known &&
|
|
172
|
+
(known.terminalState !== undefined || known.terminalPromise)) {
|
|
140
173
|
return;
|
|
141
|
-
|
|
174
|
+
}
|
|
175
|
+
let config = this.configBySession.get(sessionId);
|
|
142
176
|
if (!config) {
|
|
143
|
-
const pending = [...this.configBySession.keys()].filter((id) => !this.
|
|
144
|
-
if (!
|
|
177
|
+
const pending = [...this.configBySession.keys()].filter((id) => !this.childOfSession(id)).length;
|
|
178
|
+
if (!known && pending >= MAX_PENDING_PARENTS) {
|
|
145
179
|
this.logger.log(`Session ${this.rootSessionId}: dropping configuration for unannounced subagent ${agentId}; pending buffer limit reached`);
|
|
146
180
|
return;
|
|
147
181
|
}
|
|
148
182
|
config = { options: new Map(), publishing: Promise.resolve() };
|
|
149
|
-
this.configBySession.set(
|
|
183
|
+
this.configBySession.set(sessionId, config);
|
|
150
184
|
}
|
|
151
185
|
for (const option of options)
|
|
152
186
|
config.options.set(option.id, option);
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
await this.publishConfiguration(child, meta);
|
|
187
|
+
if (known?.announced)
|
|
188
|
+
await this.publishConfiguration(known, meta);
|
|
156
189
|
}
|
|
157
190
|
async publishConfiguration(child, meta) {
|
|
158
191
|
const config = this.configBySession.get(child.sessionId);
|
|
159
|
-
|
|
192
|
+
// AIR's draft ends a child for good, so it gets no update after its end,
|
|
193
|
+
// also when the end comes while this publication waits for an earlier one.
|
|
194
|
+
const ended = () => this.form === "air" && (child.terminalState !== undefined || !!child.terminalPromise);
|
|
195
|
+
if (!config || ended())
|
|
160
196
|
return;
|
|
161
197
|
// SDK hooks can run concurrently with streamed responses. Serialize snapshots
|
|
162
198
|
// so a delayed publication cannot replace newer settings with older ones.
|
|
163
199
|
const publishing = config.publishing.then(async () => {
|
|
164
|
-
if (this.configBySession.get(child.sessionId) !== config)
|
|
200
|
+
if (this.configBySession.get(child.sessionId) !== config || ended())
|
|
165
201
|
return;
|
|
166
202
|
const priority = ["mode", "model", "thought_level", "model_config"];
|
|
167
203
|
const rank = (option) => {
|
|
@@ -263,11 +299,11 @@ export class NativeSubagentRuntime {
|
|
|
263
299
|
(claudeMeta?.parentToolUseId
|
|
264
300
|
? this.childByParentToolUse.get(claudeMeta.parentToolUseId)
|
|
265
301
|
: undefined);
|
|
302
|
+
if (announcedChild?.announced && update.sessionUpdate === "config_option_update") {
|
|
303
|
+
await this.reportConfiguration(announcedChild.sessionId, update.configOptions, update._meta);
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
266
306
|
if (this.form === "rfd" && announcedChild?.announced) {
|
|
267
|
-
if (update.sessionUpdate === "config_option_update") {
|
|
268
|
-
await this.reportConfiguration(announcedChild.sessionId, update.configOptions, update._meta);
|
|
269
|
-
return null;
|
|
270
|
-
}
|
|
271
307
|
const handback = await this.routeRfdHandback(notification, announcedChild);
|
|
272
308
|
if (handback !== undefined)
|
|
273
309
|
return handback;
|
|
@@ -475,6 +511,8 @@ export class NativeSubagentRuntime {
|
|
|
475
511
|
}
|
|
476
512
|
else {
|
|
477
513
|
await finishNativeSubagent(this.session, taskId, state, this.publish);
|
|
514
|
+
// AIR's draft takes no configuration of an ended child.
|
|
515
|
+
this.configBySession.delete(child.sessionId);
|
|
478
516
|
}
|
|
479
517
|
}
|
|
480
518
|
finally {
|
|
@@ -822,10 +860,14 @@ export class NativeSubagentRuntime {
|
|
|
822
860
|
return;
|
|
823
861
|
await this.reportState(child, rfdEndState("failed", { error }));
|
|
824
862
|
}
|
|
825
|
-
/**
|
|
863
|
+
/**
|
|
864
|
+
* Announces `child` in the client's form, then its configuration. A runtime
|
|
865
|
+
* without a form never does.
|
|
866
|
+
*/
|
|
826
867
|
async announce(child) {
|
|
827
|
-
if (this.form)
|
|
828
|
-
|
|
868
|
+
if (!this.form)
|
|
869
|
+
return;
|
|
870
|
+
await announceNativeSubagent(child, this.publish, this.form);
|
|
829
871
|
await this.publishConfiguration(child);
|
|
830
872
|
}
|
|
831
873
|
/** The RFD form: publishes the work state of `child` on its parent. */
|
|
@@ -1090,6 +1132,15 @@ export class NativeSubagentRuntime {
|
|
|
1090
1132
|
}
|
|
1091
1133
|
buffer(parentToolUseId, notification) {
|
|
1092
1134
|
const updates = this.pending.get(parentToolUseId);
|
|
1135
|
+
// A child reports its model with each response before its announcement.
|
|
1136
|
+
// Only the latest configuration waits, so they do not fill the buffer.
|
|
1137
|
+
if (notification.update.sessionUpdate === "config_option_update" && updates) {
|
|
1138
|
+
const index = updates.findIndex(({ update }) => update.sessionUpdate === "config_option_update");
|
|
1139
|
+
if (index >= 0) {
|
|
1140
|
+
updates[index] = notification;
|
|
1141
|
+
return;
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1093
1144
|
if (this.pendingCount >= MAX_PENDING_UPDATES ||
|
|
1094
1145
|
(updates === undefined && this.pending.size >= MAX_PENDING_PARENTS) ||
|
|
1095
1146
|
(updates?.length ?? 0) >= MAX_PENDING_UPDATES_PER_PARENT) {
|
|
@@ -1178,6 +1229,35 @@ export class NativeSubagentRuntime {
|
|
|
1178
1229
|
return `${taskId}:generation:${generation}`;
|
|
1179
1230
|
}
|
|
1180
1231
|
}
|
|
1232
|
+
/**
|
|
1233
|
+
* The `model` option of a child session. The client cannot change a child's
|
|
1234
|
+
* configuration, so the select offers only the current model.
|
|
1235
|
+
*/
|
|
1236
|
+
export function childModelOption(entry) {
|
|
1237
|
+
return {
|
|
1238
|
+
id: MODEL_CONFIG_ID,
|
|
1239
|
+
name: "Model",
|
|
1240
|
+
category: "model",
|
|
1241
|
+
type: "select",
|
|
1242
|
+
currentValue: entry.value,
|
|
1243
|
+
options: [{ value: entry.value, name: entry.name }],
|
|
1244
|
+
};
|
|
1245
|
+
}
|
|
1246
|
+
/** Whether two model entries have the same value and name. */
|
|
1247
|
+
export function sameModelEntry(left, right) {
|
|
1248
|
+
return left?.value === right.value && left.name === right.name;
|
|
1249
|
+
}
|
|
1250
|
+
/**
|
|
1251
|
+
* The model entry for `model`, the model id of a child's response: the entry
|
|
1252
|
+
* of the root session's `model` option that matches it, else the id, with its
|
|
1253
|
+
* display name when the session's model list has one. Undefined for no model,
|
|
1254
|
+
* and for `<synthetic>`, which marks a message that no model wrote.
|
|
1255
|
+
*/
|
|
1256
|
+
export function responseModelEntry(model, models) {
|
|
1257
|
+
if (typeof model !== "string" || !model || model === "<synthetic>")
|
|
1258
|
+
return undefined;
|
|
1259
|
+
return models?.entry(model) ?? { value: model, name: models?.name(model) ?? model };
|
|
1260
|
+
}
|
|
1181
1261
|
/**
|
|
1182
1262
|
* Announces the child on its parent, once, before any update of the child.
|
|
1183
1263
|
* The RFD form announces it as running and then sends the prompt as the
|
package/dist/session-model.d.ts
CHANGED
|
@@ -69,5 +69,28 @@ export declare function applyAvailableModelsAllowlist(sdkModels: ModelInfo[], al
|
|
|
69
69
|
*/
|
|
70
70
|
export declare function narrowToGatewayModels(models: ModelInfo[], listedModelIds: readonly string[], regionPrefix?: string): ModelInfo[];
|
|
71
71
|
export declare function getAvailableModels(query: Query, models: ModelInfo[], sdkModels: ModelInfo[], settingsManager: ModelSettingsSource, logger: ModelLogger, isResumedSession: boolean, sessionId: string, resumedModelHint?: string, narrowedByGateway?: boolean): Promise<SessionModelState>;
|
|
72
|
+
/** The display name of the model id `model` in `modelInfos`, if it is there. */
|
|
73
|
+
export declare function modelDisplayName(modelInfos: ModelInfo[], model: string): string | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* The entry of the `model` option among `configOptions` for `model`, a model
|
|
76
|
+
* id that a response reported, so that a client can compare it with the
|
|
77
|
+
* session's own model. Best first:
|
|
78
|
+
*
|
|
79
|
+
* 1. the current entry, when it runs that model up to a context hint: a
|
|
80
|
+
* session on `opus[1m]` or `default` that answers as `claude-opus-4-6`;
|
|
81
|
+
* 2. the entry whose value or resolved model is that id;
|
|
82
|
+
* 3. an entry that runs that model up to a context hint.
|
|
83
|
+
*
|
|
84
|
+
* Among several entries for one model, a concrete entry comes before
|
|
85
|
+
* `default`, as in {@link resolveModelPreference}. Undefined when no entry
|
|
86
|
+
* matches. A model's resolved id comes from `modelInfos`
|
|
87
|
+
* (`ModelInfo.resolvedModel`), the wire id that a response reports, as for
|
|
88
|
+
* {@link matchResumedModel}. It is compared as it is: a dated id such as
|
|
89
|
+
* `claude-haiku-4-5-20251001` matches only the same dated id.
|
|
90
|
+
*/
|
|
91
|
+
export declare function modelEntryFor(configOptions: readonly SessionConfigOption[], modelInfos: ModelInfo[], model: string): {
|
|
92
|
+
value: string;
|
|
93
|
+
name: string;
|
|
94
|
+
} | undefined;
|
|
72
95
|
export {};
|
|
73
96
|
//# sourceMappingURL=session-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-model.d.ts","sourceRoot":"","sources":["../src/session-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIjF,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC,CAAC;AACF,KAAK,mBAAmB,GAAG;IAAE,WAAW,IAAI,QAAQ,CAAA;CAAE,CAAC;AAmGvD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA2ChG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAyBnF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,mBAAmB,EAAE,OAAO,GAC3B,mBAAmB,CAsDrB;AA+CD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CASvF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,SAAS,EAAE,CA6Db;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EAAE,EACnB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,CAAC,EAAE,MAAM,GACpB,SAAS,EAAE,CAiBb;AAWD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,EAAE,SAAS,EAAE,EACtB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,EACzB,iBAAiB,UAAQ,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAoJ5B"}
|
|
1
|
+
{"version":3,"file":"session-model.d.ts","sourceRoot":"","sources":["../src/session-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIjF,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC,CAAC;AACF,KAAK,mBAAmB,GAAG;IAAE,WAAW,IAAI,QAAQ,CAAA;CAAE,CAAC;AAmGvD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA2ChG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAyBnF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,mBAAmB,EAAE,OAAO,GAC3B,mBAAmB,CAsDrB;AA+CD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CASvF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,SAAS,EAAE,CA6Db;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EAAE,EACnB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,CAAC,EAAE,MAAM,GACpB,SAAS,EAAE,CAiBb;AAWD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,EAAE,SAAS,EAAE,EACtB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,EACzB,iBAAiB,UAAQ,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAoJ5B;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3F;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,SAAS,mBAAmB,EAAE,EAC7C,UAAU,EAAE,SAAS,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAW7C"}
|
package/dist/session-model.js
CHANGED
|
@@ -523,3 +523,70 @@ export async function getAvailableModels(query, models, sdkModels, settingsManag
|
|
|
523
523
|
currentModelId: currentModel.value,
|
|
524
524
|
};
|
|
525
525
|
}
|
|
526
|
+
/** The display name of the model id `model` in `modelInfos`, if it is there. */
|
|
527
|
+
export function modelDisplayName(modelInfos, model) {
|
|
528
|
+
let byModel = displayNameCache.get(modelInfos);
|
|
529
|
+
if (!byModel)
|
|
530
|
+
displayNameCache.set(modelInfos, (byModel = new Map()));
|
|
531
|
+
if (!byModel.has(model)) {
|
|
532
|
+
const info = modelInfos.find((info) => info.value === model || info.resolvedModel === model);
|
|
533
|
+
byModel.set(model, info?.displayName);
|
|
534
|
+
}
|
|
535
|
+
return byModel.get(model);
|
|
536
|
+
}
|
|
537
|
+
/** {@link modelDisplayName} per model list, which a session replaces and never edits. */
|
|
538
|
+
const displayNameCache = new WeakMap();
|
|
539
|
+
/** The flat entries of a session's `model` select option. */
|
|
540
|
+
function modelOptionEntries(option) {
|
|
541
|
+
if (option.type !== "select")
|
|
542
|
+
return [];
|
|
543
|
+
return option.options.flatMap((entry) => "value" in entry ? [{ value: entry.value, name: entry.name }] : entry.options);
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* The entry of the `model` option among `configOptions` for `model`, a model
|
|
547
|
+
* id that a response reported, so that a client can compare it with the
|
|
548
|
+
* session's own model. Best first:
|
|
549
|
+
*
|
|
550
|
+
* 1. the current entry, when it runs that model up to a context hint: a
|
|
551
|
+
* session on `opus[1m]` or `default` that answers as `claude-opus-4-6`;
|
|
552
|
+
* 2. the entry whose value or resolved model is that id;
|
|
553
|
+
* 3. an entry that runs that model up to a context hint.
|
|
554
|
+
*
|
|
555
|
+
* Among several entries for one model, a concrete entry comes before
|
|
556
|
+
* `default`, as in {@link resolveModelPreference}. Undefined when no entry
|
|
557
|
+
* matches. A model's resolved id comes from `modelInfos`
|
|
558
|
+
* (`ModelInfo.resolvedModel`), the wire id that a response reports, as for
|
|
559
|
+
* {@link matchResumedModel}. It is compared as it is: a dated id such as
|
|
560
|
+
* `claude-haiku-4-5-20251001` matches only the same dated id.
|
|
561
|
+
*/
|
|
562
|
+
export function modelEntryFor(configOptions, modelInfos, model) {
|
|
563
|
+
// Each response of a subagent reports its model, so the result is kept per
|
|
564
|
+
// list. A session replaces its lists on a change and never edits them.
|
|
565
|
+
let byInfos = modelEntryCache.get(configOptions);
|
|
566
|
+
if (!byInfos)
|
|
567
|
+
modelEntryCache.set(configOptions, (byInfos = new WeakMap()));
|
|
568
|
+
let byModel = byInfos.get(modelInfos);
|
|
569
|
+
if (!byModel)
|
|
570
|
+
byInfos.set(modelInfos, (byModel = new Map()));
|
|
571
|
+
if (byModel.has(model))
|
|
572
|
+
return byModel.get(model);
|
|
573
|
+
const entry = findModelEntry(configOptions, modelInfos, model);
|
|
574
|
+
byModel.set(model, entry);
|
|
575
|
+
return entry;
|
|
576
|
+
}
|
|
577
|
+
const modelEntryCache = new WeakMap();
|
|
578
|
+
function findModelEntry(configOptions, modelInfos, model) {
|
|
579
|
+
const option = configOptions.find((candidate) => candidate.id === MODEL_CONFIG_ID);
|
|
580
|
+
if (option?.type !== "select")
|
|
581
|
+
return undefined;
|
|
582
|
+
// Concrete entries first; `sort` keeps the list order otherwise.
|
|
583
|
+
const entries = modelOptionEntries(option).sort((left, right) => Number(left.value === "default") - Number(right.value === "default"));
|
|
584
|
+
const observed = canonicalizeModelId(model);
|
|
585
|
+
const resolved = (value) => canonicalizeModelId(modelInfos.find((info) => info.value === value)?.resolvedModel ?? value);
|
|
586
|
+
const sameModel = (value) => stripContextHints(resolved(value)) === stripContextHints(observed);
|
|
587
|
+
const current = entries.find((entry) => entry.value === option.currentValue);
|
|
588
|
+
if (current && sameModel(current.value))
|
|
589
|
+
return current;
|
|
590
|
+
return (entries.find((entry) => entry.value === model || resolved(entry.value) === observed) ??
|
|
591
|
+
entries.find((entry) => sameModel(entry.value)));
|
|
592
|
+
}
|
|
@@ -22,13 +22,20 @@
|
|
|
22
22
|
* history follows its launch, so a call to a child from its parent is always
|
|
23
23
|
* delivered first. Any other SendMessage call stays a tool call.
|
|
24
24
|
*
|
|
25
|
+
* Right after its announcement, each child gets its `model` option: the model
|
|
26
|
+
* of its first response, in its transcript. A later response with another
|
|
27
|
+
* model sends it again. A child without responses gets none. After the load
|
|
28
|
+
* response, a model goes again only when the session's model list, which the
|
|
29
|
+
* replay can lack, maps it to another entry.
|
|
30
|
+
*
|
|
25
31
|
* A launch without metadata has no known id, so it is not announced: the RFD
|
|
26
32
|
* forbids inventing one. Its Agent call stays an ordinary tool call of the
|
|
27
33
|
* parent, and a notice says that subagent history is missing.
|
|
28
34
|
*/
|
|
35
|
+
import type { SessionConfigOption } from "@agentclientprotocol/sdk/unstable";
|
|
29
36
|
import type { SessionMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
30
37
|
import type { AcpSessionNotification, SubagentState } from "./acp-subagents.js";
|
|
31
|
-
import { type WorkState } from "./native-subagents.js";
|
|
38
|
+
import { type ModelEntry, type SubagentModels, type WorkState } from "./native-subagents.js";
|
|
32
39
|
import type { SubagentHistory, SubagentRecord } from "./subagent-history.js";
|
|
33
40
|
type Publish = (notification: AcpSessionNotification) => Promise<void>;
|
|
34
41
|
/** A child that the replay shows: its launch has metadata. */
|
|
@@ -50,10 +57,15 @@ export type ReplayChild = {
|
|
|
50
57
|
promptSent: boolean;
|
|
51
58
|
/** Whether it handed a report to its parent with a SubagentHandback call. */
|
|
52
59
|
handedBack?: boolean;
|
|
60
|
+
/** The `model` option entry that the replay sent. */
|
|
61
|
+
model?: ModelEntry;
|
|
62
|
+
/** The model id of the latest response in its transcript. */
|
|
63
|
+
responseModel?: string;
|
|
53
64
|
};
|
|
54
65
|
export declare class RfdSubagentReplay {
|
|
55
66
|
private readonly history;
|
|
56
67
|
private readonly publish;
|
|
68
|
+
private readonly models?;
|
|
57
69
|
/** The children by the id of the tool use that launched each. */
|
|
58
70
|
private readonly children;
|
|
59
71
|
private readonly byAgentId;
|
|
@@ -64,7 +76,7 @@ export declare class RfdSubagentReplay {
|
|
|
64
76
|
private withoutHistory;
|
|
65
77
|
/** The SubagentHandback calls, with their report and whether their result failed. */
|
|
66
78
|
private readonly handbacks;
|
|
67
|
-
constructor(history: SubagentHistory, publish: Publish);
|
|
79
|
+
constructor(history: SubagentHistory, publish: Publish, models?: SubagentModels | undefined);
|
|
68
80
|
/**
|
|
69
81
|
* Registers the launches, the launch results, and the SendMessage calls in
|
|
70
82
|
* `messages`, the transcript of the session `ownerSessionId`.
|
|
@@ -72,8 +84,18 @@ export declare class RfdSubagentReplay {
|
|
|
72
84
|
scan(messages: readonly SessionMessage[], ownerSessionId: string): void;
|
|
73
85
|
/** The child that the tool use `toolUseId` launched, when the replay shows it. */
|
|
74
86
|
childOfLaunch(toolUseId: string): ReplayChild | undefined;
|
|
75
|
-
/**
|
|
76
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Announces `child` on its parent, as live: running, with the parent's
|
|
89
|
+
* labels. Then it sends `firstModel`, the model of the child's first
|
|
90
|
+
* response, when the transcript has one.
|
|
91
|
+
*/
|
|
92
|
+
announce(child: ReplayChild, firstModel?: string): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Takes the model of a replayed response of the child `owner`. A child
|
|
95
|
+
* whose model changes gets its `model` option again.
|
|
96
|
+
*/
|
|
97
|
+
responseModel(owner: ReplayChild, model: string | undefined): Promise<void>;
|
|
98
|
+
private sendModel;
|
|
77
99
|
/**
|
|
78
100
|
* The rest of a child's user message to replay, or `null` when nothing is
|
|
79
101
|
* left, after its text went out as the child's incoming `session_message`.
|
|
@@ -123,7 +145,7 @@ export declare class RfdSubagentReplay {
|
|
|
123
145
|
* can be cancelled, as live. Any other child cannot be running, because the
|
|
124
146
|
* process that ran it is gone, so its replayed end is its current state.
|
|
125
147
|
*/
|
|
126
|
-
currentStates(live: (sessionId: string) => WorkState["state"] | undefined): AcpSessionNotification[];
|
|
148
|
+
currentStates(live: (sessionId: string) => WorkState["state"] | undefined, liveConfiguration?: (sessionId: string) => SessionConfigOption[] | undefined): AcpSessionNotification[];
|
|
127
149
|
private registerLaunch;
|
|
128
150
|
/** The prompt of the launch, with the launch's id, to the parent and the child, as live. */
|
|
129
151
|
private sendPrompt;
|
|
@@ -141,6 +163,8 @@ export declare class RfdSubagentReplay {
|
|
|
141
163
|
private sendDelivery;
|
|
142
164
|
private sendMessage;
|
|
143
165
|
}
|
|
166
|
+
/** The model of the first response in `messages`, a subagent's transcript. */
|
|
167
|
+
export declare function firstResponseModel(messages: readonly SessionMessage[]): string | undefined;
|
|
144
168
|
/**
|
|
145
169
|
* The end of a foreground launch from its tool result: an error result that
|
|
146
170
|
* names a stop is a cancellation, any other error a failure.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-replay.d.ts","sourceRoot":"","sources":["../src/subagent-replay.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"subagent-replay.d.ts","sourceRoot":"","sources":["../src/subagent-replay.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent-replay.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { HANDBACK_TOOL, handbackMessage, isNativeSubagentControlTool, launchReply, linkedSessionMessages, nativeSubagentState, rfdEndState, rfdLabels, } from "./native-subagents.js";
|
|
1
|
+
import { childModelOption, HANDBACK_TOOL, handbackMessage, isNativeSubagentControlTool, launchReply, linkedSessionMessages, nativeSubagentState, responseModelEntry, rfdEndState, rfdLabels, } from "./native-subagents.js";
|
|
2
2
|
import { noticeUpdate } from "./session-notices.js";
|
|
3
3
|
export class RfdSubagentReplay {
|
|
4
4
|
history;
|
|
5
5
|
publish;
|
|
6
|
+
models;
|
|
6
7
|
/** The children by the id of the tool use that launched each. */
|
|
7
8
|
children = new Map();
|
|
8
9
|
byAgentId = new Map();
|
|
@@ -13,9 +14,10 @@ export class RfdSubagentReplay {
|
|
|
13
14
|
withoutHistory = 0;
|
|
14
15
|
/** The SubagentHandback calls, with their report and whether their result failed. */
|
|
15
16
|
handbacks = new Map();
|
|
16
|
-
constructor(history, publish) {
|
|
17
|
+
constructor(history, publish, models) {
|
|
17
18
|
this.history = history;
|
|
18
19
|
this.publish = publish;
|
|
20
|
+
this.models = models;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Registers the launches, the launch results, and the SendMessage calls in
|
|
@@ -64,8 +66,12 @@ export class RfdSubagentReplay {
|
|
|
64
66
|
childOfLaunch(toolUseId) {
|
|
65
67
|
return this.children.get(toolUseId);
|
|
66
68
|
}
|
|
67
|
-
/**
|
|
68
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Announces `child` on its parent, as live: running, with the parent's
|
|
71
|
+
* labels. Then it sends `firstModel`, the model of the child's first
|
|
72
|
+
* response, when the transcript has one.
|
|
73
|
+
*/
|
|
74
|
+
async announce(child, firstModel) {
|
|
69
75
|
if (child.announced)
|
|
70
76
|
return;
|
|
71
77
|
const labels = rfdLabels(child.record.name ?? child.input.name, child.record.agentType ?? child.input.subagent_type, child.record.description ?? child.input.description);
|
|
@@ -80,6 +86,30 @@ export class RfdSubagentReplay {
|
|
|
80
86
|
},
|
|
81
87
|
});
|
|
82
88
|
child.announced = true;
|
|
89
|
+
await this.responseModel(child, firstModel);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Takes the model of a replayed response of the child `owner`. A child
|
|
93
|
+
* whose model changes gets its `model` option again.
|
|
94
|
+
*/
|
|
95
|
+
async responseModel(owner, model) {
|
|
96
|
+
const entry = responseModelEntry(model, this.models);
|
|
97
|
+
if (!entry || !owner.announced)
|
|
98
|
+
return;
|
|
99
|
+
owner.responseModel = model;
|
|
100
|
+
await this.sendModel(owner, entry);
|
|
101
|
+
}
|
|
102
|
+
async sendModel(child, model) {
|
|
103
|
+
if (child.model?.value === model.value && child.model.name === model.name)
|
|
104
|
+
return;
|
|
105
|
+
child.model = model;
|
|
106
|
+
await this.publish({
|
|
107
|
+
sessionId: child.sessionId,
|
|
108
|
+
update: {
|
|
109
|
+
sessionUpdate: "config_option_update",
|
|
110
|
+
configOptions: [childModelOption(model)],
|
|
111
|
+
},
|
|
112
|
+
});
|
|
83
113
|
}
|
|
84
114
|
/**
|
|
85
115
|
* The rest of a child's user message to replay, or `null` when nothing is
|
|
@@ -221,21 +251,37 @@ export class RfdSubagentReplay {
|
|
|
221
251
|
* can be cancelled, as live. Any other child cannot be running, because the
|
|
222
252
|
* process that ran it is gone, so its replayed end is its current state.
|
|
223
253
|
*/
|
|
224
|
-
currentStates(live) {
|
|
254
|
+
currentStates(live, liveConfiguration) {
|
|
225
255
|
return [...this.children.values()]
|
|
226
256
|
.filter((child) => child.announced)
|
|
227
|
-
.
|
|
257
|
+
.flatMap((child) => {
|
|
228
258
|
const liveState = live(child.sessionId);
|
|
229
259
|
const state = liveState === undefined || liveState === "idle" ? endState(child) : { state: liveState };
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
260
|
+
// The session's model list may be known only now, after the load response.
|
|
261
|
+
const entry = responseModelEntry(child.responseModel, this.models);
|
|
262
|
+
const replayed = child.model ? JSON.stringify([childModelOption(child.model)]) : undefined;
|
|
263
|
+
const current = liveConfiguration?.(child.sessionId) ?? (entry ? [childModelOption(entry)] : undefined);
|
|
264
|
+
// A configuration that the replay already sent does not go again.
|
|
265
|
+
const configOptions = current && JSON.stringify(current) !== replayed ? current : undefined;
|
|
266
|
+
return [
|
|
267
|
+
{
|
|
268
|
+
sessionId: child.parentSessionId,
|
|
269
|
+
update: {
|
|
270
|
+
sessionUpdate: "subagent_update",
|
|
271
|
+
sessionId: child.sessionId,
|
|
272
|
+
...(liveState !== undefined ? { capabilities: { cancel: {} } } : {}),
|
|
273
|
+
state,
|
|
274
|
+
},
|
|
237
275
|
},
|
|
238
|
-
|
|
276
|
+
...(configOptions
|
|
277
|
+
? [
|
|
278
|
+
{
|
|
279
|
+
sessionId: child.sessionId,
|
|
280
|
+
update: { sessionUpdate: "config_option_update", configOptions },
|
|
281
|
+
},
|
|
282
|
+
]
|
|
283
|
+
: []),
|
|
284
|
+
];
|
|
239
285
|
});
|
|
240
286
|
}
|
|
241
287
|
registerLaunch(toolUseId, input, parentSessionId) {
|
|
@@ -305,6 +351,17 @@ export class RfdSubagentReplay {
|
|
|
305
351
|
});
|
|
306
352
|
}
|
|
307
353
|
}
|
|
354
|
+
/** The model of the first response in `messages`, a subagent's transcript. */
|
|
355
|
+
export function firstResponseModel(messages) {
|
|
356
|
+
for (const message of messages) {
|
|
357
|
+
if (message.type !== "assistant")
|
|
358
|
+
continue;
|
|
359
|
+
const model = message.message?.model;
|
|
360
|
+
if (typeof model === "string" && model && model !== "<synthetic>")
|
|
361
|
+
return model;
|
|
362
|
+
}
|
|
363
|
+
return undefined;
|
|
364
|
+
}
|
|
308
365
|
/**
|
|
309
366
|
* The end of a foreground launch from its tool result: an error result that
|
|
310
367
|
* names a stop is a cancellation, any other error a failure.
|
package/package.json
CHANGED