Files
lda-wf/web/packages/rpc/src/rpcs.ts
T

459 lines
16 KiB
TypeScript

import { Rpc, RpcGroup } from "@effect/rpc";
import { Schema } from "effect";
import { runtimeSchemasFor } from "./json-schema/runtime-schema.js";
const PositiveIntegerSchema = Schema.Number.pipe(
Schema.int(),
Schema.between(1, Number.MAX_SAFE_INTEGER),
);
export const ArtifactRefSchema = Schema.Struct({
artifact_id: Schema.String,
version: PositiveIntegerSchema,
});
const healthSchemas = runtimeSchemasFor("workflow.health");
export const WorkflowHealthPayloadSchema = healthSchemas.payload;
export const WorkflowHealthResultSchema = healthSchemas.success;
export const WorkflowHealth = Rpc.make("workflow.health", {
payload: WorkflowHealthPayloadSchema,
success: WorkflowHealthResultSchema,
error: Schema.Never,
});
const sourceListSchemas = runtimeSchemasFor("workflow.sources.list");
export const WorkflowSourcesListPayloadSchema = sourceListSchemas.payload;
export const WorkflowSourcesListResultSchema = sourceListSchemas.success;
export const WorkflowSourcesList = Rpc.make("workflow.sources.list", {
payload: WorkflowSourcesListPayloadSchema,
success: WorkflowSourcesListResultSchema,
error: Schema.Never,
});
const capabilityListSchemas = runtimeSchemasFor("workflow.capabilities.list");
export const WorkflowCapabilitiesListPayloadSchema =
capabilityListSchemas.payload;
export const WorkflowCapabilitiesListResultSchema =
capabilityListSchemas.success;
export const WorkflowCapabilitiesList = Rpc.make("workflow.capabilities.list", {
payload: WorkflowCapabilitiesListPayloadSchema,
success: WorkflowCapabilitiesListResultSchema,
error: Schema.Never,
});
const capabilityInspectSchemas = runtimeSchemasFor(
"workflow.capabilities.inspect",
);
export const WorkflowCapabilitiesInspectPayloadSchema =
capabilityInspectSchemas.payload;
export const WorkflowCapabilitiesInspectResultSchema =
capabilityInspectSchemas.success;
export const WorkflowCapabilitiesInspect = Rpc.make(
"workflow.capabilities.inspect",
{
payload: WorkflowCapabilitiesInspectPayloadSchema,
success: WorkflowCapabilitiesInspectResultSchema,
error: Schema.Never,
},
);
const capabilityCallSchemas = runtimeSchemasFor("workflow.capabilities.call");
export const WorkflowCapabilitiesCallPayloadSchema =
capabilityCallSchemas.payload;
export const WorkflowCapabilitiesCallResultSchema =
capabilityCallSchemas.success;
export const WorkflowCapabilitiesCall = Rpc.make("workflow.capabilities.call", {
payload: WorkflowCapabilitiesCallPayloadSchema,
success: WorkflowCapabilitiesCallResultSchema,
error: Schema.Never,
});
const draftWorkspacesListSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.list",
);
export const WorkflowDraftWorkspacesListPayloadSchema =
draftWorkspacesListSchemas.payload;
export const WorkflowDraftWorkspacesListResultSchema =
draftWorkspacesListSchemas.success;
export const WorkflowDraftWorkspacesList = Rpc.make(
"workflow.draft_workspaces.list",
{
payload: WorkflowDraftWorkspacesListPayloadSchema,
success: WorkflowDraftWorkspacesListResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesGetSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.get",
);
export const WorkflowDraftWorkspacesGetPayloadSchema =
draftWorkspacesGetSchemas.payload;
export const WorkflowDraftWorkspacesGetResultSchema =
draftWorkspacesGetSchemas.success;
export const WorkflowDraftWorkspacesGet = Rpc.make(
"workflow.draft_workspaces.get",
{
payload: WorkflowDraftWorkspacesGetPayloadSchema,
success: WorkflowDraftWorkspacesGetResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesInspectAuthoringContractSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.inspect_authoring_contract",
);
export const WorkflowDraftWorkspacesInspectAuthoringContractPayloadSchema =
draftWorkspacesInspectAuthoringContractSchemas.payload;
export const WorkflowDraftWorkspacesInspectAuthoringContractResultSchema =
draftWorkspacesInspectAuthoringContractSchemas.success;
export const WorkflowDraftWorkspacesInspectAuthoringContract = Rpc.make(
"workflow.draft_workspaces.inspect_authoring_contract",
{
payload: WorkflowDraftWorkspacesInspectAuthoringContractPayloadSchema,
success: WorkflowDraftWorkspacesInspectAuthoringContractResultSchema,
error: Schema.Never,
},
);
// Artifacts
const artifactListSchemas = runtimeSchemasFor("workflow.artifacts.list");
export const WorkflowArtifactsListPayloadSchema = artifactListSchemas.payload;
export const WorkflowArtifactsListResultSchema = artifactListSchemas.success;
export const WorkflowArtifactsList = Rpc.make("workflow.artifacts.list", {
payload: WorkflowArtifactsListPayloadSchema,
success: WorkflowArtifactsListResultSchema,
error: Schema.Never,
});
const draftWorkspacesCreateEmptySchemas = runtimeSchemasFor(
"workflow.draft_workspaces.create_empty",
);
export const WorkflowDraftWorkspacesCreateEmptyPayloadSchema =
draftWorkspacesCreateEmptySchemas.payload;
export const WorkflowDraftWorkspacesCreateEmptyResultSchema =
draftWorkspacesCreateEmptySchemas.success;
export const WorkflowDraftWorkspacesCreateEmpty = Rpc.make(
"workflow.draft_workspaces.create_empty",
{
payload: WorkflowDraftWorkspacesCreateEmptyPayloadSchema,
success: WorkflowDraftWorkspacesCreateEmptyResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesCreateFromCapabilitySchemas = runtimeSchemasFor(
"workflow.draft_workspaces.create_from_capability",
);
export const WorkflowDraftWorkspacesCreateFromCapabilityPayloadSchema =
draftWorkspacesCreateFromCapabilitySchemas.payload;
export const WorkflowDraftWorkspacesCreateFromCapabilityResultSchema =
draftWorkspacesCreateFromCapabilitySchemas.success;
export const WorkflowDraftWorkspacesCreateFromCapability = Rpc.make(
"workflow.draft_workspaces.create_from_capability",
{
payload: WorkflowDraftWorkspacesCreateFromCapabilityPayloadSchema,
success: WorkflowDraftWorkspacesCreateFromCapabilityResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesAddStepFromCapabilitySchemas = runtimeSchemasFor(
"workflow.draft_workspaces.add_step_from_capability",
);
export const WorkflowDraftWorkspacesAddStepFromCapabilityPayloadSchema =
draftWorkspacesAddStepFromCapabilitySchemas.payload;
export const WorkflowDraftWorkspacesAddStepFromCapabilityResultSchema =
draftWorkspacesAddStepFromCapabilitySchemas.success;
export const WorkflowDraftWorkspacesAddStepFromCapability = Rpc.make(
"workflow.draft_workspaces.add_step_from_capability",
{
payload: WorkflowDraftWorkspacesAddStepFromCapabilityPayloadSchema,
success: WorkflowDraftWorkspacesAddStepFromCapabilityResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesUpdateCapabilityStepSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.update_capability_step",
);
export const WorkflowDraftWorkspacesUpdateCapabilityStepPayloadSchema =
draftWorkspacesUpdateCapabilityStepSchemas.payload;
export const WorkflowDraftWorkspacesUpdateCapabilityStepResultSchema =
draftWorkspacesUpdateCapabilityStepSchemas.success;
export const WorkflowDraftWorkspacesUpdateCapabilityStep = Rpc.make(
"workflow.draft_workspaces.update_capability_step",
{
payload: WorkflowDraftWorkspacesUpdateCapabilityStepPayloadSchema,
success: WorkflowDraftWorkspacesUpdateCapabilityStepResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesSetRouteSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.set_route",
);
export const WorkflowDraftWorkspacesSetRoutePayloadSchema =
draftWorkspacesSetRouteSchemas.payload;
export const WorkflowDraftWorkspacesSetRouteResultSchema =
draftWorkspacesSetRouteSchemas.success;
export const WorkflowDraftWorkspacesSetRoute = Rpc.make(
"workflow.draft_workspaces.set_route",
{
payload: WorkflowDraftWorkspacesSetRoutePayloadSchema,
success: WorkflowDraftWorkspacesSetRouteResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesSetContractSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.set_contract",
);
export const WorkflowDraftWorkspacesSetContractPayloadSchema =
draftWorkspacesSetContractSchemas.payload;
export const WorkflowDraftWorkspacesSetContractResultSchema =
draftWorkspacesSetContractSchemas.success;
export const WorkflowDraftWorkspacesSetContract = Rpc.make(
"workflow.draft_workspaces.set_contract",
{
payload: WorkflowDraftWorkspacesSetContractPayloadSchema,
success: WorkflowDraftWorkspacesSetContractResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesSetStartSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.set_start",
);
export const WorkflowDraftWorkspacesSetStartPayloadSchema =
draftWorkspacesSetStartSchemas.payload;
export const WorkflowDraftWorkspacesSetStartResultSchema =
draftWorkspacesSetStartSchemas.success;
export const WorkflowDraftWorkspacesSetStart = Rpc.make(
"workflow.draft_workspaces.set_start",
{
payload: WorkflowDraftWorkspacesSetStartPayloadSchema,
success: WorkflowDraftWorkspacesSetStartResultSchema,
error: Schema.Never,
},
);
const setStepInputBindingsSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.set_step_input_bindings",
);
export const WorkflowDraftWorkspacesSetStepInputBindingsPayloadSchema =
setStepInputBindingsSchemas.payload;
export const WorkflowDraftWorkspacesSetStepInputBindingsResultSchema =
setStepInputBindingsSchemas.success;
export const WorkflowDraftWorkspacesSetStepInputBindings = Rpc.make(
"workflow.draft_workspaces.set_step_input_bindings",
{
payload: WorkflowDraftWorkspacesSetStepInputBindingsPayloadSchema,
success: WorkflowDraftWorkspacesSetStepInputBindingsResultSchema,
error: Schema.Never,
},
);
const setStepOutputBindingsSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.set_step_output_bindings",
);
export const WorkflowDraftWorkspacesSetStepOutputBindingsPayloadSchema =
setStepOutputBindingsSchemas.payload;
export const WorkflowDraftWorkspacesSetStepOutputBindingsResultSchema =
setStepOutputBindingsSchemas.success;
export const WorkflowDraftWorkspacesSetStepOutputBindings = Rpc.make(
"workflow.draft_workspaces.set_step_output_bindings",
{
payload: WorkflowDraftWorkspacesSetStepOutputBindingsPayloadSchema,
success: WorkflowDraftWorkspacesSetStepOutputBindingsResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesSetWorkflowOutputBindingsSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.set_workflow_output_bindings",
);
export const WorkflowDraftWorkspacesSetWorkflowOutputBindingsPayloadSchema =
draftWorkspacesSetWorkflowOutputBindingsSchemas.payload;
export const WorkflowDraftWorkspacesSetWorkflowOutputBindingsResultSchema =
draftWorkspacesSetWorkflowOutputBindingsSchemas.success;
export const WorkflowDraftWorkspacesSetWorkflowOutputBindings = Rpc.make(
"workflow.draft_workspaces.set_workflow_output_bindings",
{
payload: WorkflowDraftWorkspacesSetWorkflowOutputBindingsPayloadSchema,
success: WorkflowDraftWorkspacesSetWorkflowOutputBindingsResultSchema,
error: Schema.Never,
},
);
const draftWorkspacesValidateSchemas = runtimeSchemasFor(
"workflow.draft_workspaces.validate",
);
export const WorkflowDraftWorkspacesValidatePayloadSchema =
draftWorkspacesValidateSchemas.payload;
export const WorkflowDraftWorkspacesValidateResultSchema =
draftWorkspacesValidateSchemas.success;
export const WorkflowDraftWorkspacesValidate = Rpc.make(
"workflow.draft_workspaces.validate",
{
payload: WorkflowDraftWorkspacesValidatePayloadSchema,
success: WorkflowDraftWorkspacesValidateResultSchema,
error: Schema.Never,
},
);
const artifactInspectSchemas = runtimeSchemasFor("workflow.artifacts.inspect");
export const WorkflowArtifactsInspectPayloadSchema =
artifactInspectSchemas.payload;
export const WorkflowArtifactsInspectResultSchema =
artifactInspectSchemas.success;
export const WorkflowArtifactsInspect = Rpc.make("workflow.artifacts.inspect", {
payload: WorkflowArtifactsInspectPayloadSchema,
success: WorkflowArtifactsInspectResultSchema,
error: Schema.Never,
});
// Deployments
const deploymentListSchemas = runtimeSchemasFor("workflow.deployments.list");
export const WorkflowDeploymentsListPayloadSchema =
deploymentListSchemas.payload;
export const WorkflowDeploymentsListResultSchema = deploymentListSchemas.success;
export const WorkflowDeploymentsList = Rpc.make("workflow.deployments.list", {
payload: WorkflowDeploymentsListPayloadSchema,
success: WorkflowDeploymentsListResultSchema,
error: Schema.Never,
});
const deploymentInspectSchemas = runtimeSchemasFor(
"workflow.deployments.inspect",
);
export const WorkflowDeploymentsInspectPayloadSchema =
deploymentInspectSchemas.payload;
export const WorkflowDeploymentsInspectResultSchema =
deploymentInspectSchemas.success;
export const WorkflowDeploymentsInspect = Rpc.make("workflow.deployments.inspect", {
payload: WorkflowDeploymentsInspectPayloadSchema,
success: WorkflowDeploymentsInspectResultSchema,
error: Schema.Never,
});
const deploymentValidateSchemas = runtimeSchemasFor(
"workflow.deployments.validate",
);
export const WorkflowDeploymentsValidatePayloadSchema =
deploymentValidateSchemas.payload;
export const WorkflowDeploymentsValidateResultSchema =
deploymentValidateSchemas.success;
export const WorkflowDeploymentsValidate = Rpc.make("workflow.deployments.validate", {
payload: WorkflowDeploymentsValidatePayloadSchema,
success: WorkflowDeploymentsValidateResultSchema,
error: Schema.Never,
});
// Runs
const runListSchemas = runtimeSchemasFor("workflow.runs.list");
export const WorkflowRunsListPayloadSchema = runListSchemas.payload;
export const WorkflowRunsListResultSchema = runListSchemas.success;
export const WorkflowRunsList = Rpc.make("workflow.runs.list", {
payload: WorkflowRunsListPayloadSchema,
success: WorkflowRunsListResultSchema,
error: Schema.Never,
});
const runInspectSchemas = runtimeSchemasFor("workflow.runs.inspect");
export const WorkflowRunsInspectPayloadSchema = runInspectSchemas.payload;
export const WorkflowRunsInspectResultSchema = runInspectSchemas.success;
export const WorkflowRunsInspect = Rpc.make("workflow.runs.inspect", {
payload: WorkflowRunsInspectPayloadSchema,
success: WorkflowRunsInspectResultSchema,
error: Schema.Never,
});
const runStartSchemas = runtimeSchemasFor("workflow.runs.start");
export const WorkflowRunsStartPayloadSchema = runStartSchemas.payload;
export const WorkflowRunsStartResultSchema = runStartSchemas.success;
const runResumeSchemas = runtimeSchemasFor("workflow.runs.resume");
export const WorkflowRunsResumePayloadSchema = runResumeSchemas.payload;
export const WorkflowRunsResumeResultSchema = runResumeSchemas.success;
export const WorkflowRunsStart = Rpc.make("workflow.runs.start", {
payload: WorkflowRunsStartPayloadSchema,
success: runStartSchemas.success,
error: Schema.Never,
});
export const WorkflowRunsResume = Rpc.make("workflow.runs.resume", {
payload: WorkflowRunsResumePayloadSchema,
success: runResumeSchemas.success,
error: Schema.Never,
});
const runTraceSchemas = runtimeSchemasFor("workflow.runs.trace");
export const WorkflowRunsTracePayloadSchema = runTraceSchemas.payload;
export const WorkflowRunsTraceResultSchema = runTraceSchemas.success;
export const WorkflowRunsTrace = Rpc.make("workflow.runs.trace", {
payload: WorkflowRunsTracePayloadSchema,
success: WorkflowRunsTraceResultSchema,
error: Schema.Never,
});
export const WorkflowRpcs = RpcGroup.make(
WorkflowHealth,
WorkflowSourcesList,
WorkflowCapabilitiesList,
WorkflowCapabilitiesInspect,
WorkflowCapabilitiesCall,
WorkflowDraftWorkspacesList,
WorkflowDraftWorkspacesGet,
WorkflowDraftWorkspacesInspectAuthoringContract,
WorkflowDraftWorkspacesCreateEmpty,
WorkflowDraftWorkspacesCreateFromCapability,
WorkflowDraftWorkspacesAddStepFromCapability,
WorkflowDraftWorkspacesUpdateCapabilityStep,
WorkflowDraftWorkspacesSetRoute,
WorkflowDraftWorkspacesSetContract,
WorkflowDraftWorkspacesSetStart,
WorkflowDraftWorkspacesSetStepInputBindings,
WorkflowDraftWorkspacesSetStepOutputBindings,
WorkflowDraftWorkspacesSetWorkflowOutputBindings,
WorkflowDraftWorkspacesValidate,
WorkflowArtifactsList,
WorkflowArtifactsInspect,
WorkflowDeploymentsList,
WorkflowDeploymentsInspect,
WorkflowDeploymentsValidate,
WorkflowRunsList,
WorkflowRunsInspect,
WorkflowRunsStart,
WorkflowRunsResume,
WorkflowRunsTrace,
);