import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "@effect/platform";import { CreateExecutionPayloadSchema, ResumeExecutionPayloadSchema,} from "@executor/platform-sdk/contracts";export type { CreateExecutionPayload, ResumeExecutionPayload,} from "@executor/platform-sdk/contracts";import { ExecutionIdSchema, ExecutionEnvelopeSchema, ScopeIdSchema as WorkspaceIdSchema,} from "@executor/platform-sdk/schema"; import { ControlPlaneBadRequestError, ControlPlaneForbiddenError, ControlPlaneNotFoundError, ControlPlaneStorageError, ControlPlaneUnauthorizedError,} from "@executor/platform-sdk/errors"; export { CreateExecutionPayloadSchema, ResumeExecutionPayloadSchema,}; const workspaceIdParam = HttpApiSchema.param("workspaceId", WorkspaceIdSchema);const executionIdParam = HttpApiSchema.param("executionId", ExecutionIdSchema); export class ExecutionsApi extends HttpApiGroup.make("executions") .add( HttpApiEndpoint.post("create")`/workspaces/${workspaceIdParam}/executions` .setPayload(CreateExecutionPayloadSchema) .addSuccess(ExecutionEnvelopeSchema) .addError(ControlPlaneBadRequestError) .addError(ControlPlaneUnauthorizedError) .addError(ControlPlaneForbiddenError) .addError(ControlPlaneNotFoundError) .addError(ControlPlaneStorageError), ) .add( HttpApiEndpoint.get("get")`/workspaces/${workspaceIdParam}/executions/${executionIdParam}` .addSuccess(ExecutionEnvelopeSchema) .addError(ControlPlaneBadRequestError) .addError(ControlPlaneUnauthorizedError) .addError(ControlPlaneForbiddenError) .addError(ControlPlaneNotFoundError) .addError(ControlPlaneStorageError), ) .add( HttpApiEndpoint.post("resume")`/workspaces/${workspaceIdParam}/executions/${executionIdParam}/resume` .setPayload(ResumeExecutionPayloadSchema) .addSuccess(ExecutionEnvelopeSchema) .addError(ControlPlaneBadRequestError) .addError(ControlPlaneUnauthorizedError) .addError(ControlPlaneForbiddenError) .addError(ControlPlaneNotFoundError) .addError(ControlPlaneStorageError), ) .prefix("/v1") {}
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "@effect/platform";
import {
CreateExecutionPayloadSchema,
ResumeExecutionPayloadSchema,
} from "@executor/platform-sdk/contracts";
export type {
CreateExecutionPayload,
ResumeExecutionPayload,
} from "@executor/platform-sdk/contracts";
import {
ExecutionIdSchema,
ExecutionEnvelopeSchema,
ScopeIdSchema as WorkspaceIdSchema,
} from "@executor/platform-sdk/schema";
import {
ControlPlaneBadRequestError,
ControlPlaneForbiddenError,
ControlPlaneNotFoundError,
ControlPlaneStorageError,
ControlPlaneUnauthorizedError,
} from "@executor/platform-sdk/errors";
export {
CreateExecutionPayloadSchema,
ResumeExecutionPayloadSchema,
};
const workspaceIdParam = HttpApiSchema.param("workspaceId", WorkspaceIdSchema);
const executionIdParam = HttpApiSchema.param("executionId", ExecutionIdSchema);
export class ExecutionsApi extends HttpApiGroup.make("executions")
.add(
HttpApiEndpoint.post("create")`/workspaces/${workspaceIdParam}/executions`
.setPayload(CreateExecutionPayloadSchema)
.addSuccess(ExecutionEnvelopeSchema)
.addError(ControlPlaneBadRequestError)
.addError(ControlPlaneUnauthorizedError)
.addError(ControlPlaneForbiddenError)
.addError(ControlPlaneNotFoundError)
.addError(ControlPlaneStorageError),
)
.add(
HttpApiEndpoint.get("get")`/workspaces/${workspaceIdParam}/executions/${executionIdParam}`
.addSuccess(ExecutionEnvelopeSchema)
.addError(ControlPlaneBadRequestError)
.addError(ControlPlaneUnauthorizedError)
.addError(ControlPlaneForbiddenError)
.addError(ControlPlaneNotFoundError)
.addError(ControlPlaneStorageError),
)
.add(
HttpApiEndpoint.post("resume")`/workspaces/${workspaceIdParam}/executions/${executionIdParam}/resume`
.setPayload(ResumeExecutionPayloadSchema)
.addSuccess(ExecutionEnvelopeSchema)
.addError(ControlPlaneBadRequestError)
.addError(ControlPlaneUnauthorizedError)
.addError(ControlPlaneForbiddenError)
.addError(ControlPlaneNotFoundError)
.addError(ControlPlaneStorageError),
)
.prefix("/v1") {}