@superblocksteam/shared 0.9613.1 → 0.9614.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;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,MAAM,UAAU,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,MAAM,UAAU,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,kBAAkB,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,MAAM,UAAU,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":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;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,MAAM,UAAU,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,MAAM,UAAU,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,kBAAkB,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,MAAM,UAAU,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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from 'vitest';
2
- import { buildPublishPlan, orderPublishSteps, rollUpPublishPlan } from './plan.js';
2
+ import { buildPublishPlan, orderPublishSteps, rollUpPublishSteps } from './plan.js';
3
3
  const TARGET = { applicationId: 'app-1', commitId: 'commit-1' };
4
4
  function step(overrides) {
5
5
  return {
@@ -9,18 +9,21 @@ function step(overrides) {
9
9
  ...overrides
10
10
  };
11
11
  }
12
- describe('rollUpPublishPlan', () => {
12
+ describe('rollUpPublishSteps', () => {
13
13
  test('an empty plan is passed', () => {
14
- expect(rollUpPublishPlan([])).toBe('passed');
14
+ expect(rollUpPublishSteps([])).toBe('passed');
15
15
  });
16
16
  test('the worst status wins by precedence', () => {
17
- expect(rollUpPublishPlan([step({ id: 'a', status: 'passed' }), step({ id: 'b', status: 'advisory' }), step({ id: 'c', status: 'blocked' })])).toBe('blocked');
18
- expect(rollUpPublishPlan([step({ id: 'a', status: 'in_progress' }), step({ id: 'b', status: 'failed' })])).toBe('failed');
19
- expect(rollUpPublishPlan([step({ id: 'a', status: 'advisory' }), step({ id: 'b', status: 'passed' })])).toBe('advisory');
17
+ expect(rollUpPublishSteps([step({ id: 'a', status: 'passed' }), step({ id: 'b', status: 'advisory' }), step({ id: 'c', status: 'blocked' })])).toBe('blocked');
18
+ expect(rollUpPublishSteps([step({ id: 'a', status: 'in_progress' }), step({ id: 'b', status: 'failed' })])).toBe('failed');
19
+ expect(rollUpPublishSteps([step({ id: 'a', status: 'advisory' }), step({ id: 'b', status: 'passed' })])).toBe('advisory');
20
20
  });
21
21
  test('skipped never masks a real status', () => {
22
- expect(rollUpPublishPlan([step({ id: 'a', status: 'skipped' }), step({ id: 'b', status: 'passed' })])).toBe('passed');
23
- expect(rollUpPublishPlan([step({ id: 'a', status: 'skipped' })])).toBe('skipped');
22
+ expect(rollUpPublishSteps([step({ id: 'a', status: 'skipped' }), step({ id: 'b', status: 'passed' })])).toBe('passed');
23
+ expect(rollUpPublishSteps([step({ id: 'a', status: 'skipped' })])).toBe('skipped');
24
+ });
25
+ test('an unknown wire status blocks the plan', () => {
26
+ expect(rollUpPublishSteps([step({ id: 'new-server-status', status: 'new_server_status' })])).toBe('blocked');
24
27
  });
25
28
  test('precedence order is exhaustive and worst-first', () => {
26
29
  const precedence = [
@@ -40,9 +43,26 @@ describe('rollUpPublishPlan', () => {
40
43
  const steps = better
41
44
  ? [step({ id: 'better', status: better }), step({ id: 'worse', status: worse })]
42
45
  : [step({ id: 'only', status: worse })];
43
- expect(rollUpPublishPlan(steps)).toBe(worse);
46
+ expect(rollUpPublishSteps(steps)).toBe(worse);
44
47
  }
45
48
  });
49
+ test('uses the plan precedence for any sibling steps', () => {
50
+ const children = [
51
+ step({ id: 'blocked-child', kind: 'policy_gates', status: 'blocked' }),
52
+ step({ id: 'running-child', kind: 'policy_gates', status: 'in_progress' })
53
+ ];
54
+ expect(rollUpPublishSteps(children)).toBe('blocked');
55
+ expect(rollUpPublishSteps([step({ id: 'pending-child', status: 'pending' }), step({ id: 'passed-child' })])).toBe('pending');
56
+ });
57
+ test('reads sibling statuses without reinterpreting nested children', () => {
58
+ const parent = step({
59
+ children: [step({ id: 'policy:security-agent', kind: 'policy_gates', status: 'failed' })],
60
+ id: 'policy_gates:before_deploy',
61
+ kind: 'policy_gates',
62
+ status: 'passed'
63
+ });
64
+ expect(rollUpPublishSteps([parent])).toBe('passed');
65
+ });
46
66
  });
47
67
  describe('orderPublishSteps', () => {
48
68
  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,37 @@
1
+ import { isHardBlockingPolicyItem, isPublishHoldingPolicyItem } from '../policyGate/index.js';
2
+ import { isAdvisoryHoldFindingSeverity } from '../reviewPolicy/index.js';
3
+ export function policyItemPublishStatus(item, options = {}) {
4
+ const { blockingHoldAcknowledged = false, blockingHoldAckEligible = false } = options;
5
+ switch (item.status) {
6
+ case 'failed':
7
+ if (isPublishHoldingPolicyItem(item)) {
8
+ return blockingHoldAcknowledged && blockingHoldAckEligible ? 'advisory' : 'blocked';
9
+ }
10
+ return isHardBlockingPolicyItem(item) ? 'failed' : 'advisory';
11
+ case 'blocked':
12
+ if (isHardBlockingPolicyItem(item)) {
13
+ return 'blocked';
14
+ }
15
+ if (isPublishHoldingPolicyItem(item)) {
16
+ return blockingHoldAcknowledged && blockingHoldAckEligible ? 'advisory' : 'blocked';
17
+ }
18
+ return 'advisory';
19
+ case 'approval_required':
20
+ return 'action_required';
21
+ case 'stale':
22
+ return 'stale';
23
+ case 'running':
24
+ return 'in_progress';
25
+ case 'missing':
26
+ return 'pending';
27
+ case 'advisory_findings':
28
+ return (item.findings ?? []).some((finding) => isAdvisoryHoldFindingSeverity(finding.severity)) ? 'advisory' : 'passed';
29
+ case 'passed':
30
+ return 'passed';
31
+ default: {
32
+ const _exhaustive = item.status;
33
+ return _exhaustive;
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=policyStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policyStatus.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/policyStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAgC,MAAM,wBAAwB,CAAC;AAC5H,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAGzE,MAAM,UAAU,uBAAuB,CACrC,IAA6B,EAC7B,UAGI,EAAE;IAEN,MAAM,EAAE,wBAAwB,GAAG,KAAK,EAAE,uBAAuB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACtF,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,OAAO,wBAAwB,IAAI,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,CAAC;YACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QAChE,KAAK,SAAS;YACZ,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,OAAO,wBAAwB,IAAI,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,mBAAmB;YACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1H,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC,MAAM,CAAC;YACvC,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -4,13 +4,14 @@ export declare const REVIEW_POLICY_NAME_MAX_LENGTH = 120;
4
4
  export declare const REVIEW_POLICY_PROMPT_MAX_LENGTH = 10000;
5
5
  export declare const BUILT_IN_SECURITY_SCAN_NAME = "Superblocks Security Scan";
6
6
  export declare const SUPERBLOCKS_SECURITY_AGENT_NAME = "Superblocks Security Agent";
7
- export declare const REVIEW_POLICY_TYPES: readonly ["built_in_security_scan", "security_agent"];
7
+ export declare const DEPENDENCY_VULNERABILITY_SCAN_NAME = "Superblocks Dependency Vulnerability Scan";
8
+ export declare const REVIEW_POLICY_TYPES: readonly ["built_in_security_scan", "security_agent", "dependency_vulnerability_scan"];
8
9
  export declare const REVIEW_POLICY_SOURCES: readonly ["admin_configured", "superblocks_managed"];
9
10
  export declare const REVIEW_POLICY_TRIGGERS: readonly ["before_deploy", "after_checkpoint", "manual"];
10
- export declare const REVIEW_POLICY_EXECUTION_CONTEXTS: readonly ["edit_mode_app", "superblocks_sabs_built_assets", "superblocks_sabs_dependency_metadata", "superblocks_sabs_source_snapshot"];
11
- export declare const REVIEW_POLICY_RUNTIMES: readonly ["superblocks_dev_server_agent", "superblocks_sabs"];
11
+ export declare const REVIEW_POLICY_EXECUTION_CONTEXTS: readonly ["edit_mode_app", "superblocks_sabs_built_assets", "superblocks_sabs_dependency_metadata", "superblocks_sabs_source_snapshot", "dependency_manifest"];
12
+ export declare const REVIEW_POLICY_RUNTIMES: readonly ["superblocks_dev_server_agent", "superblocks_sabs", "superblocks_server"];
12
13
  export declare const REVIEW_POLICY_MODES: readonly ["advisory", "blocking_with_exceptions", "blocking"];
13
- export declare const REVIEW_POLICY_RUNNER_TYPES: readonly ["built_in_security_scan", "llm_security_agent"];
14
+ export declare const REVIEW_POLICY_RUNNER_TYPES: readonly ["built_in_security_scan", "llm_security_agent", "dependency_vulnerability_scan"];
14
15
  export declare const REVIEW_FINDING_SOURCE_PHASES: readonly ["built_asset", "dependency", "edit_mode_app", "iac", "image", "source"];
15
16
  export declare const REVIEW_FINDING_CATEGORIES: readonly ["external_policy", "misconfiguration", "security_agent", "secret", "sensitive_data", "static_analysis", "vulnerability"];
16
17
  export declare const REVIEW_FINDING_SEVERITIES: readonly ["critical", "high", "medium", "low", "info"];
@@ -189,6 +190,10 @@ export type CreateReviewPolicyBody = {
189
190
  policyType: 'built_in_security_scan';
190
191
  mode?: ReviewPolicyMode;
191
192
  scope?: ReviewPolicyScopeInput;
193
+ } | {
194
+ policyType: 'dependency_vulnerability_scan';
195
+ mode?: ReviewPolicyMode;
196
+ scope?: ReviewPolicyScopeInput;
192
197
  } | {
193
198
  policyType: 'security_agent';
194
199
  source: 'superblocks_managed';
@@ -209,6 +214,11 @@ export type UpdateReviewPolicyConfigBody = {
209
214
  policyType: 'built_in_security_scan';
210
215
  mode: ReviewPolicyMode;
211
216
  scope?: ReviewPolicyScopeInput;
217
+ } | {
218
+ activeVersionId: string;
219
+ policyType: 'dependency_vulnerability_scan';
220
+ mode: ReviewPolicyMode;
221
+ scope?: ReviewPolicyScopeInput;
212
222
  } | {
213
223
  activeVersionId: string;
214
224
  policyType: 'security_agent';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/reviewPolicy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/reviewPolicy/index.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,25 @@ export const BUILT_IN_SECURITY_SCAN_NAME = 'Superblocks Security Scan';
6
6
  // Display name of the Superblocks-managed security agent. One per organization; its prompt is owned
7
7
  // by the platform, so admins can only enable it and choose its mode.
8
8
  export const SUPERBLOCKS_SECURITY_AGENT_NAME = 'Superblocks Security Agent';
9
- export const REVIEW_POLICY_TYPES = ['built_in_security_scan', 'security_agent'];
9
+ // Display name of the Superblocks-managed pre-publish dependency CVE check. One per organization;
10
+ // runs synchronously against the vulnerability index, so it needs no runner config to enable.
11
+ export const DEPENDENCY_VULNERABILITY_SCAN_NAME = 'Superblocks Dependency Vulnerability Scan';
12
+ export const REVIEW_POLICY_TYPES = ['built_in_security_scan', 'security_agent', 'dependency_vulnerability_scan'];
10
13
  export const REVIEW_POLICY_SOURCES = ['admin_configured', 'superblocks_managed'];
11
14
  export const REVIEW_POLICY_TRIGGERS = ['before_deploy', 'after_checkpoint', 'manual'];
12
15
  export const REVIEW_POLICY_EXECUTION_CONTEXTS = [
13
16
  'edit_mode_app',
14
17
  'superblocks_sabs_built_assets',
15
18
  'superblocks_sabs_dependency_metadata',
16
- 'superblocks_sabs_source_snapshot'
19
+ 'superblocks_sabs_source_snapshot',
20
+ 'dependency_manifest'
17
21
  ];
18
- export const REVIEW_POLICY_RUNTIMES = ['superblocks_dev_server_agent', 'superblocks_sabs'];
22
+ // `superblocks_server` runs in-process on the API server (no external runner), for checks like the
23
+ // dependency vulnerability scan that only need data already indexed at commit time.
24
+ export const REVIEW_POLICY_RUNTIMES = ['superblocks_dev_server_agent', 'superblocks_sabs', 'superblocks_server'];
19
25
  // Ordered from least to most strict; the mode select renders in array order.
20
26
  export const REVIEW_POLICY_MODES = ['advisory', 'blocking_with_exceptions', 'blocking'];
21
- export const REVIEW_POLICY_RUNNER_TYPES = ['built_in_security_scan', 'llm_security_agent'];
27
+ export const REVIEW_POLICY_RUNNER_TYPES = ['built_in_security_scan', 'llm_security_agent', 'dependency_vulnerability_scan'];
22
28
  export const REVIEW_FINDING_SOURCE_PHASES = ['built_asset', 'dependency', 'edit_mode_app', 'iac', 'image', 'source'];
23
29
  export const REVIEW_FINDING_CATEGORIES = [
24
30
  'external_policy',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/reviewPolicy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/reviewPolicy/index.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,28 @@ export declare enum ScimSchema {
4
4
  USER_ENTERPRISE = "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
5
5
  LIST = "urn:ietf:params:scim:api:messages:2.0:ListResponse",
6
6
  PATCH = "urn:ietf:params:scim:api:messages:2.0:PatchOp",
7
- GROUP = "urn:ietf:params:scim:schemas:core:2.0:Group"
7
+ GROUP = "urn:ietf:params:scim:schemas:core:2.0:Group",
8
+ ERROR = "urn:ietf:params:scim:api:messages:2.0:Error"
8
9
  }
10
+ export declare const SCIM_CONTENT_TYPE = "application/scim+json";
11
+ export declare enum ScimErrorType {
12
+ invalidFilter = "invalidFilter",
13
+ tooMany = "tooMany",
14
+ uniqueness = "uniqueness",
15
+ mutability = "mutability",
16
+ invalidSyntax = "invalidSyntax",
17
+ invalidPath = "invalidPath",
18
+ noTarget = "noTarget",
19
+ invalidValue = "invalidValue",
20
+ invalidVers = "invalidVers",
21
+ sensitive = "sensitive"
22
+ }
23
+ export type ScimError = {
24
+ schemas: [ScimSchema.ERROR];
25
+ status: string;
26
+ detail: string;
27
+ scimType?: ScimErrorType;
28
+ };
9
29
  export declare enum OperationCode {
10
30
  replace = "replace",
11
31
  add = "add",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/scim/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/scim/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,25 @@ export var ScimSchema;
6
6
  ScimSchema["LIST"] = "urn:ietf:params:scim:api:messages:2.0:ListResponse";
7
7
  ScimSchema["PATCH"] = "urn:ietf:params:scim:api:messages:2.0:PatchOp";
8
8
  ScimSchema["GROUP"] = "urn:ietf:params:scim:schemas:core:2.0:Group";
9
+ ScimSchema["ERROR"] = "urn:ietf:params:scim:api:messages:2.0:Error";
9
10
  })(ScimSchema || (ScimSchema = {}));
11
+ // RFC 7644 section 3.1: the media type SCIM requests and responses use.
12
+ export const SCIM_CONTENT_TYPE = 'application/scim+json';
13
+ // The ten keywords of RFC 7644 Table 9 (section 3.12). An IdP reads this to decide whether a
14
+ // failure is permanent or worth retrying, so a wrong keyword is worse than none.
15
+ export var ScimErrorType;
16
+ (function (ScimErrorType) {
17
+ ScimErrorType["invalidFilter"] = "invalidFilter";
18
+ ScimErrorType["tooMany"] = "tooMany";
19
+ ScimErrorType["uniqueness"] = "uniqueness";
20
+ ScimErrorType["mutability"] = "mutability";
21
+ ScimErrorType["invalidSyntax"] = "invalidSyntax";
22
+ ScimErrorType["invalidPath"] = "invalidPath";
23
+ ScimErrorType["noTarget"] = "noTarget";
24
+ ScimErrorType["invalidValue"] = "invalidValue";
25
+ ScimErrorType["invalidVers"] = "invalidVers";
26
+ ScimErrorType["sensitive"] = "sensitive";
27
+ })(ScimErrorType || (ScimErrorType = {}));
10
28
  export var OperationCode;
11
29
  (function (OperationCode) {
12
30
  OperationCode["replace"] = "replace";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/scim/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,gDAAkC,CAAA;IAClC,iEAAmD,CAAA;IACnD,4FAA8E,CAAA;IAC9E,yEAA2D,CAAA;IAC3D,qEAAuD,CAAA;IACvD,mEAAqD,CAAA;AACvD,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;IACX,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAQD,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,mCAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AA+FD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/scim/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,gDAAkC,CAAA;IAClC,iEAAmD,CAAA;IACnD,4FAA8E,CAAA;IAC9E,yEAA2D,CAAA;IAC3D,qEAAuD,CAAA;IACvD,mEAAqD,CAAA;IACrD,mEAAqD,CAAA;AACvD,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAEzD,6FAA6F;AAC7F,iFAAiF;AACjF,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,gDAA+B,CAAA;IAC/B,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;AACzB,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB;AAUD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;IACX,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAQD,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,mCAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AA+FD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
@@ -5,6 +5,13 @@ type AttachmentTypeInput = {
5
5
  mimeType?: string | null;
6
6
  };
7
7
  export declare function detectAttachmentArchiveType(input: AttachmentTypeInput): AttachmentArchiveType | null;
8
+ /**
9
+ * Postgres custom-format dumps (`pg_dump -Fc`) use the `.dump` extension and are
10
+ * binary. They must stay reference-only (uploaded to Bucketeer, downloaded via
11
+ * tool) rather than being coerced to text/plain for the model.
12
+ */
13
+ export declare function isDumpAttachment(input: AttachmentTypeInput): boolean;
14
+ export declare function isReferenceOnlySupportedAttachment(input: AttachmentTypeInput): boolean;
8
15
  export declare function classifyAttachmentDelivery(input: AttachmentTypeInput): AttachmentDeliveryMode;
9
16
  export declare function isSupportedAttachmentUploadType(input: AttachmentTypeInput): boolean;
10
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-delivery.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-delivery.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAczD,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAcF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,IAAI,CA2BpG;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,sBAAsB,CAoB7F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAUnF"}
1
+ {"version":3,"file":"attachment-delivery.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-delivery.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAczD,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAcF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,IAAI,CA2BpG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAOpE;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAEtF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,sBAAsB,CAoB7F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAUnF"}
@@ -45,8 +45,23 @@ export function detectAttachmentArchiveType(input) {
45
45
  }
46
46
  return null;
47
47
  }
48
+ /**
49
+ * Postgres custom-format dumps (`pg_dump -Fc`) use the `.dump` extension and are
50
+ * binary. They must stay reference-only (uploaded to Bucketeer, downloaded via
51
+ * tool) rather than being coerced to text/plain for the model.
52
+ */
53
+ export function isDumpAttachment(input) {
54
+ if (normalizeFileName(input.fileName).endsWith('.dump')) {
55
+ return true;
56
+ }
57
+ const mimeType = normalizeMimeType(input.mimeType);
58
+ return mimeType === 'application/x-postgresql-dump' || mimeType === 'application/vnd.postgresql.dump';
59
+ }
60
+ export function isReferenceOnlySupportedAttachment(input) {
61
+ return detectAttachmentArchiveType(input) !== null || isDumpAttachment(input);
62
+ }
48
63
  export function classifyAttachmentDelivery(input) {
49
- if (detectAttachmentArchiveType(input)) {
64
+ if (isReferenceOnlySupportedAttachment(input)) {
50
65
  return 'reference_only';
51
66
  }
52
67
  const mimeType = normalizeMimeType(input.mimeType);
@@ -62,7 +77,7 @@ export function classifyAttachmentDelivery(input) {
62
77
  return 'reference_only';
63
78
  }
64
79
  export function isSupportedAttachmentUploadType(input) {
65
- if (detectAttachmentArchiveType(input)) {
80
+ if (isReferenceOnlySupportedAttachment(input)) {
66
81
  return true;
67
82
  }
68
83
  if (!hasAnyFileName(input) && !normalizeMimeType(input.mimeType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-delivery.js","sourceRoot":"","sources":["../../src/utils/attachment-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment-delivery.js","sourceRoot":"","sources":["../../src/utils/attachment-delivery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=attachment-delivery.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-delivery.test.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-delivery.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { describe, expect, test } from 'vitest';
2
+ import { classifyAttachmentDelivery, isDumpAttachment, isSupportedAttachmentUploadType } from './attachment-delivery.js';
3
+ describe('dump attachments', () => {
4
+ test('detects .dump by filename regardless of mime type', () => {
5
+ expect(isDumpAttachment({ fileName: 'orders_prod.dump' })).toBe(true);
6
+ expect(isDumpAttachment({ fileName: 'orders_prod.dump', mimeType: 'application/octet-stream' })).toBe(true);
7
+ expect(isDumpAttachment({ fileName: 'orders_prod.dump', mimeType: 'text/plain' })).toBe(true);
8
+ expect(isDumpAttachment({ fileName: 'orders_prod.dump', mimeType: '' })).toBe(true);
9
+ expect(isDumpAttachment({ fileName: 'orders.sql' })).toBe(false);
10
+ expect(isDumpAttachment({ fileName: 'archive.zip' })).toBe(false);
11
+ });
12
+ test('detects dumps by dedicated mime type when filename is missing', () => {
13
+ expect(isDumpAttachment({ mimeType: 'application/x-postgresql-dump' })).toBe(true);
14
+ expect(isSupportedAttachmentUploadType({
15
+ mimeType: 'application/x-postgresql-dump'
16
+ })).toBe(true);
17
+ expect(classifyAttachmentDelivery({
18
+ mimeType: 'application/x-postgresql-dump'
19
+ })).toBe('reference_only');
20
+ });
21
+ test('classifies dumps as reference-only so they are not inlined to the model', () => {
22
+ expect(classifyAttachmentDelivery({
23
+ fileName: 'orders_prod.dump',
24
+ mimeType: 'application/octet-stream'
25
+ })).toBe('reference_only');
26
+ });
27
+ test('allows dump uploads as a supported attachment type', () => {
28
+ expect(isSupportedAttachmentUploadType({
29
+ fileName: 'orders_prod.dump',
30
+ mimeType: 'application/octet-stream'
31
+ })).toBe(true);
32
+ expect(isSupportedAttachmentUploadType({
33
+ fileName: 'orders_prod.dump',
34
+ mimeType: ''
35
+ })).toBe(true);
36
+ });
37
+ });
38
+ //# sourceMappingURL=attachment-delivery.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-delivery.test.js","sourceRoot":"","sources":["../../src/utils/attachment-delivery.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAEzH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5G,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,CACJ,+BAA+B,CAAC;YAC9B,QAAQ,EAAE,+BAA+B;SAC1C,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CACJ,0BAA0B,CAAC;YACzB,QAAQ,EAAE,+BAA+B;SAC1C,CAAC,CACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACnF,MAAM,CACJ,0BAA0B,CAAC;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,0BAA0B;SACrC,CAAC,CACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC9D,MAAM,CACJ,+BAA+B,CAAC;YAC9B,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,0BAA0B;SACrC,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CACJ,+BAA+B,CAAC;YAC9B,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,EAAE;SACb,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -146,8 +146,9 @@ export declare function uploadAttachmentToServerApi(params: {
146
146
  * internals into the UI, so the verbatim path is gated on this code rather
147
147
  * than on the presence of the field.
148
148
  */
149
- export type UserFacingUploadErrorCode = 'attachment_content_mismatch';
149
+ export type UserFacingUploadErrorCode = 'attachment_content_mismatch' | 'attachment_invalid';
150
150
  export declare const ATTACHMENT_CONTENT_MISMATCH_CODE: UserFacingUploadErrorCode;
151
+ export declare const ATTACHMENT_INVALID_CODE: UserFacingUploadErrorCode;
151
152
  export declare class AttachmentUploadApiError extends Error {
152
153
  readonly code: UserFacingUploadErrorCode;
153
154
  readonly status: number;
@@ -159,7 +160,7 @@ export declare class AttachmentUploadApiError extends Error {
159
160
  export declare function isUserFacingUploadError(error: unknown): error is AttachmentUploadApiError;
160
161
  /**
161
162
  * Pull the server's user-facing `{ code, error }` pair out of a response body.
162
- * Returns undefined unless `code` is {@link ATTACHMENT_CONTENT_MISMATCH_CODE},
163
+ * Returns undefined unless `code` is a recognized user-facing upload error,
163
164
  * and for non-JSON bodies, non-string `error` fields, and blank strings, so
164
165
  * the caller keeps the diagnostic form that still carries the HTTP status.
165
166
  */
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,yBAAyB,+TAsC5B,CAAC;AAkBX,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,+BAA+B,GAAG;IACrC,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,IAAI,GACJ,IAAI,GACJ,wBAAwB,GACxB,2BAA2B,GAC3B,yBAAyB,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,+BAA+B,CAAC;AAEpC,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,uBAAuB,CAAC;IACjC,SAAS,EAAE,yBAAyB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAGtE,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,SAAS,CAYpH;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuB5D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAY5F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAmCjD;AAOD;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBvF;AAMD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,GAAG,MAAM,GAAG,SAAS,CA2BrB;AAqDD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE;IACR,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,0BAA0B,GAAG,IAAI,CAkInC;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,UAAU,EAAE,0BAA0B,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC,GAAG,QAAQ,CAmBX;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,QAAQ,EAAE,yBAAyB,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,sBAAsB,CAgBzB;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAC,MAAM,EAAE;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,0BAA0B,CAAC;IACvC,SAAS,EAAE,yBAAyB,CAAC;IACrC,OAAO,EAAE,uBAAuB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAwDrC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,GAAG,oBAAoB,CAAC;AAE7F,eAAO,MAAM,gCAAgC,EAAE,yBAAyD,CAAC;AACzG,eAAO,MAAM,uBAAuB,EAAE,yBAAgD,CAAC;AAEvF,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,yBAAyB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAM1F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAEzF;AAcD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqBzH"}
@@ -28,6 +28,7 @@ const TEXT_ATTACHMENT_MIME_TYPES = {
28
28
  txt: 'text/plain',
29
29
  yaml: 'text/yaml'
30
30
  };
31
+ const POSTGRES_DUMP_MIME_TYPES = new Set(['application/vnd.postgresql.dump', 'application/x-postgresql-dump']);
31
32
  export const TEXT_LIKE_FILE_EXTENSIONS = [
32
33
  '.txt',
33
34
  '.text',
@@ -102,6 +103,9 @@ function normalizeNonEmptyString(value) {
102
103
  }
103
104
  export function isTextLikeMimeType(mimeType) {
104
105
  const normalizedMimeType = mimeType.toLowerCase();
106
+ if (POSTGRES_DUMP_MIME_TYPES.has(normalizedMimeType)) {
107
+ return false;
108
+ }
105
109
  return (normalizedMimeType.startsWith('text/') ||
106
110
  normalizedMimeType.includes('json') ||
107
111
  normalizedMimeType.includes('xml') ||
@@ -185,6 +189,9 @@ export function getAttachmentMimeTypeFromFileName(fileName) {
185
189
  if (normalizedFileName.endsWith('.jpeg')) {
186
190
  return 'image/jpeg';
187
191
  }
192
+ if (normalizedFileName.endsWith('.dump')) {
193
+ return 'application/x-postgresql-dump';
194
+ }
188
195
  return getTextLikeMimeTypeFromFileName(normalizedFileName);
189
196
  }
190
197
  function isProviderSafeTextMimeType(mimeType) {
@@ -444,6 +451,7 @@ export async function uploadAttachmentToServerApi(params) {
444
451
  return (await response.json());
445
452
  }
446
453
  export const ATTACHMENT_CONTENT_MISMATCH_CODE = 'attachment_content_mismatch';
454
+ export const ATTACHMENT_INVALID_CODE = 'attachment_invalid';
447
455
  export class AttachmentUploadApiError extends Error {
448
456
  code;
449
457
  status;
@@ -465,11 +473,11 @@ function readStringProperty(value, key) {
465
473
  return typeof property === 'string' ? property : undefined;
466
474
  }
467
475
  function isUserFacingUploadErrorCode(code) {
468
- return code === ATTACHMENT_CONTENT_MISMATCH_CODE;
476
+ return code === ATTACHMENT_CONTENT_MISMATCH_CODE || code === ATTACHMENT_INVALID_CODE;
469
477
  }
470
478
  /**
471
479
  * Pull the server's user-facing `{ code, error }` pair out of a response body.
472
- * Returns undefined unless `code` is {@link ATTACHMENT_CONTENT_MISMATCH_CODE},
480
+ * Returns undefined unless `code` is a recognized user-facing upload error,
473
481
  * and for non-JSON bodies, non-string `error` fields, and blank strings, so
474
482
  * the caller keeps the diagnostic form that still carries the HTTP status.
475
483
  */