anentrypoint-design 0.0.301 → 0.0.302
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/app-shell.css +18 -22
- package/chat.css +11 -0
- package/dist/247420.css +29 -22
- package/dist/247420.js +15 -15
- package/package.json +1 -1
- package/src/components/agent-chat.js +1 -1
- package/src/components/chat.js +1 -1
- package/src/components/context-pane.js +15 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.302",
|
|
4
4
|
"description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/247420.js",
|
|
@@ -355,7 +355,7 @@ export function AgentChat(props = {}) {
|
|
|
355
355
|
? h('div', { class: 'agentchat-empty', role: 'status' },
|
|
356
356
|
h('p', { class: 'agentchat-empty-title' }, selectedAgent ? 'Start a conversation with ' + name : 'Choose an agent to begin'),
|
|
357
357
|
h('p', { class: 'agentchat-empty-sub' },
|
|
358
|
-
selectedAgent ? 'Type a message below
|
|
358
|
+
selectedAgent ? 'Type a message below to get started.' : 'Pick an agent from the selector above, then send a message.'),
|
|
359
359
|
(suggestions && suggestions.length)
|
|
360
360
|
? h('div', { class: 'agentchat-empty-suggestions' },
|
|
361
361
|
...suggestions.map((s, i) => h('button', {
|
package/src/components/chat.js
CHANGED
|
@@ -674,7 +674,7 @@ export function Chat({ title = 'chat', sub, messages = [], composer, header, sug
|
|
|
674
674
|
messages.length === 0
|
|
675
675
|
? h('div', { key: '_empty', class: 'chat-empty', role: 'status' },
|
|
676
676
|
h('p', { class: 'chat-empty-title' }, 'start a conversation'),
|
|
677
|
-
h('p', { class: 'chat-empty-sub' }, sub || '
|
|
677
|
+
h('p', { class: 'chat-empty-sub' }, sub || 'Send a message to start the conversation'),
|
|
678
678
|
(suggestions && suggestions.length)
|
|
679
679
|
? h('div', { class: 'chat-empty-suggestions' },
|
|
680
680
|
...suggestions.map((s, i) => h('button', { key: 'sug' + i, type: 'button', class: 'chat-empty-suggestion',
|
|
@@ -83,14 +83,19 @@ export function ContextPane({ agent, model, cwd, toolCount = 0, usage, session,
|
|
|
83
83
|
// Conversation block: whole-session totals (turn count + accumulated cost)
|
|
84
84
|
// between the context panel and the per-turn usage panel. All-zero totals
|
|
85
85
|
// are noise, not context - hide the block until there is a conversation.
|
|
86
|
+
// Rendered as a lighter fact group (no card chrome) since it's 1-2 short
|
|
87
|
+
// facts, not enough weight to justify a full bordered Panel.
|
|
86
88
|
if (hasSession && (Number(session.turns) > 0 || Number(session.cost) > 0)) {
|
|
87
89
|
const sesRows = [];
|
|
88
90
|
if (session.turns != null) sesRows.push(Row({ title: 'turns', meta: String(session.turns) }));
|
|
89
91
|
if (session.cost != null) sesRows.push(Row({ title: 'total cost', meta: '$' + Number(session.cost).toFixed(4) }));
|
|
90
|
-
panels.push(
|
|
92
|
+
panels.push(h('div', { class: 'ds-context-group' },
|
|
93
|
+
h('div', { class: 'ds-context-group-label' }, 'conversation'),
|
|
94
|
+
...sesRows));
|
|
91
95
|
}
|
|
92
96
|
// Usage block: surface the last turn's token/cost/turn/duration so the
|
|
93
|
-
// result event is no longer silently dropped.
|
|
97
|
+
// result event is no longer silently dropped. Lighter fact group, not a
|
|
98
|
+
// full Panel - same reasoning as the conversation block above.
|
|
94
99
|
if (hasUsage) {
|
|
95
100
|
const tokRows = [];
|
|
96
101
|
if (usage.inputTokens != null) tokRows.push(Row({ title: 'input', meta: fmtTok(usage.inputTokens) + ' tok' }));
|
|
@@ -99,10 +104,13 @@ export function ContextPane({ agent, model, cwd, toolCount = 0, usage, session,
|
|
|
99
104
|
if (usage.turns != null) tokRows.push(Row({ title: 'turns', meta: String(usage.turns) }));
|
|
100
105
|
// One duration vocabulary kit-wide: shared fmtDuration (s -> m -> h).
|
|
101
106
|
if (usage.durationMs != null) tokRows.push(Row({ title: 'duration', meta: fmtDuration(usage.durationMs) }));
|
|
102
|
-
panels.push(
|
|
107
|
+
panels.push(h('div', { class: 'ds-context-group' },
|
|
108
|
+
h('div', { class: 'ds-context-group-label' }, 'last turn'),
|
|
109
|
+
...tokRows));
|
|
103
110
|
}
|
|
104
111
|
// Recent files: files touched by tool calls this session, most-recent
|
|
105
|
-
// first, capped to 5 rows so the panel stays a glance not a log.
|
|
112
|
+
// first, capped to 5 rows so the panel stays a glance not a log. Lighter
|
|
113
|
+
// fact group, not a full Panel - same reasoning as above.
|
|
106
114
|
if (Array.isArray(recentFiles) && recentFiles.length) {
|
|
107
115
|
const fileRows = recentFiles.slice(0, 5).map((f) => Row({
|
|
108
116
|
title: f.path.split(/[/\\]/).filter(Boolean).pop() || f.path,
|
|
@@ -110,7 +118,9 @@ export function ContextPane({ agent, model, cwd, toolCount = 0, usage, session,
|
|
|
110
118
|
meta: f.time || undefined,
|
|
111
119
|
onClick: onOpenFile ? () => onOpenFile(f.path) : undefined,
|
|
112
120
|
}));
|
|
113
|
-
panels.push(
|
|
121
|
+
panels.push(h('div', { class: 'ds-context-group' },
|
|
122
|
+
h('div', { class: 'ds-context-group-label' }, 'recent files'),
|
|
123
|
+
...fileRows));
|
|
114
124
|
}
|
|
115
125
|
// The cwd action lives on the working-dir row above; no floating footer button.
|
|
116
126
|
return h('div', { class: 'ds-context' }, ...panels);
|