@animalabs/membrane 0.5.55 → 0.5.63

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.
@@ -215,6 +215,9 @@ export interface ProviderRequest {
215
215
  /** Frequency penalty */
216
216
  frequencyPenalty?: number;
217
217
 
218
+ /** Repetition penalty (multiplicative, vLLM/HuggingFace style) */
219
+ repetitionPenalty?: number;
220
+
218
221
  /** Stop sequences */
219
222
  stopSequences?: string[];
220
223
 
@@ -232,6 +235,13 @@ export interface ProviderRequestOptions {
232
235
  idleTimeoutMs?: number;
233
236
  /** Called with the raw API request body right before fetch */
234
237
  onRequest?: (rawRequest: unknown) => void;
238
+ /**
239
+ * Wrap native thinking deltas in <thinking>...</thinking> tags on the
240
+ * onChunk stream. Used by the XML formatter path so its tag-based parser
241
+ * tracks thinking blocks; without this, native thinking content streams
242
+ * indistinguishably from visible text.
243
+ */
244
+ wrapThinkingTags?: boolean;
235
245
  }
236
246
 
237
247
  export interface ProviderResponse {
@@ -30,11 +30,22 @@ export interface GenerationConfig {
30
30
 
31
31
  /** Frequency penalty (provider-specific) */
32
32
  frequencyPenalty?: number;
33
-
33
+
34
+ /** Repetition penalty — multiplicative (vLLM/HuggingFace style, typically 1.0-1.2) */
35
+ repetitionPenalty?: number;
36
+
34
37
  /** Enable thinking/reasoning mode */
35
38
  thinking?: {
36
39
  enabled: boolean;
37
40
  budgetTokens?: number;
41
+ /** Thinking type for the API: 'enabled' (default, explicit budget) or 'adaptive' (model-managed) */
42
+ type?: 'enabled' | 'adaptive';
43
+ /**
44
+ * Controls how thinking content is returned: 'summarized' (readable summary)
45
+ * or 'omitted' (empty thinking field, signature only). Models like Fable 5 /
46
+ * Opus 4.7+ default to 'omitted' — set 'summarized' to receive thinking text.
47
+ */
48
+ display?: 'summarized' | 'omitted';
38
49
  };
39
50
 
40
51
  /** Image generation config (Gemini) */