@tutti-os/agent-gui 0.0.94 → 0.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -32
- package/dist/AgentGUI-CwBLYtv-.d.ts +992 -0
- package/dist/agent-conversation/index.d.ts +5 -7
- package/dist/agent-conversation/index.js +12 -8
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.d.ts +10 -36
- package/dist/agent-env/index.js +1 -56
- package/dist/agent-env/index.js.map +1 -1
- package/dist/agent-gui.d.ts +21 -0
- package/dist/agent-gui.js +39 -0
- package/dist/agent-message-center/index.d.ts +145 -124
- package/dist/agent-message-center/index.js +1374 -1316
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-Cl4G0Lln.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
- package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
- package/dist/{agentGuiNodeTypes-CAioPXK9.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +96 -148
- package/dist/agentPlanPromptDispatch-C7cCMjve.d.ts +37 -0
- package/dist/agents.d.ts +13 -0
- package/dist/agents.js +13 -0
- package/dist/app/renderer/agentactivity.css +126 -80
- package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
- package/dist/{chunk-P72YLKC6.js → chunk-3R2D4E57.js} +3127 -3398
- package/dist/chunk-3R2D4E57.js.map +1 -0
- package/dist/chunk-4YG7YK7S.js +23 -0
- package/dist/chunk-4YG7YK7S.js.map +1 -0
- package/dist/chunk-5X7YDOC6.js +42 -0
- package/dist/chunk-5X7YDOC6.js.map +1 -0
- package/dist/{chunk-IBIMGLCD.js → chunk-7J4K6WKB.js} +1 -1
- package/dist/chunk-7J4K6WKB.js.map +1 -0
- package/dist/{chunk-BXVPOGYK.js → chunk-7PFDA2HQ.js} +505 -504
- package/dist/chunk-7PFDA2HQ.js.map +1 -0
- package/dist/{chunk-AWAIUYG4.js → chunk-7RDD3EWP.js} +513 -555
- package/dist/chunk-7RDD3EWP.js.map +1 -0
- package/dist/{chunk-UBDPV34P.js → chunk-AOS2VWU6.js} +1355 -1305
- package/dist/chunk-AOS2VWU6.js.map +1 -0
- package/dist/{chunk-E5FOXRUM.js → chunk-BFNJKTDV.js} +295 -255
- package/dist/chunk-BFNJKTDV.js.map +1 -0
- package/dist/{chunk-5FE7M42A.js → chunk-BIHBXWK5.js} +2 -2
- package/dist/{chunk-7BUYFVRI.js → chunk-C5FV4UGI.js} +2921 -2944
- package/dist/chunk-C5FV4UGI.js.map +1 -0
- package/dist/{chunk-SCLLP5DO.js → chunk-CRO2MV2Y.js} +36 -46
- package/dist/chunk-CRO2MV2Y.js.map +1 -0
- package/dist/chunk-FGLQZ6I4.js +9 -0
- package/dist/chunk-FGLQZ6I4.js.map +1 -0
- package/dist/chunk-H6IQ63DQ.js +14 -0
- package/dist/chunk-H6IQ63DQ.js.map +1 -0
- package/dist/{chunk-IGY4ASUF.js → chunk-JX2SIXNL.js} +1293 -1702
- package/dist/chunk-JX2SIXNL.js.map +1 -0
- package/dist/chunk-KAL4XZMA.js +231 -0
- package/dist/chunk-KAL4XZMA.js.map +1 -0
- package/dist/chunk-KJQERFKX.js +259 -0
- package/dist/chunk-KJQERFKX.js.map +1 -0
- package/dist/chunk-LQVXBT65.js +491 -0
- package/dist/chunk-LQVXBT65.js.map +1 -0
- package/dist/{chunk-554VG7ZW.js → chunk-NITOD7WF.js} +2 -2
- package/dist/{chunk-7LMJXF4R.js → chunk-NJAZ7LQM.js} +20 -16
- package/dist/chunk-NJAZ7LQM.js.map +1 -0
- package/dist/chunk-NX3CZJXW.js +25 -0
- package/dist/chunk-NX3CZJXW.js.map +1 -0
- package/dist/chunk-O6W72SEP.js +93 -0
- package/dist/chunk-O6W72SEP.js.map +1 -0
- package/dist/chunk-RY6GIO3K.js +31700 -0
- package/dist/chunk-RY6GIO3K.js.map +1 -0
- package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
- package/dist/chunk-UGVI47X6.js.map +1 -0
- package/dist/{chunk-XW4CVBUH.js → chunk-UQJPV6HP.js} +18 -11
- package/dist/chunk-UQJPV6HP.js.map +1 -0
- package/dist/{chunk-GAPTLVII.js → chunk-VF22EG3F.js} +1 -1
- package/dist/{chunk-GAPTLVII.js.map → chunk-VF22EG3F.js.map} +1 -1
- package/dist/{chunk-45FF4DQU.js → chunk-WEDMAVX2.js} +22 -24
- package/dist/chunk-WEDMAVX2.js.map +1 -0
- package/dist/{chunk-MATIJPGF.js → chunk-XMO45GKA.js} +531 -401
- package/dist/chunk-XMO45GKA.js.map +1 -0
- package/dist/{chunk-ZUW4B5AT.js → chunk-YE25HN6T.js} +6 -9
- package/dist/chunk-YE25HN6T.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +3 -2
- package/dist/context-mention-palette/index.js +19 -14
- package/dist/custom-mention.d.ts +44 -0
- package/dist/custom-mention.js +17 -0
- package/dist/custom-mention.js.map +1 -0
- package/dist/dock-icons.d.ts +6 -0
- package/dist/dock-icons.js +11 -0
- package/dist/dock-icons.js.map +1 -0
- package/dist/i18n/index.d.ts +850 -841
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +52 -1061
- package/dist/index.js +72 -35530
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +226 -0
- package/dist/mention-search.js +29 -0
- package/dist/mention-search.js.map +1 -0
- package/dist/open-link-lined-JWEKUKME.svg +4 -0
- package/dist/provider-icons.d.ts +6 -0
- package/dist/provider-icons.js +12 -0
- package/dist/provider-icons.js.map +1 -0
- package/dist/provider-identity.d.ts +9 -0
- package/dist/provider-identity.js +21 -0
- package/dist/provider-identity.js.map +1 -0
- package/dist/runtime-BBNdWgDU.d.ts +10 -0
- package/dist/{types-PLFZ8SBX.d.ts → types-DX2bxgB8.d.ts} +28 -83
- package/dist/workbench/contribution.d.ts +32 -40
- package/dist/workbench/contribution.js +10 -6
- package/dist/workbench/index.d.ts +3 -2
- package/dist/workbench/index.js +24 -20
- package/dist/workbench/launch.d.ts +2 -5
- package/dist/workbench/launch.js +4 -3
- package/dist/workbench/providerCatalog.js +2 -1
- package/dist/workbench/sessionTitle.d.ts +4 -3
- package/dist/workbench/sessionTitle.js +4 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/state.js +3 -2
- package/dist/workbench/types.d.ts +0 -3
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.d.ts +20 -2
- package/dist/workspace-agent-generated-files.js +7 -6
- package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
- package/package.json +63 -26
- package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
- package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
- package/dist/chunk-45FF4DQU.js.map +0 -1
- package/dist/chunk-4HP6V2YA.js +0 -207
- package/dist/chunk-4HP6V2YA.js.map +0 -1
- package/dist/chunk-7BUYFVRI.js.map +0 -1
- package/dist/chunk-7LMJXF4R.js.map +0 -1
- package/dist/chunk-AWAIUYG4.js.map +0 -1
- package/dist/chunk-BXVPOGYK.js.map +0 -1
- package/dist/chunk-E5FOXRUM.js.map +0 -1
- package/dist/chunk-IBIMGLCD.js.map +0 -1
- package/dist/chunk-IGY4ASUF.js.map +0 -1
- package/dist/chunk-LR4FA5X6.js +0 -368
- package/dist/chunk-LR4FA5X6.js.map +0 -1
- package/dist/chunk-MATIJPGF.js.map +0 -1
- package/dist/chunk-MKHDRIGN.js +0 -71
- package/dist/chunk-MKHDRIGN.js.map +0 -1
- package/dist/chunk-P72YLKC6.js.map +0 -1
- package/dist/chunk-SCLLP5DO.js.map +0 -1
- package/dist/chunk-UBDPV34P.js.map +0 -1
- package/dist/chunk-VAKFNNKT.js +0 -410
- package/dist/chunk-VAKFNNKT.js.map +0 -1
- package/dist/chunk-XDV4ZRVK.js.map +0 -1
- package/dist/chunk-XW4CVBUH.js.map +0 -1
- package/dist/chunk-ZUW4B5AT.js.map +0 -1
- package/dist/plan-decision-ops.d.ts +0 -70
- package/dist/plan-decision-ops.js +0 -19
- package/dist/queued-prompt-runtime.d.ts +0 -115
- package/dist/queued-prompt-runtime.js +0 -9
- package/dist/workspaceAgentActivityListViewModel-BzV-cf0D.d.ts +0 -340
- package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
- /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
- /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
- /package/dist/{chunk-5FE7M42A.js.map → chunk-BIHBXWK5.js.map} +0 -0
- /package/dist/{chunk-554VG7ZW.js.map → chunk-NITOD7WF.js.map} +0 -0
package/README.md
CHANGED
|
@@ -5,25 +5,21 @@ UI. It is a UI package, not a host transport or business-core package.
|
|
|
5
5
|
|
|
6
6
|
Before changing AgentGUI, AgentGuiNode, or the agent conversation module, read
|
|
7
7
|
[AgentGuiNode Architecture and Troubleshooting](../../../docs/architecture/agent-gui-node.md).
|
|
8
|
-
It
|
|
9
|
-
|
|
8
|
+
It defines daemon, workspace-engine, GUI-module, provider, and desktop-host
|
|
9
|
+
ownership.
|
|
10
10
|
|
|
11
11
|
## Data Source
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
The injected workspace `AgentSessionEngine`, reached through
|
|
14
|
+
`AgentActivityRuntime`, is AgentGUI's only source for canonical agent activity
|
|
15
|
+
data.
|
|
14
16
|
|
|
15
17
|
Runtime-owned data includes:
|
|
16
18
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
- session event subscriptions
|
|
22
|
-
- session create, activate, unactivate, input, cancel, interactive submit,
|
|
23
|
-
delete, pin, settings update, control-state read, composer-options read, and
|
|
24
|
-
get session operations
|
|
25
|
-
- provider/session preparation hooks that directly gate activity flow, such as
|
|
26
|
-
OpenClaw gateway warmup
|
|
19
|
+
- canonical sessions, turns, interactions, and operation state
|
|
20
|
+
- prompt queue and correlated optimistic intents
|
|
21
|
+
- stable selector projections
|
|
22
|
+
- semantic session, turn, prompt, interaction, settings, and goal commands
|
|
27
23
|
|
|
28
24
|
Runtime-owned capability declarations are optional and default to enabled:
|
|
29
25
|
|
|
@@ -49,34 +45,29 @@ render-state changes, and caught errors. Set
|
|
|
49
45
|
fallback. Production builds stay silent unless the host provides
|
|
50
46
|
`reportDiagnostic`.
|
|
51
47
|
|
|
52
|
-
|
|
53
|
-
activity data:
|
|
48
|
+
Host capabilities remain separate from activity data. `AgentHostApi` is still
|
|
49
|
+
accepted for host capabilities that are not agent activity data:
|
|
54
50
|
|
|
55
51
|
- workspace files and file references
|
|
56
52
|
- clipboard
|
|
57
|
-
- runtime metadata and diagnostics
|
|
58
53
|
- account/user lookup
|
|
59
54
|
- user-project selection
|
|
60
55
|
- local file picking/reading and batch export helpers
|
|
61
56
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
for projection boundaries, non-desktop legacy hosts, and tests.
|
|
57
|
+
AgentGUI has no host-API activity fallback. A host must inject the runtime and
|
|
58
|
+
the grouped `AgentGUINodeProps` responsibility objects.
|
|
65
59
|
|
|
66
60
|
## Boundary Rule
|
|
67
61
|
|
|
68
62
|
`AgentActivity*` types from `@tutti-os/agent-activity-core` are the canonical
|
|
69
|
-
frontend agent activity model.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
`
|
|
76
|
-
|
|
77
|
-
instead of `agentSessions.activate`, `agentSessions.unactivate`,
|
|
78
|
-
`agentSessions.exec`, `agentSessions.cancel`, `agentSessions.submitInteractive`,
|
|
79
|
-
`agentSessions.updateSettings`, or `agentSessions.pinSession`.
|
|
63
|
+
frontend agent activity model. Production reads use exported engine selectors;
|
|
64
|
+
production writes use engine commands. GUI modules must not read entity maps,
|
|
65
|
+
subscribe to daemon streams, or reconstruct session/turn lifecycle from
|
|
66
|
+
messages.
|
|
67
|
+
|
|
68
|
+
Runtime identity is explicit: each consumer resolves the injected engine and
|
|
69
|
+
verifies its `(workspaceId, origin)` identity. Module-global runtime slots and
|
|
70
|
+
hidden origin registries are forbidden.
|
|
80
71
|
|
|
81
72
|
Run this boundary check after changing AgentGUI data flow:
|
|
82
73
|
|
|
@@ -84,6 +75,13 @@ Run this boundary check after changing AgentGUI data flow:
|
|
|
84
75
|
pnpm check:agent-activity-runtime-boundaries
|
|
85
76
|
```
|
|
86
77
|
|
|
78
|
+
## Node Contract
|
|
79
|
+
|
|
80
|
+
`AgentGUINodeProps` has eight required top-level responsibilities:
|
|
81
|
+
`identity`, `workspace`, `frame`, `state`, `runtimeRequests`,
|
|
82
|
+
`hostCapabilities`, `hostActions`, and `renderSlots`. Extend the owning object;
|
|
83
|
+
do not restore flat compatibility props.
|
|
84
|
+
|
|
87
85
|
## Agent Directory
|
|
88
86
|
|
|
89
87
|
`AgentGUI` requires the host's `/agents` projection through its `agents` prop.
|
|
@@ -121,6 +119,10 @@ may share the same `provider` and remain distinct. `provider` is runtime metadat
|
|
|
121
119
|
for provider-native execution, composer policy, probes, and capabilities; it
|
|
122
120
|
must not be used to group, deduplicate, name, icon, or select agents.
|
|
123
121
|
|
|
122
|
+
Runnable provider targets are host-supplied. If the target catalog is absent,
|
|
123
|
+
AgentGUI presents an explicit unavailable state; it does not synthesize local
|
|
124
|
+
targets from presentation metadata.
|
|
125
|
+
|
|
124
126
|
Agent names and primary icons always come from `agents[].name` and
|
|
125
127
|
`agents[].iconUrl`. `owner.avatarUrl` is rendered separately as an ownership
|
|
126
128
|
badge. Invalid entries and duplicate `agentTargetId` values are discarded by
|
|
@@ -131,6 +133,19 @@ directly. With multiple agents, it shows `All` plus the host-ordered agent rail
|
|
|
131
133
|
and empty-home carousel. Hosts may customize the aggregate icon with
|
|
132
134
|
`allAgentsPresentation.iconUrl`.
|
|
133
135
|
|
|
136
|
+
Hosts adapting daemon-owned agent targets must resolve the target's descriptor
|
|
137
|
+
`iconKey` instead of assuming it equals the provider ID. The narrow
|
|
138
|
+
`@tutti-os/agent-gui/provider-icons` subpath exports
|
|
139
|
+
`resolveProviderIconAsset(iconKey, variant)` for that adapter seam. Unknown
|
|
140
|
+
keys return `null`; hosts should render a neutral icon rather than silently
|
|
141
|
+
substituting another provider's icon.
|
|
142
|
+
|
|
143
|
+
Hosts that need provider identity presentation may call
|
|
144
|
+
`resolveAgentGUIProviderIdentity(value)` from the narrow
|
|
145
|
+
`@tutti-os/agent-gui/provider-identity` subpath. Migrated providers resolve from
|
|
146
|
+
the generated descriptor catalog, which is checked against the daemon provider
|
|
147
|
+
registry and OpenAPI provider enums.
|
|
148
|
+
|
|
134
149
|
Inside AgentGUI, normalized directory entries use the canonical
|
|
135
150
|
`AgentGUIAgentTarget` / `agentTargets` vocabulary. `provider` is execution
|
|
136
151
|
metadata, not target identity. Rail tiles, the single-agent empty state, and
|
|
@@ -143,8 +158,9 @@ for that asset. The WebGL carousel keeps a local programmatic owner marker when
|
|
|
143
158
|
the remote image cannot be decoded or uploaded safely, while DOM avatar
|
|
144
159
|
surfaces continue using the same shared presentation.
|
|
145
160
|
|
|
146
|
-
|
|
147
|
-
host-specific loaded-empty state. Use
|
|
161
|
+
Pass the full `agentDirectory` lifecycle snapshot for directory hydration and
|
|
162
|
+
use `renderAgentsEmpty` for a host-specific loaded-empty state. Use
|
|
163
|
+
`renderAgentUnavailableState` or
|
|
148
164
|
`renderAgentReadinessState` for host-specific availability presentation, and
|
|
149
165
|
handle install/login/refresh requests through `onAgentAvailabilityAction`.
|
|
150
166
|
|