fix(mcp): add shared operations and secure scene APIs

This commit is contained in:
Aymeric Rabot
2026-04-27 17:10:25 -04:00
parent 058ee747c9
commit 8dfd1a9429
81 changed files with 1332 additions and 1786 deletions
@@ -1,3 +1,5 @@
import { SceneBridge } from '../../bridge/scene-bridge'
import { createSceneOperations, type SceneOperations } from '../../operations'
import {
type SceneListOptions,
type SceneMeta,
@@ -15,6 +17,20 @@ export function parseToolText(content: StoredTextContent[]): Record<string, unkn
return JSON.parse(content[0]!.text) as Record<string, unknown>
}
export function createTestSceneOperations(options?: {
bridge?: SceneBridge
store?: InMemorySceneStore
}): {
bridge: SceneBridge
store: InMemorySceneStore
operations: SceneOperations
} {
const bridge = options?.bridge ?? new SceneBridge()
const store = options?.store ?? new InMemorySceneStore()
const operations = createSceneOperations({ bridge, store })
return { bridge, store, operations }
}
/**
* In-memory `SceneStore` for tests. Backed by a plain `Map` keyed by id.
* Implements the full interface including optimistic concurrency via