@adonis-agora/durable 0.32.1 → 0.34.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.
- package/CHANGELOG.md +24 -0
- package/dist/assets/spa/assets/index-CNnTzTNK.css +1 -0
- package/dist/assets/spa/assets/index-DxLx4LRM.js +16 -0
- package/dist/assets/spa/assets/index-DxLx4LRM.js.map +1 -0
- package/dist/assets/spa/index.html +2 -2
- package/dist/providers/dashboard_provider.d.ts +1 -0
- package/dist/providers/dashboard_provider.d.ts.map +1 -1
- package/dist/providers/dashboard_provider.js +4 -1
- package/dist/providers/dashboard_provider.js.map +1 -1
- package/dist/providers/durable_provider.d.ts.map +1 -1
- package/dist/providers/durable_provider.js +6 -2
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/codec-state-store.d.ts +2 -1
- package/dist/src/codec-state-store.d.ts.map +1 -1
- package/dist/src/codec-state-store.js +10 -0
- package/dist/src/codec-state-store.js.map +1 -1
- package/dist/src/dashboard/attr-filter.d.ts +6 -2
- package/dist/src/dashboard/attr-filter.d.ts.map +1 -1
- package/dist/src/dashboard/attr-filter.js +22 -5
- package/dist/src/dashboard/attr-filter.js.map +1 -1
- package/dist/src/dashboard/gateway-adapter.d.ts +3 -1
- package/dist/src/dashboard/gateway-adapter.d.ts.map +1 -1
- package/dist/src/dashboard/gateway-adapter.js +5 -0
- package/dist/src/dashboard/gateway-adapter.js.map +1 -1
- package/dist/src/dashboard/handlers.d.ts +26 -7
- package/dist/src/dashboard/handlers.d.ts.map +1 -1
- package/dist/src/dashboard/handlers.js +75 -46
- package/dist/src/dashboard/handlers.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +5 -2
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/index.js +5 -2
- package/dist/src/dashboard/index.js.map +1 -1
- package/dist/src/dashboard/run-filter.d.ts +48 -0
- package/dist/src/dashboard/run-filter.d.ts.map +1 -0
- package/dist/src/dashboard/run-filter.js +169 -0
- package/dist/src/dashboard/run-filter.js.map +1 -0
- package/dist/src/dashboard/run-query-draft.d.ts +23 -0
- package/dist/src/dashboard/run-query-draft.d.ts.map +1 -0
- package/dist/src/dashboard/run-query-draft.js +29 -0
- package/dist/src/dashboard/run-query-draft.js.map +1 -0
- package/dist/src/dashboard/run-values.d.ts +22 -0
- package/dist/src/dashboard/run-values.d.ts.map +1 -0
- package/dist/src/dashboard/run-values.js +52 -0
- package/dist/src/dashboard/run-values.js.map +1 -0
- package/dist/src/define_config.d.ts +9 -4
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/engine.d.ts +8 -1
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +13 -0
- package/dist/src/engine.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.d.ts +116 -6
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/run-value-facets.d.ts +59 -0
- package/dist/src/run-value-facets.d.ts.map +1 -0
- package/dist/src/run-value-facets.js +119 -0
- package/dist/src/run-value-facets.js.map +1 -0
- package/dist/src/search-attributes.d.ts +3 -0
- package/dist/src/search-attributes.d.ts.map +1 -1
- package/dist/src/search-attributes.js +24 -1
- package/dist/src/search-attributes.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +19 -2
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +89 -9
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/testing/in-memory-state-store.d.ts +8 -1
- package/dist/src/testing/in-memory-state-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-state-store.js +42 -0
- package/dist/src/testing/in-memory-state-store.js.map +1 -1
- package/dist/src/testing-kit/state-store-conformance.d.ts.map +1 -1
- package/dist/src/testing-kit/state-store-conformance.js +117 -0
- package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
- package/package.json +3 -2
- package/dist/assets/spa/assets/index-97QpkU1f.css +0 -1
- package/dist/assets/spa/assets/index-Db5aPtlJ.js +0 -16
- package/dist/assets/spa/assets/index-Db5aPtlJ.js.map +0 -1
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { applyCustomFilter, groupByCountFromRequest, InvalidColumnFilterError, } from '@adonis-agora/filter';
|
|
2
|
+
import { RUN_VALUE_FACET_LIMIT } from '../run-value-facets.js';
|
|
1
3
|
import { indexWaitersByRun, resolveRunWaiting } from '../run-waiting.js';
|
|
2
|
-
import {
|
|
4
|
+
import { RUN_STATUSES, RunFilter } from './run-filter.js';
|
|
5
|
+
import { RunQueryDraft } from './run-query-draft.js';
|
|
6
|
+
import { runValueAdapter } from './run-values.js';
|
|
3
7
|
/** A `200 OK` JSON response. Exported so sibling handlers (e.g. `compat`) share one convention. */
|
|
4
8
|
export const ok = (body) => ({ status: 200, body });
|
|
5
9
|
const notFound = (message) => ({
|
|
@@ -13,22 +17,12 @@ const badRequest = (message) => ({
|
|
|
13
17
|
/** Rejecting an unreadable `compensate` beats guessing: the two guesses are "skip an undo the
|
|
14
18
|
* operator asked for" and "run an undo they did not", and both are silent. */
|
|
15
19
|
const INVALID_COMPENSATE = "compensate must be a boolean — 'true'/'1'/'yes'/'on' or 'false'/'0'/'no'/'off'";
|
|
16
|
-
/** The full status union (`interfaces.ts`'s `RunStatus`) — kept in sync so filters/facets never drop a
|
|
17
|
-
* state; a previous version of this list was missing `'blocked'`. */
|
|
18
|
-
const RUN_STATUSES = [
|
|
19
|
-
'pending',
|
|
20
|
-
'running',
|
|
21
|
-
'suspended',
|
|
22
|
-
'blocked',
|
|
23
|
-
'completed',
|
|
24
|
-
'failed',
|
|
25
|
-
'cancelled',
|
|
26
|
-
'dead',
|
|
27
|
-
];
|
|
28
20
|
function firstQuery(value) {
|
|
29
|
-
if (Array.isArray(value))
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
if (Array.isArray(value)) {
|
|
22
|
+
const first = value[0];
|
|
23
|
+
return typeof first === 'string' ? first : undefined;
|
|
24
|
+
}
|
|
25
|
+
return typeof value === 'string' ? value : undefined;
|
|
32
26
|
}
|
|
33
27
|
/** Parse a positive integer query param, falling back to `fallback` when absent/invalid. */
|
|
34
28
|
function intQuery(value, fallback) {
|
|
@@ -87,42 +81,71 @@ function readFlag(req, key) {
|
|
|
87
81
|
const fromQuery = parseFlag(firstQuery(req.query[key]));
|
|
88
82
|
return fromQuery ?? false;
|
|
89
83
|
}
|
|
90
|
-
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
84
|
+
/** Build a {@link RunQuery} from the query params shared by `listRuns`, `bulkAction` and the
|
|
85
|
+
* `runValues` scope — by running the console's {@link RunFilter} class over them (the filter
|
|
86
|
+
* lib's unified class form, with a draft in place of a Lucid builder).
|
|
87
|
+
*
|
|
88
|
+
* Both spellings feed the same class: the flat form the console has always sent
|
|
89
|
+
* (`?status=failed&tag=etl`, repeatable for a set, `attr=key:op:value` repeats) and the structured
|
|
90
|
+
* `filter[...]` envelope `@adonis-agora/filter-client` builds. A refused filter
|
|
91
|
+
* (`InvalidColumnFilterError` — unknown field, unsupported operator, a group the draft cannot
|
|
92
|
+
* express) throws, and every caller maps it to `400` — a typo'd filter fails loudly instead of
|
|
93
|
+
* silently widening.
|
|
94
|
+
*
|
|
95
|
+
* `limit`/`offset` never enter the draft (no method owns those endpoint mechanics — the caller
|
|
96
|
+
* reads them), and neither does `origin`: the engine has no `origin` column, so the class reads
|
|
97
|
+
* but ignores it and a client that always sends it never 400s. */
|
|
98
|
+
async function runFilterQuery(query) {
|
|
99
|
+
const draft = new RunQueryDraft();
|
|
100
|
+
await applyCustomFilter(draft, RunFilter, { request: { qs: () => ({ ...query }) } });
|
|
101
|
+
return draft.query;
|
|
96
102
|
}
|
|
97
|
-
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
103
|
+
/** Map a refused run filter to `400` (see {@link runFilterQuery}); rethrow anything else. */
|
|
104
|
+
function filterRejection(error) {
|
|
105
|
+
if (error instanceof InvalidColumnFilterError)
|
|
106
|
+
return badRequest(error.message);
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* `GET /runs/values` — the distinct values one filter axis takes across the runs matching every
|
|
111
|
+
* OTHER active predicate, with counts — what the console's pickers list instead of asking an
|
|
112
|
+
* operator to type a value blind. Served through the filter lib's `groupByCountFromRequest` with
|
|
113
|
+
* the console's adapter: the scope rides the same params as `listRuns`, and `field`/`limit`/
|
|
114
|
+
* `offset`/`search` ride top-level (with the `groupByCount[field]` envelope as fallback).
|
|
115
|
+
*
|
|
116
|
+
* A picker pages as it scrolls and narrows as the operator types, both against the whole matching
|
|
117
|
+
* set rather than the fetched page.
|
|
118
|
+
*/
|
|
119
|
+
export async function runValues(deps, req) {
|
|
120
|
+
const qs = req.query;
|
|
121
|
+
const field = firstQuery(qs.field);
|
|
122
|
+
const search = firstQuery(qs.search)?.trim();
|
|
123
|
+
try {
|
|
124
|
+
return ok(await groupByCountFromRequest(new RunQueryDraft(), RunFilter, { request: { qs: () => ({ ...qs }) } }, {
|
|
125
|
+
adapter: runValueAdapter(deps.engine),
|
|
126
|
+
...(field !== undefined && { field }),
|
|
127
|
+
...(qs.limit !== undefined && { limit: intQuery(qs.limit, RUN_VALUE_FACET_LIMIT) }),
|
|
128
|
+
...(qs.offset !== undefined && { offset: intQuery(qs.offset, 0) }),
|
|
129
|
+
...(search ? { search } : {}),
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
return filterRejection(error);
|
|
134
|
+
}
|
|
119
135
|
}
|
|
120
136
|
/** `GET /runs` — list runs filtered by status/workflow/tag/namespace/search-attributes, paginated. */
|
|
121
137
|
export async function listRuns(deps, req) {
|
|
122
138
|
const { engine } = deps;
|
|
123
139
|
const limit = Math.min(intQuery(req.query.limit, 50), 200);
|
|
124
140
|
const offset = intQuery(req.query.offset, 0);
|
|
125
|
-
|
|
141
|
+
let filter;
|
|
142
|
+
try {
|
|
143
|
+
filter = await runFilterQuery(req.query);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
return filterRejection(error);
|
|
147
|
+
}
|
|
148
|
+
const query = { limit, offset, ...filter };
|
|
126
149
|
const [runs, waiters] = await Promise.all([
|
|
127
150
|
engine.listRuns(query),
|
|
128
151
|
// ONE bulk scan of the signal-waiter table (indexed by runId) resolves what each suspended run
|
|
@@ -244,7 +267,13 @@ export async function bulkAction(deps, req) {
|
|
|
244
267
|
const compensate = readFlag(req, 'compensate');
|
|
245
268
|
if (compensate === INVALID_FLAG)
|
|
246
269
|
return badRequest(INVALID_COMPENSATE);
|
|
247
|
-
|
|
270
|
+
let filter;
|
|
271
|
+
try {
|
|
272
|
+
filter = await runFilterQuery(req.query);
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
return filterRejection(error);
|
|
276
|
+
}
|
|
248
277
|
const runs = await deps.engine.listRuns({ ...filter, limit: 500 });
|
|
249
278
|
let applied = 0;
|
|
250
279
|
for (const run of runs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/dashboard/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/dashboard/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.34.0";
|
|
3
3
|
export type { AccessDeniedInfo, AccessDeniedPageOptions, AccessDeniedReason, } from './access_denied_page.js';
|
|
4
4
|
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
5
5
|
export type { AuthMode, DashboardAuthOptions, LoginHook, LoginOutcome, ResolvedDashboardAuth, SessionHook, SessionOutcome, } from './auth.js';
|
|
@@ -14,8 +14,11 @@ export { BlockedDiagnosticsRecorder } from './diagnostics-recorder.js';
|
|
|
14
14
|
export type { DashboardContainer } from './gateway-adapter.js';
|
|
15
15
|
export { dashboardEngineForRole, gatewayDashboardEngine } from './gateway-adapter.js';
|
|
16
16
|
export type { ApiRequest, ApiResponse, DashboardEngine, Deps } from './handlers.js';
|
|
17
|
-
export { bulkAction, cancelRun, continueRun, getRun, health, listRuns, ok, redispatchPendingRun, retryRun, retryWithInputRun, topology, workers, } from './handlers.js';
|
|
17
|
+
export { bulkAction, cancelRun, continueRun, getRun, health, listRuns, ok, redispatchPendingRun, retryRun, retryWithInputRun, runValues, topology, workers, } from './handlers.js';
|
|
18
18
|
export { renderLoginPage } from './login_page.js';
|
|
19
|
+
export { RUN_STATUSES, RunFilter } from './run-filter.js';
|
|
20
|
+
export { RunQueryDraft } from './run-query-draft.js';
|
|
21
|
+
export { runValueAdapter, valueAxisFor } from './run-values.js';
|
|
19
22
|
export type { DashboardSession, DashboardSessionUser, SignOptions, VerifyOptions, } from './session_cookie.js';
|
|
20
23
|
export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
|
|
21
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnF,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,EAAE,EACF,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnF,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,EAAE,EACF,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.
|
|
2
|
+
export const VERSION = '0.34.0';
|
|
3
3
|
// The built-in "access denied" page (what a browser sees on a refused page navigation).
|
|
4
4
|
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
5
5
|
// Built-in `dashboardAuth` login screen (optional; opt-in via `config/durable_dashboard.ts`).
|
|
@@ -11,7 +11,10 @@ export { defaultAuthorize, defineConfig, resolveConfig } from './define_config.j
|
|
|
11
11
|
export { BlockedDiagnosticsRecorder } from './diagnostics-recorder.js';
|
|
12
12
|
// Store-less `tenant` dashboard: adapt the RunGateway to the handlers' read/control port (design §8).
|
|
13
13
|
export { dashboardEngineForRole, gatewayDashboardEngine } from './gateway-adapter.js';
|
|
14
|
-
export { bulkAction, cancelRun, continueRun, getRun, health, listRuns, ok, redispatchPendingRun, retryRun, retryWithInputRun, topology, workers, } from './handlers.js';
|
|
14
|
+
export { bulkAction, cancelRun, continueRun, getRun, health, listRuns, ok, redispatchPendingRun, retryRun, retryWithInputRun, runValues, topology, workers, } from './handlers.js';
|
|
15
15
|
export { renderLoginPage } from './login_page.js';
|
|
16
|
+
export { RUN_STATUSES, RunFilter } from './run-filter.js';
|
|
17
|
+
export { RunQueryDraft } from './run-query-draft.js';
|
|
18
|
+
export { runValueAdapter, valueAxisFor } from './run-values.js';
|
|
16
19
|
export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
|
|
17
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAOhC,wFAAwF;AACxF,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAUjC,8FAA8F;AAC9F,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,kEAAkE;AAClE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQnF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAGvE,sGAAsG;AACtG,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,EAAE,EACF,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAOhC,wFAAwF;AACxF,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAUjC,8FAA8F;AAC9F,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,kEAAkE;AAClE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQnF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAGvE,sGAAsG;AACtG,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,EAAE,EACF,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOhE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BaseFilter } from '@adonis-agora/filter';
|
|
2
|
+
import type { RunStatus } from '../interfaces.js';
|
|
3
|
+
import { RunQueryDraft } from './run-query-draft.js';
|
|
4
|
+
/** The full status union (`interfaces.ts`'s `RunStatus`) — kept in sync so filters never drop a
|
|
5
|
+
* state; a previous version of this list was missing `'blocked'`. */
|
|
6
|
+
export declare const RUN_STATUSES: readonly RunStatus[];
|
|
7
|
+
/**
|
|
8
|
+
* The console's run filter, as a class — one method per request key, narrowing a {@link RunQueryDraft}.
|
|
9
|
+
*
|
|
10
|
+
* This is the filter lib's unified class form (`BaseFilter`, shared with model filters) driven by
|
|
11
|
+
* `applyCustomFilter` with a draft in place of a Lucid builder. Every predicate is reachable two
|
|
12
|
+
* ways, and both are the same request to this class: the flat form the console has always sent
|
|
13
|
+
* (`?status=failed&tag=etl`, repeatable for a set, `attr=key:op:value` repeats) dispatches through
|
|
14
|
+
* bare-key hoisting, and the structured envelope (`filter[status]=failed`, `filter[tag][]=etl`,
|
|
15
|
+
* `filter[attr]=tier:eq:pro`) dispatches to the SAME methods with `(value, operator, field)`.
|
|
16
|
+
* Keeping the flat spelling working is not politeness to old callers — it is what lets a run
|
|
17
|
+
* row's tag chip stay a plain link.
|
|
18
|
+
*
|
|
19
|
+
* Two deliberate divergences from a model filter, both load-bearing:
|
|
20
|
+
* - `$query` is a {@link RunQueryDraft}, not SQL: there is nothing to append to, "building" is
|
|
21
|
+
* filling named predicates in, and everything the wire format can express but `RunQuery` cannot
|
|
22
|
+
* (`OR` groups, dotted `attr.<key>` fields) is refused at dispatch instead of accumulated.
|
|
23
|
+
* - Unknown structured fields fail loudly (`InvalidColumnFilterError` → `400`) instead of
|
|
24
|
+
* silently widening the listing — which matters because the bulk actions act on the matched set.
|
|
25
|
+
* Bare legacy keys stay lenient (unknown ones are ignored, so pagination params keep working).
|
|
26
|
+
*/
|
|
27
|
+
export declare class RunFilter extends BaseFilter<RunQueryDraft> {
|
|
28
|
+
$query: RunQueryDraft;
|
|
29
|
+
/** One status narrows; several match ANY of them. Unknown values are ignored, not rejected. */
|
|
30
|
+
status(value: unknown, operator: string): void;
|
|
31
|
+
/** One workflow narrows; several match ANY of them. */
|
|
32
|
+
workflow(value: unknown, operator: string): void;
|
|
33
|
+
/** One tag narrows to runs carrying it; several match runs carrying ANY of them. */
|
|
34
|
+
tag(value: unknown, operator: string): void;
|
|
35
|
+
/** One namespace narrows; several match ANY of them. A blank param is the same as an absent one. */
|
|
36
|
+
namespace(value: unknown, operator: string): void;
|
|
37
|
+
/** The engine has no `origin` column, so origin is read but ignored — a client that always sends
|
|
38
|
+
* it (parity with the NestJS API) never 400s. Origin faceting stays client-side. */
|
|
39
|
+
origin(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Search-attribute predicates, ANDed. Two spellings, one method:
|
|
42
|
+
* - opaque repeats: `attr=key:op:value` (`attr=tier:in:pro|enterprise`), parsed as before;
|
|
43
|
+
* - structured: `filter[attr.tier][equals]=pro`, with the full field naming the key (reached
|
|
44
|
+
* here through the head-segment fallback).
|
|
45
|
+
*/
|
|
46
|
+
attr(value: unknown, operator: string, field: string): void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=run-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-filter.d.ts","sourceRoot":"","sources":["../../../src/dashboard/run-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;sEACsE;AACtE,eAAO,MAAM,YAAY,EAAE,SAAS,SAAS,EAS5C,CAAC;AAwDF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,SAAU,SAAQ,UAAU,CAAC,aAAa,CAAC;IAC9C,MAAM,EAAE,aAAa,CAAC;IAE9B,+FAA+F;IAC/F,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO7C;IAED,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAK/C;IAED,oFAAoF;IACpF,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAK1C;IAED,oGAAoG;IACpG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKhD;IAED;yFACqF;IACrF,MAAM,IAAI,IAAI,CAEb;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA+B1D;CACF"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { BaseFilter, InvalidColumnFilterError } from '@adonis-agora/filter';
|
|
2
|
+
import { coerceAttrValue, parseAttrFilters } from './attr-filter.js';
|
|
3
|
+
/** The full status union (`interfaces.ts`'s `RunStatus`) — kept in sync so filters never drop a
|
|
4
|
+
* state; a previous version of this list was missing `'blocked'`. */
|
|
5
|
+
export const RUN_STATUSES = [
|
|
6
|
+
'pending',
|
|
7
|
+
'running',
|
|
8
|
+
'suspended',
|
|
9
|
+
'blocked',
|
|
10
|
+
'completed',
|
|
11
|
+
'failed',
|
|
12
|
+
'cancelled',
|
|
13
|
+
'dead',
|
|
14
|
+
];
|
|
15
|
+
/** A repeated query param arrives as an array and a single one as a scalar; both mean a list. An
|
|
16
|
+
* absent or blank entry is dropped rather than stringified: `?namespace=` is what a cleared
|
|
17
|
+
* filter box sends, and filtering for a tenant literally named "undefined" would silently empty
|
|
18
|
+
* the console. */
|
|
19
|
+
function list(value) {
|
|
20
|
+
return asList(value)
|
|
21
|
+
.filter((v) => v !== undefined && v !== null && v !== '')
|
|
22
|
+
.map(String);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Totuple `value` into a list. The query parser decodes `field[]=a…` past its item cap as a
|
|
26
|
+
* numeric-keyed object instead of an array — same list either way, so a 21-tag multi-select keeps
|
|
27
|
+
* working instead of collapsing to one opaque object entry.
|
|
28
|
+
*/
|
|
29
|
+
function asList(value) {
|
|
30
|
+
if (Array.isArray(value))
|
|
31
|
+
return value;
|
|
32
|
+
if (value !== null && typeof value === 'object') {
|
|
33
|
+
const entries = Object.entries(value);
|
|
34
|
+
if (entries.length > 0 && entries.every(([key]) => /^\d+$/.test(key))) {
|
|
35
|
+
return entries.sort(([a], [b]) => Number(a) - Number(b)).map(([, entry]) => entry);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return [value];
|
|
39
|
+
}
|
|
40
|
+
/** Validate that a string is a known {@link RunStatus}, else `undefined` — an unrecognised status
|
|
41
|
+
* is ignored, not rejected, so a newer console never 400s against an older server. */
|
|
42
|
+
function parseStatus(value) {
|
|
43
|
+
if (value && RUN_STATUSES.includes(value)) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
/** Canonical filter-lib operators the structured attr spelling accepts, mapped to {@link AttributeOp}. */
|
|
49
|
+
const ATTR_OPERATORS = {
|
|
50
|
+
equals: 'eq',
|
|
51
|
+
notEquals: 'ne',
|
|
52
|
+
gt: 'gt',
|
|
53
|
+
gte: 'gte',
|
|
54
|
+
lt: 'lt',
|
|
55
|
+
lte: 'lte',
|
|
56
|
+
in: 'in',
|
|
57
|
+
isAnyOf: 'in',
|
|
58
|
+
};
|
|
59
|
+
/** Operators a set-valued axis accepts: one value narrows, several match ANY of them. */
|
|
60
|
+
function assertSetOperator(axis, operator) {
|
|
61
|
+
if (operator !== 'equals' && operator !== 'in' && operator !== 'isAnyOf') {
|
|
62
|
+
throw new InvalidColumnFilterError(`"${axis}" does not support the "${operator}" operator.`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The console's run filter, as a class — one method per request key, narrowing a {@link RunQueryDraft}.
|
|
67
|
+
*
|
|
68
|
+
* This is the filter lib's unified class form (`BaseFilter`, shared with model filters) driven by
|
|
69
|
+
* `applyCustomFilter` with a draft in place of a Lucid builder. Every predicate is reachable two
|
|
70
|
+
* ways, and both are the same request to this class: the flat form the console has always sent
|
|
71
|
+
* (`?status=failed&tag=etl`, repeatable for a set, `attr=key:op:value` repeats) dispatches through
|
|
72
|
+
* bare-key hoisting, and the structured envelope (`filter[status]=failed`, `filter[tag][]=etl`,
|
|
73
|
+
* `filter[attr]=tier:eq:pro`) dispatches to the SAME methods with `(value, operator, field)`.
|
|
74
|
+
* Keeping the flat spelling working is not politeness to old callers — it is what lets a run
|
|
75
|
+
* row's tag chip stay a plain link.
|
|
76
|
+
*
|
|
77
|
+
* Two deliberate divergences from a model filter, both load-bearing:
|
|
78
|
+
* - `$query` is a {@link RunQueryDraft}, not SQL: there is nothing to append to, "building" is
|
|
79
|
+
* filling named predicates in, and everything the wire format can express but `RunQuery` cannot
|
|
80
|
+
* (`OR` groups, dotted `attr.<key>` fields) is refused at dispatch instead of accumulated.
|
|
81
|
+
* - Unknown structured fields fail loudly (`InvalidColumnFilterError` → `400`) instead of
|
|
82
|
+
* silently widening the listing — which matters because the bulk actions act on the matched set.
|
|
83
|
+
* Bare legacy keys stay lenient (unknown ones are ignored, so pagination params keep working).
|
|
84
|
+
*/
|
|
85
|
+
export class RunFilter extends BaseFilter {
|
|
86
|
+
/** One status narrows; several match ANY of them. Unknown values are ignored, not rejected. */
|
|
87
|
+
status(value, operator) {
|
|
88
|
+
assertSetOperator('status', operator);
|
|
89
|
+
const values = list(value)
|
|
90
|
+
.map((v) => parseStatus(v))
|
|
91
|
+
.filter((v) => v !== undefined);
|
|
92
|
+
if (values.length === 0)
|
|
93
|
+
return;
|
|
94
|
+
this.$query.narrow(values.length === 1 ? { status: values[0] } : { statuses: values });
|
|
95
|
+
}
|
|
96
|
+
/** One workflow narrows; several match ANY of them. */
|
|
97
|
+
workflow(value, operator) {
|
|
98
|
+
assertSetOperator('workflow', operator);
|
|
99
|
+
const values = list(value);
|
|
100
|
+
if (values.length === 0)
|
|
101
|
+
return;
|
|
102
|
+
this.$query.narrow(values.length === 1 ? { workflow: values[0] } : { workflows: values });
|
|
103
|
+
}
|
|
104
|
+
/** One tag narrows to runs carrying it; several match runs carrying ANY of them. */
|
|
105
|
+
tag(value, operator) {
|
|
106
|
+
assertSetOperator('tag', operator);
|
|
107
|
+
const values = list(value);
|
|
108
|
+
if (values.length === 0)
|
|
109
|
+
return;
|
|
110
|
+
this.$query.narrow(values.length === 1 ? { tag: values[0] } : { tags: values });
|
|
111
|
+
}
|
|
112
|
+
/** One namespace narrows; several match ANY of them. A blank param is the same as an absent one. */
|
|
113
|
+
namespace(value, operator) {
|
|
114
|
+
assertSetOperator('namespace', operator);
|
|
115
|
+
const values = list(value);
|
|
116
|
+
if (values.length === 0)
|
|
117
|
+
return;
|
|
118
|
+
this.$query.narrow(values.length === 1 ? { namespace: values[0] } : { namespaces: values });
|
|
119
|
+
}
|
|
120
|
+
/** The engine has no `origin` column, so origin is read but ignored — a client that always sends
|
|
121
|
+
* it (parity with the NestJS API) never 400s. Origin faceting stays client-side. */
|
|
122
|
+
origin() {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Search-attribute predicates, ANDed. Two spellings, one method:
|
|
127
|
+
* - opaque repeats: `attr=key:op:value` (`attr=tier:in:pro|enterprise`), parsed as before;
|
|
128
|
+
* - structured: `filter[attr.tier][equals]=pro`, with the full field naming the key (reached
|
|
129
|
+
* here through the head-segment fallback).
|
|
130
|
+
*/
|
|
131
|
+
attr(value, operator, field) {
|
|
132
|
+
if (field !== 'attr') {
|
|
133
|
+
const key = field.slice('attr.'.length);
|
|
134
|
+
if (!key) {
|
|
135
|
+
throw new InvalidColumnFilterError('Filtering search attributes needs a key: `attr.<key>`.');
|
|
136
|
+
}
|
|
137
|
+
const op = ATTR_OPERATORS[operator];
|
|
138
|
+
if (!op) {
|
|
139
|
+
throw new InvalidColumnFilterError(`Attribute "${key}" does not support the "${operator}" operator.`);
|
|
140
|
+
}
|
|
141
|
+
if (op === 'in') {
|
|
142
|
+
const values = asList(value)
|
|
143
|
+
.filter((v) => v !== undefined && v !== null && v !== '')
|
|
144
|
+
.map(coerceOperand);
|
|
145
|
+
this.$query.attribute({ key, op: 'in', values });
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (value === undefined || value === null || value === '')
|
|
149
|
+
return;
|
|
150
|
+
this.$query.attribute({ key, op, value: coerceOperand(value) });
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (operator !== 'equals' && operator !== 'in' && operator !== 'isAnyOf') {
|
|
154
|
+
throw new InvalidColumnFilterError(`"attr" does not support the "${operator}" operator.`);
|
|
155
|
+
}
|
|
156
|
+
for (const filter of parseAttrFilters(asStringList(value)) ?? []) {
|
|
157
|
+
this.$query.attribute(filter);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/** Coerce a structured operand the way the legacy parser does, so numeric attributes compare as numbers. */
|
|
162
|
+
function coerceOperand(raw) {
|
|
163
|
+
return typeof raw === 'string' ? coerceAttrValue(raw) : raw;
|
|
164
|
+
}
|
|
165
|
+
/** The legacy attr value shape: one opaque string or a list of them. */
|
|
166
|
+
function asStringList(value) {
|
|
167
|
+
return asList(value).filter((v) => typeof v === 'string');
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=run-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-filter.js","sourceRoot":"","sources":["../../../src/dashboard/run-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RunFacetQuery, RunQuery } from '../interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* What the dashboard's filter runner hands its filter in place of a query builder: a
|
|
4
|
+
* {@link RunQuery} under construction.
|
|
5
|
+
*
|
|
6
|
+
* The runner never inspects it — it only passes it back to the filter's own methods — so the shape
|
|
7
|
+
* is ours to choose, and a plain predicate bag is the honest one. There is no SQL to append to
|
|
8
|
+
* here; a run query is a fixed set of named predicates that the engine resolves, so "building" it
|
|
9
|
+
* is filling fields in, and everything the filter wire format can express but `RunQuery` cannot is
|
|
10
|
+
* rejected at the point of translation rather than accumulated and silently dropped.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RunQueryDraft {
|
|
13
|
+
readonly query: RunQuery;
|
|
14
|
+
/** Narrow by one or more predicates. Later calls overwrite the same field. */
|
|
15
|
+
narrow(patch: RunQuery): void;
|
|
16
|
+
/** Add one search-attribute predicate. These ACCUMULATE (unlike {@link narrow}) because
|
|
17
|
+
* `RunQuery.attributes` is an ANDed list — two predicates on different keys are both meant. */
|
|
18
|
+
attribute(filter: NonNullable<RunQuery['attributes']>[number]): void;
|
|
19
|
+
/** The predicates minus the status axes — what `runValues` scopes its enumeration by, so the
|
|
20
|
+
* offered values don't collapse to the one status being viewed. */
|
|
21
|
+
facetQuery(): RunFacetQuery;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=run-query-draft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-query-draft.d.ts","sourceRoot":"","sources":["../../../src/dashboard/run-query-draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAM;IAE9B,8EAA8E;IAC9E,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAE5B;IAED;oGACgG;IAChG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAEnE;IAED;wEACoE;IACpE,UAAU,IAAI,aAAa,CAG1B;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the dashboard's filter runner hands its filter in place of a query builder: a
|
|
3
|
+
* {@link RunQuery} under construction.
|
|
4
|
+
*
|
|
5
|
+
* The runner never inspects it — it only passes it back to the filter's own methods — so the shape
|
|
6
|
+
* is ours to choose, and a plain predicate bag is the honest one. There is no SQL to append to
|
|
7
|
+
* here; a run query is a fixed set of named predicates that the engine resolves, so "building" it
|
|
8
|
+
* is filling fields in, and everything the filter wire format can express but `RunQuery` cannot is
|
|
9
|
+
* rejected at the point of translation rather than accumulated and silently dropped.
|
|
10
|
+
*/
|
|
11
|
+
export class RunQueryDraft {
|
|
12
|
+
query = {};
|
|
13
|
+
/** Narrow by one or more predicates. Later calls overwrite the same field. */
|
|
14
|
+
narrow(patch) {
|
|
15
|
+
Object.assign(this.query, patch);
|
|
16
|
+
}
|
|
17
|
+
/** Add one search-attribute predicate. These ACCUMULATE (unlike {@link narrow}) because
|
|
18
|
+
* `RunQuery.attributes` is an ANDed list — two predicates on different keys are both meant. */
|
|
19
|
+
attribute(filter) {
|
|
20
|
+
this.query.attributes = [...(this.query.attributes ?? []), filter];
|
|
21
|
+
}
|
|
22
|
+
/** The predicates minus the status axes — what `runValues` scopes its enumeration by, so the
|
|
23
|
+
* offered values don't collapse to the one status being viewed. */
|
|
24
|
+
facetQuery() {
|
|
25
|
+
const { status, statuses, ...facetQuery } = this.query;
|
|
26
|
+
return facetQuery;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=run-query-draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-query-draft.js","sourceRoot":"","sources":["../../../src/dashboard/run-query-draft.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAa;IACf,KAAK,GAAa,EAAE,CAAC;IAE9B,8EAA8E;IAC9E,MAAM,CAAC,KAAe;QACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;oGACgG;IAChG,SAAS,CAAC,MAAmD;QAC3D,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED;wEACoE;IACpE,UAAU;QACR,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { GroupByCountAdapter } from '@adonis-agora/filter';
|
|
2
|
+
import type { RunValueAxis } from '../interfaces.js';
|
|
3
|
+
import type { DashboardEngine } from './handlers.js';
|
|
4
|
+
import type { RunQueryDraft } from './run-query-draft.js';
|
|
5
|
+
/**
|
|
6
|
+
* Map a picker's `field` to the {@link RunValueAxis} it enumerates, or `null` for a field with no
|
|
7
|
+
* enumerable values. `attr` lists the search-attribute KEYS in use; `attr.<key>` lists the values
|
|
8
|
+
* recorded under one of them.
|
|
9
|
+
*/
|
|
10
|
+
export declare function valueAxisFor(field: string | undefined): RunValueAxis | null;
|
|
11
|
+
/**
|
|
12
|
+
* The console's value enumeration as a filter-lib adapter: the helper narrows the draft over the
|
|
13
|
+
* scope, then this counts one axis over it — through the engine's native enumeration when the
|
|
14
|
+
* port has it, else a bounded `listRuns` scan in-process (same shape, bounded approximation, so
|
|
15
|
+
* store-less tenant pods serve pickers with no wire-protocol change).
|
|
16
|
+
*
|
|
17
|
+
* Status is dropped from the scope here (not in the filter class): the class answers "what runs
|
|
18
|
+
* match", the axis answers "what values those runs take", and the offered values must not
|
|
19
|
+
* collapse to the one status being viewed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runValueAdapter(engine: DashboardEngine): GroupByCountAdapter<RunQueryDraft>;
|
|
22
|
+
//# sourceMappingURL=run-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-values.d.ts","sourceRoot":"","sources":["../../../src/dashboard/run-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAW3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAqB3F"}
|