Action: 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;
}>]> = ...
An action taken in a step.