Step: IntersectionC<[TypeC<{
actions: ArrayC<IntersectionC<[TypeC<{
inputs: ArrayC<IntersectionC<[TypeC<{}>, PartialC<{
content: ArrayC<IntersectionC<[TypeC<{
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
}>, PartialC<{
id: StringC;
service: UrlFromStringC;
url: UrlFromStringC;
}>]>>;
doi: StringC;
id: StringC;
published: DateFromUnknownC;
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
url: UrlFromStringC;
}>]>>;
outputs: ArrayC<IntersectionC<[TypeC<{}>, PartialC<{
content: ArrayC<IntersectionC<[TypeC<{
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
}>, PartialC<{
id: StringC;
service: UrlFromStringC;
url: UrlFromStringC;
}>]>>;
doi: StringC;
id: StringC;
published: DateFromUnknownC;
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
url: UrlFromStringC;
}>]>>;
participants: ArrayC<IntersectionC<[TypeC<{
actor: UnionC<[TypeC<{
name: StringC;
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
}>, UnknownC]>;
role: StringC;
}>, PartialC<{
id: StringC;
type: UnionC<[LiteralC<"pro:roleintime">, LiteralC<"pro:RoleInTime">]>;
}>]>>;
}>, PartialC<{
id: StringC;
}>]>>;
assertions: ArrayC<IntersectionC<[TypeC<{
item: UnknownC;
status: StringC;
}>, PartialC<{
happened: DateFromUnknownC;
}>]>>;
}>, PartialC<{
id: StringC;
inputs: ArrayC<IntersectionC<[TypeC<{}>, PartialC<{
content: ArrayC<IntersectionC<[TypeC<{
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
}>, PartialC<{
id: StringC;
service: UrlFromStringC;
url: UrlFromStringC;
}>]>>;
doi: StringC;
id: StringC;
published: DateFromUnknownC;
type: UnionC<[LiteralC<string>, ArrayC<LiteralC<string>>]> | UnionC<[ArrayC<UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>>, UnionC<[LiteralC<string>, LiteralC<string>, ...LiteralC<string>[]]>]>;
url: UrlFromStringC;
}>]>>;
next-step: UnionC<[StringC, NullC]>;
previous-step: UnionC<[StringC, NullC]>;
}>]> = ...
One step in a docmap's workflow. This is an ephemeral object (i.e., the same set of actions may appear in a step with a different content hash).