@semiont/cli 0.5.9 → 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 (267) hide show
  1. package/dist/cli.mjs +556 -484
  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-CwQNSYq4.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-CfYRiurd.js.map → KeyboardShortcutsContext-DuPrCuAy.js.map} +1 -1
  12. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-U4EVBZEV-hNsmZuyz.js → PdfAnnotationCanvas.client-P37SXBWQ-BOxU-1Jy.js} +2 -2
  13. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-U4EVBZEV-hNsmZuyz.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-DhP2342d.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-B-MhGs0Z.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-sNRwAXfy.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-CSwC62BQ.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-3m7lyOF-.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/it-UYH642IJ-CP5ZdyLJ.js +2 -0
  58. package/dist/frontend/dist/assets/it-UYH642IJ-CP5ZdyLJ.js.map +1 -0
  59. package/dist/frontend/dist/assets/ja-JTVWAC4L-BJZThfyQ.js +2 -0
  60. package/dist/frontend/dist/assets/ja-JTVWAC4L-BJZThfyQ.js.map +1 -0
  61. package/dist/frontend/dist/assets/ko-IHXFMOIZ-j1xQCX4o.js +2 -0
  62. package/dist/frontend/dist/assets/ko-IHXFMOIZ-j1xQCX4o.js.map +1 -0
  63. package/dist/frontend/dist/assets/layout-BD701NmF.js +2 -0
  64. package/dist/frontend/dist/assets/{layout-ChjT2XMf.js.map → layout-BD701NmF.js.map} +1 -1
  65. package/dist/frontend/dist/assets/layout-BY31-yeN.js +2 -0
  66. package/dist/frontend/dist/assets/{layout-CIBMGRGg.js.map → layout-BY31-yeN.js.map} +1 -1
  67. package/dist/frontend/dist/assets/layout-Cxdm1QSw.js +2 -0
  68. package/dist/frontend/dist/assets/{layout--kttJwjx.js.map → layout-Cxdm1QSw.js.map} +1 -1
  69. package/dist/frontend/dist/assets/layout-DGTYBtjJ.js +2 -0
  70. package/dist/frontend/dist/assets/{layout-DTOSfecO.js.map → layout-DGTYBtjJ.js.map} +1 -1
  71. package/dist/frontend/dist/assets/ms-JH25VFLO-CBxXu_23.js +2 -0
  72. package/dist/frontend/dist/assets/ms-JH25VFLO-CBxXu_23.js.map +1 -0
  73. package/dist/frontend/dist/assets/nl-SURXW7IQ-Di1Uwfgv.js +2 -0
  74. package/dist/frontend/dist/assets/nl-SURXW7IQ-Di1Uwfgv.js.map +1 -0
  75. package/dist/frontend/dist/assets/no-HXIKQFDZ-BaYnZrFs.js +2 -0
  76. package/dist/frontend/dist/assets/no-HXIKQFDZ-BaYnZrFs.js.map +1 -0
  77. package/dist/frontend/dist/assets/{not-found-CkW7yXCZ.js → not-found-Dh1Haw3Q.js} +2 -2
  78. package/dist/frontend/dist/assets/{not-found-CkW7yXCZ.js.map → not-found-Dh1Haw3Q.js.map} +1 -1
  79. package/dist/frontend/dist/assets/page-31Agm8Zw.js +2 -0
  80. package/dist/frontend/dist/assets/{page-Bk28sWf5.js.map → page-31Agm8Zw.js.map} +1 -1
  81. package/dist/frontend/dist/assets/page-BV7Fcp6v.js +2 -0
  82. package/dist/frontend/dist/assets/{page-D4PdxwPW.js.map → page-BV7Fcp6v.js.map} +1 -1
  83. package/dist/frontend/dist/assets/page-B_8uan5K.js +2 -0
  84. package/dist/frontend/dist/assets/{page-CW6-9F9w.js.map → page-B_8uan5K.js.map} +1 -1
  85. package/dist/frontend/dist/assets/{page-BnjWmDsM.js → page-BpQsrL4J.js} +2 -2
  86. package/dist/frontend/dist/assets/{page-BnjWmDsM.js.map → page-BpQsrL4J.js.map} +1 -1
  87. package/dist/frontend/dist/assets/page-Bu_Nr4-h.js +2 -0
  88. package/dist/frontend/dist/assets/{page-10-2WEh9.js.map → page-Bu_Nr4-h.js.map} +1 -1
  89. package/dist/frontend/dist/assets/page-BulxfVIh.js +8 -0
  90. package/dist/frontend/dist/assets/{page-DE5OCneW.js.map → page-BulxfVIh.js.map} +1 -1
  91. package/dist/frontend/dist/assets/page-CGXJMtNl.js +2 -0
  92. package/dist/frontend/dist/assets/{page-BmB9iWba.js.map → page-CGXJMtNl.js.map} +1 -1
  93. package/dist/frontend/dist/assets/{page-BSoOqqDp2.js → page-CNKRCNFf2.js} +2 -2
  94. package/dist/frontend/dist/assets/{page-BSoOqqDp2.js.map → page-CNKRCNFf2.js.map} +1 -1
  95. package/dist/frontend/dist/assets/page-CbiBBpNp.js +2 -0
  96. package/dist/frontend/dist/assets/{page-CVsMMJ4D.js.map → page-CbiBBpNp.js.map} +1 -1
  97. package/dist/frontend/dist/assets/page-ClVer5m1.js +2 -0
  98. package/dist/frontend/dist/assets/{page-Bn2RYSD3.js.map → page-ClVer5m1.js.map} +1 -1
  99. package/dist/frontend/dist/assets/page-CwXyG2mE.js +2 -0
  100. package/dist/frontend/dist/assets/{page-CNQxEyNO.js.map → page-CwXyG2mE.js.map} +1 -1
  101. package/dist/frontend/dist/assets/page-D7nHNi_l.js +2 -0
  102. package/dist/frontend/dist/assets/{page-aP22HQnz.js.map → page-D7nHNi_l.js.map} +1 -1
  103. package/dist/frontend/dist/assets/page-D7vCOwQw.js +2 -0
  104. package/dist/frontend/dist/assets/{page-CC4n7boQ.js.map → page-D7vCOwQw.js.map} +1 -1
  105. package/dist/frontend/dist/assets/page-DFLjp4jy.js +2 -0
  106. package/dist/frontend/dist/assets/{page-B2YCNfqB.js.map → page-DFLjp4jy.js.map} +1 -1
  107. package/dist/frontend/dist/assets/page-DIWUAnia.js +2 -0
  108. package/dist/frontend/dist/assets/{page-ByOTWnuA.js.map → page-DIWUAnia.js.map} +1 -1
  109. package/dist/frontend/dist/assets/{page-ps7dwO8y.js → page-Detb5S1i.js} +2 -2
  110. package/dist/frontend/dist/assets/{page-ps7dwO8y.js.map → page-Detb5S1i.js.map} +1 -1
  111. package/dist/frontend/dist/assets/page-DwgJ-g4v.js +2 -0
  112. package/dist/frontend/dist/assets/{page-CQvf9PwP.js.map → page-DwgJ-g4v.js.map} +1 -1
  113. package/dist/frontend/dist/assets/page-bULE4fbO.js +2 -0
  114. package/dist/frontend/dist/assets/{page-BkM7uTwY.js.map → page-bULE4fbO.js.map} +1 -1
  115. package/dist/frontend/dist/assets/{pdf-CHHhr2g_.js → pdf-m5kKOgoq.js} +3 -3
  116. package/dist/frontend/dist/assets/pdf-m5kKOgoq.js.map +1 -0
  117. package/dist/frontend/dist/assets/pl-7A4KU6XK-DQA3xkbx.js +2 -0
  118. package/dist/frontend/dist/assets/pl-7A4KU6XK-DQA3xkbx.js.map +1 -0
  119. package/dist/frontend/dist/assets/pt-6MGYP7Q5-_7GIrTdD.js +2 -0
  120. package/dist/frontend/dist/assets/pt-6MGYP7Q5-_7GIrTdD.js.map +1 -0
  121. package/dist/frontend/dist/assets/ro-IROCHNIA-Dj_II2yF.js +2 -0
  122. package/dist/frontend/dist/assets/ro-IROCHNIA-Dj_II2yF.js.map +1 -0
  123. package/dist/frontend/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  124. package/dist/frontend/dist/assets/{routing-D3tVcFuL.js → routing-BcJzThkn.js} +2 -2
  125. package/dist/frontend/dist/assets/{routing-D3tVcFuL.js.map → routing-BcJzThkn.js.map} +1 -1
  126. package/dist/frontend/dist/assets/routing-C4nGqdKk.js +2 -0
  127. package/dist/frontend/dist/assets/{routing-GE3qy379.js.map → routing-C4nGqdKk.js.map} +1 -1
  128. package/dist/frontend/dist/assets/sv-WDJD75CV-BCL-G7dj.js +2 -0
  129. package/dist/frontend/dist/assets/sv-WDJD75CV-BCL-G7dj.js.map +1 -0
  130. package/dist/frontend/dist/assets/th-RIO2E6B3-I2dubvbq.js +2 -0
  131. package/dist/frontend/dist/assets/th-RIO2E6B3-I2dubvbq.js.map +1 -0
  132. package/dist/frontend/dist/assets/tr-TZ7ERCIN-BQ2FKoLo.js +2 -0
  133. package/dist/frontend/dist/assets/tr-TZ7ERCIN-BQ2FKoLo.js.map +1 -0
  134. package/dist/frontend/dist/assets/uk-ZFWDKLUE-BD2ECP6k.js +2 -0
  135. package/dist/frontend/dist/assets/uk-ZFWDKLUE-BD2ECP6k.js.map +1 -0
  136. package/dist/frontend/dist/assets/{vendor-Bd-5Ya9C.js → vendor-B3B3_s0C.js} +2 -2
  137. package/dist/frontend/dist/assets/{vendor-Bd-5Ya9C.js.map → vendor-B3B3_s0C.js.map} +1 -1
  138. package/dist/frontend/dist/assets/vi-UIOSP2JG-DreqKb1C.js +2 -0
  139. package/dist/frontend/dist/assets/vi-UIOSP2JG-DreqKb1C.js.map +1 -0
  140. package/dist/frontend/dist/assets/web-DBB_8PTg.js +2 -0
  141. package/dist/frontend/dist/assets/web-DBB_8PTg.js.map +1 -0
  142. package/dist/frontend/dist/assets/zh-6R6YUY46-C3GMKbzw.js +2 -0
  143. package/dist/frontend/dist/assets/zh-6R6YUY46-C3GMKbzw.js.map +1 -0
  144. package/dist/frontend/dist/index.html +4 -4
  145. package/dist/frontend/dist/messages/ar.json +41 -2
  146. package/dist/frontend/dist/messages/bn.json +41 -2
  147. package/dist/frontend/dist/messages/cs.json +41 -2
  148. package/dist/frontend/dist/messages/da.json +41 -2
  149. package/dist/frontend/dist/messages/de.json +41 -2
  150. package/dist/frontend/dist/messages/el.json +41 -2
  151. package/dist/frontend/dist/messages/en.json +39 -0
  152. package/dist/frontend/dist/messages/es.json +41 -2
  153. package/dist/frontend/dist/messages/fa.json +41 -2
  154. package/dist/frontend/dist/messages/fi.json +41 -2
  155. package/dist/frontend/dist/messages/fr.json +41 -2
  156. package/dist/frontend/dist/messages/he.json +41 -2
  157. package/dist/frontend/dist/messages/hi.json +41 -2
  158. package/dist/frontend/dist/messages/id.json +41 -2
  159. package/dist/frontend/dist/messages/it.json +41 -2
  160. package/dist/frontend/dist/messages/ja.json +41 -2
  161. package/dist/frontend/dist/messages/ko.json +41 -2
  162. package/dist/frontend/dist/messages/ms.json +41 -2
  163. package/dist/frontend/dist/messages/nl.json +41 -2
  164. package/dist/frontend/dist/messages/no.json +41 -2
  165. package/dist/frontend/dist/messages/pl.json +41 -2
  166. package/dist/frontend/dist/messages/pt.json +41 -2
  167. package/dist/frontend/dist/messages/ro.json +41 -2
  168. package/dist/frontend/dist/messages/sv.json +41 -2
  169. package/dist/frontend/dist/messages/th.json +41 -2
  170. package/dist/frontend/dist/messages/tr.json +41 -2
  171. package/dist/frontend/dist/messages/uk.json +41 -2
  172. package/dist/frontend/dist/messages/vi.json +41 -2
  173. package/dist/frontend/dist/messages/zh.json +41 -2
  174. package/dist/frontend/package.json +1 -1
  175. package/package.json +24 -24
  176. package/dist/frontend/dist/assets/CookiePreferences-CwQNSYq4.js +0 -2
  177. package/dist/frontend/dist/assets/KeyboardShortcutsContext-CfYRiurd.js +0 -2
  178. package/dist/frontend/dist/assets/ToolbarPanels-DhP2342d.js +0 -2
  179. package/dist/frontend/dist/assets/ar-WA47UUWA-Bg_g0nKu.js +0 -2
  180. package/dist/frontend/dist/assets/ar-WA47UUWA-Bg_g0nKu.js.map +0 -1
  181. package/dist/frontend/dist/assets/bn-5ANDRIU6-D3W-5Rrq.js +0 -2
  182. package/dist/frontend/dist/assets/bn-5ANDRIU6-D3W-5Rrq.js.map +0 -1
  183. package/dist/frontend/dist/assets/client-3m7lyOF-.js +0 -2
  184. package/dist/frontend/dist/assets/client-B-MhGs0Z.js +0 -2
  185. package/dist/frontend/dist/assets/client-CSwC62BQ.js +0 -2
  186. package/dist/frontend/dist/assets/client-sNRwAXfy.js +0 -2
  187. package/dist/frontend/dist/assets/cs-3RU7F4JX-2LzMsUs5.js +0 -2
  188. package/dist/frontend/dist/assets/cs-3RU7F4JX-2LzMsUs5.js.map +0 -1
  189. package/dist/frontend/dist/assets/da-GSW5P5HG-DyKRptR2.js +0 -2
  190. package/dist/frontend/dist/assets/da-GSW5P5HG-DyKRptR2.js.map +0 -1
  191. package/dist/frontend/dist/assets/de-JUAUYF4Z-DuEZ0oQs.js +0 -2
  192. package/dist/frontend/dist/assets/de-JUAUYF4Z-DuEZ0oQs.js.map +0 -1
  193. package/dist/frontend/dist/assets/el-JNLWCKEC-BfaVdiXe.js +0 -2
  194. package/dist/frontend/dist/assets/el-JNLWCKEC-BfaVdiXe.js.map +0 -1
  195. package/dist/frontend/dist/assets/en-RBN2GUHF-Bbg1LCI1.js +0 -1
  196. package/dist/frontend/dist/assets/es-WPOX225H-BOyWYGWS.js +0 -2
  197. package/dist/frontend/dist/assets/es-WPOX225H-BOyWYGWS.js.map +0 -1
  198. package/dist/frontend/dist/assets/fa-TAEP6N77-D2lXkg8T.js +0 -2
  199. package/dist/frontend/dist/assets/fa-TAEP6N77-D2lXkg8T.js.map +0 -1
  200. package/dist/frontend/dist/assets/fi-ZVZHANSP-cxycD0z_.js +0 -2
  201. package/dist/frontend/dist/assets/fi-ZVZHANSP-cxycD0z_.js.map +0 -1
  202. package/dist/frontend/dist/assets/fr-VLZW7M4N-BAn0-4x3.js +0 -2
  203. package/dist/frontend/dist/assets/fr-VLZW7M4N-BAn0-4x3.js.map +0 -1
  204. package/dist/frontend/dist/assets/he-QFAFYA77-CO99w2C-.js +0 -2
  205. package/dist/frontend/dist/assets/he-QFAFYA77-CO99w2C-.js.map +0 -1
  206. package/dist/frontend/dist/assets/hi-AO3DQPCV-B-glDmjd.js +0 -2
  207. package/dist/frontend/dist/assets/hi-AO3DQPCV-B-glDmjd.js.map +0 -1
  208. package/dist/frontend/dist/assets/i18n-X0oNIUcF.js +0 -2
  209. package/dist/frontend/dist/assets/i18n-X0oNIUcF.js.map +0 -1
  210. package/dist/frontend/dist/assets/id-GTXF42WM-pIWqz5D1.js +0 -2
  211. package/dist/frontend/dist/assets/id-GTXF42WM-pIWqz5D1.js.map +0 -1
  212. package/dist/frontend/dist/assets/index-D2LrA6v6.js +0 -141
  213. package/dist/frontend/dist/assets/index-D2LrA6v6.js.map +0 -1
  214. package/dist/frontend/dist/assets/it-AS5GM232-BIVnRKJx.js +0 -2
  215. package/dist/frontend/dist/assets/it-AS5GM232-BIVnRKJx.js.map +0 -1
  216. package/dist/frontend/dist/assets/ja-GZ4HLUOF-C8mqh5If.js +0 -2
  217. package/dist/frontend/dist/assets/ja-GZ4HLUOF-C8mqh5If.js.map +0 -1
  218. package/dist/frontend/dist/assets/ko-A4XUXFGJ-GlrkT0k0.js +0 -2
  219. package/dist/frontend/dist/assets/ko-A4XUXFGJ-GlrkT0k0.js.map +0 -1
  220. package/dist/frontend/dist/assets/layout--kttJwjx.js +0 -2
  221. package/dist/frontend/dist/assets/layout-CIBMGRGg.js +0 -2
  222. package/dist/frontend/dist/assets/layout-ChjT2XMf.js +0 -2
  223. package/dist/frontend/dist/assets/layout-DTOSfecO.js +0 -2
  224. package/dist/frontend/dist/assets/ms-YBAO3S6K-CgcHbUoC.js +0 -2
  225. package/dist/frontend/dist/assets/ms-YBAO3S6K-CgcHbUoC.js.map +0 -1
  226. package/dist/frontend/dist/assets/nl-3TJGIIIU-DCK_99k9.js +0 -2
  227. package/dist/frontend/dist/assets/nl-3TJGIIIU-DCK_99k9.js.map +0 -1
  228. package/dist/frontend/dist/assets/no-4AXIQPRQ-DAsTyX8P.js +0 -2
  229. package/dist/frontend/dist/assets/no-4AXIQPRQ-DAsTyX8P.js.map +0 -1
  230. package/dist/frontend/dist/assets/page-10-2WEh9.js +0 -2
  231. package/dist/frontend/dist/assets/page-B2YCNfqB.js +0 -2
  232. package/dist/frontend/dist/assets/page-Bk28sWf5.js +0 -2
  233. package/dist/frontend/dist/assets/page-BkM7uTwY.js +0 -2
  234. package/dist/frontend/dist/assets/page-BmB9iWba.js +0 -2
  235. package/dist/frontend/dist/assets/page-Bn2RYSD3.js +0 -2
  236. package/dist/frontend/dist/assets/page-ByOTWnuA.js +0 -2
  237. package/dist/frontend/dist/assets/page-CC4n7boQ.js +0 -2
  238. package/dist/frontend/dist/assets/page-CNQxEyNO.js +0 -2
  239. package/dist/frontend/dist/assets/page-CQvf9PwP.js +0 -2
  240. package/dist/frontend/dist/assets/page-CVsMMJ4D.js +0 -2
  241. package/dist/frontend/dist/assets/page-CW6-9F9w.js +0 -2
  242. package/dist/frontend/dist/assets/page-D4PdxwPW.js +0 -2
  243. package/dist/frontend/dist/assets/page-DE5OCneW.js +0 -8
  244. package/dist/frontend/dist/assets/page-aP22HQnz.js +0 -2
  245. package/dist/frontend/dist/assets/pdf-CHHhr2g_.js.map +0 -1
  246. package/dist/frontend/dist/assets/pl-5GP6GKXO-CMMCajpA.js +0 -2
  247. package/dist/frontend/dist/assets/pl-5GP6GKXO-CMMCajpA.js.map +0 -1
  248. package/dist/frontend/dist/assets/pt-26Y6JFG5-69xFHtfx.js +0 -2
  249. package/dist/frontend/dist/assets/pt-26Y6JFG5-69xFHtfx.js.map +0 -1
  250. package/dist/frontend/dist/assets/ro-C7UXFRWJ-DMzHGaHE.js +0 -2
  251. package/dist/frontend/dist/assets/ro-C7UXFRWJ-DMzHGaHE.js.map +0 -1
  252. package/dist/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js +0 -1
  253. package/dist/frontend/dist/assets/routing-GE3qy379.js +0 -2
  254. package/dist/frontend/dist/assets/sv-44DVD76T-BLvpn4fZ.js +0 -2
  255. package/dist/frontend/dist/assets/sv-44DVD76T-BLvpn4fZ.js.map +0 -1
  256. package/dist/frontend/dist/assets/th-GIQRTBOY-Bgb4bUeg.js +0 -2
  257. package/dist/frontend/dist/assets/th-GIQRTBOY-Bgb4bUeg.js.map +0 -1
  258. package/dist/frontend/dist/assets/tr-WMQWO4D6-DfAWOqqm.js +0 -2
  259. package/dist/frontend/dist/assets/tr-WMQWO4D6-DfAWOqqm.js.map +0 -1
  260. package/dist/frontend/dist/assets/uk-I7ML6RGG-Cr0S5UE-.js +0 -2
  261. package/dist/frontend/dist/assets/uk-I7ML6RGG-Cr0S5UE-.js.map +0 -1
  262. package/dist/frontend/dist/assets/vi-FGWECASQ-CLx4LvVe.js +0 -2
  263. package/dist/frontend/dist/assets/vi-FGWECASQ-CLx4LvVe.js.map +0 -1
  264. package/dist/frontend/dist/assets/web-k3l0Woeo.js +0 -2
  265. package/dist/frontend/dist/assets/web-k3l0Woeo.js.map +0 -1
  266. package/dist/frontend/dist/assets/zh-L5FN73XC-BpcLGXRm.js +0 -2
  267. 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
 
@@ -23960,7 +23960,7 @@ var require_defaultIfEmpty = __commonJS({
23960
23960
  exports.defaultIfEmpty = void 0;
23961
23961
  var lift_1 = require_lift();
23962
23962
  var OperatorSubscriber_1 = require_OperatorSubscriber();
23963
- function defaultIfEmpty2(defaultValue) {
23963
+ function defaultIfEmpty(defaultValue) {
23964
23964
  return lift_1.operate(function(source, subscriber) {
23965
23965
  var hasValue = false;
23966
23966
  source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
@@ -23974,7 +23974,7 @@ var require_defaultIfEmpty = __commonJS({
23974
23974
  }));
23975
23975
  });
23976
23976
  }
23977
- exports.defaultIfEmpty = defaultIfEmpty2;
23977
+ exports.defaultIfEmpty = defaultIfEmpty;
23978
23978
  }
23979
23979
  });
23980
23980
 
@@ -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,68 +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
- // If the stream completes with no value — the bus was disposed before a
27952
- // reply (e.g. during `semiont.dispose()` with a request in flight) —
27953
- // resolve to a typed `bus.closed` result instead of letting `firstValueFrom`
27954
- // throw rxjs `EmptyError`. An awaited caller then gets a clean
27955
- // BusRequestError; an in-flight promise nobody is awaiting simply resolves,
27956
- // so it can't surface as an unhandled rejection on dispose.
27957
- // See .plans/bugs/busrequest-emptyerror-on-dispose.md.
27958
- (0, import_operators.defaultIfEmpty)({
27959
- ok: false,
27960
- error: new BusRequestError(
27961
- `Bus closed before a reply on ${resultChannel}`,
27962
- "bus.closed",
27963
- { channel: emitChannel, resultChannel, correlationId }
27964
- )
27965
- })
27966
- );
27967
- const resultPromise = (0, import_rxjs.firstValueFrom)(result$);
27968
- await bus.emit(emitChannel, fullPayload);
27969
- const result = await resultPromise;
27970
- if (!result.ok) {
27971
- throw result.error;
27972
- }
27973
- return result.response;
27974
- }
27975
27917
  function createCache(fetchFn) {
27976
27918
  const store$ = new import_rxjs.BehaviorSubject(/* @__PURE__ */ new Map());
27977
27919
  const inflight = /* @__PURE__ */ new Map();
@@ -28059,7 +28001,7 @@ function wrapAsStream(source) {
28059
28001
  return () => sub.unsubscribe();
28060
28002
  });
28061
28003
  }
28062
- 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;
28063
28005
  var init_dist = __esm({
28064
28006
  "../../packages/sdk/dist/index.js"() {
28065
28007
  "use strict";
@@ -28069,6 +28011,32 @@ var init_dist = __esm({
28069
28011
  then(onfulfilled, onrejected) {
28070
28012
  return (0, import_rxjs.lastValueFrom)(this).then(onfulfilled, onrejected);
28071
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
+ }
28072
28040
  /** Wrap an existing Observable's subscribe behavior in a StreamObservable. */
28073
28041
  static from(source) {
28074
28042
  return new _StreamObservable((subscriber) => source.subscribe(subscriber));
@@ -28126,11 +28094,28 @@ var init_dist = __esm({
28126
28094
  return onfulfilled ? onfulfilled(result) : result;
28127
28095
  }, onrejected);
28128
28096
  }
28129
- };
28130
- BusRequestError = class extends SemiontError {
28131
- constructor(message, code, details) {
28132
- super(message, code, details);
28133
- 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
+ });
28134
28119
  }
28135
28120
  };
28136
28121
  ENTITY_TYPES_KEY = "_";
@@ -28144,9 +28129,7 @@ var init_dist = __esm({
28144
28129
  const result = await busRequest(
28145
28130
  this.transport,
28146
28131
  "browse:resource-requested",
28147
- { resourceId: id },
28148
- "browse:resource-result",
28149
- "browse:resource-failed"
28132
+ { resourceId: id }
28150
28133
  );
28151
28134
  return result.resource;
28152
28135
  });
@@ -28162,9 +28145,7 @@ var init_dist = __esm({
28162
28145
  entityType: filters.entityType,
28163
28146
  limit: filters.limit ?? 100,
28164
28147
  offset: 0
28165
- },
28166
- "browse:resources-result",
28167
- "browse:resources-failed"
28148
+ }
28168
28149
  );
28169
28150
  return result.resources;
28170
28151
  });
@@ -28172,9 +28153,7 @@ var init_dist = __esm({
28172
28153
  return busRequest(
28173
28154
  this.transport,
28174
28155
  "browse:annotations-requested",
28175
- { resourceId: resourceId22 },
28176
- "browse:annotations-result",
28177
- "browse:annotations-failed"
28156
+ { resourceId: resourceId22 }
28178
28157
  );
28179
28158
  });
28180
28159
  this.annotationDetailCache = createCache(async (annotationId22) => {
@@ -28185,9 +28164,7 @@ var init_dist = __esm({
28185
28164
  const result = await busRequest(
28186
28165
  this.transport,
28187
28166
  "browse:annotation-requested",
28188
- { resourceId: resourceId22, annotationId: annotationId22 },
28189
- "browse:annotation-result",
28190
- "browse:annotation-failed"
28167
+ { resourceId: resourceId22, annotationId: annotationId22 }
28191
28168
  );
28192
28169
  return result.annotation;
28193
28170
  });
@@ -28195,9 +28172,7 @@ var init_dist = __esm({
28195
28172
  const result = await busRequest(
28196
28173
  this.transport,
28197
28174
  "browse:entity-types-requested",
28198
- {},
28199
- "browse:entity-types-result",
28200
- "browse:entity-types-failed"
28175
+ {}
28201
28176
  );
28202
28177
  return result.entityTypes;
28203
28178
  });
@@ -28205,9 +28180,7 @@ var init_dist = __esm({
28205
28180
  const result = await busRequest(
28206
28181
  this.transport,
28207
28182
  "browse:tag-schemas-requested",
28208
- {},
28209
- "browse:tag-schemas-result",
28210
- "browse:tag-schemas-failed"
28183
+ {}
28211
28184
  );
28212
28185
  return result.tagSchemas;
28213
28186
  });
@@ -28215,9 +28188,7 @@ var init_dist = __esm({
28215
28188
  const result = await busRequest(
28216
28189
  this.transport,
28217
28190
  "browse:referenced-by-requested",
28218
- { resourceId: resourceId22 },
28219
- "browse:referenced-by-result",
28220
- "browse:referenced-by-failed"
28191
+ { resourceId: resourceId22 }
28221
28192
  );
28222
28193
  return result.referencedBy;
28223
28194
  });
@@ -28225,9 +28196,7 @@ var init_dist = __esm({
28225
28196
  const result = await busRequest(
28226
28197
  this.transport,
28227
28198
  "browse:events-requested",
28228
- { resourceId: resourceId22 },
28229
- "browse:events-result",
28230
- "browse:events-failed"
28199
+ { resourceId: resourceId22 }
28231
28200
  );
28232
28201
  return result.events;
28233
28202
  });
@@ -28373,9 +28342,7 @@ var init_dist = __esm({
28373
28342
  const result = await busRequest(
28374
28343
  this.transport,
28375
28344
  "browse:events-requested",
28376
- { resourceId: resourceId22 },
28377
- "browse:events-result",
28378
- "browse:events-failed"
28345
+ { resourceId: resourceId22 }
28379
28346
  );
28380
28347
  return result.events;
28381
28348
  }
@@ -28383,9 +28350,7 @@ var init_dist = __esm({
28383
28350
  return busRequest(
28384
28351
  this.transport,
28385
28352
  "browse:annotation-history-requested",
28386
- { resourceId: resourceId22, annotationId: annotationId22 },
28387
- "browse:annotation-history-result",
28388
- "browse:annotation-history-failed"
28353
+ { resourceId: resourceId22, annotationId: annotationId22 }
28389
28354
  );
28390
28355
  }
28391
28356
  async connections(_resourceId) {
@@ -28401,9 +28366,7 @@ var init_dist = __esm({
28401
28366
  return busRequest(
28402
28367
  this.transport,
28403
28368
  "browse:directory-requested",
28404
- { path: dirPath ?? ".", sort: sort ?? "name" },
28405
- "browse:directory-result",
28406
- "browse:directory-failed"
28369
+ { path: dirPath ?? ".", sort: sort ?? "name" }
28407
28370
  );
28408
28371
  }
28409
28372
  // ── UI signals (local bus fan-out) ────────────────────────────────────
@@ -28487,13 +28450,12 @@ var init_dist = __esm({
28487
28450
  this.invalidateResourceLists();
28488
28451
  };
28489
28452
  /**
28490
- * Handler shared by `yield:create-ok` and `yield:update-ok`. Both
28491
- * report a resource mutation with the resourceId as a string (not
28492
- * yet branded), so we brand and apply the same effect as
28493
- * `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.
28494
28456
  */
28495
- onYieldResourceMutated = (event) => {
28496
- const rId = resourceId(event.resourceId);
28457
+ invalidateMutatedResource = (resourceId22) => {
28458
+ const rId = resourceId(resourceId22);
28497
28459
  this.invalidateResourceDetail(rId);
28498
28460
  this.invalidateResourceLists();
28499
28461
  };
@@ -28517,7 +28479,7 @@ var init_dist = __esm({
28517
28479
  this.invalidateTagSchemas();
28518
28480
  });
28519
28481
  this.on("mark:delete-ok", (event) => {
28520
- this.removeAnnotationDetail(annotationId(event.annotationId));
28482
+ this.removeAnnotationDetail(annotationId(event.response.annotationId));
28521
28483
  });
28522
28484
  this.on("mark:added", (stored) => {
28523
28485
  if (stored.resourceId) {
@@ -28545,8 +28507,8 @@ var init_dist = __esm({
28545
28507
  this.invalidateAnnotationList(event.resourceId);
28546
28508
  }
28547
28509
  });
28548
- this.on("yield:create-ok", this.onYieldResourceMutated);
28549
- 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));
28550
28512
  this.on("mark:archived", this.onArchiveToggled);
28551
28513
  this.on("mark:unarchived", this.onArchiveToggled);
28552
28514
  this.on("frame:entity-type-added", () => this.invalidateEntityTypes());
@@ -28565,20 +28527,30 @@ var init_dist = __esm({
28565
28527
  const result = await busRequest(
28566
28528
  this.transport,
28567
28529
  "mark:create-request",
28568
- { resourceId: resourceId22, request: input },
28569
- "mark:create-ok",
28570
- "mark:create-failed"
28530
+ { resourceId: resourceId22, request: input }
28571
28531
  );
28572
28532
  return { annotationId: annotationId(result.annotationId) };
28573
28533
  }
28574
28534
  async delete(resourceId22, annotationId22) {
28575
- 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
+ );
28576
28540
  }
28577
28541
  async archive(resourceId22) {
28578
- await this.transport.emit("mark:archive", { resourceId: resourceId22 });
28542
+ await busRequest(
28543
+ this.transport,
28544
+ "mark:archive",
28545
+ { resourceId: resourceId22 }
28546
+ );
28579
28547
  }
28580
28548
  async unarchive(resourceId22) {
28581
- await this.transport.emit("mark:unarchive", { resourceId: resourceId22 });
28549
+ await busRequest(
28550
+ this.transport,
28551
+ "mark:unarchive",
28552
+ { resourceId: resourceId22 }
28553
+ );
28582
28554
  }
28583
28555
  assist(resourceId22, motivation, options) {
28584
28556
  return new StreamObservable((subscriber) => {
@@ -28609,9 +28581,7 @@ var init_dist = __esm({
28609
28581
  busRequest(
28610
28582
  this.transport,
28611
28583
  "job:status-requested",
28612
- { jobId },
28613
- "job:status-result",
28614
- "job:status-failed"
28584
+ { jobId }
28615
28585
  ).then((status) => {
28616
28586
  if (done) return;
28617
28587
  if (status.status === "complete") {
@@ -28620,7 +28590,7 @@ var init_dist = __esm({
28620
28590
  kind: "complete",
28621
28591
  data: {
28622
28592
  jobId,
28623
- jobType: status.jobType ?? "annotation",
28593
+ jobType: status.type ?? "annotation",
28624
28594
  resourceId: resourceId22,
28625
28595
  result: status.result
28626
28596
  }
@@ -28740,9 +28710,7 @@ var init_dist = __esm({
28740
28710
  return busRequest(
28741
28711
  this.transport,
28742
28712
  "job:create",
28743
- { jobType, resourceId: resourceId22, params },
28744
- "job:created",
28745
- "job:create-failed"
28713
+ { jobType, resourceId: resourceId22, params }
28746
28714
  );
28747
28715
  }
28748
28716
  };
@@ -28754,12 +28722,11 @@ var init_dist = __esm({
28754
28722
  transport;
28755
28723
  bus;
28756
28724
  async body(resourceId22, annotationId22, operations) {
28757
- await this.transport.emit("bind:update-body", {
28758
- correlationId: crypto.randomUUID(),
28759
- annotationId: annotationId22,
28760
- resourceId: resourceId22,
28761
- operations
28762
- });
28725
+ await busRequest(
28726
+ this.transport,
28727
+ "bind:update-body",
28728
+ { annotationId: annotationId22, resourceId: resourceId22, operations }
28729
+ );
28763
28730
  }
28764
28731
  initiate(input) {
28765
28732
  this.bus.get("bind:initiate").next(input);
@@ -28814,8 +28781,30 @@ var init_dist = __esm({
28814
28781
  };
28815
28782
  });
28816
28783
  }
28817
- resource(_resourceId, _options) {
28818
- 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
+ );
28819
28808
  }
28820
28809
  };
28821
28810
  MatchNamespace = class {
@@ -28919,6 +28908,55 @@ var init_dist = __esm({
28919
28908
  });
28920
28909
  }
28921
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) {
28922
28960
  return new StreamObservable((subscriber) => {
28923
28961
  let done = false;
28924
28962
  let pollTimer = null;
@@ -28947,9 +28985,7 @@ var init_dist = __esm({
28947
28985
  busRequest(
28948
28986
  this.transport,
28949
28987
  "job:status-requested",
28950
- { jobId: jid },
28951
- "job:status-result",
28952
- "job:status-failed"
28988
+ { jobId: jid }
28953
28989
  ).then((status) => {
28954
28990
  if (done) return;
28955
28991
  if (status.status === "complete") {
@@ -28958,7 +28994,7 @@ var init_dist = __esm({
28958
28994
  kind: "complete",
28959
28995
  data: {
28960
28996
  jobId: jid,
28961
- jobType: status.jobType ?? "generation",
28997
+ jobType: status.type ?? "generation",
28962
28998
  resourceId: resourceId22,
28963
28999
  result: status.result
28964
29000
  }
@@ -29002,21 +29038,8 @@ var init_dist = __esm({
29002
29038
  {
29003
29039
  jobType: "generation",
29004
29040
  resourceId: resourceId22,
29005
- params: {
29006
- referenceId: annotationId22,
29007
- title: options.title,
29008
- prompt: options.prompt,
29009
- entityTypes: options.entityTypes,
29010
- language: options.language,
29011
- sourceLanguage: options.sourceLanguage,
29012
- temperature: options.temperature,
29013
- maxTokens: options.maxTokens,
29014
- storageUri: options.storageUri,
29015
- context: options.context
29016
- }
29017
- },
29018
- "job:created",
29019
- "job:create-failed"
29041
+ params
29042
+ }
29020
29043
  ).then(({ jobId }) => {
29021
29044
  if (jobId && !done) {
29022
29045
  activeJobId = jobId;
@@ -29039,18 +29062,14 @@ var init_dist = __esm({
29039
29062
  return busRequest(
29040
29063
  this.transport,
29041
29064
  "yield:clone-token-requested",
29042
- { resourceId: resourceId22 },
29043
- "yield:clone-token-generated",
29044
- "yield:clone-token-failed"
29065
+ { resourceId: resourceId22 }
29045
29066
  );
29046
29067
  }
29047
29068
  async fromToken(token) {
29048
29069
  const result = await busRequest(
29049
29070
  this.transport,
29050
29071
  "yield:clone-resource-requested",
29051
- { token },
29052
- "yield:clone-resource-result",
29053
- "yield:clone-resource-failed"
29072
+ { token }
29054
29073
  );
29055
29074
  return result.sourceResource;
29056
29075
  }
@@ -29058,9 +29077,7 @@ var init_dist = __esm({
29058
29077
  const result = await busRequest(
29059
29078
  this.transport,
29060
29079
  "yield:clone-create",
29061
- options,
29062
- "yield:clone-created",
29063
- "yield:clone-create-failed"
29080
+ options
29064
29081
  );
29065
29082
  return { resourceId: resourceId(result.resourceId) };
29066
29083
  }
@@ -29090,16 +29107,32 @@ var init_dist = __esm({
29090
29107
  this.transport = transport;
29091
29108
  }
29092
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).
29093
29114
  async addEntityType(type) {
29094
- 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
+ );
29095
29120
  }
29096
29121
  async addEntityTypes(types2) {
29097
29122
  for (const tag of types2) {
29098
- await this.transport.emit("frame:add-entity-type", { tag });
29123
+ await busRequest(
29124
+ this.transport,
29125
+ "frame:add-entity-type",
29126
+ { tag }
29127
+ );
29099
29128
  }
29100
29129
  }
29101
29130
  async addTagSchema(schema) {
29102
- await this.transport.emit("frame:add-tag-schema", { schema });
29131
+ await busRequest(
29132
+ this.transport,
29133
+ "frame:add-tag-schema",
29134
+ { schema }
29135
+ );
29103
29136
  }
29104
29137
  };
29105
29138
  JobNamespace = class {
@@ -29133,14 +29166,12 @@ var init_dist = __esm({
29133
29166
  return busRequest(
29134
29167
  this.transport,
29135
29168
  "job:status-requested",
29136
- { jobId },
29137
- "job:status-result",
29138
- "job:status-failed"
29169
+ { jobId }
29139
29170
  );
29140
29171
  }
29141
29172
  async pollUntilComplete(jobId, options) {
29142
29173
  const interval = options?.interval ?? 1e3;
29143
- const timeout6 = options?.timeout ?? 6e4;
29174
+ const timeout5 = options?.timeout ?? 6e4;
29144
29175
  const startTime = Date.now();
29145
29176
  while (true) {
29146
29177
  const status = await this.status(jobId);
@@ -29148,14 +29179,19 @@ var init_dist = __esm({
29148
29179
  if (status.status === "complete" || status.status === "failed" || status.status === "cancelled") {
29149
29180
  return status;
29150
29181
  }
29151
- if (Date.now() - startTime > timeout6) {
29152
- 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`);
29153
29184
  }
29154
29185
  await new Promise((resolve9) => setTimeout(resolve9, interval));
29155
29186
  }
29156
29187
  }
29157
29188
  async cancelByType(jobType) {
29158
- 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;
29159
29195
  }
29160
29196
  cancelRequest(jobType) {
29161
29197
  this.bus.get("job:cancel-requested").next({ jobType });
@@ -34772,7 +34808,7 @@ var init_js_yaml = __esm({
34772
34808
  mark.snippet = makeSnippet(mark);
34773
34809
  return new YAMLException2(message, mark);
34774
34810
  }
34775
- function throwError2(state, message) {
34811
+ function throwError(state, message) {
34776
34812
  throw generateError(state, message);
34777
34813
  }
34778
34814
  function throwWarning(state, message) {
@@ -34838,29 +34874,29 @@ var init_js_yaml = __esm({
34838
34874
  }
34839
34875
  var directiveHandlers = {
34840
34876
  YAML: function handleYamlDirective(state, name, args) {
34841
- if (state.version !== null) throwError2(state, "duplication of %YAML directive");
34842
- 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");
34843
34879
  const match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
34844
- 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");
34845
34881
  const major = parseInt(match[1], 10);
34846
34882
  const minor = parseInt(match[2], 10);
34847
- if (major !== 1) throwError2(state, "unacceptable YAML version of the document");
34883
+ if (major !== 1) throwError(state, "unacceptable YAML version of the document");
34848
34884
  state.version = args[0];
34849
34885
  state.checkLineBreaks = minor < 2;
34850
34886
  if (minor !== 1 && minor !== 2) throwWarning(state, "unsupported YAML version of the document");
34851
34887
  },
34852
34888
  TAG: function handleTagDirective(state, name, args) {
34853
34889
  let prefix;
34854
- 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");
34855
34891
  const handle = args[0];
34856
34892
  prefix = args[1];
34857
- if (!PATTERN_TAG_HANDLE.test(handle)) throwError2(state, "ill-formed tag handle (first argument) of the TAG directive");
34858
- if (_hasOwnProperty.call(state.tagMap, handle)) throwError2(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
34859
- 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");
34860
34896
  try {
34861
34897
  prefix = decodeURIComponent(prefix);
34862
34898
  } catch (err) {
34863
- throwError2(state, "tag prefix is malformed: " + prefix);
34899
+ throwError(state, "tag prefix is malformed: " + prefix);
34864
34900
  }
34865
34901
  state.tagMap[handle] = prefix;
34866
34902
  }
@@ -34870,14 +34906,14 @@ var init_js_yaml = __esm({
34870
34906
  const _result = state.input.slice(start2, end);
34871
34907
  if (checkJson) for (let _position = 0, _length2 = _result.length; _position < _length2; _position += 1) {
34872
34908
  const _character = _result.charCodeAt(_position);
34873
- 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");
34874
34910
  }
34875
- 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");
34876
34912
  state.result += _result;
34877
34913
  }
34878
34914
  }
34879
34915
  function mergeMappings(state, destination, source, overridableKeys) {
34880
- 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");
34881
34917
  const sourceKeys = Object.keys(source);
34882
34918
  for (let index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
34883
34919
  const key = sourceKeys[index];
@@ -34891,7 +34927,7 @@ var init_js_yaml = __esm({
34891
34927
  if (Array.isArray(keyNode)) {
34892
34928
  keyNode = Array.prototype.slice.call(keyNode);
34893
34929
  for (let index = 0, quantity = keyNode.length; index < quantity; index += 1) {
34894
- 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");
34895
34931
  if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") keyNode[index] = "[object Object]";
34896
34932
  }
34897
34933
  }
@@ -34899,7 +34935,7 @@ var init_js_yaml = __esm({
34899
34935
  keyNode = String(keyNode);
34900
34936
  if (_result === null) _result = {};
34901
34937
  if (keyTag === "tag:yaml.org,2002:merge") if (Array.isArray(valueNode)) {
34902
- 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 + ")");
34903
34939
  const seen = /* @__PURE__ */ new Set();
34904
34940
  for (let index = 0, quantity = valueNode.length; index < quantity; index += 1) {
34905
34941
  const src = valueNode[index];
@@ -34913,7 +34949,7 @@ var init_js_yaml = __esm({
34913
34949
  state.line = startLine || state.line;
34914
34950
  state.lineStart = startLineStart || state.lineStart;
34915
34951
  state.position = startPos || state.position;
34916
- throwError2(state, "duplicated mapping key");
34952
+ throwError(state, "duplicated mapping key");
34917
34953
  }
34918
34954
  setProperty(_result, keyNode, valueNode);
34919
34955
  delete overridableKeys[keyNode];
@@ -34926,7 +34962,7 @@ var init_js_yaml = __esm({
34926
34962
  else if (ch === 13) {
34927
34963
  state.position++;
34928
34964
  if (state.input.charCodeAt(state.position) === 10) state.position++;
34929
- } else throwError2(state, "a line break is expected");
34965
+ } else throwError(state, "a line break is expected");
34930
34966
  state.line += 1;
34931
34967
  state.lineStart = state.position;
34932
34968
  state.firstTabInLine = -1;
@@ -35049,12 +35085,12 @@ var init_js_yaml = __esm({
35049
35085
  captureSegment(state, captureStart, captureEnd, true);
35050
35086
  writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
35051
35087
  captureStart = captureEnd = state.position;
35052
- } 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");
35053
35089
  else {
35054
35090
  state.position++;
35055
35091
  if (!isWhiteSpace(ch)) captureEnd = state.position;
35056
35092
  }
35057
- 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");
35058
35094
  }
35059
35095
  function readDoubleQuotedScalar(state, nodeIndent) {
35060
35096
  let captureStart;
@@ -35083,22 +35119,22 @@ var init_js_yaml = __esm({
35083
35119
  for (; hexLength > 0; hexLength--) {
35084
35120
  ch = state.input.charCodeAt(++state.position);
35085
35121
  if ((tmp = fromHexCode(ch)) >= 0) hexResult = (hexResult << 4) + tmp;
35086
- else throwError2(state, "expected hexadecimal character");
35122
+ else throwError(state, "expected hexadecimal character");
35087
35123
  }
35088
35124
  state.result += charFromCodepoint(hexResult);
35089
35125
  state.position++;
35090
- } else throwError2(state, "unknown escape sequence");
35126
+ } else throwError(state, "unknown escape sequence");
35091
35127
  captureStart = captureEnd = state.position;
35092
35128
  } else if (isEol(ch)) {
35093
35129
  captureSegment(state, captureStart, captureEnd, true);
35094
35130
  writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
35095
35131
  captureStart = captureEnd = state.position;
35096
- } 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");
35097
35133
  else {
35098
35134
  state.position++;
35099
35135
  if (!isWhiteSpace(ch)) captureEnd = state.position;
35100
35136
  }
35101
- 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");
35102
35138
  }
35103
35139
  function readFlowCollection(state, nodeIndent) {
35104
35140
  let readNext = true;
@@ -35138,8 +35174,8 @@ var init_js_yaml = __esm({
35138
35174
  state.kind = isMapping ? "mapping" : "sequence";
35139
35175
  state.result = _result;
35140
35176
  return true;
35141
- } else if (!readNext) throwError2(state, "missed comma between flow collection entries");
35142
- 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 ','");
35143
35179
  keyTag = keyNode = valueNode = null;
35144
35180
  isPair = isExplicitPair = false;
35145
35181
  if (ch === 63) {
@@ -35174,7 +35210,7 @@ var init_js_yaml = __esm({
35174
35210
  ch = state.input.charCodeAt(++state.position);
35175
35211
  } else readNext = false;
35176
35212
  }
35177
- throwError2(state, "unexpected end of the stream within a flow collection");
35213
+ throwError(state, "unexpected end of the stream within a flow collection");
35178
35214
  }
35179
35215
  function readBlockScalar(state, nodeIndent) {
35180
35216
  let folding;
@@ -35194,12 +35230,12 @@ var init_js_yaml = __esm({
35194
35230
  while (ch !== 0) {
35195
35231
  ch = state.input.charCodeAt(++state.position);
35196
35232
  if (ch === 43 || ch === 45) if (CHOMPING_CLIP === chomping) chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
35197
- else throwError2(state, "repeat of a chomping mode identifier");
35198
- 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");
35199
35235
  else if (!detectedIndent) {
35200
35236
  textIndent = nodeIndent + tmp - 1;
35201
35237
  detectedIndent = true;
35202
- } else throwError2(state, "repeat of an indentation width identifier");
35238
+ } else throwError(state, "repeat of an indentation width identifier");
35203
35239
  else break;
35204
35240
  }
35205
35241
  if (isWhiteSpace(ch)) {
@@ -35223,7 +35259,7 @@ var init_js_yaml = __esm({
35223
35259
  emptyLines++;
35224
35260
  continue;
35225
35261
  }
35226
- if (!detectedIndent && textIndent === 0) throwError2(state, "missing indentation for block scalar");
35262
+ if (!detectedIndent && textIndent === 0) throwError(state, "missing indentation for block scalar");
35227
35263
  if (state.lineIndent < textIndent) {
35228
35264
  if (chomping === CHOMPING_KEEP) state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
35229
35265
  else if (chomping === CHOMPING_CLIP) {
@@ -35261,7 +35297,7 @@ var init_js_yaml = __esm({
35261
35297
  while (ch !== 0) {
35262
35298
  if (state.firstTabInLine !== -1) {
35263
35299
  state.position = state.firstTabInLine;
35264
- throwError2(state, "tab characters must not be used in indentation");
35300
+ throwError(state, "tab characters must not be used in indentation");
35265
35301
  }
35266
35302
  if (ch !== 45) break;
35267
35303
  if (!isWsOrEol(state.input.charCodeAt(state.position + 1))) break;
@@ -35279,7 +35315,7 @@ var init_js_yaml = __esm({
35279
35315
  _result.push(state.result);
35280
35316
  skipSeparationSpace(state, true, -1);
35281
35317
  ch = state.input.charCodeAt(state.position);
35282
- 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");
35283
35319
  else if (state.lineIndent < nodeIndent) break;
35284
35320
  }
35285
35321
  if (detected) {
@@ -35311,7 +35347,7 @@ var init_js_yaml = __esm({
35311
35347
  while (ch !== 0) {
35312
35348
  if (!atExplicitKey && state.firstTabInLine !== -1) {
35313
35349
  state.position = state.firstTabInLine;
35314
- throwError2(state, "tab characters must not be used in indentation");
35350
+ throwError(state, "tab characters must not be used in indentation");
35315
35351
  }
35316
35352
  const following = state.input.charCodeAt(state.position + 1);
35317
35353
  const _line = state.line;
@@ -35327,7 +35363,7 @@ var init_js_yaml = __esm({
35327
35363
  } else if (atExplicitKey) {
35328
35364
  atExplicitKey = false;
35329
35365
  allowCompact = true;
35330
- } 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");
35331
35367
  state.position += 1;
35332
35368
  ch = following;
35333
35369
  } else {
@@ -35340,7 +35376,7 @@ var init_js_yaml = __esm({
35340
35376
  while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
35341
35377
  if (ch === 58) {
35342
35378
  ch = state.input.charCodeAt(++state.position);
35343
- 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");
35344
35380
  if (atExplicitKey) {
35345
35381
  storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
35346
35382
  keyTag = keyNode = valueNode = null;
@@ -35350,13 +35386,13 @@ var init_js_yaml = __esm({
35350
35386
  allowCompact = false;
35351
35387
  keyTag = state.tag;
35352
35388
  keyNode = state.result;
35353
- } 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");
35354
35390
  else {
35355
35391
  state.tag = _tag;
35356
35392
  state.anchor = _anchor;
35357
35393
  return true;
35358
35394
  }
35359
- } 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");
35360
35396
  else {
35361
35397
  state.tag = _tag;
35362
35398
  state.anchor = _anchor;
@@ -35378,7 +35414,7 @@ var init_js_yaml = __esm({
35378
35414
  skipSeparationSpace(state, true, -1);
35379
35415
  ch = state.input.charCodeAt(state.position);
35380
35416
  }
35381
- 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");
35382
35418
  else if (state.lineIndent < nodeIndent) break;
35383
35419
  }
35384
35420
  if (atExplicitKey) storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
@@ -35397,7 +35433,7 @@ var init_js_yaml = __esm({
35397
35433
  let tagName;
35398
35434
  let ch = state.input.charCodeAt(state.position);
35399
35435
  if (ch !== 33) return false;
35400
- if (state.tag !== null) throwError2(state, "duplication of a tag property");
35436
+ if (state.tag !== null) throwError(state, "duplication of a tag property");
35401
35437
  ch = state.input.charCodeAt(++state.position);
35402
35438
  if (ch === 60) {
35403
35439
  isVerbatim = true;
@@ -35415,41 +35451,41 @@ var init_js_yaml = __esm({
35415
35451
  if (state.position < state.length) {
35416
35452
  tagName = state.input.slice(_position, state.position);
35417
35453
  ch = state.input.charCodeAt(++state.position);
35418
- } 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");
35419
35455
  } else {
35420
35456
  while (ch !== 0 && !isWsOrEol(ch)) {
35421
35457
  if (ch === 33) if (!isNamed) {
35422
35458
  tagHandle = state.input.slice(_position - 1, state.position + 1);
35423
- 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");
35424
35460
  isNamed = true;
35425
35461
  _position = state.position + 1;
35426
- } else throwError2(state, "tag suffix cannot contain exclamation marks");
35462
+ } else throwError(state, "tag suffix cannot contain exclamation marks");
35427
35463
  ch = state.input.charCodeAt(++state.position);
35428
35464
  }
35429
35465
  tagName = state.input.slice(_position, state.position);
35430
- 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");
35431
35467
  }
35432
- 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);
35433
35469
  try {
35434
35470
  tagName = decodeURIComponent(tagName);
35435
35471
  } catch (err) {
35436
- throwError2(state, "tag name is malformed: " + tagName);
35472
+ throwError(state, "tag name is malformed: " + tagName);
35437
35473
  }
35438
35474
  if (isVerbatim) state.tag = tagName;
35439
35475
  else if (_hasOwnProperty.call(state.tagMap, tagHandle)) state.tag = state.tagMap[tagHandle] + tagName;
35440
35476
  else if (tagHandle === "!") state.tag = "!" + tagName;
35441
35477
  else if (tagHandle === "!!") state.tag = "tag:yaml.org,2002:" + tagName;
35442
- else throwError2(state, 'undeclared tag handle "' + tagHandle + '"');
35478
+ else throwError(state, 'undeclared tag handle "' + tagHandle + '"');
35443
35479
  return true;
35444
35480
  }
35445
35481
  function readAnchorProperty(state) {
35446
35482
  let ch = state.input.charCodeAt(state.position);
35447
35483
  if (ch !== 38) return false;
35448
- if (state.anchor !== null) throwError2(state, "duplication of an anchor property");
35484
+ if (state.anchor !== null) throwError(state, "duplication of an anchor property");
35449
35485
  ch = state.input.charCodeAt(++state.position);
35450
35486
  const _position = state.position;
35451
35487
  while (ch !== 0 && !isWsOrEol(ch) && !isFlowIndicator(ch)) ch = state.input.charCodeAt(++state.position);
35452
- 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");
35453
35489
  state.anchor = state.input.slice(_position, state.position);
35454
35490
  return true;
35455
35491
  }
@@ -35459,9 +35495,9 @@ var init_js_yaml = __esm({
35459
35495
  ch = state.input.charCodeAt(++state.position);
35460
35496
  const _position = state.position;
35461
35497
  while (ch !== 0 && !isWsOrEol(ch) && !isFlowIndicator(ch)) ch = state.input.charCodeAt(++state.position);
35462
- 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");
35463
35499
  const alias = state.input.slice(_position, state.position);
35464
- if (!_hasOwnProperty.call(state.anchorMap, alias)) throwError2(state, 'unidentified alias "' + alias + '"');
35500
+ if (!_hasOwnProperty.call(state.anchorMap, alias)) throwError(state, 'unidentified alias "' + alias + '"');
35465
35501
  state.result = state.anchorMap[alias];
35466
35502
  skipSeparationSpace(state, true, -1);
35467
35503
  return true;
@@ -35492,7 +35528,7 @@ var init_js_yaml = __esm({
35492
35528
  let type;
35493
35529
  let flowIndent;
35494
35530
  let blockIndent;
35495
- 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 + ")");
35496
35532
  state.depth += 1;
35497
35533
  if (state.listener !== null) state.listener("open", state);
35498
35534
  state.tag = null;
@@ -35534,7 +35570,7 @@ var init_js_yaml = __esm({
35534
35570
  else if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) hasContent = true;
35535
35571
  else if (readAlias(state)) {
35536
35572
  hasContent = true;
35537
- 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");
35538
35574
  } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
35539
35575
  hasContent = true;
35540
35576
  if (state.tag === null) state.tag = "?";
@@ -35546,7 +35582,7 @@ var init_js_yaml = __esm({
35546
35582
  if (state.tag === null) {
35547
35583
  if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
35548
35584
  } else if (state.tag === "?") {
35549
- 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 + '"');
35550
35586
  for (let typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
35551
35587
  type = state.implicitTypes[typeIndex];
35552
35588
  if (type.resolve(state.result)) {
@@ -35566,9 +35602,9 @@ var init_js_yaml = __esm({
35566
35602
  break;
35567
35603
  }
35568
35604
  }
35569
- if (!type) throwError2(state, "unknown tag !<" + state.tag + ">");
35570
- 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 + '"');
35571
- 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");
35572
35608
  else {
35573
35609
  state.result = type.construct(state.result, state.tag);
35574
35610
  if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
@@ -35596,7 +35632,7 @@ var init_js_yaml = __esm({
35596
35632
  while (ch !== 0 && !isWsOrEol(ch)) ch = state.input.charCodeAt(++state.position);
35597
35633
  const directiveName = state.input.slice(_position, state.position);
35598
35634
  const directiveArgs = [];
35599
- 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");
35600
35636
  while (ch !== 0) {
35601
35637
  while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
35602
35638
  if (ch === 35) {
@@ -35618,7 +35654,7 @@ var init_js_yaml = __esm({
35618
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) {
35619
35655
  state.position += 3;
35620
35656
  skipSeparationSpace(state, true, -1);
35621
- } else if (hasDirectives) throwError2(state, "directives end mark is expected");
35657
+ } else if (hasDirectives) throwError(state, "directives end mark is expected");
35622
35658
  composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
35623
35659
  skipSeparationSpace(state, true, -1);
35624
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");
@@ -35630,7 +35666,7 @@ var init_js_yaml = __esm({
35630
35666
  }
35631
35667
  return;
35632
35668
  }
35633
- 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");
35634
35670
  }
35635
35671
  function loadDocuments(input, options) {
35636
35672
  input = String(input);
@@ -35643,7 +35679,7 @@ var init_js_yaml = __esm({
35643
35679
  const nullpos = input.indexOf("\0");
35644
35680
  if (nullpos !== -1) {
35645
35681
  state.position = nullpos;
35646
- throwError2(state, "null byte is not allowed in input");
35682
+ throwError(state, "null byte is not allowed in input");
35647
35683
  }
35648
35684
  state.input += "\0";
35649
35685
  while (state.input.charCodeAt(state.position) === 32) {
@@ -41457,135 +41493,6 @@ var init_platforms = __esm({
41457
41493
  }
41458
41494
  });
41459
41495
 
41460
- // ../../node_modules/smol-toml/dist/error.js
41461
- function getLineColFromPtr(string4, ptr) {
41462
- let lines = string4.slice(0, ptr).split(/\r\n|\n|\r/g);
41463
- return [lines.length, lines.pop().length + 1];
41464
- }
41465
- function makeCodeBlock(string4, line, column) {
41466
- let lines = string4.split(/\r\n|\n|\r/g);
41467
- let codeblock = "";
41468
- let numberLen = (Math.log10(line + 1) | 0) + 1;
41469
- for (let i = line - 1; i <= line + 1; i++) {
41470
- let l = lines[i - 1];
41471
- if (!l)
41472
- continue;
41473
- codeblock += i.toString().padEnd(numberLen, " ");
41474
- codeblock += ": ";
41475
- codeblock += l;
41476
- codeblock += "\n";
41477
- if (i === line) {
41478
- codeblock += " ".repeat(numberLen + column + 2);
41479
- codeblock += "^\n";
41480
- }
41481
- }
41482
- return codeblock;
41483
- }
41484
- var TomlError;
41485
- var init_error = __esm({
41486
- "../../node_modules/smol-toml/dist/error.js"() {
41487
- TomlError = class extends Error {
41488
- line;
41489
- column;
41490
- codeblock;
41491
- constructor(message, options) {
41492
- const [line, column] = getLineColFromPtr(options.toml, options.ptr);
41493
- const codeblock = makeCodeBlock(options.toml, line, column);
41494
- super(`Invalid TOML document: ${message}
41495
-
41496
- ${codeblock}`, options);
41497
- this.line = line;
41498
- this.column = column;
41499
- this.codeblock = codeblock;
41500
- }
41501
- };
41502
- }
41503
- });
41504
-
41505
- // ../../node_modules/smol-toml/dist/util.js
41506
- function isEscaped(str, ptr) {
41507
- let i = 0;
41508
- while (str[ptr - ++i] === "\\")
41509
- ;
41510
- return --i && i % 2;
41511
- }
41512
- function indexOfNewline(str, start2 = 0, end = str.length) {
41513
- let idx = str.indexOf("\n", start2);
41514
- if (str[idx - 1] === "\r")
41515
- idx--;
41516
- return idx <= end ? idx : -1;
41517
- }
41518
- function skipComment(str, ptr) {
41519
- for (let i = ptr; i < str.length; i++) {
41520
- let c = str[i];
41521
- if (c === "\n")
41522
- return i;
41523
- if (c === "\r" && str[i + 1] === "\n")
41524
- return i + 1;
41525
- if (c < " " && c !== " " || c === "\x7F") {
41526
- throw new TomlError("control characters are not allowed in comments", {
41527
- toml: str,
41528
- ptr
41529
- });
41530
- }
41531
- }
41532
- return str.length;
41533
- }
41534
- function skipVoid(str, ptr, banNewLines, banComments) {
41535
- let c;
41536
- while (1) {
41537
- while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
41538
- ptr++;
41539
- if (banComments || c !== "#")
41540
- break;
41541
- ptr = skipComment(str, ptr);
41542
- }
41543
- return ptr;
41544
- }
41545
- function skipUntil(str, ptr, sep, end, banNewLines = false) {
41546
- if (!end) {
41547
- ptr = indexOfNewline(str, ptr);
41548
- return ptr < 0 ? str.length : ptr;
41549
- }
41550
- for (let i = ptr; i < str.length; i++) {
41551
- let c = str[i];
41552
- if (c === "#") {
41553
- i = indexOfNewline(str, i);
41554
- } else if (c === sep) {
41555
- return i + 1;
41556
- } else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
41557
- return i;
41558
- }
41559
- }
41560
- throw new TomlError("cannot find end of structure", {
41561
- toml: str,
41562
- ptr
41563
- });
41564
- }
41565
- function getStringEnd(str, seek) {
41566
- let first = str[seek];
41567
- let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
41568
- seek += target.length - 1;
41569
- do
41570
- seek = str.indexOf(target, ++seek);
41571
- while (seek > -1 && first !== "'" && isEscaped(str, seek));
41572
- if (seek > -1) {
41573
- seek += target.length;
41574
- if (target.length > 1) {
41575
- if (str[seek] === first)
41576
- seek++;
41577
- if (str[seek] === first)
41578
- seek++;
41579
- }
41580
- }
41581
- return seek;
41582
- }
41583
- var init_util2 = __esm({
41584
- "../../node_modules/smol-toml/dist/util.js"() {
41585
- init_error();
41586
- }
41587
- });
41588
-
41589
41496
  // ../../node_modules/smol-toml/dist/date.js
41590
41497
  var DATE_TIME_RE, TomlDate;
41591
41498
  var init_date = __esm({
@@ -41683,79 +41590,155 @@ var init_date = __esm({
41683
41590
  }
41684
41591
  });
41685
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
+
41686
41638
  // ../../node_modules/smol-toml/dist/primitive.js
41687
- function parseString(str, ptr = 0, endPtr = str.length) {
41688
- let isLiteral = str[ptr] === "'";
41689
- 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];
41690
41644
  if (isMultiline) {
41691
- endPtr -= 2;
41692
- if (str[ptr += 2] === "\r")
41693
- ptr++;
41694
- if (str[ptr] === "\n")
41645
+ if (str[ptr += 2] === "\n")
41695
41646
  ptr++;
41647
+ else if (str[ptr] === "\r" && str[ptr + 1] === "\n")
41648
+ ptr += 2;
41696
41649
  }
41697
- let tmp = 0;
41698
- let isEscape;
41699
41650
  let parsed = "";
41700
41651
  let sliceStart = ptr;
41701
- while (ptr < endPtr - 1) {
41702
- let c = str[ptr++];
41703
- if (c === "\n" || c === "\r" && str[ptr] === "\n") {
41704
- if (!isMultiline) {
41705
- throw new TomlError("newlines are not allowed in strings", {
41706
- toml: str,
41707
- ptr: ptr - 1
41708
- });
41709
- }
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;
41710
41657
  } else if (c < " " && c !== " " || c === "\x7F") {
41711
41658
  throw new TomlError("control characters are not allowed in strings", {
41712
41659
  toml: str,
41713
- ptr: ptr - 1
41660
+ ptr: i
41714
41661
  });
41715
- }
41716
- if (isEscape) {
41717
- 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) {
41718
41681
  if (c === "x" || c === "u" || c === "U") {
41719
- let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8);
41720
- if (!ESCAPE_REGEX.test(code)) {
41721
- throw new TomlError("invalid unicode escape", {
41722
- toml: str,
41723
- ptr: tmp
41724
- });
41725
- }
41726
- try {
41727
- parsed += String.fromCodePoint(parseInt(code, 16));
41728
- } catch {
41729
- throw new TomlError("invalid unicode escape", {
41730
- toml: str,
41731
- ptr: tmp
41732
- });
41733
- }
41734
- } else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
41735
- ptr = skipVoid(str, ptr - 1, true);
41736
- if (str[ptr] !== "\n" && str[ptr] !== "\r") {
41737
- throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
41738
- toml: str,
41739
- ptr: tmp
41740
- });
41741
- }
41742
- ptr = skipVoid(str, ptr);
41743
- } else if (c in ESC_MAP) {
41744
- 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;
41745
41708
  } else {
41746
- 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", {
41747
41733
  toml: str,
41748
- ptr: tmp
41734
+ ptr: sliceStart
41749
41735
  });
41750
41736
  }
41751
- sliceStart = ptr;
41752
- } else if (!isLiteral && c === "\\") {
41753
- tmp = ptr - 1;
41754
- isEscape = true;
41755
- parsed += str.slice(sliceStart, tmp);
41737
+ state = !isLiteral && c === "\\" ? 1 : 0;
41738
+ sliceStart = i;
41756
41739
  }
41757
41740
  }
41758
- return parsed + str.slice(sliceStart, endPtr - 1);
41741
+ throw new TomlError("unfinished string", { toml: str, ptr });
41759
41742
  }
41760
41743
  function parseValue(value, toml, ptr, integersAsBigInt) {
41761
41744
  if (value === "true")
@@ -41807,26 +41790,74 @@ function parseValue(value, toml, ptr, integersAsBigInt) {
41807
41790
  }
41808
41791
  return date5;
41809
41792
  }
41810
- var INT_REGEX, FLOAT_REGEX, LEADING_ZERO, ESCAPE_REGEX, ESC_MAP;
41793
+ var INT_REGEX, FLOAT_REGEX, LEADING_ZERO;
41811
41794
  var init_primitive = __esm({
41812
41795
  "../../node_modules/smol-toml/dist/primitive.js"() {
41813
- init_util2();
41814
41796
  init_date();
41815
41797
  init_error();
41816
41798
  INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
41817
41799
  FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
41818
41800
  LEADING_ZERO = /^[+-]?0[0-9_]/;
41819
- ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i;
41820
- ESC_MAP = {
41821
- b: "\b",
41822
- t: " ",
41823
- n: "\n",
41824
- f: "\f",
41825
- r: "\r",
41826
- e: "\x1B",
41827
- '"': '"',
41828
- "\\": "\\"
41829
- };
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();
41830
41861
  }
41831
41862
  });
41832
41863
 
@@ -41863,24 +41894,23 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
41863
41894
  }
41864
41895
  return [value, endPtr2];
41865
41896
  }
41866
- let endPtr;
41867
41897
  if (c === '"' || c === "'") {
41868
- endPtr = getStringEnd(str, ptr);
41869
- let parsed = parseString(str, ptr, endPtr);
41898
+ let [parsed, endPtr2] = parseString(str, ptr);
41870
41899
  if (end) {
41871
- endPtr = skipVoid(str, endPtr);
41872
- 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") {
41873
41902
  throw new TomlError("unexpected character encountered", {
41874
41903
  toml: str,
41875
- ptr: endPtr
41904
+ ptr: endPtr2
41876
41905
  });
41877
41906
  }
41878
- endPtr += +(str[endPtr] === ",");
41907
+ if (str[endPtr2] === ",")
41908
+ endPtr2++;
41879
41909
  }
41880
- return [parsed, endPtr];
41910
+ return [parsed, endPtr2];
41881
41911
  }
41882
- endPtr = skipUntil(str, ptr, ",", end);
41883
- 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));
41884
41914
  if (!slice[0]) {
41885
41915
  throw new TomlError("incomplete key-value declaration: no value specified", {
41886
41916
  toml: str,
@@ -41889,7 +41919,8 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
41889
41919
  }
41890
41920
  if (end && slice[1] > -1) {
41891
41921
  endPtr = skipVoid(str, ptr + slice[1]);
41892
- endPtr += +(str[endPtr] === ",");
41922
+ if (str[endPtr] === ",")
41923
+ endPtr++;
41893
41924
  }
41894
41925
  return [
41895
41926
  parseValue(slice[0], str, ptr, integersAsBigInt),
@@ -41926,13 +41957,7 @@ function parseKey(str, ptr, end = "=") {
41926
41957
  ptr
41927
41958
  });
41928
41959
  }
41929
- let eos = getStringEnd(str, ptr);
41930
- if (eos < 0) {
41931
- throw new TomlError("unfinished string encountered", {
41932
- toml: str,
41933
- ptr
41934
- });
41935
- }
41960
+ let [part, eos] = parseString(str, ptr);
41936
41961
  dot = str.indexOf(".", eos);
41937
41962
  let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
41938
41963
  let newLine = indexOfNewline(strEnd);
@@ -41957,7 +41982,7 @@ function parseKey(str, ptr, end = "=") {
41957
41982
  });
41958
41983
  }
41959
41984
  }
41960
- parsed.push(parseString(str, ptr, eos));
41985
+ parsed.push(part);
41961
41986
  } else {
41962
41987
  dot = str.indexOf(".", ptr);
41963
41988
  let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
@@ -43925,7 +43950,7 @@ var require_package = __commonJS({
43925
43950
  "package.json"(exports, module) {
43926
43951
  module.exports = {
43927
43952
  name: "@semiont/cli",
43928
- version: "0.5.9",
43953
+ version: "0.5.10",
43929
43954
  description: "Semiont CLI - Unified environment management tool",
43930
43955
  _comment: "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
43931
43956
  type: "module",
@@ -43986,7 +44011,7 @@ var require_package = __commonJS({
43986
44011
  "js-yaml": "^4.2.0",
43987
44012
  "neo4j-driver": "^6.1.0",
43988
44013
  react: "^19.2.6",
43989
- "smol-toml": "^1.6.1",
44014
+ "smol-toml": "^1.7.0",
43990
44015
  "socket.io": "^4.5.4",
43991
44016
  zod: "^4.4.3"
43992
44017
  },
@@ -44001,21 +44026,21 @@ var require_package = __commonJS({
44001
44026
  vitest: "^4.1.8"
44002
44027
  },
44003
44028
  optionalDependencies: {
44004
- "@aws-sdk/client-cloudformation": "^3.1065.0",
44005
- "@aws-sdk/client-cloudwatch": "^3.1065.0",
44006
- "@aws-sdk/client-cloudwatch-logs": "^3.1065.0",
44007
- "@aws-sdk/client-cost-explorer": "^3.1065.0",
44008
- "@aws-sdk/client-ecr": "^3.1065.0",
44009
- "@aws-sdk/client-ecs": "^3.1065.0",
44010
- "@aws-sdk/client-efs": "^3.1065.0",
44011
- "@aws-sdk/client-elastic-load-balancing-v2": "^3.1065.0",
44012
- "@aws-sdk/client-lambda": "^3.1065.0",
44013
- "@aws-sdk/client-neptune": "^3.1065.0",
44014
- "@aws-sdk/client-rds": "^3.1065.0",
44015
- "@aws-sdk/client-route-53": "^3.1065.0",
44016
- "@aws-sdk/client-secrets-manager": "^3.1065.0",
44017
- "@aws-sdk/client-sts": "^3.1065.0",
44018
- "@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"
44019
44044
  },
44020
44045
  overrides: {
44021
44046
  esbuild: "0.27.2"
@@ -46638,7 +46663,7 @@ init_cli_logger();
46638
46663
  init_config_loader();
46639
46664
  import * as path38 from "path";
46640
46665
  import { promises as nodeFs } from "fs";
46641
- import { resourceId as toResourceId, annotationId as toAnnotationId, mediaTypeForExtension } from "@semiont/core";
46666
+ import { resourceId as toResourceId, annotationId as toAnnotationId, mediaTypeForExtension, isSupportedMediaType } from "@semiont/core";
46642
46667
 
46643
46668
  // src/core/client-factory.ts
46644
46669
  init_dist();
@@ -46733,7 +46758,13 @@ var YieldOptionsSchema = ApiOptionsSchema.extend({
46733
46758
  sourceLanguage: external_exports.string().optional(),
46734
46759
  temperature: external_exports.coerce.number().min(0).max(1).optional(),
46735
46760
  maxTokens: external_exports.coerce.number().int().min(100).max(4e3).optional(),
46736
- 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()
46737
46768
  }).superRefine((val, ctx) => {
46738
46769
  const hasUpload = val.upload.length > 0;
46739
46770
  const hasDelegate = val.delegate;
@@ -46748,14 +46779,44 @@ var YieldOptionsSchema = ApiOptionsSchema.extend({
46748
46779
  }
46749
46780
  if (hasDelegate) {
46750
46781
  if (!val.resource) ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "--resource <resourceId> is required with --delegate" });
46751
- if (!val.annotation) ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "--annotation <annotationId> is required with --delegate" });
46752
46782
  if (!val.storageUri) ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "--storage-uri is required with --delegate" });
46753
46783
  }
46754
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
+ }
46755
46797
  async function runDelegate(semiont, options) {
46756
46798
  const rawResourceId = options.resource;
46757
- const rawAnnotationId = options.annotation;
46758
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;
46759
46820
  const aId = toAnnotationId(rawAnnotationId);
46760
46821
  const context = await (0, import_rxjs2.lastValueFrom)(
46761
46822
  semiont.gather.annotation(rId, aId, { contextWindow: options.contextWindow })
@@ -46772,11 +46833,11 @@ async function runDelegate(semiont, options) {
46772
46833
  language: options.language,
46773
46834
  sourceLanguage: options.sourceLanguage ?? ctxSourceLanguage,
46774
46835
  temperature: options.temperature,
46775
- maxTokens: options.maxTokens
46836
+ maxTokens: options.maxTokens,
46837
+ outputMediaType
46776
46838
  })
46777
46839
  );
46778
- const r = (final.kind === "complete" ? final.data.result : void 0) ?? {};
46779
- return { resourceId: r.resourceId, resourceName: r.resourceName };
46840
+ return extractResult(final);
46780
46841
  }
46781
46842
  async function runYield(options) {
46782
46843
  const startTime = Date.now();
@@ -46836,7 +46897,7 @@ async function runYield(options) {
46836
46897
  };
46837
46898
  }
46838
46899
  var yieldCmd = new CommandBuilder().name("yield").description(
46839
- "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."
46840
46901
  ).requiresEnvironment(true).requiresServices(true).examples(
46841
46902
  "semiont yield --upload docs/overview.md",
46842
46903
  'semiont yield --upload docs/overview.md --name "Overview Document"',
@@ -46844,6 +46905,8 @@ var yieldCmd = new CommandBuilder().name("yield").description(
46844
46905
  "semiont yield --delegate --resource <resourceId> --annotation <annotationId> --storage-uri file://generated/paris.md",
46845
46906
  'semiont yield --delegate --resource <resourceId> --annotation <annotationId> --storage-uri file://generated/paris.md --title "Paris" --language en',
46846
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',
46847
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"`
46848
46911
  ).args({
46849
46912
  ...withApiArgs({
@@ -46895,6 +46958,10 @@ var yieldCmd = new CommandBuilder().name("yield").description(
46895
46958
  "--context-window": {
46896
46959
  type: "string",
46897
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)"
46898
46965
  }
46899
46966
  }, {
46900
46967
  "-n": "--name"
@@ -47268,7 +47335,12 @@ async function runGather(options) {
47268
47335
  let result;
47269
47336
  if (subcommand === "resource") {
47270
47337
  const id = toResourceId3(rawResourceId);
47271
- 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
+ });
47272
47344
  } else if (subcommand === "annotation") {
47273
47345
  if (!rawAnnotationId) {
47274
47346
  throw new Error("Usage: semiont gather annotation <resourceId> <annotationId>");
@@ -47339,8 +47411,8 @@ async function runMatch(options) {
47339
47411
  let context = await (0, import_rxjs5.lastValueFrom)(
47340
47412
  semiont.gather.annotation(resourceId3, annotationId3, { contextWindow: options.contextWindow })
47341
47413
  );
47342
- if (options.userHint) {
47343
- context = { ...context, userHint: options.userHint };
47414
+ if (options.userHint && context.focus.kind === "annotation") {
47415
+ context = { ...context, focus: { ...context.focus, userHint: options.userHint } };
47344
47416
  }
47345
47417
  const searchResult = await (0, import_rxjs5.firstValueFrom)(
47346
47418
  semiont.match.search(resourceId3, annotationId3, context, {
@@ -48969,7 +49041,7 @@ async function generateGlobalHelp() {
48969
49041
  }
48970
49042
 
48971
49043
  // src/cli.ts
48972
- var VERSION = "0.5.9";
49044
+ var VERSION = "0.5.10";
48973
49045
  function printVersion() {
48974
49046
  console.log(`Semiont CLI v${VERSION}`);
48975
49047
  }
@@ -49013,10 +49085,10 @@ main().catch((error51) => {
49013
49085
  js-yaml/dist/js-yaml.mjs:
49014
49086
  (*! js-yaml 4.2.0 https://github.com/nodeca/js-yaml @license MIT *)
49015
49087
 
49016
- smol-toml/dist/error.js:
49017
- smol-toml/dist/util.js:
49018
49088
  smol-toml/dist/date.js:
49089
+ smol-toml/dist/error.js:
49019
49090
  smol-toml/dist/primitive.js:
49091
+ smol-toml/dist/util.js:
49020
49092
  smol-toml/dist/extract.js:
49021
49093
  smol-toml/dist/struct.js:
49022
49094
  smol-toml/dist/parse.js: