@superblocksteam/shared 0.9613.2 → 0.9614.1

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 (203) hide show
  1. package/dist/database-lifecycle/destructiveMigrations.d.ts +18 -0
  2. package/dist/database-lifecycle/destructiveMigrations.d.ts.map +1 -1
  3. package/dist/database-lifecycle/destructiveMigrations.js.map +1 -1
  4. package/dist/database-lifecycle/index.d.ts +8 -1
  5. package/dist/database-lifecycle/index.d.ts.map +1 -1
  6. package/dist/database-lifecycle/index.js +2 -1
  7. package/dist/database-lifecycle/index.js.map +1 -1
  8. package/dist/dbfs/types.d.ts +1 -0
  9. package/dist/dbfs/types.d.ts.map +1 -1
  10. package/dist/dbfs/types.js +14 -3
  11. package/dist/dbfs/types.js.map +1 -1
  12. package/dist/errors/http.d.ts +5 -3
  13. package/dist/errors/http.d.ts.map +1 -1
  14. package/dist/errors/http.js +9 -5
  15. package/dist/errors/http.js.map +1 -1
  16. package/dist/types/ai/index.d.ts +1 -0
  17. package/dist/types/ai/index.d.ts.map +1 -1
  18. package/dist/types/ai/index.js +1 -0
  19. package/dist/types/ai/index.js.map +1 -1
  20. package/dist/types/audit/ocsf.d.ts +11 -0
  21. package/dist/types/audit/ocsf.d.ts.map +1 -1
  22. package/dist/types/billing/index.d.ts +1 -0
  23. package/dist/types/billing/index.d.ts.map +1 -1
  24. package/dist/types/billing/index.js +1 -0
  25. package/dist/types/billing/index.js.map +1 -1
  26. package/dist/types/billing/usageSource.d.ts +26 -0
  27. package/dist/types/billing/usageSource.d.ts.map +1 -0
  28. package/dist/types/billing/usageSource.js +100 -0
  29. package/dist/types/billing/usageSource.js.map +1 -0
  30. package/dist/types/policyGate/errors.d.ts +3 -0
  31. package/dist/types/policyGate/errors.d.ts.map +1 -1
  32. package/dist/types/policyGate/errors.js +1 -0
  33. package/dist/types/policyGate/errors.js.map +1 -1
  34. package/dist/types/policyGate/index.d.ts +5 -1
  35. package/dist/types/policyGate/index.d.ts.map +1 -1
  36. package/dist/types/policyGate/index.js +11 -0
  37. package/dist/types/policyGate/index.js.map +1 -1
  38. package/dist/types/policyGate/index.test.d.ts +2 -0
  39. package/dist/types/policyGate/index.test.d.ts.map +1 -0
  40. package/dist/types/policyGate/index.test.js +23 -0
  41. package/dist/types/policyGate/index.test.js.map +1 -0
  42. package/dist/types/publishPipeline/index.d.ts +27 -0
  43. package/dist/types/publishPipeline/index.d.ts.map +1 -1
  44. package/dist/types/publishPipeline/index.js +1 -0
  45. package/dist/types/publishPipeline/index.js.map +1 -1
  46. package/dist/types/publishPipeline/plan.d.ts +9 -4
  47. package/dist/types/publishPipeline/plan.d.ts.map +1 -1
  48. package/dist/types/publishPipeline/plan.js +37 -20
  49. package/dist/types/publishPipeline/plan.js.map +1 -1
  50. package/dist/types/publishPipeline/plan.test.js +28 -8
  51. package/dist/types/publishPipeline/plan.test.js.map +1 -1
  52. package/dist/types/publishPipeline/policyStatus.d.ts +7 -0
  53. package/dist/types/publishPipeline/policyStatus.d.ts.map +1 -0
  54. package/dist/types/publishPipeline/policyStatus.js +40 -0
  55. package/dist/types/publishPipeline/policyStatus.js.map +1 -0
  56. package/dist/types/reviewPolicy/index.d.ts +14 -4
  57. package/dist/types/reviewPolicy/index.d.ts.map +1 -1
  58. package/dist/types/reviewPolicy/index.js +11 -5
  59. package/dist/types/reviewPolicy/index.js.map +1 -1
  60. package/dist/types/scim/index.d.ts +21 -1
  61. package/dist/types/scim/index.d.ts.map +1 -1
  62. package/dist/types/scim/index.js +19 -1
  63. package/dist/types/scim/index.js.map +1 -1
  64. package/dist/utils/attachment-delivery.d.ts +7 -0
  65. package/dist/utils/attachment-delivery.d.ts.map +1 -1
  66. package/dist/utils/attachment-delivery.js +19 -2
  67. package/dist/utils/attachment-delivery.js.map +1 -1
  68. package/dist/utils/attachment-delivery.test.d.ts +2 -0
  69. package/dist/utils/attachment-delivery.test.d.ts.map +1 -0
  70. package/dist/utils/attachment-delivery.test.js +40 -0
  71. package/dist/utils/attachment-delivery.test.js.map +1 -0
  72. package/dist/utils/attachment-upload.d.ts +3 -2
  73. package/dist/utils/attachment-upload.d.ts.map +1 -1
  74. package/dist/utils/attachment-upload.js +11 -3
  75. package/dist/utils/attachment-upload.js.map +1 -1
  76. package/dist/utils/attachment-upload.test.js +40 -1
  77. package/dist/utils/attachment-upload.test.js.map +1 -1
  78. package/dist/utils/attachment-validation.d.ts +64 -0
  79. package/dist/utils/attachment-validation.d.ts.map +1 -0
  80. package/dist/utils/attachment-validation.js +269 -0
  81. package/dist/utils/attachment-validation.js.map +1 -0
  82. package/dist/utils/attachment-validation.test.d.ts +2 -0
  83. package/dist/utils/attachment-validation.test.d.ts.map +1 -0
  84. package/dist/utils/attachment-validation.test.js +171 -0
  85. package/dist/utils/attachment-validation.test.js.map +1 -0
  86. package/dist/utils/index.d.ts +1 -0
  87. package/dist/utils/index.d.ts.map +1 -1
  88. package/dist/utils/index.js +1 -0
  89. package/dist/utils/index.js.map +1 -1
  90. package/dist-esm/database-lifecycle/destructiveMigrations.d.ts +18 -0
  91. package/dist-esm/database-lifecycle/destructiveMigrations.d.ts.map +1 -1
  92. package/dist-esm/database-lifecycle/destructiveMigrations.js.map +1 -1
  93. package/dist-esm/database-lifecycle/index.d.ts +8 -1
  94. package/dist-esm/database-lifecycle/index.d.ts.map +1 -1
  95. package/dist-esm/database-lifecycle/index.js +1 -0
  96. package/dist-esm/database-lifecycle/index.js.map +1 -1
  97. package/dist-esm/dbfs/types.d.ts +1 -0
  98. package/dist-esm/dbfs/types.d.ts.map +1 -1
  99. package/dist-esm/dbfs/types.js +13 -2
  100. package/dist-esm/dbfs/types.js.map +1 -1
  101. package/dist-esm/errors/http.d.ts +5 -3
  102. package/dist-esm/errors/http.d.ts.map +1 -1
  103. package/dist-esm/errors/http.js +9 -5
  104. package/dist-esm/errors/http.js.map +1 -1
  105. package/dist-esm/types/ai/index.d.ts +1 -0
  106. package/dist-esm/types/ai/index.d.ts.map +1 -1
  107. package/dist-esm/types/ai/index.js +1 -0
  108. package/dist-esm/types/ai/index.js.map +1 -1
  109. package/dist-esm/types/audit/ocsf.d.ts +11 -0
  110. package/dist-esm/types/audit/ocsf.d.ts.map +1 -1
  111. package/dist-esm/types/billing/index.d.ts +1 -0
  112. package/dist-esm/types/billing/index.d.ts.map +1 -1
  113. package/dist-esm/types/billing/index.js +1 -0
  114. package/dist-esm/types/billing/index.js.map +1 -1
  115. package/dist-esm/types/billing/usageSource.d.ts +26 -0
  116. package/dist-esm/types/billing/usageSource.d.ts.map +1 -0
  117. package/dist-esm/types/billing/usageSource.js +97 -0
  118. package/dist-esm/types/billing/usageSource.js.map +1 -0
  119. package/dist-esm/types/policyGate/errors.d.ts +3 -0
  120. package/dist-esm/types/policyGate/errors.d.ts.map +1 -1
  121. package/dist-esm/types/policyGate/errors.js +1 -0
  122. package/dist-esm/types/policyGate/errors.js.map +1 -1
  123. package/dist-esm/types/policyGate/index.d.ts +5 -1
  124. package/dist-esm/types/policyGate/index.d.ts.map +1 -1
  125. package/dist-esm/types/policyGate/index.js +10 -0
  126. package/dist-esm/types/policyGate/index.js.map +1 -1
  127. package/dist-esm/types/policyGate/index.test.d.ts +2 -0
  128. package/dist-esm/types/policyGate/index.test.d.ts.map +1 -0
  129. package/dist-esm/types/policyGate/index.test.js +21 -0
  130. package/dist-esm/types/policyGate/index.test.js.map +1 -0
  131. package/dist-esm/types/publishPipeline/index.d.ts +27 -0
  132. package/dist-esm/types/publishPipeline/index.d.ts.map +1 -1
  133. package/dist-esm/types/publishPipeline/index.js +1 -0
  134. package/dist-esm/types/publishPipeline/index.js.map +1 -1
  135. package/dist-esm/types/publishPipeline/plan.d.ts +9 -4
  136. package/dist-esm/types/publishPipeline/plan.d.ts.map +1 -1
  137. package/dist-esm/types/publishPipeline/plan.js +36 -19
  138. package/dist-esm/types/publishPipeline/plan.js.map +1 -1
  139. package/dist-esm/types/publishPipeline/plan.test.js +29 -9
  140. package/dist-esm/types/publishPipeline/plan.test.js.map +1 -1
  141. package/dist-esm/types/publishPipeline/policyStatus.d.ts +7 -0
  142. package/dist-esm/types/publishPipeline/policyStatus.d.ts.map +1 -0
  143. package/dist-esm/types/publishPipeline/policyStatus.js +37 -0
  144. package/dist-esm/types/publishPipeline/policyStatus.js.map +1 -0
  145. package/dist-esm/types/reviewPolicy/index.d.ts +14 -4
  146. package/dist-esm/types/reviewPolicy/index.d.ts.map +1 -1
  147. package/dist-esm/types/reviewPolicy/index.js +10 -4
  148. package/dist-esm/types/reviewPolicy/index.js.map +1 -1
  149. package/dist-esm/types/scim/index.d.ts +21 -1
  150. package/dist-esm/types/scim/index.d.ts.map +1 -1
  151. package/dist-esm/types/scim/index.js +18 -0
  152. package/dist-esm/types/scim/index.js.map +1 -1
  153. package/dist-esm/utils/attachment-delivery.d.ts +7 -0
  154. package/dist-esm/utils/attachment-delivery.d.ts.map +1 -1
  155. package/dist-esm/utils/attachment-delivery.js +17 -2
  156. package/dist-esm/utils/attachment-delivery.js.map +1 -1
  157. package/dist-esm/utils/attachment-delivery.test.d.ts +2 -0
  158. package/dist-esm/utils/attachment-delivery.test.d.ts.map +1 -0
  159. package/dist-esm/utils/attachment-delivery.test.js +38 -0
  160. package/dist-esm/utils/attachment-delivery.test.js.map +1 -0
  161. package/dist-esm/utils/attachment-upload.d.ts +3 -2
  162. package/dist-esm/utils/attachment-upload.d.ts.map +1 -1
  163. package/dist-esm/utils/attachment-upload.js +10 -2
  164. package/dist-esm/utils/attachment-upload.js.map +1 -1
  165. package/dist-esm/utils/attachment-upload.test.js +42 -3
  166. package/dist-esm/utils/attachment-upload.test.js.map +1 -1
  167. package/dist-esm/utils/attachment-validation.d.ts +64 -0
  168. package/dist-esm/utils/attachment-validation.d.ts.map +1 -0
  169. package/dist-esm/utils/attachment-validation.js +259 -0
  170. package/dist-esm/utils/attachment-validation.js.map +1 -0
  171. package/dist-esm/utils/attachment-validation.test.d.ts +2 -0
  172. package/dist-esm/utils/attachment-validation.test.d.ts.map +1 -0
  173. package/dist-esm/utils/attachment-validation.test.js +169 -0
  174. package/dist-esm/utils/attachment-validation.test.js.map +1 -0
  175. package/dist-esm/utils/index.d.ts +1 -0
  176. package/dist-esm/utils/index.d.ts.map +1 -1
  177. package/dist-esm/utils/index.js +1 -0
  178. package/dist-esm/utils/index.js.map +1 -1
  179. package/package.json +4 -3
  180. package/src/database-lifecycle/destructiveMigrations.ts +19 -0
  181. package/src/database-lifecycle/index.ts +13 -1
  182. package/src/dbfs/types.ts +15 -3
  183. package/src/errors/http.ts +11 -5
  184. package/src/types/ai/index.ts +1 -0
  185. package/src/types/audit/ocsf.ts +14 -0
  186. package/src/types/billing/index.ts +1 -0
  187. package/src/types/billing/usageSource.ts +114 -0
  188. package/src/types/policyGate/errors.ts +1 -0
  189. package/src/types/policyGate/index.test.ts +25 -0
  190. package/src/types/policyGate/index.ts +21 -1
  191. package/src/types/publishPipeline/index.ts +29 -0
  192. package/src/types/publishPipeline/plan.test.ts +34 -9
  193. package/src/types/publishPipeline/plan.ts +41 -19
  194. package/src/types/publishPipeline/policyStatus.ts +44 -0
  195. package/src/types/reviewPolicy/index.ts +18 -4
  196. package/src/types/scim/index.ts +28 -1
  197. package/src/utils/attachment-delivery.test.ts +52 -0
  198. package/src/utils/attachment-delivery.ts +20 -2
  199. package/src/utils/attachment-upload.test.ts +58 -4
  200. package/src/utils/attachment-upload.ts +13 -3
  201. package/src/utils/attachment-validation.test.ts +226 -0
  202. package/src/utils/attachment-validation.ts +269 -0
  203. package/src/utils/index.ts +1 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POOL_LIKE_USAGE_SOURCES = exports.ENTERPRISE_CONTRACT_USAGE_SOURCES = exports.CONTRACT_COMMITTED_USAGE_SOURCES = exports.GAU_DISPLAY_USAGE_SOURCES = void 0;
4
+ // Keyed on the UsageSource union so this is compile-time exhaustive: adding a
5
+ // new UsageSource member fails to build here until the author decides whether
6
+ // the Usage page shows it (add it below) or hides it (add it to the Exclude).
7
+ // That decision can never again be made implicitly by a stale per-plan list.
8
+ const GAU_DISPLAY_SOURCE_EXHAUSTIVE = {
9
+ enterprise: true,
10
+ legacy: true,
11
+ on_demand: true,
12
+ overage_unbilled: true,
13
+ pool: true,
14
+ seat: true,
15
+ topup: true,
16
+ trial: true
17
+ };
18
+ /**
19
+ * Every usage_source the Usage page's sub-banner surfaces (tiles, chart,
20
+ * usage table, Spending page) display: all GAU-consuming sources, excluding
21
+ * only `byo`.
22
+ */
23
+ exports.GAU_DISPLAY_USAGE_SOURCES = Object.keys(GAU_DISPLAY_SOURCE_EXHAUSTIVE);
24
+ // Keyed on the whole UsageSource union, so adding a source fails the build
25
+ // until someone decides whether it draws on a contract commitment. The
26
+ // previous rule was a denylist ("committed = everything except on_demand /
27
+ // overage_unbilled / topup"), which made "counts against your commitment" the
28
+ // silent default for every future source -- and swept in `trial`, which
29
+ // debits no entitlement at all.
30
+ const CONTRACT_COMMITTED_EXHAUSTIVE = {
31
+ // Consumes no GAUs -- the customer is paying their own model provider.
32
+ byo: false,
33
+ // Pooled enterprise / POC consumption.
34
+ enterprise: true,
35
+ // Rows predating the usage_source column; they were pool draws.
36
+ legacy: true,
37
+ // Overage beyond the commitment, invoiced separately at a premium.
38
+ on_demand: false,
39
+ // Recorded past the org cap and deliberately never billed.
40
+ overage_unbilled: false,
41
+ // The shared-pool slice for granular enterprise contracts and TEAMS.
42
+ pool: true,
43
+ // Per-seat allocation; its grants are inside the commit denominator.
44
+ seat: true,
45
+ // Separately purchased pool. The banner backs topups out of the commit
46
+ // denominator, so counting their spend in the numerator would push
47
+ // utilisation past 100%.
48
+ topup: false,
49
+ // Free trial allowance. The trial write path debits no entitlement, so this
50
+ // usage never drew on a commitment even when it falls inside the term.
51
+ // Exposure was durable on annual / contract_term cycles, where the window is
52
+ // the whole contract term; monthly cycles only mis-counted the conversion
53
+ // month and then self-healed (deriveEnterpriseCalendarPeriod).
54
+ trial: false
55
+ };
56
+ /**
57
+ * The usage_source values that count as drawing down a contract commitment.
58
+ *
59
+ * Feeds the plan banner's committed-vs-overage split. Deliberately an
60
+ * allowlist: see the note on {@link CONTRACT_COMMITTED_EXHAUSTIVE}.
61
+ */
62
+ exports.CONTRACT_COMMITTED_USAGE_SOURCES = Object.entries(CONTRACT_COMMITTED_EXHAUSTIVE)
63
+ .filter(([, isCommitted]) => isCommitted)
64
+ .map(([source]) => source);
65
+ // The sources an enterprise contract bills, used for the entitlement-window
66
+ // math on /usage-records. Broader than CONTRACT_COMMITTED_USAGE_SOURCES: that
67
+ // one answers "did this draw down the commitment", this one answers "is this
68
+ // on the contract at all", so overage and top-up consumption count here and
69
+ // trial still does not. Keyed on the union for the same reason as the others --
70
+ // a new source must be classified rather than silently omitted from overage.
71
+ const ENTERPRISE_CONTRACT_EXHAUSTIVE = {
72
+ byo: false,
73
+ enterprise: true,
74
+ legacy: true,
75
+ on_demand: true,
76
+ overage_unbilled: true,
77
+ pool: true,
78
+ seat: true,
79
+ topup: true,
80
+ trial: false
81
+ };
82
+ exports.ENTERPRISE_CONTRACT_USAGE_SOURCES = Object.entries(ENTERPRISE_CONTRACT_EXHAUSTIVE)
83
+ .filter(([, onContract]) => onContract)
84
+ .map(([source]) => source);
85
+ // The sources that draw on a spendable balance rather than a commitment.
86
+ // Expressed against CONTRACT_COMMITTED so the one deliberate difference stays
87
+ // visible: top-ups are separately purchased pool, counted here because the
88
+ // balance they feed includes them, and excluded from the commitment because
89
+ // the banner backs them out of its denominator.
90
+ const POOL_LIKE_EXHAUSTIVE = {
91
+ ...CONTRACT_COMMITTED_EXHAUSTIVE,
92
+ // Pre-column rows. They predate every current balance, so no live balance
93
+ // shows them.
94
+ legacy: false,
95
+ topup: true
96
+ };
97
+ exports.POOL_LIKE_USAGE_SOURCES = Object.entries(POOL_LIKE_EXHAUSTIVE)
98
+ .filter(([, isPoolLike]) => isPoolLike)
99
+ .map(([source]) => source);
100
+ //# sourceMappingURL=usageSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageSource.js","sourceRoot":"","sources":["../../../src/types/billing/usageSource.ts"],"names":[],"mappings":";;;AAWA,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,6BAA6B,GAA8C;IAC/E,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;;GAIG;AACU,QAAA,yBAAyB,GAA2B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAkB,CAAC;AAE7H,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAC9E,wEAAwE;AACxE,gCAAgC;AAChC,MAAM,6BAA6B,GAAiC;IAClE,uEAAuE;IACvE,GAAG,EAAE,KAAK;IACV,uCAAuC;IACvC,UAAU,EAAE,IAAI;IAChB,gEAAgE;IAChE,MAAM,EAAE,IAAI;IACZ,mEAAmE;IACnE,SAAS,EAAE,KAAK;IAChB,2DAA2D;IAC3D,gBAAgB,EAAE,KAAK;IACvB,qEAAqE;IACrE,IAAI,EAAE,IAAI;IACV,qEAAqE;IACrE,IAAI,EAAE,IAAI;IACV,uEAAuE;IACvE,mEAAmE;IACnE,yBAAyB;IACzB,KAAK,EAAE,KAAK;IACZ,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,0EAA0E;IAC1E,+DAA+D;IAC/D,KAAK,EAAE,KAAK;CACb,CAAC;AAEF;;;;;GAKG;AACU,QAAA,gCAAgC,GAA2B,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC;KAClH,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;KACxC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAqB,CAAC,CAAC;AAE5C,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,6EAA6E;AAC7E,MAAM,8BAA8B,GAAiC;IACnE,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,KAAK;CACb,CAAC;AAEW,QAAA,iCAAiC,GAA2B,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC;KACpH,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;KACtC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAqB,CAAC,CAAC;AAE5C,yEAAyE;AACzE,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,gDAAgD;AAChD,MAAM,oBAAoB,GAAiC;IACzD,GAAG,6BAA6B;IAChC,0EAA0E;IAC1E,cAAc;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,IAAI;CACZ,CAAC;AAEW,QAAA,uBAAuB,GAA2B,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAChG,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;KACtC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAqB,CAAC,CAAC"}
@@ -47,6 +47,9 @@ export declare const POLICY_GATE_ERROR_CODES: {
47
47
  readonly canceled: {
48
48
  readonly category: "user_action";
49
49
  };
50
+ readonly dependency_scan_stalled: {
51
+ readonly category: "platform_transient";
52
+ };
50
53
  readonly dev_server_unreachable: {
51
54
  readonly category: "platform_transient";
52
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,aAAa,CAAC;AAErH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,mBAE5C,CAAC;AAEF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,6BAA6B,QAAiB,CAAC;AAQ5D,eAAO,MAAM,kCAAkC,QAAgB,CAAC;AAKhE,eAAO,MAAM,iCAAiC,QAAgB,CAAC;AAE/D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BoB,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC;AAEvE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,mBAAmB,CAE1F;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAEzF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,aAAa,CAAC;AAErH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,mBAE5C,CAAC;AAEF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,6BAA6B,QAAiB,CAAC;AAQ5D,eAAO,MAAM,kCAAkC,QAAgB,CAAC;AAKhE,eAAO,MAAM,iCAAiC,QAAgB,CAAC;AAE/D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BoB,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC;AAEvE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,mBAAmB,CAE1F;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAEzF"}
@@ -36,6 +36,7 @@ exports.POLICY_GATE_ERROR_CODES = {
36
36
  output_token_limit: { category: 'platform_error' }, // Our output token cap cut off the report.
37
37
  // Server dispatch and stale-run failures.
38
38
  canceled: { category: 'user_action' }, // The user canceled the in-flight publish.
39
+ dependency_scan_stalled: { category: 'platform_transient' }, // The in-process dependency scan never completed.
39
40
  dev_server_unreachable: { category: 'platform_transient' }, // The dev server did not finish the run.
40
41
  dispatch_failed: { category: 'platform_transient' }, // The server could not start the run.
41
42
  // Legacy code from dev servers that predate this registry.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/types/policyGate/errors.ts"],"names":[],"mappings":";;;AA2DA,sDAEC;AAED,wDAEC;AA3DY,QAAA,8BAA8B,GAAwB;IACjE,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEW,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5D,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,4EAA4E;AAC5E,uEAAuE;AACvE,6EAA6E;AAC7E,iEAAiE;AACpD,QAAA,kCAAkC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhE,4EAA4E;AAC5E,2EAA2E;AAC3E,oEAAoE;AACvD,QAAA,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,QAAA,uBAAuB,GAAG;IACrC,+CAA+C;IAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,sCAAsC;IACnF,iBAAiB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,yCAAyC;IAC5F,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,wCAAwC;IACxF,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,uCAAuC;IACvF,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,qEAAqE;IACrH,cAAc,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,8CAA8C;IAClG,gBAAgB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,sCAAsC;IAC5F,WAAW,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,8CAA8C;IAC3F,WAAW,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,6CAA6C;IAC9F,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,0CAA0C;IAC1F,cAAc,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,2CAA2C;IACxF,kBAAkB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,2CAA2C;IAE/F,0CAA0C;IAC1C,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,2CAA2C;IAClF,sBAAsB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,yCAAyC;IACrG,eAAe,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,sCAAsC;IAE3F,2DAA2D;IAC3D,gBAAgB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,gDAAgD;IAEtG,gCAAgC;IAChC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,yBAAyB;IAC5E,uBAAuB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,kDAAkD;IAC3G,oBAAoB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,0CAA0C;IACpG,cAAc,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,6CAA6C;IACjG,oBAAoB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,qCAAqC;CACpC,CAAC;AAIzD,SAAgB,qBAAqB,CAAC,SAAkB;IACtD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,+BAAuB,EAAE,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,sBAAsB,CAAC,SAA6B;IAClE,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,+BAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sCAA8B,CAAC;AAChH,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/types/policyGate/errors.ts"],"names":[],"mappings":";;;AA4DA,sDAEC;AAED,wDAEC;AA5DY,QAAA,8BAA8B,GAAwB;IACjE,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEW,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5D,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,4EAA4E;AAC5E,uEAAuE;AACvE,6EAA6E;AAC7E,iEAAiE;AACpD,QAAA,kCAAkC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhE,4EAA4E;AAC5E,2EAA2E;AAC3E,oEAAoE;AACvD,QAAA,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,QAAA,uBAAuB,GAAG;IACrC,+CAA+C;IAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,sCAAsC;IACnF,iBAAiB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,yCAAyC;IAC5F,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,wCAAwC;IACxF,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,uCAAuC;IACvF,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,qEAAqE;IACrH,cAAc,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,8CAA8C;IAClG,gBAAgB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,sCAAsC;IAC5F,WAAW,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,8CAA8C;IAC3F,WAAW,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,6CAA6C;IAC9F,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,0CAA0C;IAC1F,cAAc,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,2CAA2C;IACxF,kBAAkB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,2CAA2C;IAE/F,0CAA0C;IAC1C,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,2CAA2C;IAClF,uBAAuB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,kDAAkD;IAC/G,sBAAsB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,yCAAyC;IACrG,eAAe,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,sCAAsC;IAE3F,2DAA2D;IAC3D,gBAAgB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,gDAAgD;IAEtG,gCAAgC;IAChC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,yBAAyB;IAC5E,uBAAuB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,kDAAkD;IAC3G,oBAAoB,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,0CAA0C;IACpG,cAAc,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,6CAA6C;IACjG,oBAAoB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,qCAAqC;CACpC,CAAC;AAIzD,SAAgB,qBAAqB,CAAC,SAAkB;IACtD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,+BAAuB,EAAE,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,sBAAsB,CAAC,SAA6B;IAClE,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,+BAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sCAA8B,CAAC;AAChH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ReviewFindingCategory, ReviewFindingConfidence, ReviewFindingSeverity } from '../reviewPolicy/index.js';
1
+ import type { ReviewFindingCategory, ReviewFindingConfidence, ReviewFindingSeverity, ReviewPolicyRunnerType } from '../reviewPolicy/index.js';
2
2
  export * from './errors.js';
3
3
  /**
4
4
  * @deprecated Use the `superblocks.policy-gates.security-scans.enabled` LaunchDarkly flag instead.
@@ -17,6 +17,8 @@ export type PolicyGateReadinessFindingSummary = {
17
17
  export type PolicyGateReadinessFinding = {
18
18
  blocking: boolean;
19
19
  humanSummary?: string | null;
20
+ /** Stable id for the underlying finding row; prefer this over hashing display text for identity. */
21
+ id?: string;
20
22
  /** Same contract as `ReviewFindingDto.locations`: primary location first. */
21
23
  locationsJson?: unknown[];
22
24
  remediationHintJson?: Record<string, unknown>;
@@ -50,6 +52,7 @@ export type PolicyGateReadinessItem = {
50
52
  policyVersionId: string;
51
53
  progress?: PolicyGateScanProgress;
52
54
  reviewRunId?: string;
55
+ runnerType?: ReviewPolicyRunnerType;
53
56
  runs?: PolicyGateReadinessRun[];
54
57
  staleReason?: string;
55
58
  status: PolicyGateReadinessItemStatus;
@@ -116,6 +119,7 @@ export type ScanScopeChangedFile = {
116
119
  changeType: ScanScopeChangeType;
117
120
  path: string;
118
121
  };
122
+ export declare function isLockfilePath(path: string): boolean;
119
123
  export type ScanScopePriorFinding = {
120
124
  blocking: boolean;
121
125
  category: ReviewFindingCategory;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ exports.isHardBlockingPolicyItem = isHardBlockingPolicyItem;
19
19
  exports.isWaivablePolicyItem = isWaivablePolicyItem;
20
20
  exports.isPublishHoldingPolicyItem = isPublishHoldingPolicyItem;
21
21
  exports.areReadinessItemsAckEligible = areReadinessItemsAckEligible;
22
+ exports.isLockfilePath = isLockfilePath;
22
23
  exports.countFailedPolicyGateRuns = countFailedPolicyGateRuns;
23
24
  exports.isPolicyGateItemExhausted = isPolicyGateItemExhausted;
24
25
  const errors_js_1 = require("./errors.js");
@@ -80,6 +81,16 @@ exports.POLICY_GATE_BLOCKED_ERROR = 'POLICY_GATE_BLOCKED';
80
81
  * to the user, and shared so server and client agree on the exact text.
81
82
  */
82
83
  exports.POLICY_GATE_STALE_LIVE_EDIT_ERROR = 'Policy gates can only run for the current app state. Deploy the current changes or restore to this commit and then deploy.';
84
+ // Git-connected and imported apps can still carry pnpm, yarn, or bun lockfiles. A package
85
+ // manager regenerating one (different resolved order, no real edit) should not by itself
86
+ // count as a code change for scan-scope purposes. Shared between the server (which builds
87
+ // ScanScopeJson) and the dev-server agent (which consumes it) so the two never drift.
88
+ const LOCKFILE_BASENAMES = new Set(['bun.lock', 'bun.lockb', 'package-lock.json', 'pnpm-lock.yaml', 'yarn.lock']);
89
+ function isLockfilePath(path) {
90
+ const lastSlashIndex = path.lastIndexOf('/');
91
+ const basename = lastSlashIndex === -1 ? path : path.slice(lastSlashIndex + 1);
92
+ return LOCKFILE_BASENAMES.has(basename);
93
+ }
83
94
  function countFailedPolicyGateRuns(item) {
84
95
  return (item.runs ?? []).filter((run) => run.status === 'failed' && run.errorCode !== 'canceled').length;
85
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA+EA,4DAKC;AAQD,oDAEC;AAED,gEAEC;AAUD,oEAWC;AAyFD,8DAEC;AAED,8DAEC;AArND,2CAA2D;AAE3D,8CAA4B;AAE5B;;;;GAIG;AACU,QAAA,sBAAsB,GAAY,KAAK,CAAC;AAkErD,8EAA8E;AAC9E,+EAA+E;AAC/E,iBAAiB;AACjB,SAAgB,wBAAwB,CAAC,IAAsD;IAC7F,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,IAAsD;IACzF,OAAO,IAAI,CAAC,IAAI,KAAK,0BAA0B,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AAC7G,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAAsD;IAC/F,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,4BAA4B,CAAC,KAAyD;IACpG,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,KAAK,QAAQ;YACxB,IAAI,CAAC,MAAM,KAAK,mBAAmB;YACnC,0BAA0B,CAAC,IAAI,CAAC;YAChC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CACxF,CACF,CAAC;AACJ,CAAC;AAuCD;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D;;;;;;;GAOG;AACU,QAAA,iCAAiC,GAC5C,4HAA4H,CAAC;AAkC/H,SAAgB,yBAAyB,CAAC,IAA2C;IACnF,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;AAC3G,CAAC;AAED,SAAgB,yBAAyB,CAAC,IAA+D;IACvG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,wCAA4B,CAAC;AACjI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuFA,4DAKC;AAQD,oDAEC;AAED,gEAEC;AAUD,oEAWC;AAsED,wCAIC;AA2BD,8DAEC;AAED,8DAEC;AApOD,2CAA2D;AAE3D,8CAA4B;AAE5B;;;;GAIG;AACU,QAAA,sBAAsB,GAAY,KAAK,CAAC;AAqErD,8EAA8E;AAC9E,+EAA+E;AAC/E,iBAAiB;AACjB,SAAgB,wBAAwB,CAAC,IAAsD;IAC7F,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,IAAsD;IACzF,OAAO,IAAI,CAAC,IAAI,KAAK,0BAA0B,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AAC7G,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAAsD;IAC/F,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,4BAA4B,CAAC,KAAyD;IACpG,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,KAAK,QAAQ;YACxB,IAAI,CAAC,MAAM,KAAK,mBAAmB;YACnC,0BAA0B,CAAC,IAAI,CAAC;YAChC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CACxF,CACF,CAAC;AACJ,CAAC;AAuCD;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D;;;;;;;GAOG;AACU,QAAA,iCAAiC,GAC5C,4HAA4H,CAAC;AAS/H,0FAA0F;AAC1F,yFAAyF;AACzF,0FAA0F;AAC1F,sFAAsF;AACtF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;AAElH,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAC/E,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AA2BD,SAAgB,yBAAyB,CAAC,IAA2C;IACnF,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;AAC3G,CAAC;AAED,SAAgB,yBAAyB,CAAC,IAA+D;IACvG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,wCAA4B,CAAC;AACjI,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/types/policyGate/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const index_js_1 = require("./index.js");
5
+ (0, vitest_1.describe)('isLockfilePath', () => {
6
+ (0, vitest_1.test)('recognizes known lockfile basenames', () => {
7
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('pnpm-lock.yaml')).toBe(true);
8
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('yarn.lock')).toBe(true);
9
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('package-lock.json')).toBe(true);
10
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('bun.lock')).toBe(true);
11
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('bun.lockb')).toBe(true);
12
+ });
13
+ (0, vitest_1.test)('recognizes a lockfile nested in a directory', () => {
14
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('server/pnpm-lock.yaml')).toBe(true);
15
+ });
16
+ (0, vitest_1.test)('rejects a non-lockfile path', () => {
17
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('server/apis/fetch-url.ts')).toBe(false);
18
+ });
19
+ (0, vitest_1.test)('rejects a path that merely contains a lockfile name as a substring', () => {
20
+ (0, vitest_1.expect)((0, index_js_1.isLockfilePath)('vendor/yarn.lock.bak')).toBe(false);
21
+ });
22
+ });
23
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/types/policyGate/index.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAEhD,yCAA4C;AAE5C,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,aAAI,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,oEAAoE,EAAE,GAAG,EAAE;QAC9E,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -9,6 +9,7 @@
9
9
  * their own authoritative checks (build, policy, database lifecycle reconcile);
10
10
  * this plan only reflects progress for the rail.
11
11
  */
12
+ import type { PolicyGateReadinessStatus } from '../policyGate/index.js';
12
13
  /** Which domain owns a step. Extend as new gates are added. */
13
14
  export type PublishStepKind = 'build' | 'database_migration' | 'database_provisioning' | 'policy_gates' | 'publish';
14
15
  /**
@@ -22,6 +23,22 @@ export type BuildPublishStepDetail = {
22
23
  buildStatus: string | null;
23
24
  error?: string;
24
25
  };
26
+ export type PolicyGatesPublishStepDetail = {
27
+ /**
28
+ * Whether the server would honor a publish that carries the findings
29
+ * acknowledgment right now. False while a gate has not reported: its findings
30
+ * are part of what the acknowledgment covers, so the deploy endpoint applies
31
+ * this same test and turns such a publish away. Also false when the gates
32
+ * could not be read at all - an unknown answer must not offer a publish that
33
+ * would come back refused.
34
+ *
35
+ * Separate from whether anyone has acknowledged anything: that is recorded on
36
+ * the deploy queue row and is already visible in each child's status.
37
+ */
38
+ findingsAckEligible: boolean;
39
+ /** Absent when readiness could not be read. */
40
+ readinessStatus?: PolicyGateReadinessStatus;
41
+ };
25
42
  export type PublishDeployStepDetail = {
26
43
  error?: string;
27
44
  isLive?: boolean;
@@ -40,6 +57,8 @@ export type PublishStep = {
40
57
  summary?: string;
41
58
  /** When status is pending and waiting on declared dependencies that are not yet clear. */
42
59
  blockedBy?: PublishStepKind[];
60
+ /** Nested status rows owned by this step. */
61
+ children?: PublishStep[];
43
62
  /** Machine code when blocked/failed (e.g. POLICY_GATE_BLOCKED). */
44
63
  blockingReason?: string;
45
64
  /** Opaque domain payload; generic pipeline must not read this. */
@@ -50,6 +69,13 @@ export type PublishPlanTarget = {
50
69
  commitId: string;
51
70
  };
52
71
  export type PublishPlan = {
72
+ /**
73
+ * Whether publishing this app runs policy agents, as the organization has it
74
+ * configured. Unlike the steps, this does not describe one version: the steps
75
+ * only appear once a publish of that version is under way, while an older
76
+ * version needs to know the checks exist before anyone tries.
77
+ */
78
+ hasPolicyPublishChecks?: boolean;
53
79
  status: PublishStepStatus;
54
80
  steps: PublishStep[];
55
81
  target: PublishPlanTarget;
@@ -76,4 +102,5 @@ export type PublishStepId = (typeof PublishStepId)[keyof typeof PublishStepId];
76
102
  export declare const PUBLISH_STEP_SPINE: readonly PublishStepId[];
77
103
  export * from './displayNames.js';
78
104
  export * from './plan.js';
105
+ export * from './policyStatus.js';
79
106
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,yGAAyG;IACzG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EAO7C,CAAC;AAEX,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,yGAAyG;IACzG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EAO7C,CAAC;AAEX,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
@@ -54,4 +54,5 @@ exports.PUBLISH_STEP_SPINE = [
54
54
  ];
55
55
  __exportStar(require("./displayNames.js"), exports);
56
56
  __exportStar(require("./plan.js"), exports);
57
+ __exportStar(require("./policyStatus.js"), exports);
57
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;AA+DH;;;;;GAKG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,2BAA2B;IACnD,uBAAuB,EAAE,4BAA4B;IACrD,OAAO,EAAE,SAAS;CACV,CAAC;AAIX;;;GAGG;AACU,QAAA,kBAAkB,GAA6B;IAC1D,qBAAa,CAAC,sBAAsB;IACpC,qBAAa,CAAC,KAAK;IACnB,qBAAa,CAAC,uBAAuB;IACrC,qBAAa,CAAC,oBAAoB;IAClC,qBAAa,CAAC,iBAAiB;IAC/B,qBAAa,CAAC,OAAO;CACb,CAAC;AAEX,oDAAkC;AAClC,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;AA2FH;;;;;GAKG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,2BAA2B;IACnD,uBAAuB,EAAE,4BAA4B;IACrD,OAAO,EAAE,SAAS;CACV,CAAC;AAIX;;;GAGG;AACU,QAAA,kBAAkB,GAA6B;IAC1D,qBAAa,CAAC,sBAAsB;IACpC,qBAAa,CAAC,KAAK;IACnB,qBAAa,CAAC,uBAAuB;IACrC,qBAAa,CAAC,oBAAoB;IAClC,qBAAa,CAAC,iBAAiB;IAC/B,qBAAa,CAAC,OAAO;CACb,CAAC;AAEX,oDAAkC;AAClC,4CAA0B;AAC1B,oDAAkC"}
@@ -1,8 +1,13 @@
1
1
  import type { PublishPlan, PublishPlanTarget, PublishStep, PublishStepStatus } from './index.js';
2
- /** Collapse ordered steps into the single status shown on the plan. Empty = passed. */
3
- export declare function rollUpPublishPlan(steps: PublishStep[]): PublishStepStatus;
2
+ /** Collapse sibling steps into one status. Empty = passed. */
3
+ export declare function rollUpPublishSteps(steps: Pick<PublishStep, 'status'>[]): PublishStepStatus;
4
4
  /** Order steps by the fixed spine; unknown ids are appended in input order. */
5
5
  export declare function orderPublishSteps(steps: PublishStep[]): PublishStep[];
6
- /** Order and roll up. Assemble resolves each step's declared `blockedBy`. */
7
- export declare function buildPublishPlan(target: PublishPlanTarget, steps: PublishStep[]): PublishPlan;
6
+ /**
7
+ * Order and roll up. Assemble resolves each step's declared `blockedBy`.
8
+ *
9
+ * `facts` carries what the plan says about the app rather than about its steps,
10
+ * so rebuilding a plan from a response keeps it instead of dropping it.
11
+ */
12
+ export declare function buildPublishPlan(target: PublishPlanTarget, steps: PublishStep[], facts?: Pick<PublishPlan, 'hasPolicyPublishChecks'>): PublishPlan;
8
13
  //# sourceMappingURL=plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgBjG,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAGzE;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAiBrE;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CAG7F"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgBjG,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,iBAAiB,CAgB1F;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAiBrE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,GAClD,WAAW,CAGb"}
@@ -1,25 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rollUpPublishPlan = rollUpPublishPlan;
3
+ exports.rollUpPublishSteps = rollUpPublishSteps;
4
4
  exports.orderPublishSteps = orderPublishSteps;
5
5
  exports.buildPublishPlan = buildPublishPlan;
6
6
  const index_js_1 = require("./index.js");
7
- /** Worst-first. When summarizing many steps into one status, first match wins. */
8
- const STATUS_PRECEDENCE = [
9
- 'failed',
10
- 'blocked',
11
- 'action_required',
12
- 'stale',
13
- 'in_progress',
14
- 'pending',
15
- 'advisory',
16
- 'passed',
17
- 'skipped'
18
- ];
19
- /** Collapse ordered steps into the single status shown on the plan. Empty = passed. */
20
- function rollUpPublishPlan(steps) {
21
- const present = new Set(steps.map((s) => s.status));
22
- return STATUS_PRECEDENCE.find((s) => present.has(s)) ?? 'passed';
7
+ /** Lower ranks are worse so every known status has an explicit precedence. */
8
+ const STATUS_RANK = {
9
+ failed: 0,
10
+ blocked: 1,
11
+ action_required: 2,
12
+ stale: 3,
13
+ in_progress: 4,
14
+ pending: 5,
15
+ advisory: 6,
16
+ passed: 7,
17
+ skipped: 8
18
+ };
19
+ /** Collapse sibling steps into one status. Empty = passed. */
20
+ function rollUpPublishSteps(steps) {
21
+ if (steps.length === 0) {
22
+ return 'passed';
23
+ }
24
+ let worst = 'skipped';
25
+ for (const step of steps) {
26
+ const rank = STATUS_RANK[step.status];
27
+ if (rank === undefined) {
28
+ return 'blocked';
29
+ }
30
+ if (rank < STATUS_RANK[worst]) {
31
+ worst = step.status;
32
+ }
33
+ }
34
+ return worst;
23
35
  }
24
36
  /** Order steps by the fixed spine; unknown ids are appended in input order. */
25
37
  function orderPublishSteps(steps) {
@@ -40,9 +52,14 @@ function orderPublishSteps(steps) {
40
52
  }
41
53
  return ordered;
42
54
  }
43
- /** Order and roll up. Assemble resolves each step's declared `blockedBy`. */
44
- function buildPublishPlan(target, steps) {
55
+ /**
56
+ * Order and roll up. Assemble resolves each step's declared `blockedBy`.
57
+ *
58
+ * `facts` carries what the plan says about the app rather than about its steps,
59
+ * so rebuilding a plan from a response keeps it instead of dropping it.
60
+ */
61
+ function buildPublishPlan(target, steps, facts) {
45
62
  const ordered = orderPublishSteps(steps);
46
- return { status: rollUpPublishPlan(ordered), steps: ordered, target };
63
+ return { ...facts, status: rollUpPublishSteps(ordered), steps: ordered, target };
47
64
  }
48
65
  //# sourceMappingURL=plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":";;AAiBA,8CAGC;AAGD,8CAiBC;AAGD,4CAGC;AA7CD,yCAAgD;AAEhD,kFAAkF;AAClF,MAAM,iBAAiB,GAAwB;IAC7C,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,OAAO;IACP,aAAa;IACb,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;CACV,CAAC;AAEF,uFAAuF;AACvF,SAAgB,iBAAiB,CAAC,KAAoB;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;AACnE,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,KAAoB;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,6BAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6EAA6E;AAC7E,SAAgB,gBAAgB,CAAC,MAAyB,EAAE,KAAoB;IAC9E,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":";;AAiBA,gDAgBC;AAGD,8CAiBC;AAQD,4CAOC;AAnED,yCAAgD;AAEhD,8EAA8E;AAC9E,MAAM,WAAW,GAAsC;IACrD,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC;IAClB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,8DAA8D;AAC9D,SAAgB,kBAAkB,CAAC,KAAoC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,GAAsB,SAAS,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,KAAoB;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,6BAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,KAAoB,EACpB,KAAmD;IAEnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACnF,CAAC"}
@@ -11,18 +11,21 @@ function step(overrides) {
11
11
  ...overrides
12
12
  };
13
13
  }
14
- (0, vitest_1.describe)('rollUpPublishPlan', () => {
14
+ (0, vitest_1.describe)('rollUpPublishSteps', () => {
15
15
  (0, vitest_1.test)('an empty plan is passed', () => {
16
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)([])).toBe('passed');
16
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([])).toBe('passed');
17
17
  });
18
18
  (0, vitest_1.test)('the worst status wins by precedence', () => {
19
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)([step({ id: 'a', status: 'passed' }), step({ id: 'b', status: 'advisory' }), step({ id: 'c', status: 'blocked' })])).toBe('blocked');
20
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)([step({ id: 'a', status: 'in_progress' }), step({ id: 'b', status: 'failed' })])).toBe('failed');
21
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)([step({ id: 'a', status: 'advisory' }), step({ id: 'b', status: 'passed' })])).toBe('advisory');
19
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'a', status: 'passed' }), step({ id: 'b', status: 'advisory' }), step({ id: 'c', status: 'blocked' })])).toBe('blocked');
20
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'a', status: 'in_progress' }), step({ id: 'b', status: 'failed' })])).toBe('failed');
21
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'a', status: 'advisory' }), step({ id: 'b', status: 'passed' })])).toBe('advisory');
22
22
  });
23
23
  (0, vitest_1.test)('skipped never masks a real status', () => {
24
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)([step({ id: 'a', status: 'skipped' }), step({ id: 'b', status: 'passed' })])).toBe('passed');
25
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)([step({ id: 'a', status: 'skipped' })])).toBe('skipped');
24
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'a', status: 'skipped' }), step({ id: 'b', status: 'passed' })])).toBe('passed');
25
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'a', status: 'skipped' })])).toBe('skipped');
26
+ });
27
+ (0, vitest_1.test)('an unknown wire status blocks the plan', () => {
28
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'new-server-status', status: 'new_server_status' })])).toBe('blocked');
26
29
  });
27
30
  (0, vitest_1.test)('precedence order is exhaustive and worst-first', () => {
28
31
  const precedence = [
@@ -42,9 +45,26 @@ function step(overrides) {
42
45
  const steps = better
43
46
  ? [step({ id: 'better', status: better }), step({ id: 'worse', status: worse })]
44
47
  : [step({ id: 'only', status: worse })];
45
- (0, vitest_1.expect)((0, plan_js_1.rollUpPublishPlan)(steps)).toBe(worse);
48
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)(steps)).toBe(worse);
46
49
  }
47
50
  });
51
+ (0, vitest_1.test)('uses the plan precedence for any sibling steps', () => {
52
+ const children = [
53
+ step({ id: 'blocked-child', kind: 'policy_gates', status: 'blocked' }),
54
+ step({ id: 'running-child', kind: 'policy_gates', status: 'in_progress' })
55
+ ];
56
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)(children)).toBe('blocked');
57
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([step({ id: 'pending-child', status: 'pending' }), step({ id: 'passed-child' })])).toBe('pending');
58
+ });
59
+ (0, vitest_1.test)('reads sibling statuses without reinterpreting nested children', () => {
60
+ const parent = step({
61
+ children: [step({ id: 'policy:security-agent', kind: 'policy_gates', status: 'failed' })],
62
+ id: 'policy_gates:before_deploy',
63
+ kind: 'policy_gates',
64
+ status: 'passed'
65
+ });
66
+ (0, vitest_1.expect)((0, plan_js_1.rollUpPublishSteps)([parent])).toBe('passed');
67
+ });
48
68
  });
49
69
  (0, vitest_1.describe)('orderPublishSteps', () => {
50
70
  (0, vitest_1.test)('orders steps by the publish spine regardless of input order', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"plan.test.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.test.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type PolicyGateReadinessItem } from '../policyGate/index.js';
2
+ import type { PublishStepStatus } from './index.js';
3
+ export declare function policyItemPublishStatus(item: PolicyGateReadinessItem, options?: {
4
+ blockingHoldAcknowledged?: boolean;
5
+ blockingHoldAckEligible?: boolean;
6
+ }): PublishStepStatus;
7
+ //# sourceMappingURL=policyStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policyStatus.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/policyStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE5H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,GAAE;IACP,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,iBAAiB,CAiCnB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.policyItemPublishStatus = policyItemPublishStatus;
4
+ const index_js_1 = require("../policyGate/index.js");
5
+ const index_js_2 = require("../reviewPolicy/index.js");
6
+ function policyItemPublishStatus(item, options = {}) {
7
+ const { blockingHoldAcknowledged = false, blockingHoldAckEligible = false } = options;
8
+ switch (item.status) {
9
+ case 'failed':
10
+ if ((0, index_js_1.isPublishHoldingPolicyItem)(item)) {
11
+ return blockingHoldAcknowledged && blockingHoldAckEligible ? 'advisory' : 'blocked';
12
+ }
13
+ return (0, index_js_1.isHardBlockingPolicyItem)(item) ? 'failed' : 'advisory';
14
+ case 'blocked':
15
+ if ((0, index_js_1.isHardBlockingPolicyItem)(item)) {
16
+ return 'blocked';
17
+ }
18
+ if ((0, index_js_1.isPublishHoldingPolicyItem)(item)) {
19
+ return blockingHoldAcknowledged && blockingHoldAckEligible ? 'advisory' : 'blocked';
20
+ }
21
+ return 'advisory';
22
+ case 'approval_required':
23
+ return 'action_required';
24
+ case 'stale':
25
+ return 'stale';
26
+ case 'running':
27
+ return 'in_progress';
28
+ case 'missing':
29
+ return 'pending';
30
+ case 'advisory_findings':
31
+ return (item.findings ?? []).some((finding) => (0, index_js_2.isAdvisoryHoldFindingSeverity)(finding.severity)) ? 'advisory' : 'passed';
32
+ case 'passed':
33
+ return 'passed';
34
+ default: {
35
+ const _exhaustive = item.status;
36
+ return _exhaustive;
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=policyStatus.js.map