@volter-ai-dev/supercode-ui 0.1.51 → 0.1.52
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 +6 -0
- package/components.mjs +2 -1
- package/embed.mjs +2 -1
- package/index.d.ts +2 -0
- package/messenger.mjs +2 -1
- package/package.json +1 -1
- package/react/components.mjs +2 -1
- package/react/messenger.mjs +2 -1
package/README.md
CHANGED
|
@@ -43,6 +43,9 @@ const mounted = mountSupercodeMessenger(document.querySelector('#agent'), {
|
|
|
43
43
|
async pickContext() {
|
|
44
44
|
return host.pickFilesAndImages();
|
|
45
45
|
},
|
|
46
|
+
openKeyboardShortcuts() {
|
|
47
|
+
panel.showKeyboardShortcuts();
|
|
48
|
+
},
|
|
46
49
|
onClose() {
|
|
47
50
|
panel.close();
|
|
48
51
|
},
|
|
@@ -251,6 +254,9 @@ inventing fallback prompt text. The composer bounds images to four supported bro
|
|
|
251
254
|
messages, retry, edit, and new-chat recovery. The host still chooses how explicit file selection
|
|
252
255
|
is exposed and must revalidate every returned item.
|
|
253
256
|
|
|
257
|
+
`openKeyboardShortcuts` is also optional and host-owned. When present, the default conversation
|
|
258
|
+
overflow includes a Keyboard shortcuts item without consuming permanent header width.
|
|
259
|
+
|
|
254
260
|
Transcript images with a browser-safe URL open in a keyboard-accessible, viewport-bounded viewer;
|
|
255
261
|
remote images expose copy-link and open-original actions, while local data images can be downloaded.
|
|
256
262
|
`createClientProjection` keeps large historical data URLs in a projection-scoped host registry and
|
package/components.mjs
CHANGED
|
@@ -2655,7 +2655,8 @@ function ConversationActions({ state, adapter, actionPending, onNew, onSettings
|
|
|
2655
2655
|
state.canDetach ? { key: "detach", label: "Detach to read-only", intent: { action: "detach" } } : null,
|
|
2656
2656
|
state.canOpenTerminal ? { key: "terminal", label: "Prepare terminal handoff", intent: { action: "terminal" } } : null,
|
|
2657
2657
|
state.canExport && state.exportBackTarget ? { key: "export", label: `Export back to ${harnessDisplayName(state.exportBackTarget)}`, intent: { action: "export", targetHarness: state.exportBackTarget } } : null,
|
|
2658
|
-
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null
|
|
2658
|
+
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null,
|
|
2659
|
+
adapter.openKeyboardShortcuts ? { key: "shortcuts", label: "Keyboard shortcuts", onSelect: adapter.openKeyboardShortcuts } : null
|
|
2659
2660
|
].filter(Boolean)
|
|
2660
2661
|
},
|
|
2661
2662
|
{
|
package/embed.mjs
CHANGED
|
@@ -2572,7 +2572,8 @@ function ConversationActions({ state, adapter, actionPending, onNew, onSettings
|
|
|
2572
2572
|
state.canDetach ? { key: "detach", label: "Detach to read-only", intent: { action: "detach" } } : null,
|
|
2573
2573
|
state.canOpenTerminal ? { key: "terminal", label: "Prepare terminal handoff", intent: { action: "terminal" } } : null,
|
|
2574
2574
|
state.canExport && state.exportBackTarget ? { key: "export", label: `Export back to ${harnessDisplayName(state.exportBackTarget)}`, intent: { action: "export", targetHarness: state.exportBackTarget } } : null,
|
|
2575
|
-
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null
|
|
2575
|
+
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null,
|
|
2576
|
+
adapter.openKeyboardShortcuts ? { key: "shortcuts", label: "Keyboard shortcuts", onSelect: adapter.openKeyboardShortcuts } : null
|
|
2576
2577
|
].filter(Boolean)
|
|
2577
2578
|
},
|
|
2578
2579
|
{
|
package/index.d.ts
CHANGED
|
@@ -348,6 +348,8 @@ export interface UiAdapter {
|
|
|
348
348
|
pickContext?(): TranscriptAttachment | TranscriptAttachment[] | null | Promise<TranscriptAttachment | TranscriptAttachment[] | null>;
|
|
349
349
|
/** Resolve one projected historical image on demand. The UI owns and revokes its object URL. */
|
|
350
350
|
resolveImage?(image: TranscriptImage): Blob | Promise<Blob>;
|
|
351
|
+
/** Open the embedding host's keyboard-shortcut reference from the standard overflow menu. */
|
|
352
|
+
openKeyboardShortcuts?(): void;
|
|
351
353
|
onClose?(): void;
|
|
352
354
|
onOpen?(): void;
|
|
353
355
|
copyText?(value: string): void | Promise<void>;
|
package/messenger.mjs
CHANGED
|
@@ -2569,7 +2569,8 @@ function ConversationActions({ state, adapter, actionPending, onNew, onSettings
|
|
|
2569
2569
|
state.canDetach ? { key: "detach", label: "Detach to read-only", intent: { action: "detach" } } : null,
|
|
2570
2570
|
state.canOpenTerminal ? { key: "terminal", label: "Prepare terminal handoff", intent: { action: "terminal" } } : null,
|
|
2571
2571
|
state.canExport && state.exportBackTarget ? { key: "export", label: `Export back to ${harnessDisplayName(state.exportBackTarget)}`, intent: { action: "export", targetHarness: state.exportBackTarget } } : null,
|
|
2572
|
-
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null
|
|
2572
|
+
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null,
|
|
2573
|
+
adapter.openKeyboardShortcuts ? { key: "shortcuts", label: "Keyboard shortcuts", onSelect: adapter.openKeyboardShortcuts } : null
|
|
2573
2574
|
].filter(Boolean)
|
|
2574
2575
|
},
|
|
2575
2576
|
{
|
package/package.json
CHANGED
package/react/components.mjs
CHANGED
|
@@ -2655,7 +2655,8 @@ function ConversationActions({ state, adapter, actionPending, onNew, onSettings
|
|
|
2655
2655
|
state.canDetach ? { key: "detach", label: "Detach to read-only", intent: { action: "detach" } } : null,
|
|
2656
2656
|
state.canOpenTerminal ? { key: "terminal", label: "Prepare terminal handoff", intent: { action: "terminal" } } : null,
|
|
2657
2657
|
state.canExport && state.exportBackTarget ? { key: "export", label: `Export back to ${harnessDisplayName(state.exportBackTarget)}`, intent: { action: "export", targetHarness: state.exportBackTarget } } : null,
|
|
2658
|
-
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null
|
|
2658
|
+
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null,
|
|
2659
|
+
adapter.openKeyboardShortcuts ? { key: "shortcuts", label: "Keyboard shortcuts", onSelect: adapter.openKeyboardShortcuts } : null
|
|
2659
2660
|
].filter(Boolean)
|
|
2660
2661
|
},
|
|
2661
2662
|
{
|
package/react/messenger.mjs
CHANGED
|
@@ -2569,7 +2569,8 @@ function ConversationActions({ state, adapter, actionPending, onNew, onSettings
|
|
|
2569
2569
|
state.canDetach ? { key: "detach", label: "Detach to read-only", intent: { action: "detach" } } : null,
|
|
2570
2570
|
state.canOpenTerminal ? { key: "terminal", label: "Prepare terminal handoff", intent: { action: "terminal" } } : null,
|
|
2571
2571
|
state.canExport && state.exportBackTarget ? { key: "export", label: `Export back to ${harnessDisplayName(state.exportBackTarget)}`, intent: { action: "export", targetHarness: state.exportBackTarget } } : null,
|
|
2572
|
-
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null
|
|
2572
|
+
state.interopSettings || state.interopSettingsError ? { key: "settings", label: "Interoperability settings", onSelect: onSettings } : null,
|
|
2573
|
+
adapter.openKeyboardShortcuts ? { key: "shortcuts", label: "Keyboard shortcuts", onSelect: adapter.openKeyboardShortcuts } : null
|
|
2573
2574
|
].filter(Boolean)
|
|
2574
2575
|
},
|
|
2575
2576
|
{
|