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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anentrypoint-design",
3
- "version": "0.0.454",
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
- cwd ? h('button', { type: 'button', class: 'agentchat-cwd-btn', onclick: () => onClear && onClear() }, 'use default') : null);
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
- return h('div', { class: 'ds-git-diff-empty', role: 'status' }, 'no diff to show');
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
- sessions.length ? sessions.length + ' running' : '0 running')),
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);
@@ -1203,6 +1203,8 @@ export interface GitDiffViewProps {
1203
1203
  /** @default '' */
1204
1204
  diff?: string;
1205
1205
  filename?: any;
1206
+ /** @default false */
1207
+ binary?: boolean;
1206
1208
  }
1207
1209
  export declare function GitDiffView(props?: GitDiffViewProps): VNode;
1208
1210