@urateam/core 0.1.31 → 0.1.33

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 (177) hide show
  1. package/dist/__tests__/agent-stream.test.js +35 -1
  2. package/dist/__tests__/agent-stream.test.js.map +1 -1
  3. package/dist/__tests__/audit-immutability.test.js +7 -1
  4. package/dist/__tests__/audit-immutability.test.js.map +1 -1
  5. package/dist/__tests__/auth-monitor.test.d.ts +2 -0
  6. package/dist/__tests__/auth-monitor.test.d.ts.map +1 -0
  7. package/dist/__tests__/auth-monitor.test.js +253 -0
  8. package/dist/__tests__/auth-monitor.test.js.map +1 -0
  9. package/dist/__tests__/bec-186-repro.test.d.ts +16 -0
  10. package/dist/__tests__/bec-186-repro.test.d.ts.map +1 -0
  11. package/dist/__tests__/bec-186-repro.test.js +223 -0
  12. package/dist/__tests__/bec-186-repro.test.js.map +1 -0
  13. package/dist/__tests__/control-signals.test.d.ts +2 -0
  14. package/dist/__tests__/control-signals.test.d.ts.map +1 -0
  15. package/dist/__tests__/control-signals.test.js +77 -0
  16. package/dist/__tests__/control-signals.test.js.map +1 -0
  17. package/dist/__tests__/db-migrations.test.d.ts +2 -0
  18. package/dist/__tests__/db-migrations.test.d.ts.map +1 -0
  19. package/dist/__tests__/db-migrations.test.js +237 -0
  20. package/dist/__tests__/db-migrations.test.js.map +1 -0
  21. package/dist/__tests__/executor-issue-id.test.js +2 -0
  22. package/dist/__tests__/executor-issue-id.test.js.map +1 -1
  23. package/dist/__tests__/pm-slack-interface.test.js +45 -0
  24. package/dist/__tests__/pm-slack-interface.test.js.map +1 -1
  25. package/dist/__tests__/pm-triage.test.js +101 -0
  26. package/dist/__tests__/pm-triage.test.js.map +1 -1
  27. package/dist/__tests__/post-fanout-comments.test.js +36 -0
  28. package/dist/__tests__/post-fanout-comments.test.js.map +1 -1
  29. package/dist/__tests__/preflight-claude-auth.test.d.ts +2 -0
  30. package/dist/__tests__/preflight-claude-auth.test.d.ts.map +1 -0
  31. package/dist/__tests__/preflight-claude-auth.test.js +36 -0
  32. package/dist/__tests__/preflight-claude-auth.test.js.map +1 -0
  33. package/dist/__tests__/resolve-claude-auth.test.d.ts +2 -0
  34. package/dist/__tests__/resolve-claude-auth.test.d.ts.map +1 -0
  35. package/dist/__tests__/resolve-claude-auth.test.js +129 -0
  36. package/dist/__tests__/resolve-claude-auth.test.js.map +1 -0
  37. package/dist/__tests__/stage-models.test.js +4 -0
  38. package/dist/__tests__/stage-models.test.js.map +1 -1
  39. package/dist/__tests__/util-linear.test.d.ts +10 -0
  40. package/dist/__tests__/util-linear.test.d.ts.map +1 -0
  41. package/dist/__tests__/util-linear.test.js +244 -0
  42. package/dist/__tests__/util-linear.test.js.map +1 -0
  43. package/dist/audit/events.d.ts +37 -0
  44. package/dist/audit/events.d.ts.map +1 -1
  45. package/dist/audit/events.js +53 -0
  46. package/dist/audit/events.js.map +1 -1
  47. package/dist/db/client.d.ts.map +1 -1
  48. package/dist/db/client.js +8 -0
  49. package/dist/db/client.js.map +1 -1
  50. package/dist/db/migrations/postgres/014_missing_indexes.sql +28 -0
  51. package/dist/db/migrations/sqlite/013_missing_indexes.sql +28 -0
  52. package/dist/executor/agent-stream.d.ts +16 -0
  53. package/dist/executor/agent-stream.d.ts.map +1 -1
  54. package/dist/executor/agent-stream.js +43 -1
  55. package/dist/executor/agent-stream.js.map +1 -1
  56. package/dist/executor/auth-check.d.ts +39 -0
  57. package/dist/executor/auth-check.d.ts.map +1 -1
  58. package/dist/executor/auth-check.js +31 -0
  59. package/dist/executor/auth-check.js.map +1 -1
  60. package/dist/executor/auth-monitor.d.ts +40 -0
  61. package/dist/executor/auth-monitor.d.ts.map +1 -0
  62. package/dist/executor/auth-monitor.js +114 -0
  63. package/dist/executor/auth-monitor.js.map +1 -0
  64. package/dist/executor/executor.d.ts.map +1 -1
  65. package/dist/executor/executor.js +7 -2
  66. package/dist/executor/executor.js.map +1 -1
  67. package/dist/executor/index.d.ts +2 -0
  68. package/dist/executor/index.d.ts.map +1 -1
  69. package/dist/executor/index.js +2 -0
  70. package/dist/executor/index.js.map +1 -1
  71. package/dist/executor/review/post-fanout-comments.d.ts +8 -0
  72. package/dist/executor/review/post-fanout-comments.d.ts.map +1 -1
  73. package/dist/executor/review/post-fanout-comments.js +23 -3
  74. package/dist/executor/review/post-fanout-comments.js.map +1 -1
  75. package/dist/index.d.ts +3 -1
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +3 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/notifier/composite.d.ts +1 -0
  80. package/dist/notifier/composite.d.ts.map +1 -1
  81. package/dist/notifier/composite.js +3 -0
  82. package/dist/notifier/composite.js.map +1 -1
  83. package/dist/notifier/linear.d.ts +1 -0
  84. package/dist/notifier/linear.d.ts.map +1 -1
  85. package/dist/notifier/linear.js +7 -0
  86. package/dist/notifier/linear.js.map +1 -1
  87. package/dist/pipeline/control-signals.d.ts +49 -0
  88. package/dist/pipeline/control-signals.d.ts.map +1 -0
  89. package/dist/pipeline/control-signals.js +93 -0
  90. package/dist/pipeline/control-signals.js.map +1 -0
  91. package/dist/pipeline/feedback-pipeline.d.ts +140 -0
  92. package/dist/pipeline/feedback-pipeline.d.ts.map +1 -0
  93. package/dist/pipeline/feedback-pipeline.js +427 -0
  94. package/dist/pipeline/feedback-pipeline.js.map +1 -0
  95. package/dist/pipeline/index.d.ts +1 -0
  96. package/dist/pipeline/index.d.ts.map +1 -1
  97. package/dist/pipeline/index.js +1 -0
  98. package/dist/pipeline/index.js.map +1 -1
  99. package/dist/pipeline/runner.d.ts +49 -33
  100. package/dist/pipeline/runner.d.ts.map +1 -1
  101. package/dist/pipeline/runner.js +143 -350
  102. package/dist/pipeline/runner.js.map +1 -1
  103. package/dist/pm/actions/promote.d.ts.map +1 -1
  104. package/dist/pm/actions/promote.js +15 -11
  105. package/dist/pm/actions/promote.js.map +1 -1
  106. package/dist/pm/actions/recover-stuck.d.ts.map +1 -1
  107. package/dist/pm/actions/recover-stuck.js +9 -5
  108. package/dist/pm/actions/recover-stuck.js.map +1 -1
  109. package/dist/pm/actions/triage.d.ts.map +1 -1
  110. package/dist/pm/actions/triage.js +67 -1
  111. package/dist/pm/actions/triage.js.map +1 -1
  112. package/dist/pm/linear-helpers.d.ts +10 -0
  113. package/dist/pm/linear-helpers.d.ts.map +1 -1
  114. package/dist/pm/linear-helpers.js +13 -21
  115. package/dist/pm/linear-helpers.js.map +1 -1
  116. package/dist/pm/pause-state.d.ts +29 -0
  117. package/dist/pm/pause-state.d.ts.map +1 -0
  118. package/dist/pm/pause-state.js +34 -0
  119. package/dist/pm/pause-state.js.map +1 -0
  120. package/dist/pm/scheduler.d.ts.map +1 -1
  121. package/dist/pm/scheduler.js +19 -0
  122. package/dist/pm/scheduler.js.map +1 -1
  123. package/dist/pm/slack-bulk.d.ts +34 -0
  124. package/dist/pm/slack-bulk.d.ts.map +1 -0
  125. package/dist/pm/slack-bulk.js +110 -0
  126. package/dist/pm/slack-bulk.js.map +1 -0
  127. package/dist/pm/slack-commands.d.ts +101 -0
  128. package/dist/pm/slack-commands.d.ts.map +1 -0
  129. package/dist/pm/slack-commands.js +309 -0
  130. package/dist/pm/slack-commands.js.map +1 -0
  131. package/dist/pm/slack-helpers.d.ts +10 -0
  132. package/dist/pm/slack-helpers.d.ts.map +1 -1
  133. package/dist/pm/slack-helpers.js +32 -0
  134. package/dist/pm/slack-helpers.js.map +1 -1
  135. package/dist/pm/slack-interface.d.ts +32 -58
  136. package/dist/pm/slack-interface.d.ts.map +1 -1
  137. package/dist/pm/slack-interface.js +150 -320
  138. package/dist/pm/slack-interface.js.map +1 -1
  139. package/dist/rbac/matrix.d.ts +2 -0
  140. package/dist/rbac/matrix.d.ts.map +1 -1
  141. package/dist/rbac/matrix.js +2 -0
  142. package/dist/rbac/matrix.js.map +1 -1
  143. package/dist/release-manager/index.d.ts +2 -0
  144. package/dist/release-manager/index.d.ts.map +1 -1
  145. package/dist/release-manager/index.js +2 -0
  146. package/dist/release-manager/index.js.map +1 -1
  147. package/dist/release-manager/release-helpers.d.ts +112 -0
  148. package/dist/release-manager/release-helpers.d.ts.map +1 -0
  149. package/dist/release-manager/release-helpers.js +164 -0
  150. package/dist/release-manager/release-helpers.js.map +1 -0
  151. package/dist/release-manager/release-tick.d.ts +101 -0
  152. package/dist/release-manager/release-tick.d.ts.map +1 -0
  153. package/dist/release-manager/release-tick.js +374 -0
  154. package/dist/release-manager/release-tick.js.map +1 -0
  155. package/dist/release-manager/scheduler.d.ts +28 -3
  156. package/dist/release-manager/scheduler.d.ts.map +1 -1
  157. package/dist/release-manager/scheduler.js +41 -417
  158. package/dist/release-manager/scheduler.js.map +1 -1
  159. package/dist/server.d.ts.map +1 -1
  160. package/dist/server.js +10 -0
  161. package/dist/server.js.map +1 -1
  162. package/dist/sync/gh-linear-sync.d.ts.map +1 -1
  163. package/dist/sync/gh-linear-sync.js +2 -2
  164. package/dist/sync/gh-linear-sync.js.map +1 -1
  165. package/dist/types.d.ts +22 -4
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/types.js +10 -0
  168. package/dist/types.js.map +1 -1
  169. package/dist/util/linear.d.ts +70 -0
  170. package/dist/util/linear.d.ts.map +1 -0
  171. package/dist/util/linear.js +108 -0
  172. package/dist/util/linear.js.map +1 -0
  173. package/dist/webhook/github-handler.d.ts +7 -1
  174. package/dist/webhook/github-handler.d.ts.map +1 -1
  175. package/dist/webhook/github-handler.js +82 -38
  176. package/dist/webhook/github-handler.js.map +1 -1
  177. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"slack-interface.js","sourceRoot":"","sources":["../../src/pm/slack-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-interface.js","sourceRoot":"","sources":["../../src/pm/slack-interface.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { Role } from "./types.js";
2
2
  export declare const PERMISSION_MATRIX: {
3
3
  readonly "runs.view": readonly ["admin", "operator", "viewer"];
4
4
  readonly "runs.retry": readonly ["admin", "operator"];
5
+ readonly "runs.stop": readonly ["admin", "operator"];
6
+ readonly "system.halt": readonly ["admin", "operator"];
5
7
  readonly "tokens.view": readonly ["admin", "operator", "viewer"];
6
8
  readonly "audit.view": readonly ["admin", "operator"];
7
9
  readonly "audit.export": readonly ["admin", "operator"];
@@ -1 +1 @@
1
- {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/rbac/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAasB,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CASpE"}
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/rbac/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;CAesB,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CASpE"}
@@ -4,6 +4,8 @@ const log = createLogger({ component: "rbac" });
4
4
  export const PERMISSION_MATRIX = {
5
5
  "runs.view": ["admin", "operator", "viewer"],
6
6
  "runs.retry": ["admin", "operator"],
7
+ "runs.stop": ["admin", "operator"],
8
+ "system.halt": ["admin", "operator"],
7
9
  "tokens.view": ["admin", "operator", "viewer"],
8
10
  "audit.view": ["admin", "operator"],
9
11
  "audit.export": ["admin", "operator"],
@@ -1 +1 @@
1
- {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/rbac/matrix.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAU,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpD,YAAY,EAAS,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpD,YAAY,EAAS,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,cAAc,EAAO,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,WAAW,EAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpD,mBAAmB,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,CAAC;IAC9B,YAAY,EAAS,CAAC,OAAO,CAAC;IAC9B,cAAc,EAAO,CAAC,OAAO,CAAC;CACoB,CAAC;AAIrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,MAAqB;IACzD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CACN,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,wEAAwE,CACzE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAQ,iBAAiB,CAAC,MAAM,CAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/rbac/matrix.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAU,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpD,YAAY,EAAS,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,WAAW,EAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpD,YAAY,EAAS,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,cAAc,EAAO,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,WAAW,EAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpD,mBAAmB,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C,aAAa,EAAQ,CAAC,OAAO,CAAC;IAC9B,YAAY,EAAS,CAAC,OAAO,CAAC;IAC9B,cAAc,EAAO,CAAC,OAAO,CAAC;CACoB,CAAC;AAIrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,MAAqB;IACzD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CACN,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,wEAAwE,CACzE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAQ,iBAAiB,CAAC,MAAM,CAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC"}
@@ -5,5 +5,7 @@ export * from "./versioning.js";
5
5
  export * from "./github.js";
6
6
  export * from "./state.js";
7
7
  export * from "./slack-handler.js";
8
+ export * from "./release-helpers.js";
9
+ export * from "./release-tick.js";
8
10
  export * from "./scheduler.js";
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/release-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/release-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -5,5 +5,7 @@ export * from "./versioning.js";
5
5
  export * from "./github.js";
6
6
  export * from "./state.js";
7
7
  export * from "./slack-handler.js";
8
+ export * from "./release-helpers.js";
9
+ export * from "./release-tick.js";
8
10
  export * from "./scheduler.js";
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/release-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/release-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,112 @@
1
+ import type { LinearClient } from "@linear/sdk";
2
+ import type { AnyDb } from "../db/client.js";
3
+ /** Minimal Slack client interface required by the release manager. */
4
+ export interface SlackPoster {
5
+ postMessage: (channel: string, text: string) => Promise<boolean>;
6
+ }
7
+ /**
8
+ * Mutable Slack dedup state shared between ticks.
9
+ *
10
+ * Both `lastSkipReason` and `lastPostAt` are mutated in-place by
11
+ * `maybePostSlack` on a successful post, and by the tick orchestrator when
12
+ * transitioning to fire or awaiting-approval.
13
+ */
14
+ export interface SlackDedupState {
15
+ /** Skip-reason string from the last successful Slack post, or null. */
16
+ lastSkipReason: string | null;
17
+ /** Epoch-ms timestamp of the last successful Slack post. */
18
+ lastPostAt: number;
19
+ }
20
+ /**
21
+ * Maximum consecutive QA-related retry attempts before escalating to a
22
+ * permanent skip reason (e.g. `"qa_dispatch_error"` or `"qa_gap_file_error"`).
23
+ */
24
+ export declare const MAX_QA_RETRY_ATTEMPTS = 3;
25
+ /**
26
+ * Post a Slack message, deduplicating same-reason posts within 24 hours.
27
+ *
28
+ * - When `currentSkipReason` is non-null: suppresses the post if the same
29
+ * reason was posted within `SLACK_DEDUP_WINDOW_MS`.
30
+ * - When `currentSkipReason` is null (fire / awaiting-approval transitions):
31
+ * always posts regardless of the dedup window.
32
+ *
33
+ * Mutates `dedupState.lastPostAt` and `dedupState.lastSkipReason` on success.
34
+ * Writes a `slackPostFailedEvent` audit entry if `postMessage` returns false.
35
+ */
36
+ export declare function maybePostSlack(slack: SlackPoster | undefined, slackChannel: string | undefined, db: AnyDb, dedupState: SlackDedupState, text: string, currentSkipReason: string | null): Promise<void>;
37
+ /**
38
+ * Persist a release decision row to the `release_decisions` table.
39
+ *
40
+ * @param db - Database client.
41
+ * @param repoUrl - Repository URL (used as the partition key).
42
+ * @param branch - Branch name being managed.
43
+ * @param row - Decision fields. `attemptCount` defaults to 0 when omitted.
44
+ */
45
+ export declare function persistDecision(db: AnyDb, repoUrl: string, branch: string, row: {
46
+ id: string;
47
+ decision: string;
48
+ reason: string;
49
+ triggerStateJson: string;
50
+ proposedVersion?: string;
51
+ firedTag?: string;
52
+ firedSha?: string;
53
+ attemptCount?: number;
54
+ qaRunId?: number;
55
+ qaRunSha?: string;
56
+ }): Promise<void>;
57
+ /**
58
+ * Mark the most-recent un-consumed approval row for `(repoUrl, branch)` as
59
+ * consumed by `decisionId`.
60
+ *
61
+ * No-op when no fresh approval exists (e.g. approval was already consumed by a
62
+ * concurrent tick or the approval row was deleted manually).
63
+ */
64
+ export declare function consumeApprovalRow(db: AnyDb, repoUrl: string, branch: string, decisionId: string): Promise<void>;
65
+ /**
66
+ * Query the highest `attemptCount` stored for a given `(repoUrl, branch, reason)` triple.
67
+ *
68
+ * Uses `MAX(attemptCount)` rather than `ORDER BY + LIMIT 1` to be stable when
69
+ * multiple rows share the same `decidedAt` timestamp (e.g. rapid consecutive ticks).
70
+ *
71
+ * @param db - Database client.
72
+ * @param repoUrl - Repository URL.
73
+ * @param branch - Branch name.
74
+ * @param reason - The `reason` column value to filter on (e.g. `"qa_needs_trigger"`).
75
+ * @param qaRunSha - Optional: when supplied, further filters to rows with this `qaRunSha`.
76
+ * Use when tracking retry attempts for a specific commit SHA.
77
+ * @returns The maximum attempt count found, or `0` when no matching rows exist.
78
+ */
79
+ export declare function getMaxAttemptCountForReason(db: AnyDb, repoUrl: string, branch: string, reason: string, qaRunSha?: string): Promise<number>;
80
+ /**
81
+ * File a QA gap issue via Linear and handle transient filing errors.
82
+ *
83
+ * Wraps `fileGapIssue` with attempt-count tracking. On a `linear_error` response,
84
+ * increments the per-`(repoUrl, branch, "qa_no_workflow")` attempt counter and
85
+ * escalates `finalReason` to `"qa_gap_file_error"` once `MAX_QA_RETRY_ATTEMPTS`
86
+ * consecutive failures have occurred.
87
+ *
88
+ * On success (`"filed"` or `"already_filed"`), returns
89
+ * `{ finalReason: "qa_no_workflow", attemptCount: 0 }` — the attempt counter
90
+ * resets to 0 to signal that no error has been seen for this filing.
91
+ *
92
+ * @param params.db - Database client.
93
+ * @param params.linear - Linear client (required; caller is responsible for the
94
+ * `if (linear)` guard before calling this helper).
95
+ * @param params.repoUrl - Repository URL.
96
+ * @param params.branch - Branch name.
97
+ * @param params.workflowPath - Configured QA workflow file path (e.g. `".github/workflows/smoke.yml"`).
98
+ * @param params.linearTeamId - Linear team ID to file the gap issue into.
99
+ * @returns `{ finalReason, attemptCount }` for use in the decision row.
100
+ */
101
+ export declare function tryFileQaGapIssue(params: {
102
+ db: AnyDb;
103
+ linear: LinearClient;
104
+ repoUrl: string;
105
+ branch: string;
106
+ workflowPath: string;
107
+ linearTeamId: string;
108
+ }): Promise<{
109
+ finalReason: string;
110
+ attemptCount: number;
111
+ }>;
112
+ //# sourceMappingURL=release-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-helpers.d.ts","sourceRoot":"","sources":["../../src/release-manager/release-helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAS7C,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClE;AAKD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,EAAE,EAAE,KAAK,EACT,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE;IACH,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAYzD"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * release-helpers.ts
3
+ *
4
+ * Responsibility: persistence and Slack notification helpers for the release manager.
5
+ *
6
+ * Exports:
7
+ * - SlackPoster — interface for the injectable Slack client
8
+ * - SlackDedupState — mutable dedup counters passed between ticks
9
+ * - MAX_QA_RETRY_ATTEMPTS — threshold before escalating to a permanent skip reason
10
+ * - maybePostSlack — post to Slack with 24-hour same-reason dedup
11
+ * - persistDecision — write a release_decisions row
12
+ * - consumeApprovalRow — mark the most-recent fresh approval as consumed
13
+ * - getMaxAttemptCountForReason — query the highest attempt count for a (repo, branch, reason) triple
14
+ * - tryFileQaGapIssue — file a QA gap issue via Linear and handle transient errors
15
+ */
16
+ import { and, desc, eq, isNull, max } from "drizzle-orm";
17
+ import { releaseApprovals, releaseDecisions } from "../db/schema.js";
18
+ import { logAuditEventUnchecked } from "../audit/writer.js";
19
+ import { slackPostFailedEvent } from "../audit/events.js";
20
+ import { createLogger } from "../logger.js";
21
+ import { fileGapIssue } from "../qa/gap.js";
22
+ const log = createLogger({ component: "ReleaseManager:helpers" });
23
+ /** 24-hour dedup window — same reason within this window is suppressed. */
24
+ const SLACK_DEDUP_WINDOW_MS = 24 * 3600 * 1000;
25
+ /**
26
+ * Maximum consecutive QA-related retry attempts before escalating to a
27
+ * permanent skip reason (e.g. `"qa_dispatch_error"` or `"qa_gap_file_error"`).
28
+ */
29
+ export const MAX_QA_RETRY_ATTEMPTS = 3;
30
+ /**
31
+ * Post a Slack message, deduplicating same-reason posts within 24 hours.
32
+ *
33
+ * - When `currentSkipReason` is non-null: suppresses the post if the same
34
+ * reason was posted within `SLACK_DEDUP_WINDOW_MS`.
35
+ * - When `currentSkipReason` is null (fire / awaiting-approval transitions):
36
+ * always posts regardless of the dedup window.
37
+ *
38
+ * Mutates `dedupState.lastPostAt` and `dedupState.lastSkipReason` on success.
39
+ * Writes a `slackPostFailedEvent` audit entry if `postMessage` returns false.
40
+ */
41
+ export async function maybePostSlack(slack, slackChannel, db, dedupState, text, currentSkipReason) {
42
+ if (!slack || !slackChannel)
43
+ return;
44
+ const now = Date.now();
45
+ // Always post when transitioning to fire / awaiting-approval.
46
+ // Otherwise dedup: same reason + within window → suppress.
47
+ if (currentSkipReason) {
48
+ const sameReason = currentSkipReason === dedupState.lastSkipReason;
49
+ const withinWindow = now - dedupState.lastPostAt < SLACK_DEDUP_WINDOW_MS;
50
+ if (sameReason && withinWindow)
51
+ return;
52
+ }
53
+ const ok = await slack.postMessage(slackChannel, text).catch(() => false);
54
+ if (!ok) {
55
+ void logAuditEventUnchecked(db, slackPostFailedEvent({ channel: slackChannel, reason: "post_returned_false" }));
56
+ return;
57
+ }
58
+ dedupState.lastPostAt = now;
59
+ dedupState.lastSkipReason = currentSkipReason;
60
+ }
61
+ /**
62
+ * Persist a release decision row to the `release_decisions` table.
63
+ *
64
+ * @param db - Database client.
65
+ * @param repoUrl - Repository URL (used as the partition key).
66
+ * @param branch - Branch name being managed.
67
+ * @param row - Decision fields. `attemptCount` defaults to 0 when omitted.
68
+ */
69
+ export async function persistDecision(db, repoUrl, branch, row) {
70
+ await db.insert(releaseDecisions).values({
71
+ id: row.id,
72
+ repoUrl,
73
+ branch,
74
+ decidedAt: new Date(),
75
+ decision: row.decision,
76
+ reason: row.reason,
77
+ triggerStateJson: row.triggerStateJson,
78
+ proposedVersion: row.proposedVersion,
79
+ firedTag: row.firedTag,
80
+ firedSha: row.firedSha,
81
+ attemptCount: row.attemptCount ?? 0,
82
+ qaRunId: row.qaRunId,
83
+ qaRunSha: row.qaRunSha,
84
+ });
85
+ }
86
+ /**
87
+ * Mark the most-recent un-consumed approval row for `(repoUrl, branch)` as
88
+ * consumed by `decisionId`.
89
+ *
90
+ * No-op when no fresh approval exists (e.g. approval was already consumed by a
91
+ * concurrent tick or the approval row was deleted manually).
92
+ */
93
+ export async function consumeApprovalRow(db, repoUrl, branch, decisionId) {
94
+ const fresh = await db
95
+ .select({ id: releaseApprovals.id })
96
+ .from(releaseApprovals)
97
+ .where(and(eq(releaseApprovals.repoUrl, repoUrl), eq(releaseApprovals.branch, branch), isNull(releaseApprovals.consumedAt)))
98
+ .orderBy(desc(releaseApprovals.approvedAt))
99
+ .limit(1);
100
+ if (fresh?.[0]?.id) {
101
+ await db
102
+ .update(releaseApprovals)
103
+ .set({ consumedAt: new Date(), consumedByDecisionId: decisionId })
104
+ .where(eq(releaseApprovals.id, fresh[0].id));
105
+ }
106
+ }
107
+ /**
108
+ * Query the highest `attemptCount` stored for a given `(repoUrl, branch, reason)` triple.
109
+ *
110
+ * Uses `MAX(attemptCount)` rather than `ORDER BY + LIMIT 1` to be stable when
111
+ * multiple rows share the same `decidedAt` timestamp (e.g. rapid consecutive ticks).
112
+ *
113
+ * @param db - Database client.
114
+ * @param repoUrl - Repository URL.
115
+ * @param branch - Branch name.
116
+ * @param reason - The `reason` column value to filter on (e.g. `"qa_needs_trigger"`).
117
+ * @param qaRunSha - Optional: when supplied, further filters to rows with this `qaRunSha`.
118
+ * Use when tracking retry attempts for a specific commit SHA.
119
+ * @returns The maximum attempt count found, or `0` when no matching rows exist.
120
+ */
121
+ export async function getMaxAttemptCountForReason(db, repoUrl, branch, reason, qaRunSha) {
122
+ const rows = await db
123
+ .select({ maxAttempts: max(releaseDecisions.attemptCount) })
124
+ .from(releaseDecisions)
125
+ .where(qaRunSha !== undefined
126
+ ? and(eq(releaseDecisions.repoUrl, repoUrl), eq(releaseDecisions.branch, branch), eq(releaseDecisions.reason, reason), eq(releaseDecisions.qaRunSha, qaRunSha))
127
+ : and(eq(releaseDecisions.repoUrl, repoUrl), eq(releaseDecisions.branch, branch), eq(releaseDecisions.reason, reason)));
128
+ return rows?.[0]?.maxAttempts ?? 0;
129
+ }
130
+ /**
131
+ * File a QA gap issue via Linear and handle transient filing errors.
132
+ *
133
+ * Wraps `fileGapIssue` with attempt-count tracking. On a `linear_error` response,
134
+ * increments the per-`(repoUrl, branch, "qa_no_workflow")` attempt counter and
135
+ * escalates `finalReason` to `"qa_gap_file_error"` once `MAX_QA_RETRY_ATTEMPTS`
136
+ * consecutive failures have occurred.
137
+ *
138
+ * On success (`"filed"` or `"already_filed"`), returns
139
+ * `{ finalReason: "qa_no_workflow", attemptCount: 0 }` — the attempt counter
140
+ * resets to 0 to signal that no error has been seen for this filing.
141
+ *
142
+ * @param params.db - Database client.
143
+ * @param params.linear - Linear client (required; caller is responsible for the
144
+ * `if (linear)` guard before calling this helper).
145
+ * @param params.repoUrl - Repository URL.
146
+ * @param params.branch - Branch name.
147
+ * @param params.workflowPath - Configured QA workflow file path (e.g. `".github/workflows/smoke.yml"`).
148
+ * @param params.linearTeamId - Linear team ID to file the gap issue into.
149
+ * @returns `{ finalReason, attemptCount }` for use in the decision row.
150
+ */
151
+ export async function tryFileQaGapIssue(params) {
152
+ const { db, linear, repoUrl, branch, workflowPath, linearTeamId } = params;
153
+ const gapResult = await fileGapIssue({ db, linear, repoUrl, branch, workflowPath, linearTeamId });
154
+ if (gapResult.kind !== "linear_error") {
155
+ // Filed or already-filed — reset attempt counter for this gap-filing loop.
156
+ return { finalReason: "qa_no_workflow", attemptCount: 0 };
157
+ }
158
+ const prevCount = await getMaxAttemptCountForReason(db, repoUrl, branch, "qa_no_workflow");
159
+ const attemptCount = prevCount + 1;
160
+ const finalReason = attemptCount >= MAX_QA_RETRY_ATTEMPTS ? "qa_gap_file_error" : "qa_no_workflow";
161
+ log.error({ err: gapResult.message, repoUrl, branch }, "fileGapIssue failed; will retry");
162
+ return { finalReason, attemptCount };
163
+ }
164
+ //# sourceMappingURL=release-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-helpers.js","sourceRoot":"","sources":["../../src/release-manager/release-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import type { Octokit } from "@octokit/rest";
2
+ import type { LinearClient } from "@linear/sdk";
3
+ import type { AnyDb } from "../db/client.js";
4
+ import type { ReleaseManagerConfig } from "./types.js";
5
+ import type { SlackPoster, SlackDedupState } from "./release-helpers.js";
6
+ /**
7
+ * Mutable per-instance state that persists across tick invocations.
8
+ *
9
+ * The scheduler factory constructs exactly one `TickMutableState` per
10
+ * `createReleaseManagerScheduler` call and passes it through `TickContext` to
11
+ * every `tick()` call. The tick function reads and writes this object in-place.
12
+ */
13
+ export interface TickMutableState {
14
+ /** Slack dedup counters — tracks reason + timestamp of last successful post. */
15
+ slackDedup: SlackDedupState;
16
+ /**
17
+ * True once the "release-manager unlicensed" warning has been logged,
18
+ * preventing repeated log spam on every unlicensed tick.
19
+ */
20
+ licenseWarnLogged: boolean;
21
+ /**
22
+ * Set of QA workflow run IDs whose completion has already been audited.
23
+ * Prevents duplicate `qa.run_completed` audit events when the same run ID
24
+ * appears across multiple ticks.
25
+ *
26
+ * Bounded to `MAX_AUDITED_RUN_IDS` entries — evicted (cleared) when the
27
+ * threshold is exceeded to prevent unbounded memory growth in long-running
28
+ * deployments.
29
+ */
30
+ auditedCompletedRunIds: Set<number>;
31
+ /**
32
+ * Epoch-ms timestamp until which the scheduler is paused (via `/release skip`).
33
+ * Zero means not paused.
34
+ */
35
+ pausedUntilTs: number;
36
+ }
37
+ /**
38
+ * All dependencies and configuration needed to run a single release-manager tick.
39
+ *
40
+ * The scheduler constructs a `TickContext` once at startup and passes it to every
41
+ * `tick()` invocation rather than relying on closure variables. This makes the
42
+ * state machine independently testable and explicit about its dependencies.
43
+ *
44
+ * @field config - Full release-manager configuration for this repo/branch pair.
45
+ * @field db - Database client (SQLite dev / Postgres prod).
46
+ * @field octokit - GitHub REST API client.
47
+ * @field linear - Linear client for filing QA gap issues. Required when
48
+ * `config.triggers.qaCheck` is configured.
49
+ * @field repoUrl - HTTPS URL of the repository (e.g. "https://github.com/org/repo").
50
+ * @field branch - Branch name being managed (e.g. "main").
51
+ * @field isLicensed - Injectable license check — returns true when
52
+ * "release-manager" feature is licensed.
53
+ * @field slack - Optional Slack client for posting release notifications.
54
+ * @field mutableState - Per-instance state shared across ticks. Updated in-place.
55
+ */
56
+ export interface TickContext {
57
+ /** Full release-manager configuration for this repo/branch pair. */
58
+ config: ReleaseManagerConfig;
59
+ /** Database client (SQLite or Postgres). */
60
+ db: AnyDb;
61
+ /** GitHub REST API client. */
62
+ octokit: Octokit;
63
+ /**
64
+ * Linear client for filing QA gap issues.
65
+ * Required when `config.triggers.qaCheck` is configured.
66
+ */
67
+ linear?: LinearClient;
68
+ /** HTTPS URL of the repository (e.g. "https://github.com/org/repo"). */
69
+ repoUrl: string;
70
+ /** Branch name being managed (e.g. "main"). */
71
+ branch: string;
72
+ /** Injectable license check — returns true when "release-manager" feature is licensed. */
73
+ isLicensed: () => boolean;
74
+ /** Optional Slack client for posting release notifications. */
75
+ slack?: SlackPoster;
76
+ /**
77
+ * Mutable per-instance state shared across ticks.
78
+ * Updated in-place by `tick()` to persist dedup counters, pause state, etc.
79
+ */
80
+ mutableState: TickMutableState;
81
+ }
82
+ /**
83
+ * Execute a single release-manager decision cycle.
84
+ *
85
+ * Orchestrates the full state machine:
86
+ * 1. License check and pause gate.
87
+ * 2. Collect world state (branch HEAD, tags, CI, approvals, QA run).
88
+ * 3. Manual-tag detection (re-baseline).
89
+ * 4. QA workflow check — trigger, poll, or file gap issue as needed.
90
+ * 5. Decide (skip / awaiting-approval / fire).
91
+ * 6. On skip: persist decision, emit audit event, post Slack with dedup.
92
+ * 7. On awaiting-approval: persist decision, post Slack prompt.
93
+ * 8. On fire: create Git tag + GitHub release, persist decision, post Slack.
94
+ *
95
+ * All dependencies arrive through `ctx`; no closure variables are read or written.
96
+ * Mutable inter-tick state is stored in `ctx.mutableState` and updated in-place.
97
+ *
98
+ * @param ctx - All dependencies and mutable state for this tick invocation.
99
+ */
100
+ export declare function tick(ctx: TickContext): Promise<void>;
101
+ //# sourceMappingURL=release-tick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-tick.d.ts","sourceRoot":"","sources":["../../src/release-manager/release-tick.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAc7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAWvD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAazE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,UAAU,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;;;OAQG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,MAAM,EAAE,oBAAoB,CAAC;IAC7B,4CAA4C;IAC5C,EAAE,EAAE,KAAK,CAAC;IACV,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,YAAY,EAAE,gBAAgB,CAAC;CAChC;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4W1D"}