@h-rig/core 0.0.6-alpha.154 → 0.0.6-alpha.156
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.
- package/dist/src/config.d.ts +1 -1
- package/dist/src/config.js +4 -91
- package/dist/src/define-plugin.d.ts +11 -7
- package/dist/src/define-plugin.js +4 -91
- package/dist/src/index.d.ts +1 -11
- package/dist/src/index.js +33 -3704
- package/dist/src/plugin-host.d.ts +25 -18
- package/dist/src/plugin-host.js +28 -149
- package/dist/src/plugin-runtime.d.ts +82 -51
- package/dist/src/project-plugins.d.ts +66 -0
- package/dist/src/project-plugins.js +596 -0
- package/dist/src/task-io.d.ts +54 -0
- package/dist/src/task-io.js +707 -0
- package/package.json +8 -20
- package/dist/src/dependencyGraph.d.ts +0 -43
- package/dist/src/dependencyGraph.js +0 -703
- package/dist/src/engineReadModelReducer.d.ts +0 -12
- package/dist/src/engineReadModelReducer.js +0 -1784
- package/dist/src/rig-init-builder.d.ts +0 -30
- package/dist/src/rig-init-builder.js +0 -61
- package/dist/src/rigSelectors.d.ts +0 -220
- package/dist/src/rigSelectors.js +0 -414
- package/dist/src/rollups.d.ts +0 -6
- package/dist/src/rollups.js +0 -377
- package/dist/src/stageResolve.d.ts +0 -77
- package/dist/src/stageResolve.js +0 -361
- package/dist/src/taskGraph.d.ts +0 -64
- package/dist/src/taskGraph.js +0 -377
- package/dist/src/taskGraphCodes.d.ts +0 -3
- package/dist/src/taskGraphCodes.js +0 -26
- package/dist/src/taskGraphLayout.d.ts +0 -61
- package/dist/src/taskGraphLayout.js +0 -397
- package/dist/src/taskScore.d.ts +0 -17
- package/dist/src/taskScore.js +0 -49
package/dist/src/rigSelectors.js
DELETED
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// packages/core/src/rigSelectors.ts
|
|
3
|
-
function selectWorkspaces(snapshot) {
|
|
4
|
-
return snapshot?.workspaces ?? [];
|
|
5
|
-
}
|
|
6
|
-
function selectPrimaryWorkspace(snapshot) {
|
|
7
|
-
const workspaces = selectWorkspaces(snapshot);
|
|
8
|
-
return workspaces.find((workspace) => workspace.sourceKind === "rig-import") ?? workspaces[0] ?? null;
|
|
9
|
-
}
|
|
10
|
-
function pickDefaultWorkspaceId(snapshot) {
|
|
11
|
-
return selectPrimaryWorkspace(snapshot)?.id ?? null;
|
|
12
|
-
}
|
|
13
|
-
function selectWorkspace(snapshot, workspaceId) {
|
|
14
|
-
if (!workspaceId)
|
|
15
|
-
return null;
|
|
16
|
-
return snapshot?.workspaces.find((workspace) => workspace.id === workspaceId) ?? null;
|
|
17
|
-
}
|
|
18
|
-
function selectTask(snapshot, taskId) {
|
|
19
|
-
if (!taskId)
|
|
20
|
-
return null;
|
|
21
|
-
return snapshot?.tasks.find((task) => task.id === taskId) ?? null;
|
|
22
|
-
}
|
|
23
|
-
function selectTasksByWorkspace(snapshot, workspaceId) {
|
|
24
|
-
if (!workspaceId)
|
|
25
|
-
return [];
|
|
26
|
-
return snapshot?.tasks.filter((task) => task.workspaceId === workspaceId) ?? [];
|
|
27
|
-
}
|
|
28
|
-
var selectTasksForWorkspace = selectTasksByWorkspace;
|
|
29
|
-
function selectTasksByStatus(snapshot, status) {
|
|
30
|
-
return snapshot?.tasks.filter((task) => task.status === status) ?? [];
|
|
31
|
-
}
|
|
32
|
-
function projectTaskStatusForGrouping(status) {
|
|
33
|
-
switch (status) {
|
|
34
|
-
case "failed":
|
|
35
|
-
return "ready";
|
|
36
|
-
case "closed":
|
|
37
|
-
return "completed";
|
|
38
|
-
case "running":
|
|
39
|
-
case "in_progress":
|
|
40
|
-
case "under_review":
|
|
41
|
-
return "running";
|
|
42
|
-
case null:
|
|
43
|
-
case undefined:
|
|
44
|
-
case "":
|
|
45
|
-
return "unknown";
|
|
46
|
-
default:
|
|
47
|
-
return status;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
function projectRunStatusForTaskGrouping(status) {
|
|
51
|
-
switch (status) {
|
|
52
|
-
case "created":
|
|
53
|
-
case "queued":
|
|
54
|
-
case "preparing":
|
|
55
|
-
return "queued";
|
|
56
|
-
case "running":
|
|
57
|
-
case "waiting-approval":
|
|
58
|
-
case "waiting-user-input":
|
|
59
|
-
case "paused":
|
|
60
|
-
case "validating":
|
|
61
|
-
case "reviewing":
|
|
62
|
-
case "closing-out":
|
|
63
|
-
return "running";
|
|
64
|
-
case "needs-attention":
|
|
65
|
-
return "blocked";
|
|
66
|
-
case "failed":
|
|
67
|
-
case "stopped":
|
|
68
|
-
return "ready";
|
|
69
|
-
case "completed":
|
|
70
|
-
return "completed";
|
|
71
|
-
case null:
|
|
72
|
-
case undefined:
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
var STATUS_PRIORITY = [
|
|
77
|
-
"running",
|
|
78
|
-
"blocked",
|
|
79
|
-
"queued",
|
|
80
|
-
"ready",
|
|
81
|
-
"open",
|
|
82
|
-
"draft",
|
|
83
|
-
"unknown",
|
|
84
|
-
"cancelled",
|
|
85
|
-
"completed"
|
|
86
|
-
];
|
|
87
|
-
function taskIdFromSession(session) {
|
|
88
|
-
return session.taskId ?? session.record.taskId ?? null;
|
|
89
|
-
}
|
|
90
|
-
function latestSessionByTask(sessions) {
|
|
91
|
-
const byTask = new Map;
|
|
92
|
-
for (const session of sessions) {
|
|
93
|
-
const taskId = taskIdFromSession(session);
|
|
94
|
-
if (!taskId)
|
|
95
|
-
continue;
|
|
96
|
-
const existing = byTask.get(taskId);
|
|
97
|
-
if (!existing || (session.lastEventAt ?? "").localeCompare(existing.lastEventAt ?? "") >= 0) {
|
|
98
|
-
byTask.set(taskId, session);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return byTask;
|
|
102
|
-
}
|
|
103
|
-
function projectTaskStatusWithSessions(task, sessionsByTask = new Map) {
|
|
104
|
-
const sessionStatus = projectRunStatusForTaskGrouping(sessionsByTask.get(task.id)?.status);
|
|
105
|
-
return sessionStatus ?? projectTaskStatusForGrouping(task.status);
|
|
106
|
-
}
|
|
107
|
-
function groupTasksByProjectedStatus(tasks, sessions = []) {
|
|
108
|
-
const sessionsByTask = latestSessionByTask(sessions);
|
|
109
|
-
const byStatus = new Map;
|
|
110
|
-
for (const task of tasks) {
|
|
111
|
-
const projectedStatus = projectTaskStatusWithSessions(task, sessionsByTask);
|
|
112
|
-
const group = byStatus.get(projectedStatus);
|
|
113
|
-
if (group) {
|
|
114
|
-
group.push(task);
|
|
115
|
-
} else {
|
|
116
|
-
byStatus.set(projectedStatus, [task]);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
const result = [];
|
|
120
|
-
for (const status of STATUS_PRIORITY) {
|
|
121
|
-
const group = byStatus.get(status);
|
|
122
|
-
if (group && group.length > 0) {
|
|
123
|
-
result.push({ status, tasks: group });
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const overflowStatuses = Array.from(byStatus.keys()).filter((status) => !STATUS_PRIORITY.includes(status)).sort();
|
|
127
|
-
for (const status of overflowStatuses) {
|
|
128
|
-
const group = byStatus.get(status);
|
|
129
|
-
if (group && group.length > 0) {
|
|
130
|
-
result.push({ status, tasks: group });
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return result;
|
|
134
|
-
}
|
|
135
|
-
function isProjectionGroupingInput(value) {
|
|
136
|
-
return Boolean(value && typeof value === "object" && !("snapshotSequence" in value) && Array.isArray(value.tasks));
|
|
137
|
-
}
|
|
138
|
-
function selectTasksGroupedByStatus(input, workspaceId) {
|
|
139
|
-
if (isProjectionGroupingInput(input)) {
|
|
140
|
-
const filteredTasks = input.workspaceId ? input.tasks.filter((task) => {
|
|
141
|
-
const workspaceTask = task;
|
|
142
|
-
return workspaceTask.workspaceId === input.workspaceId;
|
|
143
|
-
}) : input.tasks;
|
|
144
|
-
return groupTasksByProjectedStatus(filteredTasks, input.sessions);
|
|
145
|
-
}
|
|
146
|
-
const tasks = selectTasksByWorkspace(input, workspaceId ?? null);
|
|
147
|
-
return groupTasksByProjectedStatus(tasks, []);
|
|
148
|
-
}
|
|
149
|
-
function isObjectRecord(value) {
|
|
150
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
151
|
-
}
|
|
152
|
-
function normalizeLogin(value) {
|
|
153
|
-
return value.trim().replace(/^@+/, "").toLowerCase();
|
|
154
|
-
}
|
|
155
|
-
function assigneeLoginsFromValue(value) {
|
|
156
|
-
if (!Array.isArray(value))
|
|
157
|
-
return [];
|
|
158
|
-
return value.flatMap((entry) => {
|
|
159
|
-
if (typeof entry === "string" && entry.trim())
|
|
160
|
-
return [normalizeLogin(entry)];
|
|
161
|
-
if (isObjectRecord(entry) && typeof entry.login === "string" && entry.login.trim()) {
|
|
162
|
-
return [normalizeLogin(entry.login)];
|
|
163
|
-
}
|
|
164
|
-
return [];
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
function normalizeTaskAssigneeFilter(assignee, currentUserLogin) {
|
|
168
|
-
const trimmed = assignee?.trim();
|
|
169
|
-
if (!trimmed)
|
|
170
|
-
return null;
|
|
171
|
-
if (trimmed === "@me" || trimmed.toLowerCase() === "me") {
|
|
172
|
-
return currentUserLogin?.trim() ? normalizeLogin(currentUserLogin) : null;
|
|
173
|
-
}
|
|
174
|
-
return normalizeLogin(trimmed);
|
|
175
|
-
}
|
|
176
|
-
function readTaskAssigneeLogins(task) {
|
|
177
|
-
const taskRecord = task;
|
|
178
|
-
const metadata = isObjectRecord(task.metadata) ? task.metadata : null;
|
|
179
|
-
const raw = isObjectRecord(metadata?.raw) ? metadata.raw : null;
|
|
180
|
-
return Array.from(new Set([
|
|
181
|
-
...assigneeLoginsFromValue(taskRecord.assignees),
|
|
182
|
-
...assigneeLoginsFromValue(metadata?.assignees),
|
|
183
|
-
...assigneeLoginsFromValue(raw?.assignees)
|
|
184
|
-
]));
|
|
185
|
-
}
|
|
186
|
-
function taskMatchesAssigneeFilter(task, assignee, options = {}) {
|
|
187
|
-
const normalized = normalizeTaskAssigneeFilter(assignee, options.currentUserLogin);
|
|
188
|
-
if (!normalized)
|
|
189
|
-
return false;
|
|
190
|
-
return readTaskAssigneeLogins(task).includes(normalized);
|
|
191
|
-
}
|
|
192
|
-
function selectTasksAssignedTo(tasks, assignee, options = {}) {
|
|
193
|
-
return tasks.filter((task) => taskMatchesAssigneeFilter(task, assignee, options));
|
|
194
|
-
}
|
|
195
|
-
function selectTasksAssignedToMe(tasks, currentUserLogin) {
|
|
196
|
-
return selectTasksAssignedTo(tasks, "@me", currentUserLogin === undefined ? {} : { currentUserLogin });
|
|
197
|
-
}
|
|
198
|
-
function selectRun(snapshot, runId) {
|
|
199
|
-
if (!runId)
|
|
200
|
-
return null;
|
|
201
|
-
return snapshot?.runs.find((run) => run.id === runId) ?? null;
|
|
202
|
-
}
|
|
203
|
-
function selectRunsByTask(snapshot, taskId) {
|
|
204
|
-
if (!taskId)
|
|
205
|
-
return [];
|
|
206
|
-
return snapshot?.runs.filter((run) => run.taskId === taskId) ?? [];
|
|
207
|
-
}
|
|
208
|
-
var selectRunsForTask = selectRunsByTask;
|
|
209
|
-
function selectRunsForWorkspace(snapshot, workspaceId) {
|
|
210
|
-
if (!workspaceId)
|
|
211
|
-
return [];
|
|
212
|
-
return snapshot?.runs.filter((run) => run.workspaceId === workspaceId) ?? [];
|
|
213
|
-
}
|
|
214
|
-
function selectAdhocRuns(snapshot) {
|
|
215
|
-
return snapshot?.runs.filter((run) => run.taskId === null) ?? [];
|
|
216
|
-
}
|
|
217
|
-
function selectAdhocRunsForWorkspace(snapshot, workspaceId) {
|
|
218
|
-
if (!workspaceId)
|
|
219
|
-
return [];
|
|
220
|
-
return snapshot?.runs.filter((run) => run.taskId === null && run.workspaceId === workspaceId) ?? [];
|
|
221
|
-
}
|
|
222
|
-
function selectGraphsForWorkspace(snapshot, workspaceId) {
|
|
223
|
-
if (!workspaceId)
|
|
224
|
-
return [];
|
|
225
|
-
return snapshot?.graphs.filter((graph) => graph.workspaceId === workspaceId) ?? [];
|
|
226
|
-
}
|
|
227
|
-
function selectQueueForWorkspace(snapshot, workspaceId) {
|
|
228
|
-
if (!snapshot || !workspaceId)
|
|
229
|
-
return [];
|
|
230
|
-
const taskIds = new Set(selectTasksByWorkspace(snapshot, workspaceId).map((task) => task.id));
|
|
231
|
-
return snapshot.queue.filter((entry) => taskIds.has(entry.taskId));
|
|
232
|
-
}
|
|
233
|
-
function selectPendingApprovals(snapshot) {
|
|
234
|
-
return snapshot?.approvals.filter((approval) => approval.status === "pending") ?? [];
|
|
235
|
-
}
|
|
236
|
-
function selectApprovalsForRun(snapshot, runId) {
|
|
237
|
-
if (!runId)
|
|
238
|
-
return [];
|
|
239
|
-
return snapshot?.approvals.filter((approval) => approval.runId === runId) ?? [];
|
|
240
|
-
}
|
|
241
|
-
function selectPendingApprovalsForRun(snapshot, runId) {
|
|
242
|
-
return selectApprovalsForRun(snapshot, runId).filter((approval) => approval.status === "pending");
|
|
243
|
-
}
|
|
244
|
-
function selectApprovalsForWorkspace(snapshot, workspaceId) {
|
|
245
|
-
if (!snapshot || !workspaceId)
|
|
246
|
-
return [];
|
|
247
|
-
const runIds = new Set(selectRunsForWorkspace(snapshot, workspaceId).map((run) => run.id));
|
|
248
|
-
return snapshot.approvals.filter((approval) => runIds.has(approval.runId));
|
|
249
|
-
}
|
|
250
|
-
function selectUserInputsForRun(snapshot, runId) {
|
|
251
|
-
if (!runId)
|
|
252
|
-
return [];
|
|
253
|
-
return (snapshot?.userInputs ?? []).filter((request) => request.runId === runId);
|
|
254
|
-
}
|
|
255
|
-
function selectPendingUserInputs(snapshot) {
|
|
256
|
-
return (snapshot?.userInputs ?? []).filter((request) => request.status === "pending");
|
|
257
|
-
}
|
|
258
|
-
function selectPendingUserInputsForRun(snapshot, runId) {
|
|
259
|
-
return selectUserInputsForRun(snapshot, runId).filter((request) => request.status === "pending");
|
|
260
|
-
}
|
|
261
|
-
function selectUserInputsForWorkspace(snapshot, workspaceId) {
|
|
262
|
-
if (!snapshot || !workspaceId)
|
|
263
|
-
return [];
|
|
264
|
-
const runIds = new Set(selectRunsForWorkspace(snapshot, workspaceId).map((run) => run.id));
|
|
265
|
-
return (snapshot.userInputs ?? []).filter((request) => runIds.has(request.runId));
|
|
266
|
-
}
|
|
267
|
-
function selectRuntimeForRun(snapshot, runId) {
|
|
268
|
-
if (!runId)
|
|
269
|
-
return null;
|
|
270
|
-
return snapshot?.runtimes.find((runtime) => runtime.runId === runId) ?? null;
|
|
271
|
-
}
|
|
272
|
-
function selectLatestRuntimeForTask(snapshot, taskId) {
|
|
273
|
-
if (!taskId)
|
|
274
|
-
return null;
|
|
275
|
-
const runs = selectRunsByTask(snapshot, taskId).toSorted((left, right) => (right.startedAt ?? right.createdAt).localeCompare(left.startedAt ?? left.createdAt));
|
|
276
|
-
for (const run of runs) {
|
|
277
|
-
const runtime = selectRuntimeForRun(snapshot, run.id);
|
|
278
|
-
if (runtime)
|
|
279
|
-
return runtime;
|
|
280
|
-
}
|
|
281
|
-
return null;
|
|
282
|
-
}
|
|
283
|
-
function selectActionsForTask(snapshot, taskId) {
|
|
284
|
-
if (!taskId)
|
|
285
|
-
return [];
|
|
286
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
287
|
-
return snapshot?.actions.filter((action) => runIds.has(action.runId)) ?? [];
|
|
288
|
-
}
|
|
289
|
-
function selectApprovalsForTask(snapshot, taskId) {
|
|
290
|
-
if (!taskId)
|
|
291
|
-
return [];
|
|
292
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
293
|
-
return snapshot?.approvals.filter((approval) => runIds.has(approval.runId)) ?? [];
|
|
294
|
-
}
|
|
295
|
-
function selectUserInputsForTask(snapshot, taskId) {
|
|
296
|
-
if (!taskId)
|
|
297
|
-
return [];
|
|
298
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
299
|
-
return (snapshot?.userInputs ?? []).filter((request) => runIds.has(request.runId));
|
|
300
|
-
}
|
|
301
|
-
function selectValidationsForRun(snapshot, runId) {
|
|
302
|
-
if (!runId)
|
|
303
|
-
return [];
|
|
304
|
-
return snapshot?.validations.filter((validation) => validation.runId === runId) ?? [];
|
|
305
|
-
}
|
|
306
|
-
function selectValidationsForTask(snapshot, taskId) {
|
|
307
|
-
if (!taskId)
|
|
308
|
-
return [];
|
|
309
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
310
|
-
return snapshot?.validations.filter((validation) => runIds.has(validation.runId)) ?? [];
|
|
311
|
-
}
|
|
312
|
-
function selectFailedValidations(snapshot, runId) {
|
|
313
|
-
return selectValidationsForRun(snapshot, runId).filter((validation) => validation.status === "failed");
|
|
314
|
-
}
|
|
315
|
-
function selectReviewsForRun(snapshot, runId) {
|
|
316
|
-
if (!runId)
|
|
317
|
-
return [];
|
|
318
|
-
return snapshot?.reviews.filter((review) => review.runId === runId) ?? [];
|
|
319
|
-
}
|
|
320
|
-
function selectReviewsForTask(snapshot, taskId) {
|
|
321
|
-
if (!taskId)
|
|
322
|
-
return [];
|
|
323
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
324
|
-
return snapshot?.reviews.filter((review) => runIds.has(review.runId)) ?? [];
|
|
325
|
-
}
|
|
326
|
-
function selectArtifactsForRun(snapshot, runId) {
|
|
327
|
-
if (!runId)
|
|
328
|
-
return [];
|
|
329
|
-
return snapshot?.artifacts.filter((artifact) => artifact.runId === runId) ?? [];
|
|
330
|
-
}
|
|
331
|
-
function selectArtifactsForTask(snapshot, taskId) {
|
|
332
|
-
if (!taskId)
|
|
333
|
-
return [];
|
|
334
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
335
|
-
return snapshot?.artifacts.filter((artifact) => runIds.has(artifact.runId)) ?? [];
|
|
336
|
-
}
|
|
337
|
-
function selectPolicyDecisionsForTask(snapshot, taskId) {
|
|
338
|
-
if (!taskId)
|
|
339
|
-
return [];
|
|
340
|
-
const runIds = new Set(selectRunsByTask(snapshot, taskId).map((run) => run.id));
|
|
341
|
-
return snapshot?.policyDecisions.filter((decision) => runIds.has(decision.runId)) ?? [];
|
|
342
|
-
}
|
|
343
|
-
function selectRemoteEndpoints(snapshot) {
|
|
344
|
-
return snapshot?.remoteEndpoints ?? [];
|
|
345
|
-
}
|
|
346
|
-
function selectRemoteConnections(snapshot) {
|
|
347
|
-
return snapshot?.remoteConnections ?? [];
|
|
348
|
-
}
|
|
349
|
-
function selectRemoteEndpoint(snapshot, endpointId) {
|
|
350
|
-
if (!endpointId)
|
|
351
|
-
return null;
|
|
352
|
-
return snapshot?.remoteEndpoints.find((endpoint) => endpoint.id === endpointId) ?? null;
|
|
353
|
-
}
|
|
354
|
-
function selectRemoteConnection(snapshot, endpointId) {
|
|
355
|
-
if (!endpointId)
|
|
356
|
-
return null;
|
|
357
|
-
return snapshot?.remoteConnections.find((connection) => connection.endpointId === endpointId) ?? null;
|
|
358
|
-
}
|
|
359
|
-
function selectConnectedRemoteCount(snapshot) {
|
|
360
|
-
return selectRemoteConnections(snapshot).filter((connection) => connection.status === "connected").length;
|
|
361
|
-
}
|
|
362
|
-
export {
|
|
363
|
-
taskMatchesAssigneeFilter,
|
|
364
|
-
selectWorkspaces,
|
|
365
|
-
selectWorkspace,
|
|
366
|
-
selectValidationsForTask,
|
|
367
|
-
selectValidationsForRun,
|
|
368
|
-
selectUserInputsForWorkspace,
|
|
369
|
-
selectUserInputsForTask,
|
|
370
|
-
selectUserInputsForRun,
|
|
371
|
-
selectTasksGroupedByStatus,
|
|
372
|
-
selectTasksForWorkspace,
|
|
373
|
-
selectTasksByWorkspace,
|
|
374
|
-
selectTasksByStatus,
|
|
375
|
-
selectTasksAssignedToMe,
|
|
376
|
-
selectTasksAssignedTo,
|
|
377
|
-
selectTask,
|
|
378
|
-
selectRuntimeForRun,
|
|
379
|
-
selectRunsForWorkspace,
|
|
380
|
-
selectRunsForTask,
|
|
381
|
-
selectRunsByTask,
|
|
382
|
-
selectRun,
|
|
383
|
-
selectReviewsForTask,
|
|
384
|
-
selectReviewsForRun,
|
|
385
|
-
selectRemoteEndpoints,
|
|
386
|
-
selectRemoteEndpoint,
|
|
387
|
-
selectRemoteConnections,
|
|
388
|
-
selectRemoteConnection,
|
|
389
|
-
selectQueueForWorkspace,
|
|
390
|
-
selectPrimaryWorkspace,
|
|
391
|
-
selectPolicyDecisionsForTask,
|
|
392
|
-
selectPendingUserInputsForRun,
|
|
393
|
-
selectPendingUserInputs,
|
|
394
|
-
selectPendingApprovalsForRun,
|
|
395
|
-
selectPendingApprovals,
|
|
396
|
-
selectLatestRuntimeForTask,
|
|
397
|
-
selectGraphsForWorkspace,
|
|
398
|
-
selectFailedValidations,
|
|
399
|
-
selectConnectedRemoteCount,
|
|
400
|
-
selectArtifactsForTask,
|
|
401
|
-
selectArtifactsForRun,
|
|
402
|
-
selectApprovalsForWorkspace,
|
|
403
|
-
selectApprovalsForTask,
|
|
404
|
-
selectApprovalsForRun,
|
|
405
|
-
selectAdhocRunsForWorkspace,
|
|
406
|
-
selectAdhocRuns,
|
|
407
|
-
selectActionsForTask,
|
|
408
|
-
readTaskAssigneeLogins,
|
|
409
|
-
projectTaskStatusWithSessions,
|
|
410
|
-
projectTaskStatusForGrouping,
|
|
411
|
-
projectRunStatusForTaskGrouping,
|
|
412
|
-
pickDefaultWorkspaceId,
|
|
413
|
-
normalizeTaskAssigneeFilter
|
|
414
|
-
};
|
package/dist/src/rollups.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AssigneeRollup as ContractAssigneeRollup, BlockerClass as ContractBlockerClass, EpicRollup as ContractEpicRollup, RunJournalProjection, TaskSummary } from "@rig/contracts";
|
|
2
|
-
export type BlockerClass = ContractBlockerClass;
|
|
3
|
-
export type EpicRollup = ContractEpicRollup;
|
|
4
|
-
export type AssigneeRollup = ContractAssigneeRollup;
|
|
5
|
-
export declare function rollupByEpic(tasks: readonly TaskSummary[], classifications?: ReadonlyMap<string, BlockerClass>): readonly EpicRollup[];
|
|
6
|
-
export declare function rollupByAssignee(tasks: readonly TaskSummary[], runs: readonly RunJournalProjection[]): readonly AssigneeRollup[];
|