@volter-ai-dev/supercode-ui 0.1.0 → 0.1.1

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
@@ -83,8 +83,9 @@ binding.subscribe((state) => mounted.update(state));
83
83
  mounted.update(binding.getState());
84
84
  ```
85
85
 
86
- The binding maps only standard controller operations. Host-owned pagination, durable attention,
87
- drafts, artifact materialization, and future reduction receipts remain explicit callbacks. A
86
+ The binding maps standard controller operations, including verified reduce-and-continue, and
87
+ projects its durable reduction receipt directly. Host-owned pagination, durable attention,
88
+ drafts, and artifact materialization remain explicit callbacks. A
88
89
  browser should receive projected state from a trusted host rather than instantiate a local
89
90
  controller or gain filesystem authority.
90
91
 
package/controller.mjs CHANGED
@@ -166,7 +166,7 @@ export function projectClientSnapshot(snapshot, options = {}) {
166
166
  canDetach: actions.detach === true,
167
167
  canOpenTerminal: actions.openTerminal === true,
168
168
  canExport: Boolean(options.exportBackTarget && snapshot.activeSessionKey),
169
- canReduce: false,
169
+ canReduce: actions.reduce === true,
170
170
  canInterrupt: actions.interrupt === true,
171
171
  canRespond: actions.respond === true,
172
172
  messaging: snapshot.connection?.messaging ?? null,
@@ -185,7 +185,7 @@ export function projectClientSnapshot(snapshot, options = {}) {
185
185
  } : null,
186
186
  exportBackTarget: options.exportBackTarget ?? null,
187
187
  exportReceipt: options.exportReceipt ?? null,
188
- reductionReceipt: options.reductionReceipt ?? null,
188
+ reductionReceipt: options.reductionReceipt ?? snapshot.reductionReceipt ?? null,
189
189
  error: snapshot.error?.message ?? null,
190
190
  recoverable: snapshot.error?.recoverable === true,
191
191
  harnesses: (snapshot.harnesses ?? []).map((harness) => ({
@@ -224,6 +224,7 @@ async function dispatchStandard(controller, intent, options) {
224
224
  if (intent.action === 'join' && active) return controller.dispatch({ type: 'attach', sessionKey: active });
225
225
  if (intent.action === 'detach') return controller.dispatch({ type: 'detach' });
226
226
  if (intent.action === 'branch' && active) return controller.dispatch({ type: 'branch', sessionKey: active, ...(intent.targetHarness ? { targetHarness: intent.targetHarness } : {}) });
227
+ if (intent.action === 'reduce' && active) return controller.dispatch({ type: 'reduce', sessionKey: active, ...(intent.targetHarness ? { targetHarness: intent.targetHarness } : {}) });
227
228
  if (intent.action === 'terminal') return controller.dispatch({ type: 'openTerminal' });
228
229
  if (intent.action === 'interrupt') return controller.dispatch({ type: 'interrupt' });
229
230
  if (intent.action === 'respond') return controller.dispatch({ type: 'respond', requestId: intent.requestId, optionId: intent.optionId });
package/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export type HarnessId = 'claude-code' | 'codex' | 'opencode' | 'pi' | 'grok' | (
4
4
  export type UiTone = 'live' | 'warn' | 'dead' | 'off';
5
5
  export type StartupPhase = 'connecting' | 'starting' | 'discovering' | 'ready';
6
6
  export type SessionMode = 'none' | 'control' | 'mirror';
7
- export type ControlStrategy = 'start' | 'resume' | 'attach' | 'branch' | null;
7
+ export type ControlStrategy = 'start' | 'resume' | 'attach' | 'branch' | 'reduce' | null;
8
8
  export type SessionActivity = 'idle' | 'recent' | 'working' | 'needs-input' | 'finished' | 'failed' | 'unseen';
9
9
 
10
10
  export interface HarnessOption {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter-ai-dev/supercode-ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "Composable default UI kit for Supercode-powered coding-agent experiences",
6
6
  "exports": {
@@ -75,7 +75,7 @@
75
75
  "markdown-it": "^14.1.0"
76
76
  },
77
77
  "peerDependencies": {
78
- "@volter-ai-dev/supercode-client": ">=0.3.7",
78
+ "@volter-ai-dev/supercode-client": ">=0.3.8",
79
79
  "preact": ">=10.19.0 <11"
80
80
  },
81
81
  "peerDependenciesMeta": {