@tutti-os/agent-gui 0.0.166 → 0.0.168

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 (61) hide show
  1. package/README.md +5 -2
  2. package/dist/{AgentRichTextReadonly-PLUYTH5Y.js → AgentRichTextReadonly-WOIEQ673.js} +5 -5
  3. package/dist/agent-conversation/index.d.ts +2 -2
  4. package/dist/agent-conversation/index.js +7 -7
  5. package/dist/agent-gui.d.ts +3 -2
  6. package/dist/agent-gui.js +15 -15
  7. package/dist/agent-message-center/index.js +6 -6
  8. package/dist/{agentGuiNodeTypes-BXaOdqzS.d.ts → agentGuiNodeTypes-CXL3ISqC.d.ts} +1 -1
  9. package/dist/agents.d.ts +1 -1
  10. package/dist/agents.js +1 -1
  11. package/dist/{chunk-W3EI5EWM.js → chunk-42KTGN4W.js} +2 -2
  12. package/dist/{chunk-GJBSQWIA.js → chunk-42W6JENH.js} +52 -72
  13. package/dist/chunk-42W6JENH.js.map +1 -0
  14. package/dist/{chunk-T7DN6RYO.js → chunk-5EHKHIFG.js} +3 -3
  15. package/dist/{chunk-7W4WEFAY.js → chunk-7M6STXDS.js} +111 -88
  16. package/dist/chunk-7M6STXDS.js.map +1 -0
  17. package/dist/{chunk-HIPSKKXB.js → chunk-BHLX4ZFU.js} +2 -2
  18. package/dist/{chunk-YB5DZYLI.js → chunk-C7RY5XMJ.js} +61 -16
  19. package/dist/chunk-C7RY5XMJ.js.map +1 -0
  20. package/dist/{chunk-66JZ7BQM.js → chunk-CX6XXG6R.js} +4 -1
  21. package/dist/chunk-CX6XXG6R.js.map +1 -0
  22. package/dist/{chunk-TK3MIDHE.js → chunk-ES5LNRP4.js} +95 -115
  23. package/dist/chunk-ES5LNRP4.js.map +1 -0
  24. package/dist/{chunk-W4UPFP2N.js → chunk-EZ6E3LVP.js} +2 -2
  25. package/dist/{chunk-A6UMKVKW.js → chunk-GMALB4L6.js} +4 -4
  26. package/dist/{chunk-OXCWE3B5.js → chunk-J4RQ2RTM.js} +3 -1
  27. package/dist/chunk-J4RQ2RTM.js.map +1 -0
  28. package/dist/{chunk-MJNX2SC6.js → chunk-JQUFRZ2P.js} +4 -4
  29. package/dist/{chunk-FVACDLAJ.js → chunk-KDRU3NBW.js} +4 -4
  30. package/dist/{chunk-ZEYVTTUK.js → chunk-OUOVA353.js} +4 -4
  31. package/dist/{chunk-KUTB4EGX.js → chunk-QEOAZW53.js} +2 -2
  32. package/dist/context-mention-palette/index.js +7 -7
  33. package/dist/{contribution--lqIXGqn.d.ts → contribution-DfA5SxBL.d.ts} +2 -0
  34. package/dist/i18n/index.d.ts +2 -0
  35. package/dist/i18n/index.js +2 -2
  36. package/dist/index.d.ts +8 -0
  37. package/dist/index.js +15 -15
  38. package/dist/mention-search.js +5 -5
  39. package/dist/{types-DVmB_kyD.d.ts → types-CWFDZVkv.d.ts} +3 -0
  40. package/dist/workbench/contribution.d.ts +1 -1
  41. package/dist/workbench/contribution.js +4 -4
  42. package/dist/workbench/index.d.ts +2 -2
  43. package/dist/workbench/index.js +4 -4
  44. package/dist/workbench/sessionTitle.js +2 -2
  45. package/package.json +17 -15
  46. package/dist/chunk-66JZ7BQM.js.map +0 -1
  47. package/dist/chunk-7W4WEFAY.js.map +0 -1
  48. package/dist/chunk-GJBSQWIA.js.map +0 -1
  49. package/dist/chunk-OXCWE3B5.js.map +0 -1
  50. package/dist/chunk-TK3MIDHE.js.map +0 -1
  51. package/dist/chunk-YB5DZYLI.js.map +0 -1
  52. /package/dist/{AgentRichTextReadonly-PLUYTH5Y.js.map → AgentRichTextReadonly-WOIEQ673.js.map} +0 -0
  53. /package/dist/{chunk-W3EI5EWM.js.map → chunk-42KTGN4W.js.map} +0 -0
  54. /package/dist/{chunk-T7DN6RYO.js.map → chunk-5EHKHIFG.js.map} +0 -0
  55. /package/dist/{chunk-HIPSKKXB.js.map → chunk-BHLX4ZFU.js.map} +0 -0
  56. /package/dist/{chunk-W4UPFP2N.js.map → chunk-EZ6E3LVP.js.map} +0 -0
  57. /package/dist/{chunk-A6UMKVKW.js.map → chunk-GMALB4L6.js.map} +0 -0
  58. /package/dist/{chunk-MJNX2SC6.js.map → chunk-JQUFRZ2P.js.map} +0 -0
  59. /package/dist/{chunk-FVACDLAJ.js.map → chunk-KDRU3NBW.js.map} +0 -0
  60. /package/dist/{chunk-ZEYVTTUK.js.map → chunk-OUOVA353.js.map} +0 -0
  61. /package/dist/{chunk-KUTB4EGX.js.map → chunk-QEOAZW53.js.map} +0 -0
@@ -20,11 +20,11 @@ import {
20
20
  resolveAgentGUIConversationTitleDisplayPrompt,
21
21
  resolveAgentGuiWorkbenchHeaderTitle,
22
22
  resolveAgentGuiWorkbenchSessionTitle
23
- } from "./chunk-W3EI5EWM.js";
23
+ } from "./chunk-42KTGN4W.js";
24
24
  import {
25
25
  normalizeAgentGUIAgents,
26
26
  projectAgentGUIAgentsToTargets
27
- } from "./chunk-66JZ7BQM.js";
27
+ } from "./chunk-CX6XXG6R.js";
28
28
  import {
29
29
  agentGuiDockIconUrls
30
30
  } from "./chunk-PQPNDL4A.js";
@@ -400,7 +400,7 @@ function stopPointerPropagation(event) {
400
400
 
401
401
  // workbench/header.ts
402
402
  var LazyAgentRichTextReadonly = lazy(
403
- () => import("./AgentRichTextReadonly-PLUYTH5Y.js").then((module) => ({
403
+ () => import("./AgentRichTextReadonly-WOIEQ673.js").then((module) => ({
404
404
  default: module.AgentRichTextReadonly
405
405
  }))
406
406
  );
@@ -1645,4 +1645,4 @@ export {
1645
1645
  AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT,
1646
1646
  createAgentGuiWorkbenchContribution
1647
1647
  };
1648
- //# sourceMappingURL=chunk-MJNX2SC6.js.map
1648
+ //# sourceMappingURL=chunk-JQUFRZ2P.js.map
@@ -5,7 +5,7 @@ import {
5
5
  agentMentionFilterLabel,
6
6
  agentMentionGroupLabel,
7
7
  mentionGroupExpandCount
8
- } from "./chunk-A6UMKVKW.js";
8
+ } from "./chunk-GMALB4L6.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-HIPSKKXB.js";
16
+ } from "./chunk-BHLX4ZFU.js";
17
17
  import {
18
18
  managedAgentRoundedIconUrl
19
19
  } from "./chunk-ZWLWT3TZ.js";
20
20
  import {
21
21
  translate
22
- } from "./chunk-W4UPFP2N.js";
22
+ } from "./chunk-EZ6E3LVP.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-FVACDLAJ.js.map
520
+ //# sourceMappingURL=chunk-KDRU3NBW.js.map
@@ -2,17 +2,17 @@ import {
2
2
  AgentGUIConversation_styles_default,
3
3
  MessageSquareMoreIcon,
4
4
  extractAgentMcpToolTarget
5
- } from "./chunk-T7DN6RYO.js";
5
+ } from "./chunk-5EHKHIFG.js";
6
6
  import {
7
7
  getOptionalAgentHostApi,
8
8
  useOptionalAgentHostApi
9
- } from "./chunk-KUTB4EGX.js";
9
+ } from "./chunk-QEOAZW53.js";
10
10
  import {
11
11
  fileChangePathsFromChanges
12
12
  } from "./chunk-F5UR6EJG.js";
13
13
  import {
14
14
  translate
15
- } from "./chunk-W4UPFP2N.js";
15
+ } from "./chunk-EZ6E3LVP.js";
16
16
 
17
17
  // shared/agentConversation/planImplementationPresentation.ts
18
18
  var PLAN_IMPLEMENTATION_PROMPT = "Implement the plan.";
@@ -1471,4 +1471,4 @@ export {
1471
1471
  isPromptRequestIdTitle,
1472
1472
  AgentInteractivePromptSurface
1473
1473
  };
1474
- //# sourceMappingURL=chunk-ZEYVTTUK.js.map
1474
+ //# sourceMappingURL=chunk-OUOVA353.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  translate
3
- } from "./chunk-W4UPFP2N.js";
3
+ } from "./chunk-EZ6E3LVP.js";
4
4
  import {
5
5
  agentGUIProviderIdentityDisplayName,
6
6
  resolveMigratedAgentGUIProviderIdentity
@@ -213,4 +213,4 @@ export {
213
213
  getOptionalAgentHostApi,
214
214
  workspaceAgentProviderLabel
215
215
  };
216
- //# sourceMappingURL=chunk-KUTB4EGX.js.map
216
+ //# sourceMappingURL=chunk-QEOAZW53.js.map
@@ -3,28 +3,28 @@ import {
3
3
  AgentFileMentionPalette,
4
4
  flattenAgentMentionPaletteEntries,
5
5
  groupStartKeys
6
- } from "../chunk-FVACDLAJ.js";
6
+ } from "../chunk-KDRU3NBW.js";
7
7
  import {
8
8
  AgentMentionSearchController
9
- } from "../chunk-A6UMKVKW.js";
9
+ } from "../chunk-GMALB4L6.js";
10
10
  import "../chunk-VMPA46ET.js";
11
11
  import "../chunk-XJ34OIEQ.js";
12
12
  import "../chunk-JDVP33S5.js";
13
- import "../chunk-7W4WEFAY.js";
13
+ import "../chunk-7M6STXDS.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-HIPSKKXB.js";
19
+ import "../chunk-BHLX4ZFU.js";
20
20
  import "../chunk-YMXYBG7U.js";
21
- import "../chunk-KUTB4EGX.js";
21
+ import "../chunk-QEOAZW53.js";
22
22
  import "../chunk-F5UR6EJG.js";
23
23
  import "../chunk-ZWLWT3TZ.js";
24
- import "../chunk-W4UPFP2N.js";
24
+ import "../chunk-EZ6E3LVP.js";
25
25
  import "../chunk-PJP5BUU6.js";
26
26
  import "../chunk-AODSTIED.js";
27
- import "../chunk-OXCWE3B5.js";
27
+ import "../chunk-J4RQ2RTM.js";
28
28
  import "../chunk-MIJXEELH.js";
29
29
  import "../chunk-D2JUDUYY.js";
30
30
  import "../chunk-LCFMJPNA.js";
@@ -38,6 +38,8 @@ interface AgentGUIAgent {
38
38
  maskIconUrl?: string | null;
39
39
  heroImageUrl?: string | null;
40
40
  description?: string | null;
41
+ /** Host-resolved display name of the device that owns this Agent target. */
42
+ ownerDeviceLabel?: string | null;
41
43
  owner?: AgentGUIAgentOwner | null;
42
44
  ownership?: AgentGUIAgentOwnership | null;
43
45
  availability: AgentGUIAgentAvailability;
@@ -695,6 +695,7 @@ declare const agentGuiI18nResources: {
695
695
  readonly handoffConversation: "Handoff";
696
696
  readonly handoffConversationTooltip: "Hand off to another agent";
697
697
  readonly handoffConversationMenu: "Choose an agent for handoff";
698
+ readonly handoffTargetDeviceSource: "From {{device}}";
698
699
  readonly handoffTargetSelf: "My Agent";
699
700
  readonly handoffTargetShared: "Shared Agent";
700
701
  readonly startConversation: "Start session";
@@ -3380,6 +3381,7 @@ declare const agentGuiI18nResources: {
3380
3381
  readonly handoffConversation: "Handoff";
3381
3382
  readonly handoffConversationTooltip: "交接给其他 Agent";
3382
3383
  readonly handoffConversationMenu: "选择要交接的 Agent";
3384
+ readonly handoffTargetDeviceSource: "来自 {{device}}";
3383
3385
  readonly handoffTargetSelf: "我的 Agent";
3384
3386
  readonly handoffTargetShared: "共享 Agent";
3385
3387
  readonly startConversation: "开始会话";
@@ -6,8 +6,8 @@ import {
6
6
  translate,
7
7
  translateInUiLanguage,
8
8
  useTranslation
9
- } from "../chunk-W4UPFP2N.js";
10
- import "../chunk-OXCWE3B5.js";
9
+ } from "../chunk-EZ6E3LVP.js";
10
+ import "../chunk-J4RQ2RTM.js";
11
11
  export {
12
12
  AgentGuiI18nProvider,
13
13
  agentGuiI18nModule,
package/dist/index.d.ts CHANGED
@@ -1074,6 +1074,8 @@ interface AgentGUIAgent {
1074
1074
  maskIconUrl?: string | null;
1075
1075
  heroImageUrl?: string | null;
1076
1076
  description?: string | null;
1077
+ /** Host-resolved display name of the device that owns this Agent target. */
1078
+ ownerDeviceLabel?: string | null;
1077
1079
  owner?: AgentGUIAgentOwner | null;
1078
1080
  ownership?: AgentGUIAgentOwnership | null;
1079
1081
  availability: AgentGUIAgentAvailability;
@@ -1115,6 +1117,7 @@ interface AgentGUIAgentTarget {
1115
1117
  heroImageUrl?: string | null;
1116
1118
  badge?: AgentGUIAgentTargetBadge | null;
1117
1119
  ownerLabel?: string;
1120
+ ownerDeviceLabel?: string;
1118
1121
  ownership?: AgentGUIAgentOwnership;
1119
1122
  availability?: AgentGUIAgentAvailability;
1120
1123
  disabled?: boolean;
@@ -2978,6 +2981,7 @@ declare const agentGuiI18nResources: {
2978
2981
  readonly handoffConversation: "Handoff";
2979
2982
  readonly handoffConversationTooltip: "Hand off to another agent";
2980
2983
  readonly handoffConversationMenu: "Choose an agent for handoff";
2984
+ readonly handoffTargetDeviceSource: "From {{device}}";
2981
2985
  readonly handoffTargetSelf: "My Agent";
2982
2986
  readonly handoffTargetShared: "Shared Agent";
2983
2987
  readonly startConversation: "Start session";
@@ -5663,6 +5667,7 @@ declare const agentGuiI18nResources: {
5663
5667
  readonly handoffConversation: "Handoff";
5664
5668
  readonly handoffConversationTooltip: "交接给其他 Agent";
5665
5669
  readonly handoffConversationMenu: "选择要交接的 Agent";
5670
+ readonly handoffTargetDeviceSource: "来自 {{device}}";
5666
5671
  readonly handoffTargetSelf: "我的 Agent";
5667
5672
  readonly handoffTargetShared: "共享 Agent";
5668
5673
  readonly startConversation: "开始会话";
@@ -7937,6 +7942,7 @@ interface AgentComposerProps {
7937
7942
  handoffConversation: string;
7938
7943
  handoffConversationTooltip: string;
7939
7944
  handoffConversationMenu: string;
7945
+ handoffTargetDeviceSource: (deviceLabel: string) => string;
7940
7946
  handoffTargetSelf: string;
7941
7947
  handoffTargetShared: string;
7942
7948
  providerSwitchLabel: string;
@@ -8308,6 +8314,7 @@ declare const AgentGUI: react.NamedExoticComponent<AgentGUIProps>;
8308
8314
 
8309
8315
  interface AgentHandoffMenuLabels {
8310
8316
  action: string;
8317
+ deviceSource?: (deviceLabel: string) => string;
8311
8318
  menu: string;
8312
8319
  self: string;
8313
8320
  shared: string;
@@ -8352,6 +8359,7 @@ declare function createSharedAgentGUIAgentTarget(input: {
8352
8359
  agentTargetId?: string | null;
8353
8360
  badge?: AgentGUIAgentTargetBadge | null;
8354
8361
  ownerLabel?: string | null;
8362
+ ownerDeviceLabel?: string | null;
8355
8363
  iconUrl?: string | null;
8356
8364
  maskIconUrl?: string | null;
8357
8365
  unavailableReason?: string | null;
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  localAgentGUIAgentTargetId,
9
9
  normalizeAgentGUIAgentTargets,
10
10
  resolveAgentGUIAgentTarget
11
- } from "./chunk-TK3MIDHE.js";
11
+ } from "./chunk-ES5LNRP4.js";
12
12
  import "./chunk-A4WCTHWS.js";
13
13
  import {
14
14
  AGENT_GUI_DETAIL_MIN_WIDTH_PX,
@@ -16,38 +16,38 @@ import {
16
16
  AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX,
17
17
  resolveAgentGUIExpandedWindowFrame,
18
18
  shouldAutoCollapseAgentGUIConversationRail
19
- } from "./chunk-MJNX2SC6.js";
19
+ } from "./chunk-JQUFRZ2P.js";
20
20
  import "./chunk-6II57C72.js";
21
21
  import "./chunk-YSA4MXR5.js";
22
22
  import "./chunk-MHOYBRCY.js";
23
23
  import "./chunk-SZVHT57M.js";
24
- import "./chunk-W3EI5EWM.js";
25
- import "./chunk-YB5DZYLI.js";
26
- import "./chunk-GJBSQWIA.js";
24
+ import "./chunk-42KTGN4W.js";
25
+ import "./chunk-C7RY5XMJ.js";
26
+ import "./chunk-42W6JENH.js";
27
27
  import "./chunk-THBCAUBR.js";
28
28
  import "./chunk-UP3ZDYTN.js";
29
29
  import "./chunk-GUFEHWUX.js";
30
- import "./chunk-FVACDLAJ.js";
30
+ import "./chunk-KDRU3NBW.js";
31
31
  import {
32
32
  agentGUIAgentIsReady,
33
33
  normalizeAgentGUIAgents,
34
34
  projectAgentGUIAgentsToTargets,
35
35
  resolveAgentGUISelectedDirectoryAgent
36
- } from "./chunk-66JZ7BQM.js";
36
+ } from "./chunk-CX6XXG6R.js";
37
37
  import {
38
38
  agentGuiDockIconUrl,
39
39
  agentGuiDockIconUrls
40
40
  } from "./chunk-PQPNDL4A.js";
41
41
  import {
42
42
  preloadAgentMentionBrowse
43
- } from "./chunk-A6UMKVKW.js";
43
+ } from "./chunk-GMALB4L6.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-7W4WEFAY.js";
50
+ } from "./chunk-7M6STXDS.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-ZEYVTTUK.js";
62
+ } from "./chunk-OUOVA353.js";
63
63
  import {
64
64
  useEngineSelector
65
65
  } from "./chunk-2RQM7PJN.js";
66
- import "./chunk-T7DN6RYO.js";
66
+ import "./chunk-5EHKHIFG.js";
67
67
  import "./chunk-ZVYUTXQJ.js";
68
- import "./chunk-HIPSKKXB.js";
68
+ import "./chunk-BHLX4ZFU.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-KUTB4EGX.js";
78
+ } from "./chunk-QEOAZW53.js";
79
79
  import "./chunk-F5UR6EJG.js";
80
80
  import "./chunk-ZWLWT3TZ.js";
81
81
  import {
82
82
  AgentGuiI18nProvider,
83
83
  agentGuiI18nModule,
84
84
  agentGuiI18nResources
85
- } from "./chunk-W4UPFP2N.js";
85
+ } from "./chunk-EZ6E3LVP.js";
86
86
  import "./chunk-PJP5BUU6.js";
87
87
  import "./chunk-AODSTIED.js";
88
- import "./chunk-OXCWE3B5.js";
88
+ import "./chunk-J4RQ2RTM.js";
89
89
  import "./chunk-MIJXEELH.js";
90
90
  import {
91
91
  getAgentCustomMentionKind,
@@ -3,22 +3,22 @@ import {
3
3
  MAX_BROWSE_CACHE_ENTRIES,
4
4
  preloadAgentMentionBrowse,
5
5
  resetAgentMentionSearchBrowseCacheForTests
6
- } from "./chunk-A6UMKVKW.js";
6
+ } from "./chunk-GMALB4L6.js";
7
7
  import "./chunk-VMPA46ET.js";
8
8
  import "./chunk-XJ34OIEQ.js";
9
9
  import "./chunk-JDVP33S5.js";
10
- import "./chunk-7W4WEFAY.js";
10
+ import "./chunk-7M6STXDS.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-KUTB4EGX.js";
15
+ import "./chunk-QEOAZW53.js";
16
16
  import "./chunk-F5UR6EJG.js";
17
17
  import "./chunk-ZWLWT3TZ.js";
18
- import "./chunk-W4UPFP2N.js";
18
+ import "./chunk-EZ6E3LVP.js";
19
19
  import "./chunk-PJP5BUU6.js";
20
20
  import "./chunk-AODSTIED.js";
21
- import "./chunk-OXCWE3B5.js";
21
+ import "./chunk-J4RQ2RTM.js";
22
22
  import "./chunk-MIJXEELH.js";
23
23
  import "./chunk-D2JUDUYY.js";
24
24
  import "./chunk-LCFMJPNA.js";
@@ -100,6 +100,8 @@ interface AgentGUIAgent {
100
100
  maskIconUrl?: string | null;
101
101
  heroImageUrl?: string | null;
102
102
  description?: string | null;
103
+ /** Host-resolved display name of the device that owns this Agent target. */
104
+ ownerDeviceLabel?: string | null;
103
105
  owner?: AgentGUIAgentOwner | null;
104
106
  ownership?: AgentGUIAgentOwnership | null;
105
107
  availability: AgentGUIAgentAvailability;
@@ -137,6 +139,7 @@ interface AgentGUIAgentTarget {
137
139
  heroImageUrl?: string | null;
138
140
  badge?: AgentGUIAgentTargetBadge | null;
139
141
  ownerLabel?: string;
142
+ ownerDeviceLabel?: string;
140
143
  ownership?: AgentGUIAgentOwnership;
141
144
  availability?: AgentGUIAgentAvailability;
142
145
  disabled?: boolean;
@@ -1,5 +1,5 @@
1
1
  import 'react';
2
2
  import '@tutti-os/agent-activity-core';
3
3
  import '@tutti-os/workbench-surface';
4
- export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, b as AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT, c as AGENT_GUI_WORKBENCH_SESSION_ACTION_EVENT, d as AgentGuiWorkbenchContributionCopy, e as AgentGuiWorkbenchContributionCopyOverrides, f as AgentGuiWorkbenchConversationIdentity, g as AgentGuiWorkbenchConversationRailToggleDetail, h as AgentGuiWorkbenchNewConversationDetail, i as AgentGuiWorkbenchProviderAvailability, j as AgentGuiWorkbenchRenderBodyHelpers, k as AgentGuiWorkbenchSessionAction, l as AgentGuiWorkbenchSessionActionDetail, m as AgentGuiWorkbenchSessionActionRequest, n as AgentGuiWorkbenchSessionMenuCopy, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, o as agentGuiWorkbenchCompactVisibleAreaRatio, q as agentGuiWorkbenchDefaultCopy, r as agentGuiWorkbenchDefaultNodeFrame, s as agentGuiWorkbenchDefaultUsableHeightRatio, t as agentGuiWorkbenchDefaultUsableWidthRatio, u as agentGuiWorkbenchNewWindowCascadeOffset, v as agentGuiWorkbenchProviderRailWidthPx, w as buildAgentGuiDockEntries, x as createAgentGuiWorkbenchContribution, y as createAgentGuiWorkbenchPreviewContent, z as dispatchAgentGuiWorkbenchSessionAction, D as isAgentGuiWorkbenchSessionAction, E as resolveAgentGuiUnifiedDockLaunchPayload, F as resolveAgentGuiWorkbenchContributionCopy, H as resolveAgentGuiWorkbenchDefaultLaunchFrame } from '../contribution--lqIXGqn.js';
4
+ export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, b as AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT, c as AGENT_GUI_WORKBENCH_SESSION_ACTION_EVENT, d as AgentGuiWorkbenchContributionCopy, e as AgentGuiWorkbenchContributionCopyOverrides, f as AgentGuiWorkbenchConversationIdentity, g as AgentGuiWorkbenchConversationRailToggleDetail, h as AgentGuiWorkbenchNewConversationDetail, i as AgentGuiWorkbenchProviderAvailability, j as AgentGuiWorkbenchRenderBodyHelpers, k as AgentGuiWorkbenchSessionAction, l as AgentGuiWorkbenchSessionActionDetail, m as AgentGuiWorkbenchSessionActionRequest, n as AgentGuiWorkbenchSessionMenuCopy, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, o as agentGuiWorkbenchCompactVisibleAreaRatio, q as agentGuiWorkbenchDefaultCopy, r as agentGuiWorkbenchDefaultNodeFrame, s as agentGuiWorkbenchDefaultUsableHeightRatio, t as agentGuiWorkbenchDefaultUsableWidthRatio, u as agentGuiWorkbenchNewWindowCascadeOffset, v as agentGuiWorkbenchProviderRailWidthPx, w as buildAgentGuiDockEntries, x as createAgentGuiWorkbenchContribution, y as createAgentGuiWorkbenchPreviewContent, z as dispatchAgentGuiWorkbenchSessionAction, D as isAgentGuiWorkbenchSessionAction, E as resolveAgentGuiUnifiedDockLaunchPayload, F as resolveAgentGuiWorkbenchContributionCopy, H as resolveAgentGuiWorkbenchDefaultLaunchFrame } from '../contribution-DfA5SxBL.js';
5
5
  import './types.js';
@@ -18,17 +18,17 @@ import {
18
18
  resolveAgentGuiUnifiedDockLaunchPayload,
19
19
  resolveAgentGuiWorkbenchContributionCopy,
20
20
  resolveAgentGuiWorkbenchDefaultLaunchFrame
21
- } from "../chunk-MJNX2SC6.js";
21
+ } from "../chunk-JQUFRZ2P.js";
22
22
  import "../chunk-6II57C72.js";
23
23
  import "../chunk-YSA4MXR5.js";
24
24
  import "../chunk-MHOYBRCY.js";
25
25
  import "../chunk-SZVHT57M.js";
26
- import "../chunk-W3EI5EWM.js";
27
- import "../chunk-66JZ7BQM.js";
26
+ import "../chunk-42KTGN4W.js";
27
+ import "../chunk-CX6XXG6R.js";
28
28
  import "../chunk-PQPNDL4A.js";
29
29
  import "../chunk-2RQM7PJN.js";
30
30
  import "../chunk-AODSTIED.js";
31
- import "../chunk-OXCWE3B5.js";
31
+ import "../chunk-J4RQ2RTM.js";
32
32
  import "../chunk-MIJXEELH.js";
33
33
  import "../chunk-LCFMJPNA.js";
34
34
  import "../chunk-5CLSJWUN.js";
@@ -1,5 +1,5 @@
1
- import { n as AgentGuiWorkbenchSessionMenuCopy, k as AgentGuiWorkbenchSessionAction } from '../contribution--lqIXGqn.js';
2
- export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, c as AGENT_GUI_WORKBENCH_SESSION_ACTION_EVENT, d as AgentGuiWorkbenchContributionCopy, e as AgentGuiWorkbenchContributionCopyOverrides, f as AgentGuiWorkbenchConversationIdentity, g as AgentGuiWorkbenchConversationRailToggleDetail, h as AgentGuiWorkbenchNewConversationDetail, i as AgentGuiWorkbenchProviderAvailability, j as AgentGuiWorkbenchRenderBodyHelpers, l as AgentGuiWorkbenchSessionActionDetail, m as AgentGuiWorkbenchSessionActionRequest, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, p as agentGuiWorkbenchConversationIdentitiesEqual, q as agentGuiWorkbenchDefaultCopy, r as agentGuiWorkbenchDefaultNodeFrame, w as buildAgentGuiDockEntries, x as createAgentGuiWorkbenchContribution, y as createAgentGuiWorkbenchPreviewContent, z as dispatchAgentGuiWorkbenchSessionAction, D as isAgentGuiWorkbenchSessionAction, E as resolveAgentGuiUnifiedDockLaunchPayload, F as resolveAgentGuiWorkbenchContributionCopy, G as resolveAgentGuiWorkbenchConversationIdentity } from '../contribution--lqIXGqn.js';
1
+ import { n as AgentGuiWorkbenchSessionMenuCopy, k as AgentGuiWorkbenchSessionAction } from '../contribution-DfA5SxBL.js';
2
+ export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, c as AGENT_GUI_WORKBENCH_SESSION_ACTION_EVENT, d as AgentGuiWorkbenchContributionCopy, e as AgentGuiWorkbenchContributionCopyOverrides, f as AgentGuiWorkbenchConversationIdentity, g as AgentGuiWorkbenchConversationRailToggleDetail, h as AgentGuiWorkbenchNewConversationDetail, i as AgentGuiWorkbenchProviderAvailability, j as AgentGuiWorkbenchRenderBodyHelpers, l as AgentGuiWorkbenchSessionActionDetail, m as AgentGuiWorkbenchSessionActionRequest, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, p as agentGuiWorkbenchConversationIdentitiesEqual, q as agentGuiWorkbenchDefaultCopy, r as agentGuiWorkbenchDefaultNodeFrame, w as buildAgentGuiDockEntries, x as createAgentGuiWorkbenchContribution, y as createAgentGuiWorkbenchPreviewContent, z as dispatchAgentGuiWorkbenchSessionAction, D as isAgentGuiWorkbenchSessionAction, E as resolveAgentGuiUnifiedDockLaunchPayload, F as resolveAgentGuiWorkbenchContributionCopy, G as resolveAgentGuiWorkbenchConversationIdentity } from '../contribution-DfA5SxBL.js';
3
3
  export { agentGuiWorkbenchComingSoonProviders, agentGuiWorkbenchDefaultDockProviders, agentGuiWorkbenchDockSuppressedProviders, agentGuiWorkbenchProviderLabels, agentGuiWorkbenchProviders, isAgentGuiWorkbenchComingSoonProvider, isAgentGuiWorkbenchDefaultDockProvider, isAgentGuiWorkbenchDockSuppressedProvider, isAgentGuiWorkbenchProvider, normalizeAgentGuiWorkbenchProvider, resolveAgentGuiWorkbenchProviderLabel } from './providerCatalog.js';
4
4
  export { AgentGuiWorkbenchLaunchDescriptor, AgentGuiWorkbenchReusePolicy, agentGuiWorkbenchDockEntryId, agentGuiWorkbenchDockIdentityFromIdentifier, agentGuiWorkbenchProviderFromLaunchRequest, agentGuiWorkbenchTypeId, agentGuiWorkbenchUnifiedDockEntryId, createAgentGuiWorkbenchDraftLaunchRequest, createAgentGuiWorkbenchInstanceId, createAgentGuiWorkbenchLaunchDescriptor, createAgentGuiWorkbenchSessionLaunchRequest, resolveAgentGuiWorkbenchLaunchDockEntryId } from './launch.js';
5
5
  export { areAgentGuiWorkbenchNodeStatesEqual, areAgentGuiWorkbenchStatesEqual, createAgentGuiWorkbenchNodeStateSource, createDefaultAgentGuiWorkbenchNodeState, normalizeAgentGuiWorkbenchNodeState, normalizeAgentGuiWorkbenchState, projectAgentGuiWorkbenchState } from './state.js';
@@ -14,7 +14,7 @@ import {
14
14
  resolveAgentGuiUnifiedDockLaunchPayload,
15
15
  resolveAgentGuiWorkbenchContributionCopy,
16
16
  resolveAgentGuiWorkbenchConversationIdentity
17
- } from "../chunk-MJNX2SC6.js";
17
+ } from "../chunk-JQUFRZ2P.js";
18
18
  import {
19
19
  areAgentGuiWorkbenchNodeStatesEqual,
20
20
  areAgentGuiWorkbenchStatesEqual,
@@ -56,12 +56,12 @@ import {
56
56
  import {
57
57
  resolveAgentGuiWorkbenchHeaderTitle,
58
58
  resolveAgentGuiWorkbenchSessionTitle
59
- } from "../chunk-W3EI5EWM.js";
60
- import "../chunk-66JZ7BQM.js";
59
+ } from "../chunk-42KTGN4W.js";
60
+ import "../chunk-CX6XXG6R.js";
61
61
  import "../chunk-PQPNDL4A.js";
62
62
  import "../chunk-2RQM7PJN.js";
63
63
  import "../chunk-AODSTIED.js";
64
- import "../chunk-OXCWE3B5.js";
64
+ import "../chunk-J4RQ2RTM.js";
65
65
  import "../chunk-MIJXEELH.js";
66
66
  import "../chunk-LCFMJPNA.js";
67
67
  import "../chunk-5CLSJWUN.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  resolveAgentGuiWorkbenchHeaderTitle,
3
3
  resolveAgentGuiWorkbenchSessionTitle
4
- } from "../chunk-W3EI5EWM.js";
5
- import "../chunk-OXCWE3B5.js";
4
+ } from "../chunk-42KTGN4W.js";
5
+ import "../chunk-J4RQ2RTM.js";
6
6
  import "../chunk-MIJXEELH.js";
7
7
  import "../chunk-5CLSJWUN.js";
8
8
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutti-os/agent-gui",
3
- "version": "0.0.166",
3
+ "version": "0.0.168",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -139,18 +139,18 @@
139
139
  "dependencies": {
140
140
  "@monaco-editor/react": "^4.7.0",
141
141
  "@tanstack/react-virtual": "^3.13.12",
142
- "@tutti-os/agent-activity-core": "0.0.166",
143
- "@tutti-os/browser-node": "0.0.166",
144
- "@tutti-os/ui-i18n-runtime": "0.0.166",
145
- "@tutti-os/ui-react-hooks": "0.0.166",
146
- "@tutti-os/ui-rich-text": "0.0.166",
147
- "@tutti-os/ui-system": "0.0.166",
148
- "@tutti-os/workbench-surface": "0.0.166",
149
- "@tutti-os/workspace-external-core": "0.0.166",
150
- "@tutti-os/workspace-file-manager": "0.0.166",
151
- "@tutti-os/workspace-file-reference": "0.0.166",
152
- "@tutti-os/workspace-issue-manager": "0.0.166",
153
- "@tutti-os/workspace-user-project": "0.0.166",
142
+ "@tutti-os/agent-activity-core": "0.0.168",
143
+ "@tutti-os/browser-node": "0.0.168",
144
+ "@tutti-os/ui-i18n-runtime": "0.0.168",
145
+ "@tutti-os/ui-react-hooks": "0.0.168",
146
+ "@tutti-os/ui-rich-text": "0.0.168",
147
+ "@tutti-os/ui-system": "0.0.168",
148
+ "@tutti-os/workbench-surface": "0.0.168",
149
+ "@tutti-os/workspace-external-core": "0.0.168",
150
+ "@tutti-os/workspace-file-manager": "0.0.168",
151
+ "@tutti-os/workspace-file-reference": "0.0.168",
152
+ "@tutti-os/workspace-issue-manager": "0.0.168",
153
+ "@tutti-os/workspace-user-project": "0.0.168",
154
154
  "clsx": "^2.1.1",
155
155
  "framer-motion": "^12.40.0",
156
156
  "lodash": "^4.17.21",
@@ -170,6 +170,7 @@
170
170
  "@tiptap/core": "^3.11.1",
171
171
  "@tiptap/pm": "^3.23.6",
172
172
  "@tiptap/react": "^3.11.1",
173
+ "@tiptap/static-renderer": "3.23.6",
173
174
  "@tiptap/starter-kit": "^3.11.1",
174
175
  "@tiptap/suggestion": "^3.11.1",
175
176
  "@types/lodash": "^4.17.24",
@@ -183,13 +184,14 @@
183
184
  "typescript": "^5.8.3",
184
185
  "vite": "^6.4.2",
185
186
  "vitest": "^4.0.13",
186
- "@tutti-os/client-tuttid-ts": "0.0.0",
187
- "@tutti-os/config-tsconfig": "0.0.0"
187
+ "@tutti-os/config-tsconfig": "0.0.0",
188
+ "@tutti-os/client-tuttid-ts": "0.0.0"
188
189
  },
189
190
  "peerDependencies": {
190
191
  "@tiptap/core": "^3.11.1",
191
192
  "@tiptap/pm": "^3.23.6",
192
193
  "@tiptap/react": "^3.11.1",
194
+ "@tiptap/static-renderer": "3.23.6",
193
195
  "@tiptap/starter-kit": "^3.11.1",
194
196
  "@tiptap/suggestion": "^3.11.1",
195
197
  "react": "^19.1.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../agents.ts"],"sourcesContent":["import type {\n AgentGUIAgent,\n AgentGUIAgentAvailabilityStatus,\n AgentGUIAgentTarget\n} from \"./types.ts\";\n\nexport function normalizeAgentGUIAgents(\n agents: readonly AgentGUIAgent[] | null | undefined\n): AgentGUIAgent[] {\n const normalized: AgentGUIAgent[] = [];\n const seenAgentTargetIds = new Set<string>();\n for (const agent of agents ?? []) {\n const agentTargetId = agent.agentTargetId.trim();\n const name = agent.name.trim();\n const iconUrl = agent.iconUrl.trim();\n const maskIconUrl = agent.maskIconUrl?.trim() ?? \"\";\n const heroImageUrl = agent.heroImageUrl?.trim() ?? \"\";\n if (\n !agentTargetId ||\n !name ||\n !iconUrl ||\n seenAgentTargetIds.has(agentTargetId)\n ) {\n continue;\n }\n seenAgentTargetIds.add(agentTargetId);\n const ownerName = agent.owner?.name?.trim() ?? \"\";\n const ownerAvatarUrl = agent.owner?.avatarUrl?.trim() ?? \"\";\n const reason = agent.availability.reason?.trim() ?? \"\";\n normalized.push({\n agentTargetId,\n name,\n iconUrl,\n ...(maskIconUrl ? { maskIconUrl } : {}),\n ...(heroImageUrl ? { heroImageUrl } : {}),\n ...(agent.description?.trim()\n ? { description: agent.description.trim() }\n : {}),\n ...(ownerName || ownerAvatarUrl\n ? {\n owner: {\n ...(ownerName ? { name: ownerName } : {}),\n ...(ownerAvatarUrl ? { avatarUrl: ownerAvatarUrl } : {})\n }\n }\n : {}),\n ...(agent.ownership === \"self\" || agent.ownership === \"shared\"\n ? { ownership: agent.ownership }\n : {}),\n availability: {\n status: normalizeAgentGUIAgentAvailabilityStatus(\n agent.availability.status\n ),\n ...(reason ? { reason } : {}),\n ...(agent.availability.pendingAction\n ? { pendingAction: agent.availability.pendingAction }\n : {})\n },\n provider: agent.provider,\n ...(agent.setupKind === \"target_runtime\"\n ? { setupKind: \"target_runtime\" as const }\n : {})\n });\n }\n return normalized;\n}\n\nexport function agentGUIAgentIsReady(agent: AgentGUIAgent): boolean {\n return agent.availability.status === \"ready\";\n}\n\nexport function resolveAgentGUISelectedDirectoryAgent(input: {\n agents: readonly AgentGUIAgent[];\n agentTargetId?: string | null;\n defaultAgentTargetId?: string | null;\n}): AgentGUIAgent | null {\n const explicitAgentTargetId =\n input.agentTargetId?.trim() || input.defaultAgentTargetId?.trim() || \"\";\n if (explicitAgentTargetId) {\n return (\n input.agents.find(\n (agent) => agent.agentTargetId === explicitAgentTargetId\n ) ?? null\n );\n }\n return (\n input.agents.find((agent) => agentGUIAgentIsReady(agent)) ??\n input.agents[0] ??\n null\n );\n}\n\n/** Projects the canonical Agent directory into target rows for selection menus. */\nexport function projectAgentGUIAgentsToTargets(\n agents: readonly AgentGUIAgent[]\n): AgentGUIAgentTarget[] {\n return agents.map((agent) => ({\n targetId: agent.agentTargetId,\n agentTargetId: agent.agentTargetId,\n provider: agent.provider,\n ref: {\n kind: \"agent-directory\",\n provider: agent.provider,\n agentTargetId: agent.agentTargetId,\n ...(agent.setupKind ? { setupKind: agent.setupKind } : {})\n },\n label: agent.name,\n availability: agent.availability,\n ...(agent.description ? { description: agent.description } : {}),\n iconUrl: agent.iconUrl,\n ...(agent.maskIconUrl ? { maskIconUrl: agent.maskIconUrl } : {}),\n ...(agent.heroImageUrl ? { heroImageUrl: agent.heroImageUrl } : {}),\n ...(agent.owner?.avatarUrl\n ? {\n badge: {\n iconUrl: agent.owner.avatarUrl,\n ...(agent.owner.name ? { label: agent.owner.name } : {})\n }\n }\n : {}),\n ...(agent.owner?.name ? { ownerLabel: agent.owner.name } : {}),\n ...(agent.ownership ? { ownership: agent.ownership } : {}),\n ...(agent.availability.status !== \"ready\" && !agent.setupKind\n ? { disabled: true }\n : {}),\n ...(agent.availability.reason\n ? { unavailableReason: agent.availability.reason }\n : {})\n }));\n}\n\nfunction normalizeAgentGUIAgentAvailabilityStatus(\n status: AgentGUIAgentAvailabilityStatus\n): AgentGUIAgentAvailabilityStatus {\n switch (status) {\n case \"ready\":\n case \"checking\":\n case \"coming_soon\":\n case \"not_installed\":\n case \"auth_required\":\n case \"unavailable\":\n return status;\n }\n}\n"],"mappings":"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","names":[]}