459 lines
16 KiB
TypeScript
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,
|
|
);
|