@volter-ai-dev/supercode-ui 0.1.39 → 0.1.41
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/components.mjs +5 -9
- package/embed.mjs +5 -9
- package/index.d.ts +2 -0
- package/messenger.mjs +5 -9
- package/package.json +1 -1
- package/react/components.mjs +5 -9
- package/react/messenger.mjs +5 -9
- package/react/sessions.mjs +2 -1
- package/react/settings.mjs +3 -8
- package/sessions.mjs +2 -1
- package/settings.mjs +3 -8
package/components.mjs
CHANGED
|
@@ -2301,6 +2301,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2301
2301
|
const rowScroller = useRef5(null);
|
|
2302
2302
|
const rows = filterSessions(state.sessions, query);
|
|
2303
2303
|
const Row = components.SessionRow ?? SessionRow;
|
|
2304
|
+
const ListHeader = slots.listHeader;
|
|
2304
2305
|
const BeforeSessions = slots.beforeSessions;
|
|
2305
2306
|
const AfterSessions = slots.afterSessions;
|
|
2306
2307
|
useLayoutEffect3(() => {
|
|
@@ -2327,7 +2328,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2327
2328
|
}
|
|
2328
2329
|
};
|
|
2329
2330
|
return /* @__PURE__ */ jsxs7("section", { className: "scui-list", ref: root, children: [
|
|
2330
|
-
/* @__PURE__ */ jsxs7("header", { className: "scui-head", children: [
|
|
2331
|
+
ListHeader ? /* @__PURE__ */ jsx8(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs7("header", { className: "scui-head", children: [
|
|
2331
2332
|
/* @__PURE__ */ jsxs7("span", { className: "scui-head-copy", children: [
|
|
2332
2333
|
/* @__PURE__ */ jsx8("strong", { children: labels.chats }),
|
|
2333
2334
|
/* @__PURE__ */ jsxs7("small", { children: [
|
|
@@ -2458,14 +2459,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
2458
2459
|
}
|
|
2459
2460
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
2460
2461
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
2461
|
-
if (!blocked.length) return null;
|
|
2462
|
-
return /* @__PURE__ */ jsxs8("details", { className: "scui-readiness", open:
|
|
2463
|
-
/* @__PURE__ */
|
|
2464
|
-
blocked.length,
|
|
2465
|
-
" ",
|
|
2466
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
2467
|
-
" setup"
|
|
2468
|
-
] }),
|
|
2462
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
2463
|
+
return /* @__PURE__ */ jsxs8("details", { className: "scui-readiness", open: true, children: [
|
|
2464
|
+
/* @__PURE__ */ jsx9("summary", { children: "No coding harness is ready" }),
|
|
2469
2465
|
/* @__PURE__ */ jsx9("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs8("section", { children: [
|
|
2470
2466
|
/* @__PURE__ */ jsx9(HarnessLogo, { id: item.id, size: 25 }),
|
|
2471
2467
|
/* @__PURE__ */ jsxs8("span", { children: [
|
package/embed.mjs
CHANGED
|
@@ -2221,6 +2221,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2221
2221
|
const rowScroller = useRef5(null);
|
|
2222
2222
|
const rows = filterSessions(state.sessions, query);
|
|
2223
2223
|
const Row = components.SessionRow ?? SessionRow;
|
|
2224
|
+
const ListHeader = slots.listHeader;
|
|
2224
2225
|
const BeforeSessions = slots.beforeSessions;
|
|
2225
2226
|
const AfterSessions = slots.afterSessions;
|
|
2226
2227
|
useLayoutEffect3(() => {
|
|
@@ -2247,7 +2248,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2247
2248
|
}
|
|
2248
2249
|
};
|
|
2249
2250
|
return /* @__PURE__ */ jsxs6("section", { className: "scui-list", ref: root, children: [
|
|
2250
|
-
/* @__PURE__ */ jsxs6("header", { className: "scui-head", children: [
|
|
2251
|
+
ListHeader ? /* @__PURE__ */ jsx7(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs6("header", { className: "scui-head", children: [
|
|
2251
2252
|
/* @__PURE__ */ jsxs6("span", { className: "scui-head-copy", children: [
|
|
2252
2253
|
/* @__PURE__ */ jsx7("strong", { children: labels.chats }),
|
|
2253
2254
|
/* @__PURE__ */ jsxs6("small", { children: [
|
|
@@ -2378,14 +2379,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
2378
2379
|
}
|
|
2379
2380
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
2380
2381
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
2381
|
-
if (!blocked.length) return null;
|
|
2382
|
-
return /* @__PURE__ */ jsxs7("details", { className: "scui-readiness", open:
|
|
2383
|
-
/* @__PURE__ */
|
|
2384
|
-
blocked.length,
|
|
2385
|
-
" ",
|
|
2386
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
2387
|
-
" setup"
|
|
2388
|
-
] }),
|
|
2382
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
2383
|
+
return /* @__PURE__ */ jsxs7("details", { className: "scui-readiness", open: true, children: [
|
|
2384
|
+
/* @__PURE__ */ jsx8("summary", { children: "No coding harness is ready" }),
|
|
2389
2385
|
/* @__PURE__ */ jsx8("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs7("section", { children: [
|
|
2390
2386
|
/* @__PURE__ */ jsx8(HarnessLogo, { id: item.id, size: 25 }),
|
|
2391
2387
|
/* @__PURE__ */ jsxs7("span", { children: [
|
package/index.d.ts
CHANGED
|
@@ -455,6 +455,8 @@ export interface AgentActivityLauncherProps {
|
|
|
455
455
|
|
|
456
456
|
export interface MessengerSlots {
|
|
457
457
|
header?: ComponentType<ComponentOverrideProps>;
|
|
458
|
+
/** Replace the conversation-list header. A component returning `null` delegates all list chrome to its host. */
|
|
459
|
+
listHeader?: ComponentType<ComponentOverrideProps<{ query: string; rows: SessionRowModel[]; onNew?(): void }>>;
|
|
458
460
|
/** Add a compact consumer control to every default messenger header. `value` is the current view. */
|
|
459
461
|
headerActions?: ComponentType<ComponentOverrideProps<'list' | 'chat' | 'new'>>;
|
|
460
462
|
/** Host-owned rows rendered inside the searchable conversation scroller. */
|
package/messenger.mjs
CHANGED
|
@@ -2218,6 +2218,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2218
2218
|
const rowScroller = useRef5(null);
|
|
2219
2219
|
const rows = filterSessions(state.sessions, query);
|
|
2220
2220
|
const Row = components.SessionRow ?? SessionRow;
|
|
2221
|
+
const ListHeader = slots.listHeader;
|
|
2221
2222
|
const BeforeSessions = slots.beforeSessions;
|
|
2222
2223
|
const AfterSessions = slots.afterSessions;
|
|
2223
2224
|
useLayoutEffect3(() => {
|
|
@@ -2244,7 +2245,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2244
2245
|
}
|
|
2245
2246
|
};
|
|
2246
2247
|
return /* @__PURE__ */ jsxs6("section", { className: "scui-list", ref: root, children: [
|
|
2247
|
-
/* @__PURE__ */ jsxs6("header", { className: "scui-head", children: [
|
|
2248
|
+
ListHeader ? /* @__PURE__ */ jsx7(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs6("header", { className: "scui-head", children: [
|
|
2248
2249
|
/* @__PURE__ */ jsxs6("span", { className: "scui-head-copy", children: [
|
|
2249
2250
|
/* @__PURE__ */ jsx7("strong", { children: labels.chats }),
|
|
2250
2251
|
/* @__PURE__ */ jsxs6("small", { children: [
|
|
@@ -2375,14 +2376,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
2375
2376
|
}
|
|
2376
2377
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
2377
2378
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
2378
|
-
if (!blocked.length) return null;
|
|
2379
|
-
return /* @__PURE__ */ jsxs7("details", { className: "scui-readiness", open:
|
|
2380
|
-
/* @__PURE__ */
|
|
2381
|
-
blocked.length,
|
|
2382
|
-
" ",
|
|
2383
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
2384
|
-
" setup"
|
|
2385
|
-
] }),
|
|
2379
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
2380
|
+
return /* @__PURE__ */ jsxs7("details", { className: "scui-readiness", open: true, children: [
|
|
2381
|
+
/* @__PURE__ */ jsx8("summary", { children: "No coding harness is ready" }),
|
|
2386
2382
|
/* @__PURE__ */ jsx8("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs7("section", { children: [
|
|
2387
2383
|
/* @__PURE__ */ jsx8(HarnessLogo, { id: item.id, size: 25 }),
|
|
2388
2384
|
/* @__PURE__ */ jsxs7("span", { children: [
|
package/package.json
CHANGED
package/react/components.mjs
CHANGED
|
@@ -2301,6 +2301,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2301
2301
|
const rowScroller = useRef5(null);
|
|
2302
2302
|
const rows = filterSessions(state.sessions, query);
|
|
2303
2303
|
const Row = components.SessionRow ?? SessionRow;
|
|
2304
|
+
const ListHeader = slots.listHeader;
|
|
2304
2305
|
const BeforeSessions = slots.beforeSessions;
|
|
2305
2306
|
const AfterSessions = slots.afterSessions;
|
|
2306
2307
|
useLayoutEffect3(() => {
|
|
@@ -2327,7 +2328,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2327
2328
|
}
|
|
2328
2329
|
};
|
|
2329
2330
|
return /* @__PURE__ */ jsxs7("section", { className: "scui-list", ref: root, children: [
|
|
2330
|
-
/* @__PURE__ */ jsxs7("header", { className: "scui-head", children: [
|
|
2331
|
+
ListHeader ? /* @__PURE__ */ jsx8(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs7("header", { className: "scui-head", children: [
|
|
2331
2332
|
/* @__PURE__ */ jsxs7("span", { className: "scui-head-copy", children: [
|
|
2332
2333
|
/* @__PURE__ */ jsx8("strong", { children: labels.chats }),
|
|
2333
2334
|
/* @__PURE__ */ jsxs7("small", { children: [
|
|
@@ -2458,14 +2459,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
2458
2459
|
}
|
|
2459
2460
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
2460
2461
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
2461
|
-
if (!blocked.length) return null;
|
|
2462
|
-
return /* @__PURE__ */ jsxs8("details", { className: "scui-readiness", open:
|
|
2463
|
-
/* @__PURE__ */
|
|
2464
|
-
blocked.length,
|
|
2465
|
-
" ",
|
|
2466
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
2467
|
-
" setup"
|
|
2468
|
-
] }),
|
|
2462
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
2463
|
+
return /* @__PURE__ */ jsxs8("details", { className: "scui-readiness", open: true, children: [
|
|
2464
|
+
/* @__PURE__ */ jsx9("summary", { children: "No coding harness is ready" }),
|
|
2469
2465
|
/* @__PURE__ */ jsx9("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs8("section", { children: [
|
|
2470
2466
|
/* @__PURE__ */ jsx9(HarnessLogo, { id: item.id, size: 25 }),
|
|
2471
2467
|
/* @__PURE__ */ jsxs8("span", { children: [
|
package/react/messenger.mjs
CHANGED
|
@@ -2218,6 +2218,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2218
2218
|
const rowScroller = useRef5(null);
|
|
2219
2219
|
const rows = filterSessions(state.sessions, query);
|
|
2220
2220
|
const Row = components.SessionRow ?? SessionRow;
|
|
2221
|
+
const ListHeader = slots.listHeader;
|
|
2221
2222
|
const BeforeSessions = slots.beforeSessions;
|
|
2222
2223
|
const AfterSessions = slots.afterSessions;
|
|
2223
2224
|
useLayoutEffect3(() => {
|
|
@@ -2244,7 +2245,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
2244
2245
|
}
|
|
2245
2246
|
};
|
|
2246
2247
|
return /* @__PURE__ */ jsxs6("section", { className: "scui-list", ref: root, children: [
|
|
2247
|
-
/* @__PURE__ */ jsxs6("header", { className: "scui-head", children: [
|
|
2248
|
+
ListHeader ? /* @__PURE__ */ jsx7(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs6("header", { className: "scui-head", children: [
|
|
2248
2249
|
/* @__PURE__ */ jsxs6("span", { className: "scui-head-copy", children: [
|
|
2249
2250
|
/* @__PURE__ */ jsx7("strong", { children: labels.chats }),
|
|
2250
2251
|
/* @__PURE__ */ jsxs6("small", { children: [
|
|
@@ -2375,14 +2376,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
2375
2376
|
}
|
|
2376
2377
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
2377
2378
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
2378
|
-
if (!blocked.length) return null;
|
|
2379
|
-
return /* @__PURE__ */ jsxs7("details", { className: "scui-readiness", open:
|
|
2380
|
-
/* @__PURE__ */
|
|
2381
|
-
blocked.length,
|
|
2382
|
-
" ",
|
|
2383
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
2384
|
-
" setup"
|
|
2385
|
-
] }),
|
|
2379
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
2380
|
+
return /* @__PURE__ */ jsxs7("details", { className: "scui-readiness", open: true, children: [
|
|
2381
|
+
/* @__PURE__ */ jsx8("summary", { children: "No coding harness is ready" }),
|
|
2386
2382
|
/* @__PURE__ */ jsx8("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs7("section", { children: [
|
|
2387
2383
|
/* @__PURE__ */ jsx8(HarnessLogo, { id: item.id, size: 25 }),
|
|
2388
2384
|
/* @__PURE__ */ jsxs7("span", { children: [
|
package/react/sessions.mjs
CHANGED
|
@@ -365,6 +365,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
365
365
|
const rowScroller = useRef4(null);
|
|
366
366
|
const rows = filterSessions(state.sessions, query);
|
|
367
367
|
const Row = components.SessionRow ?? SessionRow;
|
|
368
|
+
const ListHeader = slots.listHeader;
|
|
368
369
|
const BeforeSessions = slots.beforeSessions;
|
|
369
370
|
const AfterSessions = slots.afterSessions;
|
|
370
371
|
useLayoutEffect2(() => {
|
|
@@ -391,7 +392,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
391
392
|
}
|
|
392
393
|
};
|
|
393
394
|
return /* @__PURE__ */ jsxs5("section", { className: "scui-list", ref: root, children: [
|
|
394
|
-
/* @__PURE__ */ jsxs5("header", { className: "scui-head", children: [
|
|
395
|
+
ListHeader ? /* @__PURE__ */ jsx6(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs5("header", { className: "scui-head", children: [
|
|
395
396
|
/* @__PURE__ */ jsxs5("span", { className: "scui-head-copy", children: [
|
|
396
397
|
/* @__PURE__ */ jsx6("strong", { children: labels.chats }),
|
|
397
398
|
/* @__PURE__ */ jsxs5("small", { children: [
|
package/react/settings.mjs
CHANGED
|
@@ -289,14 +289,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
289
289
|
}
|
|
290
290
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
291
291
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
292
|
-
if (!blocked.length) return null;
|
|
293
|
-
return /* @__PURE__ */ jsxs3("details", { className: "scui-readiness", open:
|
|
294
|
-
/* @__PURE__ */
|
|
295
|
-
blocked.length,
|
|
296
|
-
" ",
|
|
297
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
298
|
-
" setup"
|
|
299
|
-
] }),
|
|
292
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
293
|
+
return /* @__PURE__ */ jsxs3("details", { className: "scui-readiness", open: true, children: [
|
|
294
|
+
/* @__PURE__ */ jsx3("summary", { children: "No coding harness is ready" }),
|
|
300
295
|
/* @__PURE__ */ jsx3("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs3("section", { children: [
|
|
301
296
|
/* @__PURE__ */ jsx3(HarnessLogo, { id: item.id, size: 25 }),
|
|
302
297
|
/* @__PURE__ */ jsxs3("span", { children: [
|
package/sessions.mjs
CHANGED
|
@@ -365,6 +365,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
365
365
|
const rowScroller = useRef4(null);
|
|
366
366
|
const rows = filterSessions(state.sessions, query);
|
|
367
367
|
const Row = components.SessionRow ?? SessionRow;
|
|
368
|
+
const ListHeader = slots.listHeader;
|
|
368
369
|
const BeforeSessions = slots.beforeSessions;
|
|
369
370
|
const AfterSessions = slots.afterSessions;
|
|
370
371
|
useLayoutEffect2(() => {
|
|
@@ -391,7 +392,7 @@ function SessionList({ state, adapter, onOpen, onNew, onClose, components = {},
|
|
|
391
392
|
}
|
|
392
393
|
};
|
|
393
394
|
return /* @__PURE__ */ jsxs5("section", { className: "scui-list", ref: root, children: [
|
|
394
|
-
/* @__PURE__ */ jsxs5("header", { className: "scui-head", children: [
|
|
395
|
+
ListHeader ? /* @__PURE__ */ jsx6(ListHeader, { state, adapter, value: { query, rows, onNew } }) : /* @__PURE__ */ jsxs5("header", { className: "scui-head", children: [
|
|
395
396
|
/* @__PURE__ */ jsxs5("span", { className: "scui-head-copy", children: [
|
|
396
397
|
/* @__PURE__ */ jsx6("strong", { children: labels.chats }),
|
|
397
398
|
/* @__PURE__ */ jsxs5("small", { children: [
|
package/settings.mjs
CHANGED
|
@@ -289,14 +289,9 @@ function HarnessSettingsPanel({ state, adapter, onClose, recommendedChange = nul
|
|
|
289
289
|
}
|
|
290
290
|
function HarnessReadiness({ harnesses, adapter }) {
|
|
291
291
|
const blocked = harnesses.filter((item) => !item.startable);
|
|
292
|
-
if (!blocked.length) return null;
|
|
293
|
-
return /* @__PURE__ */ jsxs3("details", { className: "scui-readiness", open:
|
|
294
|
-
/* @__PURE__ */
|
|
295
|
-
blocked.length,
|
|
296
|
-
" ",
|
|
297
|
-
blocked.length === 1 ? "harness needs" : "harnesses need",
|
|
298
|
-
" setup"
|
|
299
|
-
] }),
|
|
292
|
+
if (!blocked.length || harnesses.some((item) => item.startable)) return null;
|
|
293
|
+
return /* @__PURE__ */ jsxs3("details", { className: "scui-readiness", open: true, children: [
|
|
294
|
+
/* @__PURE__ */ jsx3("summary", { children: "No coding harness is ready" }),
|
|
300
295
|
/* @__PURE__ */ jsx3("div", { children: blocked.map((item) => /* @__PURE__ */ jsxs3("section", { children: [
|
|
301
296
|
/* @__PURE__ */ jsx3(HarnessLogo, { id: item.id, size: 25 }),
|
|
302
297
|
/* @__PURE__ */ jsxs3("span", { children: [
|