@tutti-os/agent-gui 0.0.153 → 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.
Files changed (53) hide show
  1. package/dist/{AgentRichTextReadonly-WVZ65VON.js → AgentRichTextReadonly-J5GZIS7X.js} +5 -5
  2. package/dist/agent-conversation/index.d.ts +1 -1
  3. package/dist/agent-conversation/index.js +7 -7
  4. package/dist/agent-gui.d.ts +49 -2
  5. package/dist/agent-gui.js +15 -15
  6. package/dist/agent-message-center/index.js +6 -6
  7. package/dist/{agentGuiNodeTypes-D3f1yiEL.d.ts → agentGuiNodeTypes-2xRyhPBD.d.ts} +39 -1
  8. package/dist/{chunk-ZVD6KIXC.js → chunk-3VKRWAKQ.js} +4 -4
  9. package/dist/{chunk-XSW565MM.js → chunk-BHB457ZP.js} +2 -2
  10. package/dist/{chunk-VI6H5PTQ.js → chunk-DB3PHOZC.js} +127 -3
  11. package/dist/chunk-DB3PHOZC.js.map +1 -0
  12. package/dist/{chunk-XZUMGJ67.js → chunk-EFEOPMIV.js} +4 -4
  13. package/dist/{chunk-YNF74LPO.js → chunk-EITAGUEN.js} +2 -2
  14. package/dist/{chunk-3IOQ3IOJ.js → chunk-ESJWSRFD.js} +3 -2
  15. package/dist/{chunk-3IOQ3IOJ.js.map → chunk-ESJWSRFD.js.map} +1 -1
  16. package/dist/{chunk-MVXJDVDT.js → chunk-FGAKY5YL.js} +1915 -821
  17. package/dist/chunk-FGAKY5YL.js.map +1 -0
  18. package/dist/{chunk-O2P5ODPK.js → chunk-GBTKLNMX.js} +6 -6
  19. package/dist/{chunk-BCIAEN7N.js → chunk-GTSKTVVB.js} +2 -2
  20. package/dist/{chunk-5HIF53K5.js → chunk-HBJJY2AC.js} +10 -7
  21. package/dist/chunk-HBJJY2AC.js.map +1 -0
  22. package/dist/{chunk-PRFWB2BT.js → chunk-OSOJX2OE.js} +4 -4
  23. package/dist/{chunk-6R2UNGNY.js → chunk-SFRFW3GC.js} +4 -4
  24. package/dist/{chunk-5D7HTLUA.js → chunk-WNGTC3Y2.js} +3 -3
  25. package/dist/{chunk-UMTEWNPP.js → chunk-XYKQJMVT.js} +2 -2
  26. package/dist/{chunk-RD4EDLVU.js → chunk-ZCBP5VTT.js} +2 -2
  27. package/dist/context-mention-palette/index.js +7 -7
  28. package/dist/i18n/index.d.ts +120 -2
  29. package/dist/i18n/index.js +2 -2
  30. package/dist/index.d.ts +830 -626
  31. package/dist/index.js +15 -15
  32. package/dist/index.js.map +1 -1
  33. package/dist/mention-search.js +5 -5
  34. package/dist/workbench/contribution.js +4 -4
  35. package/dist/workbench/index.js +4 -4
  36. package/dist/workbench/sessionTitle.js +2 -2
  37. package/dist/workbench/state.js +1 -1
  38. package/package.json +13 -13
  39. package/dist/chunk-5HIF53K5.js.map +0 -1
  40. package/dist/chunk-MVXJDVDT.js.map +0 -1
  41. package/dist/chunk-VI6H5PTQ.js.map +0 -1
  42. /package/dist/{AgentRichTextReadonly-WVZ65VON.js.map → AgentRichTextReadonly-J5GZIS7X.js.map} +0 -0
  43. /package/dist/{chunk-ZVD6KIXC.js.map → chunk-3VKRWAKQ.js.map} +0 -0
  44. /package/dist/{chunk-XSW565MM.js.map → chunk-BHB457ZP.js.map} +0 -0
  45. /package/dist/{chunk-XZUMGJ67.js.map → chunk-EFEOPMIV.js.map} +0 -0
  46. /package/dist/{chunk-YNF74LPO.js.map → chunk-EITAGUEN.js.map} +0 -0
  47. /package/dist/{chunk-O2P5ODPK.js.map → chunk-GBTKLNMX.js.map} +0 -0
  48. /package/dist/{chunk-BCIAEN7N.js.map → chunk-GTSKTVVB.js.map} +0 -0
  49. /package/dist/{chunk-PRFWB2BT.js.map → chunk-OSOJX2OE.js.map} +0 -0
  50. /package/dist/{chunk-6R2UNGNY.js.map → chunk-SFRFW3GC.js.map} +0 -0
  51. /package/dist/{chunk-5D7HTLUA.js.map → chunk-WNGTC3Y2.js.map} +0 -0
  52. /package/dist/{chunk-UMTEWNPP.js.map → chunk-XYKQJMVT.js.map} +0 -0
  53. /package/dist/{chunk-RD4EDLVU.js.map → chunk-ZCBP5VTT.js.map} +0 -0
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  localAgentGUIAgentTargetId,
9
9
  normalizeAgentGUIAgentTargets,
10
10
  resolveAgentGUIAgentTarget
11
- } from "./chunk-MVXJDVDT.js";
11
+ } from "./chunk-FGAKY5YL.js";
12
12
  import "./chunk-A4WCTHWS.js";
13
13
  import {
14
14
  AGENT_GUI_DETAIL_MIN_WIDTH_PX,
@@ -16,18 +16,18 @@ import {
16
16
  AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX,
17
17
  resolveAgentGUIExpandedWindowFrame,
18
18
  shouldAutoCollapseAgentGUIConversationRail
19
- } from "./chunk-PRFWB2BT.js";
20
- import "./chunk-5HIF53K5.js";
19
+ } from "./chunk-OSOJX2OE.js";
20
+ import "./chunk-HBJJY2AC.js";
21
21
  import "./chunk-TUWQV2MC.js";
22
22
  import "./chunk-MHOYBRCY.js";
23
23
  import "./chunk-R2ZADXRB.js";
24
- import "./chunk-XSW565MM.js";
25
- import "./chunk-O2P5ODPK.js";
26
- import "./chunk-UMTEWNPP.js";
24
+ import "./chunk-BHB457ZP.js";
25
+ import "./chunk-GBTKLNMX.js";
26
+ import "./chunk-XYKQJMVT.js";
27
27
  import "./chunk-FM42UN2J.js";
28
28
  import "./chunk-UP3ZDYTN.js";
29
29
  import "./chunk-3EMKK6BN.js";
30
- import "./chunk-6R2UNGNY.js";
30
+ import "./chunk-SFRFW3GC.js";
31
31
  import {
32
32
  agentGUIAgentIsReady,
33
33
  normalizeAgentGUIAgents,
@@ -40,14 +40,14 @@ import {
40
40
  } from "./chunk-AZQRB56U.js";
41
41
  import {
42
42
  preloadAgentMentionBrowse
43
- } from "./chunk-ZVD6KIXC.js";
43
+ } from "./chunk-3VKRWAKQ.js";
44
44
  import "./chunk-VMPA46ET.js";
45
45
  import "./chunk-XJ34OIEQ.js";
46
46
  import "./chunk-JDVP33S5.js";
47
47
  import {
48
48
  createAgentSessionHandoffPrompt,
49
49
  createAgentSessionMarkdownLink
50
- } from "./chunk-RD4EDLVU.js";
50
+ } from "./chunk-ZCBP5VTT.js";
51
51
  import "./chunk-5QPOMKMQ.js";
52
52
  import {
53
53
  AGENT_CONTEXT_MENTION_PROVIDER_IDS
@@ -59,13 +59,13 @@ import {
59
59
  import {
60
60
  dispatchAgentPlanPromptAction,
61
61
  selectAgentPlanPromptTurn
62
- } from "./chunk-XZUMGJ67.js";
62
+ } from "./chunk-EFEOPMIV.js";
63
63
  import {
64
64
  useEngineSelector
65
65
  } from "./chunk-2RQM7PJN.js";
66
- import "./chunk-5D7HTLUA.js";
66
+ import "./chunk-WNGTC3Y2.js";
67
67
  import "./chunk-ZVYUTXQJ.js";
68
- import "./chunk-BCIAEN7N.js";
68
+ import "./chunk-GTSKTVVB.js";
69
69
  import "./chunk-YMXYBG7U.js";
70
70
  import {
71
71
  AgentActivityHostProvider,
@@ -75,17 +75,17 @@ import {
75
75
  useAgentActivityRuntime,
76
76
  useAgentActivitySnapshot,
77
77
  useOptionalAgentActivityRuntime
78
- } from "./chunk-3IOQ3IOJ.js";
78
+ } from "./chunk-ESJWSRFD.js";
79
79
  import "./chunk-F5UR6EJG.js";
80
80
  import "./chunk-UTJKC2LY.js";
81
81
  import {
82
82
  AgentGuiI18nProvider,
83
83
  agentGuiI18nModule,
84
84
  agentGuiI18nResources
85
- } from "./chunk-YNF74LPO.js";
85
+ } from "./chunk-EITAGUEN.js";
86
86
  import "./chunk-PJP5BUU6.js";
87
87
  import "./chunk-7KVZPJ3O.js";
88
- import "./chunk-VI6H5PTQ.js";
88
+ import "./chunk-DB3PHOZC.js";
89
89
  import "./chunk-MIJXEELH.js";
90
90
  import {
91
91
  getAgentCustomMentionKind,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../index.ts"],"sourcesContent":["export {\n getAgentCustomMentionKind,\n registerAgentCustomMentionKind,\n resetAgentCustomMentionKindsForTests,\n type AgentCustomMentionChipContext,\n type AgentCustomMentionIdentity,\n type AgentCustomMentionKindDefinition,\n type AgentCustomMentionPresentation\n} from \"./shared/agentCustomMentionKinds\";\nexport {\n AGENT_PASTED_TEXT_BLOCK_KIND,\n AGENT_PASTED_TEXT_MENTION_KIND\n} from \"./shared/pastedTextKinds\";\nexport { AgentGUI } from \"./AgentGUI\";\nexport type {\n AgentGUIProps,\n AgentGUIReferenceProvenanceFilterCatalog\n} from \"./AgentGUI\";\nexport type { AgentGUIComposerAppendRequest } from \"./agent-gui/agentGuiNode/controller/useAgentGUIComposerAppendRequest\";\nexport {\n AgentHandoffMenu,\n type AgentHandoffMenuLabels,\n type AgentHandoffMenuProps\n} from \"./agent-gui/agentGuiNode/composer/AgentHandoffMenu\";\nexport {\n createAgentSessionHandoffPrompt,\n createAgentSessionMarkdownLink\n} from \"./agent-gui/agentGuiNode/agentRichText/agentMentionMarkdown\";\nexport type {\n CreateAgentSessionHandoffPromptInput,\n CreateAgentSessionMarkdownLinkInput\n} from \"./agent-gui/agentGuiNode/agentRichText/agentMentionMarkdown\";\nexport type { AgentComposerDraftFile } from \"./agent-gui/agentGuiNode/model/agentGuiNodeTypes\";\nexport type {\n AgentExternalPromptFilePreparationErrorCode,\n AgentExternalPromptFilePreparationResult,\n AgentExternalPromptFilePreparer,\n AgentPreparedExternalPromptFile\n} from \"./agent-gui/agentGuiNode/model/agentExternalPromptFiles\";\nexport type {\n AgentExternalPromptEntryResolution,\n AgentExternalPromptEntryResolver\n} from \"./agent-gui/agentGuiNode/model/agentExternalPromptEntries\";\nexport type { AgentGUIAccountMenuState } from \"./agent-gui/agentGuiNode/accountMenuState\";\nexport type {\n AgentGUIComposerContentType,\n AgentGUIComposerFocusMethod,\n AgentGUIEngagementContext,\n AgentGUIEngagementEvent,\n AgentGUIEngagementEventSink\n} from \"./agent-gui/agentGuiNode/engagement/agentGUIEngagement.types\";\nexport {\n agentGUIAgentIsReady,\n normalizeAgentGUIAgents,\n projectAgentGUIAgentsToTargets,\n resolveAgentGUISelectedDirectoryAgent\n} from \"./agents\";\nexport {\n agentGUIDefaultTargetProviders,\n createLocalAgentGUIAgentTarget,\n createLocalAgentGUIAgentTargets,\n createSharedAgentGUIAgentTarget,\n localAgentGUIAgentTargetId,\n normalizeAgentGUIAgentTargets,\n resolveAgentGUIAgentTarget\n} from \"./agentTargets\";\nexport type {\n AgentGUIAgent,\n AgentGUIAgentDirectoryPort,\n AgentGUIAgentDirectorySnapshot,\n AgentGUIAgentDirectoryStatus,\n AgentGUIAgentAvailability,\n AgentGUIAgentAvailabilityAction,\n AgentGUIAgentAvailabilityStatus,\n AgentGUIAgentOwner,\n AgentGUIAgentOwnership,\n AgentGUIHomeSuggestionId,\n AgentGUIAllAgentsPresentation,\n AgentGUIProvider,\n AgentGUIProviderRailAllPresentation,\n AgentGUIProviderRailMode,\n AgentGUIProviderReadinessGate,\n AgentGUIProviderReadinessGateAction,\n AgentGUIProviderReadinessGateStatus,\n AgentGUIAgentTarget,\n AgentGUIAgentTargetBadge,\n AgentGUIAgentTargetRef\n} from \"./types\";\nexport {\n AgentGuiI18nProvider,\n agentGuiI18nModule,\n agentGuiI18nResources\n} from \"./i18n/index\";\nexport type { AgentGuiI18nLocale } from \"./i18n/index\";\nexport { agentGuiDockIconUrl, agentGuiDockIconUrls } from \"./dockIcons\";\nexport {\n AGENT_GUI_DETAIL_MIN_WIDTH_PX,\n AGENT_GUI_EXPANDED_TARGET_WIDTH_PX,\n AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX,\n resolveAgentGUIExpandedWindowFrame,\n shouldAutoCollapseAgentGUIConversationRail\n} from \"./agent-gui/agentGuiNode/model/agentGuiRailLayout\";\nexport type {\n AgentGUIAgentsEmptyRenderer,\n AgentGUIProviderUnavailableStateContext,\n AgentGUIProviderUnavailableStateRenderer,\n AgentGUISidebarFooterContext,\n AgentGUISidebarFooterRenderer\n} from \"./agent-gui/agentGuiNode/AgentGUINodeView\";\nexport {\n AGENT_CONTEXT_MENTION_PROVIDER_IDS,\n type AgentContextMentionProviderId,\n type AgentContextMentionProvider\n} from \"./agent-gui/agentGuiNode/agentContextMentionProvider\";\nexport { preloadAgentMentionBrowse } from \"./agent-gui/agentGuiNode/AgentMentionSearchController\";\nexport { AgentActivityHostProvider } from \"./agentActivityHost\";\nexport type { AgentActivityHostProviderProps } from \"./agentActivityHost\";\nexport { useEngineSelector } from \"./shared/engine/useEngineSelector\";\nexport type { EngineStateStore } from \"./shared/engine/useEngineSelector\";\nexport {\n dispatchAgentPlanPromptAction,\n selectAgentPlanPromptTurn\n} from \"./shared/agentConversation/agentPlanPromptDispatch\";\nexport type { AgentPlanPromptAction } from \"./shared/agentConversation/agentPlanPromptDispatch\";\nexport {\n AgentActivityRuntimeProvider,\n resetAgentActivityRuntimeForTests,\n setAgentActivityRuntimeForTests,\n useAgentActivitySnapshot,\n useAgentActivityRuntime,\n useOptionalAgentActivityRuntime\n} from \"./agentActivityRuntime\";\nexport type {\n AgentActivityRuntime,\n AgentActivityRuntimeListSessionMessagesInput,\n AgentActivityRuntimeProviderProps,\n AgentActivityRuntimePromptContentBlock,\n AgentActivityRuntimeDeleteSessionsBatchInput,\n AgentActivityRuntimeDeleteSessionsBatchResult,\n AgentActivityRuntimeSessionSectionDeletionCandidates,\n AgentActivityRuntimeSessionSectionScopeInput,\n AgentActivityRuntimeSetSessionPinnedInput,\n AgentActivityRuntimeUploadPromptContentInput,\n AgentActivityRuntimeUploadPromptContentResult,\n AgentActivityRuntimeUpdateSessionSettingsInput,\n AgentActivityRuntimeUpdateSessionSettingsResult\n} from \"./agentActivityRuntime\";\nexport type {\n AgentHostApi,\n AgentHostAgentTargetAuthenticatedAccount,\n AgentHostAgentTargetSetupSnapshot,\n AgentHostAgentTargetSetupState,\n AgentHostAgentTargetSetupWatch,\n AgentHostApplyWorkspaceGitPatchInput,\n AgentHostInputApi,\n AgentHostSelectFilesInput,\n AgentHostRuntimeApi,\n AgentHostUserProject,\n AgentProviderProbeListInput,\n AgentProviderProbeListResult\n} from \"./host/agentHostApi\";\nexport type {\n AgentProbeProvider,\n AgentProbeSnapshot,\n PersistWriteResult,\n ReadWorkspaceAgentReadStateInput,\n AgentUsageQuota,\n AgentUsageSnapshot,\n WorkspaceAgentReadStateSnapshot,\n WriteWorkspaceAgentReadStateInput\n} from \"./shared/contracts/dto\";\nexport {\n selectNeedsAttentionCount,\n selectNeedsAttentionItems\n} from \"@tutti-os/agent-activity-core\";\nexport type {\n AgentActivityAdapter,\n AgentActivityMessage,\n AgentActivityNeedsAttentionItem,\n AgentActivitySnapshot\n} from \"@tutti-os/agent-activity-core\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2KA;AAAA,EACE;AAAA,EACA;AAAA,OACK;","names":[]}
1
+ {"version":3,"sources":["../index.ts"],"sourcesContent":["export {\n getAgentCustomMentionKind,\n registerAgentCustomMentionKind,\n resetAgentCustomMentionKindsForTests,\n type AgentCustomMentionChipContext,\n type AgentCustomMentionIdentity,\n type AgentCustomMentionKindDefinition,\n type AgentCustomMentionPresentation\n} from \"./shared/agentCustomMentionKinds\";\nexport {\n AGENT_PASTED_TEXT_BLOCK_KIND,\n AGENT_PASTED_TEXT_MENTION_KIND\n} from \"./shared/pastedTextKinds\";\nexport { AgentGUI } from \"./AgentGUI\";\nexport type {\n AgentGUIProps,\n AgentGUIReferenceProvenanceFilterCatalog\n} from \"./AgentGUI\";\nexport type { AgentGUIComposerAppendRequest } from \"./agent-gui/agentGuiNode/controller/useAgentGUIComposerAppendRequest\";\nexport {\n AgentHandoffMenu,\n type AgentHandoffMenuLabels,\n type AgentHandoffMenuProps\n} from \"./agent-gui/agentGuiNode/composer/AgentHandoffMenu\";\nexport {\n createAgentSessionHandoffPrompt,\n createAgentSessionMarkdownLink\n} from \"./agent-gui/agentGuiNode/agentRichText/agentMentionMarkdown\";\nexport type {\n CreateAgentSessionHandoffPromptInput,\n CreateAgentSessionMarkdownLinkInput\n} from \"./agent-gui/agentGuiNode/agentRichText/agentMentionMarkdown\";\nexport type { AgentComposerDraftFile } from \"./agent-gui/agentGuiNode/model/agentGuiNodeTypes\";\nexport type {\n AgentExternalPromptFilePreparationErrorCode,\n AgentExternalPromptFilePreparationResult,\n AgentExternalPromptFilePreparer,\n AgentPreparedExternalPromptFile\n} from \"./agent-gui/agentGuiNode/model/agentExternalPromptFiles\";\nexport type {\n AgentExternalPromptEntryResolution,\n AgentExternalPromptEntryResolver\n} from \"./agent-gui/agentGuiNode/model/agentExternalPromptEntries\";\nexport type { AgentGUIAccountMenuState } from \"./agent-gui/agentGuiNode/accountMenuState\";\nexport type {\n AgentGUIComposerContentType,\n AgentGUIComposerFocusMethod,\n AgentGUIEngagementContext,\n AgentGUIEngagementEvent,\n AgentGUIEngagementEventSink\n} from \"./agent-gui/agentGuiNode/engagement/agentGUIEngagement.types\";\nexport {\n agentGUIAgentIsReady,\n normalizeAgentGUIAgents,\n projectAgentGUIAgentsToTargets,\n resolveAgentGUISelectedDirectoryAgent\n} from \"./agents\";\nexport {\n agentGUIDefaultTargetProviders,\n createLocalAgentGUIAgentTarget,\n createLocalAgentGUIAgentTargets,\n createSharedAgentGUIAgentTarget,\n localAgentGUIAgentTargetId,\n normalizeAgentGUIAgentTargets,\n resolveAgentGUIAgentTarget\n} from \"./agentTargets\";\nexport type {\n AgentGUIAgent,\n AgentGUIAgentDirectoryPort,\n AgentGUIAgentDirectorySnapshot,\n AgentGUIAgentDirectoryStatus,\n AgentGUIAgentAvailability,\n AgentGUIAgentAvailabilityAction,\n AgentGUIAgentAvailabilityStatus,\n AgentGUIAgentOwner,\n AgentGUIAgentOwnership,\n AgentGUIHomeSuggestionId,\n AgentGUIAllAgentsPresentation,\n AgentGUIProvider,\n AgentGUIProviderRailAllPresentation,\n AgentGUIProviderRailMode,\n AgentGUIProviderReadinessGate,\n AgentGUIProviderReadinessGateAction,\n AgentGUIProviderReadinessGateStatus,\n AgentGUIAgentTarget,\n AgentGUIAgentTargetBadge,\n AgentGUIAgentTargetRef\n} from \"./types\";\nexport {\n AgentGuiI18nProvider,\n agentGuiI18nModule,\n agentGuiI18nResources\n} from \"./i18n/index\";\nexport type { AgentGuiI18nLocale } from \"./i18n/index\";\nexport { agentGuiDockIconUrl, agentGuiDockIconUrls } from \"./dockIcons\";\nexport {\n AGENT_GUI_DETAIL_MIN_WIDTH_PX,\n AGENT_GUI_EXPANDED_TARGET_WIDTH_PX,\n AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX,\n resolveAgentGUIExpandedWindowFrame,\n shouldAutoCollapseAgentGUIConversationRail\n} from \"./agent-gui/agentGuiNode/model/agentGuiRailLayout\";\nexport type {\n AgentGUIAgentsEmptyRenderer,\n AgentGUIProviderUnavailableStateContext,\n AgentGUIProviderUnavailableStateRenderer,\n AgentGUISidebarFooterContext,\n AgentGUISidebarFooterRenderer\n} from \"./agent-gui/agentGuiNode/AgentGUINodeView\";\nexport {\n AGENT_CONTEXT_MENTION_PROVIDER_IDS,\n type AgentContextMentionProviderId,\n type AgentContextMentionProvider\n} from \"./agent-gui/agentGuiNode/agentContextMentionProvider\";\nexport { preloadAgentMentionBrowse } from \"./agent-gui/agentGuiNode/AgentMentionSearchController\";\nexport { AgentActivityHostProvider } from \"./agentActivityHost\";\nexport type { AgentActivityHostProviderProps } from \"./agentActivityHost\";\nexport { useEngineSelector } from \"./shared/engine/useEngineSelector\";\nexport type { EngineStateStore } from \"./shared/engine/useEngineSelector\";\nexport {\n dispatchAgentPlanPromptAction,\n selectAgentPlanPromptTurn\n} from \"./shared/agentConversation/agentPlanPromptDispatch\";\nexport type { AgentPlanPromptAction } from \"./shared/agentConversation/agentPlanPromptDispatch\";\nexport {\n AgentActivityRuntimeProvider,\n resetAgentActivityRuntimeForTests,\n setAgentActivityRuntimeForTests,\n useAgentActivitySnapshot,\n useAgentActivityRuntime,\n useOptionalAgentActivityRuntime\n} from \"./agentActivityRuntime\";\nexport type {\n AgentActivityRuntime,\n AgentActivityRuntimeListSessionMessagesInput,\n AgentActivityRuntimeProviderProps,\n AgentActivityRuntimePromptContentBlock,\n AgentActivityRuntimeDeleteSessionsBatchInput,\n AgentActivityRuntimeDeleteSessionsBatchResult,\n AgentActivityRuntimeSessionSectionDeletionCandidates,\n AgentActivityRuntimeSessionSectionScopeInput,\n AgentActivityRuntimeSetSessionPinnedInput,\n AgentActivityRuntimeUploadPromptContentInput,\n AgentActivityRuntimeUploadPromptContentResult,\n AgentActivityRuntimeUpdateSessionSettingsInput,\n AgentActivityRuntimeUpdateSessionSettingsResult\n} from \"./agentActivityRuntime\";\nexport type {\n AgentHostApi,\n AgentHostAgentTargetAuthenticatedAccount,\n AgentHostAgentTargetSetupSnapshot,\n AgentHostAgentTargetSetupState,\n AgentHostAgentTargetSetupWatch,\n AgentHostApplyWorkspaceGitPatchInput,\n AgentHostInputApi,\n AgentHostQuickPrompt,\n AgentHostQuickPromptSnapshot,\n AgentHostQuickPromptsApi,\n AgentHostSelectFilesInput,\n AgentHostRuntimeApi,\n AgentHostUserProject,\n AgentProviderProbeListInput,\n AgentProviderProbeListResult\n} from \"./host/agentHostApi\";\nexport type {\n AgentProbeProvider,\n AgentProbeSnapshot,\n PersistWriteResult,\n ReadWorkspaceAgentReadStateInput,\n AgentUsageQuota,\n AgentUsageSnapshot,\n WorkspaceAgentReadStateSnapshot,\n WriteWorkspaceAgentReadStateInput\n} from \"./shared/contracts/dto\";\nexport {\n selectNeedsAttentionCount,\n selectNeedsAttentionItems\n} from \"@tutti-os/agent-activity-core\";\nexport type {\n AgentActivityAdapter,\n AgentActivityMessage,\n AgentActivityNeedsAttentionItem,\n AgentActivitySnapshot\n} from \"@tutti-os/agent-activity-core\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8KA;AAAA,EACE;AAAA,EACA;AAAA,OACK;","names":[]}
@@ -3,22 +3,22 @@ import {
3
3
  MAX_BROWSE_CACHE_ENTRIES,
4
4
  preloadAgentMentionBrowse,
5
5
  resetAgentMentionSearchBrowseCacheForTests
6
- } from "./chunk-ZVD6KIXC.js";
6
+ } from "./chunk-3VKRWAKQ.js";
7
7
  import "./chunk-VMPA46ET.js";
8
8
  import "./chunk-XJ34OIEQ.js";
9
9
  import "./chunk-JDVP33S5.js";
10
- import "./chunk-RD4EDLVU.js";
10
+ import "./chunk-ZCBP5VTT.js";
11
11
  import "./chunk-5QPOMKMQ.js";
12
12
  import "./chunk-RMQREVJY.js";
13
13
  import "./chunk-FGLQZ6I4.js";
14
14
  import "./chunk-YMXYBG7U.js";
15
- import "./chunk-3IOQ3IOJ.js";
15
+ import "./chunk-ESJWSRFD.js";
16
16
  import "./chunk-F5UR6EJG.js";
17
17
  import "./chunk-UTJKC2LY.js";
18
- import "./chunk-YNF74LPO.js";
18
+ import "./chunk-EITAGUEN.js";
19
19
  import "./chunk-PJP5BUU6.js";
20
20
  import "./chunk-7KVZPJ3O.js";
21
- import "./chunk-VI6H5PTQ.js";
21
+ import "./chunk-DB3PHOZC.js";
22
22
  import "./chunk-MIJXEELH.js";
23
23
  import "./chunk-D2JUDUYY.js";
24
24
  import "./chunk-QMMWKQOT.js";
@@ -17,17 +17,17 @@ import {
17
17
  resolveAgentGuiUnifiedDockLaunchPayload,
18
18
  resolveAgentGuiWorkbenchContributionCopy,
19
19
  resolveAgentGuiWorkbenchDefaultLaunchFrame
20
- } from "../chunk-PRFWB2BT.js";
21
- import "../chunk-5HIF53K5.js";
20
+ } from "../chunk-OSOJX2OE.js";
21
+ import "../chunk-HBJJY2AC.js";
22
22
  import "../chunk-TUWQV2MC.js";
23
23
  import "../chunk-MHOYBRCY.js";
24
24
  import "../chunk-R2ZADXRB.js";
25
- import "../chunk-XSW565MM.js";
25
+ import "../chunk-BHB457ZP.js";
26
26
  import "../chunk-66JZ7BQM.js";
27
27
  import "../chunk-AZQRB56U.js";
28
28
  import "../chunk-2RQM7PJN.js";
29
29
  import "../chunk-7KVZPJ3O.js";
30
- import "../chunk-VI6H5PTQ.js";
30
+ import "../chunk-DB3PHOZC.js";
31
31
  import "../chunk-MIJXEELH.js";
32
32
  import "../chunk-QMMWKQOT.js";
33
33
  import "../chunk-6CUELYIF.js";
@@ -13,7 +13,7 @@ import {
13
13
  resolveAgentGuiUnifiedDockLaunchPayload,
14
14
  resolveAgentGuiWorkbenchContributionCopy,
15
15
  resolveAgentGuiWorkbenchConversationIdentity
16
- } from "../chunk-PRFWB2BT.js";
16
+ } from "../chunk-OSOJX2OE.js";
17
17
  import {
18
18
  areAgentGuiWorkbenchNodeStatesEqual,
19
19
  areAgentGuiWorkbenchStatesEqual,
@@ -22,7 +22,7 @@ import {
22
22
  normalizeAgentGuiWorkbenchNodeState,
23
23
  normalizeAgentGuiWorkbenchState,
24
24
  projectAgentGuiWorkbenchState
25
- } from "../chunk-5HIF53K5.js";
25
+ } from "../chunk-HBJJY2AC.js";
26
26
  import {
27
27
  agentGuiWorkbenchDockEntryId,
28
28
  agentGuiWorkbenchDockIdentityFromIdentifier,
@@ -55,12 +55,12 @@ import {
55
55
  import {
56
56
  resolveAgentGuiWorkbenchHeaderTitle,
57
57
  resolveAgentGuiWorkbenchSessionTitle
58
- } from "../chunk-XSW565MM.js";
58
+ } from "../chunk-BHB457ZP.js";
59
59
  import "../chunk-66JZ7BQM.js";
60
60
  import "../chunk-AZQRB56U.js";
61
61
  import "../chunk-2RQM7PJN.js";
62
62
  import "../chunk-7KVZPJ3O.js";
63
- import "../chunk-VI6H5PTQ.js";
63
+ import "../chunk-DB3PHOZC.js";
64
64
  import "../chunk-MIJXEELH.js";
65
65
  import "../chunk-QMMWKQOT.js";
66
66
  import "../chunk-6CUELYIF.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  resolveAgentGuiWorkbenchHeaderTitle,
3
3
  resolveAgentGuiWorkbenchSessionTitle
4
- } from "../chunk-XSW565MM.js";
5
- import "../chunk-VI6H5PTQ.js";
4
+ } from "../chunk-BHB457ZP.js";
5
+ import "../chunk-DB3PHOZC.js";
6
6
  import "../chunk-MIJXEELH.js";
7
7
  import "../chunk-6CUELYIF.js";
8
8
  export {
@@ -7,7 +7,7 @@ import {
7
7
  normalizeAgentGuiWorkbenchNodeState,
8
8
  normalizeAgentGuiWorkbenchState,
9
9
  projectAgentGuiWorkbenchState
10
- } from "../chunk-5HIF53K5.js";
10
+ } from "../chunk-HBJJY2AC.js";
11
11
  import "../chunk-R2ZADXRB.js";
12
12
  import "../chunk-6CUELYIF.js";
13
13
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutti-os/agent-gui",
3
- "version": "0.0.153",
3
+ "version": "0.0.154",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -144,18 +144,18 @@
144
144
  "@tiptap/react": "^3.11.1",
145
145
  "@tiptap/starter-kit": "^3.11.1",
146
146
  "@tiptap/suggestion": "^3.11.1",
147
- "@tutti-os/agent-activity-core": "0.0.153",
148
- "@tutti-os/browser-node": "0.0.153",
149
- "@tutti-os/ui-i18n-runtime": "0.0.153",
150
- "@tutti-os/ui-react-hooks": "0.0.153",
151
- "@tutti-os/ui-rich-text": "0.0.153",
152
- "@tutti-os/ui-system": "0.0.153",
153
- "@tutti-os/workbench-surface": "0.0.153",
154
- "@tutti-os/workspace-external-core": "0.0.153",
155
- "@tutti-os/workspace-file-manager": "0.0.153",
156
- "@tutti-os/workspace-file-reference": "0.0.153",
157
- "@tutti-os/workspace-issue-manager": "0.0.153",
158
- "@tutti-os/workspace-user-project": "0.0.153",
147
+ "@tutti-os/agent-activity-core": "0.0.154",
148
+ "@tutti-os/browser-node": "0.0.154",
149
+ "@tutti-os/ui-i18n-runtime": "0.0.154",
150
+ "@tutti-os/ui-react-hooks": "0.0.154",
151
+ "@tutti-os/ui-rich-text": "0.0.154",
152
+ "@tutti-os/ui-system": "0.0.154",
153
+ "@tutti-os/workbench-surface": "0.0.154",
154
+ "@tutti-os/workspace-external-core": "0.0.154",
155
+ "@tutti-os/workspace-file-manager": "0.0.154",
156
+ "@tutti-os/workspace-file-reference": "0.0.154",
157
+ "@tutti-os/workspace-issue-manager": "0.0.154",
158
+ "@tutti-os/workspace-user-project": "0.0.154",
159
159
  "clsx": "^2.1.1",
160
160
  "framer-motion": "^12.40.0",
161
161
  "lodash": "^4.17.21",
@@ -1 +0,0 @@
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\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 ? { ...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 {\n workspaceId: input.workspaceId\n };\n },\n subscribe(listener) {\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 nodeStateByKey.set(key, next);\n if (\n !clearedInstanceSeed &&\n previous &&\n areAgentGuiWorkbenchMemoryStatesEqual(previous, next)\n ) {\n return;\n }\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":[]}