mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-26 10:26:26 +01:00
fix(runner): restore capability issue thread imports
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
00897dc7c1
commit
3cf6db82c1
2 files changed
+49
-4
No files matched your search
@@ -112,8 +112,35 @@ function capabilityCookie(request, surface, value, maxAgeSeconds = CAPABILITY_MA
|
||||
}; SameSite=Strict`;
|
||||
}
|
||||
|
||||
async function loadRunner() {
|
||||
return import(new URL("../dist/index.js", import.meta.url).href);
|
||||
async function importDistRunnerModule(relativePath) {
|
||||
return import(new URL(`../dist/${relativePath}`, import.meta.url).href);
|
||||
}
|
||||
|
||||
export async function loadCapabilityIssueThreadRunner(importModule = importDistRunnerModule) {
|
||||
const [cleanRoom, liveSession, turnStream, issueThread, fixtureState, liveConsole] =
|
||||
await Promise.all([
|
||||
importModule("live/clean-room.js"),
|
||||
importModule("live/live-session.js"),
|
||||
importModule("live/turn-stream.js"),
|
||||
importModule("issue-thread/index.js"),
|
||||
importModule("mock-core/capability-control-plane-types.js"),
|
||||
importModule("mock-core/live-console-demo-server.js"),
|
||||
]);
|
||||
|
||||
// This package-owned server intentionally depends on private demo/live modules.
|
||||
// Keep that dependency explicit instead of widening the package's public root.
|
||||
return {
|
||||
CAPABILITY_TURN_STREAM_HEADERS: turnStream.CAPABILITY_TURN_STREAM_HEADERS,
|
||||
CAPABILITY_TURN_STREAM_SCHEMA: turnStream.CAPABILITY_TURN_STREAM_SCHEMA,
|
||||
CapabilityLiveSessionService: liveSession.CapabilityLiveSessionService,
|
||||
InMemoryCapabilityLiveSessionStore: liveSession.InMemoryCapabilityLiveSessionStore,
|
||||
assertLiveConsoleLoopbackBindHost: liveConsole.assertLiveConsoleLoopbackBindHost,
|
||||
createCapabilityCleanRoomSessionInput: cleanRoom.createCapabilityCleanRoomSessionInput,
|
||||
createCapabilityFixtureState: fixtureState.createCapabilityFixtureState,
|
||||
encodeCapabilityTurnStreamFrame: turnStream.encodeCapabilityTurnStreamFrame,
|
||||
projectCapabilityIssueThread: issueThread.projectCapabilityIssueThread,
|
||||
toCapabilityPublicThreadView: issueThread.toCapabilityPublicThreadView,
|
||||
};
|
||||
}
|
||||
|
||||
function scratchRoot() {
|
||||
@@ -174,7 +201,7 @@ class RouteError extends Error {
|
||||
}
|
||||
|
||||
export function createCapabilityIssueThreadMiddleware(options = {}) {
|
||||
const load = options.loadRunner ?? loadRunner;
|
||||
const load = options.loadRunner ?? loadCapabilityIssueThreadRunner;
|
||||
const workingDirectoryRoot = options.scratchRoot ?? scratchRoot();
|
||||
let bootstrap = null;
|
||||
let bindHost = options.bindHost ?? "127.0.0.1";
|
||||
|
||||
@@ -475,11 +475,29 @@ let scratchParent: string;
|
||||
let scratchRoot: string;
|
||||
const requestedUrls: string[] = [];
|
||||
|
||||
const sourceRunnerModuleLoaders: Record<string, () => Promise<unknown>> = {
|
||||
"live/clean-room.js": async () => await import("./clean-room.js"),
|
||||
"live/live-session.js": async () => await import("./live-session.js"),
|
||||
"live/turn-stream.js": async () => await import("./turn-stream.js"),
|
||||
"issue-thread/index.js": async () => await import("../issue-thread/index.js"),
|
||||
"mock-core/capability-control-plane-types.js": async () =>
|
||||
await import("../mock-core/capability-control-plane-types.js"),
|
||||
"mock-core/live-console-demo-server.js": async () =>
|
||||
await import("../mock-core/live-console-demo-server.js"),
|
||||
};
|
||||
|
||||
async function loadSourceRunnerModule(relativePath: string): Promise<unknown> {
|
||||
const load = sourceRunnerModuleLoaders[relativePath];
|
||||
if (load === undefined) throw new Error(`Unexpected runner module: ${relativePath}`);
|
||||
return await load();
|
||||
}
|
||||
|
||||
async function createMiddleware(state: FakeProviderState, root: string) {
|
||||
const module = await import("../../scripts/capability-issue-thread-server.mjs");
|
||||
return module.createCapabilityIssueThreadMiddleware({
|
||||
bindHost: "127.0.0.1",
|
||||
loadRunner: async () => await import("../index.js"),
|
||||
loadRunner: async () =>
|
||||
await module.loadCapabilityIssueThreadRunner(loadSourceRunnerModule),
|
||||
scratchRoot: root,
|
||||
transportFactory: fakeTransportFactory(state),
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user