@agimon-ai/doompi-author 0.0.1-alpha.2 → 0.0.1-alpha.21

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 (318) hide show
  1. package/README.md +5 -1
  2. package/dist/apiContracts.cjs +316 -0
  3. package/dist/apiContracts.cjs.map +1 -0
  4. package/dist/apiContracts.d.mts +53 -0
  5. package/dist/apiContracts.d.mts.map +1 -0
  6. package/dist/apiContracts.mjs +311 -0
  7. package/dist/apiContracts.mjs.map +1 -0
  8. package/dist/authorCommand-B90ghX5J.mjs +226 -0
  9. package/dist/authorCommand-B90ghX5J.mjs.map +1 -0
  10. package/dist/authorCommand-Cd5dnLF7.cjs +315 -0
  11. package/dist/authorCommand-Cd5dnLF7.cjs.map +1 -0
  12. package/dist/authorFacade-B9-Re3Ga.mjs +75 -0
  13. package/dist/authorFacade-B9-Re3Ga.mjs.map +1 -0
  14. package/dist/authorFacade-BvCSzZ5K.cjs +104 -0
  15. package/dist/authorFacade-BvCSzZ5K.cjs.map +1 -0
  16. package/dist/authorFacade-RZ6EXlR5.d.mts +113 -0
  17. package/dist/authorFacade-RZ6EXlR5.d.mts.map +1 -0
  18. package/dist/authorFacade.cjs +26 -0
  19. package/dist/authorFacade.d.mts +3 -0
  20. package/dist/authorFacade.mjs +3 -0
  21. package/dist/extensions/pi.cjs +172 -1
  22. package/dist/extensions/pi.cjs.map +1 -0
  23. package/dist/extensions/pi.d.mts +6 -2
  24. package/dist/extensions/pi.d.mts.map +1 -0
  25. package/dist/extensions/pi.mjs +167 -1
  26. package/dist/extensions/pi.mjs.map +1 -0
  27. package/dist/extensions/server.cjs +659 -0
  28. package/dist/extensions/server.cjs.map +1 -0
  29. package/dist/extensions/server.d.mts +5 -0
  30. package/dist/extensions/server.d.mts.map +1 -0
  31. package/dist/extensions/server.mjs +652 -0
  32. package/dist/extensions/server.mjs.map +1 -0
  33. package/dist/extensions/web.mjs +4231 -0
  34. package/dist/extensions/web.mjs.map +1 -0
  35. package/dist/index-Btm_xNOb.d.mts +386 -0
  36. package/dist/index-Btm_xNOb.d.mts.map +1 -0
  37. package/dist/index.cjs +35 -1
  38. package/dist/index.d.mts +2 -21
  39. package/dist/index.mjs +4 -1
  40. package/dist/monitor-7T5YF6px.mjs +70 -0
  41. package/dist/monitor-7T5YF6px.mjs.map +1 -0
  42. package/dist/monitor-BxY8s_AX.cjs +81 -0
  43. package/dist/monitor-BxY8s_AX.cjs.map +1 -0
  44. package/dist/structuredDocuments-Bg6DIqu5.cjs +960 -0
  45. package/dist/structuredDocuments-Bg6DIqu5.cjs.map +1 -0
  46. package/dist/structuredDocuments-CzMYD0Bq.mjs +810 -0
  47. package/dist/structuredDocuments-CzMYD0Bq.mjs.map +1 -0
  48. package/package.json +48 -38
  49. package/src/types/authorPreview.ts +76 -0
  50. package/src/types/webAuthor.ts +1 -1
  51. package/dist/_virtual/_rolldown/runtime.cjs +0 -1
  52. package/dist/adapters/authorApi.cjs +0 -2
  53. package/dist/adapters/authorApi.cjs.map +0 -1
  54. package/dist/adapters/authorBridgeApi.cjs +0 -2
  55. package/dist/adapters/authorBridgeApi.cjs.map +0 -1
  56. package/dist/adapters/authorDocumentApi.cjs +0 -2
  57. package/dist/adapters/authorDocumentApi.cjs.map +0 -1
  58. package/dist/adapters/pi/authorBridgeClient.cjs +0 -2
  59. package/dist/adapters/pi/authorBridgeClient.cjs.map +0 -1
  60. package/dist/adapters/pi/authorTools.cjs +0 -2
  61. package/dist/adapters/pi/authorTools.cjs.map +0 -1
  62. package/dist/adapters/pi/extension.cjs +0 -2
  63. package/dist/adapters/pi/extension.cjs.map +0 -1
  64. package/dist/adapters/structuredDocuments/common.cjs +0 -2
  65. package/dist/adapters/structuredDocuments/common.cjs.map +0 -1
  66. package/dist/adapters/structuredDocuments/csv.cjs +0 -7
  67. package/dist/adapters/structuredDocuments/csv.cjs.map +0 -1
  68. package/dist/adapters/structuredDocuments/index.cjs +0 -2
  69. package/dist/adapters/structuredDocuments/index.cjs.map +0 -1
  70. package/dist/adapters/structuredDocuments/markdownSlides.cjs +0 -6
  71. package/dist/adapters/structuredDocuments/markdownSlides.cjs.map +0 -1
  72. package/dist/adapters/structuredDocuments/ooxmlArchive.cjs +0 -2
  73. package/dist/adapters/structuredDocuments/ooxmlArchive.cjs.map +0 -1
  74. package/dist/adapters/structuredDocuments/pptx.cjs +0 -2
  75. package/dist/adapters/structuredDocuments/pptx.cjs.map +0 -1
  76. package/dist/adapters/structuredDocuments/xlsx.cjs +0 -2
  77. package/dist/adapters/structuredDocuments/xlsx.cjs.map +0 -1
  78. package/dist/adapters/structuredDocuments/xmlText.cjs +0 -2
  79. package/dist/adapters/structuredDocuments/xmlText.cjs.map +0 -1
  80. package/dist/adapters/webAuthorChannel.cjs +0 -2
  81. package/dist/adapters/webAuthorChannel.cjs.map +0 -1
  82. package/dist/commands/doomAuthorCommand.cjs +0 -2
  83. package/dist/commands/doomAuthorCommand.cjs.map +0 -1
  84. package/dist/container/index.cjs +0 -2
  85. package/dist/container/index.cjs.map +0 -1
  86. package/dist/extensions/pi.d.cts +0 -2
  87. package/dist/index.d.cts +0 -21
  88. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/engine/helpers/union.d.cts +0 -6
  89. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/engine/helpers/union.d.cts.map +0 -1
  90. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/engine/helpers/union.d.mts +0 -6
  91. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/engine/helpers/union.d.mts.map +0 -1
  92. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/_optional.d.cts +0 -7
  93. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/_optional.d.cts.map +0 -1
  94. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/_optional.d.mts +0 -7
  95. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/_optional.d.mts.map +0 -1
  96. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/object.d.cts +0 -12
  97. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/object.d.cts.map +0 -1
  98. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/object.d.mts +0 -12
  99. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/object.d.mts.map +0 -1
  100. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/properties.d.cts +0 -12
  101. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/properties.d.cts.map +0 -1
  102. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/properties.d.mts +0 -12
  103. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/properties.d.mts.map +0 -1
  104. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/record.d.cts +0 -9
  105. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/record.d.cts.map +0 -1
  106. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/record.d.mts +0 -9
  107. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/record.d.mts.map +0 -1
  108. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/schema.d.cts +0 -4
  109. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/schema.d.cts.map +0 -1
  110. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/schema.d.mts +0 -4
  111. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/schema.d.mts.map +0 -1
  112. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/string.d.cts +0 -9
  113. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/string.d.cts.map +0 -1
  114. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/string.d.mts +0 -9
  115. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/string.d.mts.map +0 -1
  116. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/unknown.d.cts +0 -8
  117. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/unknown.d.cts.map +0 -1
  118. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/unknown.d.mts +0 -8
  119. package/dist/node_modules/.pnpm/typebox@1.3.25/node_modules/typebox/build/type/types/unknown.d.mts.map +0 -1
  120. package/dist/packages/minor/doompi-author/src/adapters/authorApi.d.cts +0 -15
  121. package/dist/packages/minor/doompi-author/src/adapters/authorApi.d.cts.map +0 -1
  122. package/dist/packages/minor/doompi-author/src/adapters/authorApi.d.mts +0 -15
  123. package/dist/packages/minor/doompi-author/src/adapters/authorApi.d.mts.map +0 -1
  124. package/dist/packages/minor/doompi-author/src/adapters/authorApi.mjs +0 -2
  125. package/dist/packages/minor/doompi-author/src/adapters/authorApi.mjs.map +0 -1
  126. package/dist/packages/minor/doompi-author/src/adapters/authorBridgeApi.d.cts +0 -6
  127. package/dist/packages/minor/doompi-author/src/adapters/authorBridgeApi.d.cts.map +0 -1
  128. package/dist/packages/minor/doompi-author/src/adapters/authorBridgeApi.d.mts +0 -6
  129. package/dist/packages/minor/doompi-author/src/adapters/authorBridgeApi.d.mts.map +0 -1
  130. package/dist/packages/minor/doompi-author/src/adapters/authorBridgeApi.mjs +0 -2
  131. package/dist/packages/minor/doompi-author/src/adapters/authorBridgeApi.mjs.map +0 -1
  132. package/dist/packages/minor/doompi-author/src/adapters/authorDocumentApi.d.cts +0 -11
  133. package/dist/packages/minor/doompi-author/src/adapters/authorDocumentApi.d.cts.map +0 -1
  134. package/dist/packages/minor/doompi-author/src/adapters/authorDocumentApi.d.mts +0 -11
  135. package/dist/packages/minor/doompi-author/src/adapters/authorDocumentApi.d.mts.map +0 -1
  136. package/dist/packages/minor/doompi-author/src/adapters/authorDocumentApi.mjs +0 -2
  137. package/dist/packages/minor/doompi-author/src/adapters/authorDocumentApi.mjs.map +0 -1
  138. package/dist/packages/minor/doompi-author/src/adapters/pi/authorBridgeClient.d.cts +0 -18
  139. package/dist/packages/minor/doompi-author/src/adapters/pi/authorBridgeClient.d.cts.map +0 -1
  140. package/dist/packages/minor/doompi-author/src/adapters/pi/authorBridgeClient.d.mts +0 -18
  141. package/dist/packages/minor/doompi-author/src/adapters/pi/authorBridgeClient.d.mts.map +0 -1
  142. package/dist/packages/minor/doompi-author/src/adapters/pi/authorBridgeClient.mjs +0 -2
  143. package/dist/packages/minor/doompi-author/src/adapters/pi/authorBridgeClient.mjs.map +0 -1
  144. package/dist/packages/minor/doompi-author/src/adapters/pi/authorTools.d.cts +0 -9
  145. package/dist/packages/minor/doompi-author/src/adapters/pi/authorTools.d.cts.map +0 -1
  146. package/dist/packages/minor/doompi-author/src/adapters/pi/authorTools.d.mts +0 -9
  147. package/dist/packages/minor/doompi-author/src/adapters/pi/authorTools.d.mts.map +0 -1
  148. package/dist/packages/minor/doompi-author/src/adapters/pi/authorTools.mjs +0 -2
  149. package/dist/packages/minor/doompi-author/src/adapters/pi/authorTools.mjs.map +0 -1
  150. package/dist/packages/minor/doompi-author/src/adapters/pi/extension.d.cts +0 -19
  151. package/dist/packages/minor/doompi-author/src/adapters/pi/extension.d.cts.map +0 -1
  152. package/dist/packages/minor/doompi-author/src/adapters/pi/extension.d.mts +0 -19
  153. package/dist/packages/minor/doompi-author/src/adapters/pi/extension.d.mts.map +0 -1
  154. package/dist/packages/minor/doompi-author/src/adapters/pi/extension.mjs +0 -2
  155. package/dist/packages/minor/doompi-author/src/adapters/pi/extension.mjs.map +0 -1
  156. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/common.mjs +0 -2
  157. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/common.mjs.map +0 -1
  158. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/csv.d.cts +0 -7
  159. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/csv.d.cts.map +0 -1
  160. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/csv.d.mts +0 -7
  161. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/csv.d.mts.map +0 -1
  162. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/csv.mjs +0 -7
  163. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/csv.mjs.map +0 -1
  164. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/index.d.cts +0 -13
  165. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/index.d.cts.map +0 -1
  166. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/index.d.mts +0 -13
  167. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/index.d.mts.map +0 -1
  168. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/index.mjs +0 -2
  169. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/index.mjs.map +0 -1
  170. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/markdownSlides.d.cts +0 -7
  171. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/markdownSlides.d.cts.map +0 -1
  172. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/markdownSlides.d.mts +0 -7
  173. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/markdownSlides.d.mts.map +0 -1
  174. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/markdownSlides.mjs +0 -6
  175. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/markdownSlides.mjs.map +0 -1
  176. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/ooxmlArchive.d.cts +0 -13
  177. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/ooxmlArchive.d.cts.map +0 -1
  178. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/ooxmlArchive.d.mts +0 -13
  179. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/ooxmlArchive.d.mts.map +0 -1
  180. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/ooxmlArchive.mjs +0 -2
  181. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/ooxmlArchive.mjs.map +0 -1
  182. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/pptx.d.cts +0 -7
  183. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/pptx.d.cts.map +0 -1
  184. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/pptx.d.mts +0 -7
  185. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/pptx.d.mts.map +0 -1
  186. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/pptx.mjs +0 -2
  187. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/pptx.mjs.map +0 -1
  188. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xlsx.d.cts +0 -7
  189. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xlsx.d.cts.map +0 -1
  190. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xlsx.d.mts +0 -7
  191. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xlsx.d.mts.map +0 -1
  192. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xlsx.mjs +0 -2
  193. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xlsx.mjs.map +0 -1
  194. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xmlText.mjs +0 -2
  195. package/dist/packages/minor/doompi-author/src/adapters/structuredDocuments/xmlText.mjs.map +0 -1
  196. package/dist/packages/minor/doompi-author/src/adapters/webAuthorChannel.d.cts +0 -6
  197. package/dist/packages/minor/doompi-author/src/adapters/webAuthorChannel.d.cts.map +0 -1
  198. package/dist/packages/minor/doompi-author/src/adapters/webAuthorChannel.d.mts +0 -6
  199. package/dist/packages/minor/doompi-author/src/adapters/webAuthorChannel.d.mts.map +0 -1
  200. package/dist/packages/minor/doompi-author/src/adapters/webAuthorChannel.mjs +0 -2
  201. package/dist/packages/minor/doompi-author/src/adapters/webAuthorChannel.mjs.map +0 -1
  202. package/dist/packages/minor/doompi-author/src/commands/doomAuthorCommand.mjs +0 -2
  203. package/dist/packages/minor/doompi-author/src/commands/doomAuthorCommand.mjs.map +0 -1
  204. package/dist/packages/minor/doompi-author/src/container/index.d.cts +0 -5
  205. package/dist/packages/minor/doompi-author/src/container/index.d.cts.map +0 -1
  206. package/dist/packages/minor/doompi-author/src/container/index.d.mts +0 -5
  207. package/dist/packages/minor/doompi-author/src/container/index.d.mts.map +0 -1
  208. package/dist/packages/minor/doompi-author/src/container/index.mjs +0 -2
  209. package/dist/packages/minor/doompi-author/src/container/index.mjs.map +0 -1
  210. package/dist/packages/minor/doompi-author/src/schemas/authorTools.d.cts +0 -16
  211. package/dist/packages/minor/doompi-author/src/schemas/authorTools.d.cts.map +0 -1
  212. package/dist/packages/minor/doompi-author/src/schemas/authorTools.d.mts +0 -16
  213. package/dist/packages/minor/doompi-author/src/schemas/authorTools.d.mts.map +0 -1
  214. package/dist/packages/minor/doompi-author/src/schemas/authorTools.mjs +0 -2
  215. package/dist/packages/minor/doompi-author/src/schemas/authorTools.mjs.map +0 -1
  216. package/dist/packages/minor/doompi-author/src/services/authorBridgeState.d.cts +0 -31
  217. package/dist/packages/minor/doompi-author/src/services/authorBridgeState.d.cts.map +0 -1
  218. package/dist/packages/minor/doompi-author/src/services/authorBridgeState.d.mts +0 -31
  219. package/dist/packages/minor/doompi-author/src/services/authorBridgeState.d.mts.map +0 -1
  220. package/dist/packages/minor/doompi-author/src/services/authorBridgeState.mjs +0 -2
  221. package/dist/packages/minor/doompi-author/src/services/authorBridgeState.mjs.map +0 -1
  222. package/dist/packages/minor/doompi-author/src/services/authorCatalog.d.cts +0 -10
  223. package/dist/packages/minor/doompi-author/src/services/authorCatalog.d.cts.map +0 -1
  224. package/dist/packages/minor/doompi-author/src/services/authorCatalog.d.mts +0 -10
  225. package/dist/packages/minor/doompi-author/src/services/authorCatalog.d.mts.map +0 -1
  226. package/dist/packages/minor/doompi-author/src/services/authorMode.d.cts +0 -19
  227. package/dist/packages/minor/doompi-author/src/services/authorMode.d.cts.map +0 -1
  228. package/dist/packages/minor/doompi-author/src/services/authorMode.d.mts +0 -19
  229. package/dist/packages/minor/doompi-author/src/services/authorMode.d.mts.map +0 -1
  230. package/dist/packages/minor/doompi-author/src/services/authorMode.mjs +0 -3
  231. package/dist/packages/minor/doompi-author/src/services/authorMode.mjs.map +0 -1
  232. package/dist/packages/minor/doompi-author/src/services/extensionService.d.cts +0 -7
  233. package/dist/packages/minor/doompi-author/src/services/extensionService.d.cts.map +0 -1
  234. package/dist/packages/minor/doompi-author/src/services/extensionService.d.mts +0 -7
  235. package/dist/packages/minor/doompi-author/src/services/extensionService.d.mts.map +0 -1
  236. package/dist/packages/minor/doompi-author/src/services/extensionService.mjs +0 -2
  237. package/dist/packages/minor/doompi-author/src/services/extensionService.mjs.map +0 -1
  238. package/dist/packages/minor/doompi-author/src/types/author.d.cts +0 -39
  239. package/dist/packages/minor/doompi-author/src/types/author.d.cts.map +0 -1
  240. package/dist/packages/minor/doompi-author/src/types/author.d.mts +0 -39
  241. package/dist/packages/minor/doompi-author/src/types/author.d.mts.map +0 -1
  242. package/dist/packages/minor/doompi-author/src/types/author.mjs +0 -2
  243. package/dist/packages/minor/doompi-author/src/types/author.mjs.map +0 -1
  244. package/dist/packages/minor/doompi-author/src/types/authorApi.d.cts +0 -23
  245. package/dist/packages/minor/doompi-author/src/types/authorApi.d.cts.map +0 -1
  246. package/dist/packages/minor/doompi-author/src/types/authorApi.d.mts +0 -23
  247. package/dist/packages/minor/doompi-author/src/types/authorApi.d.mts.map +0 -1
  248. package/dist/packages/minor/doompi-author/src/types/authorApi.mjs +0 -2
  249. package/dist/packages/minor/doompi-author/src/types/authorApi.mjs.map +0 -1
  250. package/dist/packages/minor/doompi-author/src/types/extension.d.cts +0 -16
  251. package/dist/packages/minor/doompi-author/src/types/extension.d.cts.map +0 -1
  252. package/dist/packages/minor/doompi-author/src/types/extension.d.mts +0 -16
  253. package/dist/packages/minor/doompi-author/src/types/extension.d.mts.map +0 -1
  254. package/dist/packages/minor/doompi-author/src/types/structuredDocuments.d.cts +0 -60
  255. package/dist/packages/minor/doompi-author/src/types/structuredDocuments.d.cts.map +0 -1
  256. package/dist/packages/minor/doompi-author/src/types/structuredDocuments.d.mts +0 -60
  257. package/dist/packages/minor/doompi-author/src/types/structuredDocuments.d.mts.map +0 -1
  258. package/dist/packages/minor/doompi-author/src/types/webAuthor.d.cts +0 -67
  259. package/dist/packages/minor/doompi-author/src/types/webAuthor.d.cts.map +0 -1
  260. package/dist/packages/minor/doompi-author/src/types/webAuthor.d.mts +0 -67
  261. package/dist/packages/minor/doompi-author/src/types/webAuthor.d.mts.map +0 -1
  262. package/dist/packages/minor/doompi-author/src/types/webAuthor.mjs +0 -2
  263. package/dist/packages/minor/doompi-author/src/types/webAuthor.mjs.map +0 -1
  264. package/dist/schemas/authorTools.cjs +0 -2
  265. package/dist/schemas/authorTools.cjs.map +0 -1
  266. package/dist/services/authorBridgeState.cjs +0 -2
  267. package/dist/services/authorBridgeState.cjs.map +0 -1
  268. package/dist/services/authorMode.cjs +0 -3
  269. package/dist/services/authorMode.cjs.map +0 -1
  270. package/dist/services/extensionService.cjs +0 -2
  271. package/dist/services/extensionService.cjs.map +0 -1
  272. package/dist/sessionApi.cjs +0 -1
  273. package/dist/sessionApi.d.cts +0 -7
  274. package/dist/sessionApi.d.mts +0 -7
  275. package/dist/sessionApi.mjs +0 -1
  276. package/dist/types/author.cjs +0 -2
  277. package/dist/types/author.cjs.map +0 -1
  278. package/dist/types/authorApi.cjs +0 -2
  279. package/dist/types/authorApi.cjs.map +0 -1
  280. package/dist/types/webAuthor.cjs +0 -2
  281. package/dist/types/webAuthor.cjs.map +0 -1
  282. package/dist/webHub.cjs +0 -1
  283. package/dist/webHub.d.cts +0 -2
  284. package/dist/webHub.d.mts +0 -2
  285. package/dist/webHub.mjs +0 -1
  286. package/src/exports/webClient.ts +0 -76
  287. package/src/web/api/authorBroker.ts +0 -14
  288. package/src/web/api/authorBrowserBridge.ts +0 -225
  289. package/src/web/api/authorFiles.ts +0 -219
  290. package/src/web/api/authorMedia.ts +0 -19
  291. package/src/web/api/authorRuntime.ts +0 -164
  292. package/src/web/components/AuthorDocumentPanel.tsx +0 -232
  293. package/src/web/components/AuthorGridOverlay.tsx +0 -81
  294. package/src/web/components/AuthorMediaPreview.tsx +0 -41
  295. package/src/web/components/AuthorMediaView.tsx +0 -356
  296. package/src/web/components/AuthorPanel.tsx +0 -105
  297. package/src/web/components/AuthorRegionDrafts.tsx +0 -102
  298. package/src/web/components/AuthorRequestLog.tsx +0 -179
  299. package/src/web/components/AuthorStructuredView.tsx +0 -121
  300. package/src/web/components/AuthorTextView.tsx +0 -97
  301. package/src/web/components/AuthorToolPalette.tsx +0 -103
  302. package/src/web/components/AuthorVideoControls.tsx +0 -111
  303. package/src/web/components/DescribeAuthorToolsToolCard.tsx +0 -50
  304. package/src/web/components/OpenAuthoringFileToolCard.tsx +0 -66
  305. package/src/web/components/UseAuthorToolsToolCard.tsx +0 -50
  306. package/src/web/index.ts +0 -68
  307. package/src/web/lib/authorGrid.ts +0 -124
  308. package/src/web/lib/authorRegions.ts +0 -30
  309. package/src/web/lib/authorViewportTypes.ts +0 -202
  310. package/src/web/lib/describeAuthorToolsToolRender.ts +0 -20
  311. package/src/web/lib/useAuthorToolsToolRender.ts +0 -20
  312. package/src/web/stores/authorCapture.ts +0 -322
  313. package/src/web/stores/authorGridTools.ts +0 -316
  314. package/src/web/stores/authorProfiles.ts +0 -130
  315. package/src/web/stores/authorRequestLifecycle.ts +0 -82
  316. package/src/web/stores/authorStore.ts +0 -60
  317. package/src/web/stores/authorWorkspaceStore.ts +0 -525
  318. package/src/web/tsconfig.json +0 -22
@@ -0,0 +1,652 @@
1
+ import { a as authorBridgeMethod } from "../authorFacade-B9-Re3Ga.mjs";
2
+ import { a as createAuthorTools, d as parseUseAuthorToolInput, i as AUTHOR_TOOL_WHEN, n as authorMinorMode, p as AUTHOR_GUIDANCE, r as createAuthorCatalog, t as createAuthorCommand } from "../authorCommand-B90ghX5J.mjs";
3
+ import { b as createAuthorBridgeState, n as preflightStructuredDocument, r as serializeStructuredDocument, t as parseStructuredDocument, y as AuthorBridgeError } from "../structuredDocuments-CzMYD0Bq.mjs";
4
+ import { serverMinorModes } from "@agimon-ai/doompi-minor-mode";
5
+ import { randomUUID } from "node:crypto";
6
+ import path from "node:path";
7
+ import { composeRootHooks, defineChannel, defineCommand, defineHook, defineMethod, defineResource, defineRoot, defineRoute, defineTool } from "@agimon-ai/doompi-core/extensionFile";
8
+ import { defineServerMethod, defineServerPlugin, readPackageResource } from "@agimon-ai/doompi-core/serverFacet";
9
+ import { Hono } from "hono";
10
+ import fs from "node:fs/promises";
11
+ import { apiResponse, defineApiRoutes } from "@agimon-ai/doompi-core/web";
12
+ //#region src/services/structuredDocuments/document.ts
13
+ const AUTHOR_DOCUMENT_MAX_BYTES = 26214400;
14
+ async function readDocument(cwd, requestedPath) {
15
+ if (typeof requestedPath !== "string" || requestedPath.length === 0 || requestedPath.includes("\0") || path.isAbsolute(requestedPath)) throw new Error("A relative document path is required.");
16
+ const root = await fs.realpath(cwd);
17
+ const candidate = path.resolve(root, requestedPath);
18
+ if (candidate !== root && !candidate.startsWith(`${root}${path.sep}`)) throw new Error("Document path is outside the working directory.");
19
+ const realCandidate = await fs.realpath(candidate);
20
+ if (realCandidate !== root && !realCandidate.startsWith(`${root}${path.sep}`)) throw new Error("Document path is outside the working directory.");
21
+ if ((await fs.stat(realCandidate)).size > 26214400) throw new Error(`Document exceeds the ${AUTHOR_DOCUMENT_MAX_BYTES} byte preview limit.`);
22
+ return await fs.readFile(realCandidate);
23
+ }
24
+ //#endregion
25
+ //#region src/types/apiRoutes.ts
26
+ /**
27
+ * This package's routes, as data.
28
+ *
29
+ * No scope and no base path. The build reads both off
30
+ * `src/extensions/workspaces/sessions/(backend)/api/author/`, so the mount is
31
+ * stated once, by the folder that creates it. The browser used to restate it:
32
+ * `authorStateUrl` built one URL from `API_BASE_PATH` and the document helper
33
+ * two files away spelled `author` out again as a literal, so the two could
34
+ * disagree and nothing would say so.
35
+ *
36
+ * The order below is the order the three Hono apps register in: `/state` in
37
+ * `authorApi`, the eight bridge routes in `authorBridgeApi`, the three document
38
+ * routes in `authorDocumentApi`. A reviewer can read the two side by side.
39
+ *
40
+ * Response types are named only where a caller reads the body. The bridge
41
+ * routes are called by the hub's author channel over `requestSessionApi`, which
42
+ * has its own message vocabulary and never sees this client.
43
+ */
44
+ var apiRoutes_default = defineApiRoutes({
45
+ state: {
46
+ method: "GET",
47
+ path: "/state",
48
+ response: apiResponse()
49
+ },
50
+ bridgeRegister: {
51
+ method: "POST",
52
+ path: "/bridge/register"
53
+ },
54
+ bridgeCatalog: {
55
+ method: "POST",
56
+ path: "/bridge/catalog"
57
+ },
58
+ /** Long-polls for the next capability request, so it settles when one arrives. */
59
+ bridgeNext: {
60
+ method: "POST",
61
+ path: "/bridge/next"
62
+ },
63
+ bridgeResult: {
64
+ method: "POST",
65
+ path: "/bridge/result"
66
+ },
67
+ bridgeCancelled: {
68
+ method: "POST",
69
+ path: "/bridge/cancelled"
70
+ },
71
+ bridgeDisconnect: {
72
+ method: "POST",
73
+ path: "/bridge/disconnect"
74
+ },
75
+ bridgeDescribe: {
76
+ method: "GET",
77
+ path: "/bridge/describe"
78
+ },
79
+ bridgeInvoke: {
80
+ method: "POST",
81
+ path: "/bridge/invoke"
82
+ },
83
+ /**
84
+ * Parses one structured document.
85
+ *
86
+ * Answers a byte-length summary instead when the request names no format,
87
+ * which is the agent-side tool path; the page always names one.
88
+ */
89
+ documentsOpen: {
90
+ method: "POST",
91
+ path: "/documents/open",
92
+ query: ["session"],
93
+ response: apiResponse()
94
+ },
95
+ documentsPreflight: {
96
+ method: "POST",
97
+ path: "/documents/preflight",
98
+ query: ["session"],
99
+ response: apiResponse()
100
+ },
101
+ documentsSerialize: {
102
+ method: "POST",
103
+ path: "/documents/serialize",
104
+ query: ["session"],
105
+ response: apiResponse()
106
+ },
107
+ /**
108
+ * The host's own bytes route, not this package's.
109
+ *
110
+ * `host: true` hangs it off the session root rather than under `/plugins`,
111
+ * which is how the cockpit already serves it. Author reads a document's
112
+ * bytes and its digest through it, and writes the edited bytes back to the
113
+ * same path, so both stay raw transfers rather than calls: the body is the
114
+ * file and the digest travels in a header.
115
+ */
116
+ file: {
117
+ method: "GET",
118
+ path: "/file",
119
+ query: ["path"],
120
+ host: true
121
+ }
122
+ });
123
+ //#endregion
124
+ //#region src/types/authorApi.ts
125
+ /**
126
+ * The wire vocabulary this package's API shares with whatever calls it.
127
+ *
128
+ * Paths live in `./apiRoutes`, which the Hono apps register from and the
129
+ * generated client addresses, so neither half can move alone. What stays here
130
+ * is the mount segment the server registers under and the shape the state
131
+ * route answers with.
132
+ */
133
+ /** Where a host mounts this package's API; the segment after /api/plugins/. */
134
+ const API_BASE_PATH = "author";
135
+ //#endregion
136
+ //#region src/extensions/workspaces/sessions/(backend)/api/author/_lib/authorBridgeApi.ts
137
+ function record(value) {
138
+ if (typeof value !== "object" || value === null || Array.isArray(value)) throw new AuthorBridgeError("Invalid request.", 400);
139
+ return value;
140
+ }
141
+ function text(value, key) {
142
+ const result = record(value)[key];
143
+ if (typeof result !== "string" || result === "") throw new AuthorBridgeError(`Invalid ${key}.`, 400);
144
+ return result;
145
+ }
146
+ function generation(value) {
147
+ const result = record(value).generation;
148
+ if (!Number.isSafeInteger(result) || result < 0) throw new AuthorBridgeError("Invalid generation.", 400);
149
+ return result;
150
+ }
151
+ async function body(request) {
152
+ return record(await request.json());
153
+ }
154
+ function createAuthorBridgeApi(state) {
155
+ const app = new Hono();
156
+ app.onError((error, context) => context.json({ error: error instanceof Error ? error.message : String(error) }, error instanceof AuthorBridgeError ? error.status : 500));
157
+ app.post(apiRoutes_default.bridgeRegister.path, async (context) => {
158
+ const value = await body(context.req.raw);
159
+ return context.json(state.register(text(value, "bindingId"), generation(value)));
160
+ });
161
+ app.post(apiRoutes_default.bridgeCatalog.path, async (context) => {
162
+ const value = await body(context.req.raw);
163
+ const tools = value.tools;
164
+ if (!Array.isArray(tools)) throw new AuthorBridgeError("Invalid Author catalog.", 400);
165
+ return context.json(state.catalog(text(value, "bindingId"), generation(value), text(value, "ownerToken"), tools));
166
+ });
167
+ app.post(apiRoutes_default.bridgeNext.path, async (context) => {
168
+ const value = await body(context.req.raw);
169
+ return context.json(await state.next(text(value, "bindingId"), generation(value), text(value, "ownerToken"), context.req.raw.signal));
170
+ });
171
+ app.post(apiRoutes_default.bridgeResult.path, async (context) => {
172
+ const value = await body(context.req.raw);
173
+ state.result(text(value, "bindingId"), generation(value), text(value, "ownerToken"), text(value, "catalogToken"), text(value, "requestId"), value.result);
174
+ return context.json({ accepted: true });
175
+ });
176
+ app.post(apiRoutes_default.bridgeCancelled.path, async (context) => {
177
+ const value = await body(context.req.raw);
178
+ state.cancelled(text(value, "bindingId"), generation(value), text(value, "ownerToken"), text(value, "catalogToken"), text(value, "requestId"));
179
+ return context.json({ accepted: true });
180
+ });
181
+ app.post(apiRoutes_default.bridgeDisconnect.path, async (context) => {
182
+ const value = await body(context.req.raw);
183
+ state.disconnect(text(value, "bindingId"), generation(value));
184
+ return context.json({ accepted: true });
185
+ });
186
+ app.get(apiRoutes_default.bridgeDescribe.path, (context) => context.json(state.describe()));
187
+ app.post(apiRoutes_default.bridgeInvoke.path, async (context) => {
188
+ const value = parseUseAuthorToolInput(await context.req.raw.json());
189
+ return context.json(await state.invoke(value, context.req.raw.signal));
190
+ });
191
+ return app;
192
+ }
193
+ //#endregion
194
+ //#region src/extensions/workspaces/sessions/(backend)/api/author/_lib/authorDocumentApi.ts
195
+ const FORMATS = /* @__PURE__ */ new Set([
196
+ "markdown-slides",
197
+ "csv",
198
+ "pptx",
199
+ "xlsx"
200
+ ]);
201
+ function errorResponse(context, error) {
202
+ const message = error instanceof Error ? error.message : "Document operation failed.";
203
+ const status = /limit|too many|exceeds/i.test(message) ? 413 : /outside/i.test(message) ? 403 : 422;
204
+ return context.json({ error: message }, status);
205
+ }
206
+ function requestFormat(value) {
207
+ if (typeof value !== "string" || !FORMATS.has(value)) throw new Error("A supported format is required.");
208
+ return value;
209
+ }
210
+ function requestOperations(value) {
211
+ if (value === void 0) return [];
212
+ if (!Array.isArray(value) || value.length > 1e5) throw new Error("A bounded operations array is required.");
213
+ return value.map((operation) => {
214
+ if (typeof operation !== "object" || operation === null || typeof operation.fragmentId !== "string" || typeof operation.replacement !== "string") throw new Error("Each operation requires string fragmentId and replacement fields.");
215
+ return operation;
216
+ });
217
+ }
218
+ async function bodyOf(request) {
219
+ const body = await request.json();
220
+ if (typeof body !== "object" || body === null || Array.isArray(body)) throw new Error("A JSON object is required.");
221
+ return body;
222
+ }
223
+ function createAuthorDocumentApi(options = {}) {
224
+ const app = new Hono();
225
+ const cwd = options.cwd ?? process.cwd();
226
+ app.post(apiRoutes_default.documentsOpen.path, async (context) => {
227
+ try {
228
+ const body = await bodyOf(context.req.raw);
229
+ const bytes = await readDocument(cwd, body.path);
230
+ if (body.format === void 0) return context.json({
231
+ path: body.path,
232
+ byteLength: bytes.byteLength
233
+ });
234
+ return context.json(await parseStructuredDocument(requestFormat(body.format), bytes, body.csvDialect));
235
+ } catch (error) {
236
+ return errorResponse(context, error);
237
+ }
238
+ });
239
+ app.post(apiRoutes_default.documentsPreflight.path, async (context) => {
240
+ try {
241
+ const body = await bodyOf(context.req.raw);
242
+ const bytes = await readDocument(cwd, body.path);
243
+ return context.json(await preflightStructuredDocument(requestFormat(body.format), bytes, requestOperations(body.operations), body.csvDialect));
244
+ } catch (error) {
245
+ return errorResponse(context, error);
246
+ }
247
+ });
248
+ app.post(apiRoutes_default.documentsSerialize.path, async (context) => {
249
+ try {
250
+ const body = await bodyOf(context.req.raw);
251
+ if (typeof body.preflightDigest !== "string") throw new Error("A preflight report digest is required.");
252
+ const bytes = await readDocument(cwd, body.path);
253
+ const serialized = await serializeStructuredDocument(requestFormat(body.format), bytes, requestOperations(body.operations), body.preflightDigest, body.csvDialect);
254
+ return context.json({
255
+ bytes: Buffer.from(serialized.bytes).toString("base64"),
256
+ encoding: "base64",
257
+ manifest: serialized.manifest,
258
+ operationLog: serialized.operationLog
259
+ });
260
+ } catch (error) {
261
+ return errorResponse(context, error);
262
+ }
263
+ });
264
+ return app;
265
+ }
266
+ //#endregion
267
+ //#region src/extensions/workspaces/sessions/(backend)/api/author/_lib/authorApi.ts
268
+ const inactiveState = () => ({
269
+ activation: "inactive",
270
+ capabilityCount: 0
271
+ });
272
+ const createBridge = () => createAuthorBridgeState({
273
+ now: Date.now,
274
+ issueToken: randomUUID,
275
+ scheduleTimeout(callback, delayMs) {
276
+ const timer = setTimeout(callback, delayMs);
277
+ timer.unref?.();
278
+ return () => clearTimeout(timer);
279
+ }
280
+ });
281
+ function createAuthorApi(options = {}) {
282
+ const app = new Hono();
283
+ const bridge = options.bridge ?? createBridge();
284
+ app.get(apiRoutes_default.state.path, (context) => context.json({
285
+ sessionId: options.sessionId ?? null,
286
+ ...(options.readState ?? inactiveState)()
287
+ }));
288
+ app.route("/", createAuthorBridgeApi(bridge));
289
+ app.route("/", createAuthorDocumentApi(options.cwd === void 0 ? {} : { cwd: options.cwd }));
290
+ return app;
291
+ }
292
+ const api = {
293
+ basePath: API_BASE_PATH,
294
+ start(context) {
295
+ const bridge = createBridge();
296
+ const app = createAuthorApi({
297
+ ...context.sessionId === void 0 ? {} : { sessionId: context.sessionId },
298
+ ...context.cwd === void 0 ? {} : { cwd: context.cwd },
299
+ bridge
300
+ });
301
+ return {
302
+ fetch: (request) => app.fetch(request),
303
+ close: () => bridge.close()
304
+ };
305
+ }
306
+ };
307
+ /** The session API and tools share the same browser ownership and pending requests. */
308
+ function createAuthorSessionApi(cwd, sessionId) {
309
+ const bridge = createBridge();
310
+ return {
311
+ catalog: {
312
+ async open(path, signal) {
313
+ signal?.throwIfAborted();
314
+ return {
315
+ path,
316
+ byteLength: (await readDocument(cwd, path)).byteLength
317
+ };
318
+ },
319
+ async describe(signal) {
320
+ signal?.throwIfAborted();
321
+ return bridge.describe();
322
+ },
323
+ execute: (input, signal) => bridge.invoke(input, signal)
324
+ },
325
+ api: {
326
+ basePath: API_BASE_PATH,
327
+ start() {
328
+ const app = createAuthorApi({
329
+ cwd,
330
+ sessionId,
331
+ bridge
332
+ });
333
+ return {
334
+ fetch: (request) => app.fetch(request),
335
+ close: () => bridge.close()
336
+ };
337
+ }
338
+ }
339
+ };
340
+ }
341
+ //#endregion
342
+ //#region src/extensions/workspaces/sessions/(backend)/root.server.ts
343
+ var root_server_default = defineRoot(({ agent }) => {
344
+ const session = agent ? createAuthorSessionApi(agent.context.cwd, agent.context.sessionId) : void 0;
345
+ const mode = agent ? authorMinorMode.createOwner({
346
+ isActive: () => (agent.context.selection.state?.["minor-mode"] ?? []).includes(authorMinorMode.descriptor.id),
347
+ detail: () => "document authoring available",
348
+ async setActive(enabled) {
349
+ const modes = (agent.context.selection.state?.["minor-mode"] ?? []).filter((id) => id !== authorMinorMode.descriptor.id);
350
+ await agent.changeSelection({
351
+ axis: "state",
352
+ key: "minor-mode",
353
+ values: enabled ? [...modes, authorMinorMode.descriptor.id] : modes
354
+ });
355
+ }
356
+ }) : void 0;
357
+ return {
358
+ value: {
359
+ api: session?.api ?? api,
360
+ catalog: createAuthorCatalog(session?.catalog),
361
+ assertAvailable: () => void 0,
362
+ service: void 0
363
+ },
364
+ services: mode ? [serverMinorModes([mode])] : []
365
+ };
366
+ });
367
+ //#endregion
368
+ //#region src/types/webAuthor.ts
369
+ const authorChannelType = "author_webmcp";
370
+ //#endregion
371
+ //#region src/services/webAuthorChannel/index.ts
372
+ /**
373
+ * Which route carries each message the browser sends.
374
+ *
375
+ * The paths come from the package's one route table, so the hub cannot address
376
+ * a bridge route the session no longer serves. `release` is absent because it
377
+ * is answered by the disconnect route rather than one of its own.
378
+ */
379
+ const BRIDGE_ROUTE = {
380
+ register: apiRoutes_default.bridgeRegister.path,
381
+ catalog: apiRoutes_default.bridgeCatalog.path,
382
+ result: apiRoutes_default.bridgeResult.path,
383
+ cancelled: apiRoutes_default.bridgeCancelled.path
384
+ };
385
+ function isRecord(value) {
386
+ return typeof value === "object" && value !== null && !Array.isArray(value);
387
+ }
388
+ function browserMessage(value) {
389
+ if (!isRecord(value) || typeof value.kind !== "string") return void 0;
390
+ if (![
391
+ "register",
392
+ "release",
393
+ "catalog",
394
+ "result",
395
+ "cancelled"
396
+ ].includes(value.kind)) return void 0;
397
+ return value;
398
+ }
399
+ async function responsePayload(response) {
400
+ const value = await response.json();
401
+ if (response.ok) return value;
402
+ return {
403
+ kind: "rejected",
404
+ reason: isRecord(value) && typeof value.error === "string" ? value.error : `Author bridge HTTP ${response.status}`
405
+ };
406
+ }
407
+ function createAuthorChannel() {
408
+ const bindings = /* @__PURE__ */ new Map();
409
+ let host;
410
+ let closed = false;
411
+ const keyOf = (sessionId, connectionId) => `${sessionId}\0${connectionId}`;
412
+ const send = async (scope, path, value, signal) => await host.requestSessionApi(scope, {
413
+ basePath: API_BASE_PATH,
414
+ path,
415
+ method: "POST",
416
+ body: JSON.stringify(value),
417
+ ...signal === void 0 ? {} : { signal }
418
+ });
419
+ const publish = (binding, payload) => host?.publishToConnection?.(binding.connectionId, binding.scope.sessionId, payload) ?? false;
420
+ const poll = async (binding) => {
421
+ binding.poll?.abort();
422
+ const controller = new AbortController();
423
+ binding.poll = controller;
424
+ while (!closed && bindings.get(keyOf(binding.scope.sessionId, binding.connectionId)) === binding) try {
425
+ const payload = await responsePayload(await send(binding.scope, apiRoutes_default.bridgeNext.path, {
426
+ bindingId: binding.connectionId,
427
+ generation: binding.generation,
428
+ ownerToken: binding.ownerToken
429
+ }, controller.signal));
430
+ if (!publish(binding, payload) || payload.kind === "rejected") break;
431
+ } catch (error) {
432
+ if (!controller.signal.aborted) host?.onNotice(error instanceof Error ? error.message : String(error));
433
+ break;
434
+ }
435
+ };
436
+ return {
437
+ frameType: authorChannelType,
438
+ lifecycle: "hub",
439
+ receiveWithoutSubscription: true,
440
+ start(channelHost) {
441
+ host = channelHost;
442
+ return {
443
+ payloadFor: () => void 0,
444
+ sessionRemoved(sessionId) {
445
+ for (const [key, binding] of bindings) {
446
+ if (binding.scope.sessionId !== sessionId) continue;
447
+ binding.poll?.abort();
448
+ bindings.delete(key);
449
+ send(binding.scope, apiRoutes_default.bridgeDisconnect.path, {
450
+ bindingId: binding.connectionId,
451
+ generation: binding.generation
452
+ }).catch((error) => host?.onNotice(error instanceof Error ? error.message : String(error)));
453
+ }
454
+ },
455
+ close() {
456
+ closed = true;
457
+ for (const binding of bindings.values()) {
458
+ binding.poll?.abort();
459
+ send(binding.scope, apiRoutes_default.bridgeDisconnect.path, {
460
+ bindingId: binding.connectionId,
461
+ generation: binding.generation
462
+ }).catch((error) => host?.onNotice(error instanceof Error ? error.message : String(error)));
463
+ }
464
+ bindings.clear();
465
+ }
466
+ };
467
+ },
468
+ receive(scope, payload, connection) {
469
+ const message = browserMessage(payload);
470
+ if (message === void 0 || host === void 0 || closed) return;
471
+ (async () => {
472
+ const key = keyOf(scope.sessionId, connection.connectionId);
473
+ const previous = bindings.get(key);
474
+ if (message.kind === "release") {
475
+ if (previous === void 0 || previous.generation !== message.generation) return;
476
+ previous.poll?.abort();
477
+ bindings.delete(key);
478
+ await send(scope, apiRoutes_default.bridgeDisconnect.path, {
479
+ bindingId: connection.connectionId,
480
+ generation: message.generation
481
+ });
482
+ return;
483
+ }
484
+ const route = BRIDGE_ROUTE[message.kind];
485
+ const reply = await responsePayload(await send(scope, route, {
486
+ ...message,
487
+ bindingId: connection.connectionId
488
+ }));
489
+ if (reply.kind === "accepted") {
490
+ const binding = {
491
+ scope,
492
+ connectionId: connection.connectionId,
493
+ generation: reply.generation,
494
+ ownerToken: reply.ownerToken
495
+ };
496
+ previous?.poll?.abort();
497
+ bindings.set(key, binding);
498
+ publish(binding, reply);
499
+ poll(binding);
500
+ } else if (reply.kind === "rejected" && previous !== void 0) publish(previous, reply);
501
+ })().catch((error) => host?.onNotice(error instanceof Error ? error.message : String(error)));
502
+ },
503
+ disconnected(connection) {
504
+ for (const [key, binding] of bindings) {
505
+ if (binding.connectionId !== connection.connectionId) continue;
506
+ binding.poll?.abort();
507
+ bindings.delete(key);
508
+ send(binding.scope, apiRoutes_default.bridgeDisconnect.path, {
509
+ bindingId: binding.connectionId,
510
+ generation: binding.generation
511
+ }).catch((error) => host?.onNotice(error instanceof Error ? error.message : String(error)));
512
+ }
513
+ }
514
+ };
515
+ }
516
+ //#endregion
517
+ //#region src/extensions/(backend)/channel/author-webmcp.server.ts
518
+ var author_webmcp_server_default = defineChannel(createAuthorChannel);
519
+ //#endregion
520
+ //#region src/services/authorBridgeMethod/index.ts
521
+ function createAuthorBridgeMethod(scope, host) {
522
+ return defineServerMethod(authorBridgeMethod(scope), ({ sessionId, message }, caller) => {
523
+ if (!caller.connectionId) throw new Error("Author bridge requires an authenticated browser connection.");
524
+ if (!host.context.receiveChannel?.(sessionId, "author_webmcp", message, caller.connectionId)) throw new Error("Author bridge session is outside this mount.");
525
+ return {};
526
+ });
527
+ }
528
+ //#endregion
529
+ //#region src/extensions/(backend)/method/bridge.server.ts
530
+ var bridge_server_default = defineMethod(({ host }) => host.scope === "session" ? { register: () => ({ dispose: () => void 0 }) } : createAuthorBridgeMethod(host.scope, host));
531
+ //#endregion
532
+ //#region src/extensions/workspaces/sessions/(backend)/api/author/route.server.ts
533
+ var route_server_default = defineRoute((context) => context.root.api);
534
+ //#endregion
535
+ //#region src/extensions/workspaces/sessions/(backend)/command/author.server.ts
536
+ var author_server_default = defineCommand((context) => createAuthorCommand(context.root.service));
537
+ //#endregion
538
+ //#region src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.ts
539
+ var before_agent_start_server_default = defineHook({
540
+ when: {
541
+ state: { "minor-mode": "author" },
542
+ attribution: {
543
+ kind: "minor",
544
+ mode: "author"
545
+ }
546
+ },
547
+ event: "before_agent_start",
548
+ handle(event) {
549
+ return { systemPrompt: `${typeof event.systemPrompt === "string" ? event.systemPrompt : ""}\n\n${AUTHOR_GUIDANCE}`.trim() };
550
+ }
551
+ });
552
+ //#endregion
553
+ //#region src/extensions/workspaces/sessions/(backend)/resource/doompi-use-author.server.ts
554
+ var doompi_use_author_server_default = defineResource({
555
+ when: {
556
+ state: { "minor-mode": "author" },
557
+ attribution: {
558
+ kind: "minor",
559
+ mode: "author"
560
+ }
561
+ },
562
+ name: "doompi-use-author",
563
+ kind: "skill",
564
+ read: () => readPackageResource(import.meta.url, "src/prompts/doompi-use-author/SKILL.md")
565
+ });
566
+ //#endregion
567
+ //#region src/extensions/workspaces/sessions/(backend)/tool/describe-author-tools.server.ts
568
+ var describe_author_tools_server_default = defineTool((context) => ({
569
+ ...createAuthorTools(context.root.catalog, context.root.assertAvailable)[1],
570
+ when: AUTHOR_TOOL_WHEN
571
+ }));
572
+ //#endregion
573
+ //#region src/extensions/workspaces/sessions/(backend)/tool/open-authoring-file.server.ts
574
+ var open_authoring_file_server_default = defineTool((context) => ({
575
+ ...createAuthorTools(context.root.catalog, context.root.assertAvailable)[0],
576
+ when: AUTHOR_TOOL_WHEN
577
+ }));
578
+ //#endregion
579
+ //#region src/extensions/workspaces/sessions/(backend)/tool/use-author-tools.server.ts
580
+ var use_author_tools_server_default = defineTool((context) => ({
581
+ ...createAuthorTools(context.root.catalog, context.root.assertAvailable)[2],
582
+ when: AUTHOR_TOOL_WHEN
583
+ }));
584
+ //#endregion
585
+ //#region generated/server.ts
586
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
587
+ const via = (identity, value) => ({
588
+ ...identity,
589
+ ...value
590
+ });
591
+ const facet = defineServerPlugin({
592
+ name: "@agimon-ai/doompi-author",
593
+ global: (context) => ({
594
+ get channels() {
595
+ return [() => via({ frameType: "author_webmcp" }, author_webmcp_server_default())];
596
+ },
597
+ get methods() {
598
+ return [at(bridge_server_default, context)];
599
+ }
600
+ }),
601
+ workspace: (context) => ({
602
+ get channels() {
603
+ return [() => via({ frameType: "author_webmcp" }, author_webmcp_server_default())];
604
+ },
605
+ get methods() {
606
+ return [at(bridge_server_default, context)];
607
+ }
608
+ }),
609
+ session: async (context) => {
610
+ const scopeSession = await root_server_default(context);
611
+ const contextSession = {
612
+ ...context,
613
+ root: scopeSession.value
614
+ };
615
+ return {
616
+ ...composeRootHooks(scopeSession),
617
+ get api() {
618
+ return [at(route_server_default, contextSession)];
619
+ },
620
+ get channels() {
621
+ return [() => via({ frameType: "author_webmcp" }, author_webmcp_server_default())];
622
+ },
623
+ get commands() {
624
+ return [via({ name: "author" }, at(author_server_default, contextSession))];
625
+ },
626
+ get hooks() {
627
+ return [via({ event: "before_agent_start" }, at(before_agent_start_server_default, contextSession))];
628
+ },
629
+ get methods() {
630
+ return [at(bridge_server_default, context)];
631
+ },
632
+ get resources() {
633
+ return [at(doompi_use_author_server_default, contextSession)];
634
+ },
635
+ get tools() {
636
+ return [
637
+ via({ name: "describe_author_tools" }, at(describe_author_tools_server_default, contextSession)),
638
+ via({ name: "open_authoring_file" }, at(open_authoring_file_server_default, contextSession)),
639
+ via({ name: "use_author_tools" }, at(use_author_tools_server_default, contextSession))
640
+ ];
641
+ },
642
+ services: [...scopeSession.services ?? []],
643
+ get activities() {
644
+ return [...scopeSession.activities ?? []];
645
+ }
646
+ };
647
+ }
648
+ });
649
+ //#endregion
650
+ export { facet as default, facet };
651
+
652
+ //# sourceMappingURL=server.mjs.map