@tutti-os/agent-gui 0.0.152 → 0.0.154
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-WVZ65VON.js → AgentRichTextReadonly-J5GZIS7X.js} +5 -5
- package/dist/agent-conversation/index.d.ts +1 -1
- package/dist/agent-conversation/index.js +7 -7
- package/dist/agent-gui.d.ts +49 -2
- package/dist/agent-gui.js +15 -15
- package/dist/agent-message-center/index.js +6 -6
- package/dist/{agentGuiNodeTypes-D3f1yiEL.d.ts → agentGuiNodeTypes-2xRyhPBD.d.ts} +39 -1
- package/dist/{chunk-ZVD6KIXC.js → chunk-3VKRWAKQ.js} +4 -4
- package/dist/{chunk-XSW565MM.js → chunk-BHB457ZP.js} +2 -2
- package/dist/{chunk-VI6H5PTQ.js → chunk-DB3PHOZC.js} +127 -3
- package/dist/chunk-DB3PHOZC.js.map +1 -0
- package/dist/{chunk-XZUMGJ67.js → chunk-EFEOPMIV.js} +4 -4
- package/dist/{chunk-YNF74LPO.js → chunk-EITAGUEN.js} +2 -2
- package/dist/{chunk-3IOQ3IOJ.js → chunk-ESJWSRFD.js} +3 -2
- package/dist/{chunk-3IOQ3IOJ.js.map → chunk-ESJWSRFD.js.map} +1 -1
- package/dist/{chunk-MVXJDVDT.js → chunk-FGAKY5YL.js} +1915 -821
- package/dist/chunk-FGAKY5YL.js.map +1 -0
- package/dist/{chunk-O2P5ODPK.js → chunk-GBTKLNMX.js} +6 -6
- package/dist/{chunk-BCIAEN7N.js → chunk-GTSKTVVB.js} +2 -2
- package/dist/{chunk-5HIF53K5.js → chunk-HBJJY2AC.js} +10 -7
- package/dist/chunk-HBJJY2AC.js.map +1 -0
- package/dist/{chunk-PRFWB2BT.js → chunk-OSOJX2OE.js} +4 -4
- package/dist/{chunk-6R2UNGNY.js → chunk-SFRFW3GC.js} +4 -4
- package/dist/{chunk-5D7HTLUA.js → chunk-WNGTC3Y2.js} +3 -3
- package/dist/{chunk-UMTEWNPP.js → chunk-XYKQJMVT.js} +2 -2
- package/dist/{chunk-RD4EDLVU.js → chunk-ZCBP5VTT.js} +2 -2
- package/dist/context-mention-palette/index.js +7 -7
- package/dist/i18n/index.d.ts +120 -2
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +830 -626
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/dist/mention-search.js +5 -5
- package/dist/workbench/contribution.js +4 -4
- package/dist/workbench/index.js +4 -4
- package/dist/workbench/sessionTitle.js +2 -2
- package/dist/workbench/state.js +1 -1
- package/package.json +13 -13
- package/dist/chunk-5HIF53K5.js.map +0 -1
- package/dist/chunk-MVXJDVDT.js.map +0 -1
- package/dist/chunk-VI6H5PTQ.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-WVZ65VON.js.map → AgentRichTextReadonly-J5GZIS7X.js.map} +0 -0
- /package/dist/{chunk-ZVD6KIXC.js.map → chunk-3VKRWAKQ.js.map} +0 -0
- /package/dist/{chunk-XSW565MM.js.map → chunk-BHB457ZP.js.map} +0 -0
- /package/dist/{chunk-XZUMGJ67.js.map → chunk-EFEOPMIV.js.map} +0 -0
- /package/dist/{chunk-YNF74LPO.js.map → chunk-EITAGUEN.js.map} +0 -0
- /package/dist/{chunk-O2P5ODPK.js.map → chunk-GBTKLNMX.js.map} +0 -0
- /package/dist/{chunk-BCIAEN7N.js.map → chunk-GTSKTVVB.js.map} +0 -0
- /package/dist/{chunk-PRFWB2BT.js.map → chunk-OSOJX2OE.js.map} +0 -0
- /package/dist/{chunk-6R2UNGNY.js.map → chunk-SFRFW3GC.js.map} +0 -0
- /package/dist/{chunk-5D7HTLUA.js.map → chunk-WNGTC3Y2.js.map} +0 -0
- /package/dist/{chunk-UMTEWNPP.js.map → chunk-XYKQJMVT.js.map} +0 -0
- /package/dist/{chunk-RD4EDLVU.js.map → chunk-ZCBP5VTT.js.map} +0 -0
|
@@ -114,10 +114,11 @@ function createAgentGuiWorkbenchNodeStateSource(input) {
|
|
|
114
114
|
const nodeStateByKey = /* @__PURE__ */ new Map();
|
|
115
115
|
const instanceIdByKey = /* @__PURE__ */ new Map();
|
|
116
116
|
const listeners = /* @__PURE__ */ new Set();
|
|
117
|
+
const workspaceState = { workspaceId: input.workspaceId };
|
|
117
118
|
const lookupState = (request) => {
|
|
118
119
|
const nodeState = request.nodeId ? nodeStateByKey.get(agentGuiWorkbenchNodeStateKey(request)) : null;
|
|
119
120
|
const state = nodeState ?? nodeStateByKey.get(agentGuiWorkbenchInstanceStateKey(request));
|
|
120
|
-
return state
|
|
121
|
+
return state ?? null;
|
|
121
122
|
};
|
|
122
123
|
const notify = () => {
|
|
123
124
|
for (const listener of listeners) {
|
|
@@ -139,11 +140,13 @@ function createAgentGuiWorkbenchNodeStateSource(input) {
|
|
|
139
140
|
return lookupState(request);
|
|
140
141
|
},
|
|
141
142
|
getWorkspaceState() {
|
|
142
|
-
return
|
|
143
|
-
workspaceId: input.workspaceId
|
|
144
|
-
};
|
|
143
|
+
return workspaceState;
|
|
145
144
|
},
|
|
146
|
-
|
|
145
|
+
subscribeNodeState(request, listener) {
|
|
146
|
+
if (request.typeId !== typeId) {
|
|
147
|
+
return () => {
|
|
148
|
+
};
|
|
149
|
+
}
|
|
147
150
|
listeners.add(listener);
|
|
148
151
|
return () => {
|
|
149
152
|
listeners.delete(listener);
|
|
@@ -184,10 +187,10 @@ function createAgentGuiWorkbenchNodeStateSource(input) {
|
|
|
184
187
|
const next = {
|
|
185
188
|
...normalizeAgentGuiWorkbenchState(request.state)
|
|
186
189
|
};
|
|
187
|
-
nodeStateByKey.set(key, next);
|
|
188
190
|
if (!clearedInstanceSeed && previous && areAgentGuiWorkbenchMemoryStatesEqual(previous, next)) {
|
|
189
191
|
return;
|
|
190
192
|
}
|
|
193
|
+
nodeStateByKey.set(key, next);
|
|
191
194
|
notify();
|
|
192
195
|
}
|
|
193
196
|
};
|
|
@@ -324,4 +327,4 @@ export {
|
|
|
324
327
|
areAgentGuiWorkbenchNodeStatesEqual,
|
|
325
328
|
createAgentGuiWorkbenchNodeStateSource
|
|
326
329
|
};
|
|
327
|
-
//# sourceMappingURL=chunk-
|
|
330
|
+
//# sourceMappingURL=chunk-HBJJY2AC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../workbench/state.ts"],"sourcesContent":["import type {\n WorkbenchHostExternalStateLookupInput,\n WorkbenchHostExternalStateSource\n} from \"@tutti-os/workbench-surface\";\nimport {\n agentGuiWorkbenchProviders,\n normalizeAgentGuiWorkbenchProvider\n} from \"./providerCatalog.ts\";\nimport type {\n AgentGuiWorkbenchComposerOverrides,\n AgentGuiWorkbenchComposerOverridesByAgentTargetId,\n AgentGuiWorkbenchComposerOverridesByProvider,\n AgentGuiWorkbenchNodeState,\n AgentGuiWorkbenchProvider,\n AgentGuiWorkbenchState,\n AgentGuiWorkbenchWorkspaceState\n} from \"./types.ts\";\n\ntype AgentGuiWorkbenchStateLookupRequest = Pick<\n WorkbenchHostExternalStateLookupInput,\n \"instanceId\" | \"typeId\"\n> &\n Partial<Pick<WorkbenchHostExternalStateLookupInput, \"nodeId\">>;\n\nexport function createDefaultAgentGuiWorkbenchNodeState(\n provider: AgentGuiWorkbenchProvider = \"codex\"\n): AgentGuiWorkbenchNodeState {\n return {\n agentTargetId: null,\n composerOverrides: null,\n composerOverridesByAgentTargetId: null,\n composerOverridesByProvider: null,\n conversationCount: null,\n conversationRailCollapsed: false,\n conversationRailWidthPx: null,\n lastActiveAgentSessionId: null,\n lastActiveAgentSessionIdByAgentTargetId: null,\n provider\n };\n}\n\nexport function normalizeAgentGuiWorkbenchState(\n state: unknown\n): AgentGuiWorkbenchState {\n if (!isRecord(state)) {\n return createDefaultAgentGuiWorkbenchState();\n }\n const agentTargetId = normalizeOptionalNonEmptyString(state.agentTargetId);\n const lastActiveAgentSessionIdByAgentTargetId =\n normalizeAgentGuiWorkbenchLastActiveSessionByAgentTargetId(\n state.lastActiveAgentSessionIdByAgentTargetId\n );\n return {\n ...(agentTargetId ? { agentTargetId } : {}),\n conversationRailCollapsed: state.conversationRailCollapsed === true,\n conversationRailWidthPx: normalizeOptionalPositiveNumber(\n state.conversationRailWidthPx\n ),\n lastActiveAgentSessionId:\n typeof state.lastActiveAgentSessionId === \"string\"\n ? state.lastActiveAgentSessionId\n : null,\n ...(lastActiveAgentSessionIdByAgentTargetId\n ? { lastActiveAgentSessionIdByAgentTargetId }\n : {})\n };\n}\n\n/**\n * One-time persisted-state reader for snapshots written before agentTargetId\n * became the canonical AgentGUI selection key. Current-state normalizers stay\n * strict so live callers cannot continue using the removed alias.\n */\nexport function migrateLegacyAgentGuiWorkbenchState(state: unknown): unknown {\n if (\n !isRecord(state) ||\n normalizeOptionalNonEmptyString(state.agentTargetId)\n ) {\n return state;\n }\n const legacyAgentTargetId = normalizeOptionalNonEmptyString(\n state.providerTargetId\n );\n return legacyAgentTargetId\n ? { ...state, agentTargetId: legacyAgentTargetId }\n : state;\n}\n\nexport function projectAgentGuiWorkbenchState(\n state: AgentGuiWorkbenchNodeState\n): AgentGuiWorkbenchState {\n const agentTargetId = normalizeOptionalNonEmptyString(state.agentTargetId);\n const lastActiveAgentSessionIdByAgentTargetId =\n normalizeAgentGuiWorkbenchLastActiveSessionByAgentTargetId(\n state.lastActiveAgentSessionIdByAgentTargetId\n );\n return {\n ...(agentTargetId ? { agentTargetId } : {}),\n conversationRailCollapsed: state.conversationRailCollapsed === true,\n conversationRailWidthPx: normalizeOptionalPositiveNumber(\n state.conversationRailWidthPx\n ),\n lastActiveAgentSessionId: state.lastActiveAgentSessionId ?? null,\n ...(lastActiveAgentSessionIdByAgentTargetId\n ? { lastActiveAgentSessionIdByAgentTargetId }\n : {})\n };\n}\n\nexport function areAgentGuiWorkbenchStatesEqual(\n left: AgentGuiWorkbenchState,\n right: AgentGuiWorkbenchState\n): boolean {\n return (\n (left.agentTargetId ?? null) === (right.agentTargetId ?? null) &&\n left.conversationRailCollapsed === right.conversationRailCollapsed &&\n left.conversationRailWidthPx === right.conversationRailWidthPx &&\n left.lastActiveAgentSessionId === right.lastActiveAgentSessionId &&\n stringRecordsEqual(\n left.lastActiveAgentSessionIdByAgentTargetId,\n right.lastActiveAgentSessionIdByAgentTargetId\n )\n );\n}\n\nexport function normalizeAgentGuiWorkbenchNodeState(\n state: unknown,\n fallbackProvider: AgentGuiWorkbenchProvider = \"codex\"\n): AgentGuiWorkbenchNodeState {\n const persistedState = isRecord(state) ? state : {};\n const provider =\n persistedState.provider === undefined || persistedState.provider === null\n ? fallbackProvider\n : normalizeAgentGuiWorkbenchProvider(persistedState.provider);\n return {\n ...createDefaultAgentGuiWorkbenchNodeState(provider),\n agentTargetId: normalizeOptionalNonEmptyString(\n persistedState.agentTargetId\n ),\n composerOverrides: normalizeAgentGuiWorkbenchComposerOverrides(\n persistedState.composerOverrides\n ),\n composerOverridesByAgentTargetId:\n normalizeAgentGuiWorkbenchComposerOverridesByAgentTargetId(\n persistedState.composerOverridesByAgentTargetId\n ),\n composerOverridesByProvider:\n normalizeAgentGuiWorkbenchComposerOverridesByProvider(\n persistedState.composerOverridesByProvider\n ),\n conversationCount: normalizeOptionalNonNegativeNumber(\n persistedState.conversationCount\n ),\n conversationRailCollapsed:\n persistedState.conversationRailCollapsed === true,\n conversationRailWidthPx: normalizeOptionalPositiveNumber(\n persistedState.conversationRailWidthPx\n ),\n lastActiveAgentSessionId:\n typeof persistedState.lastActiveAgentSessionId === \"string\"\n ? persistedState.lastActiveAgentSessionId\n : null,\n lastActiveAgentSessionIdByAgentTargetId:\n normalizeAgentGuiWorkbenchLastActiveSessionByAgentTargetId(\n persistedState.lastActiveAgentSessionIdByAgentTargetId\n ),\n provider\n };\n}\n\nexport function areAgentGuiWorkbenchNodeStatesEqual(\n left: AgentGuiWorkbenchNodeState,\n right: AgentGuiWorkbenchNodeState\n): boolean {\n return (\n (left.agentTargetId ?? null) === (right.agentTargetId ?? null) &&\n composerOverridesEqual(left.composerOverrides, right.composerOverrides) &&\n composerOverridesByAgentTargetIdEqual(\n left.composerOverridesByAgentTargetId,\n right.composerOverridesByAgentTargetId\n ) &&\n composerOverridesByProviderEqual(\n left.composerOverridesByProvider,\n right.composerOverridesByProvider\n ) &&\n left.conversationCount === right.conversationCount &&\n left.conversationRailCollapsed === right.conversationRailCollapsed &&\n left.conversationRailWidthPx === right.conversationRailWidthPx &&\n left.lastActiveAgentSessionId === right.lastActiveAgentSessionId &&\n stringRecordsEqual(\n left.lastActiveAgentSessionIdByAgentTargetId,\n right.lastActiveAgentSessionIdByAgentTargetId\n ) &&\n left.provider === right.provider &&\n (left.agentTargetId ?? null) === (right.agentTargetId ?? null)\n );\n}\n\nexport function createAgentGuiWorkbenchNodeStateSource(input: {\n typeId?: string;\n workspaceId: string;\n}): {\n externalStateSource: WorkbenchHostExternalStateSource<\n AgentGuiWorkbenchState | null,\n AgentGuiWorkbenchWorkspaceState\n >;\n readNodeState: (\n request: AgentGuiWorkbenchStateLookupRequest\n ) => AgentGuiWorkbenchState | null;\n writeNodeState: (\n request: AgentGuiWorkbenchStateLookupRequest & {\n state: AgentGuiWorkbenchState;\n }\n ) => void;\n /**\n * Returns the launch instanceId of an open node currently showing the given\n * agent session, or null when none is found. Used to focus an existing\n * conversation instead of launching a duplicate node.\n */\n findInstanceIdByAgentSessionId: (agentSessionId: string) => string | null;\n} {\n const typeId = input.typeId ?? \"agent-gui\";\n const nodeStateByKey = new Map<string, AgentGuiWorkbenchState>();\n // Tracks the launch instanceId behind each state key so a node can be located\n // by the session it is currently showing, even when its key is node-scoped.\n const instanceIdByKey = new Map<string, string>();\n const listeners = new Set<() => void>();\n const workspaceState = { workspaceId: input.workspaceId };\n\n const lookupState = (request: AgentGuiWorkbenchStateLookupRequest) => {\n const nodeState = request.nodeId\n ? nodeStateByKey.get(agentGuiWorkbenchNodeStateKey(request))\n : null;\n const state =\n nodeState ??\n nodeStateByKey.get(agentGuiWorkbenchInstanceStateKey(request));\n return state ?? null;\n };\n\n const notify = () => {\n for (const listener of listeners) {\n listener();\n }\n };\n\n return {\n externalStateSource: {\n getNodeState(request) {\n if (request.typeId !== typeId) {\n return null;\n }\n return lookupState(request);\n },\n getSnapshotNodeState(request) {\n if (request.typeId !== typeId) {\n return null;\n }\n return lookupState(request);\n },\n getWorkspaceState() {\n return workspaceState;\n },\n subscribeNodeState(request, listener) {\n if (request.typeId !== typeId) {\n return () => {};\n }\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n }\n },\n readNodeState(request) {\n if (request.typeId !== typeId) {\n return null;\n }\n return lookupState(request);\n },\n findInstanceIdByAgentSessionId(agentSessionId) {\n const target = agentSessionId.trim();\n if (!target) {\n return null;\n }\n for (const [key, state] of nodeStateByKey) {\n if (state.lastActiveAgentSessionId?.trim() === target) {\n return instanceIdByKey.get(key) ?? null;\n }\n }\n return null;\n },\n writeNodeState(request) {\n if (request.typeId !== typeId) {\n return;\n }\n const key = agentGuiWorkbenchNodeStateKey(request);\n instanceIdByKey.set(key, request.instanceId);\n const previous = nodeStateByKey.get(key);\n let clearedInstanceSeed = false;\n if (request.nodeId) {\n const instanceKey = agentGuiWorkbenchInstanceStateKey(request);\n instanceIdByKey.delete(instanceKey);\n clearedInstanceSeed = nodeStateByKey.delete(instanceKey);\n }\n const next = {\n ...normalizeAgentGuiWorkbenchState(request.state)\n };\n if (\n !clearedInstanceSeed &&\n previous &&\n areAgentGuiWorkbenchMemoryStatesEqual(previous, next)\n ) {\n return;\n }\n nodeStateByKey.set(key, next);\n notify();\n }\n };\n}\n\nfunction areAgentGuiWorkbenchMemoryStatesEqual(\n left: AgentGuiWorkbenchState,\n right: AgentGuiWorkbenchState\n): boolean {\n return areAgentGuiWorkbenchStatesEqual(left, right);\n}\n\nfunction agentGuiWorkbenchNodeStateKey(\n request: Pick<WorkbenchHostExternalStateLookupInput, \"instanceId\"> &\n Partial<Pick<WorkbenchHostExternalStateLookupInput, \"nodeId\">>\n): string {\n return request.nodeId\n ? `node:${request.nodeId}`\n : agentGuiWorkbenchInstanceStateKey(request);\n}\n\nfunction agentGuiWorkbenchInstanceStateKey(\n request: Pick<WorkbenchHostExternalStateLookupInput, \"instanceId\">\n): string {\n return `instance:${request.instanceId}`;\n}\n\nfunction createDefaultAgentGuiWorkbenchState(): AgentGuiWorkbenchState {\n return {\n conversationRailCollapsed: false,\n conversationRailWidthPx: null,\n lastActiveAgentSessionId: null\n };\n}\n\nfunction normalizeOptionalNonEmptyString(value: unknown): string | null {\n return typeof value === \"string\" && value.trim() ? value.trim() : null;\n}\n\nfunction normalizeAgentGuiWorkbenchComposerOverrides(\n value: unknown\n): AgentGuiWorkbenchComposerOverrides | null {\n if (!isRecord(value)) {\n return null;\n }\n const composerOverrides: AgentGuiWorkbenchComposerOverrides = {};\n if (typeof value.model === \"string\" && value.model.trim()) {\n composerOverrides.model = value.model.trim();\n }\n if (\n typeof value.reasoningEffort === \"string\" &&\n value.reasoningEffort.trim()\n ) {\n composerOverrides.reasoningEffort = value.reasoningEffort.trim();\n }\n if (\n typeof value.permissionModeId === \"string\" &&\n value.permissionModeId.trim()\n ) {\n composerOverrides.permissionModeId = value.permissionModeId.trim();\n }\n if (typeof value.planMode === \"boolean\") {\n composerOverrides.planMode = value.planMode;\n }\n return Object.keys(composerOverrides).length > 0 ? composerOverrides : null;\n}\n\nfunction normalizeAgentGuiWorkbenchComposerOverridesByProvider(\n value: unknown\n): AgentGuiWorkbenchComposerOverridesByProvider | null {\n if (!isRecord(value)) {\n return null;\n }\n const result: AgentGuiWorkbenchComposerOverridesByProvider = {};\n for (const provider of agentGuiWorkbenchProviders) {\n const overrides = normalizeAgentGuiWorkbenchComposerOverrides(\n value[provider]\n );\n if (overrides) {\n result[provider] = overrides;\n }\n }\n return Object.keys(result).length > 0 ? result : null;\n}\n\nfunction normalizeAgentGuiWorkbenchComposerOverridesByAgentTargetId(\n value: unknown\n): AgentGuiWorkbenchComposerOverridesByAgentTargetId | null {\n if (!isRecord(value)) {\n return null;\n }\n const result: AgentGuiWorkbenchComposerOverridesByAgentTargetId = {};\n for (const [rawAgentTargetId, rawOverrides] of Object.entries(value)) {\n const agentTargetId = normalizeOptionalNonEmptyString(rawAgentTargetId);\n if (!agentTargetId) {\n continue;\n }\n const overrides = normalizeAgentGuiWorkbenchComposerOverrides(rawOverrides);\n if (overrides) {\n result[agentTargetId] = overrides;\n }\n }\n return Object.keys(result).length > 0 ? result : null;\n}\n\nfunction normalizeAgentGuiWorkbenchLastActiveSessionByAgentTargetId(\n value: unknown\n): Record<string, string> | null {\n if (!isRecord(value)) {\n return null;\n }\n const result: Record<string, string> = {};\n for (const [rawAgentTargetId, rawAgentSessionId] of Object.entries(value)) {\n const agentTargetId = normalizeOptionalNonEmptyString(rawAgentTargetId);\n const agentSessionId = normalizeOptionalNonEmptyString(rawAgentSessionId);\n if (agentTargetId && agentSessionId) {\n result[agentTargetId] = agentSessionId;\n }\n }\n return Object.keys(result).length > 0 ? result : null;\n}\n\nfunction normalizeOptionalPositiveNumber(value: unknown): number | null {\n return typeof value === \"number\" && Number.isFinite(value) && value > 0\n ? Math.round(value)\n : null;\n}\n\nfunction normalizeOptionalNonNegativeNumber(value: unknown): number | null {\n return typeof value === \"number\" && Number.isFinite(value) && value >= 0\n ? Math.round(value)\n : null;\n}\n\nfunction composerOverridesEqual(\n left: AgentGuiWorkbenchComposerOverrides | null | undefined,\n right: AgentGuiWorkbenchComposerOverrides | null | undefined\n): boolean {\n return (\n (left?.model ?? null) === (right?.model ?? null) &&\n (left?.permissionModeId ?? null) === (right?.permissionModeId ?? null) &&\n (left?.planMode ?? null) === (right?.planMode ?? null) &&\n (left?.reasoningEffort ?? null) === (right?.reasoningEffort ?? null)\n );\n}\n\nfunction composerOverridesByProviderEqual(\n left: AgentGuiWorkbenchComposerOverridesByProvider | null | undefined,\n right: AgentGuiWorkbenchComposerOverridesByProvider | null | undefined\n): boolean {\n for (const provider of agentGuiWorkbenchProviders) {\n if (!composerOverridesEqual(left?.[provider], right?.[provider])) {\n return false;\n }\n }\n return true;\n}\n\nfunction composerOverridesByAgentTargetIdEqual(\n left: AgentGuiWorkbenchComposerOverridesByAgentTargetId | null | undefined,\n right: AgentGuiWorkbenchComposerOverridesByAgentTargetId | null | undefined\n): boolean {\n const leftKeys = Object.keys(left ?? {}).sort();\n const rightKeys = Object.keys(right ?? {}).sort();\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n return leftKeys.every(\n (key, index) =>\n key === rightKeys[index] &&\n composerOverridesEqual(left?.[key], right?.[key])\n );\n}\n\nfunction stringRecordsEqual(\n left: Record<string, string> | null | undefined,\n right: Record<string, string> | null | undefined\n): boolean {\n const leftKeys = Object.keys(left ?? {}).sort();\n const rightKeys = Object.keys(right ?? {}).sort();\n return (\n leftKeys.length === rightKeys.length &&\n leftKeys.every(\n (key, index) => key === rightKeys[index] && left?.[key] === right?.[key]\n )\n );\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
migrateLegacyAgentGuiWorkbenchState,
|
|
4
4
|
normalizeAgentGuiWorkbenchNodeState,
|
|
5
5
|
normalizeAgentGuiWorkbenchState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HBJJY2AC.js";
|
|
7
7
|
import {
|
|
8
8
|
agentGuiWorkbenchDockIdentityFromIdentifier,
|
|
9
9
|
agentGuiWorkbenchTypeId,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
resolveAgentGUIConversationTitleDisplayPrompt,
|
|
21
21
|
resolveAgentGuiWorkbenchHeaderTitle,
|
|
22
22
|
resolveAgentGuiWorkbenchSessionTitle
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BHB457ZP.js";
|
|
24
24
|
import {
|
|
25
25
|
normalizeAgentGUIAgents,
|
|
26
26
|
projectAgentGUIAgentsToTargets
|
|
@@ -396,7 +396,7 @@ function stopPointerPropagation(event) {
|
|
|
396
396
|
|
|
397
397
|
// workbench/header.ts
|
|
398
398
|
var LazyAgentRichTextReadonly = lazy(
|
|
399
|
-
() => import("./AgentRichTextReadonly-
|
|
399
|
+
() => import("./AgentRichTextReadonly-J5GZIS7X.js").then((module) => ({
|
|
400
400
|
default: module.AgentRichTextReadonly
|
|
401
401
|
}))
|
|
402
402
|
);
|
|
@@ -1639,4 +1639,4 @@ export {
|
|
|
1639
1639
|
AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT,
|
|
1640
1640
|
createAgentGuiWorkbenchContribution
|
|
1641
1641
|
};
|
|
1642
|
-
//# sourceMappingURL=chunk-
|
|
1642
|
+
//# sourceMappingURL=chunk-OSOJX2OE.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
agentMentionFilterLabel,
|
|
6
6
|
agentMentionGroupLabel,
|
|
7
7
|
mentionGroupExpandCount
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3VKRWAKQ.js";
|
|
9
9
|
import {
|
|
10
10
|
resolveAgentMentionFileThumbnailUrl,
|
|
11
11
|
resolveAgentMentionFileVisualKind
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
userAvatarPlaceholderUrl,
|
|
15
15
|
workspaceAgentActivityStatusLabel
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-GTSKTVVB.js";
|
|
17
17
|
import {
|
|
18
18
|
managedAgentRoundedIconUrl
|
|
19
19
|
} from "./chunk-UTJKC2LY.js";
|
|
20
20
|
import {
|
|
21
21
|
translate
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-EITAGUEN.js";
|
|
23
23
|
|
|
24
24
|
// agent-gui/agentGuiNode/AgentFileMentionPalette.tsx
|
|
25
25
|
import {
|
|
@@ -517,4 +517,4 @@ export {
|
|
|
517
517
|
AgentFileMentionPalette,
|
|
518
518
|
AgentContextMentionPalette
|
|
519
519
|
};
|
|
520
|
-
//# sourceMappingURL=chunk-
|
|
520
|
+
//# sourceMappingURL=chunk-SFRFW3GC.js.map
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getOptionalAgentHostApi,
|
|
8
8
|
useOptionalAgentHostApi
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ESJWSRFD.js";
|
|
10
10
|
import {
|
|
11
11
|
managedAgentRoundedIconUrl
|
|
12
12
|
} from "./chunk-UTJKC2LY.js";
|
|
13
13
|
import {
|
|
14
14
|
translate,
|
|
15
15
|
useTranslation
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-EITAGUEN.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveAgentWorkspaceFileVisualKind
|
|
19
19
|
} from "./chunk-PJP5BUU6.js";
|
|
@@ -3730,4 +3730,4 @@ export {
|
|
|
3730
3730
|
AgentMessageMarkdown,
|
|
3731
3731
|
CustomScrollArea
|
|
3732
3732
|
};
|
|
3733
|
-
//# sourceMappingURL=chunk-
|
|
3733
|
+
//# sourceMappingURL=chunk-WNGTC3Y2.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
formatAgentMentionMarkdown,
|
|
6
6
|
mentionItemToAttrs,
|
|
7
7
|
parseAgentMentionMarkdown
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ZCBP5VTT.js";
|
|
9
9
|
import {
|
|
10
10
|
cn,
|
|
11
11
|
resolveAgentTargetPresentation,
|
|
@@ -753,4 +753,4 @@ export {
|
|
|
753
753
|
agentRichTextContentToPromptText,
|
|
754
754
|
AgentRichTextReadonly
|
|
755
755
|
};
|
|
756
|
-
//# sourceMappingURL=chunk-
|
|
756
|
+
//# sourceMappingURL=chunk-XYKQJMVT.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
translate,
|
|
13
13
|
useTranslation
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EITAGUEN.js";
|
|
15
15
|
import {
|
|
16
16
|
getAgentCustomMentionKind
|
|
17
17
|
} from "./chunk-D2JUDUYY.js";
|
|
@@ -1810,4 +1810,4 @@ export {
|
|
|
1810
1810
|
exitAgentFileMentionSuggestion,
|
|
1811
1811
|
createAgentFileMentionExtension
|
|
1812
1812
|
};
|
|
1813
|
-
//# sourceMappingURL=chunk-
|
|
1813
|
+
//# sourceMappingURL=chunk-ZCBP5VTT.js.map
|
|
@@ -3,28 +3,28 @@ import {
|
|
|
3
3
|
AgentFileMentionPalette,
|
|
4
4
|
flattenAgentMentionPaletteEntries,
|
|
5
5
|
groupStartKeys
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-SFRFW3GC.js";
|
|
7
7
|
import {
|
|
8
8
|
AgentMentionSearchController
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-3VKRWAKQ.js";
|
|
10
10
|
import "../chunk-VMPA46ET.js";
|
|
11
11
|
import "../chunk-XJ34OIEQ.js";
|
|
12
12
|
import "../chunk-JDVP33S5.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-ZCBP5VTT.js";
|
|
14
14
|
import "../chunk-5QPOMKMQ.js";
|
|
15
15
|
import {
|
|
16
16
|
AGENT_CONTEXT_MENTION_PROVIDER_IDS
|
|
17
17
|
} from "../chunk-RMQREVJY.js";
|
|
18
18
|
import "../chunk-FGLQZ6I4.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-GTSKTVVB.js";
|
|
20
20
|
import "../chunk-YMXYBG7U.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-ESJWSRFD.js";
|
|
22
22
|
import "../chunk-F5UR6EJG.js";
|
|
23
23
|
import "../chunk-UTJKC2LY.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-EITAGUEN.js";
|
|
25
25
|
import "../chunk-PJP5BUU6.js";
|
|
26
26
|
import "../chunk-7KVZPJ3O.js";
|
|
27
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-DB3PHOZC.js";
|
|
28
28
|
import "../chunk-MIJXEELH.js";
|
|
29
29
|
import "../chunk-D2JUDUYY.js";
|
|
30
30
|
import "../chunk-QMMWKQOT.js";
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -376,6 +376,65 @@ declare const agentGuiI18nResources: {
|
|
|
376
376
|
readonly mentionPalette: "Mention context";
|
|
377
377
|
readonly addReference: "Add reference";
|
|
378
378
|
readonly addContent: "Add files and more";
|
|
379
|
+
readonly quickPrompts: {
|
|
380
|
+
readonly add: "New prompt";
|
|
381
|
+
readonly conflict: "This prompt changed in another window. Refresh it and review your draft before saving again.";
|
|
382
|
+
readonly contentLabel: "Prompt";
|
|
383
|
+
readonly contentPlaceholder: "Write the reusable prompt text";
|
|
384
|
+
readonly contentTooLarge: "Prompt text must be 32 KiB or less";
|
|
385
|
+
readonly createTitle: "New quick prompt";
|
|
386
|
+
readonly createFromTemplate: "Create from a recommended template";
|
|
387
|
+
readonly delete: "Delete";
|
|
388
|
+
readonly deleteConfirm: "Delete prompt";
|
|
389
|
+
readonly deleteDescription: "Delete \"{{title}}\"? This cannot be undone.";
|
|
390
|
+
readonly deleteTitle: "Delete quick prompt?";
|
|
391
|
+
readonly deleting: "Deleting…";
|
|
392
|
+
readonly edit: "Edit";
|
|
393
|
+
readonly editTitle: "Edit quick prompt";
|
|
394
|
+
readonly empty: "No quick prompts yet";
|
|
395
|
+
readonly loadError: "Quick prompts could not be loaded";
|
|
396
|
+
readonly loading: "Loading quick prompts…";
|
|
397
|
+
readonly moreActions: "More prompt actions";
|
|
398
|
+
readonly mutationError: "The prompt could not be saved. Try again.";
|
|
399
|
+
readonly noResults: "No matching quick prompts";
|
|
400
|
+
readonly required: "Title and prompt text are required";
|
|
401
|
+
readonly retry: "Try again";
|
|
402
|
+
readonly recommendedTemplates: {
|
|
403
|
+
readonly understandContext: {
|
|
404
|
+
readonly title: "Understand the situation";
|
|
405
|
+
readonly description: "Summarize context, constraints, risks, and next steps";
|
|
406
|
+
readonly content: "First summarize the current context, confirmed facts, constraints, risks, and open questions. Separate facts from assumptions, then recommend the smallest useful next step.";
|
|
407
|
+
};
|
|
408
|
+
readonly createActionPlan: {
|
|
409
|
+
readonly title: "Create an action plan";
|
|
410
|
+
readonly description: "Break a goal into prioritized, verifiable steps";
|
|
411
|
+
readonly content: "Break this goal into prioritized, verifiable steps. Identify dependencies, risks, and acceptance criteria for each step, then recommend the best place to begin.";
|
|
412
|
+
};
|
|
413
|
+
readonly reviewAndImprove: {
|
|
414
|
+
readonly title: "Review and improve";
|
|
415
|
+
readonly description: "Find gaps, risks, and practical improvements";
|
|
416
|
+
readonly content: "Review the following work. Identify what is good, what is missing, the important risks, and practical improvements. Prioritize the recommendations by impact and effort.";
|
|
417
|
+
};
|
|
418
|
+
readonly draftClearUpdate: {
|
|
419
|
+
readonly title: "Draft a clear update";
|
|
420
|
+
readonly description: "Write a concise explanation for the intended audience";
|
|
421
|
+
readonly content: "Draft a concise update for the intended audience. State the key message first, include only the necessary context, make the requested decision or next action explicit, and use clear language.";
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
readonly recommendedTemplatesDescription: "Choose one to prefill the editor. It will not be saved or sent until you choose Save.";
|
|
425
|
+
readonly recommendedTemplatesTitle: "Recommended templates";
|
|
426
|
+
readonly returnToPrompts: "My prompts";
|
|
427
|
+
readonly save: "Save";
|
|
428
|
+
readonly saving: "Saving…";
|
|
429
|
+
readonly searchPlaceholder: "Search quick prompts";
|
|
430
|
+
readonly title: "Quick prompts";
|
|
431
|
+
readonly titleLabel: "Title";
|
|
432
|
+
readonly titlePlaceholder: "Give this prompt a short name";
|
|
433
|
+
readonly titleTooLong: "Title must be 80 characters or less";
|
|
434
|
+
readonly trigger: "Prompts";
|
|
435
|
+
readonly triggerTooltip: "Choose a quick prompt";
|
|
436
|
+
readonly useTemplate: "Use template";
|
|
437
|
+
};
|
|
379
438
|
readonly referenceWorkspaceFiles: "Reference workspace files";
|
|
380
439
|
readonly referencePicker: {
|
|
381
440
|
readonly clearFilter: "Clear filter";
|
|
@@ -762,7 +821,7 @@ declare const agentGuiI18nResources: {
|
|
|
762
821
|
readonly providerGatePendingLogin: "Opening sign in…";
|
|
763
822
|
readonly providerGatePendingRefresh: "Checking…";
|
|
764
823
|
readonly targetSetupTitle: "Set up {{provider}}";
|
|
765
|
-
readonly targetSetupDescription: "Use a compatible local runtime, or let Tutti install the pinned runtime.";
|
|
824
|
+
readonly targetSetupDescription: "Use a compatible local runtime, or let Tutti install and verify the pinned runtime.";
|
|
766
825
|
readonly targetSetupAuthRequired: "Runtime is installed and responds over ACP, but authentication is required.";
|
|
767
826
|
readonly targetSetupReady: "Runtime detected. You can check it again or sign in again.";
|
|
768
827
|
readonly targetSetupOpen: "Open setup";
|
|
@@ -2981,6 +3040,65 @@ declare const agentGuiI18nResources: {
|
|
|
2981
3040
|
readonly mentionPalette: "提及上下文";
|
|
2982
3041
|
readonly addReference: "添加引用";
|
|
2983
3042
|
readonly addContent: "添加文件等内容";
|
|
3043
|
+
readonly quickPrompts: {
|
|
3044
|
+
readonly add: "新增提示词";
|
|
3045
|
+
readonly conflict: "该提示词已在其他窗口发生变化,请刷新后检查草稿再保存";
|
|
3046
|
+
readonly contentLabel: "提示词";
|
|
3047
|
+
readonly contentPlaceholder: "输入可重复使用的提示词内容";
|
|
3048
|
+
readonly contentTooLarge: "提示词内容不能超过 32 KiB";
|
|
3049
|
+
readonly createTitle: "新增快捷提示词";
|
|
3050
|
+
readonly createFromTemplate: "从推荐模板创建";
|
|
3051
|
+
readonly delete: "删除";
|
|
3052
|
+
readonly deleteConfirm: "删除提示词";
|
|
3053
|
+
readonly deleteDescription: "确定删除「{{title}}」吗?删除后无法恢复";
|
|
3054
|
+
readonly deleteTitle: "删除快捷提示词?";
|
|
3055
|
+
readonly deleting: "正在删除…";
|
|
3056
|
+
readonly edit: "编辑";
|
|
3057
|
+
readonly editTitle: "编辑快捷提示词";
|
|
3058
|
+
readonly empty: "暂无快捷提示词";
|
|
3059
|
+
readonly loadError: "快捷提示词加载失败";
|
|
3060
|
+
readonly loading: "正在加载快捷提示词…";
|
|
3061
|
+
readonly moreActions: "更多提示词操作";
|
|
3062
|
+
readonly mutationError: "提示词保存失败,请重试";
|
|
3063
|
+
readonly noResults: "没有匹配的快捷提示词";
|
|
3064
|
+
readonly required: "标题和提示词内容不能为空";
|
|
3065
|
+
readonly retry: "重试";
|
|
3066
|
+
readonly recommendedTemplates: {
|
|
3067
|
+
readonly understandContext: {
|
|
3068
|
+
readonly title: "梳理现状";
|
|
3069
|
+
readonly description: "总结上下文、约束、风险与下一步";
|
|
3070
|
+
readonly content: "请先总结当前上下文、已确认的事实、约束、风险和待确认问题,区分事实与假设,再给出最小且有价值的下一步建议";
|
|
3071
|
+
};
|
|
3072
|
+
readonly createActionPlan: {
|
|
3073
|
+
readonly title: "制定行动计划";
|
|
3074
|
+
readonly description: "拆分优先级、依赖与验收标准";
|
|
3075
|
+
readonly content: "请把这个目标拆成按优先级排序且可验证的步骤,列出每一步的依赖、风险和验收标准,并建议从哪里开始";
|
|
3076
|
+
};
|
|
3077
|
+
readonly reviewAndImprove: {
|
|
3078
|
+
readonly title: "审阅与改进";
|
|
3079
|
+
readonly description: "找出缺口、风险和可执行的优化建议";
|
|
3080
|
+
readonly content: "请审阅以下内容,说明做得好的部分、缺失的信息、重要风险和可执行的改进建议,并按影响与投入排序";
|
|
3081
|
+
};
|
|
3082
|
+
readonly draftClearUpdate: {
|
|
3083
|
+
readonly title: "生成清晰说明";
|
|
3084
|
+
readonly description: "面向目标受众生成简洁表达";
|
|
3085
|
+
readonly content: "请为目标受众生成一段简洁说明,先表达核心信息,只补充必要上下文,明确需要对方做出的决策或下一步行动,并使用清晰直接的语言";
|
|
3086
|
+
};
|
|
3087
|
+
};
|
|
3088
|
+
readonly recommendedTemplatesDescription: "选择后会预填到编辑窗口,保存前不会创建或发送提示词";
|
|
3089
|
+
readonly recommendedTemplatesTitle: "推荐模板";
|
|
3090
|
+
readonly returnToPrompts: "我的提示词";
|
|
3091
|
+
readonly save: "保存";
|
|
3092
|
+
readonly saving: "正在保存…";
|
|
3093
|
+
readonly searchPlaceholder: "搜索快捷提示词";
|
|
3094
|
+
readonly title: "快捷提示词";
|
|
3095
|
+
readonly titleLabel: "标题";
|
|
3096
|
+
readonly titlePlaceholder: "输入简短易识别的名称";
|
|
3097
|
+
readonly titleTooLong: "标题不能超过 80 个字符";
|
|
3098
|
+
readonly trigger: "提示词";
|
|
3099
|
+
readonly triggerTooltip: "选择快捷提示词";
|
|
3100
|
+
readonly useTemplate: "使用模板";
|
|
3101
|
+
};
|
|
2984
3102
|
readonly referenceWorkspaceFiles: "引用空间文件";
|
|
2985
3103
|
readonly referencePicker: {
|
|
2986
3104
|
readonly clearFilter: "清除筛选";
|
|
@@ -3367,7 +3485,7 @@ declare const agentGuiI18nResources: {
|
|
|
3367
3485
|
readonly providerGatePendingLogin: "正在打开登录…";
|
|
3368
3486
|
readonly providerGatePendingRefresh: "正在检测…";
|
|
3369
3487
|
readonly targetSetupTitle: "设置 {{provider}}";
|
|
3370
|
-
readonly targetSetupDescription: "优先使用兼容的本地运行时,也可由 Tutti
|
|
3488
|
+
readonly targetSetupDescription: "优先使用兼容的本地运行时,也可由 Tutti 安装并验证固定版本";
|
|
3371
3489
|
readonly targetSetupAuthRequired: "运行时已安装并通过 ACP 检测,但仍需完成登录";
|
|
3372
3490
|
readonly targetSetupReady: "已检测到运行时,可重新检测或重新登录";
|
|
3373
3491
|
readonly targetSetupOpen: "打开设置";
|
package/dist/i18n/index.js
CHANGED