@principles/core 1.235.0 → 1.237.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/dist/principle-tree-ledger.d.ts.map +1 -1
- package/dist/principle-tree-ledger.js +55 -30
- package/dist/principle-tree-ledger.js.map +1 -1
- package/dist/runtime-v2/__tests__/feedback/create-report.test.js +51 -0
- package/dist/runtime-v2/__tests__/feedback/create-report.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js +1 -1
- package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js +1 -1
- package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +109 -0
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/dist/runtime-v2/activation/activation-dispatcher.d.ts +11 -0
- package/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-dispatcher.js +60 -6
- package/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/dist/runtime-v2/activation/activation-types.d.ts +4 -0
- package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +34 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +5 -0
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.d.ts +2 -0
- package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.d.ts.map +1 -0
- package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.js +221 -0
- package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.js.map +1 -0
- package/dist/runtime-v2/feedback/__tests__/mailto-url.test.d.ts +11 -0
- package/dist/runtime-v2/feedback/__tests__/mailto-url.test.d.ts.map +1 -0
- package/dist/runtime-v2/feedback/__tests__/mailto-url.test.js +160 -0
- package/dist/runtime-v2/feedback/__tests__/mailto-url.test.js.map +1 -0
- package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.d.ts +2 -0
- package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.d.ts.map +1 -0
- package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.js +342 -0
- package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.js.map +1 -0
- package/dist/runtime-v2/feedback/create-report.d.ts +7 -1
- package/dist/runtime-v2/feedback/create-report.d.ts.map +1 -1
- package/dist/runtime-v2/feedback/create-report.js +65 -7
- package/dist/runtime-v2/feedback/create-report.js.map +1 -1
- package/dist/runtime-v2/feedback/feedback-types.d.ts +18 -1
- package/dist/runtime-v2/feedback/feedback-types.d.ts.map +1 -1
- package/dist/runtime-v2/feedback/feedback-types.js +19 -12
- package/dist/runtime-v2/feedback/feedback-types.js.map +1 -1
- package/dist/runtime-v2/feedback/index.d.ts +3 -1
- package/dist/runtime-v2/feedback/index.d.ts.map +1 -1
- package/dist/runtime-v2/feedback/index.js +7 -1
- package/dist/runtime-v2/feedback/index.js.map +1 -1
- package/dist/runtime-v2/feedback/pending-agent-draft-store.d.ts +106 -0
- package/dist/runtime-v2/feedback/pending-agent-draft-store.d.ts.map +1 -0
- package/dist/runtime-v2/feedback/pending-agent-draft-store.js +220 -0
- package/dist/runtime-v2/feedback/pending-agent-draft-store.js.map +1 -0
- package/dist/runtime-v2/feedback/privacy-preview.d.ts +16 -0
- package/dist/runtime-v2/feedback/privacy-preview.d.ts.map +1 -1
- package/dist/runtime-v2/feedback/privacy-preview.js +54 -0
- package/dist/runtime-v2/feedback/privacy-preview.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +5 -0
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +9 -0
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.d.ts +2 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.d.ts.map +1 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.js +459 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.js.map +1 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +27 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +138 -0
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/dist/runtime-v2/runner/peer-runner-types.d.ts +9 -0
- package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
- package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.d.ts +2 -0
- package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.d.ts.map +1 -0
- package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.js +225 -0
- package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.js.map +1 -0
- package/dist/runtime-v2/store/pain/index.d.ts +3 -0
- package/dist/runtime-v2/store/pain/index.d.ts.map +1 -0
- package/dist/runtime-v2/store/pain/index.js +2 -0
- package/dist/runtime-v2/store/pain/index.js.map +1 -0
- package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.d.ts +70 -0
- package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.d.ts.map +1 -0
- package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.js +154 -0
- package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.js.map +1 -0
- package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection.js +41 -0
- package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.d.ts +2 -0
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.d.ts.map +1 -0
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js +442 -0
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js.map +1 -0
- package/dist/runtime-v2/store/task/index.d.ts +1 -0
- package/dist/runtime-v2/store/task/index.d.ts.map +1 -1
- package/dist/runtime-v2/store/task/index.js.map +1 -1
- package/dist/runtime-v2/store/task/sqlite-task-store.d.ts +45 -0
- package/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
- package/dist/runtime-v2/store/task/sqlite-task-store.js +205 -0
- package/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
- package/dist/runtime-v2/store/task/task-types.d.ts +60 -0
- package/dist/runtime-v2/store/task/task-types.d.ts.map +1 -0
- package/dist/runtime-v2/store/task/task-types.js +2 -0
- package/dist/runtime-v2/store/task/task-types.js.map +1 -0
- package/package.json +3 -2
|
@@ -7,6 +7,62 @@
|
|
|
7
7
|
import { Value } from '@sinclair/typebox/value';
|
|
8
8
|
import { TaskRecordSchema } from '../../task-status.js';
|
|
9
9
|
import { PDRuntimeError } from '../../error-categories.js';
|
|
10
|
+
import { SqliteRunStore } from '../run/sqlite-run-store.js';
|
|
11
|
+
// ── Field-level runtime readers for failed-task summary rows (rc-1, rc-3) ────
|
|
12
|
+
//
|
|
13
|
+
// These readers enforce that DB row fields have the expected runtime shape
|
|
14
|
+
// before being used. Required fields fail loud; nullable fields only accept
|
|
15
|
+
// string|null. This mirrors the pattern in sqlite-run-store.ts.
|
|
16
|
+
function readRequiredStringField(value, fieldName) {
|
|
17
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
18
|
+
throw new PDRuntimeError('storage_unavailable', `Invalid task row: /${fieldName}: expected non-empty string, got ${value === null ? 'null' : typeof value}`);
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
function readNullableStringField(value, fieldName, taskIdForError) {
|
|
23
|
+
if (value === null || value === undefined)
|
|
24
|
+
return null;
|
|
25
|
+
if (typeof value !== 'string') {
|
|
26
|
+
throw new PDRuntimeError('storage_unavailable', `Task ${taskIdForError} has invalid schema: /${fieldName}: expected string|null, got ${typeof value}`);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
function isPlainObject(value) {
|
|
31
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Safely extract `sourcePainId` from the `diagnostic_json` column.
|
|
35
|
+
*
|
|
36
|
+
* `diagnostic_json` is an optional JSON string that may carry PI metadata
|
|
37
|
+
* including the originating pain signal ID (for diagnostician tasks). We
|
|
38
|
+
* parse it defensively: malformed JSON or non-string sourcePainId yield
|
|
39
|
+
* null rather than throwing, so one bad row does not break the entire
|
|
40
|
+
* failed-task list (rc-9: graceful degradation — painId is an optional
|
|
41
|
+
* summary field; the caller observes null and can surface it in UI).
|
|
42
|
+
*/
|
|
43
|
+
function extractPainIdFromDiagnosticJson(diagnosticJson, taskIdForError) {
|
|
44
|
+
if (diagnosticJson === null || diagnosticJson === undefined)
|
|
45
|
+
return null;
|
|
46
|
+
if (typeof diagnosticJson !== 'string') {
|
|
47
|
+
throw new PDRuntimeError('storage_unavailable', `Task ${taskIdForError} has invalid schema: /diagnostic_json: expected string|null, got ${typeof diagnosticJson}`);
|
|
48
|
+
}
|
|
49
|
+
if (diagnosticJson.length === 0)
|
|
50
|
+
return null;
|
|
51
|
+
try {
|
|
52
|
+
const parsed = JSON.parse(diagnosticJson);
|
|
53
|
+
if (!isPlainObject(parsed))
|
|
54
|
+
return null;
|
|
55
|
+
if (!Object.hasOwn(parsed, 'sourcePainId'))
|
|
56
|
+
return null;
|
|
57
|
+
const { sourcePainId } = parsed;
|
|
58
|
+
if (typeof sourcePainId !== 'string' || sourcePainId.length === 0)
|
|
59
|
+
return null;
|
|
60
|
+
return sourcePainId;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
10
66
|
export class SqliteTaskStore {
|
|
11
67
|
connection;
|
|
12
68
|
constructor(connection) {
|
|
@@ -115,6 +171,155 @@ export class SqliteTaskStore {
|
|
|
115
171
|
const result = db.prepare('DELETE FROM tasks WHERE task_id = ?').run(taskId);
|
|
116
172
|
return result.changes > 0;
|
|
117
173
|
}
|
|
174
|
+
// ── Failed-task observability methods (Task 8) ────────────────────────────
|
|
175
|
+
/**
|
|
176
|
+
* Shared helper for listFailedTasks / countFailedTasks: build the
|
|
177
|
+
* kind/since WHERE conditions and parameter values, scoped to the given
|
|
178
|
+
* table alias. Keeping this in one place ensures the list query and the
|
|
179
|
+
* count query stay consistent when since semantics or task_kind filtering
|
|
180
|
+
* change — divergence would cause list/total mismatch in the Failed
|
|
181
|
+
* Tasks UI pagination.
|
|
182
|
+
*/
|
|
183
|
+
static buildFailedTaskConditions(filter, tableAlias) {
|
|
184
|
+
const conditions = [`${tableAlias}status IN ('failed', 'needs_human_review')`];
|
|
185
|
+
const values = [];
|
|
186
|
+
if (filter?.kind !== undefined) {
|
|
187
|
+
conditions.push(`${tableAlias}task_kind = ?`);
|
|
188
|
+
values.push(filter.kind);
|
|
189
|
+
}
|
|
190
|
+
if (filter?.since !== undefined) {
|
|
191
|
+
const sinceIso = new Date(filter.since).toISOString();
|
|
192
|
+
conditions.push(`(SELECT MAX(r.started_at) FROM runs r WHERE r.task_id = ${tableAlias}task_id) >= ?`);
|
|
193
|
+
values.push(sinceIso);
|
|
194
|
+
}
|
|
195
|
+
return { conditions, values };
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* List tasks in 'failed' or 'needs_human_review' status, sorted by last
|
|
199
|
+
* attempt time descending (most recent failures first).
|
|
200
|
+
*
|
|
201
|
+
* `lastAttemptAt` is derived from `MAX(runs.started_at)` via a correlated
|
|
202
|
+
* subquery; tasks with no runs have NULL lastAttemptAt and sort last
|
|
203
|
+
* (NULL sorts last in SQLite DESC by default).
|
|
204
|
+
*
|
|
205
|
+
* `painId` is extracted from `diagnostic_json.sourcePainId` when present.
|
|
206
|
+
*
|
|
207
|
+
* @param filter Optional kind/since/limit/offset filter.
|
|
208
|
+
*/
|
|
209
|
+
async listFailedTasks(filter) {
|
|
210
|
+
const db = this.connection.getDb();
|
|
211
|
+
const { conditions, values } = SqliteTaskStore.buildFailedTaskConditions(filter, 't.');
|
|
212
|
+
let sql = `
|
|
213
|
+
SELECT
|
|
214
|
+
t.task_id,
|
|
215
|
+
t.task_kind,
|
|
216
|
+
t.status,
|
|
217
|
+
t.last_error,
|
|
218
|
+
t.attempt_count,
|
|
219
|
+
t.created_at,
|
|
220
|
+
t.diagnostic_json,
|
|
221
|
+
(SELECT MAX(r.started_at) FROM runs r WHERE r.task_id = t.task_id) AS last_attempt_at
|
|
222
|
+
FROM tasks t
|
|
223
|
+
WHERE ${conditions.join(' AND ')}
|
|
224
|
+
ORDER BY last_attempt_at DESC, t.task_id DESC
|
|
225
|
+
`;
|
|
226
|
+
if (filter?.limit !== undefined) {
|
|
227
|
+
sql += ' LIMIT ?';
|
|
228
|
+
values.push(filter.limit);
|
|
229
|
+
}
|
|
230
|
+
if (filter?.offset !== undefined) {
|
|
231
|
+
sql += ' OFFSET ?';
|
|
232
|
+
values.push(filter.offset);
|
|
233
|
+
}
|
|
234
|
+
// runtime-contract-exempt: ERR-001 better-sqlite3 .all() returns unknown[]; narrowing to Record<string, unknown>[] is type-only (row fields are validated downstream in rowToFailedTaskSummary via typeof / Object.hasOwn)
|
|
235
|
+
const rows = db.prepare(sql).all(...values);
|
|
236
|
+
return rows.map((row) => SqliteTaskStore.rowToFailedTaskSummary(row));
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Fetch full detail for a single failed task: the task record, its run
|
|
240
|
+
* history (most recent first), the last error category, and a pending
|
|
241
|
+
* agent draft (null in Task 8; Task 13 wires the real store).
|
|
242
|
+
*
|
|
243
|
+
* Returns null if the task does not exist or is not in a failed /
|
|
244
|
+
* needs_human_review status.
|
|
245
|
+
*/
|
|
246
|
+
async getFailedTaskDetail(taskId) {
|
|
247
|
+
const task = await this.getTask(taskId);
|
|
248
|
+
if (!task)
|
|
249
|
+
return null;
|
|
250
|
+
if (task.status !== 'failed' && task.status !== 'needs_human_review')
|
|
251
|
+
return null;
|
|
252
|
+
// Reuse SqliteRunStore's tolerant reader — malformed historical run rows
|
|
253
|
+
// are skipped rather than blocking the detail view. The tolerant method
|
|
254
|
+
// tracks degraded runs internally (rc-9).
|
|
255
|
+
const runStore = new SqliteRunStore(this.connection);
|
|
256
|
+
const { runs: runsAsc } = await runStore.listValidRunsByTaskTolerant(taskId);
|
|
257
|
+
const runs = [...runsAsc].reverse(); // DESC by startedAt
|
|
258
|
+
return {
|
|
259
|
+
task,
|
|
260
|
+
runs,
|
|
261
|
+
lastError: task.lastError ?? null,
|
|
262
|
+
pendingAgentDraft: null, // Task 13 will wire PendingAgentDraftStore
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Count tasks in 'failed' or 'needs_human_review' status, with the same
|
|
267
|
+
* kind/since filtering as listFailedTasks. Used for pagination totals.
|
|
268
|
+
*/
|
|
269
|
+
async countFailedTasks(filter) {
|
|
270
|
+
const db = this.connection.getDb();
|
|
271
|
+
// tableAlias must be 'tasks.' (not '') so the correlated subquery
|
|
272
|
+
// `r.task_id = tasks.task_id` resolves to the OUTER tasks table. With an
|
|
273
|
+
// empty alias, `r.task_id = task_id` would resolve to the inner runs
|
|
274
|
+
// table, making the subquery return MAX(runs.started_at) across ALL runs
|
|
275
|
+
// and breaking the since filter (false-healthy count).
|
|
276
|
+
const { conditions, values } = SqliteTaskStore.buildFailedTaskConditions(filter, 'tasks.');
|
|
277
|
+
const sql = `SELECT COUNT(*) as cnt FROM tasks WHERE ${conditions.join(' AND ')}`;
|
|
278
|
+
// runtime-contract-exempt: ERR-001 better-sqlite3 .get() returns unknown; narrowing to Record<string, unknown> | undefined is type-only (cnt field is validated below via typeof row.cnt === 'number')
|
|
279
|
+
const row = db.prepare(sql).get(...values);
|
|
280
|
+
if (!row || typeof row.cnt !== 'number' || !Number.isInteger(row.cnt)) {
|
|
281
|
+
throw new PDRuntimeError('storage_unavailable', 'countFailedTasks: expected integer cnt from COUNT(*) query');
|
|
282
|
+
}
|
|
283
|
+
return row.cnt;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Convert a raw DB row into a validated FailedTaskSummary.
|
|
287
|
+
*
|
|
288
|
+
* Trust boundary (rc-1, rc-2, rc-3): the row is UNTRUSTED data. Each field
|
|
289
|
+
* is read with a runtime guard; required fields fail loud, nullable fields
|
|
290
|
+
* only accept their declared shape.
|
|
291
|
+
*/
|
|
292
|
+
static rowToFailedTaskSummary(row) {
|
|
293
|
+
const taskId = readRequiredStringField(row.task_id, 'task_id');
|
|
294
|
+
const taskKind = readRequiredStringField(row.task_kind, 'task_kind');
|
|
295
|
+
const createdAt = readRequiredStringField(row.created_at, 'created_at');
|
|
296
|
+
// status: must be 'failed' or 'needs_human_review' (enforced by SQL WHERE,
|
|
297
|
+
// but we validate the DB output per rc-1 — never trust the query alone).
|
|
298
|
+
const statusRaw = row.status;
|
|
299
|
+
if (statusRaw !== 'failed' && statusRaw !== 'needs_human_review') {
|
|
300
|
+
throw new PDRuntimeError('storage_unavailable', `Task ${taskId} has invalid status for failed-task summary: expected 'failed'|'needs_human_review', got ${statusRaw === null ? 'null' : typeof statusRaw}`);
|
|
301
|
+
}
|
|
302
|
+
// attempt_count: required non-negative integer
|
|
303
|
+
const attemptCountRaw = row.attempt_count;
|
|
304
|
+
if (typeof attemptCountRaw !== 'number' ||
|
|
305
|
+
!Number.isInteger(attemptCountRaw) ||
|
|
306
|
+
attemptCountRaw < 0) {
|
|
307
|
+
throw new PDRuntimeError('storage_unavailable', `Task ${taskId} has invalid attempt_count: expected non-negative integer, got ${attemptCountRaw === null ? 'null' : typeof attemptCountRaw}`);
|
|
308
|
+
}
|
|
309
|
+
const lastError = readNullableStringField(row.last_error, 'last_error', taskId);
|
|
310
|
+
const lastAttemptAt = readNullableStringField(row.last_attempt_at, 'last_attempt_at', taskId);
|
|
311
|
+
const painId = extractPainIdFromDiagnosticJson(row.diagnostic_json, taskId);
|
|
312
|
+
return {
|
|
313
|
+
taskId,
|
|
314
|
+
taskKind,
|
|
315
|
+
painId,
|
|
316
|
+
status: statusRaw,
|
|
317
|
+
lastError,
|
|
318
|
+
attemptCount: attemptCountRaw,
|
|
319
|
+
createdAt,
|
|
320
|
+
lastAttemptAt,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
118
323
|
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
119
324
|
rowToRecord(row) {
|
|
120
325
|
const taskId = String(row.task_id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-task-store.js","sourceRoot":"","sources":["../../../../src/runtime-v2/store/task/sqlite-task-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite-task-store.js","sourceRoot":"","sources":["../../../../src/runtime-v2/store/task/sqlite-task-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAsC,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,gEAAgE;AAEhE,SAAS,uBAAuB,CAAC,KAAc,EAAE,SAAiB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,sBAAsB,SAAS,oCAAoC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAc,EACd,SAAiB,EACjB,cAAsB;IAEtB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,QAAQ,cAAc,yBAAyB,SAAS,+BAA+B,OAAO,KAAK,EAAE,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,cAAuB,EACvB,cAAsB;IAEtB,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,QAAQ,cAAc,oEAAoE,OAAO,cAAc,EAAE,CAClH,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAChC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,UAA4B;QAA5B,eAAU,GAAV,UAAU,CAAkB;IAAG,CAAC;IAE7D,KAAK,CAAC,UAAU,CAAC,MAAmD;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CACJ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,GAAG,EACH,GAAG,EACH,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,UAAU,IAAI,IAAI,EACzB,MAAM,CAAC,cAAc,IAAI,IAAI,EAC7B,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,QAAQ,IAAI,IAAI,EACvB,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,cAAc,IAAI,IAAI,CAC9B,CAAC;QAEF,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAe,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CAAC,uCAAuC,CAAC;aAChD,GAAG,CAAC,MAAM,CAAwC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,KAA2B;QAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,GAAa,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAc,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QACvF,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QACpG,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAAC,CAAC;QACjH,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QAC1G,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QACvG,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QACjG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAC9F,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QACjG,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAAC,CAAC;QAEhH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpB,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;aAChE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAElB,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,cAAc,CAAC,qBAAqB,EAAE,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAe,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAwB;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,GAAG,GAAG,qBAAqB,CAAC;QAChC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAClF,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QACzF,IAAI,MAAM,EAAE,oBAAoB,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,UAAU,CAAC,MAAM;YAAE,GAAG,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAAC,GAAG,IAAI,UAAU,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACpE,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,GAAG,IAAI,WAAW,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAA8B,CAAC;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,6EAA6E;IAE7E;;;;;;;OAOG;IACK,MAAM,CAAC,yBAAyB,CACtC,MAA4D,EAC5D,UAAkB;QAElB,MAAM,UAAU,GAAa,CAAC,GAAG,UAAU,4CAA4C,CAAC,CAAC;QACzF,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,eAAe,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,UAAU,CAAC,IAAI,CACb,2DAA2D,UAAU,eAAe,CACrF,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,eAAe,CAAC,MAAyB;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEvF,IAAI,GAAG,GAAG;;;;;;;;;;;cAWA,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;KAEjC,CAAC;QAEF,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,IAAI,UAAU,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,GAAG,IAAI,WAAW,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,2NAA2N;QAC3N,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAA8B,CAAC;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAElF,yEAAyE;QACzE,wEAAwE;QACxE,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB;QAEtE,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;YACjC,iBAAiB,EAAE,IAAI,EAAE,2CAA2C;SACrE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAiD;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,kEAAkE;QAClE,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3F,MAAM,GAAG,GAAG,2CAA2C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,uMAAuM;QACvM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAwC,CAAC;QAClF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,sBAAsB,CAAC,GAA4B;QAChE,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAExE,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;YACjE,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,QAAQ,MAAM,4FAA4F,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAC3J,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,CAAC;QAC1C,IACE,OAAO,eAAe,KAAK,QAAQ;YACnC,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;YAClC,eAAe,GAAG,CAAC,EACnB,CAAC;YACD,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,QAAQ,MAAM,kEAAkE,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,eAAe,EAAE,CAC7I,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,+BAA+B,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAE5E,OAAO;YACL,MAAM;YACN,QAAQ;YACR,MAAM;YACN,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,YAAY,EAAE,eAAe;YAC7B,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;IAED,qEAAqE;IAC7D,WAAW,CAAwB,GAA4B;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,MAAM,GAAe;YACzB,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAiB;YAC1C,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;YAC5C,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;YAC1C,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAA4B,CAAC,CAAC,CAAC,IAAI;YACpF,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/D,CAAC;QAEF,IAAI,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,QAAQ,MAAM,2CAA2C,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task-related types for failed-task observability (Task 8).
|
|
3
|
+
*
|
|
4
|
+
* These types support the failed_tasks_observability feature flag and the
|
|
5
|
+
* /api/v1/failed-tasks route. They summarize task rows whose status is
|
|
6
|
+
* 'failed' or 'needs_human_review' for operator inspection.
|
|
7
|
+
*/
|
|
8
|
+
import type { TaskRecord } from '../../task-status.js';
|
|
9
|
+
import type { RunRecord } from '../run/run-store.js';
|
|
10
|
+
/**
|
|
11
|
+
* Summary of a failed (or needs-human-review) task, suitable for list views.
|
|
12
|
+
*
|
|
13
|
+
* Schema adaptation notes:
|
|
14
|
+
* - `taskKind` maps to the `task_kind` column (PD has no `runner_kind` column;
|
|
15
|
+
* the task kind IS the runner kind for PD pipeline tasks).
|
|
16
|
+
* - `painId` is extracted from `diagnostic_json.sourcePainId` when present
|
|
17
|
+
* (diagnostician tasks carry the originating pain signal ID there).
|
|
18
|
+
* - `lastAttemptAt` is derived from `MAX(runs.started_at)` for the task;
|
|
19
|
+
* null when the task has no run records.
|
|
20
|
+
* - `lastError` is the PDErrorCategory string from `tasks.last_error` (e.g.
|
|
21
|
+
* 'runtime_unavailable'), NOT a free-text error message.
|
|
22
|
+
*/
|
|
23
|
+
export interface FailedTaskSummary {
|
|
24
|
+
taskId: string;
|
|
25
|
+
taskKind: string;
|
|
26
|
+
painId: string | null;
|
|
27
|
+
status: 'failed' | 'needs_human_review';
|
|
28
|
+
lastError: string | null;
|
|
29
|
+
attemptCount: number;
|
|
30
|
+
createdAt: string;
|
|
31
|
+
lastAttemptAt: string | null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Filter for listFailedTasks / countFailedTasks.
|
|
35
|
+
*
|
|
36
|
+
* - `kind`: filter by task_kind (e.g. 'diagnostician').
|
|
37
|
+
* - `since`: Unix timestamp in ms; only tasks whose last run started at or
|
|
38
|
+
* after this time are included. Tasks with no runs are excluded when
|
|
39
|
+
* `since` is specified.
|
|
40
|
+
* - `limit` / `offset`: pagination.
|
|
41
|
+
*/
|
|
42
|
+
export interface FailedTaskFilter {
|
|
43
|
+
kind?: string;
|
|
44
|
+
since?: number;
|
|
45
|
+
limit?: number;
|
|
46
|
+
offset?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Detail view for a single failed task, including its run history.
|
|
50
|
+
*
|
|
51
|
+
* `pendingAgentDraft` is null in Task 8; Task 13 will wire it to the
|
|
52
|
+
* pending_agent_drafts table.
|
|
53
|
+
*/
|
|
54
|
+
export interface FailedTaskDetail {
|
|
55
|
+
task: TaskRecord;
|
|
56
|
+
runs: RunRecord[];
|
|
57
|
+
lastError: string | null;
|
|
58
|
+
pendingAgentDraft: unknown | null;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=task-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-types.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/store/task/task-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,oBAAoB,CAAC;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-types.js","sourceRoot":"","sources":["../../../../src/runtime-v2/store/task/task-types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@principles/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.237.0",
|
|
4
4
|
"description": "Universal Evolution SDK - framework-agnostic pain signal capture and principle injection",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -77,7 +77,8 @@
|
|
|
77
77
|
"./quality-scorecard": {
|
|
78
78
|
"types": "./dist/quality-scorecard/index.d.ts",
|
|
79
79
|
"default": "./dist/quality-scorecard/index.js"
|
|
80
|
-
}
|
|
80
|
+
},
|
|
81
|
+
"./package.json": "./package.json"
|
|
81
82
|
},
|
|
82
83
|
"files": [
|
|
83
84
|
"dist"
|