@dudousxd/nestjs-durable-dashboard 0.43.1 → 0.44.0

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.
@@ -1,5 +1,7 @@
1
1
  import type { RunListItem as CoreRunListItem, RunStatus as CoreRunStatus, RunWaiting as CoreRunWaiting, StepCheckpoint as CoreStepCheckpoint, StepEvent as CoreStepEvent, StepKind as CoreStepKind, StepError, WireDates } from '@dudousxd/nestjs-durable-core';
2
2
  export { ConsoleSessionError, durableConsoleSessionUrl, durableConsoleUrl, mintDurableConsoleSession, openDurableConsole, type OpenConsoleOptions, } from './console-session.js';
3
+ export { type RunPredicates, type RunValueField, type RunValueRow, runQueryString, } from './run-query-string.js';
4
+ import { type RunPredicates, type RunValueField, type RunValueRow } from './run-query-string.js';
3
5
  export type RunStatus = CoreRunStatus;
4
6
  export type StepKind = CoreStepKind;
5
7
  /** This deployment's durable role — mirrors the server's `DurableTopology` (kept local so the SPA
@@ -183,8 +185,12 @@ declare global {
183
185
  * something an operator opts into, never something the client imposes.
184
186
  */
185
187
  export interface RunFilterOptions {
186
- /** Tenant / worker-pool partition — `WorkflowRun.namespace`, exact match. Absent = all tenants. */
187
- namespace?: string | undefined;
188
+ /**
189
+ * Tenant / worker-pool partition — `WorkflowRun.namespace`. Absent = all tenants. An ARRAY matches
190
+ * any of them, which is what a multi-select produces: two tenants compared side by side, in one
191
+ * query rather than two.
192
+ */
193
+ namespace?: string | string[] | undefined;
188
194
  /**
189
195
  * The package that declared the workflow — `WorkflowRun.origin`, exact match. Absent = all origins.
190
196
  * `null` selects the UNATTRIBUTED runs instead (the server's `unattributed` param): a run with no
@@ -214,13 +220,25 @@ export declare const durableClient: {
214
220
  * (only the detail view renders them, and on a large deployment they are most of the bytes), which
215
221
  * is why the three are optional on {@link WorkflowRun}.
216
222
  */
217
- runs(status?: RunStatus, tag?: string, attr?: string[], opts?: RunFilterOptions & RunPageOptions): Promise<WorkflowRun[]>;
223
+ runs(status?: RunStatus, tag?: string | string[], attr?: string[], opts?: RunFilterOptions & RunPageOptions): Promise<WorkflowRun[]>;
218
224
  /**
219
225
  * `(status, origin)` counts for the runs matching the same tag/tenant/attribute predicates as
220
226
  * {@link runs} — the console's chips, counted over the WHOLE matching set rather than over the page
221
227
  * it happens to be showing. `status`/`origin` are not sent: they are the axes being counted.
222
228
  */
223
- facets(tag?: string, attr?: string[], namespace?: string): Promise<RunFacetRow[]>;
229
+ facets(tag?: string | string[], attr?: string[], namespace?: string | string[]): Promise<RunFacetRow[]>;
230
+ /**
231
+ * The distinct values one filter field takes across the runs matching the OTHER active predicates,
232
+ * most common first — what a value picker lists instead of asking an operator to type blind.
233
+ *
234
+ * Scoped by the rest of the filter on purpose: pick a tenant, and the tag picker offers that
235
+ * tenant's tags. `limit` bounds the answer, which matters rather than being a nicety — tag and
236
+ * search-attribute cardinality grows with the data (a `singleton:<key>` tag is minted per key), so
237
+ * the unbounded answer is a listing.
238
+ */
239
+ values(field: RunValueField, scope?: RunPredicates, opts?: {
240
+ limit?: number;
241
+ }): Promise<RunValueRow[]>;
224
242
  run(id: string): Promise<RunDetail>;
225
243
  /** Per-group worker health (queue backlog + live worker heartbeats) for the Workers panel. */
226
244
  workers(): Promise<GroupHealth[]>;
@@ -234,7 +252,7 @@ export declare const durableClient: {
234
252
  /** Bulk retry/cancel every run matching a filter. Returns how many matched + were acted on. */
235
253
  bulk(action: "retry" | "cancel", filter: RunFilterOptions & {
236
254
  status?: RunStatus | undefined;
237
- tag?: string | undefined;
255
+ tag?: string | string[] | undefined;
238
256
  attr?: string[] | undefined;
239
257
  }): Promise<{
240
258
  matched: number;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@
6
6
  // Headless console-launcher primitives (path derivation + mint-then-navigate). Re-exported here
7
7
  // because `./client` resolves to this file — see the package's `exports` map.
8
8
  export { ConsoleSessionError, durableConsoleSessionUrl, durableConsoleUrl, mintDurableConsoleSession, openDurableConsole, } from './console-session.js';
9
+ export { runQueryString, } from './run-query-string.js';
10
+ import { runQueryString, } from './run-query-string.js';
9
11
  /** How long a remote step may sit `pending` (dispatched, no result) before it's presumed a LOST
10
12
  * dispatch — the worker crashed or the transport dropped the job. Reconcile-wake can't recover this
11
13
  * (it re-suspends a pending step), so it needs an explicit re-dispatch. */
@@ -224,29 +226,13 @@ export const durableClient = {
224
226
  * is why the three are optional on {@link WorkflowRun}.
225
227
  */
226
228
  runs(status, tag, attr, opts) {
227
- const q = new URLSearchParams();
228
- if (status)
229
- q.set('status', status);
230
- if (tag)
231
- q.set('tag', tag);
232
- // Each `attr` is a `key:op:value` predicate; repeated params are ANDed server-side.
233
- for (const a of attr ?? [])
234
- q.append('attr', a);
235
- if (opts?.namespace)
236
- q.set('namespace', opts.namespace);
237
- // `null` is the unattributed bucket, which has its own param — see `RunFilterOptions.origin`.
238
- if (opts?.origin === null)
239
- q.set('unattributed', 'true');
240
- else if (opts?.origin)
241
- q.set('origin', opts.origin);
242
- // Repeated `status` params are ORed server-side into `RunQuery.statuses`.
243
- for (const st of opts?.statuses ?? [])
244
- q.append('status', st);
245
- if (opts?.limit !== undefined)
246
- q.set('limit', String(opts.limit));
247
- if (opts?.offset !== undefined)
248
- q.set('offset', String(opts.offset));
249
- const qs = q.toString();
229
+ const qs = runQueryString({
230
+ status: status ?? opts?.statuses,
231
+ tag,
232
+ attr,
233
+ namespace: opts?.namespace,
234
+ origin: opts?.origin,
235
+ }, { limit: opts?.limit, offset: opts?.offset });
250
236
  return http(qs ? `/runs?${qs}` : '/runs');
251
237
  },
252
238
  /**
@@ -255,16 +241,22 @@ export const durableClient = {
255
241
  * it happens to be showing. `status`/`origin` are not sent: they are the axes being counted.
256
242
  */
257
243
  facets(tag, attr, namespace) {
258
- const q = new URLSearchParams();
259
- if (tag)
260
- q.set('tag', tag);
261
- for (const a of attr ?? [])
262
- q.append('attr', a);
263
- if (namespace)
264
- q.set('namespace', namespace);
265
- const qs = q.toString();
244
+ const qs = runQueryString({ tag, attr, namespace });
266
245
  return http(qs ? `/runs/facets?${qs}` : '/runs/facets');
267
246
  },
247
+ /**
248
+ * The distinct values one filter field takes across the runs matching the OTHER active predicates,
249
+ * most common first — what a value picker lists instead of asking an operator to type blind.
250
+ *
251
+ * Scoped by the rest of the filter on purpose: pick a tenant, and the tag picker offers that
252
+ * tenant's tags. `limit` bounds the answer, which matters rather than being a nicety — tag and
253
+ * search-attribute cardinality grows with the data (a `singleton:<key>` tag is minted per key), so
254
+ * the unbounded answer is a listing.
255
+ */
256
+ values(field, scope = {}, opts) {
257
+ const qs = runQueryString(scope, {}, { field, ...(opts?.limit && { limit: opts.limit }) });
258
+ return http(`/runs/values?${qs}`);
259
+ },
268
260
  run(id) {
269
261
  return http(`/runs/${encodeURIComponent(id)}`);
270
262
  },
@@ -289,22 +281,9 @@ export const durableClient = {
289
281
  },
290
282
  /** Bulk retry/cancel every run matching a filter. Returns how many matched + were acted on. */
291
283
  bulk(action, filter) {
292
- const q = new URLSearchParams();
293
- if (filter.status)
294
- q.set('status', filter.status);
295
- if (filter.tag)
296
- q.set('tag', filter.tag);
297
- for (const a of filter.attr ?? [])
298
- q.append('attr', a);
299
- // Every facet the operator can see MUST be sent: a bulk retry/cancel that is scoped more widely
300
- // than the list it was launched from would act on runs the operator never looked at.
301
- if (filter.namespace)
302
- q.set('namespace', filter.namespace);
303
- if (filter.origin === null)
304
- q.set('unattributed', 'true');
305
- else if (filter.origin)
306
- q.set('origin', filter.origin);
307
- const qs = q.toString();
284
+ // Every facet the operator can see MUST be sent: a bulk retry/cancel scoped more widely than the
285
+ // list it was launched from would act on runs the operator never looked at.
286
+ const qs = runQueryString(filter);
308
287
  return http(`/bulk/${action}${qs ? `?${qs}` : ''}`, {
309
288
  method: 'POST',
310
289
  });
@@ -1 +1 @@
1
- {"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { RunStatus } from '@dudousxd/nestjs-durable-core';
2
+ /** The fields a value picker can enumerate. `attr` lists the search-attribute KEYS in use;
3
+ * `attr.<key>` lists the values recorded under one of them. */
4
+ export type RunValueField = 'workflow' | 'status' | 'origin' | 'namespace' | 'tag' | `attr.${string}` | 'attr';
5
+ /** One row of a value picker: a distinct value and how many matching runs carry it. `null` only for
6
+ * the axis that has an absent bucket (a run with no origin). */
7
+ export interface RunValueRow {
8
+ value: string | null;
9
+ count: number;
10
+ }
11
+ /**
12
+ * Everything the console can narrow a run listing by. A scalar narrows to one value; an ARRAY
13
+ * matches any of them, which is what a multi-select produces.
14
+ */
15
+ export interface RunPredicates {
16
+ status?: RunStatus | RunStatus[] | undefined;
17
+ workflow?: string | string[] | undefined;
18
+ tag?: string | string[] | undefined;
19
+ namespace?: string | string[] | undefined;
20
+ /** A package name, or `null` for the unattributed bucket — a run with no origin matches no origin
21
+ * VALUE at all, so absence needs its own spelling. */
22
+ origin?: string | null | undefined;
23
+ /** `key:op:value` predicates (`amount:gte:200`), or `key:in:a|b` for a set. */
24
+ attr?: string[] | undefined;
25
+ }
26
+ /**
27
+ * The console's filter as a query string, built with `@dudousxd/nestjs-filter-client`.
28
+ *
29
+ * One builder for the listing, its facet counts, its value pickers and its bulk actions, so those
30
+ * four can never disagree about what the operator selected — a bulk retry scoped more widely than
31
+ * the list it was launched from acts on runs nobody looked at.
32
+ *
33
+ * The page bound rides INSIDE the filter envelope (`filter[limit]`) rather than as `paginate`: the
34
+ * console's "show more" grows one window instead of stepping through pages, and `paginate.size` is
35
+ * capped by the server's `maxPageSize` — a cap that would silently stop "show more" at 100 rows.
36
+ */
37
+ export declare function runQueryString(predicates: RunPredicates, page?: {
38
+ limit?: number | undefined;
39
+ offset?: number | undefined;
40
+ }, groupByCount?: {
41
+ field: RunValueField;
42
+ limit?: number;
43
+ }): string;
44
+ //# sourceMappingURL=run-query-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-query-string.d.ts","sourceRoot":"","sources":["../../src/client/run-query-string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAG/D;gEACgE;AAChE,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,KAAK,GACL,QAAQ,MAAM,EAAE,GAChB,MAAM,CAAC;AAEX;iEACiE;AACjE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C;2DACuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC7B;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,aAAa,EACzB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,EACtE,YAAY,CAAC,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,MAAM,CA8CR"}
@@ -0,0 +1,82 @@
1
+ import { filterQuery, filterQueryToQueryString } from '@dudousxd/nestjs-filter-client';
2
+ /** The filter operator each search-attribute op maps to. Same set the server accepts; anything else
3
+ * is not a predicate the run store can answer. */
4
+ const ATTR_OPERATORS = {
5
+ eq: 'equals',
6
+ ne: 'notEquals',
7
+ gt: 'gt',
8
+ gte: 'gte',
9
+ lt: 'lt',
10
+ lte: 'lte',
11
+ in: 'in',
12
+ };
13
+ /** Coerce an operand the way the server does, so a numeric attribute compares as a number. */
14
+ function coerce(raw) {
15
+ if (raw === 'true')
16
+ return true;
17
+ if (raw === 'false')
18
+ return false;
19
+ if (raw !== '' && !Number.isNaN(Number(raw)))
20
+ return Number(raw);
21
+ return raw;
22
+ }
23
+ /**
24
+ * The console's filter as a query string, built with `@dudousxd/nestjs-filter-client`.
25
+ *
26
+ * One builder for the listing, its facet counts, its value pickers and its bulk actions, so those
27
+ * four can never disagree about what the operator selected — a bulk retry scoped more widely than
28
+ * the list it was launched from acts on runs nobody looked at.
29
+ *
30
+ * The page bound rides INSIDE the filter envelope (`filter[limit]`) rather than as `paginate`: the
31
+ * console's "show more" grows one window instead of stepping through pages, and `paginate.size` is
32
+ * capped by the server's `maxPageSize` — a cap that would silently stop "show more" at 100 rows.
33
+ */
34
+ export function runQueryString(predicates, page = {}, groupByCount) {
35
+ const query = filterQuery();
36
+ const narrow = (field, value) => {
37
+ if (value === undefined)
38
+ return;
39
+ if (Array.isArray(value)) {
40
+ // An empty selection is "no restriction", not "match nothing": the operator cleared the box.
41
+ if (value.length === 0)
42
+ return;
43
+ if (value.length === 1)
44
+ query.where(field, 'equals', value[0]);
45
+ else
46
+ query.where(field, 'in', value);
47
+ return;
48
+ }
49
+ // A blank param is what a cleared filter box sends; passing it through would be an exact match
50
+ // on a value nothing has, i.e. a console that goes empty for no visible reason.
51
+ if (value !== '')
52
+ query.where(field, 'equals', value);
53
+ };
54
+ narrow('status', predicates.status);
55
+ narrow('workflow', predicates.workflow);
56
+ narrow('tag', predicates.tag);
57
+ narrow('namespace', predicates.namespace);
58
+ // `null` is the unattributed bucket — `isNull` is the only operator that can select an absence.
59
+ if (predicates.origin === null)
60
+ query.where('origin', 'isNull', true);
61
+ else if (predicates.origin)
62
+ query.where('origin', 'equals', predicates.origin);
63
+ for (const entry of predicates.attr ?? []) {
64
+ const [key, op, ...rest] = entry.split(':');
65
+ const operator = op ? ATTR_OPERATORS[op] : undefined;
66
+ if (!key || !operator || rest.length === 0)
67
+ continue;
68
+ const operand = rest.join(':');
69
+ query.where(`attr.${key}`, operator, op === 'in' ? operand.split('|').filter(Boolean).map(coerce) : coerce(operand));
70
+ }
71
+ const built = query.build();
72
+ return filterQueryToQueryString({
73
+ ...built,
74
+ filter: {
75
+ ...built.filter,
76
+ ...(page.limit !== undefined && { limit: page.limit }),
77
+ ...(page.offset !== undefined && { offset: page.offset }),
78
+ },
79
+ ...(groupByCount && { groupByCount }),
80
+ });
81
+ }
82
+ //# sourceMappingURL=run-query-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-query-string.js","sourceRoot":"","sources":["../../src/client/run-query-string.ts"],"names":[],"mappings":"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"}