import { HttpApiBuilder } from "@effect/platform";import * as Layer from "effect/Layer";import type { ExecutorEffect } from "@executor/platform-sdk/effect"; import { ExecutorApi } from "./api";import { createControlPlaneExecutorLayer } from "./executor-context";import { ExecutorExecutionsLive } from "./executions/http";import { ExecutorLocalLive } from "./local/http";import { ExecutorOAuthLive } from "./oauth/http";import { ExecutorPoliciesLive } from "./policies/http";import { ExecutorSourcesLive } from "./sources/http"; export const ExecutorApiLive = HttpApiBuilder.api(ExecutorApi).pipe( Layer.provide(ExecutorLocalLive), Layer.provide(ExecutorOAuthLive), Layer.provide(ExecutorSourcesLive), Layer.provide(ExecutorPoliciesLive), Layer.provide(ExecutorExecutionsLive),); export type ExecutorApiRuntimeContext = Layer.Layer.Context<typeof ExecutorApiLive>; export const createExecutorApiLayer = (executor: ExecutorEffect) => ExecutorApiLive.pipe( Layer.provide(createControlPlaneExecutorLayer(executor)), ); export type BuiltExecutorApiLayer = ReturnType< typeof createExecutorApiLayer>;
import { HttpApiBuilder } from "@effect/platform";
import * as Layer from "effect/Layer";
import type { ExecutorEffect } from "@executor/platform-sdk/effect";
import { ExecutorApi } from "./api";
import { createControlPlaneExecutorLayer } from "./executor-context";
import { ExecutorExecutionsLive } from "./executions/http";
import { ExecutorLocalLive } from "./local/http";
import { ExecutorOAuthLive } from "./oauth/http";
import { ExecutorPoliciesLive } from "./policies/http";
import { ExecutorSourcesLive } from "./sources/http";
export const ExecutorApiLive = HttpApiBuilder.api(ExecutorApi).pipe(
Layer.provide(ExecutorLocalLive),
Layer.provide(ExecutorOAuthLive),
Layer.provide(ExecutorSourcesLive),
Layer.provide(ExecutorPoliciesLive),
Layer.provide(ExecutorExecutionsLive),
);
export type ExecutorApiRuntimeContext = Layer.Layer.Context<typeof ExecutorApiLive>;
export const createExecutorApiLayer = (executor: ExecutorEffect) =>
ExecutorApiLive.pipe(
Layer.provide(createControlPlaneExecutorLayer(executor)),
);
export type BuiltExecutorApiLayer = ReturnType<
typeof createExecutorApiLayer
>;