anentrypoint-design 0.0.454 → 0.0.455
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/dist/247420.css +18 -0
- package/dist/247420.js +24 -24
- package/package.json +1 -1
- package/src/components/agent-chat/controls.js +6 -2
- package/src/components/agent-chat/surface.js +2 -2
- package/src/components/git-status.js +6 -2
- package/src/components/sessions/dashboard.js +5 -1
- package/src/css/app-shell/data-density.css +18 -0
- package/types/components.d.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.455",
|
|
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",
|
|
@@ -81,7 +81,7 @@ export function AgentControls({ agents, selectedAgent, models, selectedModel, bu
|
|
|
81
81
|
// renders them as a breadcrumb + clickable dir list right in the composer
|
|
82
82
|
// — no round-trip through the Files tab and back required anymore.
|
|
83
83
|
export function CwdBar({ cwd, editing, draft, onEdit, onSave, onCancel, onClear, onDraft, error, checking,
|
|
84
|
-
roots, recent, browse, onBrowseCrumb, onBrowseEnter, onBrowsePick, onBrowseToggle }) {
|
|
84
|
+
roots, recent, browse, onBrowseCrumb, onBrowseEnter, onBrowsePick, onBrowseToggle, defaultCwd }) {
|
|
85
85
|
if (editing) {
|
|
86
86
|
const hint = checking ? 'checking…' : (error || null);
|
|
87
87
|
const rootsRow = (roots && roots.length)
|
|
@@ -139,5 +139,9 @@ export function CwdBar({ cwd, editing, draft, onEdit, onSave, onCancel, onClear,
|
|
|
139
139
|
h('span', { class: 'agentchat-cwd-text', title: cwd || 'server default working directory' },
|
|
140
140
|
'cwd: ' + (cwd || 'server default')),
|
|
141
141
|
h('button', { type: 'button', class: 'agentchat-cwd-btn', onclick: () => onEdit && onEdit() }, cwd ? 'change' : 'set'),
|
|
142
|
-
|
|
142
|
+
// What "default" resolves to previously wasn't visible until clicked -
|
|
143
|
+
// a title tooltip on the button itself answers that before the click.
|
|
144
|
+
cwd ? h('button', { type: 'button', class: 'agentchat-cwd-btn',
|
|
145
|
+
title: defaultCwd ? ('resets to: ' + defaultCwd) : 'reset to the server default working directory',
|
|
146
|
+
onclick: () => onClear && onClear() }, 'use default') : null);
|
|
143
147
|
}
|
|
@@ -28,7 +28,7 @@ export function AgentChat(props = {}) {
|
|
|
28
28
|
agents = [], selectedAgent = '', models = [], selectedModel = '', modelsLoading = false, agentsLoading = false,
|
|
29
29
|
messages = [], busy = false, draft = '', status, banners = [],
|
|
30
30
|
cwd = '', cwdEditing = false, cwdDraft, cwdError, cwdChecking = false,
|
|
31
|
-
cwdRoots, cwdRecent, cwdBrowse,
|
|
31
|
+
cwdRoots, cwdRecent, cwdBrowse, defaultCwd,
|
|
32
32
|
agentName, placeholder,
|
|
33
33
|
onSelectAgent, onSelectModel, onSend, onStop, onNewChat, onInput,
|
|
34
34
|
onCwdEdit, onCwdSave, onCwdCancel, onCwdClear, onCwdDraft,
|
|
@@ -197,7 +197,7 @@ export function AgentChat(props = {}) {
|
|
|
197
197
|
AgentControls({ agents, selectedAgent, models, selectedModel, busy, status, modelsLoading, agentsLoading,
|
|
198
198
|
onSelectAgent, onSelectModel, onNewChat, onStop, exportActions }),
|
|
199
199
|
CwdBar({ cwd, editing: cwdEditing, draft: cwdDraft, error: cwdError, checking: cwdChecking,
|
|
200
|
-
roots: cwdRoots, recent: cwdRecent, browse: cwdBrowse,
|
|
200
|
+
roots: cwdRoots, recent: cwdRecent, browse: cwdBrowse, defaultCwd,
|
|
201
201
|
onEdit: onCwdEdit, onSave: onCwdSave, onCancel: onCwdCancel, onClear: onCwdClear, onDraft: onCwdDraft,
|
|
202
202
|
onBrowseToggle: onCwdBrowseToggle, onBrowseCrumb: onCwdBrowseCrumb, onBrowseEnter: onCwdBrowseEnter, onBrowsePick: onCwdBrowsePick }),
|
|
203
203
|
...(banners || []).filter(Boolean),
|
|
@@ -144,7 +144,7 @@ function langFromFilename(filename = '') {
|
|
|
144
144
|
// highlight.js's Prism loader for language detection by file extension; the
|
|
145
145
|
// +/- marker column is drawn by CSS (tone classes), Prism only tokenizes the
|
|
146
146
|
// code content inside each line.
|
|
147
|
-
export function GitDiffView({ diff = '', filename } = {}) {
|
|
147
|
+
export function GitDiffView({ diff = '', filename, binary = false } = {}) {
|
|
148
148
|
const hunks = parseUnifiedDiff(diff);
|
|
149
149
|
const lang = langFromFilename(filename);
|
|
150
150
|
const highlightRef = (el) => {
|
|
@@ -152,7 +152,11 @@ export function GitDiffView({ diff = '', filename } = {}) {
|
|
|
152
152
|
try { highlightAllUnder(el); } catch { /* swallow: progressive enhancement only */ }
|
|
153
153
|
};
|
|
154
154
|
if (!hunks.length) {
|
|
155
|
-
|
|
155
|
+
// A binary changed file produces no unified diff at all - saying
|
|
156
|
+
// "no diff to show" reads as "nothing changed", which is wrong and
|
|
157
|
+
// misleading; name the real reason instead.
|
|
158
|
+
return h('div', { class: 'ds-git-diff-empty', role: 'status' },
|
|
159
|
+
binary ? 'binary file, diff not shown' : 'no diff to show');
|
|
156
160
|
}
|
|
157
161
|
return h('div', { class: 'ds-git-diff', ref: highlightRef },
|
|
158
162
|
filename ? h('div', { class: 'ds-git-diff-head' }, h('span', { class: 'name' }, filename)) : null,
|
|
@@ -156,7 +156,11 @@ export function SessionDashboard({ sessions = [], onStop, onOpen, onView, onStop
|
|
|
156
156
|
selectable && selCount
|
|
157
157
|
? h('span', { key: 'cnt', class: 'ds-dash-count', role: 'status', 'aria-live': 'polite' }, selCount + ' selected')
|
|
158
158
|
: (breakdown || h('span', { key: 'cnt', class: 'ds-dash-count', role: 'status', 'aria-live': 'polite' },
|
|
159
|
-
|
|
159
|
+
// A "0 running" count is only trustworthy once the stream has
|
|
160
|
+
// actually connected - while still connecting/offline, zero means
|
|
161
|
+
// "no data yet", not "verified empty", and must read as such.
|
|
162
|
+
sessions.length ? sessions.length + ' running'
|
|
163
|
+
: (streamState && streamState !== 'connected' ? '— running (' + (STREAM_WORD[streamState] || streamState) + ')' : '0 running'))),
|
|
160
164
|
selectAllCtl, clearCtl, streamLine,
|
|
161
165
|
h('span', { key: 'spread', class: 'spread' }),
|
|
162
166
|
// No stop control without a session to stop; the empty dashboard keeps
|
|
@@ -127,6 +127,24 @@
|
|
|
127
127
|
static readouts). */
|
|
128
128
|
.ds-session-row[role="button"], a.ds-session-row { cursor: pointer; }
|
|
129
129
|
|
|
130
|
+
/* ConversationList's title/meta layout had no dedicated rule anywhere (only a
|
|
131
|
+
stray cross-reference comment in panel-row.css), so the title sat at flex's
|
|
132
|
+
default 0-basis and lost the space race to its meta siblings (agent name,
|
|
133
|
+
status dot) - titles truncated to a character or two ("d…") well before the
|
|
134
|
+
row ran out of real width. .ds-session-main grows to fill the row; its
|
|
135
|
+
title/sub children get the min-width:0 an ellipsis needs inside a flex
|
|
136
|
+
item; the meta/actions siblings take only what their content needs. */
|
|
137
|
+
.ds-session-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0; }
|
|
138
|
+
.ds-session-title {
|
|
139
|
+
display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
140
|
+
font-size: var(--fs-sm); font-weight: 500; color: var(--fg);
|
|
141
|
+
}
|
|
142
|
+
.ds-session-sub {
|
|
143
|
+
display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
144
|
+
font-size: var(--fs-micro); color: var(--fg-3);
|
|
145
|
+
}
|
|
146
|
+
.ds-session-meta, .ds-session-row-actions { flex: 0 0 auto; display: flex; align-items: center; gap: var(--space-1); }
|
|
147
|
+
|
|
130
148
|
/* Sub-parts that decorate the row above. */
|
|
131
149
|
.ds-session-row-id {
|
|
132
150
|
font-family: var(--ff-mono); font-size: var(--fs-micro); color: var(--accent-ink);
|
package/types/components.d.ts
CHANGED