@telora/daemon 0.17.8 → 0.17.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/build-info.json +5 -3
  2. package/dist/assembly-engine.d.ts +8 -0
  3. package/dist/assembly-engine.d.ts.map +1 -1
  4. package/dist/assembly-engine.js.map +1 -1
  5. package/dist/focus-engine.js +2 -2
  6. package/dist/focus-engine.js.map +1 -1
  7. package/dist/focus-executor.d.ts.map +1 -1
  8. package/dist/focus-executor.js +27 -0
  9. package/dist/focus-executor.js.map +1 -1
  10. package/dist/prd-controller.d.ts +37 -14
  11. package/dist/prd-controller.d.ts.map +1 -1
  12. package/dist/prd-controller.js +177 -66
  13. package/dist/prd-controller.js.map +1 -1
  14. package/dist/prd-focus-pushdown.d.ts +42 -0
  15. package/dist/prd-focus-pushdown.d.ts.map +1 -0
  16. package/dist/prd-focus-pushdown.js +47 -0
  17. package/dist/prd-focus-pushdown.js.map +1 -0
  18. package/dist/prd-frontier.d.ts +27 -0
  19. package/dist/prd-frontier.d.ts.map +1 -0
  20. package/dist/prd-frontier.js +46 -0
  21. package/dist/prd-frontier.js.map +1 -0
  22. package/dist/prd-steward.d.ts +94 -0
  23. package/dist/prd-steward.d.ts.map +1 -0
  24. package/dist/prd-steward.js +173 -0
  25. package/dist/prd-steward.js.map +1 -0
  26. package/dist/queries/prd.d.ts +48 -0
  27. package/dist/queries/prd.d.ts.map +1 -1
  28. package/dist/queries/prd.js +42 -0
  29. package/dist/queries/prd.js.map +1 -1
  30. package/dist/resolvers/index.d.ts +2 -0
  31. package/dist/resolvers/index.d.ts.map +1 -1
  32. package/dist/resolvers/index.js +2 -0
  33. package/dist/resolvers/index.js.map +1 -1
  34. package/dist/resolvers/prd-context.d.ts +30 -0
  35. package/dist/resolvers/prd-context.d.ts.map +1 -0
  36. package/dist/resolvers/prd-context.js +100 -0
  37. package/dist/resolvers/prd-context.js.map +1 -0
  38. package/dist/resolvers/prd-persona.d.ts +20 -0
  39. package/dist/resolvers/prd-persona.d.ts.map +1 -0
  40. package/dist/resolvers/prd-persona.js +45 -0
  41. package/dist/resolvers/prd-persona.js.map +1 -0
  42. package/package.json +1 -1
@@ -18,54 +18,51 @@ import { configForProduct } from './config.js';
18
18
  import { evaluateClearance, } from './prd-clearance-engine.js';
19
19
  import { loadActivePrds, loadPrtGraph, materializeOvercome, armFocus, markNodeCleared, markPrdDone, loadPathways, commitPathway, } from './queries/prd.js';
20
20
  import { getFocusDeliveries } from './queries/focuses.js';
21
+ import { computePrtFrontier } from './prd-frontier.js';
21
22
  import { fileEscalation } from './escalations.js';
22
23
  import { detectDivergence, selectSurvivingPath, } from './prd-divergence.js';
24
+ import { runStewardJudgment, defaultStewardDeps, } from './prd-steward.js';
23
25
  /**
24
26
  * Process-lifetime dedup of PRDs already escalated for a frontier that cannot be
25
- * armed (no `TELORA_PRD_ARM_ROLE_ID`). Without this the controller would file a
26
- * fresh escalation every 60s tick. A daemon restart re-notifies once, which is
27
- * the desired behavior (a restart is exactly when an operator wants to be told
28
- * their active PRD is still stalled). Injected via deps for tests; defaults here.
27
+ * armed (prds.assigned_agent_role_id is null -- the PRD is not Played). Without this
28
+ * the controller would file a fresh escalation every 60s tick. A daemon restart
29
+ * re-notifies once, which is the desired behavior (a restart is exactly when an
30
+ * operator wants to be told their active PRD is still stalled). Injected via
31
+ * deps for tests; defaults here.
29
32
  */
30
33
  const noRoleEscalatedPrds = new Set();
34
+ /**
35
+ * Per-PRD timestamp (ms) of the last steward cadence run. Process-lifetime.
36
+ * Injected in tests so cadence behavior is verifiable without real timers.
37
+ */
38
+ const stewardLastRunMs = new Map();
39
+ /**
40
+ * Steward cadence: the minimum interval between proactive steward monitoring
41
+ * runs for a Played PRD -- the "runs on a cadence" path of the AC. 15 minutes
42
+ * is substantially less frequent than the 60s controller tick (satisfies "not
43
+ * every tick") without making the cortex unresponsive to gradual drift.
44
+ * Exported so tests can inject a zero-ms cadence to force an immediate run.
45
+ */
46
+ export const STEWARD_CADENCE_MS = 15 * 60 * 1000;
31
47
  /** Stable machine reason for the "active PRD frontier cannot be armed" signal. */
32
48
  export const PRD_FRONTIER_BLOCKED_NO_ROLE = 'prd_frontier_blocked_no_arm_role';
33
49
  /**
34
- * Splits the armable overcome frontier into those still needing a focus
35
- * (materialize) and those already materialized (arm).
50
+ * Resolve the arm role for a PRD from the PRD ROW -- the per-entity "Play"
51
+ * signal (prds.assigned_agent_role_id), or null if the PRD is paused.
36
52
  *
37
- * PRT frontier semantics (implemented exactly):
38
- * - prerequisite edge P->Q means P must be cleared before Q.
39
- * - overcome O is ARMABLE iff O.status !== 'cleared' AND every node P with a
40
- * prerequisite edge P->O is in clearedNodeIds. No incoming prerequisite edge
41
- * => initial frontier.
42
- * - needsMaterialize = armable overcomes with focusId == null.
43
- * - needsArm = armable overcomes with focusId set.
53
+ * This is the ONLY source: the global TELORA_PRD_ARM_ROLE_ID env var has been
54
+ * removed outright (it was the out-of-band toggle behind the One Screen RTS
55
+ * silent stall). Play/pause is data on the PRD row, set via telora_prd update.
56
+ * Pure + exported so the row-reads-not-env contract is unit-testable.
44
57
  */
45
- export function computePrtFrontier(nodes, edges, clearedNodeIds) {
46
- const needsMaterialize = [];
47
- const needsArm = [];
48
- for (const node of nodes) {
49
- if (node.nodeType !== 'overcome') {
50
- continue;
51
- }
52
- if (node.status === 'cleared') {
53
- continue;
54
- }
55
- const prereqs = edges.filter((edge) => edge.edgeType === 'prerequisite' && edge.toNodeId === node.id);
56
- const allPrereqsCleared = prereqs.every((edge) => clearedNodeIds.has(edge.fromNodeId));
57
- if (!allPrereqsCleared) {
58
- continue;
59
- }
60
- if (node.focusId === null) {
61
- needsMaterialize.push(node);
62
- }
63
- else {
64
- needsArm.push(node);
65
- }
66
- }
67
- return { needsMaterialize, needsArm };
58
+ export function resolveArmRoleIdFromPrd(prd) {
59
+ return prd.assignedAgentRoleId ?? null;
68
60
  }
61
+ // computePrtFrontier moved to ./prd-frontier.js (dependency-light, so the
62
+ // prd.context resolver can reuse it without dragging in this controller's heavy
63
+ // module graph). Imported above for internal use; re-exported here for existing
64
+ // importers/tests that reference it from prd-controller.
65
+ export { computePrtFrontier };
69
66
  /**
70
67
  * Compute the set of focus ids whose delivery work is COMPLETE -- at least one
71
68
  * delivery exists AND every delivery is in execution_status 'done'. PURE.
@@ -268,9 +265,9 @@ export async function runPrdControllerTick(prd, deps) {
268
265
  }
269
266
  }
270
267
  // Surface the silent stall: an ACTIVE PRD has a live frontier (overcomes ready
271
- // to materialize or arm) but no arm role is configured, so nothing will ever
272
- // run. The controller cannot invent a role -- only a human can set
273
- // TELORA_PRD_ARM_ROLE_ID -- so the asymmetric move is to hand control up
268
+ // to materialize or arm) but the PRD is not Played (assigned_agent_role_id is
269
+ // null), so nothing will ever run. The controller cannot invent a role -- only
270
+ // a human can Play the PRD -- so the asymmetric move is to hand control up
274
271
  // (escalate), not to silently no-op every tick. Deduped per PRD per process so
275
272
  // the 60s tick does not spam; a restart re-notifies once.
276
273
  let frontierBlockedNoRole = false;
@@ -285,8 +282,9 @@ export async function runPrdControllerTick(prd, deps) {
285
282
  details: {
286
283
  prdId: prd.id,
287
284
  skippedNoRole,
288
- hint: 'Set TELORA_PRD_ARM_ROLE_ID to an agent_roles UUID and restart the daemon so the ' +
289
- 'PRD controller can arm frontier foci. Until then this PRD cannot advance.',
285
+ hint: 'Play this PRD by setting its assigned_agent_role_id to an agent_roles UUID ' +
286
+ '(telora_prd update assignedAgentRoleId=<uuid>) so the PRD controller can arm ' +
287
+ 'frontier foci. Until then this PRD cannot advance.',
290
288
  },
291
289
  });
292
290
  // Record only after a successful file so a transient escalation failure
@@ -331,25 +329,132 @@ export async function runPrdControllerTick(prd, deps) {
331
329
  id: p.id,
332
330
  status: p.status,
333
331
  }));
334
- const { survivor, switched } = selectSurvivingPath(pathwayStates, {
335
- committedPathwayId: prd.committedPathId,
336
- isPathwayViable: (pid) => isPathwayViable(pid, nodes, edges, clearedNodeIds, clearanceFailedObstacleIds),
337
- });
338
- if (survivor && switched) {
339
- // Re-point the committed pathway (re-capture). No revert.
340
- await deps.commitPathway(prd.id, survivor);
341
- pathSwitched = true;
332
+ const viable = (pid) => isPathwayViable(pid, nodes, edges, clearedNodeIds, clearanceFailedObstacleIds);
333
+ // --- Cortex: the steward makes the JUDGMENT when the PRD is Played -----
334
+ // When the PRD is Played (assigned_agent_role_id set) AND a steward is
335
+ // wired, the steward (an LLM at the milestone altitude) decides
336
+ // re-capture vs escalate, informing/overriding the deterministic
337
+ // selectSurvivingPath. The steward NEVER takes over frontier compute /
338
+ // clearance / arming -- those stayed in the reflex above. When no steward
339
+ // is wired, or it cannot reach a decision (LLM unavailable), it returns
340
+ // null and we fall through to the deterministic reflex unchanged.
341
+ let decision = null;
342
+ if (prd.assignedAgentRoleId && deps.runStewardJudgment) {
343
+ decision = await deps.runStewardJudgment({
344
+ prd,
345
+ nodes,
346
+ edges,
347
+ signals,
348
+ pathwayStates,
349
+ isPathwayViable: viable,
350
+ });
342
351
  }
343
- else if (!survivor) {
344
- // No surviving path: the human owns intent -- escalate, never lower the goal.
345
- escalated = true;
346
- await deps.fileEscalation({
347
- organizationId: deps.organizationId,
348
- productId: prd.productId,
349
- reason: 'prd_divergence_no_surviving_path',
350
- kind: 'prd_divergence_no_surviving_path',
351
- details: { prdId: prd.id, signals },
352
+ if (decision) {
353
+ // Cortex path. The steward already validated a recommit against
354
+ // viability (a non-viable/unknown target was converted to escalate),
355
+ // so we can trust the action here.
356
+ if (decision.action === 'recommit' &&
357
+ decision.pathwayId &&
358
+ decision.pathwayId !== prd.committedPathId) {
359
+ await deps.commitPathway(prd.id, decision.pathwayId);
360
+ pathSwitched = true;
361
+ }
362
+ else if (decision.action === 'escalate') {
363
+ escalated = true;
364
+ await deps.fileEscalation({
365
+ organizationId: deps.organizationId,
366
+ productId: prd.productId,
367
+ reason: 'prd_divergence_steward_escalation',
368
+ kind: 'prd_divergence_steward_escalation',
369
+ details: { prdId: prd.id, signals, rationale: decision.rationale },
370
+ });
371
+ }
372
+ // 'hold' (or a recommit to the already-committed path) -> no action.
373
+ }
374
+ else {
375
+ // --- Reflex (deterministic) fallback -- unchanged prior behavior. ---
376
+ const { survivor, switched } = selectSurvivingPath(pathwayStates, {
377
+ committedPathwayId: prd.committedPathId,
378
+ isPathwayViable: viable,
352
379
  });
380
+ if (survivor && switched) {
381
+ // Re-point the committed pathway (re-capture). No revert.
382
+ await deps.commitPathway(prd.id, survivor);
383
+ pathSwitched = true;
384
+ }
385
+ else if (!survivor) {
386
+ // No surviving path: the human owns intent -- escalate, never lower the goal.
387
+ escalated = true;
388
+ await deps.fileEscalation({
389
+ organizationId: deps.organizationId,
390
+ productId: prd.productId,
391
+ reason: 'prd_divergence_no_surviving_path',
392
+ kind: 'prd_divergence_no_surviving_path',
393
+ details: { prdId: prd.id, signals },
394
+ });
395
+ }
396
+ }
397
+ }
398
+ }
399
+ // --- Cadence steward run (monitoring-only, no divergence required) ---------
400
+ //
401
+ // For a Played PRD with a committed pathway and a wired steward, run the
402
+ // steward on a cadence even when no divergence was detected this tick. This is
403
+ // the "spawned when a PRD is Played, runs on a cadence" path of the AC: the
404
+ // steward becomes active as a recurring milestone monitor when the PRD is
405
+ // Played, not just reactively on clearance_fail. On a cadence run the
406
+ // signals array is empty -- the expected output is usually 'hold' (confirming
407
+ // the milestone tracks), but the steward may 'escalate' on drift the
408
+ // deterministic reflex cannot detect. We skip this if the steward already ran
409
+ // this tick via the divergence path (`diverged` is true) to avoid double calls.
410
+ if (!diverged &&
411
+ prd.assignedAgentRoleId &&
412
+ prd.committedPathId &&
413
+ deps.runStewardJudgment) {
414
+ const lastRunMap = deps.stewardLastRun ?? stewardLastRunMs;
415
+ const cadenceMs = deps.stewardCadenceMs ?? STEWARD_CADENCE_MS;
416
+ const lastRun = lastRunMap.get(prd.id) ?? 0;
417
+ const now = Date.now();
418
+ if (now - lastRun >= cadenceMs) {
419
+ const pathways = await deps.loadPathways(prd.id);
420
+ const pathwayStates = pathways.map((p) => ({
421
+ id: p.id,
422
+ status: p.status,
423
+ }));
424
+ const viable = (pid) => isPathwayViable(pid, nodes, edges, clearedNodeIds, clearanceFailedObstacleIds);
425
+ const cadenceDecision = await deps.runStewardJudgment({
426
+ prd,
427
+ nodes,
428
+ edges,
429
+ signals: [],
430
+ pathwayStates,
431
+ isPathwayViable: viable,
432
+ });
433
+ // Stamp before acting so a throw in commitPathway/fileEscalation does not
434
+ // reset the timer to zero (the steward still ran; retry next cadence tick).
435
+ lastRunMap.set(prd.id, now);
436
+ if (cadenceDecision) {
437
+ if (cadenceDecision.action === 'recommit' &&
438
+ cadenceDecision.pathwayId &&
439
+ cadenceDecision.pathwayId !== prd.committedPathId) {
440
+ await deps.commitPathway(prd.id, cadenceDecision.pathwayId);
441
+ pathSwitched = true;
442
+ }
443
+ else if (cadenceDecision.action === 'escalate') {
444
+ escalated = true;
445
+ await deps.fileEscalation({
446
+ organizationId: deps.organizationId,
447
+ productId: prd.productId,
448
+ reason: 'prd_divergence_steward_escalation',
449
+ kind: 'prd_divergence_steward_escalation',
450
+ details: {
451
+ prdId: prd.id,
452
+ signals: [],
453
+ rationale: cadenceDecision.rationale,
454
+ },
455
+ });
456
+ }
457
+ // 'hold' or a recommit to the already-committed path: no action.
353
458
  }
354
459
  }
355
460
  }
@@ -378,20 +483,26 @@ function defaultDeps(config) {
378
483
  materializeOvercome: (nodeId) => materializeOvercome(nodeId),
379
484
  armFocus: (focusId, agentRoleId) => armFocus(focusId, agentRoleId),
380
485
  markPrdDone: (prdId) => markPrdDone(prdId),
381
- resolveArmRoleId: async (_prd) => {
382
- void _prd;
383
- // TELORA_PRD_ARM_ROLE_ID must be set to the agent_roles UUID to use when
384
- // arming frontier foci (sets product_focuses.assigned_agent_role_id).
385
- // When unset, every frontier overcome is counted as skippedNoRole and no
386
- // focus is ever armed -- the controller runs but produces no output.
387
- return process.env.TELORA_PRD_ARM_ROLE_ID ?? null;
388
- },
486
+ // The PRD "Play" is a per-entity signal: prds.assigned_agent_role_id is the
487
+ // agent_roles UUID the controller arms frontier foci with (sets
488
+ // product_focuses.assigned_agent_role_id). Set = run all frontier foci;
489
+ // null = paused, every frontier overcome counts as skippedNoRole and the
490
+ // no-arm-role escalation fires as the loud-not-silent backstop. The global
491
+ // TELORA_PRD_ARM_ROLE_ID env var has been removed outright -- no fallback.
492
+ resolveArmRoleId: async (prd) => resolveArmRoleIdFromPrd(prd),
389
493
  loadPathways: (prdId) => loadPathways(prdId),
390
494
  commitPathway: (prdId, pathwayId) => commitPathway(prdId, pathwayId),
391
495
  fileEscalation: (input) => fileEscalation(input),
496
+ // The steward cortex, wired to the live assembly + LLM client. Invoked for
497
+ // a Played PRD that diverged (divergence path) or on the cadence (monitoring
498
+ // path); returns null (reflex fallback) when the LLM is unavailable.
499
+ // defaultStewardDeps dynamic-imports its heavy graph.
500
+ runStewardJudgment: (input) => runStewardJudgment(input, defaultStewardDeps(config)),
392
501
  organizationId: config.organizationId,
393
502
  worktreeDir: config.worktreeDir,
394
503
  noRoleEscalated: noRoleEscalatedPrds,
504
+ stewardLastRun: stewardLastRunMs,
505
+ stewardCadenceMs: STEWARD_CADENCE_MS,
395
506
  };
396
507
  }
397
508
  export async function runPrdControllerTickAll(config, deps) {
@@ -1 +1 @@
1
- {"version":3,"file":"prd-controller.js","sourceRoot":"","sources":["../src/prd-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,iBAAiB,GAIlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,GAKd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE9C,kFAAkF;AAClF,MAAM,CAAC,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAgB,EAChB,KAAgB,EAChB,cAA2B;IAE3B,MAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CACxE,CAAC;QACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA+D;IAE/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAwDD;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CACtB,UAAkB,EAClB,KAAgB,EAChB,KAAgB,EAChB,cAA2B,EAC3B,0BAAuC;IAEvC,KAAK,UAAU,CAAC;IAChB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;IACvE,kDAAkD;IAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,kCAAkC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,sEAAsE;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,yEAAyE;QACzE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YACD,uEAAuE;YACvE,0EAA0E;YAC1E,oBAAoB;YACpB,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAQ,EACR,IAAuB;IAEvB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,mDAAmD;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,oEAAoE;IACpE,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,GAAG,CACL,KAAK;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAiB,CAAC,CACnC,CACF,CAAC;IACF,MAAM,eAAe,GAAwD,EAAE,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;gBAChC,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,+EAA+E;QAC/E,0EAA0E;QAC1E,qBAAqB;QACrB,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,kBAAkB,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACxE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7B,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,mEAAmE;IACnE,yEAAyE;IACzE,+EAA+E;IAC/E,0DAA0D;IAC1D,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,4BAA4B;gBACpC,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE;oBACP,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,aAAa;oBACb,IAAI,EACF,kFAAkF;wBAClF,2EAA2E;iBAC9E;aACF,CAAC,CAAC;YACH,wEAAwE;YACxE,uDAAuD;YACvD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,mBAAmB,GACvB,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,6DAA6D;IAC7D,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,KAAK;YACL,KAAK;YACL,cAAc;YACd,0BAA0B;YAC1B,kBAAkB,EAAE,GAAG,CAAC,eAAe;SACxC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,aAAa,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC,CAAC;YACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,aAAa,EAAE;gBAChE,kBAAkB,EAAE,GAAG,CAAC,eAAe;gBACvC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CACvB,eAAe,CACb,GAAG,EACH,KAAK,EACL,KAAK,EACL,cAAc,EACd,0BAA0B,CAC3B;aACJ,CAAC,CAAC;YACH,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACzB,0DAA0D;gBAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3C,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrB,8EAA8E;gBAC9E,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC;oBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,MAAM,EAAE,kCAAkC;oBAC1C,IAAI,EAAE,kCAAkC;oBACxC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,YAAY;QACZ,KAAK;QACL,aAAa;QACb,OAAO;QACP,qBAAqB;QACrB,QAAQ;QACR,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB;IACvC,OAAO;QACL,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5C,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACtC,yEAAyE;QACzE,yEAAyE;QACzE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC,CACvE;QACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC;QACxE,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;QACpD,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC5D,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAClE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QAC1C,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/B,KAAK,IAAI,CAAC;YACV,yEAAyE;YACzE,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC;QACpD,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;QACpE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QAChD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,mBAAmB;KACrC,CAAC;AACJ,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAoB,EACpB,IAAiC;IAEjC,MAAM,MAAM,GAA+B;QACzC,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,CAAC;QACX,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;KACjB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAsB,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7E,IAAI,IAAW,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,2DAA2D,OAAO,CAAC,EAAE,GAAG,EACvE,GAAa,CAAC,OAAO,CACvB,CAAC;YACF,SAAS;QACX,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvD,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC;gBACvD,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC;gBACnD,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;gBAC3C,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;gBAC7B,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;gBAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBACjC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,wCAAwC,GAAG,CAAC,EAAE,GAAG,EAChD,GAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"prd-controller.js","sourceRoot":"","sources":["../src/prd-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,iBAAiB,GAIlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,GAKd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE9C;;;GAGG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjD,kFAAkF;AAClF,MAAM,CAAC,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAQ;IAC9C,OAAO,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,0EAA0E;AAC1E,gFAAgF;AAChF,gFAAgF;AAChF,yDAAyD;AACzD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA+D;IAE/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AA0ED;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CACtB,UAAkB,EAClB,KAAgB,EAChB,KAAgB,EAChB,cAA2B,EAC3B,0BAAuC;IAEvC,KAAK,UAAU,CAAC;IAChB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;IACvE,kDAAkD;IAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,kCAAkC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,sEAAsE;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,yEAAyE;QACzE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YACD,uEAAuE;YACvE,0EAA0E;YAC1E,oBAAoB;YACpB,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAQ,EACR,IAAuB;IAEvB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,mDAAmD;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,oEAAoE;IACpE,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,GAAG,CACL,KAAK;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAiB,CAAC,CACnC,CACF,CAAC;IACF,MAAM,eAAe,GAAwD,EAAE,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;gBAChC,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,+EAA+E;QAC/E,0EAA0E;QAC1E,qBAAqB;QACrB,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,kBAAkB,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACxE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7B,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,2EAA2E;IAC3E,+EAA+E;IAC/E,0DAA0D;IAC1D,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,4BAA4B;gBACpC,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE;oBACP,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,aAAa;oBACb,IAAI,EACF,6EAA6E;wBAC7E,+EAA+E;wBAC/E,oDAAoD;iBACvD;aACF,CAAC,CAAC;YACH,wEAAwE;YACxE,uDAAuD;YACvD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,mBAAmB,GACvB,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,6DAA6D;IAC7D,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,KAAK;YACL,KAAK;YACL,cAAc;YACd,0BAA0B;YAC1B,kBAAkB,EAAE,GAAG,CAAC,eAAe;SACxC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,aAAa,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC,CAAC;YACJ,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC;YAEjF,0EAA0E;YAC1E,uEAAuE;YACvE,gEAAgE;YAChE,iEAAiE;YACjE,uEAAuE;YACvE,0EAA0E;YAC1E,wEAAwE;YACxE,kEAAkE;YAClE,IAAI,QAAQ,GAA2B,IAAI,CAAC;YAC5C,IAAI,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACvD,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBACvC,GAAG;oBACH,KAAK;oBACL,KAAK;oBACL,OAAO;oBACP,aAAa;oBACb,eAAe,EAAE,MAAM;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,gEAAgE;gBAChE,qEAAqE;gBACrE,mCAAmC;gBACnC,IACE,QAAQ,CAAC,MAAM,KAAK,UAAU;oBAC9B,QAAQ,CAAC,SAAS;oBAClB,QAAQ,CAAC,SAAS,KAAK,GAAG,CAAC,eAAe,EAC1C,CAAC;oBACD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACrD,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC1C,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM,IAAI,CAAC,cAAc,CAAC;wBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM,EAAE,mCAAmC;wBAC3C,IAAI,EAAE,mCAAmC;wBACzC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE;qBACnE,CAAC,CAAC;gBACL,CAAC;gBACD,qEAAqE;YACvE,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,aAAa,EAAE;oBAChE,kBAAkB,EAAE,GAAG,CAAC,eAAe;oBACvC,eAAe,EAAE,MAAM;iBACxB,CAAC,CAAC;gBACH,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBACzB,0DAA0D;oBAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC3C,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrB,8EAA8E;oBAC9E,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM,IAAI,CAAC,cAAc,CAAC;wBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM,EAAE,kCAAkC;wBAC1C,IAAI,EAAE,kCAAkC;wBACxC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,EAAE;IACF,yEAAyE;IACzE,+EAA+E;IAC/E,4EAA4E;IAC5E,0EAA0E;IAC1E,sEAAsE;IACtE,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAC9E,gFAAgF;IAChF,IACE,CAAC,QAAQ;QACT,GAAG,CAAC,mBAAmB;QACvB,GAAG,CAAC,eAAe;QACnB,IAAI,CAAC,kBAAkB,EACvB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,gBAAgB,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,CAAC;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,aAAa,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC,CAAC;YACJ,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC;YACjF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBACpD,GAAG;gBACH,KAAK;gBACL,KAAK;gBACL,OAAO,EAAE,EAAE;gBACX,aAAa;gBACb,eAAe,EAAE,MAAM;aACxB,CAAC,CAAC;YACH,0EAA0E;YAC1E,4EAA4E;YAC5E,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,eAAe,EAAE,CAAC;gBACpB,IACE,eAAe,CAAC,MAAM,KAAK,UAAU;oBACrC,eAAe,CAAC,SAAS;oBACzB,eAAe,CAAC,SAAS,KAAK,GAAG,CAAC,eAAe,EACjD,CAAC;oBACD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC5D,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,IAAI,eAAe,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjD,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM,IAAI,CAAC,cAAc,CAAC;wBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM,EAAE,mCAAmC;wBAC3C,IAAI,EAAE,mCAAmC;wBACzC,OAAO,EAAE;4BACP,KAAK,EAAE,GAAG,CAAC,EAAE;4BACb,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,eAAe,CAAC,SAAS;yBACrC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,iEAAiE;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,YAAY;QACZ,KAAK;QACL,aAAa;QACb,OAAO;QACP,qBAAqB;QACrB,QAAQ;QACR,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB;IACvC,OAAO;QACL,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5C,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACtC,yEAAyE;QACzE,yEAAyE;QACzE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC,CACvE;QACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC;QACxE,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;QACpD,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC5D,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAClE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QAC1C,4EAA4E;QAC5E,gEAAgE;QAChE,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC;QAC7D,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;QACpE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QAChD,2EAA2E;QAC3E,6EAA6E;QAC7E,qEAAqE;QACrE,sDAAsD;QACtD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpF,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,mBAAmB;QACpC,cAAc,EAAE,gBAAgB;QAChC,gBAAgB,EAAE,kBAAkB;KACrC,CAAC;AACJ,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAoB,EACpB,IAAiC;IAEjC,MAAM,MAAM,GAA+B;QACzC,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,CAAC;QACX,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;KACjB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAsB,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7E,IAAI,IAAW,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,2DAA2D,OAAO,CAAC,EAAE,GAAG,EACvE,GAAa,CAAC,OAAO,CACvB,CAAC;YACF,SAAS;QACX,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvD,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC;gBACvD,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC;gBACnD,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;gBAC3C,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;gBAC7B,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;gBAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBACjC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,wCAAwC,GAAG,CAAC,EAAE,GAAG,EAChD,GAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * PRD -> focus push-down: when the PRD controller arms a frontier focus, that
3
+ * focus team should inherit the milestone's coherent intent (goal / expansion /
4
+ * vision + frontier position) instead of rediscovering it from its own
5
+ * deliveries. This resolves the parent PRD's prd.context and hands it to the
6
+ * focus spawn.
7
+ *
8
+ * ONLY prd.context is pushed to foci. prd.persona (the steward's judgment
9
+ * framing) is deliberately NOT pushed -- a coder focus team operates at the
10
+ * implementation altitude, not the milestone-stewardship altitude.
11
+ *
12
+ * Resolution happens at spawn (the focus only spawns because the PRD armed it),
13
+ * so the milestone context is always fresh -- the frontier state reflects the
14
+ * tree as it is at spawn, not as it was at arm time. A focus not under any PRD
15
+ * yields empty content with no error (non-PRD spawns are unaffected).
16
+ */
17
+ import { type AssemblyContext, type AssemblyManifestEntry } from './assembly-engine.js';
18
+ /** The push-down recipe: milestone context ONLY (mirrors the PRD workflow's
19
+ * focus_pushdown stage assembly). The steward persona is never in this list. */
20
+ export declare const FOCUS_PUSHDOWN_RECIPE: readonly ["prd.context"];
21
+ export interface FocusMilestoneContextDeps {
22
+ /** Resolve the parent PRD id for a focus (null when not under a PRD). */
23
+ findPrdIdForFocus: (focusId: string) => Promise<string | null>;
24
+ /** Resolve an assembly recipe with manifest (defaults to the engine). */
25
+ resolveRecipe: (recipe: string[], ctx: AssemblyContext) => Promise<{
26
+ content: string;
27
+ manifest: AssemblyManifestEntry[];
28
+ }>;
29
+ }
30
+ /**
31
+ * Resolve the milestone (prd.context) section for a focus being spawned.
32
+ * Returns empty content + empty manifest when the focus is not under a PRD, or
33
+ * when resolution fails -- the push-down is best-effort and never blocks a spawn.
34
+ *
35
+ * `assemblyCtxBase` is the focus's normal AssemblyContext (without prdId); this
36
+ * sets prdId on a copy so the prd.context resolver targets the parent PRD.
37
+ */
38
+ export declare function resolveFocusMilestoneContext(focusId: string, assemblyCtxBase: AssemblyContext, deps?: Partial<FocusMilestoneContextDeps>): Promise<{
39
+ content: string;
40
+ manifest: AssemblyManifestEntry[];
41
+ }>;
42
+ //# sourceMappingURL=prd-focus-pushdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-focus-pushdown.d.ts","sourceRoot":"","sources":["../src/prd-focus-pushdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAG9B;iFACiF;AACjF,eAAO,MAAM,qBAAqB,0BAA2B,CAAC;AAE9D,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/D,yEAAyE;IACzE,aAAa,EAAE,CACb,MAAM,EAAE,MAAM,EAAE,EAChB,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAA;KAAE,CAAC,CAAC;CACtE;AAOD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,EAChC,IAAI,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAC5C,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC,CAajE"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * PRD -> focus push-down: when the PRD controller arms a frontier focus, that
3
+ * focus team should inherit the milestone's coherent intent (goal / expansion /
4
+ * vision + frontier position) instead of rediscovering it from its own
5
+ * deliveries. This resolves the parent PRD's prd.context and hands it to the
6
+ * focus spawn.
7
+ *
8
+ * ONLY prd.context is pushed to foci. prd.persona (the steward's judgment
9
+ * framing) is deliberately NOT pushed -- a coder focus team operates at the
10
+ * implementation altitude, not the milestone-stewardship altitude.
11
+ *
12
+ * Resolution happens at spawn (the focus only spawns because the PRD armed it),
13
+ * so the milestone context is always fresh -- the frontier state reflects the
14
+ * tree as it is at spawn, not as it was at arm time. A focus not under any PRD
15
+ * yields empty content with no error (non-PRD spawns are unaffected).
16
+ */
17
+ import { resolveAssemblyRecipeWithManifest, } from './assembly-engine.js';
18
+ import { findPrdIdForFocus } from './queries/prd.js';
19
+ /** The push-down recipe: milestone context ONLY (mirrors the PRD workflow's
20
+ * focus_pushdown stage assembly). The steward persona is never in this list. */
21
+ export const FOCUS_PUSHDOWN_RECIPE = ['prd.context'];
22
+ const defaultDeps = {
23
+ findPrdIdForFocus,
24
+ resolveRecipe: (recipe, ctx) => resolveAssemblyRecipeWithManifest(recipe, ctx),
25
+ };
26
+ /**
27
+ * Resolve the milestone (prd.context) section for a focus being spawned.
28
+ * Returns empty content + empty manifest when the focus is not under a PRD, or
29
+ * when resolution fails -- the push-down is best-effort and never blocks a spawn.
30
+ *
31
+ * `assemblyCtxBase` is the focus's normal AssemblyContext (without prdId); this
32
+ * sets prdId on a copy so the prd.context resolver targets the parent PRD.
33
+ */
34
+ export async function resolveFocusMilestoneContext(focusId, assemblyCtxBase, deps = {}) {
35
+ const { findPrdIdForFocus: findPrd, resolveRecipe } = { ...defaultDeps, ...deps };
36
+ try {
37
+ const prdId = await findPrd(focusId);
38
+ if (!prdId)
39
+ return { content: '', manifest: [] };
40
+ return await resolveRecipe([...FOCUS_PUSHDOWN_RECIPE], { ...assemblyCtxBase, prdId });
41
+ }
42
+ catch (err) {
43
+ console.debug(`[prd-focus-pushdown] milestone context resolution failed for focus ${focusId} (non-fatal):`, err.message);
44
+ return { content: '', manifest: [] };
45
+ }
46
+ }
47
+ //# sourceMappingURL=prd-focus-pushdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-focus-pushdown.js","sourceRoot":"","sources":["../src/prd-focus-pushdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,iCAAiC,GAGlC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;iFACiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,CAAU,CAAC;AAY9D,MAAM,WAAW,GAA8B;IAC7C,iBAAiB;IACjB,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAiC,CAAC,MAAM,EAAE,GAAG,CAAC;CAC/E,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAe,EACf,eAAgC,EAChC,OAA2C,EAAE;IAE7C,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACjD,OAAO,MAAM,aAAa,CAAC,CAAC,GAAG,qBAAqB,CAAC,EAAE,EAAE,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,sEAAsE,OAAO,eAAe,EAC3F,GAAa,CAAC,OAAO,CACvB,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Pure PRT (Prerequisite-Tree) frontier computation.
3
+ *
4
+ * Extracted from prd-controller so dependency-light consumers (e.g. the
5
+ * prd.context assembly resolver) can compute the frontier WITHOUT pulling in the
6
+ * controller's heavy module graph (config -> @telora/daemon-core, escalations,
7
+ * divergence). This module imports ONLY the PRT types -- it has no side effects
8
+ * and no I/O.
9
+ */
10
+ import type { PrtNode, PrtEdge } from './queries/prd.js';
11
+ /**
12
+ * Splits the armable overcome frontier into those still needing a focus
13
+ * (materialize) and those already materialized (arm).
14
+ *
15
+ * PRT frontier semantics (implemented exactly):
16
+ * - prerequisite edge P->Q means P must be cleared before Q.
17
+ * - overcome O is ARMABLE iff O.status !== 'cleared' AND every node P with a
18
+ * prerequisite edge P->O is in clearedNodeIds. No incoming prerequisite edge
19
+ * => initial frontier.
20
+ * - needsMaterialize = armable overcomes with focusId == null.
21
+ * - needsArm = armable overcomes with focusId set.
22
+ */
23
+ export declare function computePrtFrontier(nodes: PrtNode[], edges: PrtEdge[], clearedNodeIds: Set<string>): {
24
+ needsMaterialize: PrtNode[];
25
+ needsArm: PrtNode[];
26
+ };
27
+ //# sourceMappingURL=prd-frontier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-frontier.d.ts","sourceRoot":"","sources":["../src/prd-frontier.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,OAAO,EAAE,EAChB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B;IAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CA0BtD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Pure PRT (Prerequisite-Tree) frontier computation.
3
+ *
4
+ * Extracted from prd-controller so dependency-light consumers (e.g. the
5
+ * prd.context assembly resolver) can compute the frontier WITHOUT pulling in the
6
+ * controller's heavy module graph (config -> @telora/daemon-core, escalations,
7
+ * divergence). This module imports ONLY the PRT types -- it has no side effects
8
+ * and no I/O.
9
+ */
10
+ /**
11
+ * Splits the armable overcome frontier into those still needing a focus
12
+ * (materialize) and those already materialized (arm).
13
+ *
14
+ * PRT frontier semantics (implemented exactly):
15
+ * - prerequisite edge P->Q means P must be cleared before Q.
16
+ * - overcome O is ARMABLE iff O.status !== 'cleared' AND every node P with a
17
+ * prerequisite edge P->O is in clearedNodeIds. No incoming prerequisite edge
18
+ * => initial frontier.
19
+ * - needsMaterialize = armable overcomes with focusId == null.
20
+ * - needsArm = armable overcomes with focusId set.
21
+ */
22
+ export function computePrtFrontier(nodes, edges, clearedNodeIds) {
23
+ const needsMaterialize = [];
24
+ const needsArm = [];
25
+ for (const node of nodes) {
26
+ if (node.nodeType !== 'overcome') {
27
+ continue;
28
+ }
29
+ if (node.status === 'cleared') {
30
+ continue;
31
+ }
32
+ const prereqs = edges.filter((edge) => edge.edgeType === 'prerequisite' && edge.toNodeId === node.id);
33
+ const allPrereqsCleared = prereqs.every((edge) => clearedNodeIds.has(edge.fromNodeId));
34
+ if (!allPrereqsCleared) {
35
+ continue;
36
+ }
37
+ if (node.focusId === null) {
38
+ needsMaterialize.push(node);
39
+ }
40
+ else {
41
+ needsArm.push(node);
42
+ }
43
+ }
44
+ return { needsMaterialize, needsArm };
45
+ }
46
+ //# sourceMappingURL=prd-frontier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prd-frontier.js","sourceRoot":"","sources":["../src/prd-frontier.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAgB,EAChB,KAAgB,EAChB,cAA2B;IAE3B,MAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CACxE,CAAC;QACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC"}