@semiont/cli 0.5.8 → 0.5.10

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 (269) hide show
  1. package/dist/cli.mjs +561 -483
  2. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-C7eE1lVN.js → ArrowsRightLeftIcon-qe5-bw6c.js} +2 -2
  3. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-C7eE1lVN.js.map → ArrowsRightLeftIcon-qe5-bw6c.js.map} +1 -1
  4. package/dist/frontend/dist/assets/{ChevronLeftIcon-BItMAxjy.js → ChevronLeftIcon-FJT3xRR7.js} +2 -2
  5. package/dist/frontend/dist/assets/{ChevronLeftIcon-BItMAxjy.js.map → ChevronLeftIcon-FJT3xRR7.js.map} +1 -1
  6. package/dist/frontend/dist/assets/{CommandLineIcon-BxjxKXBi.js → CommandLineIcon-D3DqthqG.js} +2 -2
  7. package/dist/frontend/dist/assets/{CommandLineIcon-BxjxKXBi.js.map → CommandLineIcon-D3DqthqG.js.map} +1 -1
  8. package/dist/frontend/dist/assets/CookiePreferences-Dt8tnn37.js +2 -0
  9. package/dist/frontend/dist/assets/{CookiePreferences-C6e8MFlf.js.map → CookiePreferences-Dt8tnn37.js.map} +1 -1
  10. package/dist/frontend/dist/assets/KeyboardShortcutsContext-DuPrCuAy.js +2 -0
  11. package/dist/frontend/dist/assets/{KeyboardShortcutsContext-DA7BzKws.js.map → KeyboardShortcutsContext-DuPrCuAy.js.map} +1 -1
  12. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-U4EVBZEV-DckcWLqH.js → PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js} +2 -2
  13. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-U4EVBZEV-DckcWLqH.js.map → PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js.map} +1 -1
  14. package/dist/frontend/dist/assets/ToolbarPanels-CafIWhrJ.js +2 -0
  15. package/dist/frontend/dist/assets/{ToolbarPanels-Caol-m4o.js.map → ToolbarPanels-CafIWhrJ.js.map} +1 -1
  16. package/dist/frontend/dist/assets/{XMarkIcon-D1vU4NLc.js → XMarkIcon-C17nOvTt.js} +2 -2
  17. package/dist/frontend/dist/assets/{XMarkIcon-D1vU4NLc.js.map → XMarkIcon-C17nOvTt.js.map} +1 -1
  18. package/dist/frontend/dist/assets/ar-ZHKO4XDR-CdT7gRuA.js +2 -0
  19. package/dist/frontend/dist/assets/ar-ZHKO4XDR-CdT7gRuA.js.map +1 -0
  20. package/dist/frontend/dist/assets/bn-3BUDKAK5-CO5rYx_K.js +2 -0
  21. package/dist/frontend/dist/assets/bn-3BUDKAK5-CO5rYx_K.js.map +1 -0
  22. package/dist/frontend/dist/assets/client-B-eX6OX_.js +2 -0
  23. package/dist/frontend/dist/assets/{client-B9jbkzjQ.js.map → client-B-eX6OX_.js.map} +1 -1
  24. package/dist/frontend/dist/assets/client-BIkTmQdO.js +2 -0
  25. package/dist/frontend/dist/assets/{client-C-rY9Drq.js.map → client-BIkTmQdO.js.map} +1 -1
  26. package/dist/frontend/dist/assets/client-BykyYEVk.js +2 -0
  27. package/dist/frontend/dist/assets/{client-BGst9qK6.js.map → client-BykyYEVk.js.map} +1 -1
  28. package/dist/frontend/dist/assets/client-D0zS75_0.js +2 -0
  29. package/dist/frontend/dist/assets/{client-DRRNiKHE.js.map → client-D0zS75_0.js.map} +1 -1
  30. package/dist/frontend/dist/assets/cs-2EFEUKTW-DeAOIf_-.js +2 -0
  31. package/dist/frontend/dist/assets/cs-2EFEUKTW-DeAOIf_-.js.map +1 -0
  32. package/dist/frontend/dist/assets/da-SUD3Q44Q-CgozsbCb.js +2 -0
  33. package/dist/frontend/dist/assets/da-SUD3Q44Q-CgozsbCb.js.map +1 -0
  34. package/dist/frontend/dist/assets/de-6IC5QRX7-BE7EFdCc.js +2 -0
  35. package/dist/frontend/dist/assets/de-6IC5QRX7-BE7EFdCc.js.map +1 -0
  36. package/dist/frontend/dist/assets/el-Q4NAXFRC-CnSVRzx3.js +2 -0
  37. package/dist/frontend/dist/assets/el-Q4NAXFRC-CnSVRzx3.js.map +1 -0
  38. package/dist/frontend/dist/assets/en-P2L4X27N-0z6KilQ7.js +1 -0
  39. package/dist/frontend/dist/assets/es-YUKZBD4W-CTA9ZbHB.js +2 -0
  40. package/dist/frontend/dist/assets/es-YUKZBD4W-CTA9ZbHB.js.map +1 -0
  41. package/dist/frontend/dist/assets/fa-OJ47LILE-DtZ-ddud.js +2 -0
  42. package/dist/frontend/dist/assets/fa-OJ47LILE-DtZ-ddud.js.map +1 -0
  43. package/dist/frontend/dist/assets/fi-QFFL5CUB-B_0Fy5E9.js +2 -0
  44. package/dist/frontend/dist/assets/fi-QFFL5CUB-B_0Fy5E9.js.map +1 -0
  45. package/dist/frontend/dist/assets/fr-BOQZZWP4-CLy3hDFG.js +2 -0
  46. package/dist/frontend/dist/assets/fr-BOQZZWP4-CLy3hDFG.js.map +1 -0
  47. package/dist/frontend/dist/assets/he-LXDY3TFA-BlHmt4OT.js +2 -0
  48. package/dist/frontend/dist/assets/he-LXDY3TFA-BlHmt4OT.js.map +1 -0
  49. package/dist/frontend/dist/assets/hi-HOJER77V-D5UtSE45.js +2 -0
  50. package/dist/frontend/dist/assets/hi-HOJER77V-D5UtSE45.js.map +1 -0
  51. package/dist/frontend/dist/assets/i18n-SpKnqnTp.js +2 -0
  52. package/dist/frontend/dist/assets/i18n-SpKnqnTp.js.map +1 -0
  53. package/dist/frontend/dist/assets/id-I5WQ6EWD-C1QdlWFh.js +2 -0
  54. package/dist/frontend/dist/assets/id-I5WQ6EWD-C1QdlWFh.js.map +1 -0
  55. package/dist/frontend/dist/assets/index-BXSJHlqj.js +140 -0
  56. package/dist/frontend/dist/assets/index-BXSJHlqj.js.map +1 -0
  57. package/dist/frontend/dist/assets/index-Cx0aNta6.css +1 -0
  58. package/dist/frontend/dist/assets/it-UYH642IJ-CP5ZdyLJ.js +2 -0
  59. package/dist/frontend/dist/assets/it-UYH642IJ-CP5ZdyLJ.js.map +1 -0
  60. package/dist/frontend/dist/assets/ja-JTVWAC4L-BJZThfyQ.js +2 -0
  61. package/dist/frontend/dist/assets/ja-JTVWAC4L-BJZThfyQ.js.map +1 -0
  62. package/dist/frontend/dist/assets/ko-IHXFMOIZ-j1xQCX4o.js +2 -0
  63. package/dist/frontend/dist/assets/ko-IHXFMOIZ-j1xQCX4o.js.map +1 -0
  64. package/dist/frontend/dist/assets/layout-BD701NmF.js +2 -0
  65. package/dist/frontend/dist/assets/{layout-DZz4A-DV.js.map → layout-BD701NmF.js.map} +1 -1
  66. package/dist/frontend/dist/assets/layout-BY31-yeN.js +2 -0
  67. package/dist/frontend/dist/assets/{layout-V92O6bHB.js.map → layout-BY31-yeN.js.map} +1 -1
  68. package/dist/frontend/dist/assets/layout-Cxdm1QSw.js +2 -0
  69. package/dist/frontend/dist/assets/{layout-BVgMTlxy.js.map → layout-Cxdm1QSw.js.map} +1 -1
  70. package/dist/frontend/dist/assets/layout-DGTYBtjJ.js +2 -0
  71. package/dist/frontend/dist/assets/{layout-B4xpEvfH.js.map → layout-DGTYBtjJ.js.map} +1 -1
  72. package/dist/frontend/dist/assets/ms-JH25VFLO-CBxXu_23.js +2 -0
  73. package/dist/frontend/dist/assets/ms-JH25VFLO-CBxXu_23.js.map +1 -0
  74. package/dist/frontend/dist/assets/nl-SURXW7IQ-Di1Uwfgv.js +2 -0
  75. package/dist/frontend/dist/assets/nl-SURXW7IQ-Di1Uwfgv.js.map +1 -0
  76. package/dist/frontend/dist/assets/no-HXIKQFDZ-BaYnZrFs.js +2 -0
  77. package/dist/frontend/dist/assets/no-HXIKQFDZ-BaYnZrFs.js.map +1 -0
  78. package/dist/frontend/dist/assets/{not-found-CNqSuHBN.js → not-found-Dh1Haw3Q.js} +2 -2
  79. package/dist/frontend/dist/assets/{not-found-CNqSuHBN.js.map → not-found-Dh1Haw3Q.js.map} +1 -1
  80. package/dist/frontend/dist/assets/page-31Agm8Zw.js +2 -0
  81. package/dist/frontend/dist/assets/{page-CVt3BWqf.js.map → page-31Agm8Zw.js.map} +1 -1
  82. package/dist/frontend/dist/assets/page-BV7Fcp6v.js +2 -0
  83. package/dist/frontend/dist/assets/{page-CwNoPSw6.js.map → page-BV7Fcp6v.js.map} +1 -1
  84. package/dist/frontend/dist/assets/page-B_8uan5K.js +2 -0
  85. package/dist/frontend/dist/assets/{page-qJrUTCZM.js.map → page-B_8uan5K.js.map} +1 -1
  86. package/dist/frontend/dist/assets/{page-DbBivSvQ.js → page-BpQsrL4J.js} +2 -2
  87. package/dist/frontend/dist/assets/{page-DbBivSvQ.js.map → page-BpQsrL4J.js.map} +1 -1
  88. package/dist/frontend/dist/assets/page-Bu_Nr4-h.js +2 -0
  89. package/dist/frontend/dist/assets/{page-8rFUHjpC.js.map → page-Bu_Nr4-h.js.map} +1 -1
  90. package/dist/frontend/dist/assets/page-BulxfVIh.js +8 -0
  91. package/dist/frontend/dist/assets/{page-D5QnKqPV.js.map → page-BulxfVIh.js.map} +1 -1
  92. package/dist/frontend/dist/assets/page-CGXJMtNl.js +2 -0
  93. package/dist/frontend/dist/assets/{page-X3Zx2YlR.js.map → page-CGXJMtNl.js.map} +1 -1
  94. package/dist/frontend/dist/assets/{page-DQ2A_snw2.js → page-CNKRCNFf2.js} +2 -2
  95. package/dist/frontend/dist/assets/{page-DQ2A_snw2.js.map → page-CNKRCNFf2.js.map} +1 -1
  96. package/dist/frontend/dist/assets/page-CbiBBpNp.js +2 -0
  97. package/dist/frontend/dist/assets/{page-DMQFfFQT.js.map → page-CbiBBpNp.js.map} +1 -1
  98. package/dist/frontend/dist/assets/page-ClVer5m1.js +2 -0
  99. package/dist/frontend/dist/assets/{page-BD9mtU5B.js.map → page-ClVer5m1.js.map} +1 -1
  100. package/dist/frontend/dist/assets/page-CwXyG2mE.js +2 -0
  101. package/dist/frontend/dist/assets/{page-CjLt-Qwp.js.map → page-CwXyG2mE.js.map} +1 -1
  102. package/dist/frontend/dist/assets/page-D7nHNi_l.js +2 -0
  103. package/dist/frontend/dist/assets/{page-DNQqAPOQ.js.map → page-D7nHNi_l.js.map} +1 -1
  104. package/dist/frontend/dist/assets/page-D7vCOwQw.js +2 -0
  105. package/dist/frontend/dist/assets/{page-DuAK_EQ9.js.map → page-D7vCOwQw.js.map} +1 -1
  106. package/dist/frontend/dist/assets/page-DFLjp4jy.js +2 -0
  107. package/dist/frontend/dist/assets/{page-L2JSv5Kk.js.map → page-DFLjp4jy.js.map} +1 -1
  108. package/dist/frontend/dist/assets/page-DIWUAnia.js +2 -0
  109. package/dist/frontend/dist/assets/{page-fAWusbsJ.js.map → page-DIWUAnia.js.map} +1 -1
  110. package/dist/frontend/dist/assets/{page-Ldhs1vUL.js → page-Detb5S1i.js} +2 -2
  111. package/dist/frontend/dist/assets/{page-Ldhs1vUL.js.map → page-Detb5S1i.js.map} +1 -1
  112. package/dist/frontend/dist/assets/page-DwgJ-g4v.js +2 -0
  113. package/dist/frontend/dist/assets/{page-BKhbEaHw.js.map → page-DwgJ-g4v.js.map} +1 -1
  114. package/dist/frontend/dist/assets/page-bULE4fbO.js +2 -0
  115. package/dist/frontend/dist/assets/{page-BAWsRRtn.js.map → page-bULE4fbO.js.map} +1 -1
  116. package/dist/frontend/dist/assets/{pdf-CwMC2fAS.js → pdf-m5kKOgoq.js} +3 -3
  117. package/dist/frontend/dist/assets/pdf-m5kKOgoq.js.map +1 -0
  118. package/dist/frontend/dist/assets/pl-7A4KU6XK-DQA3xkbx.js +2 -0
  119. package/dist/frontend/dist/assets/pl-7A4KU6XK-DQA3xkbx.js.map +1 -0
  120. package/dist/frontend/dist/assets/pt-6MGYP7Q5-_7GIrTdD.js +2 -0
  121. package/dist/frontend/dist/assets/pt-6MGYP7Q5-_7GIrTdD.js.map +1 -0
  122. package/dist/frontend/dist/assets/ro-IROCHNIA-Dj_II2yF.js +2 -0
  123. package/dist/frontend/dist/assets/ro-IROCHNIA-Dj_II2yF.js.map +1 -0
  124. package/dist/frontend/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  125. package/dist/frontend/dist/assets/{routing-KL8m6eQk.js → routing-BcJzThkn.js} +2 -2
  126. package/dist/frontend/dist/assets/{routing-KL8m6eQk.js.map → routing-BcJzThkn.js.map} +1 -1
  127. package/dist/frontend/dist/assets/routing-C4nGqdKk.js +2 -0
  128. package/dist/frontend/dist/assets/{routing-B7nppFJ0.js.map → routing-C4nGqdKk.js.map} +1 -1
  129. package/dist/frontend/dist/assets/sv-WDJD75CV-BCL-G7dj.js +2 -0
  130. package/dist/frontend/dist/assets/sv-WDJD75CV-BCL-G7dj.js.map +1 -0
  131. package/dist/frontend/dist/assets/th-RIO2E6B3-I2dubvbq.js +2 -0
  132. package/dist/frontend/dist/assets/th-RIO2E6B3-I2dubvbq.js.map +1 -0
  133. package/dist/frontend/dist/assets/tr-TZ7ERCIN-BQ2FKoLo.js +2 -0
  134. package/dist/frontend/dist/assets/tr-TZ7ERCIN-BQ2FKoLo.js.map +1 -0
  135. package/dist/frontend/dist/assets/uk-ZFWDKLUE-BD2ECP6k.js +2 -0
  136. package/dist/frontend/dist/assets/uk-ZFWDKLUE-BD2ECP6k.js.map +1 -0
  137. package/dist/frontend/dist/assets/{vendor-Bd-5Ya9C.js → vendor-B3B3_s0C.js} +2 -2
  138. package/dist/frontend/dist/assets/{vendor-Bd-5Ya9C.js.map → vendor-B3B3_s0C.js.map} +1 -1
  139. package/dist/frontend/dist/assets/vi-UIOSP2JG-DreqKb1C.js +2 -0
  140. package/dist/frontend/dist/assets/vi-UIOSP2JG-DreqKb1C.js.map +1 -0
  141. package/dist/frontend/dist/assets/web-DBB_8PTg.js +2 -0
  142. package/dist/frontend/dist/assets/web-DBB_8PTg.js.map +1 -0
  143. package/dist/frontend/dist/assets/zh-6R6YUY46-C3GMKbzw.js +2 -0
  144. package/dist/frontend/dist/assets/zh-6R6YUY46-C3GMKbzw.js.map +1 -0
  145. package/dist/frontend/dist/index.html +5 -5
  146. package/dist/frontend/dist/messages/ar.json +41 -2
  147. package/dist/frontend/dist/messages/bn.json +41 -2
  148. package/dist/frontend/dist/messages/cs.json +41 -2
  149. package/dist/frontend/dist/messages/da.json +41 -2
  150. package/dist/frontend/dist/messages/de.json +41 -2
  151. package/dist/frontend/dist/messages/el.json +41 -2
  152. package/dist/frontend/dist/messages/en.json +39 -0
  153. package/dist/frontend/dist/messages/es.json +41 -2
  154. package/dist/frontend/dist/messages/fa.json +41 -2
  155. package/dist/frontend/dist/messages/fi.json +41 -2
  156. package/dist/frontend/dist/messages/fr.json +41 -2
  157. package/dist/frontend/dist/messages/he.json +41 -2
  158. package/dist/frontend/dist/messages/hi.json +41 -2
  159. package/dist/frontend/dist/messages/id.json +41 -2
  160. package/dist/frontend/dist/messages/it.json +41 -2
  161. package/dist/frontend/dist/messages/ja.json +41 -2
  162. package/dist/frontend/dist/messages/ko.json +41 -2
  163. package/dist/frontend/dist/messages/ms.json +41 -2
  164. package/dist/frontend/dist/messages/nl.json +41 -2
  165. package/dist/frontend/dist/messages/no.json +41 -2
  166. package/dist/frontend/dist/messages/pl.json +41 -2
  167. package/dist/frontend/dist/messages/pt.json +41 -2
  168. package/dist/frontend/dist/messages/ro.json +41 -2
  169. package/dist/frontend/dist/messages/sv.json +41 -2
  170. package/dist/frontend/dist/messages/th.json +41 -2
  171. package/dist/frontend/dist/messages/tr.json +41 -2
  172. package/dist/frontend/dist/messages/uk.json +41 -2
  173. package/dist/frontend/dist/messages/vi.json +41 -2
  174. package/dist/frontend/dist/messages/zh.json +41 -2
  175. package/dist/frontend/package.json +1 -1
  176. package/package.json +24 -24
  177. package/dist/frontend/dist/assets/CookiePreferences-C6e8MFlf.js +0 -2
  178. package/dist/frontend/dist/assets/KeyboardShortcutsContext-DA7BzKws.js +0 -2
  179. package/dist/frontend/dist/assets/ToolbarPanels-Caol-m4o.js +0 -2
  180. package/dist/frontend/dist/assets/ar-WA47UUWA-Bg_g0nKu.js +0 -2
  181. package/dist/frontend/dist/assets/ar-WA47UUWA-Bg_g0nKu.js.map +0 -1
  182. package/dist/frontend/dist/assets/bn-5ANDRIU6-D3W-5Rrq.js +0 -2
  183. package/dist/frontend/dist/assets/bn-5ANDRIU6-D3W-5Rrq.js.map +0 -1
  184. package/dist/frontend/dist/assets/client-B9jbkzjQ.js +0 -2
  185. package/dist/frontend/dist/assets/client-BGst9qK6.js +0 -2
  186. package/dist/frontend/dist/assets/client-C-rY9Drq.js +0 -2
  187. package/dist/frontend/dist/assets/client-DRRNiKHE.js +0 -2
  188. package/dist/frontend/dist/assets/cs-3RU7F4JX-2LzMsUs5.js +0 -2
  189. package/dist/frontend/dist/assets/cs-3RU7F4JX-2LzMsUs5.js.map +0 -1
  190. package/dist/frontend/dist/assets/da-GSW5P5HG-DyKRptR2.js +0 -2
  191. package/dist/frontend/dist/assets/da-GSW5P5HG-DyKRptR2.js.map +0 -1
  192. package/dist/frontend/dist/assets/de-JUAUYF4Z-DuEZ0oQs.js +0 -2
  193. package/dist/frontend/dist/assets/de-JUAUYF4Z-DuEZ0oQs.js.map +0 -1
  194. package/dist/frontend/dist/assets/el-JNLWCKEC-BfaVdiXe.js +0 -2
  195. package/dist/frontend/dist/assets/el-JNLWCKEC-BfaVdiXe.js.map +0 -1
  196. package/dist/frontend/dist/assets/en-RBN2GUHF-5X5KFFJI.js +0 -1
  197. package/dist/frontend/dist/assets/es-WPOX225H-BOyWYGWS.js +0 -2
  198. package/dist/frontend/dist/assets/es-WPOX225H-BOyWYGWS.js.map +0 -1
  199. package/dist/frontend/dist/assets/fa-TAEP6N77-D2lXkg8T.js +0 -2
  200. package/dist/frontend/dist/assets/fa-TAEP6N77-D2lXkg8T.js.map +0 -1
  201. package/dist/frontend/dist/assets/fi-ZVZHANSP-cxycD0z_.js +0 -2
  202. package/dist/frontend/dist/assets/fi-ZVZHANSP-cxycD0z_.js.map +0 -1
  203. package/dist/frontend/dist/assets/fr-VLZW7M4N-BAn0-4x3.js +0 -2
  204. package/dist/frontend/dist/assets/fr-VLZW7M4N-BAn0-4x3.js.map +0 -1
  205. package/dist/frontend/dist/assets/he-QFAFYA77-CO99w2C-.js +0 -2
  206. package/dist/frontend/dist/assets/he-QFAFYA77-CO99w2C-.js.map +0 -1
  207. package/dist/frontend/dist/assets/hi-AO3DQPCV-B-glDmjd.js +0 -2
  208. package/dist/frontend/dist/assets/hi-AO3DQPCV-B-glDmjd.js.map +0 -1
  209. package/dist/frontend/dist/assets/i18n-X0oNIUcF.js +0 -2
  210. package/dist/frontend/dist/assets/i18n-X0oNIUcF.js.map +0 -1
  211. package/dist/frontend/dist/assets/id-GTXF42WM-pIWqz5D1.js +0 -2
  212. package/dist/frontend/dist/assets/id-GTXF42WM-pIWqz5D1.js.map +0 -1
  213. package/dist/frontend/dist/assets/index-C6By-chD.css +0 -1
  214. package/dist/frontend/dist/assets/index-CbpNJW-y.js +0 -141
  215. package/dist/frontend/dist/assets/index-CbpNJW-y.js.map +0 -1
  216. package/dist/frontend/dist/assets/it-AS5GM232-BIVnRKJx.js +0 -2
  217. package/dist/frontend/dist/assets/it-AS5GM232-BIVnRKJx.js.map +0 -1
  218. package/dist/frontend/dist/assets/ja-GZ4HLUOF-C8mqh5If.js +0 -2
  219. package/dist/frontend/dist/assets/ja-GZ4HLUOF-C8mqh5If.js.map +0 -1
  220. package/dist/frontend/dist/assets/ko-A4XUXFGJ-GlrkT0k0.js +0 -2
  221. package/dist/frontend/dist/assets/ko-A4XUXFGJ-GlrkT0k0.js.map +0 -1
  222. package/dist/frontend/dist/assets/layout-B4xpEvfH.js +0 -2
  223. package/dist/frontend/dist/assets/layout-BVgMTlxy.js +0 -2
  224. package/dist/frontend/dist/assets/layout-DZz4A-DV.js +0 -2
  225. package/dist/frontend/dist/assets/layout-V92O6bHB.js +0 -2
  226. package/dist/frontend/dist/assets/ms-YBAO3S6K-CgcHbUoC.js +0 -2
  227. package/dist/frontend/dist/assets/ms-YBAO3S6K-CgcHbUoC.js.map +0 -1
  228. package/dist/frontend/dist/assets/nl-3TJGIIIU-DCK_99k9.js +0 -2
  229. package/dist/frontend/dist/assets/nl-3TJGIIIU-DCK_99k9.js.map +0 -1
  230. package/dist/frontend/dist/assets/no-4AXIQPRQ-DAsTyX8P.js +0 -2
  231. package/dist/frontend/dist/assets/no-4AXIQPRQ-DAsTyX8P.js.map +0 -1
  232. package/dist/frontend/dist/assets/page-8rFUHjpC.js +0 -2
  233. package/dist/frontend/dist/assets/page-BAWsRRtn.js +0 -2
  234. package/dist/frontend/dist/assets/page-BD9mtU5B.js +0 -2
  235. package/dist/frontend/dist/assets/page-BKhbEaHw.js +0 -2
  236. package/dist/frontend/dist/assets/page-CVt3BWqf.js +0 -2
  237. package/dist/frontend/dist/assets/page-CjLt-Qwp.js +0 -2
  238. package/dist/frontend/dist/assets/page-CwNoPSw6.js +0 -2
  239. package/dist/frontend/dist/assets/page-D5QnKqPV.js +0 -8
  240. package/dist/frontend/dist/assets/page-DMQFfFQT.js +0 -2
  241. package/dist/frontend/dist/assets/page-DNQqAPOQ.js +0 -2
  242. package/dist/frontend/dist/assets/page-DuAK_EQ9.js +0 -2
  243. package/dist/frontend/dist/assets/page-L2JSv5Kk.js +0 -2
  244. package/dist/frontend/dist/assets/page-X3Zx2YlR.js +0 -2
  245. package/dist/frontend/dist/assets/page-fAWusbsJ.js +0 -2
  246. package/dist/frontend/dist/assets/page-qJrUTCZM.js +0 -2
  247. package/dist/frontend/dist/assets/pdf-CwMC2fAS.js.map +0 -1
  248. package/dist/frontend/dist/assets/pl-5GP6GKXO-CMMCajpA.js +0 -2
  249. package/dist/frontend/dist/assets/pl-5GP6GKXO-CMMCajpA.js.map +0 -1
  250. package/dist/frontend/dist/assets/pt-26Y6JFG5-69xFHtfx.js +0 -2
  251. package/dist/frontend/dist/assets/pt-26Y6JFG5-69xFHtfx.js.map +0 -1
  252. package/dist/frontend/dist/assets/ro-C7UXFRWJ-DMzHGaHE.js +0 -2
  253. package/dist/frontend/dist/assets/ro-C7UXFRWJ-DMzHGaHE.js.map +0 -1
  254. package/dist/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js +0 -1
  255. package/dist/frontend/dist/assets/routing-B7nppFJ0.js +0 -2
  256. package/dist/frontend/dist/assets/sv-44DVD76T-BLvpn4fZ.js +0 -2
  257. package/dist/frontend/dist/assets/sv-44DVD76T-BLvpn4fZ.js.map +0 -1
  258. package/dist/frontend/dist/assets/th-GIQRTBOY-Bgb4bUeg.js +0 -2
  259. package/dist/frontend/dist/assets/th-GIQRTBOY-Bgb4bUeg.js.map +0 -1
  260. package/dist/frontend/dist/assets/tr-WMQWO4D6-DfAWOqqm.js +0 -2
  261. package/dist/frontend/dist/assets/tr-WMQWO4D6-DfAWOqqm.js.map +0 -1
  262. package/dist/frontend/dist/assets/uk-I7ML6RGG-Cr0S5UE-.js +0 -2
  263. package/dist/frontend/dist/assets/uk-I7ML6RGG-Cr0S5UE-.js.map +0 -1
  264. package/dist/frontend/dist/assets/vi-FGWECASQ-CLx4LvVe.js +0 -2
  265. package/dist/frontend/dist/assets/vi-FGWECASQ-CLx4LvVe.js.map +0 -1
  266. package/dist/frontend/dist/assets/web-DZNfAXJ8.js +0 -2
  267. package/dist/frontend/dist/assets/web-DZNfAXJ8.js.map +0 -1
  268. package/dist/frontend/dist/assets/zh-L5FN73XC-BpcLGXRm.js +0 -2
  269. package/dist/frontend/dist/assets/zh-L5FN73XC-BpcLGXRm.js.map +0 -1
package/dist/cli.mjs CHANGED
@@ -21443,7 +21443,7 @@ var require_throwError = __commonJS({
21443
21443
  exports.throwError = void 0;
21444
21444
  var Observable_1 = require_Observable();
21445
21445
  var isFunction_1 = require_isFunction();
21446
- function throwError2(errorOrErrorFactory, scheduler) {
21446
+ function throwError(errorOrErrorFactory, scheduler) {
21447
21447
  var errorFactory = isFunction_1.isFunction(errorOrErrorFactory) ? errorOrErrorFactory : function() {
21448
21448
  return errorOrErrorFactory;
21449
21449
  };
@@ -21454,7 +21454,7 @@ var require_throwError = __commonJS({
21454
21454
  return scheduler.schedule(init2, 0, subscriber);
21455
21455
  } : init2);
21456
21456
  }
21457
- exports.throwError = throwError2;
21457
+ exports.throwError = throwError;
21458
21458
  }
21459
21459
  });
21460
21460
 
@@ -23451,13 +23451,13 @@ var require_catchError = __commonJS({
23451
23451
  var innerFrom_1 = require_innerFrom();
23452
23452
  var OperatorSubscriber_1 = require_OperatorSubscriber();
23453
23453
  var lift_1 = require_lift();
23454
- function catchError2(selector) {
23454
+ function catchError(selector) {
23455
23455
  return lift_1.operate(function(source, subscriber) {
23456
23456
  var innerSub = null;
23457
23457
  var syncUnsub = false;
23458
23458
  var handledResult;
23459
23459
  innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) {
23460
- handledResult = innerFrom_1.innerFrom(selector(err, catchError2(selector)(source)));
23460
+ handledResult = innerFrom_1.innerFrom(selector(err, catchError(selector)(source)));
23461
23461
  if (innerSub) {
23462
23462
  innerSub.unsubscribe();
23463
23463
  innerSub = null;
@@ -23473,7 +23473,7 @@ var require_catchError = __commonJS({
23473
23473
  }
23474
23474
  });
23475
23475
  }
23476
- exports.catchError = catchError2;
23476
+ exports.catchError = catchError;
23477
23477
  }
23478
23478
  });
23479
23479
 
@@ -23987,7 +23987,7 @@ var require_take = __commonJS({
23987
23987
  var empty_1 = require_empty();
23988
23988
  var lift_1 = require_lift();
23989
23989
  var OperatorSubscriber_1 = require_OperatorSubscriber();
23990
- function take2(count) {
23990
+ function take(count) {
23991
23991
  return count <= 0 ? function() {
23992
23992
  return empty_1.EMPTY;
23993
23993
  } : lift_1.operate(function(source, subscriber) {
@@ -24002,7 +24002,7 @@ var require_take = __commonJS({
24002
24002
  }));
24003
24003
  });
24004
24004
  }
24005
- exports.take = take2;
24005
+ exports.take = take;
24006
24006
  }
24007
24007
  });
24008
24008
 
@@ -27910,59 +27910,10 @@ var require_operators = __commonJS({
27910
27910
  });
27911
27911
 
27912
27912
  // ../../packages/sdk/dist/index.js
27913
- import { SemiontError, decodeWithCharset, annotationId, resourceId, email as email3, googleCredential, refreshToken, EventBus, baseUrl, accessToken, searchQuery } from "@semiont/core";
27914
- import { SemiontError as SemiontError2, accessToken as accessToken2, annotationId as annotationId2, baseUrl as baseUrl2, entityType, refreshToken as refreshToken2, resourceId as resourceId2, userId } from "@semiont/core";
27913
+ import { decodeWithCharset, busRequest, annotationId, resourceId, email as email3, googleCredential, refreshToken, EventBus, baseUrl, accessToken, SemiontError, searchQuery } from "@semiont/core";
27914
+ import { BusRequestError, SemiontError as SemiontError2, accessToken as accessToken2, annotationId as annotationId2, baseUrl as baseUrl2, entityType, refreshToken as refreshToken2, resourceId as resourceId2, userId } from "@semiont/core";
27915
27915
  import { HttpTransport, HttpContentTransport, APIError } from "@semiont/http-transport";
27916
27916
  import { APIError as APIError2, HttpContentTransport as HttpContentTransport2, HttpTransport as HttpTransport2 } from "@semiont/http-transport";
27917
- async function busRequest(bus, emitChannel, payload, resultChannel, failureChannel, timeoutMs = 3e4) {
27918
- const correlationId = crypto.randomUUID();
27919
- const fullPayload = { ...payload, correlationId };
27920
- const result$ = (0, import_rxjs.merge)(
27921
- bus.stream(resultChannel).pipe(
27922
- (0, import_operators.filter)((e) => e.correlationId === correlationId),
27923
- (0, import_operators.map)((e) => ({ ok: true, response: e.response }))
27924
- ),
27925
- bus.stream(failureChannel).pipe(
27926
- (0, import_operators.filter)((e) => e.correlationId === correlationId),
27927
- (0, import_operators.map)((e) => ({
27928
- ok: false,
27929
- error: new BusRequestError(e.message ?? "Bus request rejected", "bus.rejected", {
27930
- channel: failureChannel,
27931
- correlationId,
27932
- payload: e
27933
- })
27934
- }))
27935
- )
27936
- ).pipe(
27937
- (0, import_operators.take)(1),
27938
- (0, import_operators.timeout)(timeoutMs),
27939
- (0, import_operators.catchError)((err) => {
27940
- if (err instanceof import_rxjs.TimeoutError) {
27941
- return (0, import_rxjs.throwError)(
27942
- () => new BusRequestError(
27943
- `Bus request timed out after ${timeoutMs}ms on ${resultChannel}`,
27944
- "bus.timeout",
27945
- { channel: emitChannel, resultChannel, correlationId, timeoutMs }
27946
- )
27947
- );
27948
- }
27949
- return (0, import_rxjs.throwError)(() => err);
27950
- })
27951
- );
27952
- const resultPromise = (0, import_rxjs.firstValueFrom)(result$);
27953
- try {
27954
- await bus.emit(emitChannel, fullPayload);
27955
- } catch (err) {
27956
- resultPromise.catch(() => {
27957
- });
27958
- throw err;
27959
- }
27960
- const result = await resultPromise;
27961
- if (!result.ok) {
27962
- throw result.error;
27963
- }
27964
- return result.response;
27965
- }
27966
27917
  function createCache(fetchFn) {
27967
27918
  const store$ = new import_rxjs.BehaviorSubject(/* @__PURE__ */ new Map());
27968
27919
  const inflight = /* @__PURE__ */ new Map();
@@ -28050,7 +28001,7 @@ function wrapAsStream(source) {
28050
28001
  return () => sub.unsubscribe();
28051
28002
  });
28052
28003
  }
28053
- var import_rxjs, import_operators, StreamObservable, CacheObservable, wrapperCache, UploadObservable, BusRequestError, ENTITY_TYPES_KEY, TAG_SCHEMAS_KEY, BrowseNamespace, MarkNamespace, BindNamespace, GatherNamespace, MatchNamespace, YieldNamespace, BeckonNamespace, FrameNamespace, JobNamespace, AuthNamespace, AdminNamespace, SemiontClient, REFRESH_BEFORE_EXP_MS;
28004
+ var import_rxjs, import_operators, StreamObservable, CacheObservable, wrapperCache, UploadObservable, ENTITY_TYPES_KEY, TAG_SCHEMAS_KEY, BrowseNamespace, MarkNamespace, BindNamespace, GatherNamespace, MatchNamespace, YieldNamespace, BeckonNamespace, FrameNamespace, JobNamespace, AuthNamespace, AdminNamespace, SemiontClient, REFRESH_BEFORE_EXP_MS;
28054
28005
  var init_dist = __esm({
28055
28006
  "../../packages/sdk/dist/index.js"() {
28056
28007
  "use strict";
@@ -28060,6 +28011,32 @@ var init_dist = __esm({
28060
28011
  then(onfulfilled, onrejected) {
28061
28012
  return (0, import_rxjs.lastValueFrom)(this).then(onfulfilled, onrejected);
28062
28013
  }
28014
+ /**
28015
+ * Subscribe **once**, delivering every emission to `onNext`, and resolve to
28016
+ * the last emitted value on completion (rejects on error, or with rxjs
28017
+ * `EmptyError` if the stream completes without emitting). The
28018
+ * single-subscription way to consume progress *and* the terminal result from
28019
+ * a job-triggering stream — unlike `.subscribe(...)` + `await`, which re-runs
28020
+ * this cold Observable and fires the underlying job twice.
28021
+ */
28022
+ run(onNext) {
28023
+ return new Promise((resolve9, reject) => {
28024
+ let last;
28025
+ let hasValue = false;
28026
+ this.subscribe({
28027
+ next: (v) => {
28028
+ hasValue = true;
28029
+ last = v;
28030
+ onNext(v);
28031
+ },
28032
+ error: reject,
28033
+ complete: () => {
28034
+ if (hasValue) resolve9(last);
28035
+ else reject(new import_rxjs.EmptyError());
28036
+ }
28037
+ });
28038
+ });
28039
+ }
28063
28040
  /** Wrap an existing Observable's subscribe behavior in a StreamObservable. */
28064
28041
  static from(source) {
28065
28042
  return new _StreamObservable((subscriber) => source.subscribe(subscriber));
@@ -28117,11 +28094,28 @@ var init_dist = __esm({
28117
28094
  return onfulfilled ? onfulfilled(result) : result;
28118
28095
  }, onrejected);
28119
28096
  }
28120
- };
28121
- BusRequestError = class extends SemiontError {
28122
- constructor(message, code, details) {
28123
- super(message, code, details);
28124
- this.name = "BusRequestError";
28097
+ /**
28098
+ * Subscribe **once**, delivering every `UploadProgress` event to `onNext`, and
28099
+ * resolve to `{ resourceId }` from the `finished` event (rejects on error, or
28100
+ * if the terminal event isn't `finished`). The single-subscription way to
28101
+ * track upload progress *and* get the resource id — unlike `.subscribe(...)` +
28102
+ * `await`, which re-runs this cold Observable and uploads twice.
28103
+ */
28104
+ run(onNext) {
28105
+ return new Promise((resolve9, reject) => {
28106
+ let last;
28107
+ this.subscribe({
28108
+ next: (e) => {
28109
+ last = e;
28110
+ onNext(e);
28111
+ },
28112
+ error: reject,
28113
+ complete: () => {
28114
+ if (last?.phase === "finished") resolve9({ resourceId: last.resourceId });
28115
+ else reject(new Error(`UploadObservable completed on a non-finished event: ${last?.phase ?? "<none>"}`));
28116
+ }
28117
+ });
28118
+ });
28125
28119
  }
28126
28120
  };
28127
28121
  ENTITY_TYPES_KEY = "_";
@@ -28135,9 +28129,7 @@ var init_dist = __esm({
28135
28129
  const result = await busRequest(
28136
28130
  this.transport,
28137
28131
  "browse:resource-requested",
28138
- { resourceId: id },
28139
- "browse:resource-result",
28140
- "browse:resource-failed"
28132
+ { resourceId: id }
28141
28133
  );
28142
28134
  return result.resource;
28143
28135
  });
@@ -28153,9 +28145,7 @@ var init_dist = __esm({
28153
28145
  entityType: filters.entityType,
28154
28146
  limit: filters.limit ?? 100,
28155
28147
  offset: 0
28156
- },
28157
- "browse:resources-result",
28158
- "browse:resources-failed"
28148
+ }
28159
28149
  );
28160
28150
  return result.resources;
28161
28151
  });
@@ -28163,9 +28153,7 @@ var init_dist = __esm({
28163
28153
  return busRequest(
28164
28154
  this.transport,
28165
28155
  "browse:annotations-requested",
28166
- { resourceId: resourceId22 },
28167
- "browse:annotations-result",
28168
- "browse:annotations-failed"
28156
+ { resourceId: resourceId22 }
28169
28157
  );
28170
28158
  });
28171
28159
  this.annotationDetailCache = createCache(async (annotationId22) => {
@@ -28176,9 +28164,7 @@ var init_dist = __esm({
28176
28164
  const result = await busRequest(
28177
28165
  this.transport,
28178
28166
  "browse:annotation-requested",
28179
- { resourceId: resourceId22, annotationId: annotationId22 },
28180
- "browse:annotation-result",
28181
- "browse:annotation-failed"
28167
+ { resourceId: resourceId22, annotationId: annotationId22 }
28182
28168
  );
28183
28169
  return result.annotation;
28184
28170
  });
@@ -28186,9 +28172,7 @@ var init_dist = __esm({
28186
28172
  const result = await busRequest(
28187
28173
  this.transport,
28188
28174
  "browse:entity-types-requested",
28189
- {},
28190
- "browse:entity-types-result",
28191
- "browse:entity-types-failed"
28175
+ {}
28192
28176
  );
28193
28177
  return result.entityTypes;
28194
28178
  });
@@ -28196,9 +28180,7 @@ var init_dist = __esm({
28196
28180
  const result = await busRequest(
28197
28181
  this.transport,
28198
28182
  "browse:tag-schemas-requested",
28199
- {},
28200
- "browse:tag-schemas-result",
28201
- "browse:tag-schemas-failed"
28183
+ {}
28202
28184
  );
28203
28185
  return result.tagSchemas;
28204
28186
  });
@@ -28206,9 +28188,7 @@ var init_dist = __esm({
28206
28188
  const result = await busRequest(
28207
28189
  this.transport,
28208
28190
  "browse:referenced-by-requested",
28209
- { resourceId: resourceId22 },
28210
- "browse:referenced-by-result",
28211
- "browse:referenced-by-failed"
28191
+ { resourceId: resourceId22 }
28212
28192
  );
28213
28193
  return result.referencedBy;
28214
28194
  });
@@ -28216,9 +28196,7 @@ var init_dist = __esm({
28216
28196
  const result = await busRequest(
28217
28197
  this.transport,
28218
28198
  "browse:events-requested",
28219
- { resourceId: resourceId22 },
28220
- "browse:events-result",
28221
- "browse:events-failed"
28199
+ { resourceId: resourceId22 }
28222
28200
  );
28223
28201
  return result.events;
28224
28202
  });
@@ -28364,9 +28342,7 @@ var init_dist = __esm({
28364
28342
  const result = await busRequest(
28365
28343
  this.transport,
28366
28344
  "browse:events-requested",
28367
- { resourceId: resourceId22 },
28368
- "browse:events-result",
28369
- "browse:events-failed"
28345
+ { resourceId: resourceId22 }
28370
28346
  );
28371
28347
  return result.events;
28372
28348
  }
@@ -28374,9 +28350,7 @@ var init_dist = __esm({
28374
28350
  return busRequest(
28375
28351
  this.transport,
28376
28352
  "browse:annotation-history-requested",
28377
- { resourceId: resourceId22, annotationId: annotationId22 },
28378
- "browse:annotation-history-result",
28379
- "browse:annotation-history-failed"
28353
+ { resourceId: resourceId22, annotationId: annotationId22 }
28380
28354
  );
28381
28355
  }
28382
28356
  async connections(_resourceId) {
@@ -28392,9 +28366,7 @@ var init_dist = __esm({
28392
28366
  return busRequest(
28393
28367
  this.transport,
28394
28368
  "browse:directory-requested",
28395
- { path: dirPath ?? ".", sort: sort ?? "name" },
28396
- "browse:directory-result",
28397
- "browse:directory-failed"
28369
+ { path: dirPath ?? ".", sort: sort ?? "name" }
28398
28370
  );
28399
28371
  }
28400
28372
  // ── UI signals (local bus fan-out) ────────────────────────────────────
@@ -28478,13 +28450,12 @@ var init_dist = __esm({
28478
28450
  this.invalidateResourceLists();
28479
28451
  };
28480
28452
  /**
28481
- * Handler shared by `yield:create-ok` and `yield:update-ok`. Both
28482
- * report a resource mutation with the resourceId as a string (not
28483
- * yet branded), so we brand and apply the same effect as
28484
- * `onArchiveToggled`.
28453
+ * Invalidate caches for a created/updated resource. `yield:create-ok` and
28454
+ * `yield:update-ok` both drive this and carry the resourceId at the same path
28455
+ * (`response.resourceId`) both are correlation replies for busRequest.
28485
28456
  */
28486
- onYieldResourceMutated = (event) => {
28487
- const rId = resourceId(event.resourceId);
28457
+ invalidateMutatedResource = (resourceId22) => {
28458
+ const rId = resourceId(resourceId22);
28488
28459
  this.invalidateResourceDetail(rId);
28489
28460
  this.invalidateResourceLists();
28490
28461
  };
@@ -28508,7 +28479,7 @@ var init_dist = __esm({
28508
28479
  this.invalidateTagSchemas();
28509
28480
  });
28510
28481
  this.on("mark:delete-ok", (event) => {
28511
- this.removeAnnotationDetail(annotationId(event.annotationId));
28482
+ this.removeAnnotationDetail(annotationId(event.response.annotationId));
28512
28483
  });
28513
28484
  this.on("mark:added", (stored) => {
28514
28485
  if (stored.resourceId) {
@@ -28536,8 +28507,8 @@ var init_dist = __esm({
28536
28507
  this.invalidateAnnotationList(event.resourceId);
28537
28508
  }
28538
28509
  });
28539
- this.on("yield:create-ok", this.onYieldResourceMutated);
28540
- this.on("yield:update-ok", this.onYieldResourceMutated);
28510
+ this.on("yield:create-ok", (event) => this.invalidateMutatedResource(event.response.resourceId));
28511
+ this.on("yield:update-ok", (event) => this.invalidateMutatedResource(event.response.resourceId));
28541
28512
  this.on("mark:archived", this.onArchiveToggled);
28542
28513
  this.on("mark:unarchived", this.onArchiveToggled);
28543
28514
  this.on("frame:entity-type-added", () => this.invalidateEntityTypes());
@@ -28556,20 +28527,30 @@ var init_dist = __esm({
28556
28527
  const result = await busRequest(
28557
28528
  this.transport,
28558
28529
  "mark:create-request",
28559
- { resourceId: resourceId22, request: input },
28560
- "mark:create-ok",
28561
- "mark:create-failed"
28530
+ { resourceId: resourceId22, request: input }
28562
28531
  );
28563
28532
  return { annotationId: annotationId(result.annotationId) };
28564
28533
  }
28565
28534
  async delete(resourceId22, annotationId22) {
28566
- await this.transport.emit("mark:delete", { annotationId: annotationId22, resourceId: resourceId22 });
28535
+ await busRequest(
28536
+ this.transport,
28537
+ "mark:delete",
28538
+ { annotationId: annotationId22, resourceId: resourceId22 }
28539
+ );
28567
28540
  }
28568
28541
  async archive(resourceId22) {
28569
- await this.transport.emit("mark:archive", { resourceId: resourceId22 });
28542
+ await busRequest(
28543
+ this.transport,
28544
+ "mark:archive",
28545
+ { resourceId: resourceId22 }
28546
+ );
28570
28547
  }
28571
28548
  async unarchive(resourceId22) {
28572
- await this.transport.emit("mark:unarchive", { resourceId: resourceId22 });
28549
+ await busRequest(
28550
+ this.transport,
28551
+ "mark:unarchive",
28552
+ { resourceId: resourceId22 }
28553
+ );
28573
28554
  }
28574
28555
  assist(resourceId22, motivation, options) {
28575
28556
  return new StreamObservable((subscriber) => {
@@ -28600,9 +28581,7 @@ var init_dist = __esm({
28600
28581
  busRequest(
28601
28582
  this.transport,
28602
28583
  "job:status-requested",
28603
- { jobId },
28604
- "job:status-result",
28605
- "job:status-failed"
28584
+ { jobId }
28606
28585
  ).then((status) => {
28607
28586
  if (done) return;
28608
28587
  if (status.status === "complete") {
@@ -28611,7 +28590,7 @@ var init_dist = __esm({
28611
28590
  kind: "complete",
28612
28591
  data: {
28613
28592
  jobId,
28614
- jobType: status.jobType ?? "annotation",
28593
+ jobType: status.type ?? "annotation",
28615
28594
  resourceId: resourceId22,
28616
28595
  result: status.result
28617
28596
  }
@@ -28731,9 +28710,7 @@ var init_dist = __esm({
28731
28710
  return busRequest(
28732
28711
  this.transport,
28733
28712
  "job:create",
28734
- { jobType, resourceId: resourceId22, params },
28735
- "job:created",
28736
- "job:create-failed"
28713
+ { jobType, resourceId: resourceId22, params }
28737
28714
  );
28738
28715
  }
28739
28716
  };
@@ -28745,12 +28722,11 @@ var init_dist = __esm({
28745
28722
  transport;
28746
28723
  bus;
28747
28724
  async body(resourceId22, annotationId22, operations) {
28748
- await this.transport.emit("bind:update-body", {
28749
- correlationId: crypto.randomUUID(),
28750
- annotationId: annotationId22,
28751
- resourceId: resourceId22,
28752
- operations
28753
- });
28725
+ await busRequest(
28726
+ this.transport,
28727
+ "bind:update-body",
28728
+ { annotationId: annotationId22, resourceId: resourceId22, operations }
28729
+ );
28754
28730
  }
28755
28731
  initiate(input) {
28756
28732
  this.bus.get("bind:initiate").next(input);
@@ -28805,8 +28781,30 @@ var init_dist = __esm({
28805
28781
  };
28806
28782
  });
28807
28783
  }
28808
- resource(_resourceId, _options) {
28809
- throw new Error("Not implemented: gather.resource() \u2014 no backend route yet");
28784
+ /**
28785
+ * Gather whole-resource LLM context a request/reply over
28786
+ * `gather:resource-requested` → `gather:resource-complete`/`-failed`. Unlike
28787
+ * `annotation()` there are no progress events, so this is a `Promise`, not a
28788
+ * `StreamObservable`. Resolves to the unified `GatheredContext` (focus.kind:
28789
+ * 'resource') the backend assembled — the resource focus plus the shared
28790
+ * knowledge graph; rejects with a `BusRequestError` on failure. Defaults mirror
28791
+ * the CLI `gather` command (depth 2, maxResources 10, content in, summary out).
28792
+ */
28793
+ resource(resourceId22, options) {
28794
+ return busRequest(
28795
+ this.transport,
28796
+ "gather:resource-requested",
28797
+ {
28798
+ resourceId: resourceId22,
28799
+ options: {
28800
+ depth: options?.depth ?? 2,
28801
+ maxResources: options?.maxResources ?? 10,
28802
+ includeContent: options?.includeContent ?? true,
28803
+ includeSummary: options?.includeSummary ?? false,
28804
+ ...options?.excludeEntityTypes?.length ? { excludeEntityTypes: options.excludeEntityTypes } : {}
28805
+ }
28806
+ }
28807
+ );
28810
28808
  }
28811
28809
  };
28812
28810
  MatchNamespace = class {
@@ -28910,6 +28908,55 @@ var init_dist = __esm({
28910
28908
  });
28911
28909
  }
28912
28910
  fromAnnotation(resourceId22, annotationId22, options) {
28911
+ return this.runGeneration(resourceId22, {
28912
+ referenceId: annotationId22,
28913
+ title: options.title,
28914
+ prompt: options.prompt,
28915
+ entityTypes: options.entityTypes,
28916
+ language: options.language,
28917
+ sourceLanguage: options.sourceLanguage,
28918
+ temperature: options.temperature,
28919
+ maxTokens: options.maxTokens,
28920
+ storageUri: options.storageUri,
28921
+ outputMediaType: options.outputMediaType,
28922
+ context: options.context
28923
+ });
28924
+ }
28925
+ /**
28926
+ * Generate a new resource *derived from* a whole source resource — translate,
28927
+ * summarize, transform, extract, synthesize, rewrite; the role is carried by
28928
+ * `options.prompt` (+ `language`, `outputMediaType`). No annotation anchor — pass a
28929
+ * resource-focus `GatheredContext` (from `gather.resource`) as `options.context` to
28930
+ * ground it. Long-running/LLM-based; on completion the worker mints a navigable
28931
+ * source→derived reference annotation (provenance).
28932
+ *
28933
+ * ⚠️ Cold `StreamObservable`: do NOT both `.subscribe(...)` and `await` the same
28934
+ * instance — that fires the job twice. Use `.run(onNext)` for progress + result.
28935
+ * See `.plans/MULTICAST-JOB-TRIGGERS.md`.
28936
+ */
28937
+ fromResource(resourceId22, options) {
28938
+ return this.runGeneration(resourceId22, {
28939
+ title: options.title,
28940
+ prompt: options.prompt,
28941
+ entityTypes: options.entityTypes,
28942
+ language: options.language,
28943
+ sourceLanguage: options.sourceLanguage,
28944
+ temperature: options.temperature,
28945
+ maxTokens: options.maxTokens,
28946
+ storageUri: options.storageUri,
28947
+ outputMediaType: options.outputMediaType,
28948
+ context: options.context
28949
+ });
28950
+ }
28951
+ /**
28952
+ * Shared job-lifecycle driver for `fromAnnotation`/`fromResource`. Emits
28953
+ * `job:create` (jobType `generation`) with the supplied `params`, then streams the
28954
+ * unified `job:report-progress`/`job:complete`/`job:fail` lifecycle (with a polled
28955
+ * `job:status` fallback) as `YieldGenerationEvent`s, resolving on the terminal
28956
+ * `complete`. The two public methods differ only in `params` (fromAnnotation sets
28957
+ * `referenceId`; fromResource doesn't).
28958
+ */
28959
+ runGeneration(resourceId22, params) {
28913
28960
  return new StreamObservable((subscriber) => {
28914
28961
  let done = false;
28915
28962
  let pollTimer = null;
@@ -28938,9 +28985,7 @@ var init_dist = __esm({
28938
28985
  busRequest(
28939
28986
  this.transport,
28940
28987
  "job:status-requested",
28941
- { jobId: jid },
28942
- "job:status-result",
28943
- "job:status-failed"
28988
+ { jobId: jid }
28944
28989
  ).then((status) => {
28945
28990
  if (done) return;
28946
28991
  if (status.status === "complete") {
@@ -28949,7 +28994,7 @@ var init_dist = __esm({
28949
28994
  kind: "complete",
28950
28995
  data: {
28951
28996
  jobId: jid,
28952
- jobType: status.jobType ?? "generation",
28997
+ jobType: status.type ?? "generation",
28953
28998
  resourceId: resourceId22,
28954
28999
  result: status.result
28955
29000
  }
@@ -28993,21 +29038,8 @@ var init_dist = __esm({
28993
29038
  {
28994
29039
  jobType: "generation",
28995
29040
  resourceId: resourceId22,
28996
- params: {
28997
- referenceId: annotationId22,
28998
- title: options.title,
28999
- prompt: options.prompt,
29000
- entityTypes: options.entityTypes,
29001
- language: options.language,
29002
- sourceLanguage: options.sourceLanguage,
29003
- temperature: options.temperature,
29004
- maxTokens: options.maxTokens,
29005
- storageUri: options.storageUri,
29006
- context: options.context
29007
- }
29008
- },
29009
- "job:created",
29010
- "job:create-failed"
29041
+ params
29042
+ }
29011
29043
  ).then(({ jobId }) => {
29012
29044
  if (jobId && !done) {
29013
29045
  activeJobId = jobId;
@@ -29030,18 +29062,14 @@ var init_dist = __esm({
29030
29062
  return busRequest(
29031
29063
  this.transport,
29032
29064
  "yield:clone-token-requested",
29033
- { resourceId: resourceId22 },
29034
- "yield:clone-token-generated",
29035
- "yield:clone-token-failed"
29065
+ { resourceId: resourceId22 }
29036
29066
  );
29037
29067
  }
29038
29068
  async fromToken(token) {
29039
29069
  const result = await busRequest(
29040
29070
  this.transport,
29041
29071
  "yield:clone-resource-requested",
29042
- { token },
29043
- "yield:clone-resource-result",
29044
- "yield:clone-resource-failed"
29072
+ { token }
29045
29073
  );
29046
29074
  return result.sourceResource;
29047
29075
  }
@@ -29049,9 +29077,7 @@ var init_dist = __esm({
29049
29077
  const result = await busRequest(
29050
29078
  this.transport,
29051
29079
  "yield:clone-create",
29052
- options,
29053
- "yield:clone-created",
29054
- "yield:clone-create-failed"
29080
+ options
29055
29081
  );
29056
29082
  return { resourceId: resourceId(result.resourceId) };
29057
29083
  }
@@ -29081,16 +29107,32 @@ var init_dist = __esm({
29081
29107
  this.transport = transport;
29082
29108
  }
29083
29109
  transport;
29110
+ // Writes are confirmed: each awaits the backend's correlation-keyed
29111
+ // `*-add-ok`/`*-add-failed` reply (bridged) via busRequest and REJECTS on
29112
+ // failure — a remote add-failure is surfaced to the caller, never silently
29113
+ // dropped (.plans/bugs/BRIDGE-GAPS.md).
29084
29114
  async addEntityType(type) {
29085
- await this.transport.emit("frame:add-entity-type", { tag: type });
29115
+ await busRequest(
29116
+ this.transport,
29117
+ "frame:add-entity-type",
29118
+ { tag: type }
29119
+ );
29086
29120
  }
29087
29121
  async addEntityTypes(types2) {
29088
29122
  for (const tag of types2) {
29089
- await this.transport.emit("frame:add-entity-type", { tag });
29123
+ await busRequest(
29124
+ this.transport,
29125
+ "frame:add-entity-type",
29126
+ { tag }
29127
+ );
29090
29128
  }
29091
29129
  }
29092
29130
  async addTagSchema(schema) {
29093
- await this.transport.emit("frame:add-tag-schema", { schema });
29131
+ await busRequest(
29132
+ this.transport,
29133
+ "frame:add-tag-schema",
29134
+ { schema }
29135
+ );
29094
29136
  }
29095
29137
  };
29096
29138
  JobNamespace = class {
@@ -29124,14 +29166,12 @@ var init_dist = __esm({
29124
29166
  return busRequest(
29125
29167
  this.transport,
29126
29168
  "job:status-requested",
29127
- { jobId },
29128
- "job:status-result",
29129
- "job:status-failed"
29169
+ { jobId }
29130
29170
  );
29131
29171
  }
29132
29172
  async pollUntilComplete(jobId, options) {
29133
29173
  const interval = options?.interval ?? 1e3;
29134
- const timeout6 = options?.timeout ?? 6e4;
29174
+ const timeout5 = options?.timeout ?? 6e4;
29135
29175
  const startTime = Date.now();
29136
29176
  while (true) {
29137
29177
  const status = await this.status(jobId);
@@ -29139,14 +29179,19 @@ var init_dist = __esm({
29139
29179
  if (status.status === "complete" || status.status === "failed" || status.status === "cancelled") {
29140
29180
  return status;
29141
29181
  }
29142
- if (Date.now() - startTime > timeout6) {
29143
- throw new Error(`Job polling timeout after ${timeout6}ms`);
29182
+ if (Date.now() - startTime > timeout5) {
29183
+ throw new Error(`Job polling timeout after ${timeout5}ms`);
29144
29184
  }
29145
29185
  await new Promise((resolve9) => setTimeout(resolve9, interval));
29146
29186
  }
29147
29187
  }
29148
29188
  async cancelByType(jobType) {
29149
- await this.transport.emit("job:cancel-requested", { jobType });
29189
+ const { cancelled } = await busRequest(
29190
+ this.transport,
29191
+ "job:cancel-requested",
29192
+ { jobType }
29193
+ );
29194
+ return cancelled;
29150
29195
  }
29151
29196
  cancelRequest(jobType) {
29152
29197
  this.bus.get("job:cancel-requested").next({ jobType });
@@ -29175,9 +29220,6 @@ var init_dist = __esm({
29175
29220
  async acceptTerms() {
29176
29221
  await this.backend.acceptTerms();
29177
29222
  }
29178
- async mcpToken() {
29179
- return this.backend.generateMcpToken();
29180
- }
29181
29223
  async mediaToken(resourceId22) {
29182
29224
  return this.backend.getMediaToken(resourceId22);
29183
29225
  }
@@ -34766,7 +34808,7 @@ var init_js_yaml = __esm({
34766
34808
  mark.snippet = makeSnippet(mark);
34767
34809
  return new YAMLException2(message, mark);
34768
34810
  }
34769
- function throwError2(state, message) {
34811
+ function throwError(state, message) {
34770
34812
  throw generateError(state, message);
34771
34813
  }
34772
34814
  function throwWarning(state, message) {
@@ -34832,29 +34874,29 @@ var init_js_yaml = __esm({
34832
34874
  }
34833
34875
  var directiveHandlers = {
34834
34876
  YAML: function handleYamlDirective(state, name, args) {
34835
- if (state.version !== null) throwError2(state, "duplication of %YAML directive");
34836
- if (args.length !== 1) throwError2(state, "YAML directive accepts exactly one argument");
34877
+ if (state.version !== null) throwError(state, "duplication of %YAML directive");
34878
+ if (args.length !== 1) throwError(state, "YAML directive accepts exactly one argument");
34837
34879
  const match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
34838
- if (match === null) throwError2(state, "ill-formed argument of the YAML directive");
34880
+ if (match === null) throwError(state, "ill-formed argument of the YAML directive");
34839
34881
  const major = parseInt(match[1], 10);
34840
34882
  const minor = parseInt(match[2], 10);
34841
- if (major !== 1) throwError2(state, "unacceptable YAML version of the document");
34883
+ if (major !== 1) throwError(state, "unacceptable YAML version of the document");
34842
34884
  state.version = args[0];
34843
34885
  state.checkLineBreaks = minor < 2;
34844
34886
  if (minor !== 1 && minor !== 2) throwWarning(state, "unsupported YAML version of the document");
34845
34887
  },
34846
34888
  TAG: function handleTagDirective(state, name, args) {
34847
34889
  let prefix;
34848
- if (args.length !== 2) throwError2(state, "TAG directive accepts exactly two arguments");
34890
+ if (args.length !== 2) throwError(state, "TAG directive accepts exactly two arguments");
34849
34891
  const handle = args[0];
34850
34892
  prefix = args[1];
34851
- if (!PATTERN_TAG_HANDLE.test(handle)) throwError2(state, "ill-formed tag handle (first argument) of the TAG directive");
34852
- if (_hasOwnProperty.call(state.tagMap, handle)) throwError2(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
34853
- if (!PATTERN_TAG_URI.test(prefix)) throwError2(state, "ill-formed tag prefix (second argument) of the TAG directive");
34893
+ if (!PATTERN_TAG_HANDLE.test(handle)) throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
34894
+ if (_hasOwnProperty.call(state.tagMap, handle)) throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
34895
+ if (!PATTERN_TAG_URI.test(prefix)) throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
34854
34896
  try {
34855
34897
  prefix = decodeURIComponent(prefix);
34856
34898
  } catch (err) {
34857
- throwError2(state, "tag prefix is malformed: " + prefix);
34899
+ throwError(state, "tag prefix is malformed: " + prefix);
34858
34900
  }
34859
34901
  state.tagMap[handle] = prefix;
34860
34902
  }
@@ -34864,14 +34906,14 @@ var init_js_yaml = __esm({
34864
34906
  const _result = state.input.slice(start2, end);
34865
34907
  if (checkJson) for (let _position = 0, _length2 = _result.length; _position < _length2; _position += 1) {
34866
34908
  const _character = _result.charCodeAt(_position);
34867
- if (!(_character === 9 || _character >= 32 && _character <= 1114111)) throwError2(state, "expected valid JSON character");
34909
+ if (!(_character === 9 || _character >= 32 && _character <= 1114111)) throwError(state, "expected valid JSON character");
34868
34910
  }
34869
- else if (PATTERN_NON_PRINTABLE.test(_result)) throwError2(state, "the stream contains non-printable characters");
34911
+ else if (PATTERN_NON_PRINTABLE.test(_result)) throwError(state, "the stream contains non-printable characters");
34870
34912
  state.result += _result;
34871
34913
  }
34872
34914
  }
34873
34915
  function mergeMappings(state, destination, source, overridableKeys) {
34874
- if (!common.isObject(source)) throwError2(state, "cannot merge mappings; the provided source object is unacceptable");
34916
+ if (!common.isObject(source)) throwError(state, "cannot merge mappings; the provided source object is unacceptable");
34875
34917
  const sourceKeys = Object.keys(source);
34876
34918
  for (let index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
34877
34919
  const key = sourceKeys[index];
@@ -34885,7 +34927,7 @@ var init_js_yaml = __esm({
34885
34927
  if (Array.isArray(keyNode)) {
34886
34928
  keyNode = Array.prototype.slice.call(keyNode);
34887
34929
  for (let index = 0, quantity = keyNode.length; index < quantity; index += 1) {
34888
- if (Array.isArray(keyNode[index])) throwError2(state, "nested arrays are not supported inside keys");
34930
+ if (Array.isArray(keyNode[index])) throwError(state, "nested arrays are not supported inside keys");
34889
34931
  if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") keyNode[index] = "[object Object]";
34890
34932
  }
34891
34933
  }
@@ -34893,7 +34935,7 @@ var init_js_yaml = __esm({
34893
34935
  keyNode = String(keyNode);
34894
34936
  if (_result === null) _result = {};
34895
34937
  if (keyTag === "tag:yaml.org,2002:merge") if (Array.isArray(valueNode)) {
34896
- if (valueNode.length > state.maxMergeSeqLength) throwError2(state, "merge sequence length exceeded maxMergeSeqLength (" + state.maxMergeSeqLength + ")");
34938
+ if (valueNode.length > state.maxMergeSeqLength) throwError(state, "merge sequence length exceeded maxMergeSeqLength (" + state.maxMergeSeqLength + ")");
34897
34939
  const seen = /* @__PURE__ */ new Set();
34898
34940
  for (let index = 0, quantity = valueNode.length; index < quantity; index += 1) {
34899
34941
  const src = valueNode[index];
@@ -34907,7 +34949,7 @@ var init_js_yaml = __esm({
34907
34949
  state.line = startLine || state.line;
34908
34950
  state.lineStart = startLineStart || state.lineStart;
34909
34951
  state.position = startPos || state.position;
34910
- throwError2(state, "duplicated mapping key");
34952
+ throwError(state, "duplicated mapping key");
34911
34953
  }
34912
34954
  setProperty(_result, keyNode, valueNode);
34913
34955
  delete overridableKeys[keyNode];
@@ -34920,7 +34962,7 @@ var init_js_yaml = __esm({
34920
34962
  else if (ch === 13) {
34921
34963
  state.position++;
34922
34964
  if (state.input.charCodeAt(state.position) === 10) state.position++;
34923
- } else throwError2(state, "a line break is expected");
34965
+ } else throwError(state, "a line break is expected");
34924
34966
  state.line += 1;
34925
34967
  state.lineStart = state.position;
34926
34968
  state.firstTabInLine = -1;
@@ -35043,12 +35085,12 @@ var init_js_yaml = __esm({
35043
35085
  captureSegment(state, captureStart, captureEnd, true);
35044
35086
  writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
35045
35087
  captureStart = captureEnd = state.position;
35046
- } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError2(state, "unexpected end of the document within a single quoted scalar");
35088
+ } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError(state, "unexpected end of the document within a single quoted scalar");
35047
35089
  else {
35048
35090
  state.position++;
35049
35091
  if (!isWhiteSpace(ch)) captureEnd = state.position;
35050
35092
  }
35051
- throwError2(state, "unexpected end of the stream within a single quoted scalar");
35093
+ throwError(state, "unexpected end of the stream within a single quoted scalar");
35052
35094
  }
35053
35095
  function readDoubleQuotedScalar(state, nodeIndent) {
35054
35096
  let captureStart;
@@ -35077,22 +35119,22 @@ var init_js_yaml = __esm({
35077
35119
  for (; hexLength > 0; hexLength--) {
35078
35120
  ch = state.input.charCodeAt(++state.position);
35079
35121
  if ((tmp = fromHexCode(ch)) >= 0) hexResult = (hexResult << 4) + tmp;
35080
- else throwError2(state, "expected hexadecimal character");
35122
+ else throwError(state, "expected hexadecimal character");
35081
35123
  }
35082
35124
  state.result += charFromCodepoint(hexResult);
35083
35125
  state.position++;
35084
- } else throwError2(state, "unknown escape sequence");
35126
+ } else throwError(state, "unknown escape sequence");
35085
35127
  captureStart = captureEnd = state.position;
35086
35128
  } else if (isEol(ch)) {
35087
35129
  captureSegment(state, captureStart, captureEnd, true);
35088
35130
  writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
35089
35131
  captureStart = captureEnd = state.position;
35090
- } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError2(state, "unexpected end of the document within a double quoted scalar");
35132
+ } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError(state, "unexpected end of the document within a double quoted scalar");
35091
35133
  else {
35092
35134
  state.position++;
35093
35135
  if (!isWhiteSpace(ch)) captureEnd = state.position;
35094
35136
  }
35095
- throwError2(state, "unexpected end of the stream within a double quoted scalar");
35137
+ throwError(state, "unexpected end of the stream within a double quoted scalar");
35096
35138
  }
35097
35139
  function readFlowCollection(state, nodeIndent) {
35098
35140
  let readNext = true;
@@ -35132,8 +35174,8 @@ var init_js_yaml = __esm({
35132
35174
  state.kind = isMapping ? "mapping" : "sequence";
35133
35175
  state.result = _result;
35134
35176
  return true;
35135
- } else if (!readNext) throwError2(state, "missed comma between flow collection entries");
35136
- else if (ch === 44) throwError2(state, "expected the node content, but found ','");
35177
+ } else if (!readNext) throwError(state, "missed comma between flow collection entries");
35178
+ else if (ch === 44) throwError(state, "expected the node content, but found ','");
35137
35179
  keyTag = keyNode = valueNode = null;
35138
35180
  isPair = isExplicitPair = false;
35139
35181
  if (ch === 63) {
@@ -35168,7 +35210,7 @@ var init_js_yaml = __esm({
35168
35210
  ch = state.input.charCodeAt(++state.position);
35169
35211
  } else readNext = false;
35170
35212
  }
35171
- throwError2(state, "unexpected end of the stream within a flow collection");
35213
+ throwError(state, "unexpected end of the stream within a flow collection");
35172
35214
  }
35173
35215
  function readBlockScalar(state, nodeIndent) {
35174
35216
  let folding;
@@ -35188,12 +35230,12 @@ var init_js_yaml = __esm({
35188
35230
  while (ch !== 0) {
35189
35231
  ch = state.input.charCodeAt(++state.position);
35190
35232
  if (ch === 43 || ch === 45) if (CHOMPING_CLIP === chomping) chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
35191
- else throwError2(state, "repeat of a chomping mode identifier");
35192
- else if ((tmp = fromDecimalCode(ch)) >= 0) if (tmp === 0) throwError2(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
35233
+ else throwError(state, "repeat of a chomping mode identifier");
35234
+ else if ((tmp = fromDecimalCode(ch)) >= 0) if (tmp === 0) throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
35193
35235
  else if (!detectedIndent) {
35194
35236
  textIndent = nodeIndent + tmp - 1;
35195
35237
  detectedIndent = true;
35196
- } else throwError2(state, "repeat of an indentation width identifier");
35238
+ } else throwError(state, "repeat of an indentation width identifier");
35197
35239
  else break;
35198
35240
  }
35199
35241
  if (isWhiteSpace(ch)) {
@@ -35217,7 +35259,7 @@ var init_js_yaml = __esm({
35217
35259
  emptyLines++;
35218
35260
  continue;
35219
35261
  }
35220
- if (!detectedIndent && textIndent === 0) throwError2(state, "missing indentation for block scalar");
35262
+ if (!detectedIndent && textIndent === 0) throwError(state, "missing indentation for block scalar");
35221
35263
  if (state.lineIndent < textIndent) {
35222
35264
  if (chomping === CHOMPING_KEEP) state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
35223
35265
  else if (chomping === CHOMPING_CLIP) {
@@ -35255,7 +35297,7 @@ var init_js_yaml = __esm({
35255
35297
  while (ch !== 0) {
35256
35298
  if (state.firstTabInLine !== -1) {
35257
35299
  state.position = state.firstTabInLine;
35258
- throwError2(state, "tab characters must not be used in indentation");
35300
+ throwError(state, "tab characters must not be used in indentation");
35259
35301
  }
35260
35302
  if (ch !== 45) break;
35261
35303
  if (!isWsOrEol(state.input.charCodeAt(state.position + 1))) break;
@@ -35273,7 +35315,7 @@ var init_js_yaml = __esm({
35273
35315
  _result.push(state.result);
35274
35316
  skipSeparationSpace(state, true, -1);
35275
35317
  ch = state.input.charCodeAt(state.position);
35276
- if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) throwError2(state, "bad indentation of a sequence entry");
35318
+ if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) throwError(state, "bad indentation of a sequence entry");
35277
35319
  else if (state.lineIndent < nodeIndent) break;
35278
35320
  }
35279
35321
  if (detected) {
@@ -35305,7 +35347,7 @@ var init_js_yaml = __esm({
35305
35347
  while (ch !== 0) {
35306
35348
  if (!atExplicitKey && state.firstTabInLine !== -1) {
35307
35349
  state.position = state.firstTabInLine;
35308
- throwError2(state, "tab characters must not be used in indentation");
35350
+ throwError(state, "tab characters must not be used in indentation");
35309
35351
  }
35310
35352
  const following = state.input.charCodeAt(state.position + 1);
35311
35353
  const _line = state.line;
@@ -35321,7 +35363,7 @@ var init_js_yaml = __esm({
35321
35363
  } else if (atExplicitKey) {
35322
35364
  atExplicitKey = false;
35323
35365
  allowCompact = true;
35324
- } else throwError2(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
35366
+ } else throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
35325
35367
  state.position += 1;
35326
35368
  ch = following;
35327
35369
  } else {
@@ -35334,7 +35376,7 @@ var init_js_yaml = __esm({
35334
35376
  while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
35335
35377
  if (ch === 58) {
35336
35378
  ch = state.input.charCodeAt(++state.position);
35337
- if (!isWsOrEol(ch)) throwError2(state, "a whitespace character is expected after the key-value separator within a block mapping");
35379
+ if (!isWsOrEol(ch)) throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
35338
35380
  if (atExplicitKey) {
35339
35381
  storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
35340
35382
  keyTag = keyNode = valueNode = null;
@@ -35344,13 +35386,13 @@ var init_js_yaml = __esm({
35344
35386
  allowCompact = false;
35345
35387
  keyTag = state.tag;
35346
35388
  keyNode = state.result;
35347
- } else if (detected) throwError2(state, "can not read an implicit mapping pair; a colon is missed");
35389
+ } else if (detected) throwError(state, "can not read an implicit mapping pair; a colon is missed");
35348
35390
  else {
35349
35391
  state.tag = _tag;
35350
35392
  state.anchor = _anchor;
35351
35393
  return true;
35352
35394
  }
35353
- } else if (detected) throwError2(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
35395
+ } else if (detected) throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
35354
35396
  else {
35355
35397
  state.tag = _tag;
35356
35398
  state.anchor = _anchor;
@@ -35372,7 +35414,7 @@ var init_js_yaml = __esm({
35372
35414
  skipSeparationSpace(state, true, -1);
35373
35415
  ch = state.input.charCodeAt(state.position);
35374
35416
  }
35375
- if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) throwError2(state, "bad indentation of a mapping entry");
35417
+ if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) throwError(state, "bad indentation of a mapping entry");
35376
35418
  else if (state.lineIndent < nodeIndent) break;
35377
35419
  }
35378
35420
  if (atExplicitKey) storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
@@ -35391,7 +35433,7 @@ var init_js_yaml = __esm({
35391
35433
  let tagName;
35392
35434
  let ch = state.input.charCodeAt(state.position);
35393
35435
  if (ch !== 33) return false;
35394
- if (state.tag !== null) throwError2(state, "duplication of a tag property");
35436
+ if (state.tag !== null) throwError(state, "duplication of a tag property");
35395
35437
  ch = state.input.charCodeAt(++state.position);
35396
35438
  if (ch === 60) {
35397
35439
  isVerbatim = true;
@@ -35409,41 +35451,41 @@ var init_js_yaml = __esm({
35409
35451
  if (state.position < state.length) {
35410
35452
  tagName = state.input.slice(_position, state.position);
35411
35453
  ch = state.input.charCodeAt(++state.position);
35412
- } else throwError2(state, "unexpected end of the stream within a verbatim tag");
35454
+ } else throwError(state, "unexpected end of the stream within a verbatim tag");
35413
35455
  } else {
35414
35456
  while (ch !== 0 && !isWsOrEol(ch)) {
35415
35457
  if (ch === 33) if (!isNamed) {
35416
35458
  tagHandle = state.input.slice(_position - 1, state.position + 1);
35417
- if (!PATTERN_TAG_HANDLE.test(tagHandle)) throwError2(state, "named tag handle cannot contain such characters");
35459
+ if (!PATTERN_TAG_HANDLE.test(tagHandle)) throwError(state, "named tag handle cannot contain such characters");
35418
35460
  isNamed = true;
35419
35461
  _position = state.position + 1;
35420
- } else throwError2(state, "tag suffix cannot contain exclamation marks");
35462
+ } else throwError(state, "tag suffix cannot contain exclamation marks");
35421
35463
  ch = state.input.charCodeAt(++state.position);
35422
35464
  }
35423
35465
  tagName = state.input.slice(_position, state.position);
35424
- if (PATTERN_FLOW_INDICATORS.test(tagName)) throwError2(state, "tag suffix cannot contain flow indicator characters");
35466
+ if (PATTERN_FLOW_INDICATORS.test(tagName)) throwError(state, "tag suffix cannot contain flow indicator characters");
35425
35467
  }
35426
- if (tagName && !PATTERN_TAG_URI.test(tagName)) throwError2(state, "tag name cannot contain such characters: " + tagName);
35468
+ if (tagName && !PATTERN_TAG_URI.test(tagName)) throwError(state, "tag name cannot contain such characters: " + tagName);
35427
35469
  try {
35428
35470
  tagName = decodeURIComponent(tagName);
35429
35471
  } catch (err) {
35430
- throwError2(state, "tag name is malformed: " + tagName);
35472
+ throwError(state, "tag name is malformed: " + tagName);
35431
35473
  }
35432
35474
  if (isVerbatim) state.tag = tagName;
35433
35475
  else if (_hasOwnProperty.call(state.tagMap, tagHandle)) state.tag = state.tagMap[tagHandle] + tagName;
35434
35476
  else if (tagHandle === "!") state.tag = "!" + tagName;
35435
35477
  else if (tagHandle === "!!") state.tag = "tag:yaml.org,2002:" + tagName;
35436
- else throwError2(state, 'undeclared tag handle "' + tagHandle + '"');
35478
+ else throwError(state, 'undeclared tag handle "' + tagHandle + '"');
35437
35479
  return true;
35438
35480
  }
35439
35481
  function readAnchorProperty(state) {
35440
35482
  let ch = state.input.charCodeAt(state.position);
35441
35483
  if (ch !== 38) return false;
35442
- if (state.anchor !== null) throwError2(state, "duplication of an anchor property");
35484
+ if (state.anchor !== null) throwError(state, "duplication of an anchor property");
35443
35485
  ch = state.input.charCodeAt(++state.position);
35444
35486
  const _position = state.position;
35445
35487
  while (ch !== 0 && !isWsOrEol(ch) && !isFlowIndicator(ch)) ch = state.input.charCodeAt(++state.position);
35446
- if (state.position === _position) throwError2(state, "name of an anchor node must contain at least one character");
35488
+ if (state.position === _position) throwError(state, "name of an anchor node must contain at least one character");
35447
35489
  state.anchor = state.input.slice(_position, state.position);
35448
35490
  return true;
35449
35491
  }
@@ -35453,9 +35495,9 @@ var init_js_yaml = __esm({
35453
35495
  ch = state.input.charCodeAt(++state.position);
35454
35496
  const _position = state.position;
35455
35497
  while (ch !== 0 && !isWsOrEol(ch) && !isFlowIndicator(ch)) ch = state.input.charCodeAt(++state.position);
35456
- if (state.position === _position) throwError2(state, "name of an alias node must contain at least one character");
35498
+ if (state.position === _position) throwError(state, "name of an alias node must contain at least one character");
35457
35499
  const alias = state.input.slice(_position, state.position);
35458
- if (!_hasOwnProperty.call(state.anchorMap, alias)) throwError2(state, 'unidentified alias "' + alias + '"');
35500
+ if (!_hasOwnProperty.call(state.anchorMap, alias)) throwError(state, 'unidentified alias "' + alias + '"');
35459
35501
  state.result = state.anchorMap[alias];
35460
35502
  skipSeparationSpace(state, true, -1);
35461
35503
  return true;
@@ -35486,7 +35528,7 @@ var init_js_yaml = __esm({
35486
35528
  let type;
35487
35529
  let flowIndent;
35488
35530
  let blockIndent;
35489
- if (state.depth >= state.maxDepth) throwError2(state, "nesting exceeded maxDepth (" + state.maxDepth + ")");
35531
+ if (state.depth >= state.maxDepth) throwError(state, "nesting exceeded maxDepth (" + state.maxDepth + ")");
35490
35532
  state.depth += 1;
35491
35533
  if (state.listener !== null) state.listener("open", state);
35492
35534
  state.tag = null;
@@ -35528,7 +35570,7 @@ var init_js_yaml = __esm({
35528
35570
  else if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) hasContent = true;
35529
35571
  else if (readAlias(state)) {
35530
35572
  hasContent = true;
35531
- if (state.tag !== null || state.anchor !== null) throwError2(state, "alias node should not have any properties");
35573
+ if (state.tag !== null || state.anchor !== null) throwError(state, "alias node should not have any properties");
35532
35574
  } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
35533
35575
  hasContent = true;
35534
35576
  if (state.tag === null) state.tag = "?";
@@ -35540,7 +35582,7 @@ var init_js_yaml = __esm({
35540
35582
  if (state.tag === null) {
35541
35583
  if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
35542
35584
  } else if (state.tag === "?") {
35543
- if (state.result !== null && state.kind !== "scalar") throwError2(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
35585
+ if (state.result !== null && state.kind !== "scalar") throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
35544
35586
  for (let typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
35545
35587
  type = state.implicitTypes[typeIndex];
35546
35588
  if (type.resolve(state.result)) {
@@ -35560,9 +35602,9 @@ var init_js_yaml = __esm({
35560
35602
  break;
35561
35603
  }
35562
35604
  }
35563
- if (!type) throwError2(state, "unknown tag !<" + state.tag + ">");
35564
- if (state.result !== null && type.kind !== state.kind) throwError2(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
35565
- if (!type.resolve(state.result, state.tag)) throwError2(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
35605
+ if (!type) throwError(state, "unknown tag !<" + state.tag + ">");
35606
+ if (state.result !== null && type.kind !== state.kind) throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
35607
+ if (!type.resolve(state.result, state.tag)) throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
35566
35608
  else {
35567
35609
  state.result = type.construct(state.result, state.tag);
35568
35610
  if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
@@ -35590,7 +35632,7 @@ var init_js_yaml = __esm({
35590
35632
  while (ch !== 0 && !isWsOrEol(ch)) ch = state.input.charCodeAt(++state.position);
35591
35633
  const directiveName = state.input.slice(_position, state.position);
35592
35634
  const directiveArgs = [];
35593
- if (directiveName.length < 1) throwError2(state, "directive name must not be less than one character in length");
35635
+ if (directiveName.length < 1) throwError(state, "directive name must not be less than one character in length");
35594
35636
  while (ch !== 0) {
35595
35637
  while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
35596
35638
  if (ch === 35) {
@@ -35612,7 +35654,7 @@ var init_js_yaml = __esm({
35612
35654
  if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
35613
35655
  state.position += 3;
35614
35656
  skipSeparationSpace(state, true, -1);
35615
- } else if (hasDirectives) throwError2(state, "directives end mark is expected");
35657
+ } else if (hasDirectives) throwError(state, "directives end mark is expected");
35616
35658
  composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
35617
35659
  skipSeparationSpace(state, true, -1);
35618
35660
  if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) throwWarning(state, "non-ASCII line breaks are interpreted as content");
@@ -35624,7 +35666,7 @@ var init_js_yaml = __esm({
35624
35666
  }
35625
35667
  return;
35626
35668
  }
35627
- if (state.position < state.length - 1) throwError2(state, "end of the stream or a document separator is expected");
35669
+ if (state.position < state.length - 1) throwError(state, "end of the stream or a document separator is expected");
35628
35670
  }
35629
35671
  function loadDocuments(input, options) {
35630
35672
  input = String(input);
@@ -35637,7 +35679,7 @@ var init_js_yaml = __esm({
35637
35679
  const nullpos = input.indexOf("\0");
35638
35680
  if (nullpos !== -1) {
35639
35681
  state.position = nullpos;
35640
- throwError2(state, "null byte is not allowed in input");
35682
+ throwError(state, "null byte is not allowed in input");
35641
35683
  }
35642
35684
  state.input += "\0";
35643
35685
  while (state.input.charCodeAt(state.position) === 32) {
@@ -41451,135 +41493,6 @@ var init_platforms = __esm({
41451
41493
  }
41452
41494
  });
41453
41495
 
41454
- // ../../node_modules/smol-toml/dist/error.js
41455
- function getLineColFromPtr(string4, ptr) {
41456
- let lines = string4.slice(0, ptr).split(/\r\n|\n|\r/g);
41457
- return [lines.length, lines.pop().length + 1];
41458
- }
41459
- function makeCodeBlock(string4, line, column) {
41460
- let lines = string4.split(/\r\n|\n|\r/g);
41461
- let codeblock = "";
41462
- let numberLen = (Math.log10(line + 1) | 0) + 1;
41463
- for (let i = line - 1; i <= line + 1; i++) {
41464
- let l = lines[i - 1];
41465
- if (!l)
41466
- continue;
41467
- codeblock += i.toString().padEnd(numberLen, " ");
41468
- codeblock += ": ";
41469
- codeblock += l;
41470
- codeblock += "\n";
41471
- if (i === line) {
41472
- codeblock += " ".repeat(numberLen + column + 2);
41473
- codeblock += "^\n";
41474
- }
41475
- }
41476
- return codeblock;
41477
- }
41478
- var TomlError;
41479
- var init_error = __esm({
41480
- "../../node_modules/smol-toml/dist/error.js"() {
41481
- TomlError = class extends Error {
41482
- line;
41483
- column;
41484
- codeblock;
41485
- constructor(message, options) {
41486
- const [line, column] = getLineColFromPtr(options.toml, options.ptr);
41487
- const codeblock = makeCodeBlock(options.toml, line, column);
41488
- super(`Invalid TOML document: ${message}
41489
-
41490
- ${codeblock}`, options);
41491
- this.line = line;
41492
- this.column = column;
41493
- this.codeblock = codeblock;
41494
- }
41495
- };
41496
- }
41497
- });
41498
-
41499
- // ../../node_modules/smol-toml/dist/util.js
41500
- function isEscaped(str, ptr) {
41501
- let i = 0;
41502
- while (str[ptr - ++i] === "\\")
41503
- ;
41504
- return --i && i % 2;
41505
- }
41506
- function indexOfNewline(str, start2 = 0, end = str.length) {
41507
- let idx = str.indexOf("\n", start2);
41508
- if (str[idx - 1] === "\r")
41509
- idx--;
41510
- return idx <= end ? idx : -1;
41511
- }
41512
- function skipComment(str, ptr) {
41513
- for (let i = ptr; i < str.length; i++) {
41514
- let c = str[i];
41515
- if (c === "\n")
41516
- return i;
41517
- if (c === "\r" && str[i + 1] === "\n")
41518
- return i + 1;
41519
- if (c < " " && c !== " " || c === "\x7F") {
41520
- throw new TomlError("control characters are not allowed in comments", {
41521
- toml: str,
41522
- ptr
41523
- });
41524
- }
41525
- }
41526
- return str.length;
41527
- }
41528
- function skipVoid(str, ptr, banNewLines, banComments) {
41529
- let c;
41530
- while (1) {
41531
- while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
41532
- ptr++;
41533
- if (banComments || c !== "#")
41534
- break;
41535
- ptr = skipComment(str, ptr);
41536
- }
41537
- return ptr;
41538
- }
41539
- function skipUntil(str, ptr, sep, end, banNewLines = false) {
41540
- if (!end) {
41541
- ptr = indexOfNewline(str, ptr);
41542
- return ptr < 0 ? str.length : ptr;
41543
- }
41544
- for (let i = ptr; i < str.length; i++) {
41545
- let c = str[i];
41546
- if (c === "#") {
41547
- i = indexOfNewline(str, i);
41548
- } else if (c === sep) {
41549
- return i + 1;
41550
- } else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
41551
- return i;
41552
- }
41553
- }
41554
- throw new TomlError("cannot find end of structure", {
41555
- toml: str,
41556
- ptr
41557
- });
41558
- }
41559
- function getStringEnd(str, seek) {
41560
- let first = str[seek];
41561
- let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
41562
- seek += target.length - 1;
41563
- do
41564
- seek = str.indexOf(target, ++seek);
41565
- while (seek > -1 && first !== "'" && isEscaped(str, seek));
41566
- if (seek > -1) {
41567
- seek += target.length;
41568
- if (target.length > 1) {
41569
- if (str[seek] === first)
41570
- seek++;
41571
- if (str[seek] === first)
41572
- seek++;
41573
- }
41574
- }
41575
- return seek;
41576
- }
41577
- var init_util2 = __esm({
41578
- "../../node_modules/smol-toml/dist/util.js"() {
41579
- init_error();
41580
- }
41581
- });
41582
-
41583
41496
  // ../../node_modules/smol-toml/dist/date.js
41584
41497
  var DATE_TIME_RE, TomlDate;
41585
41498
  var init_date = __esm({
@@ -41677,79 +41590,155 @@ var init_date = __esm({
41677
41590
  }
41678
41591
  });
41679
41592
 
41593
+ // ../../node_modules/smol-toml/dist/error.js
41594
+ function getLineColFromPtr(string4, ptr) {
41595
+ let lines = string4.slice(0, ptr).split(/\r\n|\n|\r/g);
41596
+ return [lines.length, lines.pop().length + 1];
41597
+ }
41598
+ function makeCodeBlock(string4, line, column) {
41599
+ let lines = string4.split(/\r\n|\n|\r/g);
41600
+ let codeblock = "";
41601
+ let numberLen = (Math.log10(line + 1) | 0) + 1;
41602
+ for (let i = line - 1; i <= line + 1; i++) {
41603
+ let l = lines[i - 1];
41604
+ if (!l)
41605
+ continue;
41606
+ codeblock += i.toString().padEnd(numberLen, " ");
41607
+ codeblock += ": ";
41608
+ codeblock += l;
41609
+ codeblock += "\n";
41610
+ if (i === line) {
41611
+ codeblock += " ".repeat(numberLen + column + 2);
41612
+ codeblock += "^\n";
41613
+ }
41614
+ }
41615
+ return codeblock;
41616
+ }
41617
+ var TomlError;
41618
+ var init_error = __esm({
41619
+ "../../node_modules/smol-toml/dist/error.js"() {
41620
+ TomlError = class extends Error {
41621
+ line;
41622
+ column;
41623
+ codeblock;
41624
+ constructor(message, options) {
41625
+ const [line, column] = getLineColFromPtr(options.toml, options.ptr);
41626
+ const codeblock = makeCodeBlock(options.toml, line, column);
41627
+ super(`Invalid TOML document: ${message}
41628
+
41629
+ ${codeblock}`, options);
41630
+ this.line = line;
41631
+ this.column = column;
41632
+ this.codeblock = codeblock;
41633
+ }
41634
+ };
41635
+ }
41636
+ });
41637
+
41680
41638
  // ../../node_modules/smol-toml/dist/primitive.js
41681
- function parseString(str, ptr = 0, endPtr = str.length) {
41682
- let isLiteral = str[ptr] === "'";
41683
- let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
41639
+ function parseString(str, ptr) {
41640
+ let c = str[ptr++];
41641
+ let first = c;
41642
+ let isLiteral = c === "'";
41643
+ let isMultiline = c === str[ptr] && c === str[ptr + 1];
41684
41644
  if (isMultiline) {
41685
- endPtr -= 2;
41686
- if (str[ptr += 2] === "\r")
41687
- ptr++;
41688
- if (str[ptr] === "\n")
41645
+ if (str[ptr += 2] === "\n")
41689
41646
  ptr++;
41647
+ else if (str[ptr] === "\r" && str[ptr + 1] === "\n")
41648
+ ptr += 2;
41690
41649
  }
41691
- let tmp = 0;
41692
- let isEscape;
41693
41650
  let parsed = "";
41694
41651
  let sliceStart = ptr;
41695
- while (ptr < endPtr - 1) {
41696
- let c = str[ptr++];
41697
- if (c === "\n" || c === "\r" && str[ptr] === "\n") {
41698
- if (!isMultiline) {
41699
- throw new TomlError("newlines are not allowed in strings", {
41700
- toml: str,
41701
- ptr: ptr - 1
41702
- });
41703
- }
41652
+ let state = 0;
41653
+ for (let i = ptr; i < str.length; i++) {
41654
+ c = str[i];
41655
+ if (isMultiline && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
41656
+ state = state && 3;
41704
41657
  } else if (c < " " && c !== " " || c === "\x7F") {
41705
41658
  throw new TomlError("control characters are not allowed in strings", {
41706
41659
  toml: str,
41707
- ptr: ptr - 1
41660
+ ptr: i
41708
41661
  });
41709
- }
41710
- if (isEscape) {
41711
- isEscape = false;
41662
+ } else if ((!state || state === 3) && c === first && (!isMultiline || str[i + 1] === first && str[i + 2] === first)) {
41663
+ if (isMultiline) {
41664
+ if (str[i + 3] === first)
41665
+ i++;
41666
+ if (str[i + 3] === first)
41667
+ i++;
41668
+ }
41669
+ return [
41670
+ // If we're in a newline escape still, then there's nothing to add.
41671
+ // Also try to avoid concat if there's nothing to add to parsed, or nothing has been added to parsed.
41672
+ state ? parsed : parsed + str.slice(sliceStart, i),
41673
+ i + (isMultiline ? 3 : 1)
41674
+ ];
41675
+ } else if (!state) {
41676
+ if (!isLiteral && c === "\\") {
41677
+ parsed += str.slice(sliceStart, sliceStart = i);
41678
+ state = 1;
41679
+ }
41680
+ } else if (state === 1) {
41712
41681
  if (c === "x" || c === "u" || c === "U") {
41713
- let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8);
41714
- if (!ESCAPE_REGEX.test(code)) {
41715
- throw new TomlError("invalid unicode escape", {
41716
- toml: str,
41717
- ptr: tmp
41718
- });
41719
- }
41720
- try {
41721
- parsed += String.fromCodePoint(parseInt(code, 16));
41722
- } catch {
41723
- throw new TomlError("invalid unicode escape", {
41724
- toml: str,
41725
- ptr: tmp
41726
- });
41727
- }
41728
- } else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
41729
- ptr = skipVoid(str, ptr - 1, true);
41730
- if (str[ptr] !== "\n" && str[ptr] !== "\r") {
41731
- throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
41732
- toml: str,
41733
- ptr: tmp
41734
- });
41735
- }
41736
- ptr = skipVoid(str, ptr);
41737
- } else if (c in ESC_MAP) {
41738
- parsed += ESC_MAP[c];
41682
+ let value = 0;
41683
+ let len = c === "x" ? 2 : c === "u" ? 4 : 8;
41684
+ for (let j = 0; j < len; j++, i++) {
41685
+ let hex3 = str.charCodeAt(i + 1);
41686
+ let digit = (
41687
+ /* 0-9 */
41688
+ hex3 >= 48 && hex3 <= 57 ? hex3 - 48 : (
41689
+ /* A-F */
41690
+ hex3 >= 65 && hex3 <= 70 ? hex3 - 65 + 10 : (
41691
+ /* a-f */
41692
+ hex3 >= 97 && hex3 <= 102 ? hex3 - 97 + 10 : -1
41693
+ )
41694
+ )
41695
+ );
41696
+ if (digit < 0)
41697
+ throw new TomlError("invalid non-hex character in unicode escape", { toml: str, ptr: i + 1 });
41698
+ value = value << 4 | digit;
41699
+ }
41700
+ if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
41701
+ throw new TomlError("invalid unicode escape", { toml: str, ptr: i });
41702
+ }
41703
+ parsed += String.fromCodePoint(value);
41704
+ sliceStart = i + 1;
41705
+ state = 0;
41706
+ } else if (c === " " || c === " ") {
41707
+ state = 2;
41739
41708
  } else {
41740
- throw new TomlError("unrecognized escape sequence", {
41709
+ if (c === "b")
41710
+ parsed += "\b";
41711
+ else if (c === "t")
41712
+ parsed += " ";
41713
+ else if (c === "n")
41714
+ parsed += "\n";
41715
+ else if (c === "f")
41716
+ parsed += "\f";
41717
+ else if (c === "r")
41718
+ parsed += "\r";
41719
+ else if (c === "e")
41720
+ parsed += "\x1B";
41721
+ else if (c === '"')
41722
+ parsed += '"';
41723
+ else if (c === "\\")
41724
+ parsed += "\\";
41725
+ else
41726
+ throw new TomlError("unrecognized escape sequence", { toml: str, ptr: i });
41727
+ sliceStart = i + 1;
41728
+ state = 0;
41729
+ }
41730
+ } else if (c !== " " && c !== " ") {
41731
+ if (state === 2) {
41732
+ throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
41741
41733
  toml: str,
41742
- ptr: tmp
41734
+ ptr: sliceStart
41743
41735
  });
41744
41736
  }
41745
- sliceStart = ptr;
41746
- } else if (!isLiteral && c === "\\") {
41747
- tmp = ptr - 1;
41748
- isEscape = true;
41749
- parsed += str.slice(sliceStart, tmp);
41737
+ state = !isLiteral && c === "\\" ? 1 : 0;
41738
+ sliceStart = i;
41750
41739
  }
41751
41740
  }
41752
- return parsed + str.slice(sliceStart, endPtr - 1);
41741
+ throw new TomlError("unfinished string", { toml: str, ptr });
41753
41742
  }
41754
41743
  function parseValue(value, toml, ptr, integersAsBigInt) {
41755
41744
  if (value === "true")
@@ -41801,26 +41790,74 @@ function parseValue(value, toml, ptr, integersAsBigInt) {
41801
41790
  }
41802
41791
  return date5;
41803
41792
  }
41804
- var INT_REGEX, FLOAT_REGEX, LEADING_ZERO, ESCAPE_REGEX, ESC_MAP;
41793
+ var INT_REGEX, FLOAT_REGEX, LEADING_ZERO;
41805
41794
  var init_primitive = __esm({
41806
41795
  "../../node_modules/smol-toml/dist/primitive.js"() {
41807
- init_util2();
41808
41796
  init_date();
41809
41797
  init_error();
41810
41798
  INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
41811
41799
  FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
41812
41800
  LEADING_ZERO = /^[+-]?0[0-9_]/;
41813
- ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i;
41814
- ESC_MAP = {
41815
- b: "\b",
41816
- t: " ",
41817
- n: "\n",
41818
- f: "\f",
41819
- r: "\r",
41820
- e: "\x1B",
41821
- '"': '"',
41822
- "\\": "\\"
41823
- };
41801
+ }
41802
+ });
41803
+
41804
+ // ../../node_modules/smol-toml/dist/util.js
41805
+ function indexOfNewline(str, start2 = 0, end = str.length) {
41806
+ let idx = str.indexOf("\n", start2);
41807
+ if (str[idx - 1] === "\r")
41808
+ idx--;
41809
+ return idx <= end ? idx : -1;
41810
+ }
41811
+ function skipComment(str, ptr) {
41812
+ for (let i = ptr; i < str.length; i++) {
41813
+ let c = str[i];
41814
+ if (c === "\n")
41815
+ return i;
41816
+ if (c === "\r" && str[i + 1] === "\n")
41817
+ return i + 1;
41818
+ if (c < " " && c !== " " || c === "\x7F") {
41819
+ throw new TomlError("control characters are not allowed in comments", {
41820
+ toml: str,
41821
+ ptr
41822
+ });
41823
+ }
41824
+ }
41825
+ return str.length;
41826
+ }
41827
+ function skipVoid(str, ptr, banNewLines, banComments) {
41828
+ let c;
41829
+ while (1) {
41830
+ while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
41831
+ ptr++;
41832
+ if (banComments || c !== "#")
41833
+ break;
41834
+ ptr = skipComment(str, ptr);
41835
+ }
41836
+ return ptr;
41837
+ }
41838
+ function skipUntil(str, ptr, sep, end, banNewLines = false) {
41839
+ if (!end) {
41840
+ ptr = indexOfNewline(str, ptr);
41841
+ return ptr < 0 ? str.length : ptr;
41842
+ }
41843
+ for (let i = ptr; i < str.length; i++) {
41844
+ let c = str[i];
41845
+ if (c === "#") {
41846
+ i = indexOfNewline(str, i);
41847
+ } else if (c === sep) {
41848
+ return i + 1;
41849
+ } else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
41850
+ return i;
41851
+ }
41852
+ }
41853
+ throw new TomlError("cannot find end of structure", {
41854
+ toml: str,
41855
+ ptr
41856
+ });
41857
+ }
41858
+ var init_util2 = __esm({
41859
+ "../../node_modules/smol-toml/dist/util.js"() {
41860
+ init_error();
41824
41861
  }
41825
41862
  });
41826
41863
 
@@ -41857,24 +41894,23 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
41857
41894
  }
41858
41895
  return [value, endPtr2];
41859
41896
  }
41860
- let endPtr;
41861
41897
  if (c === '"' || c === "'") {
41862
- endPtr = getStringEnd(str, ptr);
41863
- let parsed = parseString(str, ptr, endPtr);
41898
+ let [parsed, endPtr2] = parseString(str, ptr);
41864
41899
  if (end) {
41865
- endPtr = skipVoid(str, endPtr);
41866
- if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
41900
+ endPtr2 = skipVoid(str, endPtr2);
41901
+ if (str[endPtr2] && str[endPtr2] !== "," && str[endPtr2] !== end && str[endPtr2] !== "\n" && str[endPtr2] !== "\r") {
41867
41902
  throw new TomlError("unexpected character encountered", {
41868
41903
  toml: str,
41869
- ptr: endPtr
41904
+ ptr: endPtr2
41870
41905
  });
41871
41906
  }
41872
- endPtr += +(str[endPtr] === ",");
41907
+ if (str[endPtr2] === ",")
41908
+ endPtr2++;
41873
41909
  }
41874
- return [parsed, endPtr];
41910
+ return [parsed, endPtr2];
41875
41911
  }
41876
- endPtr = skipUntil(str, ptr, ",", end);
41877
- let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","));
41912
+ let endPtr = skipUntil(str, ptr, ",", end);
41913
+ let slice = sliceAndTrimEndOf(str, ptr, endPtr - (str[endPtr - 1] === "," ? 1 : 0));
41878
41914
  if (!slice[0]) {
41879
41915
  throw new TomlError("incomplete key-value declaration: no value specified", {
41880
41916
  toml: str,
@@ -41883,7 +41919,8 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
41883
41919
  }
41884
41920
  if (end && slice[1] > -1) {
41885
41921
  endPtr = skipVoid(str, ptr + slice[1]);
41886
- endPtr += +(str[endPtr] === ",");
41922
+ if (str[endPtr] === ",")
41923
+ endPtr++;
41887
41924
  }
41888
41925
  return [
41889
41926
  parseValue(slice[0], str, ptr, integersAsBigInt),
@@ -41920,13 +41957,7 @@ function parseKey(str, ptr, end = "=") {
41920
41957
  ptr
41921
41958
  });
41922
41959
  }
41923
- let eos = getStringEnd(str, ptr);
41924
- if (eos < 0) {
41925
- throw new TomlError("unfinished string encountered", {
41926
- toml: str,
41927
- ptr
41928
- });
41929
- }
41960
+ let [part, eos] = parseString(str, ptr);
41930
41961
  dot = str.indexOf(".", eos);
41931
41962
  let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
41932
41963
  let newLine = indexOfNewline(strEnd);
@@ -41951,7 +41982,7 @@ function parseKey(str, ptr, end = "=") {
41951
41982
  });
41952
41983
  }
41953
41984
  }
41954
- parsed.push(parseString(str, ptr, eos));
41985
+ parsed.push(part);
41955
41986
  } else {
41956
41987
  dot = str.indexOf(".", ptr);
41957
41988
  let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
@@ -43919,7 +43950,7 @@ var require_package = __commonJS({
43919
43950
  "package.json"(exports, module) {
43920
43951
  module.exports = {
43921
43952
  name: "@semiont/cli",
43922
- version: "0.5.8",
43953
+ version: "0.5.10",
43923
43954
  description: "Semiont CLI - Unified environment management tool",
43924
43955
  _comment: "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
43925
43956
  type: "module",
@@ -43966,13 +43997,13 @@ var require_package = __commonJS({
43966
43997
  "test:watch:unit": "vitest --watch --config vitest.config.unit.ts"
43967
43998
  },
43968
43999
  dependencies: {
43969
- "@semiont/content": "0.5.8",
43970
- "@semiont/core": "0.5.8",
43971
- "@semiont/event-sourcing": "0.5.8",
43972
- "@semiont/graph": "0.5.8",
43973
- "@semiont/http-transport": "0.5.8",
43974
- "@semiont/make-meaning": "0.5.8",
43975
- "@semiont/sdk": "0.5.8",
44000
+ "@semiont/content": "*",
44001
+ "@semiont/core": "*",
44002
+ "@semiont/event-sourcing": "*",
44003
+ "@semiont/graph": "*",
44004
+ "@semiont/http-transport": "*",
44005
+ "@semiont/make-meaning": "*",
44006
+ "@semiont/sdk": "*",
43976
44007
  arg: "^5.0.2",
43977
44008
  argon2: "^0.44.0",
43978
44009
  express: "^5.2.1",
@@ -43980,7 +44011,7 @@ var require_package = __commonJS({
43980
44011
  "js-yaml": "^4.2.0",
43981
44012
  "neo4j-driver": "^6.1.0",
43982
44013
  react: "^19.2.6",
43983
- "smol-toml": "^1.6.1",
44014
+ "smol-toml": "^1.7.0",
43984
44015
  "socket.io": "^4.5.4",
43985
44016
  zod: "^4.4.3"
43986
44017
  },
@@ -43995,21 +44026,21 @@ var require_package = __commonJS({
43995
44026
  vitest: "^4.1.8"
43996
44027
  },
43997
44028
  optionalDependencies: {
43998
- "@aws-sdk/client-cloudformation": "^3.1065.0",
43999
- "@aws-sdk/client-cloudwatch": "^3.1065.0",
44000
- "@aws-sdk/client-cloudwatch-logs": "^3.1065.0",
44001
- "@aws-sdk/client-cost-explorer": "^3.1065.0",
44002
- "@aws-sdk/client-ecr": "^3.1065.0",
44003
- "@aws-sdk/client-ecs": "^3.1065.0",
44004
- "@aws-sdk/client-efs": "^3.1065.0",
44005
- "@aws-sdk/client-elastic-load-balancing-v2": "^3.1065.0",
44006
- "@aws-sdk/client-lambda": "^3.1065.0",
44007
- "@aws-sdk/client-neptune": "^3.1065.0",
44008
- "@aws-sdk/client-rds": "^3.1065.0",
44009
- "@aws-sdk/client-route-53": "^3.1065.0",
44010
- "@aws-sdk/client-secrets-manager": "^3.1065.0",
44011
- "@aws-sdk/client-sts": "^3.1065.0",
44012
- "@aws-sdk/client-wafv2": "^3.1065.0"
44029
+ "@aws-sdk/client-cloudformation": "^3.1075.0",
44030
+ "@aws-sdk/client-cloudwatch": "^3.1075.0",
44031
+ "@aws-sdk/client-cloudwatch-logs": "^3.1075.0",
44032
+ "@aws-sdk/client-cost-explorer": "^3.1075.0",
44033
+ "@aws-sdk/client-ecr": "^3.1075.0",
44034
+ "@aws-sdk/client-ecs": "^3.1075.0",
44035
+ "@aws-sdk/client-efs": "^3.1075.0",
44036
+ "@aws-sdk/client-elastic-load-balancing-v2": "^3.1075.0",
44037
+ "@aws-sdk/client-lambda": "^3.1075.0",
44038
+ "@aws-sdk/client-neptune": "^3.1075.0",
44039
+ "@aws-sdk/client-rds": "^3.1075.0",
44040
+ "@aws-sdk/client-route-53": "^3.1075.0",
44041
+ "@aws-sdk/client-secrets-manager": "^3.1075.0",
44042
+ "@aws-sdk/client-sts": "^3.1075.0",
44043
+ "@aws-sdk/client-wafv2": "^3.1075.0"
44013
44044
  },
44014
44045
  overrides: {
44015
44046
  esbuild: "0.27.2"
@@ -46632,7 +46663,7 @@ init_cli_logger();
46632
46663
  init_config_loader();
46633
46664
  import * as path38 from "path";
46634
46665
  import { promises as nodeFs } from "fs";
46635
- import { resourceId as toResourceId, annotationId as toAnnotationId, mediaTypeForExtension } from "@semiont/core";
46666
+ import { resourceId as toResourceId, annotationId as toAnnotationId, mediaTypeForExtension, isSupportedMediaType } from "@semiont/core";
46636
46667
 
46637
46668
  // src/core/client-factory.ts
46638
46669
  init_dist();
@@ -46727,7 +46758,13 @@ var YieldOptionsSchema = ApiOptionsSchema.extend({
46727
46758
  sourceLanguage: external_exports.string().optional(),
46728
46759
  temperature: external_exports.coerce.number().min(0).max(1).optional(),
46729
46760
  maxTokens: external_exports.coerce.number().int().min(100).max(4e3).optional(),
46730
- contextWindow: external_exports.coerce.number().int().min(100).max(5e3).default(1e3)
46761
+ contextWindow: external_exports.coerce.number().int().min(100).max(5e3).default(1e3),
46762
+ /**
46763
+ * Media type of the generated resource (delegate mode). Validated for
46764
+ * registry membership at the call site; the create route owns the
46765
+ * authorable / role-appropriateness rejection (MEDIA-TYPES).
46766
+ */
46767
+ outputMediaType: external_exports.string().optional()
46731
46768
  }).superRefine((val, ctx) => {
46732
46769
  const hasUpload = val.upload.length > 0;
46733
46770
  const hasDelegate = val.delegate;
@@ -46742,14 +46779,44 @@ var YieldOptionsSchema = ApiOptionsSchema.extend({
46742
46779
  }
46743
46780
  if (hasDelegate) {
46744
46781
  if (!val.resource) ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "--resource <resourceId> is required with --delegate" });
46745
- if (!val.annotation) ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "--annotation <annotationId> is required with --delegate" });
46746
46782
  if (!val.storageUri) ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "--storage-uri is required with --delegate" });
46747
46783
  }
46748
46784
  });
46785
+ function resolveOutputMediaType(raw) {
46786
+ if (raw === void 0) return void 0;
46787
+ if (!isSupportedMediaType(raw)) {
46788
+ throw new Error(`Unknown output media type: ${raw}`);
46789
+ }
46790
+ return raw;
46791
+ }
46792
+ function extractResult(final) {
46793
+ if (final.kind !== "complete") return {};
46794
+ const r = final.data?.result ?? {};
46795
+ return { resourceId: r.resourceId, resourceName: r.resourceName };
46796
+ }
46749
46797
  async function runDelegate(semiont, options) {
46750
46798
  const rawResourceId = options.resource;
46751
- const rawAnnotationId = options.annotation;
46752
46799
  const rId = toResourceId(rawResourceId);
46800
+ const outputMediaType = resolveOutputMediaType(options.outputMediaType);
46801
+ if (!options.annotation) {
46802
+ const context2 = await semiont.gather.resource(rId, { includeContent: true, includeSummary: true });
46803
+ if (!options.quiet) process.stderr.write(`Deriving from resource ${rawResourceId}...
46804
+ `);
46805
+ const final2 = await (0, import_rxjs2.lastValueFrom)(
46806
+ semiont.yield.fromResource(rId, {
46807
+ title: options.title ?? rawResourceId,
46808
+ storageUri: options.storageUri,
46809
+ context: context2,
46810
+ prompt: options.prompt,
46811
+ language: options.language,
46812
+ temperature: options.temperature,
46813
+ maxTokens: options.maxTokens,
46814
+ outputMediaType
46815
+ })
46816
+ );
46817
+ return extractResult(final2);
46818
+ }
46819
+ const rawAnnotationId = options.annotation;
46753
46820
  const aId = toAnnotationId(rawAnnotationId);
46754
46821
  const context = await (0, import_rxjs2.lastValueFrom)(
46755
46822
  semiont.gather.annotation(rId, aId, { contextWindow: options.contextWindow })
@@ -46766,11 +46833,11 @@ async function runDelegate(semiont, options) {
46766
46833
  language: options.language,
46767
46834
  sourceLanguage: options.sourceLanguage ?? ctxSourceLanguage,
46768
46835
  temperature: options.temperature,
46769
- maxTokens: options.maxTokens
46836
+ maxTokens: options.maxTokens,
46837
+ outputMediaType
46770
46838
  })
46771
46839
  );
46772
- const r = (final.kind === "complete" ? final.data.result : void 0) ?? {};
46773
- return { resourceId: r.resourceId, resourceName: r.resourceName };
46840
+ return extractResult(final);
46774
46841
  }
46775
46842
  async function runYield(options) {
46776
46843
  const startTime = Date.now();
@@ -46830,7 +46897,7 @@ async function runYield(options) {
46830
46897
  };
46831
46898
  }
46832
46899
  var yieldCmd = new CommandBuilder().name("yield").description(
46833
- "Upload a local file as a resource (--upload), or generate a new resource from an annotation's gathered context (--delegate). Delegate mode outputs JSON { resourceId, resourceName, storageUri } to stdout."
46900
+ "Upload a local file as a resource (--upload), or generate a new resource via --delegate: from an annotation's gathered context (with --annotation), or derived from a whole source resource (without --annotation). Delegate mode outputs JSON { resourceId, resourceName, storageUri } to stdout."
46834
46901
  ).requiresEnvironment(true).requiresServices(true).examples(
46835
46902
  "semiont yield --upload docs/overview.md",
46836
46903
  'semiont yield --upload docs/overview.md --name "Overview Document"',
@@ -46838,6 +46905,8 @@ var yieldCmd = new CommandBuilder().name("yield").description(
46838
46905
  "semiont yield --delegate --resource <resourceId> --annotation <annotationId> --storage-uri file://generated/paris.md",
46839
46906
  'semiont yield --delegate --resource <resourceId> --annotation <annotationId> --storage-uri file://generated/paris.md --title "Paris" --language en',
46840
46907
  'semiont yield --delegate --resource <resourceId> --annotation <annotationId> --storage-uri file://generated/paris.md --prompt "Write a brief encyclopedia entry" --temperature 0.3',
46908
+ 'semiont yield --delegate --resource <resourceId> --storage-uri file://generated/summary.md --prompt "Summarize this document"',
46909
+ 'semiont yield --delegate --resource <resourceId> --storage-uri file://generated/translated.html --prompt "Translate to French" --language fr --output-media-type text/html',
46841
46910
  `NEW_ID=$(semiont yield --delegate --resource <resourceId> --annotation <annotationId> --storage-uri file://generated/loc.md --quiet | jq -r '.resourceId') && semiont bind <resourceId> <annotationId> "$NEW_ID"`
46842
46911
  ).args({
46843
46912
  ...withApiArgs({
@@ -46889,6 +46958,10 @@ var yieldCmd = new CommandBuilder().name("yield").description(
46889
46958
  "--context-window": {
46890
46959
  type: "string",
46891
46960
  description: "Delegate mode: characters of annotation context to gather (100\u20135000, default: 1000)"
46961
+ },
46962
+ "--output-media-type": {
46963
+ type: "string",
46964
+ description: "Delegate mode: media type of the generated resource (e.g. text/markdown, text/html; default: text/markdown)"
46892
46965
  }
46893
46966
  }, {
46894
46967
  "-n": "--name"
@@ -47262,7 +47335,12 @@ async function runGather(options) {
47262
47335
  let result;
47263
47336
  if (subcommand === "resource") {
47264
47337
  const id = toResourceId3(rawResourceId);
47265
- result = await semiont.gather.resource(id, { contextWindow: options.contextWindow });
47338
+ result = await semiont.gather.resource(id, {
47339
+ depth: options.depth,
47340
+ maxResources: options.maxResources,
47341
+ includeContent: !options.noContent,
47342
+ includeSummary: options.summary
47343
+ });
47266
47344
  } else if (subcommand === "annotation") {
47267
47345
  if (!rawAnnotationId) {
47268
47346
  throw new Error("Usage: semiont gather annotation <resourceId> <annotationId>");
@@ -47333,8 +47411,8 @@ async function runMatch(options) {
47333
47411
  let context = await (0, import_rxjs5.lastValueFrom)(
47334
47412
  semiont.gather.annotation(resourceId3, annotationId3, { contextWindow: options.contextWindow })
47335
47413
  );
47336
- if (options.userHint) {
47337
- context = { ...context, userHint: options.userHint };
47414
+ if (options.userHint && context.focus.kind === "annotation") {
47415
+ context = { ...context, focus: { ...context.focus, userHint: options.userHint } };
47338
47416
  }
47339
47417
  const searchResult = await (0, import_rxjs5.firstValueFrom)(
47340
47418
  semiont.match.search(resourceId3, annotationId3, context, {
@@ -48963,7 +49041,7 @@ async function generateGlobalHelp() {
48963
49041
  }
48964
49042
 
48965
49043
  // src/cli.ts
48966
- var VERSION = "0.5.8";
49044
+ var VERSION = "0.5.10";
48967
49045
  function printVersion() {
48968
49046
  console.log(`Semiont CLI v${VERSION}`);
48969
49047
  }
@@ -49007,10 +49085,10 @@ main().catch((error51) => {
49007
49085
  js-yaml/dist/js-yaml.mjs:
49008
49086
  (*! js-yaml 4.2.0 https://github.com/nodeca/js-yaml @license MIT *)
49009
49087
 
49010
- smol-toml/dist/error.js:
49011
- smol-toml/dist/util.js:
49012
49088
  smol-toml/dist/date.js:
49089
+ smol-toml/dist/error.js:
49013
49090
  smol-toml/dist/primitive.js:
49091
+ smol-toml/dist/util.js:
49014
49092
  smol-toml/dist/extract.js:
49015
49093
  smol-toml/dist/struct.js:
49016
49094
  smol-toml/dist/parse.js: