@cellarnode/ui 0.206.0 → 0.208.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 (358) hide show
  1. package/dist/agent/composer.d.ts.map +1 -1
  2. package/dist/agent/composer.js +63 -52
  3. package/dist/agent/composer.js.map +1 -1
  4. package/dist/agent/context.d.ts.map +1 -1
  5. package/dist/agent/context.js +4 -3
  6. package/dist/agent/context.js.map +1 -1
  7. package/dist/agent/conversation.d.ts.map +1 -1
  8. package/dist/agent/conversation.js +12 -12
  9. package/dist/agent/conversation.js.map +1 -1
  10. package/dist/agent/dropzone.d.ts.map +1 -1
  11. package/dist/agent/dropzone.js +31 -32
  12. package/dist/agent/dropzone.js.map +1 -1
  13. package/dist/agent/markdown.js +4 -4
  14. package/dist/agent/markdown.js.map +1 -1
  15. package/dist/agent/mentions.d.ts.map +1 -1
  16. package/dist/agent/mentions.js +4 -2
  17. package/dist/agent/mentions.js.map +1 -1
  18. package/dist/agent/message.d.ts.map +1 -1
  19. package/dist/agent/message.js +2 -1
  20. package/dist/agent/message.js.map +1 -1
  21. package/dist/agent/quote-reply.d.ts.map +1 -1
  22. package/dist/agent/quote-reply.js +13 -7
  23. package/dist/agent/quote-reply.js.map +1 -1
  24. package/dist/agent/suggestions.d.ts.map +1 -1
  25. package/dist/agent/suggestions.js +12 -10
  26. package/dist/agent/suggestions.js.map +1 -1
  27. package/dist/brand/brand-assets-section.js +3 -3
  28. package/dist/brand/brand-assets-section.js.map +1 -1
  29. package/dist/brand/public-brand-profile.d.ts.map +1 -1
  30. package/dist/brand/public-brand-profile.js +3 -2
  31. package/dist/brand/public-brand-profile.js.map +1 -1
  32. package/dist/brand/use-brand-generation.d.ts.map +1 -1
  33. package/dist/brand/use-brand-generation.js +12 -7
  34. package/dist/brand/use-brand-generation.js.map +1 -1
  35. package/dist/brand/use-brand-image-operation-result.d.ts.map +1 -1
  36. package/dist/brand/use-brand-image-operation-result.js +26 -13
  37. package/dist/brand/use-brand-image-operation-result.js.map +1 -1
  38. package/dist/brand/use-brand-profile-acceptance.d.ts.map +1 -1
  39. package/dist/brand/use-brand-profile-acceptance.js +4 -2
  40. package/dist/brand/use-brand-profile-acceptance.js.map +1 -1
  41. package/dist/brand/use-brand-public-visibility.d.ts.map +1 -1
  42. package/dist/brand/use-brand-public-visibility.js +4 -2
  43. package/dist/brand/use-brand-public-visibility.js.map +1 -1
  44. package/dist/brand/use-org-scoped-state.d.ts.map +1 -1
  45. package/dist/brand/use-org-scoped-state.js +3 -6
  46. package/dist/brand/use-org-scoped-state.js.map +1 -1
  47. package/dist/chat/chat-composer.d.ts.map +1 -1
  48. package/dist/chat/chat-composer.js +92 -57
  49. package/dist/chat/chat-composer.js.map +1 -1
  50. package/dist/chat/chat-surface.d.ts.map +1 -1
  51. package/dist/chat/chat-surface.js +3 -3
  52. package/dist/chat/chat-surface.js.map +1 -1
  53. package/dist/chat/messenger-screen/messenger-screen.d.ts.map +1 -1
  54. package/dist/chat/messenger-screen/messenger-screen.js +12 -9
  55. package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
  56. package/dist/chat/messenger-screen/room-panel.js +3 -1
  57. package/dist/chat/messenger-screen/room-panel.js.map +1 -1
  58. package/dist/chat/use-stick-to-bottom.d.ts.map +1 -1
  59. package/dist/chat/use-stick-to-bottom.js +42 -19
  60. package/dist/chat/use-stick-to-bottom.js.map +1 -1
  61. package/dist/commercial-price/commercial-price-format.d.ts +2 -0
  62. package/dist/commercial-price/commercial-price-format.d.ts.map +1 -1
  63. package/dist/commercial-price/commercial-price-format.js +4 -0
  64. package/dist/commercial-price/commercial-price-format.js.map +1 -1
  65. package/dist/commercial-price/commercial-terms.d.ts.map +1 -1
  66. package/dist/commercial-price/commercial-terms.js +9 -1
  67. package/dist/commercial-price/commercial-terms.js.map +1 -1
  68. package/dist/components/animated-shadcn-select.d.ts +2 -1
  69. package/dist/components/animated-shadcn-select.d.ts.map +1 -1
  70. package/dist/components/animated-shadcn-select.js +1 -1
  71. package/dist/components/animated-shadcn-select.js.map +1 -1
  72. package/dist/components/api-error-message.d.ts +17 -0
  73. package/dist/components/api-error-message.d.ts.map +1 -0
  74. package/dist/components/api-error-message.js +13 -0
  75. package/dist/components/api-error-message.js.map +1 -0
  76. package/dist/components/attachment-row.d.ts.map +1 -1
  77. package/dist/components/attachment-row.js +9 -1
  78. package/dist/components/attachment-row.js.map +1 -1
  79. package/dist/components/branch-resolution-modal.d.ts +9 -1
  80. package/dist/components/branch-resolution-modal.d.ts.map +1 -1
  81. package/dist/components/branch-resolution-modal.js +11 -5
  82. package/dist/components/branch-resolution-modal.js.map +1 -1
  83. package/dist/components/certification-upload-card.d.ts +19 -1
  84. package/dist/components/certification-upload-card.d.ts.map +1 -1
  85. package/dist/components/certification-upload-card.js +35 -7
  86. package/dist/components/certification-upload-card.js.map +1 -1
  87. package/dist/components/composition-editor.d.ts +24 -1
  88. package/dist/components/composition-editor.d.ts.map +1 -1
  89. package/dist/components/composition-editor.js +65 -13
  90. package/dist/components/composition-editor.js.map +1 -1
  91. package/dist/components/copy-button.js +4 -4
  92. package/dist/components/copy-button.js.map +1 -1
  93. package/dist/components/currency-select.d.ts +11 -1
  94. package/dist/components/currency-select.d.ts.map +1 -1
  95. package/dist/components/currency-select.js +2 -2
  96. package/dist/components/currency-select.js.map +1 -1
  97. package/dist/components/file-dropzone.d.ts.map +1 -1
  98. package/dist/components/file-dropzone.js +4 -1
  99. package/dist/components/file-dropzone.js.map +1 -1
  100. package/dist/components/sortable-card-shell.js +3 -3
  101. package/dist/components/sortable-card-shell.js.map +1 -1
  102. package/dist/components/supporting-pane-layout.d.ts.map +1 -1
  103. package/dist/components/supporting-pane-layout.js +18 -14
  104. package/dist/components/supporting-pane-layout.js.map +1 -1
  105. package/dist/index.d.ts +4 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -0
  108. package/dist/index.js.map +1 -1
  109. package/dist/invite-confirm/invite-confirm-page.js +3 -3
  110. package/dist/invite-confirm/invite-confirm-page.js.map +1 -1
  111. package/dist/invite-confirm/use-invite-confirm.d.ts.map +1 -1
  112. package/dist/invite-confirm/use-invite-confirm.js +5 -5
  113. package/dist/invite-confirm/use-invite-confirm.js.map +1 -1
  114. package/dist/lib/describe-api-error.d.ts +19 -0
  115. package/dist/lib/describe-api-error.d.ts.map +1 -0
  116. package/dist/lib/describe-api-error.js +228 -0
  117. package/dist/lib/describe-api-error.js.map +1 -0
  118. package/dist/lib/occurrence-keys.d.ts +5 -0
  119. package/dist/lib/occurrence-keys.d.ts.map +1 -0
  120. package/dist/lib/occurrence-keys.js +10 -0
  121. package/dist/lib/occurrence-keys.js.map +1 -0
  122. package/dist/markets/market-opportunities-table.d.ts.map +1 -1
  123. package/dist/markets/market-opportunities-table.js +14 -12
  124. package/dist/markets/market-opportunities-table.js.map +1 -1
  125. package/dist/mcp-connect/mcp-connect-panel.d.ts.map +1 -1
  126. package/dist/mcp-connect/mcp-connect-panel.js +9 -8
  127. package/dist/mcp-connect/mcp-connect-panel.js.map +1 -1
  128. package/dist/moderation/moderation-scope.js +4 -4
  129. package/dist/moderation/moderation-scope.js.map +1 -1
  130. package/dist/offer/counter-slide-over.d.ts +38 -12
  131. package/dist/offer/counter-slide-over.d.ts.map +1 -1
  132. package/dist/offer/counter-slide-over.js +130 -36
  133. package/dist/offer/counter-slide-over.js.map +1 -1
  134. package/dist/offer/facts-card.d.ts +3 -1
  135. package/dist/offer/facts-card.d.ts.map +1 -1
  136. package/dist/offer/facts-card.js +19 -10
  137. package/dist/offer/facts-card.js.map +1 -1
  138. package/dist/offer/index.d.ts +1 -1
  139. package/dist/offer/index.d.ts.map +1 -1
  140. package/dist/offer/index.js.map +1 -1
  141. package/dist/offer/negotiation-flow-timeline.d.ts.map +1 -1
  142. package/dist/offer/negotiation-flow-timeline.js +7 -4
  143. package/dist/offer/negotiation-flow-timeline.js.map +1 -1
  144. package/dist/offer/offer-document.d.ts.map +1 -1
  145. package/dist/offer/offer-document.js +8 -30
  146. package/dist/offer/offer-document.js.map +1 -1
  147. package/dist/offer/offer-product-record.d.ts.map +1 -1
  148. package/dist/offer/offer-product-record.js +7 -2
  149. package/dist/offer/offer-product-record.js.map +1 -1
  150. package/dist/offer/offered-product-props.d.ts +20 -0
  151. package/dist/offer/offered-product-props.d.ts.map +1 -0
  152. package/dist/offer/offered-product-props.js +42 -0
  153. package/dist/offer/offered-product-props.js.map +1 -0
  154. package/dist/offer/round-diff-banner.d.ts.map +1 -1
  155. package/dist/offer/round-diff-banner.js +6 -1
  156. package/dist/offer/round-diff-banner.js.map +1 -1
  157. package/dist/offer/terms-card.d.ts.map +1 -1
  158. package/dist/offer/terms-card.js +2 -0
  159. package/dist/offer/terms-card.js.map +1 -1
  160. package/dist/offer/timeline-event.d.ts.map +1 -1
  161. package/dist/offer/timeline-event.js +7 -4
  162. package/dist/offer/timeline-event.js.map +1 -1
  163. package/dist/offer/types.d.ts +4 -0
  164. package/dist/offer/types.d.ts.map +1 -1
  165. package/dist/opportunities/heading-level-context.d.ts.map +1 -1
  166. package/dist/opportunities/heading-level-context.js +1 -1
  167. package/dist/opportunities/heading-level-context.js.map +1 -1
  168. package/dist/opportunities/index.d.ts +5 -1
  169. package/dist/opportunities/index.d.ts.map +1 -1
  170. package/dist/opportunities/index.js +2 -0
  171. package/dist/opportunities/index.js.map +1 -1
  172. package/dist/opportunities/opportunity-add-to-journey-button.js +6 -6
  173. package/dist/opportunities/opportunity-add-to-journey-button.js.map +1 -1
  174. package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts +14 -1
  175. package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts.map +1 -1
  176. package/dist/opportunities/wizard/allowed-delivery-terms-section.js +84 -4
  177. package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
  178. package/dist/opportunities/wizard/mixed-delivery-terms.d.ts +25 -0
  179. package/dist/opportunities/wizard/mixed-delivery-terms.d.ts.map +1 -0
  180. package/dist/opportunities/wizard/mixed-delivery-terms.js +33 -0
  181. package/dist/opportunities/wizard/mixed-delivery-terms.js.map +1 -0
  182. package/dist/opportunities/wizard/opportunity-wizard.d.ts +18 -0
  183. package/dist/opportunities/wizard/opportunity-wizard.d.ts.map +1 -1
  184. package/dist/opportunities/wizard/opportunity-wizard.js +30 -63
  185. package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
  186. package/dist/opportunities/wizard/package-sizes-field.d.ts +13 -0
  187. package/dist/opportunities/wizard/package-sizes-field.d.ts.map +1 -0
  188. package/dist/opportunities/wizard/package-sizes-field.js +66 -0
  189. package/dist/opportunities/wizard/package-sizes-field.js.map +1 -0
  190. package/dist/opportunities/wizard/price-ranges-editor.d.ts +17 -0
  191. package/dist/opportunities/wizard/price-ranges-editor.d.ts.map +1 -0
  192. package/dist/opportunities/wizard/price-ranges-editor.js +84 -0
  193. package/dist/opportunities/wizard/price-ranges-editor.js.map +1 -0
  194. package/dist/opportunities/wizard/price-ranges.d.ts +54 -0
  195. package/dist/opportunities/wizard/price-ranges.d.ts.map +1 -0
  196. package/dist/opportunities/wizard/price-ranges.js +104 -0
  197. package/dist/opportunities/wizard/price-ranges.js.map +1 -0
  198. package/dist/opportunities/wizard/publish-issues.d.ts +32 -0
  199. package/dist/opportunities/wizard/publish-issues.d.ts.map +1 -0
  200. package/dist/opportunities/wizard/publish-issues.js +124 -0
  201. package/dist/opportunities/wizard/publish-issues.js.map +1 -0
  202. package/dist/opportunities/wizard/step-opportunities.d.ts.map +1 -1
  203. package/dist/opportunities/wizard/step-opportunities.js +12 -7
  204. package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
  205. package/dist/opportunities/wizard/step-pricing-timeline.d.ts +1 -1
  206. package/dist/opportunities/wizard/step-pricing-timeline.d.ts.map +1 -1
  207. package/dist/opportunities/wizard/step-pricing-timeline.js +7 -9
  208. package/dist/opportunities/wizard/step-pricing-timeline.js.map +1 -1
  209. package/dist/opportunities/wizard/step-review.d.ts +19 -3
  210. package/dist/opportunities/wizard/step-review.d.ts.map +1 -1
  211. package/dist/opportunities/wizard/step-review.js +58 -13
  212. package/dist/opportunities/wizard/step-review.js.map +1 -1
  213. package/dist/opportunities/wizard/wizard.types.d.ts +4 -4
  214. package/dist/opportunities/wizard/wizard.types.d.ts.map +1 -1
  215. package/dist/opportunities/wizard/wizard.types.js +13 -6
  216. package/dist/opportunities/wizard/wizard.types.js.map +1 -1
  217. package/dist/opportunity-facts/build-opportunity-facts.d.ts.map +1 -1
  218. package/dist/opportunity-facts/build-opportunity-facts.js +11 -1
  219. package/dist/opportunity-facts/build-opportunity-facts.js.map +1 -1
  220. package/dist/opportunity-facts/glossary.en.d.ts +34 -0
  221. package/dist/opportunity-facts/glossary.en.d.ts.map +1 -1
  222. package/dist/opportunity-facts/glossary.en.js +34 -0
  223. package/dist/opportunity-facts/glossary.en.js.map +1 -1
  224. package/dist/opportunity-facts/index.d.ts +3 -1
  225. package/dist/opportunity-facts/index.d.ts.map +1 -1
  226. package/dist/opportunity-facts/index.js +2 -0
  227. package/dist/opportunity-facts/index.js.map +1 -1
  228. package/dist/opportunity-facts/labels.d.ts +38 -0
  229. package/dist/opportunity-facts/labels.d.ts.map +1 -1
  230. package/dist/opportunity-facts/labels.js +34 -0
  231. package/dist/opportunity-facts/labels.js.map +1 -1
  232. package/dist/opportunity-facts/opportunity-fact-sheet.d.ts +9 -1
  233. package/dist/opportunity-facts/opportunity-fact-sheet.d.ts.map +1 -1
  234. package/dist/opportunity-facts/opportunity-fact-sheet.js +21 -2
  235. package/dist/opportunity-facts/opportunity-fact-sheet.js.map +1 -1
  236. package/dist/opportunity-facts/price-cases-section.d.ts +18 -0
  237. package/dist/opportunity-facts/price-cases-section.d.ts.map +1 -0
  238. package/dist/opportunity-facts/price-cases-section.js +36 -0
  239. package/dist/opportunity-facts/price-cases-section.js.map +1 -0
  240. package/dist/opportunity-facts/price-cases.d.ts +5 -0
  241. package/dist/opportunity-facts/price-cases.d.ts.map +1 -0
  242. package/dist/opportunity-facts/price-cases.js +127 -0
  243. package/dist/opportunity-facts/price-cases.js.map +1 -0
  244. package/dist/opportunity-facts/source-document-download.d.ts +34 -0
  245. package/dist/opportunity-facts/source-document-download.d.ts.map +1 -0
  246. package/dist/opportunity-facts/source-document-download.js +91 -0
  247. package/dist/opportunity-facts/source-document-download.js.map +1 -0
  248. package/dist/opportunity-facts/types.d.ts +69 -0
  249. package/dist/opportunity-facts/types.d.ts.map +1 -1
  250. package/dist/org/invite-member-dialog.js +7 -7
  251. package/dist/org/invite-member-dialog.js.map +1 -1
  252. package/dist/org/team-management.js +5 -5
  253. package/dist/org/team-management.js.map +1 -1
  254. package/dist/portfolio/include-in-matching-toggle.js +4 -4
  255. package/dist/portfolio/include-in-matching-toggle.js.map +1 -1
  256. package/dist/portfolio-import/_internal/review-hydration.d.ts +29 -0
  257. package/dist/portfolio-import/_internal/review-hydration.d.ts.map +1 -0
  258. package/dist/portfolio-import/_internal/review-hydration.js +224 -0
  259. package/dist/portfolio-import/_internal/review-hydration.js.map +1 -0
  260. package/dist/portfolio-import/import-job-detail-view.d.ts +6 -0
  261. package/dist/portfolio-import/import-job-detail-view.d.ts.map +1 -1
  262. package/dist/portfolio-import/import-job-detail-view.js +27 -21
  263. package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
  264. package/dist/portfolio-import/import-job-panels.d.ts +1 -0
  265. package/dist/portfolio-import/import-job-panels.d.ts.map +1 -1
  266. package/dist/portfolio-import/import-job-panels.js +15 -13
  267. package/dist/portfolio-import/import-job-panels.js.map +1 -1
  268. package/dist/portfolio-import/index.d.ts +1 -1
  269. package/dist/portfolio-import/index.d.ts.map +1 -1
  270. package/dist/portfolio-import/review-queue-panel.d.ts +12 -1
  271. package/dist/portfolio-import/review-queue-panel.d.ts.map +1 -1
  272. package/dist/portfolio-import/review-queue-panel.js +137 -36
  273. package/dist/portfolio-import/review-queue-panel.js.map +1 -1
  274. package/dist/portfolio-import/session/import-job.d.ts.map +1 -1
  275. package/dist/portfolio-import/session/import-job.js +94 -22
  276. package/dist/portfolio-import/session/import-job.js.map +1 -1
  277. package/dist/portfolio-import/session/index.d.ts +2 -2
  278. package/dist/portfolio-import/session/index.d.ts.map +1 -1
  279. package/dist/portfolio-import/session/index.js +1 -1
  280. package/dist/portfolio-import/session/index.js.map +1 -1
  281. package/dist/portfolio-import/session/save-review-field.d.ts +29 -4
  282. package/dist/portfolio-import/session/save-review-field.d.ts.map +1 -1
  283. package/dist/portfolio-import/session/save-review-field.js +115 -30
  284. package/dist/portfolio-import/session/save-review-field.js.map +1 -1
  285. package/dist/portfolio-import/session/types.d.ts +49 -2
  286. package/dist/portfolio-import/session/types.d.ts.map +1 -1
  287. package/dist/portfolio-import/types.d.ts +13 -0
  288. package/dist/portfolio-import/types.d.ts.map +1 -1
  289. package/dist/portfolio-import/types.js.map +1 -1
  290. package/dist/portfolio-import/use-flagged-variants.d.ts +4 -0
  291. package/dist/portfolio-import/use-flagged-variants.d.ts.map +1 -1
  292. package/dist/portfolio-import/use-flagged-variants.js +46 -8
  293. package/dist/portfolio-import/use-flagged-variants.js.map +1 -1
  294. package/dist/product-editor/field-routing.d.ts +2 -1
  295. package/dist/product-editor/field-routing.d.ts.map +1 -1
  296. package/dist/product-editor/field-routing.js +9 -1
  297. package/dist/product-editor/field-routing.js.map +1 -1
  298. package/dist/product-editor/index.d.ts +1 -1
  299. package/dist/product-editor/index.d.ts.map +1 -1
  300. package/dist/product-editor/index.js.map +1 -1
  301. package/dist/product-editor/product-editor-form.d.ts +37 -2
  302. package/dist/product-editor/product-editor-form.d.ts.map +1 -1
  303. package/dist/product-editor/product-editor-form.js +96 -3
  304. package/dist/product-editor/product-editor-form.js.map +1 -1
  305. package/dist/product-editor/product-editor-surface.d.ts.map +1 -1
  306. package/dist/product-editor/product-editor-surface.js +2 -4
  307. package/dist/product-editor/product-editor-surface.js.map +1 -1
  308. package/dist/product-editor/product-editor.d.ts.map +1 -1
  309. package/dist/product-editor/product-editor.js +17 -6
  310. package/dist/product-editor/product-editor.js.map +1 -1
  311. package/dist/product-editor/schema.d.ts +20 -0
  312. package/dist/product-editor/schema.d.ts.map +1 -1
  313. package/dist/product-editor/schema.js +70 -0
  314. package/dist/product-editor/schema.js.map +1 -1
  315. package/dist/product-editor/tabs/product-composition-section.d.ts +26 -0
  316. package/dist/product-editor/tabs/product-composition-section.d.ts.map +1 -0
  317. package/dist/product-editor/tabs/product-composition-section.js +47 -0
  318. package/dist/product-editor/tabs/product-composition-section.js.map +1 -0
  319. package/dist/product-editor/tabs/product-essentials-details-sections.d.ts +4 -2
  320. package/dist/product-editor/tabs/product-essentials-details-sections.d.ts.map +1 -1
  321. package/dist/product-editor/tabs/product-essentials-details-sections.js +4 -2
  322. package/dist/product-editor/tabs/product-essentials-details-sections.js.map +1 -1
  323. package/dist/product-editor/tabs/product-essentials-tab.d.ts +4 -2
  324. package/dist/product-editor/tabs/product-essentials-tab.d.ts.map +1 -1
  325. package/dist/product-editor/tabs/product-essentials-tab.js +2 -2
  326. package/dist/product-editor/tabs/product-essentials-tab.js.map +1 -1
  327. package/dist/product-editor/tabs/product-production-capacity-field.d.ts +23 -0
  328. package/dist/product-editor/tabs/product-production-capacity-field.d.ts.map +1 -0
  329. package/dist/product-editor/tabs/product-production-capacity-field.js +57 -0
  330. package/dist/product-editor/tabs/product-production-capacity-field.js.map +1 -0
  331. package/dist/product-editor/tabs/product-resources-tab.d.ts.map +1 -1
  332. package/dist/product-editor/tabs/product-resources-tab.js +1 -1
  333. package/dist/product-editor/tabs/product-resources-tab.js.map +1 -1
  334. package/dist/product-editor/tabs/resources/certifications-panel.d.ts.map +1 -1
  335. package/dist/product-editor/tabs/resources/certifications-panel.js +70 -63
  336. package/dist/product-editor/tabs/resources/certifications-panel.js.map +1 -1
  337. package/dist/product-editor/types.d.ts +61 -4
  338. package/dist/product-editor/types.d.ts.map +1 -1
  339. package/dist/profile/account-edit-form.d.ts.map +1 -1
  340. package/dist/profile/account-edit-form.js +45 -33
  341. package/dist/profile/account-edit-form.js.map +1 -1
  342. package/dist/profile/account-preferences-card.js +3 -3
  343. package/dist/profile/account-preferences-card.js.map +1 -1
  344. package/dist/profile/api-keys/api-key-secret-reveal.js +4 -4
  345. package/dist/profile/api-keys/api-key-secret-reveal.js.map +1 -1
  346. package/dist/profile/api-keys/create-api-key-dialog.js +3 -3
  347. package/dist/profile/api-keys/create-api-key-dialog.js.map +1 -1
  348. package/dist/profile/api-keys/profile-keys-section.js +7 -7
  349. package/dist/profile/api-keys/profile-keys-section.js.map +1 -1
  350. package/dist/profile/importer-profile-view.d.ts.map +1 -1
  351. package/dist/profile/importer-profile-view.js +6 -1
  352. package/dist/profile/importer-profile-view.js.map +1 -1
  353. package/dist/profile/subscription-card.d.ts.map +1 -1
  354. package/dist/profile/subscription-card.js +2 -1
  355. package/dist/profile/subscription-card.js.map +1 -1
  356. package/dist/upload-link/upload-link-page.js +3 -3
  357. package/dist/upload-link/upload-link-page.js.map +1 -1
  358. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"import-job.d.ts","sourceRoot":"","sources":["../../../src/portfolio-import/session/import-job.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAqD,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAsB7F,OAAO,KAAK,EAA8C,cAAc,EAAE,MAAM,SAAS,CAAC;AAqC1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAG7D"}
1
+ {"version":3,"file":"import-job.d.ts","sourceRoot":"","sources":["../../../src/portfolio-import/session/import-job.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAqD,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAuB7F,OAAO,KAAK,EAA8C,cAAc,EAAE,MAAM,SAAS,CAAC;AAsC1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAI7D"}
@@ -17,6 +17,7 @@ import { ImportProductProgress } from "../import-product-progress.js";
17
17
  import { ReviewQueuePanel } from "../review-queue-panel.js";
18
18
  import { parsePageRanges } from "../page-ranges.js";
19
19
  import { useFlaggedVariants } from "../use-flagged-variants.js";
20
+ import { readReviewReadiness } from "../_internal/review-hydration.js";
20
21
  import { readBottleExtractionVerdict } from "../types.js";
21
22
  import { reviewFieldLabel } from "./review-field-labels.js";
22
23
  import { buildSaveReviewField } from "./save-review-field.js";
@@ -27,6 +28,8 @@ import { defaultExtractionChannelName, useImportSession } from "./use-import-ses
27
28
  function readJobPortfolioId(job) {
28
29
  if (!job)
29
30
  return null;
31
+ if (job.portfolioId)
32
+ return job.portfolioId;
30
33
  const input = job.input;
31
34
  if (input && typeof input === "object" && "portfolioId" in input) {
32
35
  const id = input.portfolioId;
@@ -55,8 +58,9 @@ function withHumanFieldLabels(variants, t) {
55
58
  }));
56
59
  }
57
60
  export function ImportJob(props) {
61
+ const { host } = useImportHost();
58
62
  // Remount per jobId: stepper latch, emissionId set, terminal refs, cited page.
59
- return _jsx(ImportJobMounted, { ...props }, props.jobId);
63
+ return _jsx(ImportJobMounted, { ...props }, `${host.orgId}:${props.jobId}`);
60
64
  }
61
65
  function ImportJobMounted({ jobId, reviewDeepLink = false }) {
62
66
  const { realtime, host } = useImportHost();
@@ -78,26 +82,63 @@ function ImportJobBody({ jobId, reviewDeepLink, stream, }) {
78
82
  if (typeof start === "number" && start >= 1)
79
83
  setCitedPage(start);
80
84
  }, []);
81
- const { variants: rawFlagged, endpointPending: flaggedEndpointPending } = useFlaggedVariants(session.job);
85
+ const portfolioId = readJobPortfolioId(session.job);
86
+ const { variants: rawFlagged, endpointPending: flaggedEndpointPending, hydration, } = useFlaggedVariants(session.job, {
87
+ orgId: host.orgId,
88
+ portfolioId: portfolioId ?? undefined,
89
+ getVariant: fetch.getVariant,
90
+ });
91
+ const reviewT = useCallback((key, fallback) => key === "review.staleReload" && hydration.enabled
92
+ ? t("review.refreshStaleInstructions", "Use each edited field's Skip for now to discard corrections, then choose Refresh review details to review the current product data.")
93
+ : t(key, fallback), [t, hydration.enabled]);
82
94
  const flaggedVariants = useMemo(() => withHumanFieldLabels(rawFlagged, t), [rawFlagged, t]);
83
95
  const flaggedIds = useMemo(() => flaggedVariants.map((v) => v.id), [flaggedVariants]);
96
+ const [reviewedVersions, setReviewedVersions] = useState(() => new Map());
97
+ const onVariantReviewed = useCallback((variant) => {
98
+ setReviewedVersions((previous) => new Map(previous).set(variant.id, variant.reviewRevision));
99
+ }, []);
100
+ const currentPendingCount = flaggedVariants.filter((variant) => !reviewedVersions.has(variant.id) ||
101
+ reviewedVersions.get(variant.id) !== variant.reviewRevision).length;
102
+ const [reviewInteraction, setReviewInteraction] = useState({ dirty: false, pending: false });
103
+ const reviewInteractionRef = useRef(reviewInteraction);
104
+ const onReviewInteractionChange = useCallback((next) => {
105
+ reviewInteractionRef.current = next;
106
+ setReviewInteraction((previous) => previous.dirty === next.dirty && previous.pending === next.pending ? previous : next);
107
+ }, []);
108
+ const readinessKey = [
109
+ ...importSessionKeys.readiness(flaggedIds),
110
+ host.orgId,
111
+ portfolioId,
112
+ jobId,
113
+ flaggedVariants.map((variant) => [variant.id, variant.reviewRevision]),
114
+ ];
84
115
  const readinessQuery = useQuery({
85
- queryKey: importSessionKeys.readiness(flaggedIds),
86
- queryFn: () => fetch.readinessBatch(flaggedIds),
87
- enabled: flaggedIds.length > 0,
116
+ queryKey: readinessKey,
117
+ queryFn: ({ signal }) => readReviewReadiness(fetch.readinessBatch, flaggedIds, {
118
+ portfolioId: portfolioId ?? undefined,
119
+ signal,
120
+ }),
121
+ enabled: !hydration.enabled && flaggedIds.length > 0,
88
122
  retry: false,
89
123
  });
90
124
  const readinessMap = useMemo(() => {
91
125
  const map = new Map();
126
+ for (const [id, entry] of hydration.loaded) {
127
+ if (entry.readiness)
128
+ map.set(id, entry.readiness);
129
+ }
92
130
  const data = readinessQuery.data;
93
131
  if (data) {
94
- for (const [id, value] of Object.entries(data))
95
- map.set(id, value);
132
+ for (const [id, value] of Object.entries(data)) {
133
+ const loadedAt = hydration.loaded.get(id)?.loadedAt ?? 0;
134
+ if (readinessQuery.dataUpdatedAt >= loadedAt)
135
+ map.set(id, value);
136
+ }
96
137
  }
97
138
  // Missing entry = unknown ≠ true. `requireKnownReadiness` gates Approve.
98
139
  // Do not fabricate a 0/1 card while loading or after a batch failure.
99
140
  return map;
100
- }, [readinessQuery.data]);
141
+ }, [readinessQuery.data, readinessQuery.dataUpdatedAt, hydration.loaded]);
101
142
  const toastedReadinessErrorRef = useRef(false);
102
143
  useEffect(() => {
103
144
  if (!readinessQuery.isError) {
@@ -115,19 +156,37 @@ function ImportJobBody({ jobId, reviewDeepLink, stream, }) {
115
156
  getVariant: fetch.getVariant,
116
157
  }), [fetch]);
117
158
  const [savingIds, setSavingIds] = useState(() => new Set());
159
+ const refreshReadiness = readinessQuery.refetch;
160
+ const canReloadDetails = () => !reviewInteractionRef.current.dirty &&
161
+ !reviewInteractionRef.current.pending &&
162
+ !hydration.isReloading();
163
+ const requestDetailReload = (full) => {
164
+ if (!canReloadDetails())
165
+ return;
166
+ if (full)
167
+ hydration.refresh();
168
+ else if (readinessQuery.isError)
169
+ void refreshReadiness();
170
+ else if (hydration.enabled)
171
+ hydration.retry();
172
+ else
173
+ session.refetchJob();
174
+ };
175
+ const reloadDisabled = reviewInteraction.dirty || reviewInteraction.pending || hydration.loading;
118
176
  const onSaveField = useCallback(async (variant, body) => {
119
177
  setSavingIds((prev) => new Set(prev).add(variant.id));
120
178
  try {
121
179
  return await saveField(variant, body);
122
180
  }
123
181
  finally {
182
+ void refreshReadiness();
124
183
  setSavingIds((prev) => {
125
184
  const next = new Set(prev);
126
185
  next.delete(variant.id);
127
186
  return next;
128
187
  });
129
188
  }
130
- }, [saveField]);
189
+ }, [saveField, refreshReadiness]);
131
190
  const onRejectVariant = useCallback(async (variantId) => {
132
191
  await fetch.deleteVariant(variantId);
133
192
  }, [fetch]);
@@ -136,7 +195,8 @@ function ImportJobBody({ jobId, reviewDeepLink, stream, }) {
136
195
  for (const v of flaggedVariants) {
137
196
  const ctx = enumCtxOf(v);
138
197
  for (const f of v.flaggedFields) {
139
- if (f.reason !== "enum_unresolved" && f.kind !== "enum")
198
+ if (f.editable === false ||
199
+ (f.kind !== "enum" && !(f.editable === undefined && f.reason === "enum_unresolved")))
140
200
  continue;
141
201
  const key = enumCtxKey(f.path, ctx);
142
202
  if (!seen.has(key))
@@ -174,7 +234,7 @@ function ImportJobBody({ jobId, reviewDeepLink, stream, }) {
174
234
  return {
175
235
  ...v,
176
236
  flaggedFields: v.flaggedFields.map((f) => {
177
- if (f.reason !== "enum_unresolved" && f.kind !== "enum")
237
+ if (f.kind !== "enum" && !(f.editable === undefined && f.reason === "enum_unresolved"))
178
238
  return f;
179
239
  const key = enumCtxKey(f.path, ctx);
180
240
  const loaded = batch?.options[key];
@@ -211,8 +271,8 @@ function ImportJobBody({ jobId, reviewDeepLink, stream, }) {
211
271
  void qc.invalidateQueries({ queryKey: importSessionKeys.confirmations(jobId) });
212
272
  },
213
273
  });
214
- const portfolioId = readJobPortfolioId(session.job);
215
274
  const reviewCount = session.job?.flaggedCount ?? 0;
275
+ const missingReview = !hydration.enabled && !flaggedEndpointPending && reviewCount > 0 && rawFlagged.length === 0;
216
276
  const documentPane = (_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden lg:block", children: _jsx(ImportDocumentPane, { job: session.job, isLoading: session.jobLoading, compact: false, t: t, sourceUrl: session.sourceUrl, sourceUrlState: session.sourceUrlState, pageNumber: citedPage }) }), _jsx("div", { className: "lg:hidden", children: _jsx(ImportDocumentPane, { job: session.job, isLoading: session.jobLoading, compact: true, t: t, sourceUrl: session.sourceUrl, sourceUrlState: session.sourceUrlState, pageNumber: citedPage }) })] }));
217
277
  return (_jsx(ImportJobDetailView, { width: host.layout ?? "legacy", job: session.job, jobLoading: session.jobLoading, jobError: session.jobError, stream: stream, t: t, callbacks: {
218
278
  onResumePreflight: (action, pagesOverride, overrideReason) => session.resumePreflight.mutate({ action, pagesOverride, overrideReason }),
@@ -222,16 +282,28 @@ function ImportJobBody({ jobId, reviewDeepLink, stream, }) {
222
282
  onOpenProduct: (variantId) => {
223
283
  host.navigate(hrefs.product(portfolioId ?? "", variantId));
224
284
  },
225
- }, resumePreflightPending: session.resumePreflight.isPending, resumeNudgePending: session.resumeNudge.isPending, completionCountsPhase: session.completionCountsPhase, reviewDeepLink: reviewDeepLink, retryHref: hrefs.hub, portfolioHref: hrefs.portfolio(portfolioId ?? undefined), importsHref: hrefs.hub, renderLink: host.renderLink, onCitePage: setCitedPage, documentPaneSlot: documentPane, activityStreamSlot: ({ events, paused }) => (_jsx(ExtractionActivityStream, { events: events, paused: paused, t: t })), productProgressSlot: session.job?.entitiesSummary ? (_jsx(ImportProductProgress, { summary: session.job.entitiesSummary, t: t, onCitePage: citeFromRange })) : null, reviewQueueSlot: flaggedEndpointPending && variantsWithEnum.length === 0 ? null : (_jsx(ReviewQueuePanel, { variants: variantsWithEnum, t: t, onSaveField: onSaveField, savingFieldIds: savingIds, readiness: readinessMap, requireKnownReadiness: true, onToast: host.toast, onReadinessUpdate: (variantId, readiness) => {
226
- qc.setQueryData(importSessionKeys.readiness(flaggedIds), (prev) => ({
227
- ...prev,
228
- [variantId]: readiness,
229
- }));
230
- }, onOpenProduct: (variantId) => {
231
- host.navigate(hrefs.product(portfolioId ?? "", variantId));
232
- }, onRejectVariant: onRejectVariant, onCitePage: citeFromRange, enumOptionsError: (enumQuery.data?.failedKeys.length ?? 0) > 0 ||
233
- enumQuery.isError ||
234
- (fetch.loadEnumOptions == null && enumLoadSpecs.length > 0), onRetryEnumOptions: () => void enumQuery.refetch() })), reviewQueuePendingSlot: flaggedEndpointPending && variantsWithEnum.length === 0 ? (_jsx("p", { className: "rounded-2xl bg-card p-4 text-sm text-muted-foreground", children: interpolate(t("review.endpoint_pending", "{{count}} fields need review. Detailed list loading…"), {
285
+ }, resumePreflightPending: session.resumePreflight.isPending, resumeNudgePending: session.resumeNudge.isPending, completionCountsPhase: session.completionCountsPhase, reviewDeepLink: reviewDeepLink, reviewPendingCount: hydration.enabled ? currentPendingCount : undefined, reviewUnavailable: hydration.enabled && (hydration.loading || hydration.unavailable), reviewQueueRequired: hydration.loading || hydration.unavailable || variantsWithEnum.length > 0, retryHref: hrefs.hub, portfolioHref: hrefs.portfolio(portfolioId ?? undefined), importsHref: hrefs.hub, renderLink: host.renderLink, onCitePage: setCitedPage, documentPaneSlot: documentPane, activityStreamSlot: ({ events, paused }) => (_jsx(ExtractionActivityStream, { events: events, paused: paused, t: t })), productProgressSlot: session.job?.entitiesSummary ? (_jsx(ImportProductProgress, { summary: session.job.entitiesSummary, t: t, onCitePage: citeFromRange })) : null, reviewQueueSlot: !hydration.enabled && flaggedEndpointPending && variantsWithEnum.length === 0 ? null : (_jsxs(_Fragment, { children: [(hydration.loading ||
286
+ hydration.unavailable ||
287
+ missingReview ||
288
+ readinessQuery.isError) && (_jsxs("div", { role: "status", className: "rounded-2xl bg-card p-4 text-sm text-muted-foreground", children: [_jsx("p", { children: hydration.loading
289
+ ? interpolate(t("review.loadingDetails", "Loading review details: {{loaded}} of {{total}} products."), { loaded: hydration.loaded.size, total: hydration.ids.length })
290
+ : t("review.detailsUnavailable", "Some review details are unavailable. Retry to load the current product data.") }), !hydration.loading && hydration.failedIds.length > 0 && (_jsx("p", { children: interpolate(t("review.unavailableCount", "Unavailable review details: {{count}}. You can review products whose details are available."), { count: hydration.failedIds.length }) })), !hydration.loading && (_jsx("button", { type: "button", className: "mt-2 underline disabled:cursor-not-allowed disabled:no-underline disabled:opacity-50", disabled: reloadDisabled, onClick: () => requestDetailReload(false), children: t("review.retryDetails", "Retry review details") }))] })), hydration.enabled && !hydration.loading && rawFlagged.length > 0 && (_jsx("button", { type: "button", className: "mt-2 text-sm text-muted-foreground underline disabled:cursor-not-allowed disabled:no-underline disabled:opacity-50", disabled: reloadDisabled, onClick: () => requestDetailReload(true), children: t("review.refreshDetails", "Refresh review details") })), reviewInteraction.dirty && (_jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: t("review.refreshDirty", "Finish this review or use each edited field's Skip for now to discard unsaved corrections before refreshing. Row Skip keeps your corrections.") })), _jsx(ReviewQueuePanel, { interactionLocked: hydration.loading, canInteract: () => !hydration.isReloading(), onInteractionStateChange: onReviewInteractionChange, onVariantReviewed: onVariantReviewed, completionBlocked: hydration.loading ||
291
+ hydration.unavailable ||
292
+ flaggedEndpointPending ||
293
+ missingReview ||
294
+ readinessQuery.isError, variants: variantsWithEnum.map((variant) => ({
295
+ ...variant,
296
+ reviewUnavailable: variant.reviewUnavailable || hydration.loading || readinessQuery.isError,
297
+ })), t: reviewT, onSaveField: onSaveField, savingFieldIds: savingIds, readiness: readinessMap, requireKnownReadiness: true, onToast: host.toast, onReadinessUpdate: (variantId, readiness) => {
298
+ qc.setQueryData(readinessKey, (prev) => ({
299
+ ...prev,
300
+ [variantId]: readiness,
301
+ }));
302
+ }, onOpenProduct: (variantId) => {
303
+ host.navigate(hrefs.product(portfolioId ?? "", variantId));
304
+ }, onRejectVariant: onRejectVariant, onCitePage: citeFromRange, enumOptionsError: (enumQuery.data?.failedKeys.length ?? 0) > 0 ||
305
+ enumQuery.isError ||
306
+ (fetch.loadEnumOptions == null && enumLoadSpecs.length > 0), onRetryEnumOptions: () => void enumQuery.refetch() }, `${host.orgId}:${jobId}:${portfolioId ?? ""}`)] })), reviewQueuePendingSlot: flaggedEndpointPending && variantsWithEnum.length === 0 ? (_jsx("p", { className: "rounded-2xl bg-card p-4 text-sm text-muted-foreground", children: interpolate(t("review.endpoint_pending", "{{count}} fields need review. Detailed list loading…"), {
235
307
  count: reviewCount,
236
308
  }) })) : null, bottlePhotosSlot: session.job ? (_jsx(BottlePhotosStatus, { job: session.job, refetchJob: session.refetchJob, t: t, sp3Job: bottleJobQuery.data ?? null, sp3IsLoading: bottleJobQuery.isLoading, bottlePhotosHref: hrefs.bottlePhotos, confirmationsHref: hrefs.confirmations })) : null, confirmationsSlot: ({ dedupReached }) => (_jsx(ConfirmationsPanel, { t: t, pairs: confirmationsQuery.data?.data ?? [], isLoading: confirmationsQuery.isLoading, error: confirmationsQuery.error, onConfirm: (pairId, body) => confirmMutation.mutateAsync({ pairId, body }), onDismiss: (pairId) => dismissMutation.mutateAsync(pairId), confirmPending: confirmMutation.isPending, showEmptyState: dedupReached })) }));
237
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import-job.js","sourceRoot":"","sources":["../../../src/portfolio-import/session/import-job.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-job.js","sourceRoot":"","sources":["../../../src/portfolio-import/session/import-job.tsx"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ export { ImportJob } from "./import-job.js";
3
3
  export { ImportStart } from "./import-start.js";
4
4
  export { useImportSession, resetImportSessionReconcileTrackingForTests, } from "./use-import-session.js";
5
5
  export { deriveImportConnectionRegister } from "./connection-register.js";
6
- export { buildSaveReviewField } from "./save-review-field.js";
6
+ export { buildSaveReviewField, isReviewStaleVersionError, ReviewStaleVersionError, } from "./save-review-field.js";
7
7
  export { reviewFieldLabel, REVIEW_FIELD_LABELS } from "./review-field-labels.js";
8
8
  export { importSessionKeys } from "./import-keys.js";
9
- export type { ImportAdapterError, ImportAdapterErrorFields, ImportConnectionRegister, ImportEnumOption, ImportEnumOptionsContext, ImportFetchAdapter, ImportHostConfig, ImportHostProps, ImportHrefs, ImportJobProps, ImportPortfolioSummary, ImportRealtimeAdapter, ImportResumeNudgeBody, ImportSourceUrl, ImportStartProps, ImportUploadArgs, ImportUploadResult, ImportVariantWriteResult, } from "./types.js";
9
+ export type { ImportAdapterError, ImportAdapterErrorFields, ImportConnectionRegister, ImportEnumOption, ImportEnumOptionsContext, ImportFetchAdapter, ImportHostConfig, ImportHostProps, ImportHrefs, ImportJobProps, ImportPortfolioSummary, ImportRealtimeAdapter, ImportResumeNudgeBody, ImportSourceUrl, ImportStartProps, ImportUploadArgs, ImportUploadResult, ImportVariantWriteResult, ImportVariantDetail, ImportVariantReadOptions, } from "./types.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/portfolio-import/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,2CAA2C,GAC5C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/portfolio-import/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,2CAA2C,GAC5C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
@@ -3,7 +3,7 @@ export { ImportJob } from "./import-job.js";
3
3
  export { ImportStart } from "./import-start.js";
4
4
  export { useImportSession, resetImportSessionReconcileTrackingForTests, } from "./use-import-session.js";
5
5
  export { deriveImportConnectionRegister } from "./connection-register.js";
6
- export { buildSaveReviewField } from "./save-review-field.js";
6
+ export { buildSaveReviewField, isReviewStaleVersionError, ReviewStaleVersionError, } from "./save-review-field.js";
7
7
  export { reviewFieldLabel, REVIEW_FIELD_LABELS } from "./review-field-labels.js";
8
8
  export { importSessionKeys } from "./import-keys.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/portfolio-import/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,2CAA2C,GAC5C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/portfolio-import/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,2CAA2C,GAC5C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Review-queue persistence (CEL-1624). Lifted from e-label
3
3
  * `save-review-field.ts` (CEL-1358): Approve is the only commit — corrections
4
- * PUT if staged, then validation PUT. Versionless 409
5
- * `VARIANT_VERSION_CONFLICT` self-heals once via `getVariant`; a second 409
6
- * stays a toast and staged edits remain. Partial failure (corrections
7
- * persisted, validation failed) stamps the advanced `version` on the error.
4
+ * PUT if staged, then validation PUT, both sending the version the reviewer
5
+ * saw. A 409 `VARIANT_VERSION_CONFLICT` is NEVER retried (CEL-2674): it throws
6
+ * `ReviewStaleVersionError` and the panel asks for a new review. Partial
7
+ * failure (corrections persisted, validation failed otherwise) stamps the
8
+ * advanced `version` on the error.
8
9
  */
9
10
  import type { ReviewSaveFieldBody } from "../review-queue-panel.js";
10
11
  import type { ReviewFlaggedVariant } from "../types.js";
@@ -14,6 +15,30 @@ export interface SaveReviewFieldDeps {
14
15
  updateValidation: ImportFetchAdapter["updateValidation"];
15
16
  getVariant: ImportFetchAdapter["getVariant"];
16
17
  }
18
+ /**
19
+ * CEL-2674: the version the reviewer saw is stale. Approving would approve a
20
+ * product another session edited after the reviewer looked at it, so this is
21
+ * NEVER retried: the helper throws this instead, and the panel asks for a new
22
+ * review. It deliberately carries NO `version`: the panel adopts any `version`
23
+ * on a rejection (partial-failure channel), which would make a retry approve
24
+ * the changed product.
25
+ */
26
+ export declare class ReviewStaleVersionError extends Error {
27
+ readonly code: "REVIEW_STALE_VERSION";
28
+ /** The server's current version when it could be read; informational only. */
29
+ readonly currentVersion: number | null;
30
+ /** Names of the fields that differ, or null when the server did not say. */
31
+ readonly changedFields: readonly string[] | null;
32
+ constructor(currentVersion: number | null, changedFields: readonly string[] | null);
33
+ }
34
+ export declare function isReviewStaleVersionError(err: unknown): err is ReviewStaleVersionError;
35
+ /**
36
+ * After a refresh, only the fields the reviewer is actually shown (the row's
37
+ * flagged paths, plus whatever was already being tracked) become the new
38
+ * reviewed baseline. Taking every key `getVariant` returns would list
39
+ * "Version" and "Updated At" as changed fields on the next 409.
40
+ */
41
+ export declare function pickReviewedFields(fields: Readonly<Record<string, unknown>> | undefined, variant: Pick<ReviewFlaggedVariant, "flaggedFields" | "reviewedValues">): Readonly<Record<string, unknown>> | undefined;
17
42
  export declare function buildSaveReviewField(deps: SaveReviewFieldDeps): (variant: ReviewFlaggedVariant, body: ReviewSaveFieldBody) => Promise<{
18
43
  version?: number;
19
44
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"save-review-field.d.ts","sourceRoot":"","sources":["../../../src/portfolio-import/session/save-review-field.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACzD,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CAC9C;AAiBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,IAE1D,SAAS,oBAAoB,EAC7B,MAAM,mBAAmB,KACxB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCjC"}
1
+ {"version":3,"file":"save-review-field.d.ts","sourceRoot":"","sources":["../../../src/portfolio-import/session/save-review-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACzD,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAG,sBAAsB,CAAU;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;gBACrC,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;CAMnF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,uBAAuB,CAOtF;AAiDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EACrD,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,eAAe,GAAG,gBAAgB,CAAC,GACtE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAS/C;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,IAuB1D,SAAS,oBAAoB,EAC7B,MAAM,mBAAmB,KACxB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BjC"}
@@ -1,11 +1,86 @@
1
- function isVersionlessConflict(err) {
1
+ /**
2
+ * CEL-2674: the version the reviewer saw is stale. Approving would approve a
3
+ * product another session edited after the reviewer looked at it, so this is
4
+ * NEVER retried: the helper throws this instead, and the panel asks for a new
5
+ * review. It deliberately carries NO `version`: the panel adopts any `version`
6
+ * on a rejection (partial-failure channel), which would make a retry approve
7
+ * the changed product.
8
+ */
9
+ export class ReviewStaleVersionError extends Error {
10
+ code = "REVIEW_STALE_VERSION";
11
+ /** The server's current version when it could be read; informational only. */
12
+ currentVersion;
13
+ /** Names of the fields that differ, or null when the server did not say. */
14
+ changedFields;
15
+ constructor(currentVersion, changedFields) {
16
+ super("This product changed since you reviewed it");
17
+ this.name = "ReviewStaleVersionError";
18
+ this.currentVersion = currentVersion;
19
+ this.changedFields = changedFields;
20
+ }
21
+ }
22
+ export function isReviewStaleVersionError(err) {
23
+ return (err instanceof ReviewStaleVersionError ||
24
+ (!!err &&
25
+ typeof err === "object" &&
26
+ err.code === "REVIEW_STALE_VERSION"));
27
+ }
28
+ function isVersionConflict(err) {
2
29
  if (!err || typeof err !== "object")
3
30
  return false;
4
31
  const e = err;
5
- if (e.status !== 409 || e.code !== "VARIANT_VERSION_CONFLICT")
6
- return false;
7
- const bodyVersion = e.body && typeof e.body === "object" ? e.body.version : undefined;
8
- return typeof bodyVersion !== "number";
32
+ return e.status === 409 && e.code === "VARIANT_VERSION_CONFLICT";
33
+ }
34
+ /** `changedFields` from the 409 body when the backend names them. */
35
+ function bodyChangedFields(err) {
36
+ const body = err.body;
37
+ const list = body && typeof body === "object"
38
+ ? body.changedFields
39
+ : undefined;
40
+ return Array.isArray(list) && list.every((x) => typeof x === "string")
41
+ ? list
42
+ : null;
43
+ }
44
+ /** Stable, comparison-friendly form: undefined is null, object keys are sorted. */
45
+ function normalize(value) {
46
+ if (value === undefined)
47
+ return null;
48
+ if (Array.isArray(value))
49
+ return value.map(normalize);
50
+ if (value && typeof value === "object") {
51
+ return Object.fromEntries(Object.entries(value)
52
+ .sort(([x], [y]) => (x < y ? -1 : x > y ? 1 : 0))
53
+ .map(([k, v]) => [k, normalize(v)]));
54
+ }
55
+ return value;
56
+ }
57
+ /**
58
+ * Only the fields the reviewer was shown are compared (a key present only in
59
+ * the fresh row, such as `updatedAt`, is not something they reviewed), and
60
+ * absent vs null, key order and nesting order are not changes.
61
+ */
62
+ function diffFields(reviewed, fresh) {
63
+ if (!reviewed || !fresh)
64
+ return null;
65
+ return Object.keys(reviewed).filter((k) => JSON.stringify(normalize(reviewed[k])) !== JSON.stringify(normalize(fresh[k])));
66
+ }
67
+ /**
68
+ * After a refresh, only the fields the reviewer is actually shown (the row's
69
+ * flagged paths, plus whatever was already being tracked) become the new
70
+ * reviewed baseline. Taking every key `getVariant` returns would list
71
+ * "Version" and "Updated At" as changed fields on the next 409.
72
+ */
73
+ export function pickReviewedFields(fields, variant) {
74
+ if (!fields)
75
+ return undefined;
76
+ const wanted = new Set();
77
+ for (const f of variant.flaggedFields) {
78
+ wanted.add(f.path);
79
+ wanted.add(f.path.split(".")[0] ?? f.path);
80
+ }
81
+ for (const key of Object.keys(variant.reviewedValues ?? {}))
82
+ wanted.add(key);
83
+ return Object.fromEntries(Object.entries(fields).filter(([key]) => wanted.has(key)));
9
84
  }
10
85
  function stampVersion(err, version) {
11
86
  if (err instanceof Error) {
@@ -13,16 +88,43 @@ function stampVersion(err, version) {
13
88
  }
14
89
  }
15
90
  export function buildSaveReviewField(deps) {
91
+ /**
92
+ * A 409 from either write is NEVER retried (CEL-2674). Read the fresh state
93
+ * only to tell the reviewer what changed; failing to read it must not mask
94
+ * the conflict.
95
+ */
96
+ async function staleError(variant, err) {
97
+ let currentVersion = null;
98
+ let changedFields = bodyChangedFields(err);
99
+ try {
100
+ const fresh = await deps.getVariant(variant.id);
101
+ if (typeof fresh.version === "number")
102
+ currentVersion = fresh.version;
103
+ changedFields ??= diffFields(variant.reviewedValues, fresh.fields);
104
+ }
105
+ catch {
106
+ /* keep what we have */
107
+ }
108
+ return new ReviewStaleVersionError(currentVersion, changedFields);
109
+ }
16
110
  return async function saveReviewField(variant, body) {
17
111
  let version = variant.version;
18
112
  const hasCorrections = Object.keys(body.corrections).length > 0;
19
113
  if (hasCorrections) {
20
- const updated = await deps.updateVariant(variant.id, {
21
- ...body.corrections,
22
- version,
23
- });
24
- if (typeof updated.version === "number")
25
- version = updated.version;
114
+ try {
115
+ const updated = await deps.updateVariant(variant.id, {
116
+ ...body.corrections,
117
+ version,
118
+ });
119
+ if (typeof updated.version === "number")
120
+ version = updated.version;
121
+ }
122
+ catch (err) {
123
+ // The reviewer's staged correction hit a product changed elsewhere.
124
+ if (isVersionConflict(err))
125
+ throw await staleError(variant, err);
126
+ throw err;
127
+ }
26
128
  }
27
129
  try {
28
130
  const validated = await deps.updateValidation(variant.id, {
@@ -32,25 +134,8 @@ export function buildSaveReviewField(deps) {
32
134
  return { version: typeof validated.version === "number" ? validated.version : version };
33
135
  }
34
136
  catch (err) {
35
- if (isVersionlessConflict(err)) {
36
- const fresh = await deps.getVariant(variant.id);
37
- if (typeof fresh.version === "number" && fresh.version !== version) {
38
- version = fresh.version;
39
- try {
40
- const validated = await deps.updateValidation(variant.id, {
41
- validationStatus: "approved",
42
- version,
43
- });
44
- return {
45
- version: typeof validated.version === "number" ? validated.version : version,
46
- };
47
- }
48
- catch (retryErr) {
49
- stampVersion(retryErr, version);
50
- throw retryErr;
51
- }
52
- }
53
- }
137
+ if (isVersionConflict(err))
138
+ throw await staleError(variant, err);
54
139
  if (hasCorrections && typeof version === "number")
55
140
  stampVersion(err, version);
56
141
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"save-review-field.js","sourceRoot":"","sources":["../../../src/portfolio-import/session/save-review-field.ts"],"names":[],"mappings":"AAkBA,SAAS,qBAAqB,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAAyD,CAAC;IACpE,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B;QAAE,OAAO,KAAK,CAAC;IAC5E,MAAM,WAAW,GACf,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,IAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,OAAe;IACjD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACxB,GAAoC,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAyB;IAC5D,OAAO,KAAK,UAAU,eAAe,CACnC,OAA6B,EAC7B,IAAyB;QAEzB,IAAI,OAAO,GAAuB,OAAO,CAAC,OAAO,CAAC;QAElD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBACnD,GAAI,IAAI,CAAC,WAAoE;gBAC7E,OAAO;aACR,CAAC,CAAC;YACH,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACrE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE;gBACxD,gBAAgB,EAAE,UAAU;gBAC5B,OAAO;aACR,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACnE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE;4BACxD,gBAAgB,EAAE,UAAU;4BAC5B,OAAO;yBACR,CAAC,CAAC;wBACH,OAAO;4BACL,OAAO,EAAE,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;yBAC7E,CAAC;oBACJ,CAAC;oBAAC,OAAO,QAAQ,EAAE,CAAC;wBAClB,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAChC,MAAM,QAAQ,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,cAAc,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"save-review-field.js","sourceRoot":"","sources":["../../../src/portfolio-import/session/save-review-field.ts"],"names":[],"mappings":"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"}