@telora/daemon 0.15.3 → 0.15.5

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 (115) hide show
  1. package/build-info.json +2 -2
  2. package/dist/directive-executor.d.ts +18 -3
  3. package/dist/directive-executor.d.ts.map +1 -1
  4. package/dist/directive-executor.js +45 -4
  5. package/dist/directive-executor.js.map +1 -1
  6. package/dist/focus-completion.js +12 -12
  7. package/dist/focus-completion.js.map +1 -1
  8. package/dist/focus-executor.d.ts.map +1 -1
  9. package/dist/focus-executor.js +30 -13
  10. package/dist/focus-executor.js.map +1 -1
  11. package/dist/focus-phase.d.ts +22 -0
  12. package/dist/focus-phase.d.ts.map +1 -0
  13. package/dist/focus-phase.js +54 -0
  14. package/dist/focus-phase.js.map +1 -0
  15. package/dist/focus-team-state.d.ts +6 -0
  16. package/dist/focus-team-state.d.ts.map +1 -1
  17. package/dist/focus-team-state.js +13 -0
  18. package/dist/focus-team-state.js.map +1 -1
  19. package/dist/index.js +0 -0
  20. package/dist/listener.d.ts.map +1 -1
  21. package/dist/listener.js +0 -5
  22. package/dist/listener.js.map +1 -1
  23. package/dist/queries/focuses.d.ts +5 -0
  24. package/dist/queries/focuses.d.ts.map +1 -1
  25. package/dist/queries/focuses.js +15 -0
  26. package/dist/queries/focuses.js.map +1 -1
  27. package/dist/review-defect-detector.d.ts +16 -95
  28. package/dist/review-defect-detector.d.ts.map +1 -1
  29. package/dist/review-defect-detector.js +19 -211
  30. package/dist/review-defect-detector.js.map +1 -1
  31. package/dist/state-cascade.d.ts +45 -41
  32. package/dist/state-cascade.d.ts.map +1 -1
  33. package/dist/state-cascade.js +123 -215
  34. package/dist/state-cascade.js.map +1 -1
  35. package/package.json +2 -2
  36. package/dist/listener-review.d.ts +0 -37
  37. package/dist/listener-review.d.ts.map +0 -1
  38. package/dist/listener-review.js +0 -217
  39. package/dist/listener-review.js.map +0 -1
  40. package/dist/queries/strategies.d.ts +0 -97
  41. package/dist/queries/strategies.d.ts.map +0 -1
  42. package/dist/queries/strategies.js +0 -136
  43. package/dist/queries/strategies.js.map +0 -1
  44. package/dist/review-spawner.d.ts +0 -32
  45. package/dist/review-spawner.d.ts.map +0 -1
  46. package/dist/review-spawner.js +0 -170
  47. package/dist/review-spawner.js.map +0 -1
  48. package/dist/strategy-completion-event.d.ts +0 -63
  49. package/dist/strategy-completion-event.d.ts.map +0 -1
  50. package/dist/strategy-completion-event.js +0 -138
  51. package/dist/strategy-completion-event.js.map +0 -1
  52. package/dist/strategy-completion.d.ts +0 -85
  53. package/dist/strategy-completion.d.ts.map +0 -1
  54. package/dist/strategy-completion.js +0 -459
  55. package/dist/strategy-completion.js.map +0 -1
  56. package/dist/strategy-engine.d.ts +0 -47
  57. package/dist/strategy-engine.d.ts.map +0 -1
  58. package/dist/strategy-engine.js +0 -421
  59. package/dist/strategy-engine.js.map +0 -1
  60. package/dist/strategy-executor.d.ts +0 -55
  61. package/dist/strategy-executor.d.ts.map +0 -1
  62. package/dist/strategy-executor.js +0 -519
  63. package/dist/strategy-executor.js.map +0 -1
  64. package/dist/strategy-lifecycle.d.ts +0 -61
  65. package/dist/strategy-lifecycle.d.ts.map +0 -1
  66. package/dist/strategy-lifecycle.js +0 -544
  67. package/dist/strategy-lifecycle.js.map +0 -1
  68. package/dist/strategy-merge.d.ts +0 -77
  69. package/dist/strategy-merge.d.ts.map +0 -1
  70. package/dist/strategy-merge.js +0 -378
  71. package/dist/strategy-merge.js.map +0 -1
  72. package/dist/strategy-prompt-builder.d.ts +0 -24
  73. package/dist/strategy-prompt-builder.d.ts.map +0 -1
  74. package/dist/strategy-prompt-builder.js +0 -87
  75. package/dist/strategy-prompt-builder.js.map +0 -1
  76. package/dist/strategy-provisioning.d.ts +0 -16
  77. package/dist/strategy-provisioning.d.ts.map +0 -1
  78. package/dist/strategy-provisioning.js +0 -119
  79. package/dist/strategy-provisioning.js.map +0 -1
  80. package/dist/strategy-spawn-helpers.d.ts +0 -67
  81. package/dist/strategy-spawn-helpers.d.ts.map +0 -1
  82. package/dist/strategy-spawn-helpers.js +0 -160
  83. package/dist/strategy-spawn-helpers.js.map +0 -1
  84. package/dist/strategy-team-lifecycle.d.ts +0 -50
  85. package/dist/strategy-team-lifecycle.d.ts.map +0 -1
  86. package/dist/strategy-team-lifecycle.js +0 -256
  87. package/dist/strategy-team-lifecycle.js.map +0 -1
  88. package/dist/strategy-team-state.d.ts +0 -24
  89. package/dist/strategy-team-state.d.ts.map +0 -1
  90. package/dist/strategy-team-state.js +0 -43
  91. package/dist/strategy-team-state.js.map +0 -1
  92. package/dist/strategy-teardown.d.ts +0 -24
  93. package/dist/strategy-teardown.d.ts.map +0 -1
  94. package/dist/strategy-teardown.js +0 -158
  95. package/dist/strategy-teardown.js.map +0 -1
  96. package/dist/strategy-worktree-state.d.ts +0 -47
  97. package/dist/strategy-worktree-state.d.ts.map +0 -1
  98. package/dist/strategy-worktree-state.js +0 -104
  99. package/dist/strategy-worktree-state.js.map +0 -1
  100. package/dist/team-prompt-variants.d.ts +0 -17
  101. package/dist/team-prompt-variants.d.ts.map +0 -1
  102. package/dist/team-prompt-variants.js +0 -79
  103. package/dist/team-prompt-variants.js.map +0 -1
  104. package/dist/types/strategy.d.ts +0 -180
  105. package/dist/types/strategy.d.ts.map +0 -1
  106. package/dist/types/strategy.js +0 -5
  107. package/dist/types/strategy.js.map +0 -1
  108. package/dist/worktree-merge.d.ts +0 -23
  109. package/dist/worktree-merge.d.ts.map +0 -1
  110. package/dist/worktree-merge.js +0 -57
  111. package/dist/worktree-merge.js.map +0 -1
  112. package/dist/worktree-strategy.d.ts +0 -69
  113. package/dist/worktree-strategy.d.ts.map +0 -1
  114. package/dist/worktree-strategy.js +0 -214
  115. package/dist/worktree-strategy.js.map +0 -1
package/dist/listener.js CHANGED
@@ -8,7 +8,6 @@
8
8
  */
9
9
  import { getAgentRoles, getReadyFocuses } from './supabase.js';
10
10
  import { checkDeliveryAutoAdvance, checkVerifyDeliveriesForOpenIssues } from './listener-auto-advance.js';
11
- import { tickReviewDefectLoop } from './review-defect-detector.js';
12
11
  import { spawnFocusTeam, hasActiveTeam, getActiveTeamCount, getActiveTeams, checkAndMergeCompletedDeliveries } from './focus-executor.js';
13
12
  import { checkResolvedMergeConflicts } from './focus-merge.js';
14
13
  import { runCascadeChecks } from './state-cascade.js';
@@ -110,10 +109,6 @@ export function startDeliveryListener() {
110
109
  await checkControlStateChanges(pc);
111
110
  await checkDeliveryAutoAdvance(pc);
112
111
  await checkVerifyDeliveriesForOpenIssues(pc);
113
- // Drive the review-defect re-engagement loop: move in_review -> building
114
- // when review filed open defects, and building -> verify when all
115
- // review-filed defects are Done.
116
- await tickReviewDefectLoop(pc);
117
112
  }
118
113
  await processReadyFocuses();
119
114
  await checkAndMergeCompletedDeliveries(config);
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}
@@ -60,8 +60,12 @@ export declare function getProductDeploymentProfileSnapshot(productId: string):
60
60
  export declare function updateFocusStatus(focusId: string, status: string, currentWorkflowStageId?: string | null, extraFields?: {
61
61
  reviewRequestedAt?: string | null;
62
62
  }): Promise<void>;
63
+ /** Set review_requested_at without changing focus status or stage. */
64
+ export declare function setReviewRequestedAt(focusId: string, isoTimestamp: string): Promise<void>;
63
65
  /** Clear review_requested_at without changing focus status or stage. */
64
66
  export declare function clearReviewRequestedAt(focusId: string): Promise<void>;
67
+ /** Update only the focus's current workflow stage. Used by phase sync. */
68
+ export declare function updateFocusWorkflowStage(focusId: string, currentWorkflowStageId: string | null): Promise<void>;
65
69
  /**
66
70
  * A workflow stage with its optional agent directive.
67
71
  * Mirrors WorkflowStage fields plus the directive payload used by the directive executor.
@@ -71,6 +75,7 @@ export interface WorkflowStageWithDirective {
71
75
  name: string;
72
76
  description: string | null;
73
77
  sort_order: number;
78
+ is_initial?: boolean;
74
79
  is_terminal?: boolean;
75
80
  is_agent_actionable?: boolean;
76
81
  meta_bucket?: 'backlog' | 'active' | 'done' | null;
@@ -1 +1 @@
1
- {"version":3,"file":"focuses.d.ts","sourceRoot":"","sources":["../../src/queries/focuses.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAqC,MAAM,aAAa,CAAC;AAOlI;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoBtF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ/E;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAM3C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,EACtC,WAAW,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wEAAwE;AACxE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IACnD,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgCzF;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8C1F"}
1
+ {"version":3,"file":"focuses.d.ts","sourceRoot":"","sources":["../../src/queries/focuses.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAqC,MAAM,aAAa,CAAC;AAOlI;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoBtF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ/E;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAM3C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,EACtC,WAAW,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAED,wEAAwE;AACxE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED,0EAA0E;AAC1E,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,GAAG,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IACnD,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAiCzF;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8C1F"}
@@ -77,6 +77,13 @@ export async function updateFocusStatus(focusId, status, currentWorkflowStageId,
77
77
  fields,
78
78
  });
79
79
  }
80
+ /** Set review_requested_at without changing focus status or stage. */
81
+ export async function setReviewRequestedAt(focusId, isoTimestamp) {
82
+ await callApi('daemon_update_focus_status', {
83
+ focusId,
84
+ fields: { reviewRequestedAt: isoTimestamp },
85
+ });
86
+ }
80
87
  /** Clear review_requested_at without changing focus status or stage. */
81
88
  export async function clearReviewRequestedAt(focusId) {
82
89
  await callApi('daemon_update_focus_status', {
@@ -84,6 +91,13 @@ export async function clearReviewRequestedAt(focusId) {
84
91
  fields: { reviewRequestedAt: null },
85
92
  });
86
93
  }
94
+ /** Update only the focus's current workflow stage. Used by phase sync. */
95
+ export async function updateFocusWorkflowStage(focusId, currentWorkflowStageId) {
96
+ await callApi('daemon_update_focus_status', {
97
+ focusId,
98
+ fields: { currentWorkflowStageId },
99
+ });
100
+ }
87
101
  /**
88
102
  * Fetch the effective workflow for a focus, including ordered stages.
89
103
  * Uses resolve_effective_workflow RPC to walk the assignment hierarchy.
@@ -98,6 +112,7 @@ export async function fetchFocusWorkflow(focusId) {
98
112
  name: s.name,
99
113
  description: s.description,
100
114
  sort_order: s.sortOrder,
115
+ is_initial: s.isInitial,
101
116
  is_terminal: s.isTerminal,
102
117
  is_agent_actionable: s.isAgentActionable,
103
118
  meta_bucket: s.metaBucket ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"focuses.js","sourceRoot":"","sources":["../../src/queries/focuses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focuses.js","sourceRoot":"","sources":["../../src/queries/focuses.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,22 @@
1
1
  /**
2
- * Review-defect re-engagement loop.
2
+ * Review-defect classification utilities.
3
3
  *
4
- * The review subsystem (review_requested_at + review session_type) audits
5
- * completed work and files defects. Without this module, defects sit
6
- * indefinitely in `in_review` because nothing drives them to resolution.
7
- *
8
- * This module closes that quality loop:
9
- * * Detector -- finds strategies in `in_review` with open issues filed
10
- * during the most recent review pass, and transitions them back to
11
- * `building` so the executor spawns a remediation team.
12
- * * Re-entry -- when all review-filed issues for a focus are Done
13
- * (and the focus is back in `building`), transitions the focus
14
- * to `verify` so the existing review subsystem can pass it through to
15
- * `in_review` for a fresh review pass.
16
- * * Bound -- tracks per-focus remediation cycle count. After N
17
- * consecutive cycles, escalates to humans via `agent_escalations`.
4
+ * The state-cascade engine drives review re-engagement off the focus
5
+ * execution phase (verifying / reviewing) -- the older detector that
6
+ * mutated focus.status (in_review/building/verify) was retired with the
7
+ * focus_status enum trim. What remains here is the issue classifier used
8
+ * by focus-executor and the per-focus remediation cycle counter, which
9
+ * may be folded into a future bounded-iteration check.
18
10
  *
19
11
  * Identifying review-filed issues:
20
12
  * We use `created_by_role_id` (filters out human/UI-filed issues, which
21
13
  * leave the column NULL) AND timing -- the issue was created after the
22
- * focus's most recent `review_requested_at` while in `in_review`. A
23
- * single role is often shared across team and review sessions, so role
24
- * alone is insufficient; the timing-plus-focus-status combination is
25
- * what reliably identifies "filed during a review pass".
14
+ * focus's most recent `review_requested_at`. A single role is often
15
+ * shared across team and review sessions, so role alone is insufficient;
16
+ * the timing-plus-role combination is what reliably identifies
17
+ * "filed during a review pass".
26
18
  */
27
- import type { DaemonConfig, FocusDeliveryInfo, FocusIssueInfo } from './types.js';
28
- import { getActiveFocuses } from './supabase.js';
29
- import { updateFocusStatus, fetchFocusWorkflowWithTransitions } from './queries/focuses.js';
30
- import { createEscalation as defaultCreateEscalation } from './queries/issues.js';
31
- /** Reason string emitted when remediation cycles exceed the bound. */
32
- export declare const REVIEW_REMEDIATION_ESCALATION_REASON = "review-defect remediation exceeded N cycles";
19
+ import type { FocusIssueInfo } from './types.js';
33
20
  /** Default cap on remediation cycles before escalation. Configurable via env. */
34
21
  export declare const REVIEW_REMEDIATION_LIMIT: number;
35
22
  export declare function getRemediationCycles(focusId: string): number;
@@ -38,88 +25,22 @@ export declare function resetRemediationCycles(focusId: string): void;
38
25
  /** Test-only: clear all cycle state. */
39
26
  export declare function _resetAllRemediationCyclesForTest(): void;
40
27
  /**
41
- * Returns true when an issue was filed during the most recent review pass
42
- * on the given focus.
28
+ * Returns true when an issue was filed during the most recent review pass.
43
29
  *
44
30
  * An issue is "review-filed" when ALL of:
45
31
  * - It has a non-null created_by_role_id (excludes human/UI creates).
46
- * - Its created_at is later than the focus's review_requested_at
47
- * (or the focus is in `in_review` with no recorded request time --
48
- * covers manual review trigger).
32
+ * - Its created_at is later than the focus's review_requested_at.
49
33
  * - Its status is open (To Do / In Progress / Blocked).
50
34
  */
51
35
  export declare function isReviewFiledIssue(issue: Pick<FocusIssueInfo, 'createdByRoleId' | 'createdAt' | 'status'>, reviewRequestedAt: string | null): boolean;
52
36
  /**
53
37
  * Filter a focus's issues to only those that were filed during the most
54
- * recent review pass and are still open. Used to drive both the detector
55
- * (transition to building) and the re-entry check (return to in_review when
56
- * all are Done).
38
+ * recent review pass and are still open.
57
39
  */
58
40
  export declare function filterReviewFiledIssues(issues: FocusIssueInfo[], reviewRequestedAt: string | null): FocusIssueInfo[];
59
41
  /**
60
42
  * Returns true when there are any review-filed issues (open or closed)
61
- * since the most recent review pass. Used by the re-entry check: if there
62
- * were review-filed issues AND all of them are Done, the focus is
63
- * eligible to return to in_review.
43
+ * since the most recent review pass.
64
44
  */
65
45
  export declare function reviewFiledIssueExists(issues: FocusIssueInfo[], reviewRequestedAt: string | null): boolean;
66
- export interface FocusReviewState {
67
- focusId: string;
68
- focusName: string;
69
- status: string;
70
- reviewRequestedAt: string | null;
71
- currentWorkflowStageId: string | null;
72
- }
73
- export interface DetectorDeps {
74
- getActiveFocuses: typeof getActiveFocuses;
75
- getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
76
- getFocusIssues: (focusId: string) => Promise<FocusIssueInfo[]>;
77
- updateFocusStatus: typeof updateFocusStatus;
78
- fetchFocusWorkflowWithTransitions: typeof fetchFocusWorkflowWithTransitions;
79
- createEscalation: typeof defaultCreateEscalation;
80
- }
81
- /**
82
- * For each active focus in `in_review` status, check whether any
83
- * review-filed issues remain open. If so, transition the focus back to
84
- * `building` and bump the remediation counter. When the counter exceeds
85
- * the bound, escalate instead of transitioning -- the team has been
86
- * stuck in a remediation loop and a human needs to intervene.
87
- *
88
- * Designed to be called from the daemon poll loop on every tick; it is
89
- * a no-op for strategies that don't satisfy the trigger conditions.
90
- */
91
- export declare function detectAndHandleReviewDefects(config: DaemonConfig, deps?: DetectorDeps): Promise<void>;
92
- /**
93
- * For each active focus in `building` status that has had a review pass
94
- * (review_requested_at set) and review-filed issues since, check whether
95
- * all of those issues are now Done. If so, transition the focus back to
96
- * `verify` so the existing review pipeline can re-run and either close it
97
- * out or file new defects.
98
- *
99
- * Called alongside the detector; safe to invoke on every poll tick.
100
- */
101
- export declare function detectAndHandleRemediationComplete(config: DaemonConfig, deps?: DetectorDeps): Promise<void>;
102
- export interface EscalateReviewRemediationParams {
103
- organizationId: string;
104
- focusId: string;
105
- focusName: string;
106
- cycles: number;
107
- openIssues: FocusIssueInfo[];
108
- }
109
- /**
110
- * Escalate when remediation cycles exceed the configured bound. Surfaces
111
- * the issue list and a clear call to action so the human reviewer can
112
- * unblock the loop.
113
- */
114
- export declare function escalateReviewRemediation(params: EscalateReviewRemediationParams, deps?: Pick<DetectorDeps, 'createEscalation'>): Promise<void>;
115
- /**
116
- * Combined entry point: call both halves of the loop on each poll tick.
117
- *
118
- * Order matters slightly: handle remediation completion first (returns
119
- * Done strategies to verify) before the defect detector (kicks fresh
120
- * defects to building). Doing it in this order means a focus can flow
121
- * verify -> in_review -> building -> verify in a single cycle when work
122
- * is fast.
123
- */
124
- export declare function tickReviewDefectLoop(config: DaemonConfig, deps?: DetectorDeps): Promise<void>;
125
46
  //# sourceMappingURL=review-defect-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-defect-detector.d.ts","sourceRoot":"","sources":["../src/review-defect-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-defect-detector.d.ts","sourceRoot":"","sources":["../src/review-defect-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,EAAE,MAKnC,CAAC;AAYL,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wCAAwC;AACxC,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC,EACvE,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAElB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAUT"}
@@ -1,37 +1,23 @@
1
1
  /**
2
- * Review-defect re-engagement loop.
2
+ * Review-defect classification utilities.
3
3
  *
4
- * The review subsystem (review_requested_at + review session_type) audits
5
- * completed work and files defects. Without this module, defects sit
6
- * indefinitely in `in_review` because nothing drives them to resolution.
7
- *
8
- * This module closes that quality loop:
9
- * * Detector -- finds strategies in `in_review` with open issues filed
10
- * during the most recent review pass, and transitions them back to
11
- * `building` so the executor spawns a remediation team.
12
- * * Re-entry -- when all review-filed issues for a focus are Done
13
- * (and the focus is back in `building`), transitions the focus
14
- * to `verify` so the existing review subsystem can pass it through to
15
- * `in_review` for a fresh review pass.
16
- * * Bound -- tracks per-focus remediation cycle count. After N
17
- * consecutive cycles, escalates to humans via `agent_escalations`.
4
+ * The state-cascade engine drives review re-engagement off the focus
5
+ * execution phase (verifying / reviewing) -- the older detector that
6
+ * mutated focus.status (in_review/building/verify) was retired with the
7
+ * focus_status enum trim. What remains here is the issue classifier used
8
+ * by focus-executor and the per-focus remediation cycle counter, which
9
+ * may be folded into a future bounded-iteration check.
18
10
  *
19
11
  * Identifying review-filed issues:
20
12
  * We use `created_by_role_id` (filters out human/UI-filed issues, which
21
13
  * leave the column NULL) AND timing -- the issue was created after the
22
- * focus's most recent `review_requested_at` while in `in_review`. A
23
- * single role is often shared across team and review sessions, so role
24
- * alone is insufficient; the timing-plus-focus-status combination is
25
- * what reliably identifies "filed during a review pass".
14
+ * focus's most recent `review_requested_at`. A single role is often
15
+ * shared across team and review sessions, so role alone is insufficient;
16
+ * the timing-plus-role combination is what reliably identifies
17
+ * "filed during a review pass".
26
18
  */
27
- import { withRetry, ESCALATION_REASONS } from '@telora/daemon-core';
28
- import { getActiveFocuses } from './supabase.js';
29
- import { getFocusDeliveries, getFocusIssues, updateFocusStatus, fetchFocusWorkflowWithTransitions, } from './queries/focuses.js';
30
- import { createEscalation as defaultCreateEscalation } from './queries/issues.js';
31
19
  import { OPEN_ISSUE_STATUSES } from './constants.js';
32
20
  // ── Configuration ────────────────────────────────────────────────────────
33
- /** Reason string emitted when remediation cycles exceed the bound. */
34
- export const REVIEW_REMEDIATION_ESCALATION_REASON = 'review-defect remediation exceeded N cycles';
35
21
  /** Default cap on remediation cycles before escalation. Configurable via env. */
36
22
  export const REVIEW_REMEDIATION_LIMIT = (() => {
37
23
  const raw = process.env.TELORA_REVIEW_REMEDIATION_LIMIT;
@@ -43,11 +29,9 @@ export const REVIEW_REMEDIATION_LIMIT = (() => {
43
29
  // ── Per-focus cycle counter ──────────────────────────────────────────
44
30
  /**
45
31
  * In-memory map of focus ID -> consecutive remediation cycles. Cycle
46
- * counts are not persisted to the database -- a daemon restart resets the
47
- * counter, which is acceptable because the bound exists to prevent runaway
48
- * loops within a single daemon lifetime, not across restarts.
49
- *
50
- * Exported for testability.
32
+ * counts are not persisted -- a daemon restart resets the counter, which
33
+ * is acceptable because the bound exists to prevent runaway loops within
34
+ * a single daemon lifetime, not across restarts.
51
35
  */
52
36
  const remediationCycles = new Map();
53
37
  export function getRemediationCycles(focusId) {
@@ -67,14 +51,11 @@ export function _resetAllRemediationCyclesForTest() {
67
51
  }
68
52
  // ── Issue classification ────────────────────────────────────────────────
69
53
  /**
70
- * Returns true when an issue was filed during the most recent review pass
71
- * on the given focus.
54
+ * Returns true when an issue was filed during the most recent review pass.
72
55
  *
73
56
  * An issue is "review-filed" when ALL of:
74
57
  * - It has a non-null created_by_role_id (excludes human/UI creates).
75
- * - Its created_at is later than the focus's review_requested_at
76
- * (or the focus is in `in_review` with no recorded request time --
77
- * covers manual review trigger).
58
+ * - Its created_at is later than the focus's review_requested_at.
78
59
  * - Its status is open (To Do / In Progress / Blocked).
79
60
  */
80
61
  export function isReviewFiledIssue(issue, reviewRequestedAt) {
@@ -82,28 +63,22 @@ export function isReviewFiledIssue(issue, reviewRequestedAt) {
82
63
  return false;
83
64
  if (!OPEN_ISSUE_STATUSES.has(issue.status))
84
65
  return false;
85
- if (!reviewRequestedAt) {
86
- // No review timestamp -- conservative: do not treat as review-filed.
66
+ if (!reviewRequestedAt)
87
67
  return false;
88
- }
89
68
  if (!issue.createdAt)
90
69
  return false;
91
70
  return new Date(issue.createdAt).getTime() >= new Date(reviewRequestedAt).getTime();
92
71
  }
93
72
  /**
94
73
  * Filter a focus's issues to only those that were filed during the most
95
- * recent review pass and are still open. Used to drive both the detector
96
- * (transition to building) and the re-entry check (return to in_review when
97
- * all are Done).
74
+ * recent review pass and are still open.
98
75
  */
99
76
  export function filterReviewFiledIssues(issues, reviewRequestedAt) {
100
77
  return issues.filter(i => isReviewFiledIssue(i, reviewRequestedAt));
101
78
  }
102
79
  /**
103
80
  * Returns true when there are any review-filed issues (open or closed)
104
- * since the most recent review pass. Used by the re-entry check: if there
105
- * were review-filed issues AND all of them are Done, the focus is
106
- * eligible to return to in_review.
81
+ * since the most recent review pass.
107
82
  */
108
83
  export function reviewFiledIssueExists(issues, reviewRequestedAt) {
109
84
  if (!reviewRequestedAt)
@@ -119,171 +94,4 @@ export function reviewFiledIssueExists(issues, reviewRequestedAt) {
119
94
  }
120
95
  return false;
121
96
  }
122
- const defaultDeps = {
123
- getActiveFocuses,
124
- getFocusDeliveries,
125
- getFocusIssues,
126
- updateFocusStatus,
127
- fetchFocusWorkflowWithTransitions,
128
- createEscalation: defaultCreateEscalation,
129
- };
130
- // ── Detector and re-entry ───────────────────────────────────────────────
131
- /**
132
- * For each active focus in `in_review` status, check whether any
133
- * review-filed issues remain open. If so, transition the focus back to
134
- * `building` and bump the remediation counter. When the counter exceeds
135
- * the bound, escalate instead of transitioning -- the team has been
136
- * stuck in a remediation loop and a human needs to intervene.
137
- *
138
- * Designed to be called from the daemon poll loop on every tick; it is
139
- * a no-op for strategies that don't satisfy the trigger conditions.
140
- */
141
- export async function detectAndHandleReviewDefects(config, deps = defaultDeps) {
142
- let strategies;
143
- try {
144
- strategies = await deps.getActiveFocuses(config.organizationId, config.productId);
145
- }
146
- catch (err) {
147
- console.warn('[review-defect-detector] Failed to fetch active strategies:', err.message);
148
- return;
149
- }
150
- for (const s of strategies) {
151
- if (s.status !== 'in_review')
152
- continue;
153
- try {
154
- const issues = await deps.getFocusIssues(s.focus_id);
155
- const reviewOpen = filterReviewFiledIssues(issues, s.review_requested_at ?? null);
156
- if (reviewOpen.length === 0)
157
- continue;
158
- const cycles = incrementRemediationCycles(s.focus_id);
159
- if (cycles > REVIEW_REMEDIATION_LIMIT) {
160
- console.warn(`[review-defect-detector] Remediation bound exceeded for "${s.focus_name}" ` +
161
- `(cycle ${cycles}/${REVIEW_REMEDIATION_LIMIT}); escalating`);
162
- await escalateReviewRemediation({
163
- organizationId: config.organizationId,
164
- focusId: s.focus_id,
165
- focusName: s.focus_name,
166
- cycles,
167
- openIssues: reviewOpen,
168
- }, deps);
169
- // Reset so a future review pass starts fresh after human intervention.
170
- resetRemediationCycles(s.focus_id);
171
- continue;
172
- }
173
- // Transition the focus from in_review back to building so the
174
- // focus executor's poll loop spawns a remediation team.
175
- const workflow = await deps.fetchFocusWorkflowWithTransitions(s.focus_id);
176
- const buildingStage = workflow.stages.find(st => st.name === 'building');
177
- try {
178
- await deps.updateFocusStatus(s.focus_id, 'building', buildingStage?.id ?? null);
179
- console.log(`[review-defect-detector] Focus "${s.focus_name}" -> building ` +
180
- `(${reviewOpen.length} review-filed issue(s) open, remediation cycle ${cycles}/${REVIEW_REMEDIATION_LIMIT})`);
181
- }
182
- catch (err) {
183
- console.warn(`[review-defect-detector] Failed to move "${s.focus_name}" to building: ${err.message}`);
184
- }
185
- }
186
- catch (err) {
187
- console.warn(`[review-defect-detector] Error checking focus "${s.focus_name}":`, err.message);
188
- }
189
- }
190
- }
191
- /**
192
- * For each active focus in `building` status that has had a review pass
193
- * (review_requested_at set) and review-filed issues since, check whether
194
- * all of those issues are now Done. If so, transition the focus back to
195
- * `verify` so the existing review pipeline can re-run and either close it
196
- * out or file new defects.
197
- *
198
- * Called alongside the detector; safe to invoke on every poll tick.
199
- */
200
- export async function detectAndHandleRemediationComplete(config, deps = defaultDeps) {
201
- let strategies;
202
- try {
203
- strategies = await deps.getActiveFocuses(config.organizationId, config.productId);
204
- }
205
- catch (err) {
206
- console.warn('[review-defect-detector] Failed to fetch active strategies:', err.message);
207
- return;
208
- }
209
- for (const s of strategies) {
210
- // Only act on strategies that were just remediating: status='building'
211
- // with a recorded review request.
212
- if (s.status !== 'building')
213
- continue;
214
- if (!s.review_requested_at)
215
- continue;
216
- try {
217
- const issues = await deps.getFocusIssues(s.focus_id);
218
- const allReviewFiled = issues.filter(i => i.createdByRoleId && i.createdAt &&
219
- new Date(i.createdAt).getTime() >= new Date(s.review_requested_at).getTime());
220
- if (allReviewFiled.length === 0)
221
- continue; // no remediation in progress
222
- const stillOpen = allReviewFiled.filter(i => OPEN_ISSUE_STATUSES.has(i.status));
223
- if (stillOpen.length > 0)
224
- continue; // still remediating
225
- // All review-filed issues are Done -- transition to verify so the
226
- // review pipeline re-runs.
227
- const workflow = await deps.fetchFocusWorkflowWithTransitions(s.focus_id);
228
- const verifyStage = workflow.stages.find(st => st.name === 'verify');
229
- await deps.updateFocusStatus(s.focus_id, 'verify', verifyStage?.id ?? null);
230
- console.log(`[review-defect-detector] Focus "${s.focus_name}" -> verify ` +
231
- `(${allReviewFiled.length} review-filed issue(s) all Done, remediation cycle complete)`);
232
- }
233
- catch (err) {
234
- console.warn(`[review-defect-detector] Error checking remediation completion for "${s.focus_name}":`, err.message);
235
- }
236
- }
237
- }
238
- /**
239
- * Escalate when remediation cycles exceed the configured bound. Surfaces
240
- * the issue list and a clear call to action so the human reviewer can
241
- * unblock the loop.
242
- */
243
- export async function escalateReviewRemediation(params, deps = defaultDeps) {
244
- const issueList = params.openIssues
245
- .slice(0, 25)
246
- .map(i => `- [${i.status}] ${i.key}: ${i.title}`)
247
- .join('\n');
248
- const overflow = params.openIssues.length > 25
249
- ? `\n(... and ${params.openIssues.length - 25} more)`
250
- : '';
251
- try {
252
- await withRetry(() => deps.createEscalation({
253
- organizationId: params.organizationId,
254
- sessionId: '',
255
- issueId: null,
256
- reasonType: ESCALATION_REASONS.BLOCKED_BY_EXTERNAL,
257
- description: `Focus "${params.focusName}" has cycled through review-defect remediation ` +
258
- `${params.cycles} time(s). Reason: ${REVIEW_REMEDIATION_ESCALATION_REASON}.\n\n` +
259
- `**Focus:** ${params.focusName}\n` +
260
- `**Focus ID:** ${params.focusId}\n` +
261
- `**Cycles:** ${params.cycles} (limit: ${REVIEW_REMEDIATION_LIMIT})\n\n` +
262
- `**Open review-filed issues (${params.openIssues.length}):**\n${issueList}${overflow}`,
263
- whatWasTried: `The daemon respawned remediation teams ${params.cycles} time(s) and the team ` +
264
- `was unable to close all review-filed defects between review passes.`,
265
- helpNeeded: `Review the open issues above. Either close out genuinely-blocked items, ` +
266
- `clarify acceptance criteria so the next remediation cycle can succeed, or ` +
267
- `cancel the focus if it is no longer viable.`,
268
- }), { maxAttempts: 3, label: `escalation-review-remediation-${params.focusId}` });
269
- console.log(`[review-defect-detector] Created remediation escalation for "${params.focusName}" ` +
270
- `(reason: ${REVIEW_REMEDIATION_ESCALATION_REASON})`);
271
- }
272
- catch (err) {
273
- console.error(`[review-defect-detector] Failed to create remediation escalation for "${params.focusName}": ${err.message}`);
274
- }
275
- }
276
- /**
277
- * Combined entry point: call both halves of the loop on each poll tick.
278
- *
279
- * Order matters slightly: handle remediation completion first (returns
280
- * Done strategies to verify) before the defect detector (kicks fresh
281
- * defects to building). Doing it in this order means a focus can flow
282
- * verify -> in_review -> building -> verify in a single cycle when work
283
- * is fast.
284
- */
285
- export async function tickReviewDefectLoop(config, deps = defaultDeps) {
286
- await detectAndHandleRemediationComplete(config, deps);
287
- await detectAndHandleReviewDefects(config, deps);
288
- }
289
97
  //# sourceMappingURL=review-defect-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-defect-detector.js","sourceRoot":"","sources":["../src/review-defect-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-defect-detector.js","sourceRoot":"","sources":["../src/review-defect-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,4EAA4E;AAE5E,iFAAiF;AACjF,MAAM,CAAC,MAAM,wBAAwB,GAAW,CAAC,GAAG,EAAE;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,EAAE,CAAC;AAEL,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,iCAAiC;IAC/C,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,2EAA2E;AAE3E;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAuE,EACvE,iBAAgC;IAEhC,IAAI,CAAC,KAAK,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;AACtF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAwB,EACxB,iBAAgC;IAEhC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAwB,EACxB,iBAAgC;IAEhC,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,CAAC,eAAe;YAAE,SAAS;QACjC,IAAI,CAAC,CAAC,CAAC,SAAS;YAAE,SAAS;QAC3B,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}