Skip to content

Commit fdc2f42

Browse files
committed
fix: restore pnpm check type safety
1 parent a79984e commit fdc2f42

3 files changed

Lines changed: 18 additions & 6 deletions

File tree

extensions/lobster/src/lobster-taskflow.test.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ type BoundTaskFlow = ReturnType<
77
NonNullable<OpenClawPluginApi["runtime"]>["taskFlow"]["bindSession"]
88
>;
99

10+
function expectManagedFlowFailure(
11+
result: Awaited<ReturnType<typeof runManagedLobsterFlow | typeof resumeManagedLobsterFlow>>,
12+
) {
13+
expect(result.ok).toBe(false);
14+
if (result.ok) {
15+
throw new Error("Expected managed Lobster flow to fail");
16+
}
17+
return result;
18+
}
19+
1020
function createFakeTaskFlow(overrides?: Partial<BoundTaskFlow>) {
1121
const baseFlow = {
1222
flowId: "flow-1",
@@ -160,8 +170,8 @@ describe("runManagedLobsterFlow", () => {
160170
goal: "Run Lobster workflow",
161171
});
162172

163-
expect(result.ok).toBe(false);
164-
expect(result.error.message).toBe("boom");
173+
const failure = expectManagedFlowFailure(result);
174+
expect(failure.error.message).toBe("boom");
165175
expect(taskFlow.fail).toHaveBeenCalledWith({
166176
flowId: "flow-1",
167177
expectedRevision: 1,
@@ -188,8 +198,8 @@ describe("runManagedLobsterFlow", () => {
188198
goal: "Run Lobster workflow",
189199
});
190200

191-
expect(result.ok).toBe(false);
192-
expect(result.error.message).toBe("crashed");
201+
const failure = expectManagedFlowFailure(result);
202+
expect(failure.error.message).toBe("crashed");
193203
expect(taskFlow.fail).toHaveBeenCalledWith({
194204
flowId: "flow-1",
195205
expectedRevision: 1,
@@ -264,8 +274,8 @@ describe("resumeManagedLobsterFlow", () => {
264274
},
265275
});
266276

267-
expect(result.ok).toBe(false);
268-
expect(result.error.message).toMatch(/revision_conflict/);
277+
const failure = expectManagedFlowFailure(result);
278+
expect(failure.error.message).toMatch(/revision_conflict/);
269279
expect(runner.run).not.toHaveBeenCalled();
270280
});
271281

extensions/lobster/src/lobster-taskflow.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ function toJsonLike(value: unknown, seen = new WeakSet<object>()): JsonLike {
102102
return jsonObject;
103103
}
104104
}
105+
return null;
105106
}
106107

107108
function buildApprovalWaitState(envelope: Extract<LobsterEnvelope, { ok: true }>): JsonLike {

src/agents/pi-embedded-runner/model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
} from "../../plugins/provider-runtime.js";
1414
import type { ProviderRuntimeModel } from "../../plugins/types.js";
1515
import { resolveOpenClawAgentDir } from "../agent-paths.js";
16+
import { DEFAULT_CONTEXT_TOKENS } from "../defaults.js";
1617
import { buildModelAliasLines } from "../model-alias-lines.js";
1718
import { normalizeStaticProviderModelId } from "../model-ref-shared.js";
1819
import { findNormalizedProviderValue, normalizeProviderId } from "../model-selection.js";

0 commit comments

Comments
 (0)