diff --git a/packages/core/src/instructions/index.ts b/packages/core/src/instructions/index.ts index e6fcb93439..bafb069c27 100644 --- a/packages/core/src/instructions/index.ts +++ b/packages/core/src/instructions/index.ts @@ -195,18 +195,6 @@ export function hash(value: Schema.Json) { return Hash.make(createHash("sha256").update(canonical(value)).digest("hex")) } -export function applyDelta( - values: Readonly>, - delta: Readonly>>, -): Readonly> { - const result: Record = { ...values } - for (const [key, value] of Object.entries(delta)) { - if (Option.isNone(value)) delete result[key] - else result[key] = value.value - } - return result -} - export function applyHashDelta(values: Values, delta: Delta): Values { const result: Record = { ...values } for (const [key, value] of Object.entries(delta)) { diff --git a/packages/core/test/instructions/index.test.ts b/packages/core/test/instructions/index.test.ts index 842c5bb536..8c1b1f8605 100644 --- a/packages/core/test/instructions/index.test.ts +++ b/packages/core/test/instructions/index.test.ts @@ -125,9 +125,6 @@ describe("Instructions", () => { expect( Instructions.renderUpdate(instructions, { "api/value": "previous" }, { "api/value": Option.some(null) }), ).toBe("null") - expect(Instructions.applyDelta({ "api/value": "previous" }, { "api/value": Option.some(null) })).toEqual({ - "api/value": null, - }) }), ) diff --git a/packages/core/test/lib/instructions.ts b/packages/core/test/lib/instructions.ts index 7a129d41eb..aae2d28374 100644 --- a/packages/core/test/lib/instructions.ts +++ b/packages/core/test/lib/instructions.ts @@ -34,7 +34,11 @@ export const readUpdate = (instructions: Instructions.List, previous: State) => hash === "removed" ? Option.none() : Option.some(admission.blobs[hash]), ]), ) as Readonly>> - const values = Instructions.applyDelta(previous.values, delta) + const values: Record = { ...previous.values } + for (const [key, value] of Object.entries(delta)) { + if (Option.isNone(value)) delete values[key] + else values[key] = value.value + } return { values, text: Instructions.renderUpdate(instructions, previous.values, delta), diff --git a/packages/schema/src/durable-event-manifest.ts b/packages/schema/src/durable-event-manifest.ts index 269190b0c3..d38bb73ab7 100644 --- a/packages/schema/src/durable-event-manifest.ts +++ b/packages/schema/src/durable-event-manifest.ts @@ -4,9 +4,4 @@ import { Event } from "./event.js" import { Worktree } from "./worktree.js" import { SessionEvent } from "./session-event.js" -export const SessionDurable = { - definitions: Event.durableMap(SessionEvent.DurableDefinitions), - schema: SessionEvent.Durable, -} as const - export const Durable = Event.durableMap([...SessionEvent.DurableDefinitions, Worktree.Event.Resolved]) diff --git a/packages/schema/src/mcp-event.ts b/packages/schema/src/mcp-event.ts index d41f5f0c4a..5e53ce0c78 100644 --- a/packages/schema/src/mcp-event.ts +++ b/packages/schema/src/mcp-event.ts @@ -17,14 +17,6 @@ export const ResourcesChanged = Event.ephemeral({ }, }) -export const BrowserOpenFailed = Event.ephemeral({ - type: "mcp.browser.open.failed", - schema: { - mcpName: Schema.String, - url: Schema.String, - }, -}) - // Emitted whenever a server's connection status settles (connected, failed, needs_auth, closed) so // observers can refresh status without polling. export const StatusChanged = Event.ephemeral({