git-coco 0.53.0 → 0.54.0

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/dist/index.d.ts CHANGED
@@ -99,6 +99,37 @@ type BaseLLMService = {
99
99
  * @default 'balanced'
100
100
  */
101
101
  dynamicModelPreference?: DynamicModelPreference;
102
+ /**
103
+ * Streaming output (#881). Wires `chain.stream()` instead of
104
+ * `chain.invoke()` into LLM-driven TUI surfaces so the user sees a
105
+ * live preview of the model's output as it generates, rather than
106
+ * staring at a spinner until the full response arrives.
107
+ *
108
+ * Output contract is unchanged when enabled: the final draft / plan
109
+ * still goes through the same parser, schema validator, and retry
110
+ * logic as the non-streaming path. The stream is a *preview only* —
111
+ * it relieves the "is this hanging?" anxiety without touching what
112
+ * gets committed.
113
+ *
114
+ * Off by default while we shake the UX out across providers; some
115
+ * models stream poorly (one-shot blob disguised as a stream) and the
116
+ * preview just blinks in those cases. Off-by-default also lets users
117
+ * who prefer the quieter spinner-only UX skip the visual chatter.
118
+ *
119
+ * Scope today: workstation compose surface's AI commit draft (the
120
+ * `I` keystroke). Other TUI LLM calls (split-plan, PR body) stay
121
+ * non-streaming pending separate validation.
122
+ */
123
+ streaming?: {
124
+ /**
125
+ * Master switch. When `false` (default) every LLM call uses the
126
+ * existing non-streaming code path, regardless of which command
127
+ * or surface fires it.
128
+ *
129
+ * @default false
130
+ */
131
+ enabled?: boolean;
132
+ };
102
133
  /**
103
134
  * Opt-in fast paths that trade summary detail for speed. Each flag
104
135
  * here replaces an LLM summary call with a deterministic templated
@@ -403,6 +434,13 @@ interface CommitOptions extends BaseCommandOptions {
403
434
  split?: boolean;
404
435
  plan?: boolean;
405
436
  apply?: boolean;
437
+ /**
438
+ * When true, throw if the split planner exhausts its retry budget
439
+ * with an invalid plan (pre-#1005 behaviour) instead of falling
440
+ * back to a single-group plan that combines every staged file into
441
+ * one commit. Default: false (fallback is enabled).
442
+ */
443
+ strictSplit?: boolean;
406
444
  }
407
445
  type CommitArgv = Arguments<CommitOptions>;
408
446
 
@@ -645,6 +683,15 @@ type LlmCallMetadata = {
645
683
  elapsedMs?: number;
646
684
  inputDocuments?: number;
647
685
  inputChunks?: number;
686
+ /**
687
+ * Streaming-path metadata (#881). `streamed` flags the call as a
688
+ * `.stream()` consumer (vs `.invoke()`); `streamChunks` records how
689
+ * many text fragments arrived before completion. Useful for spotting
690
+ * providers that don't actually stream (one chunk == one blob) or
691
+ * for debugging stream UX that feels janky.
692
+ */
693
+ streamed?: boolean;
694
+ streamChunks?: number;
648
695
  };
649
696
 
650
697
  type FileChangeStatus = 'modified' | 'renamed' | 'added' | 'deleted' | 'untracked' | 'unknown';