@h-rig/contracts 0.0.6-alpha.14 → 0.0.6-alpha.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/index.cjs +7456 -0
  2. package/dist/index.mjs +7415 -0
  3. package/dist/src/artifact.d.ts +13 -0
  4. package/dist/src/artifact.js +3 -0
  5. package/dist/src/baseSchemas.d.ts +63 -0
  6. package/dist/src/baseSchemas.js +6 -0
  7. package/dist/src/cli-output.d.ts +324 -0
  8. package/dist/src/cli-output.js +190 -0
  9. package/dist/src/config.d.ts +536 -0
  10. package/dist/src/config.js +1592 -162
  11. package/dist/src/conversation.d.ts +50 -0
  12. package/dist/src/conversation.js +3 -0
  13. package/dist/src/drift.d.ts +28 -0
  14. package/dist/src/drift.js +69 -0
  15. package/dist/src/editor.d.ts +25 -0
  16. package/dist/src/editor.js +3 -0
  17. package/dist/src/engine.d.ts +2789 -0
  18. package/dist/src/engine.js +127 -13
  19. package/dist/src/git.d.ts +144 -0
  20. package/dist/src/git.js +3 -0
  21. package/dist/src/graph.d.ts +323 -0
  22. package/dist/src/graph.js +124 -1
  23. package/dist/src/help-catalog.d.ts +34 -0
  24. package/dist/src/help-catalog.js +655 -0
  25. package/dist/src/index.d.ts +46 -0
  26. package/dist/src/index.js +4095 -1228
  27. package/dist/src/ipc.d.ts +248 -0
  28. package/dist/src/kernel.d.ts +221 -0
  29. package/dist/src/kernel.js +269 -0
  30. package/dist/src/keybindings.d.ts +71 -0
  31. package/dist/src/keybindings.js +3 -0
  32. package/dist/src/model.d.ts +77 -0
  33. package/dist/src/orchestration.d.ts +3695 -0
  34. package/dist/src/orchestration.js +3 -0
  35. package/dist/src/pi-session.d.ts +113 -0
  36. package/dist/src/pi-session.js +1 -0
  37. package/dist/src/planning.d.ts +64 -0
  38. package/dist/src/planning.js +90 -0
  39. package/dist/src/plugin-hooks.d.ts +51 -0
  40. package/dist/src/plugin-hooks.js +375 -0
  41. package/dist/src/plugin.d.ts +416 -0
  42. package/dist/src/plugin.js +332 -64
  43. package/dist/src/policy.d.ts +16 -0
  44. package/dist/src/policy.js +3 -0
  45. package/dist/src/project.d.ts +71 -0
  46. package/dist/src/project.js +3 -0
  47. package/dist/src/protocol-version.d.ts +21 -0
  48. package/dist/src/protocol-version.js +6 -0
  49. package/dist/src/provider.d.ts +105 -0
  50. package/dist/src/provider.js +3 -0
  51. package/dist/src/providerRuntime.d.ts +3949 -0
  52. package/dist/src/providerRuntime.js +3 -0
  53. package/dist/src/remote.d.ts +326 -0
  54. package/dist/src/remote.js +16 -10
  55. package/dist/src/review.d.ts +18 -0
  56. package/dist/src/review.js +3 -0
  57. package/dist/src/rig.d.ts +783 -0
  58. package/dist/src/rig.js +178 -15
  59. package/dist/src/rollups.d.ts +41 -0
  60. package/dist/src/rollups.js +70 -0
  61. package/dist/src/run-journal.d.ts +930 -0
  62. package/dist/src/run-journal.js +1641 -0
  63. package/dist/src/run-record.d.ts +45 -0
  64. package/dist/src/run-record.js +1 -0
  65. package/dist/src/run-session-journal.d.ts +93 -0
  66. package/dist/src/run-session-journal.js +1809 -0
  67. package/dist/src/run-status.d.ts +12 -0
  68. package/dist/src/run-status.js +38 -0
  69. package/dist/src/run-timeline.d.ts +10 -0
  70. package/dist/src/run-timeline.js +1499 -0
  71. package/dist/src/runtime.d.ts +103 -0
  72. package/dist/src/runtime.js +9 -4
  73. package/dist/src/server.d.ts +106 -0
  74. package/dist/src/server.js +3 -0
  75. package/dist/src/serviceFabric.d.ts +62 -0
  76. package/dist/src/serviceFabric.js +5 -2
  77. package/dist/src/stage.d.ts +245 -0
  78. package/dist/src/stage.js +169 -0
  79. package/dist/src/supervisor-journal.d.ts +205 -0
  80. package/dist/src/supervisor-journal.js +1246 -0
  81. package/dist/src/task-source.d.ts +37 -0
  82. package/dist/src/terminal.d.ts +130 -0
  83. package/dist/src/terminal.js +3 -0
  84. package/dist/src/validation.d.ts +14 -0
  85. package/dist/src/validation.js +3 -0
  86. package/dist/src/workflow-journal.d.ts +124 -0
  87. package/dist/src/workflow-journal.js +389 -0
  88. package/dist/src/workspace.d.ts +204 -0
  89. package/dist/src/workspace.js +5 -2
  90. package/dist/src/ws.d.ts +747 -0
  91. package/dist/src/ws.js +172 -14
  92. package/package.json +51 -4
@@ -0,0 +1,37 @@
1
+ import type { TaskSourceRegistration } from "./plugin";
2
+ /**
3
+ * A single task record returned by a task source adapter.
4
+ * Open-ended to allow adapters to include source-specific fields.
5
+ */
6
+ export interface TaskRecord {
7
+ id: string;
8
+ deps: readonly string[];
9
+ status: "ready" | "in_progress" | "closed" | "blocked" | "open" | string;
10
+ [extra: string]: unknown;
11
+ }
12
+ /**
13
+ * A registered task source adapter — combines the plugin-level registration
14
+ * metadata with the runtime-callable interface.
15
+ */
16
+ export interface TaskSourceUpdate {
17
+ status?: TaskRecord["status"];
18
+ title?: string;
19
+ body?: string;
20
+ comment?: string;
21
+ metadata?: Record<string, unknown>;
22
+ }
23
+ export interface TaskSourceCreateInput {
24
+ title: string;
25
+ body: string;
26
+ deps?: readonly string[];
27
+ parents?: readonly string[];
28
+ metadata?: Record<string, unknown>;
29
+ }
30
+ export type TaskSourceCreateResult = TaskRecord;
31
+ export interface RegisteredTaskSource extends TaskSourceRegistration {
32
+ list(): Promise<readonly TaskRecord[]>;
33
+ get?(id: string): Promise<TaskRecord | undefined>;
34
+ updateStatus?(id: string, status: TaskRecord["status"]): Promise<void>;
35
+ updateTask?(id: string, update: TaskSourceUpdate): Promise<void>;
36
+ create?(input: TaskSourceCreateInput): Promise<TaskSourceCreateResult>;
37
+ }
@@ -0,0 +1,130 @@
1
+ import { Schema } from "effect";
2
+ export declare const DEFAULT_TERMINAL_ID = "default";
3
+ export declare const TerminalThreadInput: Schema.Struct<{
4
+ readonly threadId: Schema.Trim;
5
+ }>;
6
+ export type TerminalThreadInput = Schema.Codec.Encoded<typeof TerminalThreadInput>;
7
+ declare const TerminalSessionInput: Schema.Struct<{
8
+ readonly terminalId: Schema.withDecodingDefault<Schema.Trim>;
9
+ readonly threadId: Schema.Trim;
10
+ }>;
11
+ export type TerminalSessionInput = Schema.Codec.Encoded<typeof TerminalSessionInput>;
12
+ export declare const TerminalOpenInput: Schema.Struct<{
13
+ readonly cwd: Schema.Trim;
14
+ readonly cols: Schema.optional<Schema.Int>;
15
+ readonly rows: Schema.optional<Schema.Int>;
16
+ readonly env: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
17
+ readonly terminalId: Schema.withDecodingDefault<Schema.Trim>;
18
+ readonly threadId: Schema.Trim;
19
+ }>;
20
+ export type TerminalOpenInput = Schema.Codec.Encoded<typeof TerminalOpenInput>;
21
+ export declare const TerminalWriteInput: Schema.Struct<{
22
+ readonly data: Schema.String;
23
+ readonly terminalId: Schema.withDecodingDefault<Schema.Trim>;
24
+ readonly threadId: Schema.Trim;
25
+ }>;
26
+ export type TerminalWriteInput = Schema.Codec.Encoded<typeof TerminalWriteInput>;
27
+ export declare const TerminalResizeInput: Schema.Struct<{
28
+ readonly cols: Schema.Int;
29
+ readonly rows: Schema.Int;
30
+ readonly terminalId: Schema.withDecodingDefault<Schema.Trim>;
31
+ readonly threadId: Schema.Trim;
32
+ }>;
33
+ export type TerminalResizeInput = Schema.Codec.Encoded<typeof TerminalResizeInput>;
34
+ export declare const TerminalClearInput: Schema.Struct<{
35
+ readonly terminalId: Schema.withDecodingDefault<Schema.Trim>;
36
+ readonly threadId: Schema.Trim;
37
+ }>;
38
+ export type TerminalClearInput = Schema.Codec.Encoded<typeof TerminalClearInput>;
39
+ export declare const TerminalRestartInput: Schema.Struct<{
40
+ readonly cwd: Schema.Trim;
41
+ readonly cols: Schema.Int;
42
+ readonly rows: Schema.Int;
43
+ readonly env: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
44
+ readonly threadId: Schema.Trim;
45
+ }>;
46
+ export declare const TerminalCloseInput: Schema.Struct<{
47
+ readonly terminalId: Schema.optional<Schema.Trim>;
48
+ readonly deleteHistory: Schema.optional<Schema.Boolean>;
49
+ readonly threadId: Schema.Trim;
50
+ }>;
51
+ export type TerminalCloseInput = Schema.Codec.Encoded<typeof TerminalCloseInput>;
52
+ export declare const TerminalSessionStatus: Schema.Literals<readonly ["starting", "running", "exited", "error"]>;
53
+ export type TerminalSessionStatus = typeof TerminalSessionStatus.Type;
54
+ export declare const TerminalSessionSnapshot: Schema.Struct<{
55
+ readonly threadId: Schema.String;
56
+ readonly terminalId: Schema.String;
57
+ readonly cwd: Schema.String;
58
+ readonly status: Schema.Literals<readonly ["starting", "running", "exited", "error"]>;
59
+ readonly pid: Schema.NullOr<Schema.Int>;
60
+ readonly history: Schema.String;
61
+ readonly exitCode: Schema.NullOr<Schema.Int>;
62
+ readonly exitSignal: Schema.NullOr<Schema.String>;
63
+ readonly updatedAt: Schema.String;
64
+ }>;
65
+ export type TerminalSessionSnapshot = typeof TerminalSessionSnapshot.Type;
66
+ export declare const TerminalEvent: Schema.Union<readonly [Schema.Struct<{
67
+ readonly type: Schema.Literal<"started">;
68
+ readonly snapshot: Schema.Struct<{
69
+ readonly threadId: Schema.String;
70
+ readonly terminalId: Schema.String;
71
+ readonly cwd: Schema.String;
72
+ readonly status: Schema.Literals<readonly ["starting", "running", "exited", "error"]>;
73
+ readonly pid: Schema.NullOr<Schema.Int>;
74
+ readonly history: Schema.String;
75
+ readonly exitCode: Schema.NullOr<Schema.Int>;
76
+ readonly exitSignal: Schema.NullOr<Schema.String>;
77
+ readonly updatedAt: Schema.String;
78
+ }>;
79
+ readonly threadId: Schema.String;
80
+ readonly terminalId: Schema.String;
81
+ readonly createdAt: Schema.String;
82
+ }>, Schema.Struct<{
83
+ readonly type: Schema.Literal<"output">;
84
+ readonly data: Schema.String;
85
+ readonly threadId: Schema.String;
86
+ readonly terminalId: Schema.String;
87
+ readonly createdAt: Schema.String;
88
+ }>, Schema.Struct<{
89
+ readonly type: Schema.Literal<"exited">;
90
+ readonly exitCode: Schema.NullOr<Schema.Int>;
91
+ readonly exitSignal: Schema.NullOr<Schema.String>;
92
+ readonly threadId: Schema.String;
93
+ readonly terminalId: Schema.String;
94
+ readonly createdAt: Schema.String;
95
+ }>, Schema.Struct<{
96
+ readonly type: Schema.Literal<"error">;
97
+ readonly message: Schema.String;
98
+ readonly threadId: Schema.String;
99
+ readonly terminalId: Schema.String;
100
+ readonly createdAt: Schema.String;
101
+ }>, Schema.Struct<{
102
+ readonly type: Schema.Literal<"cleared">;
103
+ readonly threadId: Schema.String;
104
+ readonly terminalId: Schema.String;
105
+ readonly createdAt: Schema.String;
106
+ }>, Schema.Struct<{
107
+ readonly type: Schema.Literal<"restarted">;
108
+ readonly snapshot: Schema.Struct<{
109
+ readonly threadId: Schema.String;
110
+ readonly terminalId: Schema.String;
111
+ readonly cwd: Schema.String;
112
+ readonly status: Schema.Literals<readonly ["starting", "running", "exited", "error"]>;
113
+ readonly pid: Schema.NullOr<Schema.Int>;
114
+ readonly history: Schema.String;
115
+ readonly exitCode: Schema.NullOr<Schema.Int>;
116
+ readonly exitSignal: Schema.NullOr<Schema.String>;
117
+ readonly updatedAt: Schema.String;
118
+ }>;
119
+ readonly threadId: Schema.String;
120
+ readonly terminalId: Schema.String;
121
+ readonly createdAt: Schema.String;
122
+ }>, Schema.Struct<{
123
+ readonly type: Schema.Literal<"activity">;
124
+ readonly hasRunningSubprocess: Schema.Boolean;
125
+ readonly threadId: Schema.String;
126
+ readonly terminalId: Schema.String;
127
+ readonly createdAt: Schema.String;
128
+ }>]>;
129
+ export type TerminalEvent = typeof TerminalEvent.Type;
130
+ export {};
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -0,0 +1,14 @@
1
+ import { Schema } from "effect";
2
+ export declare const ValidationStatus: Schema.Literals<readonly ["pending", "running", "passed", "failed", "skipped"]>;
3
+ export type ValidationStatus = typeof ValidationStatus.Type;
4
+ export declare const ValidationSummary: Schema.Struct<{
5
+ readonly id: Schema.brand<Schema.Trim, "ValidationResultId">;
6
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
7
+ readonly taskId: Schema.NullOr<Schema.brand<Schema.Trim, "TaskId">>;
8
+ readonly validatorKey: Schema.Trim;
9
+ readonly status: Schema.Literals<readonly ["pending", "running", "passed", "failed", "skipped"]>;
10
+ readonly output: Schema.Unknown;
11
+ readonly startedAt: Schema.String;
12
+ readonly completedAt: Schema.NullOr<Schema.String>;
13
+ }>;
14
+ export type ValidationSummary = typeof ValidationSummary.Type;
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -0,0 +1,124 @@
1
+ export declare const RIG_WORKFLOW_STARTED: "rig.workflow.started";
2
+ export declare const RIG_WORKFLOW_TARGET_SELECTED: "rig.workflow.target.selected";
3
+ export declare const RIG_WORKFLOW_TASK_SELECTED: "rig.workflow.task.selected";
4
+ export declare const RIG_WORKFLOW_STATUS_CHANGED: "rig.workflow.status.changed";
5
+ export declare const RIG_WORKFLOW_OPERATOR_NOTE: "rig.workflow.operator.note";
6
+ export declare const RIG_WORKFLOW_INBOX_REQUESTED: "rig.workflow.inbox.requested";
7
+ export declare const RIG_WORKFLOW_INBOX_RESOLVED: "rig.workflow.inbox.resolved";
8
+ export type RigWorkflowEntryType = typeof RIG_WORKFLOW_STARTED | typeof RIG_WORKFLOW_TARGET_SELECTED | typeof RIG_WORKFLOW_TASK_SELECTED | typeof RIG_WORKFLOW_STATUS_CHANGED | typeof RIG_WORKFLOW_OPERATOR_NOTE | typeof RIG_WORKFLOW_INBOX_REQUESTED | typeof RIG_WORKFLOW_INBOX_RESOLVED;
9
+ export type RigWorkflowTarget = "local" | "remote";
10
+ export type RigWorkflowOwner = {
11
+ githubUserId: string;
12
+ login: string;
13
+ namespaceKey: string;
14
+ };
15
+ export type RigWorkflowStarted = {
16
+ schemaVersion: 1;
17
+ workflowId: string;
18
+ target: RigWorkflowTarget;
19
+ selectedRepo: string;
20
+ owner: RigWorkflowOwner;
21
+ createdAt: string;
22
+ };
23
+ export type RigWorkflowTargetSelected = {
24
+ schemaVersion: 1;
25
+ target: RigWorkflowTarget;
26
+ reason?: string;
27
+ selectedAt: string;
28
+ };
29
+ export type RigWorkflowTaskSelected = {
30
+ schemaVersion: 1;
31
+ taskId: string;
32
+ title?: string;
33
+ selectedAt: string;
34
+ };
35
+ export type RigWorkflowStatus = "starting" | "running" | "waiting-approval" | "waiting-input" | "completed" | "failed" | "stopped";
36
+ export type RigWorkflowStatusChanged = {
37
+ schemaVersion: 1;
38
+ status: RigWorkflowStatus;
39
+ detail?: string;
40
+ changedAt: string;
41
+ };
42
+ export type RigWorkflowOperatorNote = {
43
+ schemaVersion: 1;
44
+ noteId?: string;
45
+ note: string;
46
+ notedAt: string;
47
+ };
48
+ export type RigWorkflowInboxRequested = {
49
+ schemaVersion: 1;
50
+ requestId: string;
51
+ kind: "approval" | "input";
52
+ title: string;
53
+ body?: string;
54
+ options?: readonly string[];
55
+ requestedAt: string;
56
+ };
57
+ export type RigWorkflowInboxResolved = {
58
+ schemaVersion: 1;
59
+ requestId: string;
60
+ decision: "approved" | "rejected" | "answered";
61
+ answer?: unknown;
62
+ resolvedAt: string;
63
+ };
64
+ export type RigWorkflowProjection = {
65
+ started: RigWorkflowStarted | null;
66
+ target: RigWorkflowTargetSelected | null;
67
+ task: RigWorkflowTaskSelected | null;
68
+ status: RigWorkflowStatusChanged | null;
69
+ notes: readonly RigWorkflowOperatorNote[];
70
+ inbox: readonly RigWorkflowInboxRequested[];
71
+ resolvedInbox: readonly RigWorkflowInboxResolved[];
72
+ updatedAt: string | null;
73
+ };
74
+ export type RigWorkflowCustomEntry = {
75
+ type: string;
76
+ customType?: string;
77
+ data?: unknown;
78
+ };
79
+ export declare function createWorkflowStarted(input: Omit<RigWorkflowStarted, "schemaVersion" | "createdAt"> & {
80
+ createdAt?: string;
81
+ }): RigWorkflowStarted;
82
+ export declare function createWorkflowTargetSelected(input: Omit<RigWorkflowTargetSelected, "schemaVersion" | "selectedAt"> & {
83
+ selectedAt?: string;
84
+ }): RigWorkflowTargetSelected;
85
+ export declare function createWorkflowTaskSelected(input: Omit<RigWorkflowTaskSelected, "schemaVersion" | "selectedAt"> & {
86
+ selectedAt?: string;
87
+ }): RigWorkflowTaskSelected;
88
+ export declare function createWorkflowStatusChanged(input: Omit<RigWorkflowStatusChanged, "schemaVersion" | "changedAt"> & {
89
+ changedAt?: string;
90
+ }): RigWorkflowStatusChanged;
91
+ export declare function createWorkflowOperatorNote(input: Omit<RigWorkflowOperatorNote, "schemaVersion" | "notedAt"> & {
92
+ notedAt?: string;
93
+ }): RigWorkflowOperatorNote;
94
+ export declare function createWorkflowInboxRequested(input: Omit<RigWorkflowInboxRequested, "schemaVersion" | "requestedAt"> & {
95
+ requestedAt?: string;
96
+ }): RigWorkflowInboxRequested;
97
+ export declare function createWorkflowInboxResolved(input: Omit<RigWorkflowInboxResolved, "schemaVersion" | "resolvedAt"> & {
98
+ resolvedAt?: string;
99
+ }): RigWorkflowInboxResolved;
100
+ export declare function parseWorkflowStarted(data: unknown): RigWorkflowStarted | null;
101
+ export declare function parseWorkflowTargetSelected(data: unknown): RigWorkflowTargetSelected | null;
102
+ export declare function parseWorkflowTaskSelected(data: unknown): RigWorkflowTaskSelected | null;
103
+ export declare function parseWorkflowStatusChanged(data: unknown): RigWorkflowStatusChanged | null;
104
+ export declare function parseWorkflowOperatorNote(data: unknown): RigWorkflowOperatorNote | null;
105
+ export declare function parseWorkflowInboxRequested(data: unknown): RigWorkflowInboxRequested | null;
106
+ export declare function parseWorkflowInboxResolved(data: unknown): RigWorkflowInboxResolved | null;
107
+ export declare function collectPendingInboxRequests(entries: readonly RigWorkflowCustomEntry[]): RigWorkflowInboxRequested[];
108
+ export declare function collectResolvedInboxRequests(entries: readonly RigWorkflowCustomEntry[]): RigWorkflowInboxResolved[];
109
+ export type RigCollabWorkflowMarkerInput = {
110
+ sessionId: string;
111
+ sessionPath: string;
112
+ cwd: string;
113
+ title: string;
114
+ joinLink: string;
115
+ webLink: string;
116
+ relayUrl?: string;
117
+ selectedRepo?: string;
118
+ owner?: Partial<RigWorkflowOwner>;
119
+ startedAt: string;
120
+ updatedAt: string;
121
+ stale: boolean;
122
+ };
123
+ export declare function projectCollabWorkflowMarker(collab: RigCollabWorkflowMarkerInput): RigWorkflowProjection;
124
+ export declare function projectWorkflowEntries(entries: readonly RigWorkflowCustomEntry[]): RigWorkflowProjection;