@volter-ai-dev/supercode-ui 0.1.18 → 0.1.21

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 CHANGED
@@ -40,6 +40,9 @@ const mounted = mountSupercodeMessenger(document.querySelector('#agent'), {
40
40
  onIntent(intent) {
41
41
  host.send(intent);
42
42
  },
43
+ async pickContext() {
44
+ return host.pickFilesAndImages();
45
+ },
43
46
  onClose() {
44
47
  panel.close();
45
48
  },
@@ -121,6 +124,12 @@ errors, and owned/attached identities without reimplementing transcript or capab
121
124
  `SupercodeController` snapshots and persisted inventory into it, then handles `SupercodeUiIntent`.
122
125
  The browser cannot supply locators, credentials, policy, environment variables, or arbitrary
123
126
  materialization paths. Session keys and target harnesses must be revalidated by the host.
127
+ `pickContext` is optional and host-owned: the default composer shows one attachment control when
128
+ this callback exists and accepts either typed text context (`detail`) or native image inputs
129
+ (`url`). Images can also be pasted directly. The composer bounds images to four supported browser
130
+ formats at 5 MB each, previews them locally, and keeps both attachment kinds associated with queued
131
+ messages, retry, edit, and new-chat recovery. The host still chooses how explicit file selection
132
+ is exposed and must revalidate every returned item.
124
133
 
125
134
  An embedding product such as Vibewaiting should therefore be small: Lucarne owns its iframe and
126
135
  launcher lifecycle, Supercode owns this UI and the controller semantics, and Vibewaiting only