History

Merge pull request #284 from RhysSullivan/worktree-publish-execution-cli

feat(release): publish execution, cli, and kernel packages to npm

Rhys Sullivan committed 6 months ago

Commit 599ae332 parents 96dc18a 905973b35 files · +772 −66Browse files

Showing the changes to apps (6 of 35 files). Show all

Unified · Split

6 files
  1. apps/cli/src/main.ts +4 −1
  2. apps/cloud/package.json +1 −0
  3. apps/cloud/src/mcp-session.e2e.node.test.ts +2 −1
  4. apps/cloud/src/services/__test-harness__/api-harness.ts +2 −1
  5. apps/local/package.json +1 −0
  6. apps/local/src/server/main.ts +2 −1
apps/cli/src/main.ts+4−1
@@ -41,6 +41,7 @@ import * as Cause from "effect/Cause"; · 40 unmodified lines
41 41
42import { ExecutorApi } from "@executor/api";42import { ExecutorApi } from "@executor/api";
43import { startServer, runMcpStdioServer, getExecutor } from "@executor/local";43import { startServer, runMcpStdioServer, getExecutor } from "@executor/local";
44import { makeQuickJsExecutor } from "@executor/runtime-quickjs";
44 45
45// Embedded web UI — baked into compiled binaries via `with { type: "file" }`46// Embedded web UI — baked into compiled binaries via `with { type: "file" }`
46import embeddedWebUI from "./embedded-web-ui.gen";47import embeddedWebUI from "./embedded-web-ui.gen";
@@ -154,7 +155,9 @@ const runForegroundSession = (input: { · 107 unmodified lines
154const runStdioMcpSession = () =>155const runStdioMcpSession = () =>
155 Effect.gen(function* () {156 Effect.gen(function* () {
156 const executor = yield* Effect.promise(() => getExecutor());157 const executor = yield* Effect.promise(() => getExecutor());
157 yield* Effect.promise(() => runMcpStdioServer({ executor }));158 yield* Effect.promise(() =>
159 runMcpStdioServer({ executor, codeExecutor: makeQuickJsExecutor() }),
160 );
158 });161 });
159 162
160// ---------------------------------------------------------------------------163// ---------------------------------------------------------------------------
apps/cloud/package.json+1−0
@@ -38,6 +38,7 @@ · 37 unmodified lines
38 "@executor/plugin-workos-vault": "workspace:*",38 "@executor/plugin-workos-vault": "workspace:*",
39 "@executor/react": "workspace:*",39 "@executor/react": "workspace:*",
40 "@executor/runtime-dynamic-worker": "workspace:*",40 "@executor/runtime-dynamic-worker": "workspace:*",
41 "@executor/runtime-quickjs": "workspace:*",
41 "@executor/sdk": "workspace:*",42 "@executor/sdk": "workspace:*",
42 "@executor/storage-core": "workspace:*",43 "@executor/storage-core": "workspace:*",
43 "@executor/storage-postgres": "workspace:*",44 "@executor/storage-postgres": "workspace:*",
apps/cloud/src/mcp-session.e2e.node.test.ts+2−1
@@ -23,6 +23,7 @@ import type { ClientCapabilities } from "@modelcontextprotocol/sdk/types.js"; · 22 unmodified lines
23 23
24import { createExecutorMcpServer } from "@executor/host-mcp";24import { createExecutorMcpServer } from "@executor/host-mcp";
25import { createExecutionEngine } from "@executor/execution";25import { createExecutionEngine } from "@executor/execution";
26import { makeQuickJsExecutor } from "@executor/runtime-quickjs";
26import {27import {
27 ElicitationResponse,28 ElicitationResponse,
28 FormElicitation,29 FormElicitation,
@@ -134,7 +135,7 @@ const openSession = ( · 105 unmodified lines
134 Effect.acquireRelease(135 Effect.acquireRelease(
135 Effect.gen(function* () {136 Effect.gen(function* () {
136 const executor = yield* buildScopedExecutor(orgId, `Org ${orgId}`, options);137 const executor = yield* buildScopedExecutor(orgId, `Org ${orgId}`, options);
137 const engine = createExecutionEngine({ executor });138 const engine = createExecutionEngine({ executor, codeExecutor: makeQuickJsExecutor() });
138 const mcpServer = yield* Effect.promise(() => createExecutorMcpServer({ engine }));139 const mcpServer = yield* Effect.promise(() => createExecutorMcpServer({ engine }));
139 const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();140 const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
140 const client = new Client(141 const client = new Client(
apps/cloud/src/services/__test-harness__/api-harness.ts+2−1
@@ -31,6 +31,7 @@ import { · 30 unmodified lines
31 ExecutorService,31 ExecutorService,
32} from "@executor/api/server";32} from "@executor/api/server";
33import { createExecutionEngine } from "@executor/execution";33import { createExecutionEngine } from "@executor/execution";
34import { makeQuickJsExecutor } from "@executor/runtime-quickjs";
34import {35import {
35 Scope,36 Scope,
36 ScopeId,37 ScopeId,
@@ -215,7 +216,7 @@ const TestApiLive = HttpApiBuilder.api(ProtectedCloudApi).pipe( · 178 unmodified lines
215const buildAppForScope = (scopeId: string, scopeName: string) =>216const buildAppForScope = (scopeId: string, scopeName: string) =>
216 Effect.gen(function* () {217 Effect.gen(function* () {
217 const executor = yield* createTestScopedExecutor(scopeId, scopeName);218 const executor = yield* createTestScopedExecutor(scopeId, scopeName);
218 const engine = createExecutionEngine({ executor });219 const engine = createExecutionEngine({ executor, codeExecutor: makeQuickJsExecutor() });
219 const services = Layer.mergeAll(220 const services = Layer.mergeAll(
220 Layer.succeed(ExecutorService, executor),221 Layer.succeed(ExecutorService, executor),
221 Layer.succeed(ExecutionEngineService, engine),222 Layer.succeed(ExecutionEngineService, engine),
apps/local/package.json+1−0
@@ -33,6 +33,7 @@ · 32 unmodified lines
33 "@executor/plugin-onepassword": "workspace:*",33 "@executor/plugin-onepassword": "workspace:*",
34 "@executor/plugin-openapi": "workspace:*",34 "@executor/plugin-openapi": "workspace:*",
35 "@executor/react": "workspace:*",35 "@executor/react": "workspace:*",
36 "@executor/runtime-quickjs": "workspace:*",
36 "@executor/sdk": "workspace:*",37 "@executor/sdk": "workspace:*",
37 "@executor/storage-file": "workspace:*",38 "@executor/storage-file": "workspace:*",
38 "@modelcontextprotocol/sdk": "^1.12.1",39 "@modelcontextprotocol/sdk": "^1.12.1",
apps/local/src/server/main.ts+2−1
@@ -10,6 +10,7 @@ import { Context, Effect, Layer, ManagedRuntime } from "effect"; · 9 unmodified lines
10import { addGroup } from "@executor/api";10import { addGroup } from "@executor/api";
11import { CoreHandlers, ExecutorService, ExecutionEngineService } from "@executor/api/server";11import { CoreHandlers, ExecutorService, ExecutionEngineService } from "@executor/api/server";
12import { createExecutionEngine } from "@executor/execution";12import { createExecutionEngine } from "@executor/execution";
13import { makeQuickJsExecutor } from "@executor/runtime-quickjs";
13import {14import {
14 OpenApiGroup,15 OpenApiGroup,
15 OpenApiHandlers,16 OpenApiHandlers,
@@ -78,7 +79,7 @@ const closeServerHandlers = async (handlers: ServerHandlers): Promise<void> => { · 62 unmodified lines
78 79
79export const createServerHandlers = async (): Promise<ServerHandlers> => {80export const createServerHandlers = async (): Promise<ServerHandlers> => {
80 const executor = await getExecutor();81 const executor = await getExecutor();
81 const engine = createExecutionEngine({ executor });82 const engine = createExecutionEngine({ executor, codeExecutor: makeQuickJsExecutor() });
82 83
83 const pluginExtensions = Layer.mergeAll(84 const pluginExtensions = Layer.mergeAll(
84 Layer.succeed(OpenApiExtensionService, executor.openapi),85 Layer.succeed(OpenApiExtensionService, executor.openapi),