@tutti-os/agent-gui 0.0.167 → 0.0.169

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 (62) 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-W4UPFP2N.js → chunk-EZ6E3LVP.js} +2 -2
  23. package/dist/{chunk-A6UMKVKW.js → chunk-GMALB4L6.js} +4 -4
  24. package/dist/{chunk-OXCWE3B5.js → chunk-J4RQ2RTM.js} +3 -1
  25. package/dist/chunk-J4RQ2RTM.js.map +1 -0
  26. package/dist/{chunk-FVACDLAJ.js → chunk-KDRU3NBW.js} +4 -4
  27. package/dist/{chunk-4SLHS5X5.js → chunk-LQ6CK4GS.js} +95 -93
  28. package/dist/chunk-LQ6CK4GS.js.map +1 -0
  29. package/dist/{chunk-ZEYVTTUK.js → chunk-OUOVA353.js} +4 -4
  30. package/dist/{chunk-KUTB4EGX.js → chunk-QEOAZW53.js} +2 -2
  31. package/dist/{chunk-MJNX2SC6.js → chunk-Y3K2YTLD.js} +29 -9
  32. package/dist/chunk-Y3K2YTLD.js.map +1 -0
  33. package/dist/context-mention-palette/index.js +7 -7
  34. package/dist/{contribution--lqIXGqn.d.ts → contribution-DfA5SxBL.d.ts} +2 -0
  35. package/dist/i18n/index.d.ts +2 -0
  36. package/dist/i18n/index.js +2 -2
  37. package/dist/index.d.ts +8 -0
  38. package/dist/index.js +15 -15
  39. package/dist/mention-search.js +5 -5
  40. package/dist/{types-DVmB_kyD.d.ts → types-CWFDZVkv.d.ts} +3 -0
  41. package/dist/workbench/contribution.d.ts +1 -1
  42. package/dist/workbench/contribution.js +4 -4
  43. package/dist/workbench/index.d.ts +2 -2
  44. package/dist/workbench/index.js +4 -4
  45. package/dist/workbench/sessionTitle.js +2 -2
  46. package/package.json +15 -13
  47. package/dist/chunk-4SLHS5X5.js.map +0 -1
  48. package/dist/chunk-66JZ7BQM.js.map +0 -1
  49. package/dist/chunk-7W4WEFAY.js.map +0 -1
  50. package/dist/chunk-GJBSQWIA.js.map +0 -1
  51. package/dist/chunk-MJNX2SC6.js.map +0 -1
  52. package/dist/chunk-OXCWE3B5.js.map +0 -1
  53. package/dist/chunk-YB5DZYLI.js.map +0 -1
  54. /package/dist/{AgentRichTextReadonly-PLUYTH5Y.js.map → AgentRichTextReadonly-WOIEQ673.js.map} +0 -0
  55. /package/dist/{chunk-W3EI5EWM.js.map → chunk-42KTGN4W.js.map} +0 -0
  56. /package/dist/{chunk-T7DN6RYO.js.map → chunk-5EHKHIFG.js.map} +0 -0
  57. /package/dist/{chunk-HIPSKKXB.js.map → chunk-BHLX4ZFU.js.map} +0 -0
  58. /package/dist/{chunk-W4UPFP2N.js.map → chunk-EZ6E3LVP.js.map} +0 -0
  59. /package/dist/{chunk-A6UMKVKW.js.map → chunk-GMALB4L6.js.map} +0 -0
  60. /package/dist/{chunk-FVACDLAJ.js.map → chunk-KDRU3NBW.js.map} +0 -0
  61. /package/dist/{chunk-ZEYVTTUK.js.map → chunk-OUOVA353.js.map} +0 -0
  62. /package/dist/{chunk-KUTB4EGX.js.map → chunk-QEOAZW53.js.map} +0 -0
@@ -8,6 +8,7 @@ function normalizeAgentGUIAgents(agents) {
8
8
  const iconUrl = agent.iconUrl.trim();
9
9
  const maskIconUrl = agent.maskIconUrl?.trim() ?? "";
10
10
  const heroImageUrl = agent.heroImageUrl?.trim() ?? "";
11
+ const ownerDeviceLabel = agent.ownerDeviceLabel?.trim() ?? "";
11
12
  if (!agentTargetId || !name || !iconUrl || seenAgentTargetIds.has(agentTargetId)) {
12
13
  continue;
13
14
  }
@@ -22,6 +23,7 @@ function normalizeAgentGUIAgents(agents) {
22
23
  ...maskIconUrl ? { maskIconUrl } : {},
23
24
  ...heroImageUrl ? { heroImageUrl } : {},
24
25
  ...agent.description?.trim() ? { description: agent.description.trim() } : {},
26
+ ...ownerDeviceLabel ? { ownerDeviceLabel } : {},
25
27
  ...ownerName || ownerAvatarUrl ? {
26
28
  owner: {
27
29
  ...ownerName ? { name: ownerName } : {},
@@ -71,6 +73,7 @@ function projectAgentGUIAgentsToTargets(agents) {
71
73
  iconUrl: agent.iconUrl,
72
74
  ...agent.maskIconUrl ? { maskIconUrl: agent.maskIconUrl } : {},
73
75
  ...agent.heroImageUrl ? { heroImageUrl: agent.heroImageUrl } : {},
76
+ ...agent.ownerDeviceLabel ? { ownerDeviceLabel: agent.ownerDeviceLabel } : {},
74
77
  ...agent.owner?.avatarUrl ? {
75
78
  badge: {
76
79
  iconUrl: agent.owner.avatarUrl,
@@ -101,4 +104,4 @@ export {
101
104
  resolveAgentGUISelectedDirectoryAgent,
102
105
  projectAgentGUIAgentsToTargets
103
106
  };
104
- //# sourceMappingURL=chunk-66JZ7BQM.js.map
107
+ //# sourceMappingURL=chunk-CX6XXG6R.js.map
@@ -0,0 +1 @@
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 const ownerDeviceLabel = agent.ownerDeviceLabel?.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 ...(ownerDeviceLabel ? { ownerDeviceLabel } : {}),\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.ownerDeviceLabel\n ? { ownerDeviceLabel: agent.ownerDeviceLabel }\n : {}),\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":[]}
@@ -6,7 +6,7 @@ import {
6
6
  setCurrentAgentGuiI18nRuntime,
7
7
  translate,
8
8
  translateInUiLanguage
9
- } from "./chunk-OXCWE3B5.js";
9
+ } from "./chunk-J4RQ2RTM.js";
10
10
 
11
11
  // i18n/index.ts
12
12
  import React, {
@@ -68,4 +68,4 @@ export {
68
68
  AgentGuiI18nProvider,
69
69
  useTranslation
70
70
  };
71
- //# sourceMappingURL=chunk-W4UPFP2N.js.map
71
+ //# sourceMappingURL=chunk-EZ6E3LVP.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-XJ34OIEQ.js";
8
8
  import {
9
9
  normalizeAgentSessionMentionTitle
10
- } from "./chunk-7W4WEFAY.js";
10
+ } from "./chunk-7M6STXDS.js";
11
11
  import {
12
12
  resolveAgentMentionFileThumbnailUrl
13
13
  } from "./chunk-5QPOMKMQ.js";
@@ -20,11 +20,11 @@ import {
20
20
  import {
21
21
  getOptionalAgentHostApi,
22
22
  workspaceAgentProviderLabel
23
- } from "./chunk-KUTB4EGX.js";
23
+ } from "./chunk-QEOAZW53.js";
24
24
  import {
25
25
  translate,
26
26
  translateInUiLanguage
27
- } from "./chunk-W4UPFP2N.js";
27
+ } from "./chunk-EZ6E3LVP.js";
28
28
  import {
29
29
  normalizeAgentTitleText
30
30
  } from "./chunk-MIJXEELH.js";
@@ -3052,4 +3052,4 @@ export {
3052
3052
  AgentMentionSearchController,
3053
3053
  preloadAgentMentionBrowse
3054
3054
  };
3055
- //# sourceMappingURL=chunk-A6UMKVKW.js.map
3055
+ //# sourceMappingURL=chunk-GMALB4L6.js.map
@@ -596,6 +596,7 @@ var enAgentGui = {
596
596
  handoffConversation: "Handoff",
597
597
  handoffConversationTooltip: "Hand off to another agent",
598
598
  handoffConversationMenu: "Choose an agent for handoff",
599
+ handoffTargetDeviceSource: "From {{device}}",
599
600
  handoffTargetSelf: "My Agent",
600
601
  handoffTargetShared: "Shared Agent",
601
602
  startConversation: "Start session",
@@ -3324,6 +3325,7 @@ var zhCNAgentGui = {
3324
3325
  handoffConversation: "Handoff",
3325
3326
  handoffConversationTooltip: "\u4EA4\u63A5\u7ED9\u5176\u4ED6 Agent",
3326
3327
  handoffConversationMenu: "\u9009\u62E9\u8981\u4EA4\u63A5\u7684 Agent",
3328
+ handoffTargetDeviceSource: "\u6765\u81EA {{device}}",
3327
3329
  handoffTargetSelf: "\u6211\u7684 Agent",
3328
3330
  handoffTargetShared: "\u5171\u4EAB Agent",
3329
3331
  startConversation: "\u5F00\u59CB\u4F1A\u8BDD",
@@ -5518,4 +5520,4 @@ export {
5518
5520
  translateInUiLanguage,
5519
5521
  getActiveUiLanguage
5520
5522
  };
5521
- //# sourceMappingURL=chunk-OXCWE3B5.js.map
5523
+ //# sourceMappingURL=chunk-J4RQ2RTM.js.map