@tutti-os/agent-gui 0.0.114 → 0.0.116

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 (79) hide show
  1. package/dist/{AgentGUI-D4jgPDg0.d.ts → AgentGUI-Be6O5di1.d.ts} +2 -2
  2. package/dist/{AgentRichTextReadonly-KNPDB5ZJ.js → AgentRichTextReadonly-AY36C7TV.js} +5 -5
  3. package/dist/agent-conversation/index.d.ts +2 -2
  4. package/dist/agent-conversation/index.js +9 -9
  5. package/dist/agent-env/ui.d.ts +19 -0
  6. package/dist/agent-env/ui.js +9 -0
  7. package/dist/agent-env/ui.js.map +1 -0
  8. package/dist/agent-gui.d.ts +3 -3
  9. package/dist/agent-gui.js +19 -18
  10. package/dist/agent-message-center/index.js +10 -10
  11. package/dist/{agentGuiNodeTypes-BebhwDeE.d.ts → agentGuiNodeTypes-C_H3DbXt.d.ts} +78 -2
  12. package/dist/agents.d.ts +1 -1
  13. package/dist/agents.js +1 -1
  14. package/dist/app/renderer/agentactivity.css +79 -3
  15. package/dist/{chunk-CTSKSYMM.js → chunk-5G3OFCWH.js} +2 -2
  16. package/dist/{chunk-JLRPIEIE.js → chunk-5HIF53K5.js} +44 -5
  17. package/dist/chunk-5HIF53K5.js.map +1 -0
  18. package/dist/{chunk-CY45OZEY.js → chunk-AMO3EB7V.js} +4 -4
  19. package/dist/{chunk-W4KHK5HK.js → chunk-DVXXZWYX.js} +95 -1
  20. package/dist/chunk-DVXXZWYX.js.map +1 -0
  21. package/dist/{chunk-FBPZXKQC.js → chunk-DXXKHL4G.js} +2 -2
  22. package/dist/{chunk-SFYWL6FT.js → chunk-EPNL55ZQ.js} +2 -2
  23. package/dist/{chunk-EM4RD5FQ.js → chunk-EYZSEPL7.js} +9 -9
  24. package/dist/chunk-EYZSEPL7.js.map +1 -0
  25. package/dist/{chunk-YKQAOIF2.js → chunk-I6Y4XQVR.js} +119 -8
  26. package/dist/chunk-I6Y4XQVR.js.map +1 -0
  27. package/dist/{chunk-CGPLB67C.js → chunk-IIQSQNS4.js} +3166 -1696
  28. package/dist/chunk-IIQSQNS4.js.map +1 -0
  29. package/dist/{chunk-RATBQN2V.js → chunk-J26ZYCAH.js} +3 -2
  30. package/dist/{chunk-RATBQN2V.js.map → chunk-J26ZYCAH.js.map} +1 -1
  31. package/dist/{chunk-HFU3FYXP.js → chunk-JEXYDXFW.js} +4 -4
  32. package/dist/{chunk-DIFAX3KB.js → chunk-LQJBDDZG.js} +4 -4
  33. package/dist/{chunk-UHBCM6RO.js → chunk-MHOYBRCY.js} +1 -1
  34. package/dist/{chunk-UHBCM6RO.js.map → chunk-MHOYBRCY.js.map} +1 -1
  35. package/dist/{chunk-BYE5CKEU.js → chunk-NNIXG27Q.js} +6 -6
  36. package/dist/{chunk-WA5LSG5S.js → chunk-OXC5CPW7.js} +8 -16
  37. package/dist/chunk-OXC5CPW7.js.map +1 -0
  38. package/dist/{chunk-AY5AFMT2.js → chunk-TUWQV2MC.js} +5 -5
  39. package/dist/chunk-UP3ZDYTN.js +64 -0
  40. package/dist/chunk-UP3ZDYTN.js.map +1 -0
  41. package/dist/{chunk-7OYHDOGG.js → chunk-UV3UQAS2.js} +6 -4
  42. package/dist/chunk-UV3UQAS2.js.map +1 -0
  43. package/dist/{chunk-455YDWMS.js → chunk-VLPWO73G.js} +2 -2
  44. package/dist/context-mention-palette/index.js +7 -7
  45. package/dist/{contribution-C2LDwLA7.d.ts → contribution-BlemXneM.d.ts} +1 -1
  46. package/dist/i18n/index.d.ts +94 -0
  47. package/dist/i18n/index.js +2 -2
  48. package/dist/index.d.ts +6 -6
  49. package/dist/index.js +22 -21
  50. package/dist/index.js.map +1 -1
  51. package/dist/mention-search.js +5 -5
  52. package/dist/{types-yF_0mrNS.d.ts → types-COIp0SYP.d.ts} +2 -0
  53. package/dist/workbench/contribution.d.ts +2 -2
  54. package/dist/workbench/contribution.js +7 -7
  55. package/dist/workbench/index.d.ts +2 -2
  56. package/dist/workbench/index.js +10 -10
  57. package/dist/workbench/launch.js +3 -3
  58. package/dist/workbench/sessionTitle.js +2 -2
  59. package/dist/workbench/state.js +1 -1
  60. package/dist/workbench/types.d.ts +2 -0
  61. package/dist/workbench/types.js +1 -1
  62. package/package.json +19 -12
  63. package/dist/chunk-7OYHDOGG.js.map +0 -1
  64. package/dist/chunk-CGPLB67C.js.map +0 -1
  65. package/dist/chunk-EM4RD5FQ.js.map +0 -1
  66. package/dist/chunk-JLRPIEIE.js.map +0 -1
  67. package/dist/chunk-W4KHK5HK.js.map +0 -1
  68. package/dist/chunk-WA5LSG5S.js.map +0 -1
  69. package/dist/chunk-YKQAOIF2.js.map +0 -1
  70. /package/dist/{AgentRichTextReadonly-KNPDB5ZJ.js.map → AgentRichTextReadonly-AY36C7TV.js.map} +0 -0
  71. /package/dist/{chunk-CTSKSYMM.js.map → chunk-5G3OFCWH.js.map} +0 -0
  72. /package/dist/{chunk-CY45OZEY.js.map → chunk-AMO3EB7V.js.map} +0 -0
  73. /package/dist/{chunk-FBPZXKQC.js.map → chunk-DXXKHL4G.js.map} +0 -0
  74. /package/dist/{chunk-SFYWL6FT.js.map → chunk-EPNL55ZQ.js.map} +0 -0
  75. /package/dist/{chunk-HFU3FYXP.js.map → chunk-JEXYDXFW.js.map} +0 -0
  76. /package/dist/{chunk-DIFAX3KB.js.map → chunk-LQJBDDZG.js.map} +0 -0
  77. /package/dist/{chunk-BYE5CKEU.js.map → chunk-NNIXG27Q.js.map} +0 -0
  78. /package/dist/{chunk-AY5AFMT2.js.map → chunk-TUWQV2MC.js.map} +0 -0
  79. /package/dist/{chunk-455YDWMS.js.map → chunk-VLPWO73G.js.map} +0 -0
@@ -10,7 +10,7 @@ import {
10
10
  resolveAgentGuiUnifiedDockLaunchPayload,
11
11
  resolveAgentGuiWorkbenchContributionCopy,
12
12
  resolveAgentGuiWorkbenchConversationIdentity
13
- } from "../chunk-BYE5CKEU.js";
13
+ } from "../chunk-NNIXG27Q.js";
14
14
  import {
15
15
  agentGuiWorkbenchDockEntryId,
16
16
  agentGuiWorkbenchDockIdentityFromIdentifier,
@@ -22,11 +22,15 @@ import {
22
22
  createAgentGuiWorkbenchLaunchDescriptor,
23
23
  createAgentGuiWorkbenchSessionLaunchRequest,
24
24
  resolveAgentGuiWorkbenchLaunchDockEntryId
25
- } from "../chunk-AY5AFMT2.js";
25
+ } from "../chunk-TUWQV2MC.js";
26
+ import {
27
+ agentGuiWorkbenchOpenSessionActivationType,
28
+ agentGuiWorkbenchPrefillPromptActivationType
29
+ } from "../chunk-MHOYBRCY.js";
26
30
  import {
27
31
  resolveAgentGuiWorkbenchHeaderTitle,
28
32
  resolveAgentGuiWorkbenchSessionTitle
29
- } from "../chunk-CY45OZEY.js";
33
+ } from "../chunk-AMO3EB7V.js";
30
34
  import {
31
35
  areAgentGuiWorkbenchNodeStatesEqual,
32
36
  areAgentGuiWorkbenchStatesEqual,
@@ -35,7 +39,7 @@ import {
35
39
  normalizeAgentGuiWorkbenchNodeState,
36
40
  normalizeAgentGuiWorkbenchState,
37
41
  projectAgentGuiWorkbenchState
38
- } from "../chunk-JLRPIEIE.js";
42
+ } from "../chunk-5HIF53K5.js";
39
43
  import {
40
44
  agentGuiWorkbenchComingSoonProviders,
41
45
  agentGuiWorkbenchDefaultDockProviders,
@@ -49,16 +53,12 @@ import {
49
53
  normalizeAgentGuiWorkbenchProvider,
50
54
  resolveAgentGuiWorkbenchProviderLabel
51
55
  } from "../chunk-R2ZADXRB.js";
52
- import {
53
- agentGuiWorkbenchOpenSessionActivationType,
54
- agentGuiWorkbenchPrefillPromptActivationType
55
- } from "../chunk-UHBCM6RO.js";
56
- import "../chunk-7OYHDOGG.js";
56
+ import "../chunk-UV3UQAS2.js";
57
57
  import "../chunk-L2GENUG3.js";
58
58
  import "../chunk-2RQM7PJN.js";
59
59
  import "../chunk-7KVZPJ3O.js";
60
+ import "../chunk-DVXXZWYX.js";
60
61
  import "../chunk-MIJXEELH.js";
61
- import "../chunk-W4KHK5HK.js";
62
62
  import "../chunk-6CUELYIF.js";
63
63
  import "../chunk-YNSXUEIR.js";
64
64
  export {
@@ -9,11 +9,11 @@ import {
9
9
  createAgentGuiWorkbenchLaunchDescriptor,
10
10
  createAgentGuiWorkbenchSessionLaunchRequest,
11
11
  resolveAgentGuiWorkbenchLaunchDockEntryId
12
- } from "../chunk-AY5AFMT2.js";
13
- import "../chunk-R2ZADXRB.js";
12
+ } from "../chunk-TUWQV2MC.js";
14
13
  import {
15
14
  agentGuiWorkbenchPrefillPromptActivationType
16
- } from "../chunk-UHBCM6RO.js";
15
+ } from "../chunk-MHOYBRCY.js";
16
+ import "../chunk-R2ZADXRB.js";
17
17
  import "../chunk-6CUELYIF.js";
18
18
  export {
19
19
  agentGuiWorkbenchDockEntryId,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveAgentGuiWorkbenchHeaderTitle,
3
3
  resolveAgentGuiWorkbenchSessionTitle
4
- } from "../chunk-CY45OZEY.js";
4
+ } from "../chunk-AMO3EB7V.js";
5
+ import "../chunk-DVXXZWYX.js";
5
6
  import "../chunk-MIJXEELH.js";
6
- import "../chunk-W4KHK5HK.js";
7
7
  import "../chunk-6CUELYIF.js";
8
8
  export {
9
9
  resolveAgentGuiWorkbenchHeaderTitle,
@@ -7,7 +7,7 @@ import {
7
7
  normalizeAgentGuiWorkbenchNodeState,
8
8
  normalizeAgentGuiWorkbenchState,
9
9
  projectAgentGuiWorkbenchState
10
- } from "../chunk-JLRPIEIE.js";
10
+ } from "../chunk-5HIF53K5.js";
11
11
  import "../chunk-R2ZADXRB.js";
12
12
  import "../chunk-6CUELYIF.js";
13
13
  export {
@@ -27,6 +27,7 @@ interface AgentGuiWorkbenchNodeState {
27
27
  conversationRailCollapsed?: boolean | null;
28
28
  conversationRailWidthPx?: number | null;
29
29
  lastActiveAgentSessionId: string | null;
30
+ lastActiveAgentSessionIdByAgentTargetId?: Record<string, string> | null;
30
31
  provider: AgentGuiWorkbenchProvider;
31
32
  }
32
33
  interface AgentGuiWorkbenchState {
@@ -34,6 +35,7 @@ interface AgentGuiWorkbenchState {
34
35
  conversationRailCollapsed?: boolean | null;
35
36
  conversationRailWidthPx?: number | null;
36
37
  lastActiveAgentSessionId: string | null;
38
+ lastActiveAgentSessionIdByAgentTargetId?: Record<string, string> | null;
37
39
  }
38
40
  interface AgentGuiWorkbenchWorkspaceState {
39
41
  workspaceId: string;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  agentGuiWorkbenchOpenSessionActivationType,
3
3
  agentGuiWorkbenchPrefillPromptActivationType
4
- } from "../chunk-UHBCM6RO.js";
4
+ } from "../chunk-MHOYBRCY.js";
5
5
  export {
6
6
  agentGuiWorkbenchOpenSessionActivationType,
7
7
  agentGuiWorkbenchPrefillPromptActivationType
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutti-os/agent-gui",
3
- "version": "0.0.114",
3
+ "version": "0.0.116",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -45,6 +45,10 @@
45
45
  "types": "./dist/agent-env/index.d.ts",
46
46
  "import": "./dist/agent-env/index.js"
47
47
  },
48
+ "./agent-env-ui": {
49
+ "types": "./dist/agent-env/ui.d.ts",
50
+ "import": "./dist/agent-env/ui.js"
51
+ },
48
52
  "./context-mention-palette": {
49
53
  "types": "./dist/context-mention-palette/index.d.ts",
50
54
  "import": "./dist/context-mention-palette/index.js"
@@ -128,17 +132,17 @@
128
132
  "@tiptap/react": "^3.11.1",
129
133
  "@tiptap/starter-kit": "^3.11.1",
130
134
  "@tiptap/suggestion": "^3.11.1",
131
- "@tutti-os/agent-activity-core": "0.0.114",
132
- "@tutti-os/ui-i18n-runtime": "0.0.114",
133
- "@tutti-os/ui-react-hooks": "0.0.114",
134
- "@tutti-os/ui-rich-text": "0.0.114",
135
- "@tutti-os/ui-system": "0.0.114",
136
- "@tutti-os/workbench-surface": "0.0.114",
137
- "@tutti-os/workspace-external-core": "0.0.114",
138
- "@tutti-os/workspace-file-manager": "0.0.114",
139
- "@tutti-os/workspace-file-reference": "0.0.114",
140
- "@tutti-os/workspace-issue-manager": "0.0.114",
141
- "@tutti-os/workspace-user-project": "0.0.114",
135
+ "@tutti-os/agent-activity-core": "0.0.116",
136
+ "@tutti-os/ui-i18n-runtime": "0.0.116",
137
+ "@tutti-os/ui-react-hooks": "0.0.116",
138
+ "@tutti-os/ui-rich-text": "0.0.116",
139
+ "@tutti-os/ui-system": "0.0.116",
140
+ "@tutti-os/workbench-surface": "0.0.116",
141
+ "@tutti-os/workspace-external-core": "0.0.116",
142
+ "@tutti-os/workspace-file-manager": "0.0.116",
143
+ "@tutti-os/workspace-file-reference": "0.0.116",
144
+ "@tutti-os/workspace-issue-manager": "0.0.116",
145
+ "@tutti-os/workspace-user-project": "0.0.116",
142
146
  "clsx": "^2.1.1",
143
147
  "framer-motion": "^12.40.0",
144
148
  "lodash": "^4.17.21",
@@ -213,6 +217,9 @@
213
217
  "agent-env": [
214
218
  "./dist/agent-env/index.d.ts"
215
219
  ],
220
+ "agent-env-ui": [
221
+ "./dist/agent-env/ui.d.ts"
222
+ ],
216
223
  "context-mention-palette": [
217
224
  "./dist/context-mention-palette/index.d.ts"
218
225
  ],
@@ -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 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 ...(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 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 });\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/** Package-internal bridge while the carried node is migrated to agent names. */\nexport function projectAgentGUIAgentsToInternalTargets(\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 },\n label: agent.name,\n availability: agent.availability,\n ...(agent.description ? { description: agent.description } : {}),\n iconUrl: agent.iconUrl,\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.availability.status !== \"ready\" ? { disabled: true } : {}),\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":[]}