@tutti-os/agent-gui 0.0.189 → 0.0.191
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/AgentRichTextReadonly-HJQQ4KAL.js +19 -0
- package/dist/agent-conversation/index.d.ts +29 -15
- package/dist/agent-conversation/index.js +11 -11
- package/dist/agent-env/index.js +1 -1
- package/dist/agent-gui.d.ts +315 -13
- package/dist/agent-gui.js +23 -23
- package/dist/agent-message-center/index.d.ts +4 -7
- package/dist/agent-message-center/index.js +9 -9
- package/dist/{agentGuiNodeTypes-DAT3XJON.d.ts → agentGuiNodeTypes-B23ubO8n.d.ts} +21 -3
- package/dist/agents.d.ts +2 -1
- package/dist/app/renderer/agentactivity.css +20 -3
- package/dist/{chunk-YSA4MXR5.js → chunk-4CHBM3G3.js} +9 -3
- package/dist/chunk-4CHBM3G3.js.map +1 -0
- package/dist/{chunk-NCD5I4OB.js → chunk-5VECGOBU.js} +3 -3
- package/dist/{chunk-F5YFT4VB.js → chunk-73FNXLC6.js} +5431 -2202
- package/dist/chunk-73FNXLC6.js.map +1 -0
- package/dist/{chunk-AODSTIED.js → chunk-AFUVWWQY.js} +2 -2
- package/dist/{chunk-MHOYBRCY.js → chunk-CBMWHQ7P.js} +1 -1
- package/dist/chunk-CBMWHQ7P.js.map +1 -0
- package/dist/{chunk-THBCAUBR.js → chunk-CXC3ROXQ.js} +2 -2
- package/dist/{chunk-THBCAUBR.js.map → chunk-CXC3ROXQ.js.map} +1 -1
- package/dist/{chunk-CAZ7NYUE.js → chunk-DKGFEIZ7.js} +2 -2
- package/dist/{chunk-5UTK6FDH.js → chunk-DNHDR2YC.js} +3 -3
- package/dist/{chunk-U7GYZU6V.js → chunk-E2Y4FFQW.js} +5 -5
- package/dist/{chunk-KAF6JPGL.js → chunk-FGD2K7AB.js} +3 -3
- package/dist/chunk-FGD2K7AB.js.map +1 -0
- package/dist/{chunk-ZREBC77R.js → chunk-G7DS23D4.js} +2 -2
- package/dist/{chunk-VGUKS6JR.js → chunk-I4ICM3U4.js} +297 -43
- package/dist/chunk-I4ICM3U4.js.map +1 -0
- package/dist/{chunk-6II57C72.js → chunk-KDN6SLJM.js} +2 -2
- package/dist/{chunk-E5X3DSQZ.js → chunk-L3YCXXMA.js} +9 -9
- package/dist/{chunk-2674YZOF.js → chunk-M6HTOCQK.js} +3 -3
- package/dist/{chunk-SZVHT57M.js → chunk-MGSRWYRN.js} +2 -2
- package/dist/{chunk-5CLSJWUN.js → chunk-O433KXLK.js} +8 -1
- package/dist/chunk-O433KXLK.js.map +1 -0
- package/dist/{chunk-Z5IASLIU.js → chunk-PFTST5V6.js} +4 -4
- package/dist/{chunk-LLIM2OX6.js → chunk-S7OROGUS.js} +2 -2
- package/dist/{chunk-BVA5SVOD.js → chunk-U6TH4RJJ.js} +1394 -784
- package/dist/chunk-U6TH4RJJ.js.map +1 -0
- package/dist/{chunk-ETJFWUCA.js → chunk-V2BMPPOE.js} +4 -4
- package/dist/{chunk-OKBVGNH7.js → chunk-Z5Y3RB2U.js} +2 -2
- package/dist/{chunk-V3QHMEJZ.js → chunk-ZE6VLLFC.js} +51 -4
- package/dist/chunk-ZE6VLLFC.js.map +1 -0
- package/dist/context-mention-palette/index.js +10 -10
- package/dist/context-mention-provider.d.ts +1 -0
- package/dist/{contribution-C0MnLVKF.d.ts → contribution-DfeuQHH6.d.ts} +39 -0
- package/dist/conversation-rail-runtime.d.ts +10 -3
- package/dist/dock-icons.js +2 -2
- package/dist/i18n/index.d.ts +370 -168
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +1199 -580
- package/dist/index.js +23 -23
- package/dist/index.js.map +1 -1
- package/dist/mention-search.js +8 -8
- package/dist/planImplementationPresentation-BxVOLt6A.d.ts +24 -0
- package/dist/provider-identity.js +1 -1
- package/dist/{types-CWFDZVkv.d.ts → types-CWKbqBmi.d.ts} +44 -0
- package/dist/workbench/contribution.d.ts +1 -1
- package/dist/workbench/contribution.js +10 -10
- package/dist/workbench/index.d.ts +2 -2
- package/dist/workbench/index.js +10 -10
- package/dist/workbench/launch.d.ts +4 -0
- package/dist/workbench/launch.js +4 -4
- package/dist/workbench/providerCatalog.js +2 -2
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.js +3 -3
- package/dist/workbench/types.d.ts +3 -0
- package/dist/workbench/types.js +1 -1
- package/dist/{agentConversationVM-CYXZSrh9.d.ts → workspaceLinkActions-BmVLZszV.d.ts} +110 -73
- package/package.json +14 -14
- package/dist/AgentRichTextReadonly-OKZPTCIX.js +0 -19
- package/dist/chunk-5CLSJWUN.js.map +0 -1
- package/dist/chunk-BVA5SVOD.js.map +0 -1
- package/dist/chunk-F5YFT4VB.js.map +0 -1
- package/dist/chunk-KAF6JPGL.js.map +0 -1
- package/dist/chunk-MHOYBRCY.js.map +0 -1
- package/dist/chunk-V3QHMEJZ.js.map +0 -1
- package/dist/chunk-VGUKS6JR.js.map +0 -1
- package/dist/chunk-YSA4MXR5.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-OKZPTCIX.js.map → AgentRichTextReadonly-HJQQ4KAL.js.map} +0 -0
- /package/dist/{chunk-NCD5I4OB.js.map → chunk-5VECGOBU.js.map} +0 -0
- /package/dist/{chunk-AODSTIED.js.map → chunk-AFUVWWQY.js.map} +0 -0
- /package/dist/{chunk-CAZ7NYUE.js.map → chunk-DKGFEIZ7.js.map} +0 -0
- /package/dist/{chunk-5UTK6FDH.js.map → chunk-DNHDR2YC.js.map} +0 -0
- /package/dist/{chunk-U7GYZU6V.js.map → chunk-E2Y4FFQW.js.map} +0 -0
- /package/dist/{chunk-ZREBC77R.js.map → chunk-G7DS23D4.js.map} +0 -0
- /package/dist/{chunk-6II57C72.js.map → chunk-KDN6SLJM.js.map} +0 -0
- /package/dist/{chunk-E5X3DSQZ.js.map → chunk-L3YCXXMA.js.map} +0 -0
- /package/dist/{chunk-2674YZOF.js.map → chunk-M6HTOCQK.js.map} +0 -0
- /package/dist/{chunk-SZVHT57M.js.map → chunk-MGSRWYRN.js.map} +0 -0
- /package/dist/{chunk-Z5IASLIU.js.map → chunk-PFTST5V6.js.map} +0 -0
- /package/dist/{chunk-LLIM2OX6.js.map → chunk-S7OROGUS.js.map} +0 -0
- /package/dist/{chunk-ETJFWUCA.js.map → chunk-V2BMPPOE.js.map} +0 -0
- /package/dist/{chunk-OKBVGNH7.js.map → chunk-Z5Y3RB2U.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import react__default, { ReactNode, PropsWithChildren, JSX } from 'react';
|
|
|
3
3
|
import * as _tutti_os_ui_i18n_runtime from '@tutti-os/ui-i18n-runtime';
|
|
4
4
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
5
5
|
import * as _tutti_os_agent_activity_core from '@tutti-os/agent-activity-core';
|
|
6
|
-
import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings,
|
|
6
|
+
import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivityUpdateTuttiModeActivationInput, AgentActivityUpdateTuttiModeActivationResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySetCollaborationAdoptionInput, AgentActivityCollaborationRun, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivityMessageSemantics, AgentActivityGoalControlAction, AgentActivityTurn, AgentActivitySlashCommandPolicy, AgentActivityUsage, CanonicalAgentSession, AgentActivitySubmitSettingsPatch, AgentSessionEngineState } from '@tutti-os/agent-activity-core';
|
|
7
7
|
export { AgentActivityAdapter, AgentActivityMessage, AgentActivityNeedsAttentionItem, AgentActivitySnapshot, selectNeedsAttentionCount, selectNeedsAttentionItems } from '@tutti-os/agent-activity-core';
|
|
8
8
|
import { WorkspaceUserProjectService, WorkspaceUserProject } from '@tutti-os/workspace-user-project/contracts';
|
|
9
9
|
import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
@@ -91,6 +91,7 @@ interface AgentHostAgentSessionPermissionConfig {
|
|
|
91
91
|
}
|
|
92
92
|
interface AgentHostAgentSessionComposerSettings {
|
|
93
93
|
model?: string | null;
|
|
94
|
+
modelPlanId?: string | null;
|
|
94
95
|
reasoningEffort?: AgentHostAgentSessionReasoningEffort | null;
|
|
95
96
|
speed?: AgentHostAgentSessionSpeed | null;
|
|
96
97
|
planMode?: boolean;
|
|
@@ -396,6 +397,7 @@ interface AgentActivityRuntimeDiagnosticInput {
|
|
|
396
397
|
}
|
|
397
398
|
interface AgentActivityRuntimeActivateSessionInputBase {
|
|
398
399
|
agentSessionId: string;
|
|
400
|
+
capabilityRefs?: AgentActivityCreateSessionInput["capabilityRefs"];
|
|
399
401
|
cwd?: string;
|
|
400
402
|
initialContent?: AgentActivitySendInput["content"];
|
|
401
403
|
/** 仅展示用首轮文本(bundle 折叠成一个 chip);initialContent 仍带展开后的文件。 */
|
|
@@ -410,12 +412,11 @@ interface AgentActivityRuntimeActivateSessionInputBase {
|
|
|
410
412
|
type AgentActivityRuntimeActivateSessionInput = (AgentActivityRuntimeActivateSessionInputBase & {
|
|
411
413
|
agentTargetId: string;
|
|
412
414
|
clientSubmitId: string;
|
|
413
|
-
|
|
415
|
+
initialTuttiModeActivation?: AgentActivityCreateSessionInput["initialTuttiModeActivation"];
|
|
414
416
|
mode: "new";
|
|
415
417
|
}) | (AgentActivityRuntimeActivateSessionInputBase & {
|
|
416
418
|
agentTargetId?: string | null;
|
|
417
419
|
clientSubmitId?: never;
|
|
418
|
-
initialGoalControl?: never;
|
|
419
420
|
mode: "existing";
|
|
420
421
|
});
|
|
421
422
|
interface AgentActivityRuntimeUnactivateSessionInput {
|
|
@@ -544,6 +545,7 @@ interface AgentActivityRuntime {
|
|
|
544
545
|
getSession(workspaceId: string, agentSessionId: string): Promise<AgentActivitySession>;
|
|
545
546
|
getComposerOptions(input: AgentActivityRuntimeGetComposerOptionsInput): Promise<unknown>;
|
|
546
547
|
updateSessionSettings(input: AgentActivityRuntimeUpdateSessionSettingsInput): Promise<AgentActivityRuntimeUpdateSessionSettingsResult>;
|
|
548
|
+
updateTuttiModeActivation(input: AgentActivityUpdateTuttiModeActivationInput): Promise<AgentActivityUpdateTuttiModeActivationResult>;
|
|
547
549
|
getSnapshot(workspaceId: string): AgentActivitySnapshot;
|
|
548
550
|
getSessionEngine(workspaceId: string): AgentSessionEngine;
|
|
549
551
|
getSessionSectionsQueryCache?(workspaceId: string): WorkspaceQueryCache<unknown>;
|
|
@@ -563,6 +565,11 @@ interface AgentActivityRuntime {
|
|
|
563
565
|
readSessionAttachment?(input: AgentActivityRuntimeReadSessionAttachmentInput): Promise<AgentActivityRuntimeSessionAttachment>;
|
|
564
566
|
readPromptAsset?(input: AgentActivityRuntimeReadPromptAssetInput): Promise<AgentActivityRuntimePromptAsset>;
|
|
565
567
|
renameSession(input: AgentActivityRenameSessionInput): Promise<AgentActivitySession>;
|
|
568
|
+
/**
|
|
569
|
+
* Record whether a collaboration outcome was adopted.
|
|
570
|
+
* Optional; hosts without support omit it and adoption controls stay hidden.
|
|
571
|
+
*/
|
|
572
|
+
setCollaborationAdoption?(input: AgentActivitySetCollaborationAdoptionInput): Promise<AgentActivityCollaborationRun>;
|
|
566
573
|
setSessionPinned(input: AgentActivityRuntimeSetSessionPinnedInput): Promise<AgentActivitySession>;
|
|
567
574
|
trackSettingsProjectChange?(input: AgentActivityRuntimeTrackSettingsProjectChangeInput): Promise<void>;
|
|
568
575
|
trackDraftComposerSettingsChange?(input: AgentActivityRuntimeTrackDraftComposerSettingsChangeInput): Promise<void>;
|
|
@@ -1024,381 +1031,122 @@ interface AgentSettings {
|
|
|
1024
1031
|
hideWorktreeMismatchDropWarning: boolean;
|
|
1025
1032
|
}
|
|
1026
1033
|
|
|
1027
|
-
interface
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
lastActiveAgentSessionIdByAgentTargetId?: Record<string, string> | null;
|
|
1032
|
-
conversationCount?: number | null;
|
|
1033
|
-
conversationRailWidthPx?: number | null;
|
|
1034
|
-
conversationRailCollapsed?: boolean | null;
|
|
1035
|
-
composerOverrides?: AgentHostAgentSessionComposerSettings | null;
|
|
1036
|
-
composerOverridesByAgentTargetId?: Record<string, AgentHostAgentSessionComposerSettings | null> | null;
|
|
1037
|
-
composerOverridesByProvider?: Partial<Record<AgentGUIProvider, AgentHostAgentSessionComposerSettings | null>> | null;
|
|
1034
|
+
interface WorkspaceAgentActivityFileChange {
|
|
1035
|
+
path: string;
|
|
1036
|
+
change?: "added" | "modified" | "deleted" | "moved" | string;
|
|
1037
|
+
tools?: string[];
|
|
1038
1038
|
}
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
* Built-in providers still use AgentProvider, while externally installed ACP
|
|
1043
|
-
* extensions use namespaced values such as `acp:gemini`.
|
|
1044
|
-
*/
|
|
1045
|
-
type AgentGUIProvider = string;
|
|
1046
|
-
/**
|
|
1047
|
-
* Stable identifiers for the starter entries shown below the empty new-session
|
|
1048
|
-
* composer. Hosts can pass these values to `AgentGUI.disabled` to hide entries
|
|
1049
|
-
* that should not be available in their integration.
|
|
1050
|
-
*/
|
|
1051
|
-
type AgentGUIHomeSuggestionId = "meet-tutti" | "task-breakdown" | "quality-review" | "agent-interaction" | "import-session";
|
|
1052
|
-
type AgentGUIAgentAvailabilityStatus = "ready" | "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
|
|
1053
|
-
type AgentGUIAgentAvailabilityAction = "install" | "login" | "refresh";
|
|
1054
|
-
interface AgentGUIAgentAvailability {
|
|
1055
|
-
status: AgentGUIAgentAvailabilityStatus;
|
|
1056
|
-
reason?: string | null;
|
|
1057
|
-
pendingAction?: AgentGUIAgentAvailabilityAction | null;
|
|
1039
|
+
interface WorkspaceAgentActivityFileChanges {
|
|
1040
|
+
coverage?: string;
|
|
1041
|
+
files?: WorkspaceAgentActivityFileChange[];
|
|
1058
1042
|
}
|
|
1059
|
-
interface
|
|
1060
|
-
|
|
1061
|
-
|
|
1043
|
+
interface WorkspaceAgentActivityTimelineItem {
|
|
1044
|
+
id: number;
|
|
1045
|
+
workspaceId?: string;
|
|
1046
|
+
agentSessionId: string;
|
|
1047
|
+
seq?: number;
|
|
1048
|
+
turnId?: string;
|
|
1049
|
+
eventSource?: string;
|
|
1050
|
+
eventId: string;
|
|
1051
|
+
actorType: string;
|
|
1052
|
+
actorId: string;
|
|
1053
|
+
itemType: "message" | "call" | "event" | "error" | "lifecycle" | string;
|
|
1054
|
+
role?: string;
|
|
1055
|
+
callType?: "tool" | "skill" | "subagent" | "approval" | "workflow" | string;
|
|
1056
|
+
callId?: string;
|
|
1057
|
+
name?: string;
|
|
1058
|
+
status?: string | null;
|
|
1059
|
+
messageSemantics?: AgentActivityMessageSemantics;
|
|
1060
|
+
content?: string;
|
|
1061
|
+
payload?: Record<string, unknown> & {
|
|
1062
|
+
content?: unknown;
|
|
1063
|
+
text?: unknown;
|
|
1064
|
+
fileChanges?: WorkspaceAgentActivityFileChanges;
|
|
1065
|
+
};
|
|
1066
|
+
occurredAtUnixMs?: number;
|
|
1067
|
+
createdAtUnixMs?: number;
|
|
1062
1068
|
}
|
|
1063
|
-
|
|
1064
|
-
type
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
*
|
|
1068
|
-
* `agentTargetId` is the only UI and launch identity. `provider` remains
|
|
1069
|
-
* execution metadata for provider-native composer/runtime policy and must not
|
|
1070
|
-
* be used to group, deduplicate, name, or select entries.
|
|
1071
|
-
*/
|
|
1072
|
-
interface AgentGUIAgent {
|
|
1073
|
-
agentTargetId: string;
|
|
1069
|
+
|
|
1070
|
+
type ToolCallStatusKind = "working" | "completed" | "failed" | "canceled" | "waiting";
|
|
1071
|
+
interface WorkspaceAgentToolCallDisplay {
|
|
1072
|
+
id: string;
|
|
1074
1073
|
name: string;
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
heroImageUrl?: string | null;
|
|
1079
|
-
description?: string | null;
|
|
1080
|
-
/** Host-resolved display name of the device that owns this Agent target. */
|
|
1081
|
-
ownerDeviceLabel?: string | null;
|
|
1082
|
-
owner?: AgentGUIAgentOwner | null;
|
|
1083
|
-
ownership?: AgentGUIAgentOwnership | null;
|
|
1084
|
-
availability: AgentGUIAgentAvailability;
|
|
1085
|
-
provider: AgentGUIProvider;
|
|
1086
|
-
setupKind?: "target_runtime" | null;
|
|
1087
|
-
}
|
|
1088
|
-
type AgentGUIAgentDirectoryStatus = "idle" | "loading" | "ready" | "error";
|
|
1089
|
-
interface AgentGUIAgentDirectorySnapshot {
|
|
1090
|
-
agents: readonly AgentGUIAgent[];
|
|
1091
|
-
capturedAtUnixMs: number | null;
|
|
1092
|
-
error: string | null;
|
|
1093
|
-
status: AgentGUIAgentDirectoryStatus;
|
|
1094
|
-
}
|
|
1095
|
-
interface AgentGUIAgentDirectoryPort {
|
|
1096
|
-
getSnapshot(): AgentGUIAgentDirectorySnapshot;
|
|
1097
|
-
subscribe(listener: () => void): () => void;
|
|
1098
|
-
}
|
|
1099
|
-
interface AgentGUIAllAgentsPresentation {
|
|
1100
|
-
iconUrl?: string | null;
|
|
1101
|
-
}
|
|
1102
|
-
interface AgentGUIAgentTargetRef {
|
|
1103
|
-
kind: string;
|
|
1104
|
-
provider: AgentGUIProvider;
|
|
1105
|
-
[key: string]: unknown;
|
|
1074
|
+
status: string | null;
|
|
1075
|
+
statusKind: ToolCallStatusKind | null;
|
|
1076
|
+
detail?: string;
|
|
1106
1077
|
}
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1078
|
+
|
|
1079
|
+
type WorkspaceAgentLatestActivityStatus = "working" | "waiting" | "idle" | "completed" | "canceled" | "failed";
|
|
1080
|
+
interface WorkspaceAgentConversationPreviewLine {
|
|
1081
|
+
actorName: string;
|
|
1082
|
+
summary: string;
|
|
1110
1083
|
}
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
ref: AgentGUIAgentTargetRef;
|
|
1084
|
+
|
|
1085
|
+
type WorkspaceAgentActivityStatus = WorkspaceAgentLatestActivityStatus;
|
|
1086
|
+
interface WorkspaceAgentChangedFile {
|
|
1087
|
+
path: string;
|
|
1116
1088
|
label: string;
|
|
1117
|
-
description?: string;
|
|
1118
|
-
iconUrl?: string | null;
|
|
1119
|
-
maskIconUrl?: string | null;
|
|
1120
|
-
heroImageUrl?: string | null;
|
|
1121
|
-
badge?: AgentGUIAgentTargetBadge | null;
|
|
1122
|
-
ownerLabel?: string;
|
|
1123
|
-
ownerDeviceLabel?: string;
|
|
1124
|
-
ownership?: AgentGUIAgentOwnership;
|
|
1125
|
-
availability?: AgentGUIAgentAvailability;
|
|
1126
|
-
disabled?: boolean;
|
|
1127
|
-
unavailableReason?: string;
|
|
1128
|
-
}
|
|
1129
|
-
interface AgentGUIProviderRailAllPresentation {
|
|
1130
|
-
iconUrl?: string | null;
|
|
1131
|
-
}
|
|
1132
|
-
/**
|
|
1133
|
-
* How the provider rail composes the target list.
|
|
1134
|
-
* - "catalog" (default): host-provided targets are augmented with the static
|
|
1135
|
-
* local provider catalog, disabled placeholders (nexight/hermes/openclaw),
|
|
1136
|
-
* and coming-soon markers. When no targets are provided, the full local
|
|
1137
|
-
* catalog is shown.
|
|
1138
|
-
* - "exact": the rail renders exactly the provided targets — no static catalog
|
|
1139
|
-
* fallback, no disabled placeholders, no coming-soon injection. When the list
|
|
1140
|
-
* is empty (and not loading) the host-provided empty renderer is shown. Use
|
|
1141
|
-
* this when the list is fully orchestrated externally (e.g. shared agents,
|
|
1142
|
-
* custom /agents).
|
|
1143
|
-
*/
|
|
1144
|
-
type AgentGUIProviderRailMode = "catalog" | "exact";
|
|
1145
|
-
type AgentGUIProviderReadinessGateStatus = "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
|
|
1146
|
-
type AgentGUIProviderReadinessGateAction = "install" | "login" | "refresh";
|
|
1147
|
-
interface AgentGUIProviderReadinessGate {
|
|
1148
|
-
status: AgentGUIProviderReadinessGateStatus;
|
|
1149
|
-
pendingAction?: AgentGUIProviderReadinessGateAction | null;
|
|
1150
|
-
onAction?: (provider: AgentGUIProvider, action: AgentGUIProviderReadinessGateAction) => void;
|
|
1151
|
-
}
|
|
1152
|
-
interface Size {
|
|
1153
|
-
width: number;
|
|
1154
|
-
height: number;
|
|
1155
|
-
}
|
|
1156
|
-
interface Point {
|
|
1157
|
-
x: number;
|
|
1158
|
-
y: number;
|
|
1159
1089
|
}
|
|
1160
|
-
interface
|
|
1161
|
-
|
|
1162
|
-
|
|
1090
|
+
interface WorkspaceAgentActivityCard {
|
|
1091
|
+
id: string;
|
|
1092
|
+
sessionId: string;
|
|
1093
|
+
userId: string | null;
|
|
1094
|
+
userName: string;
|
|
1095
|
+
userAvatarUrl?: string;
|
|
1096
|
+
agentProvider: string;
|
|
1097
|
+
agentName: string;
|
|
1098
|
+
title: string;
|
|
1099
|
+
status: WorkspaceAgentActivityStatus;
|
|
1100
|
+
latestActivitySummary: string;
|
|
1101
|
+
/** User prompt + latest agent reply for task/issue execution cards; room status list uses single-line summary only. */
|
|
1102
|
+
conversationPreview?: WorkspaceAgentConversationPreviewLine[];
|
|
1103
|
+
latestActivityActorName?: string;
|
|
1104
|
+
toolCalls?: WorkspaceAgentToolCallDisplay[];
|
|
1105
|
+
changedFiles: WorkspaceAgentChangedFile[];
|
|
1106
|
+
sortTimeUnixMs: number;
|
|
1107
|
+
readTimeUnixMs?: number;
|
|
1163
1108
|
}
|
|
1164
1109
|
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1110
|
+
interface WorkspaceAgentSessionDetailMessage {
|
|
1111
|
+
id: string;
|
|
1112
|
+
body: string;
|
|
1113
|
+
status?: string | null;
|
|
1114
|
+
statusKind?: ToolCallStatusKind | null;
|
|
1115
|
+
turnId?: string;
|
|
1116
|
+
occurredAtUnixMs?: number | null;
|
|
1117
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
1118
|
+
visibleError?: {
|
|
1119
|
+
code: string | null;
|
|
1120
|
+
phase: string | null;
|
|
1121
|
+
provider: string | null;
|
|
1122
|
+
detail: string | null;
|
|
1123
|
+
retryable: boolean | null;
|
|
1124
|
+
} | null;
|
|
1125
|
+
systemNotice?: {
|
|
1126
|
+
noticeKind: string | null;
|
|
1127
|
+
severity: string | null;
|
|
1128
|
+
source?: string | null;
|
|
1129
|
+
command?: AgentActivityMessageSemantics["noticeCommand"] | null;
|
|
1130
|
+
commandStatus?: AgentActivityMessageSemantics["noticeCommandStatus"] | null;
|
|
1131
|
+
title: string | null;
|
|
1132
|
+
detail: string | null;
|
|
1133
|
+
retryable: boolean | null;
|
|
1134
|
+
} | null;
|
|
1170
1135
|
}
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
workspaceRoot: string;
|
|
1179
|
-
source: WorkspaceLinkActionSource;
|
|
1180
|
-
prefetchedDirectoryListing?: WorkspaceFileLinkDirectoryListing | null;
|
|
1136
|
+
interface WorkspaceAgentSessionDetailThinking {
|
|
1137
|
+
id: string;
|
|
1138
|
+
body: string;
|
|
1139
|
+
statusKind?: ToolCallStatusKind | null;
|
|
1140
|
+
turnId?: string;
|
|
1141
|
+
occurredAtUnixMs?: number | null;
|
|
1142
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
1181
1143
|
}
|
|
1182
|
-
interface
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
interface WorkspaceFileLinkDirectoryEntry {
|
|
1189
|
-
path: string;
|
|
1190
|
-
name: string;
|
|
1191
|
-
kind: "file" | "directory" | "unknown";
|
|
1192
|
-
hasChildren: boolean | null;
|
|
1193
|
-
sizeBytes: number | null;
|
|
1194
|
-
mtimeMs: number | null;
|
|
1195
|
-
}
|
|
1196
|
-
interface WorkspaceFileLinkDirectoryListing {
|
|
1197
|
-
workspaceId: string;
|
|
1198
|
-
root: string;
|
|
1199
|
-
directoryPath: string;
|
|
1200
|
-
entries: WorkspaceFileLinkDirectoryEntry[];
|
|
1201
|
-
}
|
|
1202
|
-
interface OpenWorkspaceUrlLinkAction {
|
|
1203
|
-
type: "open-url";
|
|
1204
|
-
url: string;
|
|
1205
|
-
source: WorkspaceLinkActionSource;
|
|
1206
|
-
}
|
|
1207
|
-
interface OpenAgentSessionLinkAction {
|
|
1208
|
-
type: "open-agent-session";
|
|
1209
|
-
workspaceId: string;
|
|
1210
|
-
agentSessionId: string;
|
|
1211
|
-
agentTargetId?: string | null;
|
|
1212
|
-
source: WorkspaceLinkActionSource;
|
|
1213
|
-
}
|
|
1214
|
-
interface OpenWorkspaceIssueLinkAction {
|
|
1215
|
-
type: "open-workspace-issue";
|
|
1216
|
-
workspaceId: string;
|
|
1217
|
-
issueId: string | null;
|
|
1218
|
-
mode?: WorkspaceIssueMentionMode;
|
|
1219
|
-
outputDir?: string | null;
|
|
1220
|
-
runId?: string | null;
|
|
1221
|
-
taskId?: string | null;
|
|
1222
|
-
topicId?: string | null;
|
|
1223
|
-
source: WorkspaceLinkActionSource;
|
|
1224
|
-
}
|
|
1225
|
-
interface OpenWorkspaceAppLinkAction {
|
|
1226
|
-
type: "open-workspace-app";
|
|
1227
|
-
workspaceId: string;
|
|
1228
|
-
appId: string;
|
|
1229
|
-
conversationId?: string | null;
|
|
1230
|
-
messageId?: string | null;
|
|
1231
|
-
summaryTaskId?: string | null;
|
|
1232
|
-
source: WorkspaceLinkActionSource;
|
|
1233
|
-
}
|
|
1234
|
-
interface OpenCustomMentionLinkAction {
|
|
1235
|
-
type: "open-custom-mention";
|
|
1236
|
-
/** 注册表里的 kind(= mention:// providerId)。 */
|
|
1237
|
-
kind: string;
|
|
1238
|
-
href: string;
|
|
1239
|
-
source: WorkspaceLinkActionSource;
|
|
1240
|
-
}
|
|
1241
|
-
type WorkspaceLinkAction = OpenWorkspaceFileLinkAction | OpenLocalAssetPreviewLinkAction | OpenWorkspaceUrlLinkAction | OpenAgentSessionLinkAction | OpenWorkspaceIssueLinkAction | OpenWorkspaceAppLinkAction | OpenCustomMentionLinkAction;
|
|
1242
|
-
|
|
1243
|
-
interface AgentMessageMarkdownWorkspaceAppIcon {
|
|
1244
|
-
appId: string;
|
|
1245
|
-
iconUrl: string | null;
|
|
1246
|
-
workspaceId?: string | null;
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
interface AgentGUIAccountMenuState {
|
|
1250
|
-
user: {
|
|
1251
|
-
userId: string;
|
|
1252
|
-
name?: string | null;
|
|
1253
|
-
email?: string | null;
|
|
1254
|
-
avatar?: string | null;
|
|
1255
|
-
} | null;
|
|
1256
|
-
membershipLabel: string;
|
|
1257
|
-
creditsLabel: string | null;
|
|
1258
|
-
loading: boolean;
|
|
1259
|
-
error: string | null;
|
|
1260
|
-
partialError?: boolean;
|
|
1261
|
-
registrationCreditsToast?: {
|
|
1262
|
-
id: string;
|
|
1263
|
-
creditsLabel: string;
|
|
1264
|
-
visible: boolean;
|
|
1265
|
-
autoDismissMs?: number;
|
|
1266
|
-
onDismiss(): void;
|
|
1267
|
-
} | null;
|
|
1268
|
-
links: {
|
|
1269
|
-
planUrl: string;
|
|
1270
|
-
usageUrl: string;
|
|
1271
|
-
settingsUrl: string;
|
|
1272
|
-
};
|
|
1273
|
-
onOpenChange(open: boolean): void;
|
|
1274
|
-
onLogin(): void;
|
|
1275
|
-
onLogout?(): void;
|
|
1276
|
-
onSettings?(): void;
|
|
1277
|
-
onOpenExternal(url: string): void;
|
|
1278
|
-
}
|
|
1279
|
-
|
|
1280
|
-
type AgentSessionCommand = AgentHostAgentSessionCommand;
|
|
1281
|
-
type AgentSessionComposerSettings = AgentHostAgentSessionComposerSettings;
|
|
1282
|
-
type AgentSessionPermissionConfig = AgentHostAgentSessionPermissionConfig;
|
|
1283
|
-
type AgentSessionReasoningEffort = AgentHostAgentSessionReasoningEffort;
|
|
1284
|
-
type AgentSessionSpeed = AgentHostAgentSessionSpeed;
|
|
1285
|
-
|
|
1286
|
-
interface WorkspaceAgentActivityFileChange {
|
|
1287
|
-
path: string;
|
|
1288
|
-
change?: "added" | "modified" | "deleted" | "moved" | string;
|
|
1289
|
-
tools?: string[];
|
|
1290
|
-
}
|
|
1291
|
-
interface WorkspaceAgentActivityFileChanges {
|
|
1292
|
-
coverage?: string;
|
|
1293
|
-
files?: WorkspaceAgentActivityFileChange[];
|
|
1294
|
-
}
|
|
1295
|
-
interface WorkspaceAgentActivityTimelineItem {
|
|
1296
|
-
id: number;
|
|
1297
|
-
workspaceId?: string;
|
|
1298
|
-
agentSessionId: string;
|
|
1299
|
-
seq?: number;
|
|
1300
|
-
turnId?: string;
|
|
1301
|
-
eventSource?: string;
|
|
1302
|
-
eventId: string;
|
|
1303
|
-
actorType: string;
|
|
1304
|
-
actorId: string;
|
|
1305
|
-
itemType: "message" | "call" | "event" | "error" | "lifecycle" | string;
|
|
1306
|
-
role?: string;
|
|
1307
|
-
callType?: "tool" | "skill" | "subagent" | "approval" | "workflow" | string;
|
|
1308
|
-
callId?: string;
|
|
1309
|
-
name?: string;
|
|
1310
|
-
status?: string | null;
|
|
1311
|
-
messageSemantics?: AgentActivityMessageSemantics;
|
|
1312
|
-
content?: string;
|
|
1313
|
-
payload?: Record<string, unknown> & {
|
|
1314
|
-
content?: unknown;
|
|
1315
|
-
text?: unknown;
|
|
1316
|
-
fileChanges?: WorkspaceAgentActivityFileChanges;
|
|
1317
|
-
};
|
|
1318
|
-
occurredAtUnixMs?: number;
|
|
1319
|
-
createdAtUnixMs?: number;
|
|
1320
|
-
}
|
|
1321
|
-
|
|
1322
|
-
type ToolCallStatusKind = "working" | "completed" | "failed" | "canceled" | "waiting";
|
|
1323
|
-
interface WorkspaceAgentToolCallDisplay {
|
|
1324
|
-
id: string;
|
|
1325
|
-
name: string;
|
|
1326
|
-
status: string | null;
|
|
1327
|
-
statusKind: ToolCallStatusKind | null;
|
|
1328
|
-
detail?: string;
|
|
1329
|
-
}
|
|
1330
|
-
|
|
1331
|
-
type WorkspaceAgentLatestActivityStatus = "working" | "waiting" | "idle" | "completed" | "canceled" | "failed";
|
|
1332
|
-
interface WorkspaceAgentConversationPreviewLine {
|
|
1333
|
-
actorName: string;
|
|
1334
|
-
summary: string;
|
|
1335
|
-
}
|
|
1336
|
-
|
|
1337
|
-
type WorkspaceAgentActivityStatus = WorkspaceAgentLatestActivityStatus;
|
|
1338
|
-
interface WorkspaceAgentChangedFile {
|
|
1339
|
-
path: string;
|
|
1340
|
-
label: string;
|
|
1341
|
-
}
|
|
1342
|
-
interface WorkspaceAgentActivityCard {
|
|
1343
|
-
id: string;
|
|
1344
|
-
sessionId: string;
|
|
1345
|
-
userId: string | null;
|
|
1346
|
-
userName: string;
|
|
1347
|
-
userAvatarUrl?: string;
|
|
1348
|
-
agentProvider: string;
|
|
1349
|
-
agentName: string;
|
|
1350
|
-
title: string;
|
|
1351
|
-
status: WorkspaceAgentActivityStatus;
|
|
1352
|
-
latestActivitySummary: string;
|
|
1353
|
-
/** User prompt + latest agent reply for task/issue execution cards; room status list uses single-line summary only. */
|
|
1354
|
-
conversationPreview?: WorkspaceAgentConversationPreviewLine[];
|
|
1355
|
-
latestActivityActorName?: string;
|
|
1356
|
-
toolCalls?: WorkspaceAgentToolCallDisplay[];
|
|
1357
|
-
changedFiles: WorkspaceAgentChangedFile[];
|
|
1358
|
-
sortTimeUnixMs: number;
|
|
1359
|
-
readTimeUnixMs?: number;
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1362
|
-
interface WorkspaceAgentSessionDetailMessage {
|
|
1363
|
-
id: string;
|
|
1364
|
-
body: string;
|
|
1365
|
-
status?: string | null;
|
|
1366
|
-
statusKind?: ToolCallStatusKind | null;
|
|
1367
|
-
turnId?: string;
|
|
1368
|
-
occurredAtUnixMs?: number | null;
|
|
1369
|
-
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
1370
|
-
visibleError?: {
|
|
1371
|
-
code: string | null;
|
|
1372
|
-
phase: string | null;
|
|
1373
|
-
provider: string | null;
|
|
1374
|
-
detail: string | null;
|
|
1375
|
-
retryable: boolean | null;
|
|
1376
|
-
} | null;
|
|
1377
|
-
systemNotice?: {
|
|
1378
|
-
noticeKind: string | null;
|
|
1379
|
-
severity: string | null;
|
|
1380
|
-
source?: string | null;
|
|
1381
|
-
command?: AgentActivityMessageSemantics["noticeCommand"] | null;
|
|
1382
|
-
commandStatus?: AgentActivityMessageSemantics["noticeCommandStatus"] | null;
|
|
1383
|
-
title: string | null;
|
|
1384
|
-
detail: string | null;
|
|
1385
|
-
retryable: boolean | null;
|
|
1386
|
-
} | null;
|
|
1387
|
-
}
|
|
1388
|
-
interface WorkspaceAgentSessionDetailThinking {
|
|
1389
|
-
id: string;
|
|
1390
|
-
body: string;
|
|
1391
|
-
statusKind?: ToolCallStatusKind | null;
|
|
1392
|
-
turnId?: string;
|
|
1393
|
-
occurredAtUnixMs?: number | null;
|
|
1394
|
-
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
1395
|
-
}
|
|
1396
|
-
interface WorkspaceAgentSessionDetailGoalControl {
|
|
1397
|
-
id: string;
|
|
1398
|
-
action: AgentActivityGoalControlAction;
|
|
1399
|
-
body: string;
|
|
1400
|
-
occurredAtUnixMs?: number | null;
|
|
1401
|
-
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
1144
|
+
interface WorkspaceAgentSessionDetailGoalControl {
|
|
1145
|
+
id: string;
|
|
1146
|
+
action: AgentActivityGoalControlAction;
|
|
1147
|
+
body: string;
|
|
1148
|
+
occurredAtUnixMs?: number | null;
|
|
1149
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
1402
1150
|
}
|
|
1403
1151
|
interface WorkspaceAgentSessionDetailToolCall {
|
|
1404
1152
|
id: string;
|
|
@@ -1528,6 +1276,41 @@ interface AgentGoalControlRowVM {
|
|
|
1528
1276
|
|
|
1529
1277
|
type AgentTranscriptPresentationKind = "content" | "specific-progress" | "turn-boundary";
|
|
1530
1278
|
|
|
1279
|
+
interface AgentCollaborationUsageVM {
|
|
1280
|
+
inputTokens: number;
|
|
1281
|
+
outputTokens: number;
|
|
1282
|
+
}
|
|
1283
|
+
/**
|
|
1284
|
+
* Typed projection of one durable "collaboration" timeline message (the
|
|
1285
|
+
* daemon projects each collaboration run into the source session transcript
|
|
1286
|
+
* with messageId `collab:<runId>`; status transitions update the same message
|
|
1287
|
+
* in place). Pure data — rendering and adoption actions live in
|
|
1288
|
+
* `AgentCollaborationRow`.
|
|
1289
|
+
*/
|
|
1290
|
+
interface AgentCollaborationVM {
|
|
1291
|
+
kind: "collaboration";
|
|
1292
|
+
runId: string;
|
|
1293
|
+
/** Session identity of the source transcript row, for adoption commands. */
|
|
1294
|
+
workspaceId: string | null;
|
|
1295
|
+
agentSessionId: string | null;
|
|
1296
|
+
mode: "consult" | "fork" | "delegate" | "handoff" | (string & {});
|
|
1297
|
+
status: "running" | "completed" | "failed" | "canceled" | (string & {});
|
|
1298
|
+
triggerSource: "user" | "agent" | "policy" | (string & {});
|
|
1299
|
+
triggerReason: string | null;
|
|
1300
|
+
targetSessionId: string | null;
|
|
1301
|
+
targetAgentTargetId: string | null;
|
|
1302
|
+
modelPlanId: string | null;
|
|
1303
|
+
/** Optional display name when the daemon payload carries it. */
|
|
1304
|
+
modelPlanName: string | null;
|
|
1305
|
+
model: string | null;
|
|
1306
|
+
contextScope: string | null;
|
|
1307
|
+
resultText: string | null;
|
|
1308
|
+
failureReason: string | null;
|
|
1309
|
+
durationMs: number | null;
|
|
1310
|
+
usage: AgentCollaborationUsageVM | null;
|
|
1311
|
+
adoption: "pending" | "adopted" | "rejected" | "not_applicable" | (string & {});
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1531
1314
|
interface AgentMessageContentVM {
|
|
1532
1315
|
kind: "message-content";
|
|
1533
1316
|
id: string;
|
|
@@ -1536,8 +1319,10 @@ interface AgentMessageContentVM {
|
|
|
1536
1319
|
presentationKind: AgentTranscriptPresentationKind;
|
|
1537
1320
|
copyText?: string | null;
|
|
1538
1321
|
statusKind?: ToolCallStatusKind | null;
|
|
1539
|
-
contentKind?: "text" | "image-grid" | "plan";
|
|
1322
|
+
contentKind?: "text" | "image-grid" | "plan" | "collaboration";
|
|
1540
1323
|
isTurnFinalText?: true;
|
|
1324
|
+
/** Typed payload for `contentKind: "collaboration"` rows. */
|
|
1325
|
+
collaboration?: AgentCollaborationVM | null;
|
|
1541
1326
|
images?: AgentMessageImageVM[];
|
|
1542
1327
|
occurredAtUnixMs: number | null;
|
|
1543
1328
|
visibleError?: {
|
|
@@ -1741,43 +1526,365 @@ interface AgentTurnSummaryPatchBatchVM {
|
|
|
1741
1526
|
toolCallId: string;
|
|
1742
1527
|
changes: AgentTurnSummaryPatchChangeVM[];
|
|
1743
1528
|
}
|
|
1744
|
-
interface AgentTurnSummaryRowVM {
|
|
1745
|
-
kind: "turn-summary";
|
|
1746
|
-
id: string;
|
|
1747
|
-
turnId: string;
|
|
1748
|
-
files: AgentTurnSummaryFileVM[];
|
|
1749
|
-
patchBatches?: AgentTurnSummaryPatchBatchVM[];
|
|
1750
|
-
fileCount: number;
|
|
1751
|
-
modifiedCount: number;
|
|
1752
|
-
createdCount: number;
|
|
1753
|
-
occurredAtUnixMs: number | null;
|
|
1529
|
+
interface AgentTurnSummaryRowVM {
|
|
1530
|
+
kind: "turn-summary";
|
|
1531
|
+
id: string;
|
|
1532
|
+
turnId: string;
|
|
1533
|
+
files: AgentTurnSummaryFileVM[];
|
|
1534
|
+
patchBatches?: AgentTurnSummaryPatchBatchVM[];
|
|
1535
|
+
fileCount: number;
|
|
1536
|
+
modifiedCount: number;
|
|
1537
|
+
createdCount: number;
|
|
1538
|
+
occurredAtUnixMs: number | null;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
type AgentTranscriptRowVM = AgentGeneratedImageRowVM | AgentGoalControlRowVM | AgentMessageRowVM | AgentToolGroupRowVM | AgentTurnSummaryRowVM | AgentProcessingRowVM;
|
|
1542
|
+
|
|
1543
|
+
type AgentConversationPromptVM = AgentApprovalItemVM | {
|
|
1544
|
+
kind: "ask-user";
|
|
1545
|
+
requestId: string;
|
|
1546
|
+
title: string;
|
|
1547
|
+
questions: AgentAskUserQuestionVM[];
|
|
1548
|
+
} | {
|
|
1549
|
+
kind: "exit-plan";
|
|
1550
|
+
requestId: string;
|
|
1551
|
+
title: string;
|
|
1552
|
+
options: AgentApprovalOptionVM[];
|
|
1553
|
+
keepPlanningOptionId?: string;
|
|
1554
|
+
} | {
|
|
1555
|
+
kind: "plan-implementation";
|
|
1556
|
+
requestId: string;
|
|
1557
|
+
title: string;
|
|
1558
|
+
};
|
|
1559
|
+
interface AgentConversationVM {
|
|
1560
|
+
activity: WorkspaceAgentActivityCard;
|
|
1561
|
+
workspaceRoot: string | null;
|
|
1562
|
+
sourceDetail: WorkspaceAgentSessionDetailViewModel;
|
|
1563
|
+
rows: AgentTranscriptRowVM[];
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
declare const PLAN_IMPLEMENTATION_ACTION_IMPLEMENT = "implement";
|
|
1567
|
+
declare const PLAN_IMPLEMENTATION_ACTION_FEEDBACK = "feedback";
|
|
1568
|
+
declare const PLAN_IMPLEMENTATION_ACTION_SKIP = "skip";
|
|
1569
|
+
interface PlanIssueExecutionProfile {
|
|
1570
|
+
reasoningIntensity: number;
|
|
1571
|
+
orchestrationIntensity: number;
|
|
1572
|
+
}
|
|
1573
|
+
interface PlanIssueBudget {
|
|
1574
|
+
mode: "auto" | "fixed";
|
|
1575
|
+
tokenLimit: number;
|
|
1576
|
+
quotaWaterlinePercent: number;
|
|
1577
|
+
}
|
|
1578
|
+
/**
|
|
1579
|
+
* Remembered planning defaults chosen before a Plan turn is submitted. The
|
|
1580
|
+
* generated plan can still provide explicit values; otherwise these values
|
|
1581
|
+
* seed the mandatory Issue-decomposition review.
|
|
1582
|
+
*/
|
|
1583
|
+
interface PlanIssueBudgetPreset {
|
|
1584
|
+
executionProfile: PlanIssueExecutionProfile;
|
|
1585
|
+
budget: PlanIssueBudget;
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
interface AgentGUINodeData {
|
|
1589
|
+
provider: AgentGUIProvider;
|
|
1590
|
+
agentTargetId?: string | null;
|
|
1591
|
+
lastActiveAgentSessionId: string | null;
|
|
1592
|
+
lastActiveAgentSessionIdByAgentTargetId?: Record<string, string> | null;
|
|
1593
|
+
conversationCount?: number | null;
|
|
1594
|
+
conversationRailWidthPx?: number | null;
|
|
1595
|
+
conversationRailCollapsed?: boolean | null;
|
|
1596
|
+
composerOverrides?: AgentHostAgentSessionComposerSettings | null;
|
|
1597
|
+
composerOverridesByAgentTargetId?: Record<string, AgentHostAgentSessionComposerSettings | null> | null;
|
|
1598
|
+
composerOverridesByProvider?: Partial<Record<AgentGUIProvider, AgentHostAgentSessionComposerSettings | null>> | null;
|
|
1599
|
+
/** Remembered defaults for provider Plan decomposition review. */
|
|
1600
|
+
planIssueBudgetPreset?: PlanIssueBudgetPreset | null;
|
|
1601
|
+
}
|
|
1602
|
+
/**
|
|
1603
|
+
* Open runtime metadata reported by an Agent Target.
|
|
1604
|
+
*
|
|
1605
|
+
* Built-in providers still use AgentProvider, while externally installed ACP
|
|
1606
|
+
* extensions use namespaced values such as `acp:gemini`.
|
|
1607
|
+
*/
|
|
1608
|
+
type AgentGUIProvider = string;
|
|
1609
|
+
/**
|
|
1610
|
+
* Stable identifiers for the starter entries shown below the empty new-session
|
|
1611
|
+
* composer. Hosts can pass these values to `AgentGUI.disabled` to hide entries
|
|
1612
|
+
* that should not be available in their integration.
|
|
1613
|
+
*/
|
|
1614
|
+
type AgentGUIHomeSuggestionId = "meet-tutti" | "task-breakdown" | "quality-review" | "agent-interaction" | "import-session";
|
|
1615
|
+
type AgentGUIAgentAvailabilityStatus = "ready" | "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
|
|
1616
|
+
type AgentGUIAgentAvailabilityAction = "install" | "login" | "refresh";
|
|
1617
|
+
interface AgentGUIAgentAvailability {
|
|
1618
|
+
status: AgentGUIAgentAvailabilityStatus;
|
|
1619
|
+
reason?: string | null;
|
|
1620
|
+
pendingAction?: AgentGUIAgentAvailabilityAction | null;
|
|
1621
|
+
}
|
|
1622
|
+
interface AgentGUIAgentOwner {
|
|
1623
|
+
userId?: string | null;
|
|
1624
|
+
name?: string | null;
|
|
1625
|
+
avatarUrl?: string | null;
|
|
1626
|
+
}
|
|
1627
|
+
/** Host-authoritative ownership classification for Agent directory entries. */
|
|
1628
|
+
type AgentGUIAgentOwnership = "self" | "shared";
|
|
1629
|
+
interface AgentGUISharedAgentQuota {
|
|
1630
|
+
unit: "runs" | "tokens";
|
|
1631
|
+
remaining: number;
|
|
1632
|
+
limit?: number;
|
|
1633
|
+
resetAt?: string | null;
|
|
1634
|
+
}
|
|
1635
|
+
interface AgentGUISharedAgentConcurrency {
|
|
1636
|
+
active: number;
|
|
1637
|
+
limit: number;
|
|
1638
|
+
}
|
|
1639
|
+
interface AgentGUISharedAgentCostQuota {
|
|
1640
|
+
currency: string;
|
|
1641
|
+
remainingMicros: number;
|
|
1642
|
+
limitMicros?: number;
|
|
1643
|
+
}
|
|
1644
|
+
interface AgentGUISharedAgentAllowedModel {
|
|
1645
|
+
modelPlanId?: string | null;
|
|
1646
|
+
model: string;
|
|
1647
|
+
}
|
|
1648
|
+
interface AgentGUISharedAgentPolicyPermissions {
|
|
1649
|
+
consult: boolean;
|
|
1650
|
+
review: boolean;
|
|
1651
|
+
delegate: boolean;
|
|
1652
|
+
upgrade: boolean;
|
|
1653
|
+
}
|
|
1654
|
+
/** Credential-free access snapshot supplied by the shared-Agent control plane. */
|
|
1655
|
+
interface AgentGUISharedAgentAccess {
|
|
1656
|
+
grantId: string;
|
|
1657
|
+
ownerUserId: string;
|
|
1658
|
+
ownerOnline: boolean;
|
|
1659
|
+
auditRequired: boolean;
|
|
1660
|
+
quota?: AgentGUISharedAgentQuota | null;
|
|
1661
|
+
concurrency?: AgentGUISharedAgentConcurrency | null;
|
|
1662
|
+
costQuota?: AgentGUISharedAgentCostQuota | null;
|
|
1663
|
+
allowedModels?: readonly AgentGUISharedAgentAllowedModel[] | null;
|
|
1664
|
+
policyPermissions?: AgentGUISharedAgentPolicyPermissions | null;
|
|
1665
|
+
}
|
|
1666
|
+
/**
|
|
1667
|
+
* Host-projected entry from the workspace `/agents` directory.
|
|
1668
|
+
*
|
|
1669
|
+
* `agentTargetId` is the only UI and launch identity. `provider` remains
|
|
1670
|
+
* execution metadata for provider-native composer/runtime policy and must not
|
|
1671
|
+
* be used to group, deduplicate, name, or select entries.
|
|
1672
|
+
*/
|
|
1673
|
+
interface AgentGUIAgent {
|
|
1674
|
+
agentTargetId: string;
|
|
1675
|
+
name: string;
|
|
1676
|
+
iconUrl: string;
|
|
1677
|
+
/** Single-color artwork rendered through the conversation rail CSS mask. */
|
|
1678
|
+
maskIconUrl?: string | null;
|
|
1679
|
+
heroImageUrl?: string | null;
|
|
1680
|
+
description?: string | null;
|
|
1681
|
+
/** Host-resolved display name of the device that owns this Agent target. */
|
|
1682
|
+
ownerDeviceLabel?: string | null;
|
|
1683
|
+
owner?: AgentGUIAgentOwner | null;
|
|
1684
|
+
ownership?: AgentGUIAgentOwnership | null;
|
|
1685
|
+
sharedAccess?: AgentGUISharedAgentAccess | null;
|
|
1686
|
+
availability: AgentGUIAgentAvailability;
|
|
1687
|
+
provider: AgentGUIProvider;
|
|
1688
|
+
setupKind?: "target_runtime" | null;
|
|
1689
|
+
}
|
|
1690
|
+
type AgentGUIAgentDirectoryStatus = "idle" | "loading" | "ready" | "error";
|
|
1691
|
+
interface AgentGUIAgentDirectorySnapshot {
|
|
1692
|
+
agents: readonly AgentGUIAgent[];
|
|
1693
|
+
capturedAtUnixMs: number | null;
|
|
1694
|
+
error: string | null;
|
|
1695
|
+
status: AgentGUIAgentDirectoryStatus;
|
|
1696
|
+
}
|
|
1697
|
+
interface AgentGUIAgentDirectoryPort {
|
|
1698
|
+
getSnapshot(): AgentGUIAgentDirectorySnapshot;
|
|
1699
|
+
subscribe(listener: () => void): () => void;
|
|
1700
|
+
}
|
|
1701
|
+
interface AgentGUIAllAgentsPresentation {
|
|
1702
|
+
iconUrl?: string | null;
|
|
1703
|
+
}
|
|
1704
|
+
interface AgentGUIAgentTargetRef {
|
|
1705
|
+
kind: string;
|
|
1706
|
+
provider: AgentGUIProvider;
|
|
1707
|
+
[key: string]: unknown;
|
|
1708
|
+
}
|
|
1709
|
+
interface AgentGUIAgentTargetBadge {
|
|
1710
|
+
iconUrl: string;
|
|
1711
|
+
label?: string;
|
|
1712
|
+
}
|
|
1713
|
+
interface AgentGUIAgentTarget {
|
|
1714
|
+
targetId: string;
|
|
1715
|
+
agentTargetId?: string | null;
|
|
1716
|
+
provider: AgentGUIProvider;
|
|
1717
|
+
ref: AgentGUIAgentTargetRef;
|
|
1718
|
+
label: string;
|
|
1719
|
+
description?: string;
|
|
1720
|
+
iconUrl?: string | null;
|
|
1721
|
+
maskIconUrl?: string | null;
|
|
1722
|
+
heroImageUrl?: string | null;
|
|
1723
|
+
badge?: AgentGUIAgentTargetBadge | null;
|
|
1724
|
+
ownerLabel?: string;
|
|
1725
|
+
ownerDeviceLabel?: string;
|
|
1726
|
+
ownership?: AgentGUIAgentOwnership;
|
|
1727
|
+
availability?: AgentGUIAgentAvailability;
|
|
1728
|
+
disabled?: boolean;
|
|
1729
|
+
unavailableReason?: string;
|
|
1730
|
+
}
|
|
1731
|
+
interface AgentGUIProviderRailAllPresentation {
|
|
1732
|
+
iconUrl?: string | null;
|
|
1733
|
+
}
|
|
1734
|
+
/**
|
|
1735
|
+
* How the provider rail composes the target list.
|
|
1736
|
+
* - "catalog" (default): host-provided targets are augmented with the static
|
|
1737
|
+
* local provider catalog, disabled placeholders (nexight/hermes/openclaw),
|
|
1738
|
+
* and coming-soon markers. When no targets are provided, the full local
|
|
1739
|
+
* catalog is shown.
|
|
1740
|
+
* - "exact": the rail renders exactly the provided targets — no static catalog
|
|
1741
|
+
* fallback, no disabled placeholders, no coming-soon injection. When the list
|
|
1742
|
+
* is empty (and not loading) the host-provided empty renderer is shown. Use
|
|
1743
|
+
* this when the list is fully orchestrated externally (e.g. shared agents,
|
|
1744
|
+
* custom /agents).
|
|
1745
|
+
*/
|
|
1746
|
+
type AgentGUIProviderRailMode = "catalog" | "exact";
|
|
1747
|
+
type AgentGUIProviderReadinessGateStatus = "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
|
|
1748
|
+
type AgentGUIProviderReadinessGateAction = "install" | "login" | "refresh";
|
|
1749
|
+
interface AgentGUIProviderReadinessGate {
|
|
1750
|
+
status: AgentGUIProviderReadinessGateStatus;
|
|
1751
|
+
pendingAction?: AgentGUIProviderReadinessGateAction | null;
|
|
1752
|
+
onAction?: (provider: AgentGUIProvider, action: AgentGUIProviderReadinessGateAction) => void;
|
|
1753
|
+
}
|
|
1754
|
+
interface Size {
|
|
1755
|
+
width: number;
|
|
1756
|
+
height: number;
|
|
1757
|
+
}
|
|
1758
|
+
interface Point {
|
|
1759
|
+
x: number;
|
|
1760
|
+
y: number;
|
|
1761
|
+
}
|
|
1762
|
+
interface NodeFrame {
|
|
1763
|
+
position: Point;
|
|
1764
|
+
size: Size;
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
type AgentGuiWorkbenchSessionAction = "rename" | "copy-markdown" | "copy-reference";
|
|
1768
|
+
interface AgentGuiWorkbenchSessionActionRequest {
|
|
1769
|
+
action: AgentGuiWorkbenchSessionAction;
|
|
1770
|
+
agentSessionId: string | null;
|
|
1771
|
+
sequence: number;
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
type WorkspaceLinkActionSource = "agent-markdown" | "agent-file-change" | string;
|
|
1775
|
+
interface OpenWorkspaceFileLinkAction {
|
|
1776
|
+
type: "open-workspace-file";
|
|
1777
|
+
mode?: "reveal" | "open-directory";
|
|
1778
|
+
path: string;
|
|
1779
|
+
directoryPath: string;
|
|
1780
|
+
workspaceRoot: string;
|
|
1781
|
+
source: WorkspaceLinkActionSource;
|
|
1782
|
+
prefetchedDirectoryListing?: WorkspaceFileLinkDirectoryListing | null;
|
|
1783
|
+
}
|
|
1784
|
+
interface OpenLocalAssetPreviewLinkAction {
|
|
1785
|
+
type: "open-local-asset-preview";
|
|
1786
|
+
path: string;
|
|
1787
|
+
name: string;
|
|
1788
|
+
source: WorkspaceLinkActionSource;
|
|
1789
|
+
}
|
|
1790
|
+
interface WorkspaceFileLinkDirectoryEntry {
|
|
1791
|
+
path: string;
|
|
1792
|
+
name: string;
|
|
1793
|
+
kind: "file" | "directory" | "unknown";
|
|
1794
|
+
hasChildren: boolean | null;
|
|
1795
|
+
sizeBytes: number | null;
|
|
1796
|
+
mtimeMs: number | null;
|
|
1797
|
+
}
|
|
1798
|
+
interface WorkspaceFileLinkDirectoryListing {
|
|
1799
|
+
workspaceId: string;
|
|
1800
|
+
root: string;
|
|
1801
|
+
directoryPath: string;
|
|
1802
|
+
entries: WorkspaceFileLinkDirectoryEntry[];
|
|
1803
|
+
}
|
|
1804
|
+
interface OpenWorkspaceUrlLinkAction {
|
|
1805
|
+
type: "open-url";
|
|
1806
|
+
url: string;
|
|
1807
|
+
source: WorkspaceLinkActionSource;
|
|
1808
|
+
}
|
|
1809
|
+
interface OpenAgentSessionLinkAction {
|
|
1810
|
+
type: "open-agent-session";
|
|
1811
|
+
workspaceId: string;
|
|
1812
|
+
agentSessionId: string;
|
|
1813
|
+
agentTargetId?: string | null;
|
|
1814
|
+
source: WorkspaceLinkActionSource;
|
|
1815
|
+
}
|
|
1816
|
+
interface OpenWorkspaceIssueLinkAction {
|
|
1817
|
+
type: "open-workspace-issue";
|
|
1818
|
+
workspaceId: string;
|
|
1819
|
+
issueId: string | null;
|
|
1820
|
+
mode?: WorkspaceIssueMentionMode;
|
|
1821
|
+
outputDir?: string | null;
|
|
1822
|
+
runId?: string | null;
|
|
1823
|
+
taskId?: string | null;
|
|
1824
|
+
topicId?: string | null;
|
|
1825
|
+
source: WorkspaceLinkActionSource;
|
|
1826
|
+
}
|
|
1827
|
+
interface OpenWorkspaceAppLinkAction {
|
|
1828
|
+
type: "open-workspace-app";
|
|
1829
|
+
workspaceId: string;
|
|
1830
|
+
appId: string;
|
|
1831
|
+
conversationId?: string | null;
|
|
1832
|
+
messageId?: string | null;
|
|
1833
|
+
summaryTaskId?: string | null;
|
|
1834
|
+
source: WorkspaceLinkActionSource;
|
|
1835
|
+
}
|
|
1836
|
+
interface OpenCustomMentionLinkAction {
|
|
1837
|
+
type: "open-custom-mention";
|
|
1838
|
+
/** 注册表里的 kind(= mention:// providerId)。 */
|
|
1839
|
+
kind: string;
|
|
1840
|
+
href: string;
|
|
1841
|
+
source: WorkspaceLinkActionSource;
|
|
1754
1842
|
}
|
|
1843
|
+
type WorkspaceLinkAction = OpenWorkspaceFileLinkAction | OpenLocalAssetPreviewLinkAction | OpenWorkspaceUrlLinkAction | OpenAgentSessionLinkAction | OpenWorkspaceIssueLinkAction | OpenWorkspaceAppLinkAction | OpenCustomMentionLinkAction;
|
|
1755
1844
|
|
|
1756
|
-
|
|
1845
|
+
interface AgentMessageMarkdownWorkspaceAppIcon {
|
|
1846
|
+
appId: string;
|
|
1847
|
+
iconUrl: string | null;
|
|
1848
|
+
workspaceId?: string | null;
|
|
1849
|
+
}
|
|
1757
1850
|
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1851
|
+
interface AgentGUIAccountMenuState {
|
|
1852
|
+
user: {
|
|
1853
|
+
userId: string;
|
|
1854
|
+
name?: string | null;
|
|
1855
|
+
email?: string | null;
|
|
1856
|
+
avatar?: string | null;
|
|
1857
|
+
} | null;
|
|
1858
|
+
membershipLabel: string;
|
|
1859
|
+
creditsLabel: string | null;
|
|
1860
|
+
loading: boolean;
|
|
1861
|
+
error: string | null;
|
|
1862
|
+
partialError?: boolean;
|
|
1863
|
+
registrationCreditsToast?: {
|
|
1864
|
+
id: string;
|
|
1865
|
+
creditsLabel: string;
|
|
1866
|
+
visible: boolean;
|
|
1867
|
+
autoDismissMs?: number;
|
|
1868
|
+
onDismiss(): void;
|
|
1869
|
+
} | null;
|
|
1870
|
+
links: {
|
|
1871
|
+
planUrl: string;
|
|
1872
|
+
usageUrl: string;
|
|
1873
|
+
settingsUrl: string;
|
|
1874
|
+
};
|
|
1875
|
+
onOpenChange(open: boolean): void;
|
|
1876
|
+
onLogin(): void;
|
|
1877
|
+
onLogout?(): void;
|
|
1878
|
+
onSettings?(): void;
|
|
1879
|
+
onOpenExternal(url: string): void;
|
|
1779
1880
|
}
|
|
1780
1881
|
|
|
1882
|
+
type AgentSessionCommand = AgentHostAgentSessionCommand;
|
|
1883
|
+
type AgentSessionComposerSettings = AgentHostAgentSessionComposerSettings;
|
|
1884
|
+
type AgentSessionPermissionConfig = AgentHostAgentSessionPermissionConfig;
|
|
1885
|
+
type AgentSessionReasoningEffort = AgentHostAgentSessionReasoningEffort;
|
|
1886
|
+
type AgentSessionSpeed = AgentHostAgentSessionSpeed;
|
|
1887
|
+
|
|
1781
1888
|
type AgentFileMentionKind = "file" | "directory" | "unknown";
|
|
1782
1889
|
type AgentMentionFileNavigationAction = "agent-generated-folder" | "agent-generated-folder-back" | "workspace-folder" | "workspace-folder-back";
|
|
1783
1890
|
type AgentMentionScope = "my_sessions" | "collab_sessions";
|
|
@@ -1998,7 +2105,7 @@ type AgentCapabilityUse = "browserUse" | "computerUse";
|
|
|
1998
2105
|
|
|
1999
2106
|
interface AgentSlashCommandCapability {
|
|
2000
2107
|
aliases?: readonly string[];
|
|
2001
|
-
capability: AgentCapabilityUse;
|
|
2108
|
+
capability: AgentCapabilityUse | "tutti";
|
|
2002
2109
|
kind: "capability";
|
|
2003
2110
|
name: string;
|
|
2004
2111
|
}
|
|
@@ -2040,6 +2147,12 @@ interface AgentGUIComposerSettingOption {
|
|
|
2040
2147
|
label: string;
|
|
2041
2148
|
description?: string;
|
|
2042
2149
|
supportsImageInput?: boolean;
|
|
2150
|
+
/** Bound plan identity for options aggregated from model access plans. */
|
|
2151
|
+
modelPlanId?: string | null;
|
|
2152
|
+
/** Display name of the plan (or provider) the option originates from. */
|
|
2153
|
+
sourceName?: string;
|
|
2154
|
+
/** When the option takes effect after selection. */
|
|
2155
|
+
effect?: "new_session" | "next_call";
|
|
2043
2156
|
}
|
|
2044
2157
|
interface AgentGUIProviderSkillOption {
|
|
2045
2158
|
name: string;
|
|
@@ -2104,6 +2217,11 @@ type AgentComposerDraftContent = [
|
|
|
2104
2217
|
/** One atomic, unsent composer message. */
|
|
2105
2218
|
type AgentComposerDraft = AgentComposerDraftContent;
|
|
2106
2219
|
type AgentComposerDraftFile = Omit<AgentComposerRegularFileBlock, "type" | "kind">;
|
|
2220
|
+
interface AgentGUIComposerModelPlanVM {
|
|
2221
|
+
id: string;
|
|
2222
|
+
name: string;
|
|
2223
|
+
protocol?: string | null;
|
|
2224
|
+
}
|
|
2107
2225
|
interface AgentGUIComposerSettingsVM {
|
|
2108
2226
|
sessionSettings: AgentSessionComposerSettings | null;
|
|
2109
2227
|
draftSettings: {
|
|
@@ -2146,6 +2264,8 @@ interface AgentGUIComposerSettingsVM {
|
|
|
2146
2264
|
projectLocked?: boolean;
|
|
2147
2265
|
projectPathIsRemote?: boolean;
|
|
2148
2266
|
collapseModelOptionsToLatest?: boolean;
|
|
2267
|
+
modelPlan?: AgentGUIComposerModelPlanVM | null;
|
|
2268
|
+
modelSwitchTakesEffectNextTurn?: boolean;
|
|
2149
2269
|
availableModels: AgentGUIComposerSettingOption[];
|
|
2150
2270
|
availableReasoningEfforts: AgentGUIComposerSettingOption[];
|
|
2151
2271
|
availableSpeeds: AgentGUIComposerSettingOption[];
|
|
@@ -2208,6 +2328,11 @@ interface AgentGUIComposerViewModel {
|
|
|
2208
2328
|
/** Provider goal exposes a real paused state and pause/resume controls. */
|
|
2209
2329
|
goalPauseSupported: boolean;
|
|
2210
2330
|
canSubmit: boolean;
|
|
2331
|
+
isTuttiModeActive: boolean;
|
|
2332
|
+
isTuttiModeUpdating: boolean;
|
|
2333
|
+
/** Effective Tutti orchestration intensity (0-100) for the budget popup. */
|
|
2334
|
+
tuttiModeOrchestrationIntensity: number;
|
|
2335
|
+
tuttiModeUpdateStatus: "idle" | "pending_create" | "updating" | "failed" | "uncertain";
|
|
2211
2336
|
composerSettings: AgentGUIComposerSettingsVM;
|
|
2212
2337
|
queuedPrompts: AgentGUIQueuedPromptVM[];
|
|
2213
2338
|
queueStatus: AgentGUIQueueStatus;
|
|
@@ -2641,6 +2766,48 @@ declare const agentGuiI18nResources: {
|
|
|
2641
2766
|
readonly workspaceCenterSearchAria: "Open room search";
|
|
2642
2767
|
readonly workspaceCenterSearchTitle: "Search nodes, partitions, and notes in this room";
|
|
2643
2768
|
readonly agentGui: {
|
|
2769
|
+
readonly collaborationModeConsult: "Consult";
|
|
2770
|
+
readonly collaborationModeFork: "Fork";
|
|
2771
|
+
readonly collaborationModeDelegate: "Delegate";
|
|
2772
|
+
readonly collaborationModeHandoff: "Handoff";
|
|
2773
|
+
readonly collaborationTriggerUser: "Manual";
|
|
2774
|
+
readonly collaborationTriggerAgent: "Agent";
|
|
2775
|
+
readonly collaborationTriggerPolicy: "Policy";
|
|
2776
|
+
readonly collaborationStatusRunning: "Running";
|
|
2777
|
+
readonly collaborationStatusCompleted: "Completed";
|
|
2778
|
+
readonly collaborationStatusFailed: "Failed";
|
|
2779
|
+
readonly collaborationStatusCanceled: "Canceled";
|
|
2780
|
+
readonly collaborationPlanLabel: "Plan: {{name}}";
|
|
2781
|
+
readonly collaborationUsageTokens: "Tokens: {{input}} in · {{output}} out";
|
|
2782
|
+
readonly collaborationFailureReason: "Failure: {{reason}}";
|
|
2783
|
+
readonly collaborationResultShow: "Show result";
|
|
2784
|
+
readonly collaborationResultHide: "Hide result";
|
|
2785
|
+
readonly collaborationAdopt: "Adopt";
|
|
2786
|
+
readonly collaborationReject: "Reject";
|
|
2787
|
+
readonly collaborationAdopted: "Adopted";
|
|
2788
|
+
readonly collaborationRejected: "Not adopted";
|
|
2789
|
+
readonly collaborationAdoptionFailed: "Failed to record the adoption decision.";
|
|
2790
|
+
readonly composerModelPlanBadge: "Plan: {{name}}";
|
|
2791
|
+
readonly composerModelSearchPlaceholder: "Search models";
|
|
2792
|
+
readonly composerModelSearchEmpty: "No matching models";
|
|
2793
|
+
readonly composerModelFavoritesGroup: "Favorites";
|
|
2794
|
+
readonly composerModelRecentsGroup: "Recently used";
|
|
2795
|
+
readonly composerModelSwitchNextTurnHint: "Applies from the next request";
|
|
2796
|
+
readonly composerModelFavoriteAdd: "Add to favorites";
|
|
2797
|
+
readonly composerModelFavoriteRemove: "Remove from favorites";
|
|
2798
|
+
readonly consultEntryLabel: "Consult model";
|
|
2799
|
+
readonly consultDialogTitle: "Consult a model";
|
|
2800
|
+
readonly consultPlanLabel: "Plan";
|
|
2801
|
+
readonly consultModelLabel: "Model";
|
|
2802
|
+
readonly consultQuestionLabel: "Question";
|
|
2803
|
+
readonly consultQuestionPlaceholder: "Ask another model for advice...";
|
|
2804
|
+
readonly consultIncludeContextLabel: "Attach the latest assistant reply as context";
|
|
2805
|
+
readonly consultSubmit: "Consult";
|
|
2806
|
+
readonly consultSubmitting: "Consulting...";
|
|
2807
|
+
readonly mentionFilterCollab: "Collaboration";
|
|
2808
|
+
readonly mentionGroupCollabSessions: "Collaboration sessions";
|
|
2809
|
+
readonly mentionEmptyCollabSessions: "No collaboration sessions yet";
|
|
2810
|
+
readonly mentionCollaboratorFallback: "Collaborator";
|
|
2644
2811
|
readonly projectLocked: "Project cannot be changed after the session starts";
|
|
2645
2812
|
readonly projectMissingDescription: "This conversation's working directory no longer exists";
|
|
2646
2813
|
readonly fileMentionEnterFolder: "Enter folder";
|
|
@@ -2658,7 +2825,6 @@ declare const agentGuiI18nResources: {
|
|
|
2658
2825
|
readonly provenanceFilterMembers: "Members";
|
|
2659
2826
|
readonly provenanceFilterReset: "Reset";
|
|
2660
2827
|
readonly mentionFilterSession: "Sessions";
|
|
2661
|
-
readonly mentionFilterCollab: "Collaboration";
|
|
2662
2828
|
readonly mentionFilterIssue: "Tasks";
|
|
2663
2829
|
readonly mentionKindAgent: "Agent";
|
|
2664
2830
|
readonly mentionKindApp: "App";
|
|
@@ -2673,10 +2839,8 @@ declare const agentGuiI18nResources: {
|
|
|
2673
2839
|
readonly mentionGroupApps: "Apps";
|
|
2674
2840
|
readonly mentionGroupAgents: "Agents";
|
|
2675
2841
|
readonly mentionGroupMySessions: "My sessions";
|
|
2676
|
-
readonly mentionGroupCollabSessions: "Collaboration sessions";
|
|
2677
2842
|
readonly mentionGroupIssues: "Tasks";
|
|
2678
2843
|
readonly mentionEmptyMySessions: "No sessions yet";
|
|
2679
|
-
readonly mentionEmptyCollabSessions: "No collaboration sessions yet";
|
|
2680
2844
|
readonly mentionEmptyApps: "No apps yet";
|
|
2681
2845
|
readonly mentionEmptyAgents: "No agents available";
|
|
2682
2846
|
readonly mentionEmptyIssues: "No tasks yet";
|
|
@@ -2703,7 +2867,6 @@ declare const agentGuiI18nResources: {
|
|
|
2703
2867
|
readonly taskContentLabel: "Task content";
|
|
2704
2868
|
readonly taskTitleLabel: "Task title";
|
|
2705
2869
|
};
|
|
2706
|
-
readonly mentionCollaboratorFallback: "Collaborator";
|
|
2707
2870
|
readonly syncPending: "Saved locally, syncing to cloud";
|
|
2708
2871
|
readonly syncSynced: "Synced to cloud";
|
|
2709
2872
|
readonly syncFailed: "Cloud sync failed";
|
|
@@ -2909,9 +3072,6 @@ declare const agentGuiI18nResources: {
|
|
|
2909
3072
|
readonly conversationCopyImagesOmitted: string;
|
|
2910
3073
|
readonly conversationCopyInProgress: string;
|
|
2911
3074
|
readonly sessionActionUnavailable: string;
|
|
2912
|
-
readonly contextCompactionInProgress: "Compacting context";
|
|
2913
|
-
readonly contextCompactionCompleted: "Context compacted.";
|
|
2914
|
-
readonly contextCompactionInterrupted: "Context compaction interrupted.";
|
|
2915
3075
|
readonly turnSummary: "Changed files";
|
|
2916
3076
|
readonly userMessageLocator: "User messages";
|
|
2917
3077
|
readonly turnSummaryFilesChanged: "{{count}} files changed";
|
|
@@ -2970,6 +3130,9 @@ declare const agentGuiI18nResources: {
|
|
|
2970
3130
|
readonly showLessConversations: "Show less";
|
|
2971
3131
|
readonly deleteSession: "Delete session";
|
|
2972
3132
|
readonly pinSession: "Pin session";
|
|
3133
|
+
readonly contextCompactionInProgress: "Compacting context";
|
|
3134
|
+
readonly contextCompactionCompleted: "Context compacted.";
|
|
3135
|
+
readonly contextCompactionInterrupted: "Context compaction interrupted.";
|
|
2973
3136
|
readonly visibleErrorStartFailed: "{{provider}} failed to start";
|
|
2974
3137
|
readonly visibleErrorRequestFailed: "{{provider}} request failed";
|
|
2975
3138
|
readonly visibleErrorAuthRequired: "{{provider}} needs authentication or configuration";
|
|
@@ -3128,6 +3291,223 @@ declare const agentGuiI18nResources: {
|
|
|
3128
3291
|
readonly removeAgentFromSidebar: "Remove {{agent}} from sidebar";
|
|
3129
3292
|
readonly addAgentToSidebar: "Add {{agent}} to sidebar";
|
|
3130
3293
|
readonly dragAgentToReorder: "Drag {{agent}} to reorder";
|
|
3294
|
+
readonly planCardTitle: "Plan";
|
|
3295
|
+
readonly planCardCopy: "Copy plan";
|
|
3296
|
+
readonly copyCode: "Copy code";
|
|
3297
|
+
readonly planCardExpand: "Expand plan";
|
|
3298
|
+
readonly planCardCollapse: "Collapse plan";
|
|
3299
|
+
readonly planImplementationLead: "Implement this plan?";
|
|
3300
|
+
readonly planImplementationConfirm: "Yes, implement this plan";
|
|
3301
|
+
readonly planImplementationFeedbackPlaceholder: "No — tell the agent how to adjust the approach";
|
|
3302
|
+
readonly planImplementationSend: "Send";
|
|
3303
|
+
readonly planImplementationSkip: "Stay in Plan Mode";
|
|
3304
|
+
readonly noRunningResponse: "No running response to stop.";
|
|
3305
|
+
readonly composerTextMenu: "Composer text actions";
|
|
3306
|
+
readonly pastedTextFilesHeader: "Referenced pasted text files:";
|
|
3307
|
+
readonly pastedTextFileLine: "- pasted text file \"{{preview}}\": {{path}}. Read this file before continuing.";
|
|
3308
|
+
readonly pastedTextAttachmentTitle: "Pasted text";
|
|
3309
|
+
readonly pastedTextAttachmentFailed: "Pasted text couldn't be saved";
|
|
3310
|
+
readonly pastedTextRestoreToComposer: "Show in text field";
|
|
3311
|
+
readonly copyMessage: "Copy message";
|
|
3312
|
+
readonly copyImage: "Copy image";
|
|
3313
|
+
readonly messageCopied: "Copied";
|
|
3314
|
+
readonly promptTipsPrefix: "Tips: ";
|
|
3315
|
+
readonly reviewPicker: {
|
|
3316
|
+
readonly title: "Code review";
|
|
3317
|
+
readonly targetLabel: "What to review";
|
|
3318
|
+
readonly searchPlaceholder: "Search";
|
|
3319
|
+
readonly noResults: "No matches";
|
|
3320
|
+
readonly uncommitted: "Uncommitted changes";
|
|
3321
|
+
readonly baseBranch: "Compare against a branch";
|
|
3322
|
+
readonly commit: "A specific commit";
|
|
3323
|
+
readonly custom: "Custom instructions";
|
|
3324
|
+
readonly branchLabel: "Base branch";
|
|
3325
|
+
readonly branchPlaceholder: "Select a branch";
|
|
3326
|
+
readonly branchLoading: "Loading branches…";
|
|
3327
|
+
readonly branchEmpty: "No branches found";
|
|
3328
|
+
readonly commitPlaceholder: "Commit SHA";
|
|
3329
|
+
readonly customPlaceholder: "Describe what to review";
|
|
3330
|
+
readonly submit: "Start review";
|
|
3331
|
+
readonly cancel: "Cancel";
|
|
3332
|
+
};
|
|
3333
|
+
readonly promptTips: {
|
|
3334
|
+
readonly setWorkspace: {
|
|
3335
|
+
readonly label: "Set the workspace";
|
|
3336
|
+
readonly prompt: "Let the Agent know where to read files, run commands, and understand code.";
|
|
3337
|
+
};
|
|
3338
|
+
readonly useIssue: {
|
|
3339
|
+
readonly label: "Use Tasks well";
|
|
3340
|
+
readonly prompt: "Put requirements, constraints, and acceptance criteria in a Task so the Agent can work toward a clear target.";
|
|
3341
|
+
};
|
|
3342
|
+
readonly mapCurrentState: {
|
|
3343
|
+
readonly label: "Map the current state";
|
|
3344
|
+
readonly prompt: "When the next step is unclear, ask the Agent to summarize status, risks, and what to do next.";
|
|
3345
|
+
};
|
|
3346
|
+
readonly continueRecentSession: {
|
|
3347
|
+
readonly label: "Continue recent work";
|
|
3348
|
+
readonly prompt: "When resuming, have the Agent recap recent progress, unfinished work, and blockers first.";
|
|
3349
|
+
};
|
|
3350
|
+
readonly referenceOtherAgents: {
|
|
3351
|
+
readonly label: "Reference other Agent conversations";
|
|
3352
|
+
readonly prompt: "Make context handoffs more complete and reduce lost details.";
|
|
3353
|
+
};
|
|
3354
|
+
readonly controlPermissions: {
|
|
3355
|
+
readonly label: "Control permissions";
|
|
3356
|
+
readonly prompt: "Use Ask for approval when you want caution, then switch to higher access once file changes are expected.";
|
|
3357
|
+
};
|
|
3358
|
+
};
|
|
3359
|
+
readonly empty: "What can {{provider}} help you with?";
|
|
3360
|
+
readonly homeSuggestionsClose: "Close suggestions";
|
|
3361
|
+
readonly homeSuggestions: {
|
|
3362
|
+
readonly about: {
|
|
3363
|
+
readonly title: "Meet Tutti";
|
|
3364
|
+
readonly prompt: "Tell me what Tutti can help me do";
|
|
3365
|
+
};
|
|
3366
|
+
readonly breakdown: {
|
|
3367
|
+
readonly title: "Task breakdown";
|
|
3368
|
+
readonly taskCenterLabel: "Task management";
|
|
3369
|
+
readonly prompt: "Use {{taskCenterMention}} to help me break down the task, topic { enter here }";
|
|
3370
|
+
};
|
|
3371
|
+
readonly review: {
|
|
3372
|
+
readonly title: "Quality review";
|
|
3373
|
+
readonly prompt: "Have { @agent } review the output quality of { @agent session }";
|
|
3374
|
+
};
|
|
3375
|
+
readonly interaction: {
|
|
3376
|
+
readonly title: "Agent interaction";
|
|
3377
|
+
readonly prompt: "Have { @agent } and { @agent } work together to { do something }, topic { enter here }";
|
|
3378
|
+
};
|
|
3379
|
+
readonly import: {
|
|
3380
|
+
readonly title: "Import session";
|
|
3381
|
+
};
|
|
3382
|
+
};
|
|
3383
|
+
readonly conversations: "Sessions";
|
|
3384
|
+
readonly newConversation: "New session";
|
|
3385
|
+
readonly accountMenuTitle: "Tutti Agent";
|
|
3386
|
+
readonly accountMenuMember: "Membership";
|
|
3387
|
+
readonly accountMenuUpgrade: "Upgrade";
|
|
3388
|
+
readonly accountMenuCreditsBalance: "Credits";
|
|
3389
|
+
readonly accountMenuAccountCenter: "Account center";
|
|
3390
|
+
readonly accountMenuSettings: "Settings";
|
|
3391
|
+
readonly accountMenuFree: "Free";
|
|
3392
|
+
readonly accountMenuSignIn: "Sign in";
|
|
3393
|
+
readonly accountMenuSignOut: "Sign out";
|
|
3394
|
+
readonly accountMenuLoading: "Loading";
|
|
3395
|
+
readonly accountMenuUnavailable: "--";
|
|
3396
|
+
readonly accountMenuDataUnavailable: "Some account data is unavailable";
|
|
3397
|
+
readonly accountRewardToastTitle: "New user credits";
|
|
3398
|
+
readonly accountRewardToastCreditsUnit: "credits";
|
|
3399
|
+
readonly accountRewardToastDescription: "Added to account balance";
|
|
3400
|
+
readonly accountRewardToastClose: "Close credits reward notification";
|
|
3401
|
+
readonly agentConfig: "Check & Settings";
|
|
3402
|
+
readonly agentSettingsMenu: "Settings";
|
|
3403
|
+
readonly agentEnvSetup: "Environment Check";
|
|
3404
|
+
readonly noConversations: "No sessions yet";
|
|
3405
|
+
readonly emptyProjectConversations: "No chats yet";
|
|
3406
|
+
readonly agentsEmpty: "No agents are available";
|
|
3407
|
+
readonly conversationFilterAll: "All";
|
|
3408
|
+
readonly slashStatusTitle: "Status";
|
|
3409
|
+
readonly slashStatusSession: "Session";
|
|
3410
|
+
readonly slashStatusBaseUrl: "Base URL";
|
|
3411
|
+
readonly slashStatusContext: "Context";
|
|
3412
|
+
readonly slashStatusLimits: "Usage Limits";
|
|
3413
|
+
readonly slashStatusAccount: "Account";
|
|
3414
|
+
readonly slashStatusClose: "Close";
|
|
3415
|
+
readonly slashStatusFiveHourLimit: "5h limit";
|
|
3416
|
+
readonly slashStatusWeeklyLimit: "7d limit";
|
|
3417
|
+
readonly slashStatusLimitPercentLeft: "{{percent}}% left";
|
|
3418
|
+
readonly slashStatusLimitReset: "resets {{reset}}";
|
|
3419
|
+
readonly slashStatusContextValue: "{{percentLeft}}% left ({{usedTokens}} used / {{totalTokens}})";
|
|
3420
|
+
readonly slashStatusContextUnavailable: "Context usage unavailable";
|
|
3421
|
+
readonly slashStatusLimitsUnavailable: "Rate limits unavailable from this agent";
|
|
3422
|
+
readonly slashStatusEmptyValue: "—";
|
|
3423
|
+
readonly slashStatusUsageJustUpdated: "Updated just now";
|
|
3424
|
+
readonly slashStatusUsageMinutesAgo: "Updated {{count}}m ago";
|
|
3425
|
+
readonly slashStatusUsageHoursAgo: "Updated {{count}}h ago";
|
|
3426
|
+
readonly slashStatusUsageUpdating: "Updating…";
|
|
3427
|
+
readonly slashStatusUsageRefreshFailed: "Refresh failed";
|
|
3428
|
+
readonly slashStatusUsageRefreshAria: "Refresh usage";
|
|
3429
|
+
readonly usageChipLabel: "Context {{percent}}%";
|
|
3430
|
+
readonly usageTooltipLabel: "Context usage";
|
|
3431
|
+
readonly usagePopoverTitle: "Context Usage";
|
|
3432
|
+
readonly usageContextWindowLabel: "Context window";
|
|
3433
|
+
readonly usageTokensLabel: "Tokens";
|
|
3434
|
+
readonly usageLimitsLabel: "Limits";
|
|
3435
|
+
readonly usageCompactAction: "Compact";
|
|
3436
|
+
readonly queuedLabel: "Queued";
|
|
3437
|
+
readonly queuePausedByUserLabel: "The queue is paused because you interrupted the current response.";
|
|
3438
|
+
readonly sendQueuedPromptNext: "Send next";
|
|
3439
|
+
readonly editQueuedPrompt: "Edit";
|
|
3440
|
+
readonly deleteQueuedPrompt: "Delete";
|
|
3441
|
+
readonly queuedPromptMoreActions: "More queued prompt actions";
|
|
3442
|
+
readonly stop: "Stop";
|
|
3443
|
+
readonly stopping: "Stopping...";
|
|
3444
|
+
readonly planModeLabel: "Plan Mode";
|
|
3445
|
+
readonly normalModeLabel: "Normal";
|
|
3446
|
+
readonly normalModeDescription: "Execute the request directly";
|
|
3447
|
+
readonly tuttiModeLabel: "Tutti";
|
|
3448
|
+
readonly tuttiModeDescription: "Ask the agent to prefer Tutti's native workflow capabilities";
|
|
3449
|
+
readonly tuttiModeRemove: "Turn off Tutti mode";
|
|
3450
|
+
readonly tuttiBudgetTitle: "Tutti intensity";
|
|
3451
|
+
readonly tuttiBudgetIntensityLabel: "Intensity";
|
|
3452
|
+
readonly tuttiBudgetIntensityMin: "Minimal";
|
|
3453
|
+
readonly tuttiBudgetIntensityMax: "Maximal";
|
|
3454
|
+
readonly tuttiBudgetConfirm: "Confirm";
|
|
3455
|
+
readonly tuttiBudgetCancel: "Cancel";
|
|
3456
|
+
readonly tuttiModeUpdateFailed: "Tutti mode couldn't be updated. Try again.";
|
|
3457
|
+
readonly tuttiModeUpdateUncertain: "Tutti mode is still being reconciled. Try again after it finishes.";
|
|
3458
|
+
readonly tuttiModePlan: {
|
|
3459
|
+
readonly mode: "Tutti mode plan";
|
|
3460
|
+
readonly taskReview: "Plan review";
|
|
3461
|
+
readonly pending: "Needs review";
|
|
3462
|
+
readonly cancel: "Cancel plan";
|
|
3463
|
+
readonly reviewHint: "Send to accept · type feedback to request changes";
|
|
3464
|
+
readonly reviewHintReplan: "Intensity changed · send to re-plan at the new intensity";
|
|
3465
|
+
readonly sendAccept: "Accept plan";
|
|
3466
|
+
readonly sendRequestChanges: "Request changes";
|
|
3467
|
+
readonly replanFeedback: "Intensity was adjusted from {{from}} to {{to}}. Re-plan at the new intensity: rescale the task decomposition granularity and each task's model/reasoning tier.";
|
|
3468
|
+
readonly replanFeedbackSuffix: " (Intensity was adjusted to {{to}}; re-plan accordingly.)";
|
|
3469
|
+
readonly tasks: "Tasks";
|
|
3470
|
+
readonly priority: "Priority";
|
|
3471
|
+
readonly priorityHigh: "High";
|
|
3472
|
+
readonly priorityMedium: "Medium";
|
|
3473
|
+
readonly priorityLow: "Low";
|
|
3474
|
+
readonly agentTarget: "Agent";
|
|
3475
|
+
readonly model: "Model";
|
|
3476
|
+
readonly permissionMode: "Permission mode";
|
|
3477
|
+
readonly reasoningEffort: "Reasoning effort";
|
|
3478
|
+
readonly parallelizable: "Parallel";
|
|
3479
|
+
readonly autoAccept: "Auto-accept";
|
|
3480
|
+
readonly assignmentOptionsLoading: "Loading options...";
|
|
3481
|
+
readonly notSpecified: "Not specified";
|
|
3482
|
+
readonly loadFailed: "Tutti mode plans could not be loaded";
|
|
3483
|
+
readonly retry: "Try again";
|
|
3484
|
+
readonly issueOpen: "Open Issue";
|
|
3485
|
+
readonly issueStopExecution: "Stop";
|
|
3486
|
+
readonly issueListView: "List";
|
|
3487
|
+
readonly issueBoardView: "Board";
|
|
3488
|
+
readonly issueSummary: "{{done}}/{{total}} done · {{running}} running";
|
|
3489
|
+
readonly issueDependencies: "Depends";
|
|
3490
|
+
readonly issueAccept: "Accept";
|
|
3491
|
+
readonly issueRework: "Rework";
|
|
3492
|
+
readonly issueStageParallel: "Stage {{index}} · parallel ×{{count}}";
|
|
3493
|
+
readonly issueStageSequential: "Stage {{index}} · sequential";
|
|
3494
|
+
readonly issueStatusNotStarted: "Todo";
|
|
3495
|
+
readonly issueStatusRunning: "Running";
|
|
3496
|
+
readonly issueStatusPendingAcceptance: "In review";
|
|
3497
|
+
readonly issueStatusCompleted: "Done";
|
|
3498
|
+
readonly issueStatusFailed: "Failed";
|
|
3499
|
+
readonly issueStatusCanceled: "Canceled";
|
|
3500
|
+
readonly issueStripRunning: "{{count}} subtasks running";
|
|
3501
|
+
readonly issueStripPending: "{{count}} awaiting acceptance";
|
|
3502
|
+
readonly issueStripFailed: "{{count}} failed";
|
|
3503
|
+
readonly issueStripDone: "{{done}}/{{total}} done";
|
|
3504
|
+
readonly issueStripJump: "View the subtask board";
|
|
3505
|
+
readonly issueCreateFailed: "The approved plan could not create its Issue: {{message}}. Ask the Agent to revise the plan.";
|
|
3506
|
+
};
|
|
3507
|
+
readonly planModeDescription: "Plan first, then implement or break down into an Issue";
|
|
3508
|
+
readonly planModeOnLabel: "On";
|
|
3509
|
+
readonly planModeOffLabel: "Off";
|
|
3510
|
+
readonly planUnavailable: "Plan unavailable";
|
|
3131
3511
|
readonly initialPlaceholder: "Type @ to reference sessions, files, tasks, and apps";
|
|
3132
3512
|
readonly followupPlaceholder: "Request follow-up changes from {{provider}}";
|
|
3133
3513
|
readonly installRequiredPlaceholder: "Connect {{provider}} to send messages";
|
|
@@ -3350,160 +3730,6 @@ declare const agentGuiI18nResources: {
|
|
|
3350
3730
|
readonly professionalLongRunning: "Optimized for professional work and long-running agents";
|
|
3351
3731
|
};
|
|
3352
3732
|
readonly permissionLabel: "Run permissions";
|
|
3353
|
-
readonly planModeLabel: "Plan Mode";
|
|
3354
|
-
readonly planModeOnLabel: "On";
|
|
3355
|
-
readonly planModeOffLabel: "Off";
|
|
3356
|
-
readonly planUnavailable: "Plan unavailable";
|
|
3357
|
-
readonly queuedLabel: "Queued";
|
|
3358
|
-
readonly queuePausedByUserLabel: "The queue is paused because you interrupted the current response.";
|
|
3359
|
-
readonly sendQueuedPromptNext: "Send next";
|
|
3360
|
-
readonly editQueuedPrompt: "Edit";
|
|
3361
|
-
readonly deleteQueuedPrompt: "Delete";
|
|
3362
|
-
readonly queuedPromptMoreActions: "More queued prompt actions";
|
|
3363
|
-
readonly stop: "Stop";
|
|
3364
|
-
readonly stopping: "Stopping...";
|
|
3365
|
-
readonly slashStatusTitle: "Status";
|
|
3366
|
-
readonly slashStatusSession: "Session";
|
|
3367
|
-
readonly slashStatusBaseUrl: "Base URL";
|
|
3368
|
-
readonly slashStatusContext: "Context";
|
|
3369
|
-
readonly slashStatusLimits: "Usage Limits";
|
|
3370
|
-
readonly slashStatusAccount: "Account";
|
|
3371
|
-
readonly slashStatusClose: "Close";
|
|
3372
|
-
readonly slashStatusFiveHourLimit: "5h limit";
|
|
3373
|
-
readonly slashStatusWeeklyLimit: "7d limit";
|
|
3374
|
-
readonly slashStatusLimitPercentLeft: "{{percent}}% left";
|
|
3375
|
-
readonly slashStatusLimitReset: "resets {{reset}}";
|
|
3376
|
-
readonly slashStatusContextValue: "{{percentLeft}}% left ({{usedTokens}} used / {{totalTokens}})";
|
|
3377
|
-
readonly slashStatusContextUnavailable: "—";
|
|
3378
|
-
readonly slashStatusLimitsUnavailable: "Rate limits unavailable from this agent";
|
|
3379
|
-
readonly slashStatusEmptyValue: "—";
|
|
3380
|
-
readonly slashStatusUsageJustUpdated: "Updated just now";
|
|
3381
|
-
readonly slashStatusUsageMinutesAgo: "Updated {{count}}m ago";
|
|
3382
|
-
readonly slashStatusUsageHoursAgo: "Updated {{count}}h ago";
|
|
3383
|
-
readonly slashStatusUsageUpdating: "Updating…";
|
|
3384
|
-
readonly slashStatusUsageRefreshFailed: "Refresh failed";
|
|
3385
|
-
readonly slashStatusUsageRefreshAria: "Refresh usage";
|
|
3386
|
-
readonly usageChipLabel: "Context {{percent}}%";
|
|
3387
|
-
readonly usageTooltipLabel: "Context usage";
|
|
3388
|
-
readonly usagePopoverTitle: "Context Usage";
|
|
3389
|
-
readonly usageContextWindowLabel: "Context window";
|
|
3390
|
-
readonly usageTokensLabel: "Tokens";
|
|
3391
|
-
readonly usageLimitsLabel: "Limits";
|
|
3392
|
-
readonly usageCompactAction: "Compact";
|
|
3393
|
-
readonly planCardTitle: "Plan";
|
|
3394
|
-
readonly planCardCopy: "Copy plan";
|
|
3395
|
-
readonly copyCode: "Copy code";
|
|
3396
|
-
readonly planCardExpand: "Expand plan";
|
|
3397
|
-
readonly planCardCollapse: "Collapse plan";
|
|
3398
|
-
readonly planImplementationLead: "Implement this plan?";
|
|
3399
|
-
readonly planImplementationConfirm: "Yes, implement this plan";
|
|
3400
|
-
readonly planImplementationFeedbackPlaceholder: "No — tell the agent how to adjust the approach";
|
|
3401
|
-
readonly planImplementationSend: "Send";
|
|
3402
|
-
readonly planImplementationSkip: "Stay in Plan Mode";
|
|
3403
|
-
readonly noRunningResponse: "No running response to stop.";
|
|
3404
|
-
readonly composerTextMenu: "Composer text actions";
|
|
3405
|
-
readonly pastedTextFilesHeader: "Referenced pasted text files:";
|
|
3406
|
-
readonly pastedTextFileLine: "- pasted text file \"{{preview}}\": {{path}}. Read this file before continuing.";
|
|
3407
|
-
readonly pastedTextAttachmentTitle: "Pasted text";
|
|
3408
|
-
readonly pastedTextAttachmentFailed: "Pasted text couldn't be saved";
|
|
3409
|
-
readonly pastedTextRestoreToComposer: "Show in text field";
|
|
3410
|
-
readonly copyMessage: "Copy message";
|
|
3411
|
-
readonly copyImage: "Copy image";
|
|
3412
|
-
readonly messageCopied: "Copied";
|
|
3413
|
-
readonly promptTipsPrefix: "Tips: ";
|
|
3414
|
-
readonly reviewPicker: {
|
|
3415
|
-
readonly title: "Code review";
|
|
3416
|
-
readonly targetLabel: "What to review";
|
|
3417
|
-
readonly searchPlaceholder: "Search";
|
|
3418
|
-
readonly noResults: "No matches";
|
|
3419
|
-
readonly uncommitted: "Uncommitted changes";
|
|
3420
|
-
readonly baseBranch: "Compare against a branch";
|
|
3421
|
-
readonly commit: "A specific commit";
|
|
3422
|
-
readonly custom: "Custom instructions";
|
|
3423
|
-
readonly branchLabel: "Base branch";
|
|
3424
|
-
readonly branchPlaceholder: "Select a branch";
|
|
3425
|
-
readonly branchLoading: "Loading branches…";
|
|
3426
|
-
readonly branchEmpty: "No branches found";
|
|
3427
|
-
readonly commitPlaceholder: "Commit SHA";
|
|
3428
|
-
readonly customPlaceholder: "Describe what to review";
|
|
3429
|
-
readonly submit: "Start review";
|
|
3430
|
-
readonly cancel: "Cancel";
|
|
3431
|
-
};
|
|
3432
|
-
readonly promptTips: {
|
|
3433
|
-
readonly setWorkspace: {
|
|
3434
|
-
readonly label: "Set the workspace";
|
|
3435
|
-
readonly prompt: "Let the Agent know where to read files, run commands, and understand code.";
|
|
3436
|
-
};
|
|
3437
|
-
readonly useIssue: {
|
|
3438
|
-
readonly label: "Use Tasks well";
|
|
3439
|
-
readonly prompt: "Put requirements, constraints, and acceptance criteria in a Task so the Agent can work toward a clear target.";
|
|
3440
|
-
};
|
|
3441
|
-
readonly mapCurrentState: {
|
|
3442
|
-
readonly label: "Map the current state";
|
|
3443
|
-
readonly prompt: "When the next step is unclear, ask the Agent to summarize status, risks, and what to do next.";
|
|
3444
|
-
};
|
|
3445
|
-
readonly continueRecentSession: {
|
|
3446
|
-
readonly label: "Continue recent work";
|
|
3447
|
-
readonly prompt: "When resuming, have the Agent recap recent progress, unfinished work, and blockers first.";
|
|
3448
|
-
};
|
|
3449
|
-
readonly referenceOtherAgents: {
|
|
3450
|
-
readonly label: "Reference other Agent conversations";
|
|
3451
|
-
readonly prompt: "Make context handoffs more complete and reduce lost details.";
|
|
3452
|
-
};
|
|
3453
|
-
readonly controlPermissions: {
|
|
3454
|
-
readonly label: "Control permissions";
|
|
3455
|
-
readonly prompt: "Use Ask for approval when you want caution, then switch to higher access once file changes are expected.";
|
|
3456
|
-
};
|
|
3457
|
-
};
|
|
3458
|
-
readonly empty: "What can {{provider}} help you with?";
|
|
3459
|
-
readonly homeSuggestionsClose: "Close suggestions";
|
|
3460
|
-
readonly homeSuggestions: {
|
|
3461
|
-
readonly about: {
|
|
3462
|
-
readonly title: "Meet Tutti";
|
|
3463
|
-
readonly prompt: "Tell me what Tutti can help me do";
|
|
3464
|
-
};
|
|
3465
|
-
readonly breakdown: {
|
|
3466
|
-
readonly title: "Task breakdown";
|
|
3467
|
-
readonly taskCenterLabel: "Task management";
|
|
3468
|
-
readonly prompt: "Use {{taskCenterMention}} to help me break down the task, topic { enter here }";
|
|
3469
|
-
};
|
|
3470
|
-
readonly review: {
|
|
3471
|
-
readonly title: "Quality review";
|
|
3472
|
-
readonly prompt: "Have { @agent } review the output quality of { @agent session }";
|
|
3473
|
-
};
|
|
3474
|
-
readonly interaction: {
|
|
3475
|
-
readonly title: "Agent interaction";
|
|
3476
|
-
readonly prompt: "Have { @agent } and { @agent } work together to { do something }, topic { enter here }";
|
|
3477
|
-
};
|
|
3478
|
-
readonly import: {
|
|
3479
|
-
readonly title: "Import session";
|
|
3480
|
-
};
|
|
3481
|
-
};
|
|
3482
|
-
readonly conversations: "Sessions";
|
|
3483
|
-
readonly newConversation: "New session";
|
|
3484
|
-
readonly accountMenuTitle: "Tutti Agent";
|
|
3485
|
-
readonly accountMenuMember: "Membership";
|
|
3486
|
-
readonly accountMenuUpgrade: "Upgrade";
|
|
3487
|
-
readonly accountMenuCreditsBalance: "Credits";
|
|
3488
|
-
readonly accountMenuAccountCenter: "Account center";
|
|
3489
|
-
readonly accountMenuSettings: "Settings";
|
|
3490
|
-
readonly accountMenuFree: "Free";
|
|
3491
|
-
readonly accountMenuSignIn: "Sign in";
|
|
3492
|
-
readonly accountMenuSignOut: "Sign out";
|
|
3493
|
-
readonly accountMenuLoading: "Loading";
|
|
3494
|
-
readonly accountMenuUnavailable: "--";
|
|
3495
|
-
readonly accountMenuDataUnavailable: "Some account data is unavailable";
|
|
3496
|
-
readonly accountRewardToastTitle: "New user credits";
|
|
3497
|
-
readonly accountRewardToastCreditsUnit: "credits";
|
|
3498
|
-
readonly accountRewardToastDescription: "Added to account balance";
|
|
3499
|
-
readonly accountRewardToastClose: "Close credits reward notification";
|
|
3500
|
-
readonly agentConfig: "Check & Settings";
|
|
3501
|
-
readonly agentSettingsMenu: "Settings";
|
|
3502
|
-
readonly agentEnvSetup: "Environment Check";
|
|
3503
|
-
readonly noConversations: "No sessions yet";
|
|
3504
|
-
readonly emptyProjectConversations: "No chats yet";
|
|
3505
|
-
readonly agentsEmpty: "No agents are available";
|
|
3506
|
-
readonly conversationFilterAll: "All";
|
|
3507
3733
|
};
|
|
3508
3734
|
readonly workspaceInsights: {
|
|
3509
3735
|
readonly runtimeTitle: "Runtime";
|
|
@@ -5327,6 +5553,48 @@ declare const agentGuiI18nResources: {
|
|
|
5327
5553
|
readonly workspaceCenterSearchAria: "打开房间搜索";
|
|
5328
5554
|
readonly workspaceCenterSearchTitle: "在当前房间搜索节点、分区与便签";
|
|
5329
5555
|
readonly agentGui: {
|
|
5556
|
+
readonly collaborationModeConsult: "咨询";
|
|
5557
|
+
readonly collaborationModeFork: "Fork";
|
|
5558
|
+
readonly collaborationModeDelegate: "委派";
|
|
5559
|
+
readonly collaborationModeHandoff: "Handoff";
|
|
5560
|
+
readonly collaborationTriggerUser: "手动";
|
|
5561
|
+
readonly collaborationTriggerAgent: "Agent";
|
|
5562
|
+
readonly collaborationTriggerPolicy: "策略";
|
|
5563
|
+
readonly collaborationStatusRunning: "进行中";
|
|
5564
|
+
readonly collaborationStatusCompleted: "已完成";
|
|
5565
|
+
readonly collaborationStatusFailed: "失败";
|
|
5566
|
+
readonly collaborationStatusCanceled: "已取消";
|
|
5567
|
+
readonly collaborationPlanLabel: "方案:{{name}}";
|
|
5568
|
+
readonly collaborationUsageTokens: "Tokens:输入 {{input}} · 输出 {{output}}";
|
|
5569
|
+
readonly collaborationFailureReason: "失败原因:{{reason}}";
|
|
5570
|
+
readonly collaborationResultShow: "查看结果";
|
|
5571
|
+
readonly collaborationResultHide: "收起结果";
|
|
5572
|
+
readonly collaborationAdopt: "采纳";
|
|
5573
|
+
readonly collaborationReject: "不采纳";
|
|
5574
|
+
readonly collaborationAdopted: "已采纳";
|
|
5575
|
+
readonly collaborationRejected: "未采纳";
|
|
5576
|
+
readonly collaborationAdoptionFailed: "记录采纳状态失败";
|
|
5577
|
+
readonly composerModelPlanBadge: "方案:{{name}}";
|
|
5578
|
+
readonly composerModelSearchPlaceholder: "搜索模型";
|
|
5579
|
+
readonly composerModelSearchEmpty: "没有匹配的模型";
|
|
5580
|
+
readonly composerModelFavoritesGroup: "收藏";
|
|
5581
|
+
readonly composerModelRecentsGroup: "最近使用";
|
|
5582
|
+
readonly composerModelSwitchNextTurnHint: "下一次调用生效";
|
|
5583
|
+
readonly composerModelFavoriteAdd: "添加到收藏";
|
|
5584
|
+
readonly composerModelFavoriteRemove: "取消收藏";
|
|
5585
|
+
readonly consultEntryLabel: "咨询模型";
|
|
5586
|
+
readonly consultDialogTitle: "咨询模型";
|
|
5587
|
+
readonly consultPlanLabel: "方案";
|
|
5588
|
+
readonly consultModelLabel: "模型";
|
|
5589
|
+
readonly consultQuestionLabel: "问题";
|
|
5590
|
+
readonly consultQuestionPlaceholder: "向其他模型咨询建议…";
|
|
5591
|
+
readonly consultIncludeContextLabel: "附带当前会话最后回复作为上下文";
|
|
5592
|
+
readonly consultSubmit: "发起咨询";
|
|
5593
|
+
readonly consultSubmitting: "咨询中…";
|
|
5594
|
+
readonly mentionFilterCollab: "协作";
|
|
5595
|
+
readonly mentionGroupCollabSessions: "协作会话";
|
|
5596
|
+
readonly mentionEmptyCollabSessions: "暂无协作会话";
|
|
5597
|
+
readonly mentionCollaboratorFallback: "协作者";
|
|
5330
5598
|
readonly projectLocked: "会话开始后项目不可更改";
|
|
5331
5599
|
readonly projectMissingDescription: "此对话的工作目录已不存在";
|
|
5332
5600
|
readonly fileMentionEnterFolder: "进入文件夹";
|
|
@@ -5344,7 +5612,6 @@ declare const agentGuiI18nResources: {
|
|
|
5344
5612
|
readonly provenanceFilterMembers: "成员";
|
|
5345
5613
|
readonly provenanceFilterReset: "重置";
|
|
5346
5614
|
readonly mentionFilterSession: "会话";
|
|
5347
|
-
readonly mentionFilterCollab: "协作";
|
|
5348
5615
|
readonly mentionFilterIssue: "任务";
|
|
5349
5616
|
readonly mentionKindAgent: "智能体";
|
|
5350
5617
|
readonly mentionKindApp: "应用";
|
|
@@ -5359,10 +5626,8 @@ declare const agentGuiI18nResources: {
|
|
|
5359
5626
|
readonly mentionGroupApps: "应用";
|
|
5360
5627
|
readonly mentionGroupAgents: "智能体";
|
|
5361
5628
|
readonly mentionGroupMySessions: "我的会话";
|
|
5362
|
-
readonly mentionGroupCollabSessions: "协作会话";
|
|
5363
5629
|
readonly mentionGroupIssues: "任务";
|
|
5364
5630
|
readonly mentionEmptyMySessions: "暂无会话";
|
|
5365
|
-
readonly mentionEmptyCollabSessions: "暂无协作会话";
|
|
5366
5631
|
readonly mentionEmptyApps: "暂无应用";
|
|
5367
5632
|
readonly mentionEmptyAgents: "暂无可用智能体";
|
|
5368
5633
|
readonly mentionEmptyIssues: "暂无任务";
|
|
@@ -5389,7 +5654,6 @@ declare const agentGuiI18nResources: {
|
|
|
5389
5654
|
readonly taskContentLabel: "任务内容";
|
|
5390
5655
|
readonly taskTitleLabel: "任务标题";
|
|
5391
5656
|
};
|
|
5392
|
-
readonly mentionCollaboratorFallback: "协作者";
|
|
5393
5657
|
readonly syncPending: "已保存到本地,正在同步到云端";
|
|
5394
5658
|
readonly syncSynced: "已同步到云端";
|
|
5395
5659
|
readonly syncFailed: "云端同步失败";
|
|
@@ -5595,9 +5859,6 @@ declare const agentGuiI18nResources: {
|
|
|
5595
5859
|
readonly conversationCopyImagesOmitted: string;
|
|
5596
5860
|
readonly conversationCopyInProgress: string;
|
|
5597
5861
|
readonly sessionActionUnavailable: string;
|
|
5598
|
-
readonly contextCompactionInProgress: "正在压缩上下文";
|
|
5599
|
-
readonly contextCompactionCompleted: "已压缩上下文";
|
|
5600
|
-
readonly contextCompactionInterrupted: "上下文压缩已中断";
|
|
5601
5862
|
readonly turnSummary: "已变更文件";
|
|
5602
5863
|
readonly userMessageLocator: "用户消息";
|
|
5603
5864
|
readonly turnSummaryFilesChanged: "变更了 {{count}} 个文件";
|
|
@@ -5656,6 +5917,9 @@ declare const agentGuiI18nResources: {
|
|
|
5656
5917
|
readonly showLessConversations: "收起";
|
|
5657
5918
|
readonly deleteSession: "删除会话";
|
|
5658
5919
|
readonly pinSession: "置顶会话";
|
|
5920
|
+
readonly contextCompactionInProgress: "正在压缩上下文";
|
|
5921
|
+
readonly contextCompactionCompleted: "已压缩上下文";
|
|
5922
|
+
readonly contextCompactionInterrupted: "上下文压缩已中断";
|
|
5659
5923
|
readonly visibleErrorStartFailed: "{{provider}} 启动失败";
|
|
5660
5924
|
readonly visibleErrorRequestFailed: "{{provider}} 请求失败";
|
|
5661
5925
|
readonly visibleErrorAuthRequired: "{{provider}} 需要认证或配置";
|
|
@@ -6037,6 +6301,69 @@ declare const agentGuiI18nResources: {
|
|
|
6037
6301
|
};
|
|
6038
6302
|
readonly permissionLabel: "运行权限";
|
|
6039
6303
|
readonly planModeLabel: "计划模式";
|
|
6304
|
+
readonly normalModeLabel: "普通";
|
|
6305
|
+
readonly normalModeDescription: "直接执行请求";
|
|
6306
|
+
readonly tuttiModeLabel: "Tutti";
|
|
6307
|
+
readonly tuttiModeDescription: "提示 Agent 优先使用 Tutti 原生工作流能力";
|
|
6308
|
+
readonly tuttiModeRemove: "关闭 Tutti mode";
|
|
6309
|
+
readonly tuttiBudgetTitle: "Tutti 强度";
|
|
6310
|
+
readonly tuttiBudgetIntensityLabel: "强度";
|
|
6311
|
+
readonly tuttiBudgetIntensityMin: "最低";
|
|
6312
|
+
readonly tuttiBudgetIntensityMax: "最高";
|
|
6313
|
+
readonly tuttiBudgetConfirm: "确认";
|
|
6314
|
+
readonly tuttiBudgetCancel: "取消";
|
|
6315
|
+
readonly tuttiModeUpdateFailed: "Tutti 模式更新失败,请重试";
|
|
6316
|
+
readonly tuttiModeUpdateUncertain: "Tutti 模式状态仍在确认中,请稍后重试";
|
|
6317
|
+
readonly tuttiModePlan: {
|
|
6318
|
+
readonly mode: "Tutti mode plan";
|
|
6319
|
+
readonly taskReview: "计划确认";
|
|
6320
|
+
readonly pending: "待确认";
|
|
6321
|
+
readonly cancel: "取消计划";
|
|
6322
|
+
readonly reviewHint: "直接发送即接受 · 输入反馈后发送即请求修改";
|
|
6323
|
+
readonly reviewHintReplan: "强度已调整 · 发送即按新强度重新规划";
|
|
6324
|
+
readonly sendAccept: "接受计划";
|
|
6325
|
+
readonly sendRequestChanges: "请求修改";
|
|
6326
|
+
readonly replanFeedback: "强度已从 {{from}} 调整为 {{to}}。请按新强度重新规划:调整任务拆解粒度与各任务的模型/推理档位。";
|
|
6327
|
+
readonly replanFeedbackSuffix: "(强度已调整为 {{to}},请一并按新强度重新规划。)";
|
|
6328
|
+
readonly tasks: "任务";
|
|
6329
|
+
readonly priority: "优先级";
|
|
6330
|
+
readonly priorityHigh: "高";
|
|
6331
|
+
readonly priorityMedium: "中";
|
|
6332
|
+
readonly priorityLow: "低";
|
|
6333
|
+
readonly agentTarget: "Agent";
|
|
6334
|
+
readonly model: "模型";
|
|
6335
|
+
readonly permissionMode: "权限模式";
|
|
6336
|
+
readonly reasoningEffort: "推理强度";
|
|
6337
|
+
readonly parallelizable: "可并行";
|
|
6338
|
+
readonly autoAccept: "自动验收";
|
|
6339
|
+
readonly assignmentOptionsLoading: "选项加载中...";
|
|
6340
|
+
readonly notSpecified: "未指定";
|
|
6341
|
+
readonly loadFailed: "无法加载 Tutti mode plan";
|
|
6342
|
+
readonly retry: "重试";
|
|
6343
|
+
readonly issueOpen: "打开 Issue";
|
|
6344
|
+
readonly issueStopExecution: "停止";
|
|
6345
|
+
readonly issueListView: "列表";
|
|
6346
|
+
readonly issueBoardView: "看板";
|
|
6347
|
+
readonly issueSummary: "{{done}}/{{total}} 已完成 · {{running}} 运行中";
|
|
6348
|
+
readonly issueDependencies: "依赖";
|
|
6349
|
+
readonly issueAccept: "验收";
|
|
6350
|
+
readonly issueRework: "重做";
|
|
6351
|
+
readonly issueStageParallel: "阶段 {{index}} · 并行 ×{{count}}";
|
|
6352
|
+
readonly issueStageSequential: "阶段 {{index}} · 串行";
|
|
6353
|
+
readonly issueStatusNotStarted: "待开始";
|
|
6354
|
+
readonly issueStatusRunning: "运行中";
|
|
6355
|
+
readonly issueStatusPendingAcceptance: "待验收";
|
|
6356
|
+
readonly issueStatusCompleted: "已完成";
|
|
6357
|
+
readonly issueStatusFailed: "失败";
|
|
6358
|
+
readonly issueStatusCanceled: "已取消";
|
|
6359
|
+
readonly issueStripRunning: "{{count}} 个子任务进行中";
|
|
6360
|
+
readonly issueStripPending: "{{count}} 待验收";
|
|
6361
|
+
readonly issueStripFailed: "{{count}} 失败";
|
|
6362
|
+
readonly issueStripDone: "{{done}}/{{total}} 已完成";
|
|
6363
|
+
readonly issueStripJump: "查看子任务面板";
|
|
6364
|
+
readonly issueCreateFailed: "已核准的计划未能创建 Issue:{{message}}。请让 Agent 修订计划。";
|
|
6365
|
+
};
|
|
6366
|
+
readonly planModeDescription: "先生成计划,再实施或拆解为 Issue";
|
|
6040
6367
|
readonly planModeOnLabel: "开启";
|
|
6041
6368
|
readonly planModeOffLabel: "关闭";
|
|
6042
6369
|
readonly planUnavailable: "规划模式不可用";
|
|
@@ -7761,6 +8088,11 @@ interface AgentComposerReferenceProvenanceFilter {
|
|
|
7761
8088
|
}
|
|
7762
8089
|
interface AgentComposerSubmitOptions {
|
|
7763
8090
|
requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
|
|
8091
|
+
capabilityRefs?: readonly AgentComposerCapabilityReference[];
|
|
8092
|
+
}
|
|
8093
|
+
interface AgentComposerCapabilityReference {
|
|
8094
|
+
capability: "tutti";
|
|
8095
|
+
source: "slash_command";
|
|
7764
8096
|
}
|
|
7765
8097
|
interface AgentComposerProps {
|
|
7766
8098
|
workspaceId: string;
|
|
@@ -7780,6 +8112,10 @@ interface AgentComposerProps {
|
|
|
7780
8112
|
disabled: boolean;
|
|
7781
8113
|
disabledReason?: string | null;
|
|
7782
8114
|
submitDisabled: boolean;
|
|
8115
|
+
/** Canonical engine projection of the independent TuttiModeActivation. */
|
|
8116
|
+
tuttiModeActive?: boolean;
|
|
8117
|
+
/** Blocks submission/removal while activation CAS or creation is unresolved. */
|
|
8118
|
+
tuttiModeUpdating?: boolean;
|
|
7783
8119
|
placeholder: string;
|
|
7784
8120
|
composerSettings: AgentGUIComposerSettingsVM;
|
|
7785
8121
|
queueStatus?: AgentGUIQueueStatus;
|
|
@@ -7819,6 +8155,13 @@ interface AgentComposerProps {
|
|
|
7819
8155
|
handoffMenuLabel?: string;
|
|
7820
8156
|
labels: {
|
|
7821
8157
|
send: string;
|
|
8158
|
+
/**
|
|
8159
|
+
* Plan-review send copy: with an empty-send override active the send
|
|
8160
|
+
* button reads sendAccept on an empty draft and sendRequestChanges once
|
|
8161
|
+
* feedback is typed, so the composer decision semantics stay legible.
|
|
8162
|
+
*/
|
|
8163
|
+
sendAccept?: string;
|
|
8164
|
+
sendRequestChanges?: string;
|
|
7822
8165
|
modelLabel: string;
|
|
7823
8166
|
modelSelectionLabel: string;
|
|
7824
8167
|
modelContextWindowSuffix: string;
|
|
@@ -7857,6 +8200,15 @@ interface AgentComposerProps {
|
|
|
7857
8200
|
professionalLongRunning: string;
|
|
7858
8201
|
};
|
|
7859
8202
|
planModeLabel: string;
|
|
8203
|
+
tuttiModeLabel: string;
|
|
8204
|
+
tuttiModeDescription: string;
|
|
8205
|
+
tuttiBudgetTitle: string;
|
|
8206
|
+
tuttiBudgetIntensityLabel: string;
|
|
8207
|
+
tuttiBudgetIntensityMin: string;
|
|
8208
|
+
tuttiBudgetIntensityMax: string;
|
|
8209
|
+
tuttiBudgetConfirm: string;
|
|
8210
|
+
tuttiBudgetCancel: string;
|
|
8211
|
+
planModeDescription?: string;
|
|
7860
8212
|
planModeOnLabel: string;
|
|
7861
8213
|
planModeOffLabel: string;
|
|
7862
8214
|
planUnavailable: string;
|
|
@@ -8013,6 +8365,7 @@ interface AgentComposerProps {
|
|
|
8013
8365
|
computerUse?: boolean;
|
|
8014
8366
|
permissionModeId?: string | null;
|
|
8015
8367
|
}) => void;
|
|
8368
|
+
onTuttiModeChange?: (active: boolean) => void;
|
|
8016
8369
|
capabilityMenuState?: AgentComposerCapabilityMenuState;
|
|
8017
8370
|
capabilityControlsReadOnly?: boolean;
|
|
8018
8371
|
onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
|
|
@@ -8020,7 +8373,19 @@ interface AgentComposerProps {
|
|
|
8020
8373
|
onSlashStatusClose?: () => void;
|
|
8021
8374
|
onSlashStatusRefresh?: () => void;
|
|
8022
8375
|
onSubmit: (content: AgentPromptContentBlock[], displayPrompt?: string, options?: AgentComposerSubmitOptions) => void;
|
|
8023
|
-
|
|
8376
|
+
/**
|
|
8377
|
+
* When set, an empty-draft send is enabled and routed here instead of being
|
|
8378
|
+
* blocked (e.g. Tutti plan review: empty send = accept). Typed sends keep
|
|
8379
|
+
* flowing through onSubmit.
|
|
8380
|
+
*/
|
|
8381
|
+
onSubmitEmpty?: () => void;
|
|
8382
|
+
/**
|
|
8383
|
+
* Overrides the empty-draft send button copy while the empty-send override
|
|
8384
|
+
* is active (e.g. plan review with a diverged intensity reads "Request
|
|
8385
|
+
* changes" instead of "Accept plan"). Falls back to labels.sendAccept.
|
|
8386
|
+
*/
|
|
8387
|
+
emptySubmitLabel?: string;
|
|
8388
|
+
onSubmitGuidance?: (content: AgentPromptContentBlock[], displayPrompt?: string, options?: AgentComposerSubmitOptions) => void;
|
|
8024
8389
|
onSendQueuedPromptNext: (queuedPromptId: string) => void;
|
|
8025
8390
|
onRemoveQueuedPrompt: (queuedPromptId: string) => void;
|
|
8026
8391
|
onEditQueuedPrompt: (queuedPromptId: string) => void;
|
|
@@ -8043,7 +8408,7 @@ interface AgentComposerProps {
|
|
|
8043
8408
|
onRequestGitBranches?: AgentComposerGitBranchLoader | null;
|
|
8044
8409
|
referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
|
|
8045
8410
|
}
|
|
8046
|
-
type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"]
|
|
8411
|
+
type AgentComposerCapabilitySettingsTarget = Exclude<AgentSlashCommandCapability["capability"], "tutti">;
|
|
8047
8412
|
interface AgentComposerCapabilityMenuState {
|
|
8048
8413
|
browserUse?: {
|
|
8049
8414
|
connectionMode?: "autoConnect" | "isolated" | null;
|
|
@@ -8052,6 +8417,9 @@ interface AgentComposerCapabilityMenuState {
|
|
|
8052
8417
|
authorization?: AgentComposerComputerUseAuthorizationState | null;
|
|
8053
8418
|
installed?: boolean | null;
|
|
8054
8419
|
};
|
|
8420
|
+
tuttiMode?: {
|
|
8421
|
+
enabled?: boolean | null;
|
|
8422
|
+
};
|
|
8055
8423
|
}
|
|
8056
8424
|
type AgentComposerComputerUseAuthorizationState = "authorized" | "needs-authorization" | "unknown";
|
|
8057
8425
|
interface AgentComposerGitBranches {
|
|
@@ -8102,6 +8470,256 @@ interface OpenAgentEnvPanelInput {
|
|
|
8102
8470
|
focus?: AgentEnvPanelFocus | null;
|
|
8103
8471
|
}
|
|
8104
8472
|
|
|
8473
|
+
type TuttiModePlanWorkflowStatus = "pending_review" | "in_progress" | "accepted" | "rejected" | "completed" | "failed" | "canceled";
|
|
8474
|
+
type TuttiModePlanCheckpointKind = "configuration_review" | "task_review";
|
|
8475
|
+
type TuttiModePlanCheckpointStatus = "pending" | "accepted" | "rejected" | "superseded" | "canceled";
|
|
8476
|
+
interface TuttiModePlanReviewSnapshot {
|
|
8477
|
+
workflow: TuttiModePlanWorkflow;
|
|
8478
|
+
revisions: TuttiModePlanRevision[];
|
|
8479
|
+
checkpoints: TuttiModePlanCheckpoint[];
|
|
8480
|
+
}
|
|
8481
|
+
interface TuttiModePlanWorkflow {
|
|
8482
|
+
id: string;
|
|
8483
|
+
workspaceId: string;
|
|
8484
|
+
type: string;
|
|
8485
|
+
owner: string;
|
|
8486
|
+
triggerKind: string;
|
|
8487
|
+
sourceSessionId: string;
|
|
8488
|
+
sourceTurnId?: string | null;
|
|
8489
|
+
sourceToolCallId?: string | null;
|
|
8490
|
+
status: TuttiModePlanWorkflowStatus;
|
|
8491
|
+
currentRevisionId: string;
|
|
8492
|
+
}
|
|
8493
|
+
interface TuttiModePlanRevision {
|
|
8494
|
+
id: string;
|
|
8495
|
+
workflowId: string;
|
|
8496
|
+
sequence: number;
|
|
8497
|
+
schemaVersion: string;
|
|
8498
|
+
documentPath: string;
|
|
8499
|
+
sha256: string;
|
|
8500
|
+
producedByTurnId?: string | null;
|
|
8501
|
+
createdAtUnixMs: number;
|
|
8502
|
+
document: TuttiModePlanDocument;
|
|
8503
|
+
}
|
|
8504
|
+
interface TuttiModePlanDocument {
|
|
8505
|
+
schema: string;
|
|
8506
|
+
phase: "configuration" | "task_graph";
|
|
8507
|
+
title: string;
|
|
8508
|
+
topicId: string;
|
|
8509
|
+
markdownBody: string;
|
|
8510
|
+
execution: TuttiModePlanExecution;
|
|
8511
|
+
budget: TuttiModePlanBudget;
|
|
8512
|
+
tasks: TuttiModePlanTask[];
|
|
8513
|
+
}
|
|
8514
|
+
interface TuttiModePlanExecution {
|
|
8515
|
+
mode: "sequential" | "parallel";
|
|
8516
|
+
reasoningIntensity: number;
|
|
8517
|
+
orchestrationIntensity: number;
|
|
8518
|
+
}
|
|
8519
|
+
interface TuttiModePlanBudget {
|
|
8520
|
+
mode: "auto" | "fixed";
|
|
8521
|
+
tokenLimit: number;
|
|
8522
|
+
quotaWaterlinePercent: number;
|
|
8523
|
+
}
|
|
8524
|
+
interface TuttiModePlanTask {
|
|
8525
|
+
id: string;
|
|
8526
|
+
title: string;
|
|
8527
|
+
content: string;
|
|
8528
|
+
priority: "high" | "medium" | "low";
|
|
8529
|
+
agentTargetId?: string | null;
|
|
8530
|
+
modelPlanId?: string | null;
|
|
8531
|
+
model?: string | null;
|
|
8532
|
+
permissionModeId?: string | null;
|
|
8533
|
+
reasoningEffort?: string | null;
|
|
8534
|
+
executionDirectory?: string | null;
|
|
8535
|
+
dependsOn: string[];
|
|
8536
|
+
parallelizable?: boolean;
|
|
8537
|
+
autoAccept?: boolean;
|
|
8538
|
+
}
|
|
8539
|
+
interface TuttiModePlanCheckpoint {
|
|
8540
|
+
id: string;
|
|
8541
|
+
workflowId: string;
|
|
8542
|
+
kind: TuttiModePlanCheckpointKind;
|
|
8543
|
+
revisionId: string;
|
|
8544
|
+
status: TuttiModePlanCheckpointStatus;
|
|
8545
|
+
decidedBy?: string | null;
|
|
8546
|
+
decisionReason?: string | null;
|
|
8547
|
+
createdAtUnixMs: number;
|
|
8548
|
+
updatedAtUnixMs: number;
|
|
8549
|
+
decidedAtUnixMs?: number | null;
|
|
8550
|
+
}
|
|
8551
|
+
|
|
8552
|
+
interface TuttiModePlanReviewUpdate {
|
|
8553
|
+
kind: "workflow_updated";
|
|
8554
|
+
workspaceId: string;
|
|
8555
|
+
workflowId: string;
|
|
8556
|
+
sourceSessionId: string;
|
|
8557
|
+
checkpointId: string;
|
|
8558
|
+
changeKind: "proposal_created" | "revision_created" | "checkpoint_decided" | "operation_updated";
|
|
8559
|
+
}
|
|
8560
|
+
interface TuttiModePlanReviewConnectionRestored {
|
|
8561
|
+
kind: "connection_restored";
|
|
8562
|
+
workspaceId: string;
|
|
8563
|
+
}
|
|
8564
|
+
/**
|
|
8565
|
+
* A root turn of the source session settled. The host derives this from the
|
|
8566
|
+
* daemon's canonical turn fan-out and relays it as a read-repair trigger: a
|
|
8567
|
+
* plan proposed mid-turn announces itself through one workflow event, and if
|
|
8568
|
+
* that single event is lost no later workflow signal re-reads review state.
|
|
8569
|
+
*/
|
|
8570
|
+
interface TuttiModePlanReviewSessionSettled {
|
|
8571
|
+
kind: "session_settled";
|
|
8572
|
+
workspaceId: string;
|
|
8573
|
+
sourceSessionId: string;
|
|
8574
|
+
}
|
|
8575
|
+
type TuttiModePlanReviewInvalidation = TuttiModePlanReviewUpdate | TuttiModePlanReviewConnectionRestored | TuttiModePlanReviewSessionSettled;
|
|
8576
|
+
interface TuttiModePlanTaskAssignmentInput {
|
|
8577
|
+
taskId: string;
|
|
8578
|
+
agentTargetId?: string | null;
|
|
8579
|
+
modelPlanId?: string | null;
|
|
8580
|
+
model?: string | null;
|
|
8581
|
+
permissionModeId?: string | null;
|
|
8582
|
+
reasoningEffort?: string | null;
|
|
8583
|
+
parallelizable?: boolean | null;
|
|
8584
|
+
autoAccept?: boolean | null;
|
|
8585
|
+
}
|
|
8586
|
+
interface TuttiModePlanReviewDecisionInput {
|
|
8587
|
+
workspaceId: string;
|
|
8588
|
+
workflowId: string;
|
|
8589
|
+
checkpointId: string;
|
|
8590
|
+
decision: "accepted" | "rejected" | "canceled";
|
|
8591
|
+
decidedBy: string;
|
|
8592
|
+
reason?: string | null;
|
|
8593
|
+
/** Per-task overrides; only meaningful with an accepted task review. */
|
|
8594
|
+
taskAssignments?: readonly TuttiModePlanTaskAssignmentInput[];
|
|
8595
|
+
}
|
|
8596
|
+
interface TuttiModePlanAssignmentAgentOption {
|
|
8597
|
+
agentTargetId: string;
|
|
8598
|
+
label: string;
|
|
8599
|
+
}
|
|
8600
|
+
interface TuttiModePlanAssignmentAgentDetail {
|
|
8601
|
+
/** Provider-native models usable without a model plan. */
|
|
8602
|
+
models: readonly string[];
|
|
8603
|
+
modelPlans: readonly {
|
|
8604
|
+
modelPlanId: string;
|
|
8605
|
+
label: string;
|
|
8606
|
+
models: readonly string[];
|
|
8607
|
+
}[];
|
|
8608
|
+
permissionModes: readonly {
|
|
8609
|
+
id: string;
|
|
8610
|
+
label: string;
|
|
8611
|
+
}[];
|
|
8612
|
+
reasoningEfforts: readonly string[];
|
|
8613
|
+
}
|
|
8614
|
+
interface TuttiPlanIssueTaskSnapshot {
|
|
8615
|
+
taskId: string;
|
|
8616
|
+
title: string;
|
|
8617
|
+
content: string;
|
|
8618
|
+
status: string;
|
|
8619
|
+
sortIndex: number;
|
|
8620
|
+
parallelizable: boolean;
|
|
8621
|
+
autoAccept: boolean;
|
|
8622
|
+
dependencyTaskIds: string[];
|
|
8623
|
+
}
|
|
8624
|
+
/** Read-only snapshot of the Issue a session's accepted plan materialized. */
|
|
8625
|
+
interface TuttiPlanIssueSnapshot {
|
|
8626
|
+
workflowId: string;
|
|
8627
|
+
sourceTurnId: string | null;
|
|
8628
|
+
issueId: string;
|
|
8629
|
+
topicId: string;
|
|
8630
|
+
title: string;
|
|
8631
|
+
tasks: TuttiPlanIssueTaskSnapshot[];
|
|
8632
|
+
}
|
|
8633
|
+
/**
|
|
8634
|
+
* An accepted plan whose create_issue operation durably failed. The
|
|
8635
|
+
* conversation must surface this instead of rendering nothing: there is no
|
|
8636
|
+
* pending checkpoint (the review panel is gone) and no Issue (the issue panel
|
|
8637
|
+
* never appears), so silence would hide the failure entirely.
|
|
8638
|
+
*/
|
|
8639
|
+
interface TuttiPlanIssueMaterializationFailure {
|
|
8640
|
+
workflowId: string;
|
|
8641
|
+
sourceTurnId: string | null;
|
|
8642
|
+
errorMessage: string | null;
|
|
8643
|
+
}
|
|
8644
|
+
type TuttiPlanIssueQueryResult = {
|
|
8645
|
+
kind: "issue";
|
|
8646
|
+
issue: TuttiPlanIssueSnapshot;
|
|
8647
|
+
} | ({
|
|
8648
|
+
kind: "materialization_failed";
|
|
8649
|
+
} & TuttiPlanIssueMaterializationFailure) | null;
|
|
8650
|
+
/**
|
|
8651
|
+
* Read-only source for the embedded plan-issue panel in the conversation.
|
|
8652
|
+
* The host resolves "the Issue this session's accepted plan created" and
|
|
8653
|
+
* relays live issue updates; all mutations stay in the Issue Manager.
|
|
8654
|
+
*/
|
|
8655
|
+
interface TuttiPlanIssueSource {
|
|
8656
|
+
getSessionPlanIssue(input: {
|
|
8657
|
+
workspaceId: string;
|
|
8658
|
+
sourceSessionId: string;
|
|
8659
|
+
}): Promise<TuttiPlanIssueQueryResult>;
|
|
8660
|
+
subscribeIssueUpdates(workspaceId: string, listener: (update: {
|
|
8661
|
+
issueId: string;
|
|
8662
|
+
}) => void): () => void;
|
|
8663
|
+
/** Accepts a pending-acceptance task (the human gate) from the embed. */
|
|
8664
|
+
acceptTask(input: {
|
|
8665
|
+
workspaceId: string;
|
|
8666
|
+
issueId: string;
|
|
8667
|
+
taskId: string;
|
|
8668
|
+
}): Promise<void>;
|
|
8669
|
+
/** Sends a pending-acceptance task back to rework (re-dispatch). */
|
|
8670
|
+
rejectTask(input: {
|
|
8671
|
+
workspaceId: string;
|
|
8672
|
+
issueId: string;
|
|
8673
|
+
taskId: string;
|
|
8674
|
+
}): Promise<void>;
|
|
8675
|
+
/**
|
|
8676
|
+
* Stops the Issue's execution: pauses future dispatch and cancels every
|
|
8677
|
+
* running task run. Idempotent; the daemon owns the cascade.
|
|
8678
|
+
*/
|
|
8679
|
+
cancelExecution(input: {
|
|
8680
|
+
workspaceId: string;
|
|
8681
|
+
issueId: string;
|
|
8682
|
+
}): Promise<void>;
|
|
8683
|
+
/**
|
|
8684
|
+
* Resolves the delegate agent session that ran (or is running) a task's
|
|
8685
|
+
* latest run, so a task card can jump straight into that conversation.
|
|
8686
|
+
* Null when the task has not launched yet.
|
|
8687
|
+
*/
|
|
8688
|
+
resolveTaskSession(input: {
|
|
8689
|
+
workspaceId: string;
|
|
8690
|
+
issueId: string;
|
|
8691
|
+
taskId: string;
|
|
8692
|
+
}): Promise<{
|
|
8693
|
+
agentSessionId: string;
|
|
8694
|
+
} | null>;
|
|
8695
|
+
}
|
|
8696
|
+
/**
|
|
8697
|
+
* Option catalogs for per-task assignment editing. The desktop host reuses
|
|
8698
|
+
* its agent directory and composer capability catalogs; the panel never
|
|
8699
|
+
* hardcodes providers or modes.
|
|
8700
|
+
*/
|
|
8701
|
+
interface TuttiModePlanAssignmentOptionsSource {
|
|
8702
|
+
listAgents(input: {
|
|
8703
|
+
workspaceId: string;
|
|
8704
|
+
}): Promise<readonly TuttiModePlanAssignmentAgentOption[]>;
|
|
8705
|
+
loadAgentOptions(input: {
|
|
8706
|
+
workspaceId: string;
|
|
8707
|
+
agentTargetId: string;
|
|
8708
|
+
}): Promise<TuttiModePlanAssignmentAgentDetail>;
|
|
8709
|
+
}
|
|
8710
|
+
interface TuttiModePlanReviewRuntime {
|
|
8711
|
+
listPending(input: {
|
|
8712
|
+
workspaceId: string;
|
|
8713
|
+
sourceSessionId: string;
|
|
8714
|
+
}): Promise<readonly TuttiModePlanReviewSnapshot[]>;
|
|
8715
|
+
decide(input: TuttiModePlanReviewDecisionInput): Promise<void>;
|
|
8716
|
+
subscribe(workspaceId: string, listener: (update: TuttiModePlanReviewInvalidation) => void): () => void;
|
|
8717
|
+
/** Optional; the panel degrades to read-only assignment display without it. */
|
|
8718
|
+
assignmentOptions?: TuttiModePlanAssignmentOptionsSource;
|
|
8719
|
+
/** Optional; without it the embedded plan-issue panel never renders. */
|
|
8720
|
+
planIssues?: TuttiPlanIssueSource;
|
|
8721
|
+
}
|
|
8722
|
+
|
|
8105
8723
|
type AgentMentionReferenceTargetResolver = (item: AgentContextMentionItem) => ReferenceLocateTarget | null;
|
|
8106
8724
|
interface AgentWorkspaceReferenceInitialTargetInput {
|
|
8107
8725
|
activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
|
|
@@ -8165,11 +8783,6 @@ interface AgentGUIRememberComposerDefaultsResult {
|
|
|
8165
8783
|
supersededFields: AgentGUIComposerDefaultsField[];
|
|
8166
8784
|
}
|
|
8167
8785
|
|
|
8168
|
-
interface AgentGUIOpenSessionRequest {
|
|
8169
|
-
agentSessionId: string;
|
|
8170
|
-
sequence: number;
|
|
8171
|
-
}
|
|
8172
|
-
|
|
8173
8786
|
type AgentGUIComposerAppendRequest = {
|
|
8174
8787
|
files: readonly AgentComposerDraftFile[];
|
|
8175
8788
|
prompt?: string;
|
|
@@ -8184,11 +8797,18 @@ interface AgentGUIPrefillPromptRequest {
|
|
|
8184
8797
|
agentTargetId?: string | null;
|
|
8185
8798
|
autoSubmit?: boolean;
|
|
8186
8799
|
draftPrompt: string;
|
|
8800
|
+
model?: string | null;
|
|
8801
|
+
modelPlanId?: string | null;
|
|
8187
8802
|
provider?: AgentGUIProvider;
|
|
8188
8803
|
sequence: number;
|
|
8189
8804
|
userProjectPath?: string | null;
|
|
8190
8805
|
}
|
|
8191
8806
|
|
|
8807
|
+
interface AgentGUIOpenSessionRequest {
|
|
8808
|
+
agentSessionId: string;
|
|
8809
|
+
sequence: number;
|
|
8810
|
+
}
|
|
8811
|
+
|
|
8192
8812
|
declare const AGENT_CONVERSATION_BATCH_DELETION_RUNTIME_METHODS: readonly ["deleteSessionsBatch", "listSessionSectionDeletionCandidates"];
|
|
8193
8813
|
declare const AGENT_CONVERSATION_RAIL_SOURCE_METHODS: readonly ["deleteSessionsBatch", "listPinnedSessionsPage", "listSessionSectionDeletionCandidates", "listSessionSectionPage", "listSessionSections", "listSessionsPage"];
|
|
8194
8814
|
declare const AGENT_CONVERSATION_RAIL_RUNTIME_METHODS: readonly ["getSessionSectionsQueryCache", "deleteSessionsBatch", "listPinnedSessionsPage", "listSessionSectionDeletionCandidates", "listSessionSectionPage", "listSessionSections", "listSessionsPage"];
|
|
@@ -8372,6 +8992,7 @@ interface AgentGUINodeHostActions {
|
|
|
8372
8992
|
agentTargetId?: string | null;
|
|
8373
8993
|
draftPrompt: string;
|
|
8374
8994
|
provider: AgentGUIProvider;
|
|
8995
|
+
sourceAgentSessionId: string;
|
|
8375
8996
|
userProjectPath?: string | null;
|
|
8376
8997
|
}) => void | Promise<void>;
|
|
8377
8998
|
onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
|
|
@@ -8423,6 +9044,7 @@ interface AgentGUIProps extends Omit<AgentGUINodeProps, "hostCapabilities" | "re
|
|
|
8423
9044
|
renderAgentsEmpty?: AgentGUIAgentsEmptyRenderer;
|
|
8424
9045
|
agentActivityRuntime: AgentActivityRuntime;
|
|
8425
9046
|
agentHostApi?: AgentHostInputApi | null;
|
|
9047
|
+
tuttiModePlanReviewRuntime?: TuttiModePlanReviewRuntime | null;
|
|
8426
9048
|
/** Starter entries to hide below the empty new-session composer. */
|
|
8427
9049
|
disabled?: readonly AgentGUIHomeSuggestionId[];
|
|
8428
9050
|
i18n?: I18nRuntime<string> | null;
|
|
@@ -8538,6 +9160,7 @@ declare const AGENT_CONTEXT_MENTION_PROVIDER_IDS: {
|
|
|
8538
9160
|
readonly file: "file";
|
|
8539
9161
|
readonly workspaceApp: "workspace-app";
|
|
8540
9162
|
readonly workspaceIssue: "workspace-issue";
|
|
9163
|
+
readonly workspaceModel: "workspace-model";
|
|
8541
9164
|
};
|
|
8542
9165
|
type AgentContextMentionProviderId = TuttiExternalAtProviderId;
|
|
8543
9166
|
type AgentContextMentionQueryInput = RichTextTriggerQueryInput & {
|
|
@@ -8593,10 +9216,6 @@ interface EngineStateStore<TState> {
|
|
|
8593
9216
|
}
|
|
8594
9217
|
declare function useEngineSelector<TState, TSelected>(engine: EngineStateStore<TState>, selector: (state: TState) => TSelected, isEqual?: (a: TSelected, b: TSelected) => boolean): TSelected;
|
|
8595
9218
|
|
|
8596
|
-
declare const PLAN_IMPLEMENTATION_ACTION_IMPLEMENT = "implement";
|
|
8597
|
-
declare const PLAN_IMPLEMENTATION_ACTION_FEEDBACK = "feedback";
|
|
8598
|
-
declare const PLAN_IMPLEMENTATION_ACTION_SKIP = "skip";
|
|
8599
|
-
|
|
8600
9219
|
type AgentPlanPromptAction = typeof PLAN_IMPLEMENTATION_ACTION_IMPLEMENT | typeof PLAN_IMPLEMENTATION_ACTION_FEEDBACK | typeof PLAN_IMPLEMENTATION_ACTION_SKIP;
|
|
8601
9220
|
declare function selectAgentPlanPromptTurn(state: AgentSessionEngineState, agentSessionId: string, requestId: string): _tutti_os_agent_activity_core.AgentActivityTurn | null;
|
|
8602
9221
|
declare function dispatchAgentPlanPromptAction(input: {
|
|
@@ -8609,4 +9228,4 @@ declare function dispatchAgentPlanPromptAction(input: {
|
|
|
8609
9228
|
workspaceId: string;
|
|
8610
9229
|
}): boolean;
|
|
8611
9230
|
|
|
8612
|
-
export { AGENT_CONTEXT_MENTION_PROVIDER_IDS, AGENT_CONVERSATION_RAIL_RUNTIME_METHODS, AGENT_GUI_DETAIL_MIN_WIDTH_PX, AGENT_GUI_EXPANDED_TARGET_WIDTH_PX, AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX, AGENT_PASTED_TEXT_BLOCK_KIND, AGENT_PASTED_TEXT_MENTION_KIND, AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeDeleteSessionsBatchInput, type AgentActivityRuntimeDeleteSessionsBatchResult, type AgentActivityRuntimeListSessionMessagesInput, type AgentActivityRuntimePromptContentBlock, AgentActivityRuntimeProvider, type AgentActivityRuntimeProviderProps, type AgentActivityRuntimeSessionSectionDeletionCandidates, type AgentActivityRuntimeSessionSectionScopeInput, type AgentActivityRuntimeSetSessionPinnedInput, type AgentActivityRuntimeUpdateSessionSettingsInput, type AgentActivityRuntimeUpdateSessionSettingsResult, type AgentActivityRuntimeUploadPromptContentInput, type AgentActivityRuntimeUploadPromptContentResult, type AgentComposerDraftFile, type AgentContextMentionProvider, type AgentContextMentionProviderId, type AgentConversationBatchDeletionCapability, type AgentConversationRailRuntime, type AgentConversationRailRuntimeSource, type AgentCustomMentionChipContext, type AgentCustomMentionIdentity, type AgentCustomMentionKindDefinition, type AgentCustomMentionPresentation, type AgentExternalPromptEntryResolution, type AgentExternalPromptEntryResolver, type AgentExternalPromptFilePreparationErrorCode, type AgentExternalPromptFilePreparationResult, type AgentExternalPromptFilePreparer, AgentGUI, type AgentGUIAccountMenuState, type AgentGUIAgent, type AgentGUIAgentAvailability, type AgentGUIAgentAvailabilityAction, type AgentGUIAgentAvailabilityStatus, type AgentGUIAgentDirectoryPort, type AgentGUIAgentDirectorySnapshot, type AgentGUIAgentDirectoryStatus, type AgentGUIAgentOwner, type AgentGUIAgentOwnership, type AgentGUIAgentTarget, type AgentGUIAgentTargetBadge, type AgentGUIAgentTargetRef, type AgentGUIAgentsEmptyRenderer, type AgentGUIAllAgentsPresentation, type AgentGUIComposerAppendRequest, type AgentGUIComposerContentType, type AgentGUIComposerFocusMethod, type AgentGUIConversationRailLayout, type AgentGUIEngagementContext, type AgentGUIEngagementEvent, type AgentGUIEngagementEventSink, type AgentGUIHomeSuggestionId, type AgentGUIProps, type AgentGUIProvider, type AgentGUIProviderRailAllPresentation, type AgentGUIProviderRailMode, type AgentGUIProviderReadinessGate, type AgentGUIProviderReadinessGateAction, type AgentGUIProviderReadinessGateStatus, type AgentGUIProviderUnavailableStateContext, type AgentGUIProviderUnavailableStateRenderer, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, type AgentGuiI18nLocale, AgentGuiI18nProvider, AgentHandoffMenu, type AgentHandoffMenuLabels, type AgentHandoffMenuProps, type AgentHostAgentTargetAuthenticatedAccount, type AgentHostAgentTargetSetupSnapshot, type AgentHostAgentTargetSetupState, type AgentHostAgentTargetSetupWatch, type AgentHostApi, type AgentHostApplyWorkspaceGitPatchInput, type AgentHostInputApi, type AgentHostQuickPrompt, type AgentHostQuickPromptSnapshot, type AgentHostQuickPromptsApi, type AgentHostRuntimeApi, type AgentHostSelectFilesInput, type AgentHostUserProject, type AgentPlanPromptAction, type AgentPreparedExternalPromptFile, type AgentProbeProvider, type AgentProbeSnapshot, type AgentProviderProbeListInput, type AgentProviderProbeListResult, type AgentStatusController, type AgentStatusControllerOptions, type AgentStatusControllerSnapshot, type AgentStatusFrame, type AgentStatusQuery, type AgentStatusRequestPhase, type AgentStatusRequestReason, type AgentStatusSectionState, type AgentStatusSelectionKey, type AgentStatusSource, type AgentStatusSourceError, type AgentStatusStreamObserver, type AgentStatusValue, type AgentUsageQuota, type AgentUsageSnapshot, type CreateAgentSessionHandoffPromptInput, type CreateAgentSessionMarkdownLinkInput, type EngineStateStore, type PersistWriteResult, type ReadWorkspaceAgentReadStateInput, type WorkspaceAgentReadStateSnapshot, type WriteWorkspaceAgentReadStateInput, agentGUIAgentIsReady, agentGUIDefaultTargetProviders, agentGuiDockIconUrl, agentGuiDockIconUrls, agentGuiI18nModule, agentGuiI18nResources, createAgentConversationRailRuntime, createAgentSessionHandoffPrompt, createAgentSessionMarkdownLink, createAgentStatusController, createLocalAgentGUIAgentTarget, createLocalAgentGUIAgentTargets, createSharedAgentGUIAgentTarget, dispatchAgentPlanPromptAction, getAgentCustomMentionKind, inspectAgentConversationBatchDeletionCapability, localAgentGUIAgentTargetId, normalizeAgentGUIAgentTargets, normalizeAgentGUIAgents, preloadAgentMentionBrowse, projectAgentGUIAgentsToTargets, registerAgentCustomMentionKind, resetAgentActivityRuntimeForTests, resetAgentCustomMentionKindsForTests, resolveAgentGUIAgentTarget, resolveAgentGUIExpandedWindowFrame, resolveAgentGUISelectedDirectoryAgent, selectAgentPlanPromptTurn, selectAgentStatusControllerSnapshot, setAgentActivityRuntimeForTests, shouldAutoCollapseAgentGUIConversationRail, useAgentActivityRuntime, useAgentActivitySnapshot, useEngineSelector, useOptionalAgentActivityRuntime };
|
|
9231
|
+
export { AGENT_CONTEXT_MENTION_PROVIDER_IDS, AGENT_CONVERSATION_RAIL_RUNTIME_METHODS, AGENT_GUI_DETAIL_MIN_WIDTH_PX, AGENT_GUI_EXPANDED_TARGET_WIDTH_PX, AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX, AGENT_PASTED_TEXT_BLOCK_KIND, AGENT_PASTED_TEXT_MENTION_KIND, AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeDeleteSessionsBatchInput, type AgentActivityRuntimeDeleteSessionsBatchResult, type AgentActivityRuntimeListSessionMessagesInput, type AgentActivityRuntimePromptContentBlock, AgentActivityRuntimeProvider, type AgentActivityRuntimeProviderProps, type AgentActivityRuntimeSessionSectionDeletionCandidates, type AgentActivityRuntimeSessionSectionScopeInput, type AgentActivityRuntimeSetSessionPinnedInput, type AgentActivityRuntimeUpdateSessionSettingsInput, type AgentActivityRuntimeUpdateSessionSettingsResult, type AgentActivityRuntimeUploadPromptContentInput, type AgentActivityRuntimeUploadPromptContentResult, type AgentComposerDraftFile, type AgentContextMentionProvider, type AgentContextMentionProviderId, type AgentConversationBatchDeletionCapability, type AgentConversationRailRuntime, type AgentConversationRailRuntimeSource, type AgentCustomMentionChipContext, type AgentCustomMentionIdentity, type AgentCustomMentionKindDefinition, type AgentCustomMentionPresentation, type AgentExternalPromptEntryResolution, type AgentExternalPromptEntryResolver, type AgentExternalPromptFilePreparationErrorCode, type AgentExternalPromptFilePreparationResult, type AgentExternalPromptFilePreparer, AgentGUI, type AgentGUIAccountMenuState, type AgentGUIAgent, type AgentGUIAgentAvailability, type AgentGUIAgentAvailabilityAction, type AgentGUIAgentAvailabilityStatus, type AgentGUIAgentDirectoryPort, type AgentGUIAgentDirectorySnapshot, type AgentGUIAgentDirectoryStatus, type AgentGUIAgentOwner, type AgentGUIAgentOwnership, type AgentGUIAgentTarget, type AgentGUIAgentTargetBadge, type AgentGUIAgentTargetRef, type AgentGUIAgentsEmptyRenderer, type AgentGUIAllAgentsPresentation, type AgentGUIComposerAppendRequest, type AgentGUIComposerContentType, type AgentGUIComposerFocusMethod, type AgentGUIConversationRailLayout, type AgentGUIEngagementContext, type AgentGUIEngagementEvent, type AgentGUIEngagementEventSink, type AgentGUIHomeSuggestionId, type AgentGUIProps, type AgentGUIProvider, type AgentGUIProviderRailAllPresentation, type AgentGUIProviderRailMode, type AgentGUIProviderReadinessGate, type AgentGUIProviderReadinessGateAction, type AgentGUIProviderReadinessGateStatus, type AgentGUIProviderUnavailableStateContext, type AgentGUIProviderUnavailableStateRenderer, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, type AgentGuiI18nLocale, AgentGuiI18nProvider, AgentHandoffMenu, type AgentHandoffMenuLabels, type AgentHandoffMenuProps, type AgentHostAgentTargetAuthenticatedAccount, type AgentHostAgentTargetSetupSnapshot, type AgentHostAgentTargetSetupState, type AgentHostAgentTargetSetupWatch, type AgentHostApi, type AgentHostApplyWorkspaceGitPatchInput, type AgentHostInputApi, type AgentHostQuickPrompt, type AgentHostQuickPromptSnapshot, type AgentHostQuickPromptsApi, type AgentHostRuntimeApi, type AgentHostSelectFilesInput, type AgentHostUserProject, type AgentPlanPromptAction, type AgentPreparedExternalPromptFile, type AgentProbeProvider, type AgentProbeSnapshot, type AgentProviderProbeListInput, type AgentProviderProbeListResult, type AgentStatusController, type AgentStatusControllerOptions, type AgentStatusControllerSnapshot, type AgentStatusFrame, type AgentStatusQuery, type AgentStatusRequestPhase, type AgentStatusRequestReason, type AgentStatusSectionState, type AgentStatusSelectionKey, type AgentStatusSource, type AgentStatusSourceError, type AgentStatusStreamObserver, type AgentStatusValue, type AgentUsageQuota, type AgentUsageSnapshot, type CreateAgentSessionHandoffPromptInput, type CreateAgentSessionMarkdownLinkInput, type EngineStateStore, type PersistWriteResult, type ReadWorkspaceAgentReadStateInput, type TuttiModePlanAssignmentAgentDetail, type TuttiModePlanAssignmentAgentOption, type TuttiModePlanAssignmentOptionsSource, type TuttiModePlanReviewRuntime, type TuttiModePlanReviewSnapshot, type TuttiModePlanTaskAssignmentInput, type TuttiPlanIssueMaterializationFailure, type TuttiPlanIssueQueryResult, type TuttiPlanIssueSnapshot, type TuttiPlanIssueSource, type TuttiPlanIssueTaskSnapshot, type WorkspaceAgentReadStateSnapshot, type WriteWorkspaceAgentReadStateInput, agentGUIAgentIsReady, agentGUIDefaultTargetProviders, agentGuiDockIconUrl, agentGuiDockIconUrls, agentGuiI18nModule, agentGuiI18nResources, createAgentConversationRailRuntime, createAgentSessionHandoffPrompt, createAgentSessionMarkdownLink, createAgentStatusController, createLocalAgentGUIAgentTarget, createLocalAgentGUIAgentTargets, createSharedAgentGUIAgentTarget, dispatchAgentPlanPromptAction, getAgentCustomMentionKind, inspectAgentConversationBatchDeletionCapability, localAgentGUIAgentTargetId, normalizeAgentGUIAgentTargets, normalizeAgentGUIAgents, preloadAgentMentionBrowse, projectAgentGUIAgentsToTargets, registerAgentCustomMentionKind, resetAgentActivityRuntimeForTests, resetAgentCustomMentionKindsForTests, resolveAgentGUIAgentTarget, resolveAgentGUIExpandedWindowFrame, resolveAgentGUISelectedDirectoryAgent, selectAgentPlanPromptTurn, selectAgentStatusControllerSnapshot, setAgentActivityRuntimeForTests, shouldAutoCollapseAgentGUIConversationRail, useAgentActivityRuntime, useAgentActivitySnapshot, useEngineSelector, useOptionalAgentActivityRuntime };
|