@dungle-scrubs/tallow 0.9.1 → 0.9.2

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/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type RuntimePathProvider } from "./runtime-path-provider.js";
2
2
  export declare const APP_NAME = "tallow";
3
- export declare const TALLOW_VERSION = "0.9.1";
3
+ export declare const TALLOW_VERSION = "0.9.2";
4
4
  export declare const CONFIG_DIR = ".tallow";
5
5
  /** ~/.tallow (or override from ~/.config/tallow-work-dirs) — all user config, sessions, auth, extensions */
6
6
  export declare const TALLOW_HOME: string;
package/dist/config.js CHANGED
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
6
6
  import { createRuntimePathProvider } from "./runtime-path-provider.js";
7
7
  // ─── Identity ────────────────────────────────────────────────────────────────
8
8
  export const APP_NAME = "tallow";
9
- export const TALLOW_VERSION = "0.9.1"; // x-release-please-version
9
+ export const TALLOW_VERSION = "0.9.2"; // x-release-please-version
10
10
  export const CONFIG_DIR = ".tallow";
11
11
  // ─── Paths ───────────────────────────────────────────────────────────────────
12
12
  /** ~/.tallow (or override from ~/.config/tallow-work-dirs) — all user config, sessions, auth, extensions */
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata-overrides.d.ts","sourceRoot":"","sources":["../src/model-metadata-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAgCtD,UAAU,iBAAiB;IAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,iBAAiB,GAAG,MAAM,CAgBzF"}
1
+ {"version":3,"file":"model-metadata-overrides.d.ts","sourceRoot":"","sources":["../src/model-metadata-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAuDtD,UAAU,iBAAiB;IAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,iBAAiB,GAAG,MAAM,CA0BzF"}
@@ -21,6 +21,28 @@ const KNOWN_CONTEXT_WINDOW_OVERRIDES = {
21
21
  "claude-sonnet-4-6": { stale: 1_000_000, correct: 200_000 },
22
22
  },
23
23
  };
24
+ /**
25
+ * MiniMax models don't properly support the reasoning parameter in
26
+ * completion/summarization calls through OpenRouter. When reasoningEffort
27
+ * is not explicitly provided, pi-ai's OpenRouter handler sends
28
+ * `reasoning: { effort: "none" }`, which MiniMax rejects with:
29
+ * "Reasoning is mandatory for this endpoint and cannot be disabled."
30
+ *
31
+ * Setting `reasoning: false` prevents the OpenRouter handler from sending
32
+ * the reasoning parameter at all, avoiding this error during compaction.
33
+ */
34
+ const KNOWN_REASONING_OVERRIDES = {
35
+ openrouter: {
36
+ // MiniMax models via OpenRouter — reasoning breaks compact/summarization
37
+ "minimax/minimax-m2.7": false,
38
+ "minimax/minimax-m2.7-highspeed": false,
39
+ },
40
+ "amazon-bedrock": {
41
+ // MiniMax models via Bedrock — same reasoning parameter issue
42
+ "minimax.minimax-m2": false,
43
+ "minimax.minimax-m2.1": false,
44
+ },
45
+ };
24
46
  /**
25
47
  * Correct known stale upstream model metadata without clobbering explicit user overrides.
26
48
  *
@@ -33,16 +55,24 @@ const KNOWN_CONTEXT_WINDOW_OVERRIDES = {
33
55
  export function applyKnownModelMetadataOverrides(modelRegistry) {
34
56
  let applied = 0;
35
57
  for (const model of modelRegistry.getAll()) {
58
+ // Context window corrections
36
59
  const providerOverrides = KNOWN_CONTEXT_WINDOW_OVERRIDES[model.provider];
37
- if (!providerOverrides)
38
- continue;
39
- const correction = providerOverrides[model.id];
40
- if (!correction)
41
- continue;
42
- if (model.contextWindow !== correction.stale)
43
- continue;
44
- model.contextWindow = correction.correct;
45
- applied += 1;
60
+ if (providerOverrides) {
61
+ const correction = providerOverrides[model.id];
62
+ if (correction && model.contextWindow === correction.stale) {
63
+ model.contextWindow = correction.correct;
64
+ applied += 1;
65
+ }
66
+ }
67
+ // Reasoning corrections for MiniMax
68
+ const reasoningOverrides = KNOWN_REASONING_OVERRIDES[model.provider];
69
+ if (reasoningOverrides) {
70
+ const override = reasoningOverrides[model.id];
71
+ if (override !== undefined && model.reasoning !== override) {
72
+ model.reasoning = override;
73
+ applied += 1;
74
+ }
75
+ }
46
76
  }
47
77
  return applied;
48
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata-overrides.js","sourceRoot":"","sources":["../src/model-metadata-overrides.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,8BAA8B,GAA4D;IAC/F,2EAA2E;IAC3E,MAAM,EAAE;QACP,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;KACjD;IACD,cAAc,EAAE;QACf,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;KACjD;IACD,uEAAuE;IACvE,qEAAqE;IACrE,SAAS,EAAE;QACV,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;KAC3D;IACD,QAAQ,EAAE;QACT,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;KAC3D;CACD,CAAC;AAMF;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAAC,aAAgC;IAChF,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAEjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,IAAI,KAAK,CAAC,aAAa,KAAK,UAAU,CAAC,KAAK;YAAE,SAAS;QAEvD,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;QACzC,OAAO,IAAI,CAAC,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"model-metadata-overrides.js","sourceRoot":"","sources":["../src/model-metadata-overrides.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,8BAA8B,GAA4D;IAC/F,2EAA2E;IAC3E,MAAM,EAAE;QACP,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;KACjD;IACD,cAAc,EAAE;QACf,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;KACjD;IACD,uEAAuE;IACvE,qEAAqE;IACrE,SAAS,EAAE;QACV,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;KAC3D;IACD,QAAQ,EAAE;QACT,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;KAC3D;CACD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,yBAAyB,GAA4C;IAC1E,UAAU,EAAE;QACX,yEAAyE;QACzE,sBAAsB,EAAE,KAAK;QAC7B,gCAAgC,EAAE,KAAK;KACvC;IACD,gBAAgB,EAAE;QACjB,8DAA8D;QAC9D,oBAAoB,EAAE,KAAK;QAC3B,sBAAsB,EAAE,KAAK;KAC7B;CACD,CAAC;AAMF;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAAC,aAAgC;IAChF,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,6BAA6B;QAC7B,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,iBAAiB,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,UAAU,IAAI,KAAK,CAAC,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC5D,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;gBACzC,OAAO,IAAI,CAAC,CAAC;YACd,CAAC;QACF,CAAC;QAED,oCAAoC;QACpC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,kBAAkB,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC5D,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC3B,OAAO,IAAI,CAAC,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dungle-scrubs/tallow",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "An opinionated coding agent. Built on pi.",
5
5
  "piConfig": {
6
6
  "name": "tallow",
@@ -154,7 +154,6 @@ Extensions export a default function receiving `ExtensionAPI` (conventionally na
154
154
  - `modelRegistry` — Model registry for API key resolution
155
155
  - `model` — Current model (may be undefined)
156
156
  - `isIdle()` — Whether the agent is idle (not streaming)
157
- - `signal` — The current abort signal, or undefined when the agent is not streaming.
158
157
  - `abort()` — Abort the current agent operation
159
158
  - `hasPendingMessages()` — Whether there are queued messages waiting
160
159
  - `shutdown()` — Gracefully shutdown pi and exit.
@@ -179,7 +178,6 @@ Extensions export a default function receiving `ExtensionAPI` (conventionally na
179
178
  - `onTerminalInput(handler: TerminalInputHandler)` — Listen to raw terminal input (interactive mode only).
180
179
  - `setStatus(key: string, text: string)` — Set status text in the footer/status bar.
181
180
  - `setWorkingMessage(message?: string)` — Set the working/loading message shown during streaming.
182
- - `setHiddenThinkingLabel(label?: string)` — Set the label shown for hidden thinking blocks.
183
181
  - `setWidget(key: string, content: string[], options?: ExtensionWidgetOptions)` — Set a widget to display above or below the editor.
184
182
  - `setTitle(title: string)` — Set the terminal window/tab title.
185
183
  - `pasteToEditor(text: string)` — Paste text into the editor, triggering paste handling (collapse for large content).