@inharness-ai/claude4spec 1.0.15 → 1.0.17

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 (321) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/bin/c4s/args.d.ts +2 -0
  3. package/dist/bin/c4s/args.js +3 -0
  4. package/dist/bin/c4s/args.js.map +1 -1
  5. package/dist/bin/c4s/commands/ask.js +2 -0
  6. package/dist/bin/c4s/commands/ask.js.map +1 -1
  7. package/dist/bin/c4s/commands/catalog.js +1 -1
  8. package/dist/bin/c4s/commands/catalog.js.map +1 -1
  9. package/dist/bin/c4s/commands/describe.d.ts +2 -0
  10. package/dist/bin/c4s/commands/describe.js +22 -0
  11. package/dist/bin/c4s/commands/describe.js.map +1 -0
  12. package/dist/bin/c4s/commands/find-references.d.ts +1 -1
  13. package/dist/bin/c4s/commands/find-references.js +1 -1
  14. package/dist/bin/c4s/commands/tagged-list-mixed.js +2 -0
  15. package/dist/bin/c4s/commands/tagged-list-mixed.js.map +1 -1
  16. package/dist/bin/c4s/context.d.ts +4 -3
  17. package/dist/bin/c4s/context.js +17 -6
  18. package/dist/bin/c4s/context.js.map +1 -1
  19. package/dist/bin/c4s/errors.d.ts +1 -1
  20. package/dist/bin/c4s/errors.js.map +1 -1
  21. package/dist/bin/c4s/type-validation.d.ts +3 -0
  22. package/dist/bin/c4s/type-validation.js +14 -0
  23. package/dist/bin/c4s/type-validation.js.map +1 -1
  24. package/dist/bin/c4s-mcp.d.ts +1 -1
  25. package/dist/bin/c4s-mcp.js +23 -12
  26. package/dist/bin/c4s-mcp.js.map +1 -1
  27. package/dist/bin/c4s.js +14 -3
  28. package/dist/bin/c4s.js.map +1 -1
  29. package/dist/bin/claude4spec.js +122 -74
  30. package/dist/bin/claude4spec.js.map +1 -1
  31. package/dist/client/assets/{arc-Bm0IE9-2.js → arc-BQiqXUIi.js} +1 -1
  32. package/dist/client/assets/{architectureDiagram-3BPJPVTR-GJ4QxX0Q.js → architectureDiagram-3BPJPVTR-DgK0HmpR.js} +1 -1
  33. package/dist/client/assets/{blockDiagram-GPEHLZMM-C9rZbfxq.js → blockDiagram-GPEHLZMM-CHntbYfr.js} +1 -1
  34. package/dist/client/assets/{c4Diagram-AAUBKEIU-DyVuHGeV.js → c4Diagram-AAUBKEIU-ByH5-R2p.js} +1 -1
  35. package/dist/client/assets/channel-6fQ527No.js +1 -0
  36. package/dist/client/assets/{chunk-2J33WTMH-DePzEFC8.js → chunk-2J33WTMH-C2Pe63Ia.js} +1 -1
  37. package/dist/client/assets/{chunk-4BX2VUAB-NZkVFx6P.js → chunk-4BX2VUAB-DYCta62H.js} +1 -1
  38. package/dist/client/assets/{chunk-55IACEB6-DSelTsfa.js → chunk-55IACEB6-gq-yg5LH.js} +1 -1
  39. package/dist/client/assets/{chunk-727SXJPM-Vk_bMeuW.js → chunk-727SXJPM-BwJpqlPp.js} +1 -1
  40. package/dist/client/assets/{chunk-AQP2D5EJ-Bv_5j6lW.js → chunk-AQP2D5EJ-DCU1hxqb.js} +1 -1
  41. package/dist/client/assets/{chunk-FMBD7UC4-CIwy6WRQ.js → chunk-FMBD7UC4-AG1fd1DO.js} +1 -1
  42. package/dist/client/assets/{chunk-ND2GUHAM-C-7ZR2Kw.js → chunk-ND2GUHAM-913iWZ1l.js} +1 -1
  43. package/dist/client/assets/{chunk-QZHKN3VN-D2pOGWp9.js → chunk-QZHKN3VN-CYtwG8X-.js} +1 -1
  44. package/dist/client/assets/classDiagram-4FO5ZUOK-BJStgCuQ.js +1 -0
  45. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BJStgCuQ.js +1 -0
  46. package/dist/client/assets/{cose-bilkent-S5V4N54A-NgRxSzcd.js → cose-bilkent-S5V4N54A-BZCiM3BB.js} +1 -1
  47. package/dist/client/assets/{dagre-BM42HDAG-kwaDBrFq.js → dagre-BM42HDAG-Bva3axke.js} +1 -1
  48. package/dist/client/assets/{diagram-2AECGRRQ-B5OMokEe.js → diagram-2AECGRRQ-CMgpd1-D.js} +1 -1
  49. package/dist/client/assets/{diagram-5GNKFQAL-9h9Lsrr_.js → diagram-5GNKFQAL-0vLyGdys.js} +1 -1
  50. package/dist/client/assets/{diagram-KO2AKTUF-DcNC4jPN.js → diagram-KO2AKTUF-CvRPei4_.js} +1 -1
  51. package/dist/client/assets/{diagram-LMA3HP47-D41zybvJ.js → diagram-LMA3HP47-A058dJvb.js} +1 -1
  52. package/dist/client/assets/{diagram-OG6HWLK6-D12dQiCG.js → diagram-OG6HWLK6-D5Len-J1.js} +1 -1
  53. package/dist/client/assets/{erDiagram-TEJ5UH35-brqTv2OJ.js → erDiagram-TEJ5UH35-CJjfoOFQ.js} +1 -1
  54. package/dist/client/assets/{flowDiagram-I6XJVG4X-D6q2xyWg.js → flowDiagram-I6XJVG4X-B-aXPB6l.js} +1 -1
  55. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DlH9o0CJ.js → ganttDiagram-6RSMTGT7-Bd7aRzsv.js} +1 -1
  56. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CgNLFhAT.js → gitGraphDiagram-PVQCEYII-Bf4MQEwM.js} +1 -1
  57. package/dist/client/assets/index-BKuHIaMg.css +1 -0
  58. package/dist/client/assets/{index-C-gTQA-n.js → index-ChqpFwGL.js} +1 -1
  59. package/dist/client/assets/index-D3-Iru2G.js +795 -0
  60. package/dist/client/assets/{index-DDRzJojo.js → index-Dz-yWGMY.js} +1 -1
  61. package/dist/client/assets/{infoDiagram-5YYISTIA-ThuQNCvi.js → infoDiagram-5YYISTIA-pELnpzab.js} +1 -1
  62. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-m-2DHbkK.js → ishikawaDiagram-YF4QCWOH-DyTinqcT.js} +1 -1
  63. package/dist/client/assets/{journeyDiagram-JHISSGLW-CNCSJPeY.js → journeyDiagram-JHISSGLW-BoV3HJsU.js} +1 -1
  64. package/dist/client/assets/{kanban-definition-UN3LZRKU-CtzjrW3p.js → kanban-definition-UN3LZRKU-CRNS9ORx.js} +1 -1
  65. package/dist/client/assets/{linear-BF1Qhpjc.js → linear-1ODldQw0.js} +1 -1
  66. package/dist/client/assets/{mermaid.core-fKaK1Sz_.js → mermaid.core-CBl6Zy3k.js} +4 -4
  67. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CXuVRuzz.js → mindmap-definition-RKZ34NQL-DUACZwtC.js} +1 -1
  68. package/dist/client/assets/{pieDiagram-4H26LBE5-DdL9uKdO.js → pieDiagram-4H26LBE5-xQE26BA9.js} +1 -1
  69. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-C_0FG9xH.js → quadrantDiagram-W4KKPZXB-C8aORGi5.js} +1 -1
  70. package/dist/client/assets/{requirementDiagram-4Y6WPE33-Qmg8C7k6.js → requirementDiagram-4Y6WPE33-B9Rw2zEX.js} +1 -1
  71. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DuIvgSjA.js → sankeyDiagram-5OEKKPKP-TUG1JMRA.js} +1 -1
  72. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-B4JsFW9i.js → sequenceDiagram-3UESZ5HK-HU7BEi0m.js} +1 -1
  73. package/dist/client/assets/{stateDiagram-AJRCARHV-lTFw6Md4.js → stateDiagram-AJRCARHV-BCFJ83ix.js} +1 -1
  74. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-WvisYLRe.js +1 -0
  75. package/dist/client/assets/{timeline-definition-PNZ67QCA-C7Hc5KbB.js → timeline-definition-PNZ67QCA-CgyzXdkH.js} +1 -1
  76. package/dist/client/assets/{vennDiagram-CIIHVFJN-DMyGzBh7.js → vennDiagram-CIIHVFJN-IghWvoTq.js} +1 -1
  77. package/dist/client/assets/{wardley-L42UT6IY-BjA5T0YY.js → wardley-L42UT6IY-DjwjMpZO.js} +1 -1
  78. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BhOipIZG.js → wardleyDiagram-YWT4CUSO-NxI_0w-J.js} +1 -1
  79. package/dist/client/assets/{xychartDiagram-2RQKCTM6-Czx4--PM.js → xychartDiagram-2RQKCTM6-nS1fwVNL.js} +1 -1
  80. package/dist/client/index.html +2 -2
  81. package/dist/core/ask/run-ask.d.ts +3 -1
  82. package/dist/core/ask/run-ask.js +75 -54
  83. package/dist/core/ask/run-ask.js.map +1 -1
  84. package/dist/core/workspace/resolve.d.ts +29 -0
  85. package/dist/core/workspace/resolve.js +80 -0
  86. package/dist/core/workspace/resolve.js.map +1 -0
  87. package/dist/server/config.d.ts +49 -6
  88. package/dist/server/config.js +89 -20
  89. package/dist/server/config.js.map +1 -1
  90. package/dist/server/core/plugin-host/cli-engine.d.ts +8 -0
  91. package/dist/server/core/plugin-host/cli-engine.js +16 -0
  92. package/dist/server/core/plugin-host/cli-engine.js.map +1 -0
  93. package/dist/server/core/plugin-host/cross-cutting.js +1 -1
  94. package/dist/server/core/plugin-host/cross-cutting.js.map +1 -1
  95. package/dist/server/core/plugin-host/entities-router.d.ts +2 -1
  96. package/dist/server/core/plugin-host/entities-router.js +11 -12
  97. package/dist/server/core/plugin-host/entities-router.js.map +1 -1
  98. package/dist/server/core/plugin-host/project-host.d.ts +38 -0
  99. package/dist/server/core/plugin-host/project-host.js +118 -0
  100. package/dist/server/core/plugin-host/project-host.js.map +1 -0
  101. package/dist/server/core/plugin-host/registry.d.ts +14 -0
  102. package/dist/server/core/plugin-host/registry.js +26 -0
  103. package/dist/server/core/plugin-host/registry.js.map +1 -0
  104. package/dist/server/core/plugin-host/serialization-engine.d.ts +38 -8
  105. package/dist/server/core/plugin-host/serialization-engine.js +63 -39
  106. package/dist/server/core/plugin-host/serialization-engine.js.map +1 -1
  107. package/dist/server/core/plugin-host/types.d.ts +40 -13
  108. package/dist/server/db/index.d.ts +8 -1
  109. package/dist/server/db/index.js +12 -3
  110. package/dist/server/db/index.js.map +1 -1
  111. package/dist/server/db/migrations/036_design_system.sql +16 -0
  112. package/dist/server/db/migrations/037_ui_view_design_system_slug.sql +7 -0
  113. package/dist/server/db/migrations/038_chat_queued_message.sql +18 -0
  114. package/dist/server/db/readonly.d.ts +8 -3
  115. package/dist/server/db/readonly.js +7 -4
  116. package/dist/server/db/readonly.js.map +1 -1
  117. package/dist/server/domain/raw-entity-reader.d.ts +3 -1
  118. package/dist/server/domain/raw-entity-reader.js +25 -3
  119. package/dist/server/domain/raw-entity-reader.js.map +1 -1
  120. package/dist/server/entities/ac/mcp-server.d.ts +2 -2
  121. package/dist/server/entities/ac/mcp-server.js +4 -1
  122. package/dist/server/entities/ac/mcp-server.js.map +1 -1
  123. package/dist/server/entities/ac/plugin.d.ts +3 -1
  124. package/dist/server/entities/ac/plugin.js +7 -5
  125. package/dist/server/entities/ac/plugin.js.map +1 -1
  126. package/dist/server/entities/ac/system-prompt.js +1 -8
  127. package/dist/server/entities/ac/system-prompt.js.map +1 -1
  128. package/dist/server/entities/database-table/mcp-server.d.ts +2 -2
  129. package/dist/server/entities/database-table/mcp-server.js +5 -2
  130. package/dist/server/entities/database-table/mcp-server.js.map +1 -1
  131. package/dist/server/entities/database-table/plugin.d.ts +3 -1
  132. package/dist/server/entities/database-table/plugin.js +5 -3
  133. package/dist/server/entities/database-table/plugin.js.map +1 -1
  134. package/dist/server/entities/database-table/routes.d.ts +2 -2
  135. package/dist/server/entities/database-table/services.js +3 -2
  136. package/dist/server/entities/database-table/services.js.map +1 -1
  137. package/dist/server/entities/database-table/system-prompt.js +1 -1
  138. package/dist/server/entities/database-table/system-prompt.js.map +1 -1
  139. package/dist/server/entities/design-system/mcp-server.d.ts +10 -0
  140. package/dist/server/entities/design-system/mcp-server.js +188 -0
  141. package/dist/server/entities/design-system/mcp-server.js.map +1 -0
  142. package/dist/server/entities/design-system/plugin.d.ts +3 -0
  143. package/dist/server/entities/design-system/plugin.js +34 -0
  144. package/dist/server/entities/design-system/plugin.js.map +1 -0
  145. package/dist/server/entities/design-system/routes.d.ts +5 -0
  146. package/dist/server/entities/design-system/routes.js +86 -0
  147. package/dist/server/entities/design-system/routes.js.map +1 -0
  148. package/dist/server/entities/design-system/serializer.d.ts +29 -0
  149. package/dist/server/entities/design-system/serializer.js +0 -0
  150. package/dist/server/entities/design-system/serializer.js.map +1 -0
  151. package/dist/server/entities/design-system/services.d.ts +49 -0
  152. package/dist/server/entities/design-system/services.js +225 -0
  153. package/dist/server/entities/design-system/services.js.map +1 -0
  154. package/dist/server/entities/design-system/system-prompt.d.ts +2 -0
  155. package/dist/server/entities/design-system/system-prompt.js +15 -0
  156. package/dist/server/entities/design-system/system-prompt.js.map +1 -0
  157. package/dist/server/entities/dto/mcp-server.d.ts +2 -2
  158. package/dist/server/entities/dto/mcp-server.js +5 -2
  159. package/dist/server/entities/dto/mcp-server.js.map +1 -1
  160. package/dist/server/entities/dto/plugin.d.ts +3 -1
  161. package/dist/server/entities/dto/plugin.js +5 -3
  162. package/dist/server/entities/dto/plugin.js.map +1 -1
  163. package/dist/server/entities/dto/services.js +3 -2
  164. package/dist/server/entities/dto/services.js.map +1 -1
  165. package/dist/server/entities/dto/system-prompt.js +1 -1
  166. package/dist/server/entities/dto/system-prompt.js.map +1 -1
  167. package/dist/server/entities/endpoint/mcp-server.d.ts +2 -2
  168. package/dist/server/entities/endpoint/mcp-server.js +5 -2
  169. package/dist/server/entities/endpoint/mcp-server.js.map +1 -1
  170. package/dist/server/entities/endpoint/plugin.d.ts +3 -1
  171. package/dist/server/entities/endpoint/plugin.js +5 -3
  172. package/dist/server/entities/endpoint/plugin.js.map +1 -1
  173. package/dist/server/entities/endpoint/services.js +3 -2
  174. package/dist/server/entities/endpoint/services.js.map +1 -1
  175. package/dist/server/entities/endpoint/system-prompt.js +1 -1
  176. package/dist/server/entities/endpoint/system-prompt.js.map +1 -1
  177. package/dist/server/entities/ui-view/mcp-server.d.ts +2 -2
  178. package/dist/server/entities/ui-view/mcp-server.js +19 -2
  179. package/dist/server/entities/ui-view/mcp-server.js.map +1 -1
  180. package/dist/server/entities/ui-view/plugin.d.ts +3 -1
  181. package/dist/server/entities/ui-view/plugin.js +5 -3
  182. package/dist/server/entities/ui-view/plugin.js.map +1 -1
  183. package/dist/server/entities/ui-view/routes.d.ts +2 -2
  184. package/dist/server/entities/ui-view/serializer.d.ts +2 -0
  185. package/dist/server/entities/ui-view/serializer.js +25 -3
  186. package/dist/server/entities/ui-view/serializer.js.map +1 -1
  187. package/dist/server/entities/ui-view/services.js +25 -10
  188. package/dist/server/entities/ui-view/services.js.map +1 -1
  189. package/dist/server/entities/ui-view/system-prompt.d.ts +0 -5
  190. package/dist/server/entities/ui-view/system-prompt.js +3 -7
  191. package/dist/server/entities/ui-view/system-prompt.js.map +1 -1
  192. package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
  193. package/dist/server/external-skills/brief-implementer-template.js +1 -1
  194. package/dist/server/external-skills/spec-reader-template.d.ts +1 -1
  195. package/dist/server/external-skills/spec-reader-template.js +3 -2
  196. package/dist/server/external-skills/spec-reader-template.js.map +1 -1
  197. package/dist/server/fs/watcher.d.ts +2 -2
  198. package/dist/server/index.d.ts +11 -1
  199. package/dist/server/index.js +134 -745
  200. package/dist/server/index.js.map +1 -1
  201. package/dist/server/mcp/c4s-reader.d.ts +2 -2
  202. package/dist/server/mcp/c4s-reader.js +43 -4
  203. package/dist/server/mcp/c4s-reader.js.map +1 -1
  204. package/dist/server/mcp/c4s-tools.js +2 -0
  205. package/dist/server/mcp/c4s-tools.js.map +1 -1
  206. package/dist/server/mcp/ensure-mcp-json.d.ts +9 -2
  207. package/dist/server/mcp/ensure-mcp-json.js +18 -4
  208. package/dist/server/mcp/ensure-mcp-json.js.map +1 -1
  209. package/dist/server/mcp/reference-tools.d.ts +5 -2
  210. package/dist/server/mcp/reference-tools.js +27 -18
  211. package/dist/server/mcp/reference-tools.js.map +1 -1
  212. package/dist/server/mcp/release-tools/index.d.ts +2 -2
  213. package/dist/server/routes/agent-turn.d.ts +48 -7
  214. package/dist/server/routes/agent-turn.js +232 -103
  215. package/dist/server/routes/agent-turn.js.map +1 -1
  216. package/dist/server/routes/chat.js +134 -22
  217. package/dist/server/routes/chat.js.map +1 -1
  218. package/dist/server/routes/config.d.ts +24 -0
  219. package/dist/server/routes/config.js +231 -0
  220. package/dist/server/routes/config.js.map +1 -0
  221. package/dist/server/routes/references.d.ts +2 -1
  222. package/dist/server/routes/references.js +4 -5
  223. package/dist/server/routes/references.js.map +1 -1
  224. package/dist/server/routes/releases.d.ts +2 -2
  225. package/dist/server/routes/threads.js +16 -2
  226. package/dist/server/routes/threads.js.map +1 -1
  227. package/dist/server/serialization/auto-schema.d.ts +2 -1
  228. package/dist/server/serialization/auto-schema.js +5 -6
  229. package/dist/server/serialization/auto-schema.js.map +1 -1
  230. package/dist/server/serialization/registerAll.d.ts +7 -6
  231. package/dist/server/serialization/registerAll.js +19 -6
  232. package/dist/server/serialization/registerAll.js.map +1 -1
  233. package/dist/server/serialization/resolve-page.d.ts +2 -2
  234. package/dist/server/serialization/serializers/section.d.ts +6 -1
  235. package/dist/server/serialization/serializers/section.js +6 -3
  236. package/dist/server/serialization/serializers/section.js.map +1 -1
  237. package/dist/server/serialization/writer.d.ts +2 -1
  238. package/dist/server/services/brief.d.ts +2 -2
  239. package/dist/server/services/chat-context.d.ts +24 -0
  240. package/dist/server/services/chat-context.js +70 -13
  241. package/dist/server/services/chat-context.js.map +1 -1
  242. package/dist/server/services/chat.d.ts +24 -1
  243. package/dist/server/services/chat.js +70 -0
  244. package/dist/server/services/chat.js.map +1 -1
  245. package/dist/server/services/entity-indexer.d.ts +2 -2
  246. package/dist/server/services/entity-indexer.js +16 -2
  247. package/dist/server/services/entity-indexer.js.map +1 -1
  248. package/dist/server/services/entity-writer.d.ts +2 -0
  249. package/dist/server/services/entity-writer.js +12 -0
  250. package/dist/server/services/entity-writer.js.map +1 -1
  251. package/dist/server/services/pages-frontmatter-indexer.d.ts +2 -2
  252. package/dist/server/services/pages-link-indexer.d.ts +2 -2
  253. package/dist/server/services/pages.d.ts +2 -0
  254. package/dist/server/services/pages.js +21 -10
  255. package/dist/server/services/pages.js.map +1 -1
  256. package/dist/server/services/plan.d.ts +2 -2
  257. package/dist/server/services/references.js +20 -0
  258. package/dist/server/services/references.js.map +1 -1
  259. package/dist/server/services/release-bundle.d.ts +0 -1
  260. package/dist/server/services/release-bundle.js +0 -1
  261. package/dist/server/services/release-bundle.js.map +1 -1
  262. package/dist/server/services/release-import.d.ts +2 -0
  263. package/dist/server/services/release-import.js +6 -4
  264. package/dist/server/services/release-import.js.map +1 -1
  265. package/dist/server/services/section-indexer.d.ts +4 -2
  266. package/dist/server/services/section-indexer.js +4 -3
  267. package/dist/server/services/section-indexer.js.map +1 -1
  268. package/dist/server/services/slug.d.ts +1 -0
  269. package/dist/server/services/slug.js +12 -0
  270. package/dist/server/services/slug.js.map +1 -1
  271. package/dist/server/services/todos-indexer.d.ts +2 -2
  272. package/dist/server/workspace/bootstrap.d.ts +42 -0
  273. package/dist/server/workspace/bootstrap.js +73 -0
  274. package/dist/server/workspace/bootstrap.js.map +1 -0
  275. package/dist/server/workspace/context-cache.d.ts +48 -0
  276. package/dist/server/workspace/context-cache.js +147 -0
  277. package/dist/server/workspace/context-cache.js.map +1 -0
  278. package/dist/server/workspace/db-migration.d.ts +11 -0
  279. package/dist/server/workspace/db-migration.js +44 -0
  280. package/dist/server/workspace/db-migration.js.map +1 -0
  281. package/dist/server/workspace/middleware.d.ts +15 -0
  282. package/dist/server/workspace/middleware.js +36 -0
  283. package/dist/server/workspace/middleware.js.map +1 -0
  284. package/dist/server/workspace/project-context.d.ts +65 -0
  285. package/dist/server/workspace/project-context.js +655 -0
  286. package/dist/server/workspace/project-context.js.map +1 -0
  287. package/dist/server/workspace/project-id.d.ts +7 -0
  288. package/dist/server/workspace/project-id.js +11 -0
  289. package/dist/server/workspace/project-id.js.map +1 -0
  290. package/dist/server/workspace/registry.d.ts +58 -0
  291. package/dist/server/workspace/registry.js +264 -0
  292. package/dist/server/workspace/registry.js.map +1 -0
  293. package/dist/server/workspace/routes.d.ts +21 -0
  294. package/dist/server/workspace/routes.js +181 -0
  295. package/dist/server/workspace/routes.js.map +1 -0
  296. package/dist/server/workspace/types.d.ts +30 -0
  297. package/dist/server/workspace/types.js +6 -0
  298. package/dist/server/workspace/types.js.map +1 -0
  299. package/dist/server/ws/gateway.d.ts +12 -2
  300. package/dist/server/ws/gateway.js +51 -9
  301. package/dist/server/ws/gateway.js.map +1 -1
  302. package/dist/server/ws/project-emitter.d.ts +17 -0
  303. package/dist/server/ws/project-emitter.js +12 -0
  304. package/dist/server/ws/project-emitter.js.map +1 -0
  305. package/dist/shared/design-system.d.ts +20 -0
  306. package/dist/shared/design-system.js +222 -0
  307. package/dist/shared/design-system.js.map +1 -0
  308. package/dist/shared/entities.d.ts +121 -1
  309. package/dist/shared/entities.js +4 -0
  310. package/dist/shared/entities.js.map +1 -1
  311. package/dist/shared/languages.d.ts +17 -0
  312. package/dist/shared/languages.js +31 -0
  313. package/dist/shared/languages.js.map +1 -0
  314. package/dist/shared/types.d.ts +2 -0
  315. package/package.json +11 -4
  316. package/dist/client/assets/channel-BGn39mc8.js +0 -1
  317. package/dist/client/assets/classDiagram-4FO5ZUOK-DZ5eaGnY.js +0 -1
  318. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DZ5eaGnY.js +0 -1
  319. package/dist/client/assets/index-DirDnayu.css +0 -1
  320. package/dist/client/assets/index-qO9stCkx.js +0 -770
  321. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-D2iiMzxh.js +0 -1
@@ -3,11 +3,9 @@ import path from 'node:path';
3
3
  import fs from 'node:fs';
4
4
  import { spawn } from 'node:child_process';
5
5
  import { startServer } from '../server/index.js';
6
- import { BOOTSTRAP_TEMPLATE } from './bootstrap-template.js';
7
- import { ensureExternalSkills } from '../server/external-skills/external-skills-service.js';
8
- import { ensureMcpJson } from '../server/mcp/ensure-mcp-json.js';
9
- import { loadOrCreateConfig } from '../server/config.js';
10
- import { ensureGitignore } from './gitignore.js';
6
+ import { migrateConfigToV3 } from '../server/config.js';
7
+ import { WorkspaceRegistry } from '../server/workspace/registry.js';
8
+ import { bootstrapProject } from '../server/workspace/bootstrap.js';
11
9
  function parseArgs(argv) {
12
10
  const args = {
13
11
  port: undefined,
@@ -15,10 +13,16 @@ function parseArgs(argv) {
15
13
  pagesDir: undefined,
16
14
  mode: undefined,
17
15
  name: undefined,
16
+ workspace: undefined,
18
17
  noOpen: false,
19
18
  clone: undefined,
20
19
  remoteUrl: undefined,
20
+ createProject: false,
21
21
  };
22
+ // `cwd` always defaults to process.cwd(), so its value can't signal intent —
23
+ // track whether `--cwd` was passed explicitly to drive the create-project
24
+ // implication.
25
+ let cwdExplicit = false;
22
26
  const resolveCwd = (raw) => path.resolve(process.cwd(), raw);
23
27
  const parseMode = (raw) => {
24
28
  if (raw !== 'dev' && raw !== 'prod')
@@ -35,9 +39,11 @@ function parseArgs(argv) {
35
39
  }
36
40
  else if (a === '--cwd' && argv[i + 1]) {
37
41
  args.cwd = resolveCwd(argv[++i]);
42
+ cwdExplicit = true;
38
43
  }
39
44
  else if (a?.startsWith('--cwd=')) {
40
45
  args.cwd = resolveCwd(a.split('=')[1]);
46
+ cwdExplicit = true;
41
47
  }
42
48
  else if (a === '--pages' && argv[i + 1]) {
43
49
  args.pagesDir = argv[++i];
@@ -57,6 +63,12 @@ function parseArgs(argv) {
57
63
  else if (a?.startsWith('--name=')) {
58
64
  args.name = a.split('=')[1];
59
65
  }
66
+ else if (a === '--workspace' && argv[i + 1]) {
67
+ args.workspace = argv[++i];
68
+ }
69
+ else if (a?.startsWith('--workspace=')) {
70
+ args.workspace = a.split('=')[1];
71
+ }
60
72
  else if (a === '--clone' && argv[i + 1]) {
61
73
  args.clone = argv[++i];
62
74
  }
@@ -69,10 +81,22 @@ function parseArgs(argv) {
69
81
  else if (a?.startsWith('--remote-url=')) {
70
82
  args.remoteUrl = a.split('=')[1];
71
83
  }
84
+ else if (a === '--create-project') {
85
+ args.createProject = true;
86
+ }
72
87
  else if (a === '--no-open') {
73
88
  args.noOpen = true;
74
89
  }
75
90
  }
91
+ // Decision #11: per-project flags imply `--create-project` — each acted on the
92
+ // CWD project in 0.1.56, so their use still registers it (eases migration).
93
+ if (cwdExplicit ||
94
+ args.name != null ||
95
+ args.pagesDir != null ||
96
+ args.clone != null ||
97
+ args.remoteUrl != null) {
98
+ args.createProject = true;
99
+ }
76
100
  return args;
77
101
  }
78
102
  /**
@@ -94,17 +118,6 @@ function assertCloneTargetEmpty(cwd) {
94
118
  process.exit(1);
95
119
  }
96
120
  }
97
- function ensureBootstrap(cwd, pagesDir) {
98
- const pagesPath = path.join(cwd, pagesDir ?? 'pages');
99
- fs.mkdirSync(pagesPath, { recursive: true });
100
- const indexPath = path.join(pagesPath, 'index.md');
101
- if (fs.existsSync(indexPath))
102
- return;
103
- const existing = fs.readdirSync(pagesPath).filter((name) => !name.startsWith('.'));
104
- if (existing.length > 0)
105
- return;
106
- fs.writeFileSync(indexPath, BOOTSTRAP_TEMPLATE, 'utf8');
107
- }
108
121
  function openBrowser(url) {
109
122
  const { platform } = process;
110
123
  const [cmd, ...rest] = platform === 'darwin'
@@ -123,61 +136,96 @@ function openBrowser(url) {
123
136
  /* ignore */
124
137
  }
125
138
  }
126
- const { port, cwd, pagesDir, mode, name, noOpen, clone, remoteUrl } = parseArgs(process.argv.slice(2));
127
- fs.mkdirSync(cwd, { recursive: true });
128
- // M27 step 6a: validate the clone target is empty before any remote call / DB open.
129
- if (clone)
130
- assertCloneTargetEmpty(cwd);
131
- // M27 (0.1.37): capture pre-bootstrap state for clone rollback — `.claude4spec/`
132
- // is created lazily by loadOrCreateConfig/openDb, so check existence BEFORE it.
133
- const claudeDirExisted = fs.existsSync(path.join(cwd, '.claude4spec'));
134
- const { config: effective, created: configCreated, path: configFilePath } = loadOrCreateConfig(cwd, {
135
- name,
136
- port,
137
- pagesDir,
138
- mode,
139
- // M01 (0.1.36): `--remote-url` is sticky — persisted on first bootstrap, then
140
- // resolved (flag > config.json > prod constant) in startServer.
141
- remoteApiUrl: remoteUrl,
142
- });
143
- // M27 (0.1.37): capture whether .gitignore pre-existed BEFORE ensureGitignore —
144
- // ensureGitignore creates it if absent, else only appends. Clone rollback deletes
145
- // it only when this run created it (never a user's pre-existing .gitignore).
146
- const gitignoreExisted = fs.existsSync(path.join(cwd, '.gitignore'));
147
- ensureGitignore(cwd);
148
- // When cloning, the restored pages/ populate the project — skip the welcome page
149
- // (writing index.md first would also violate the empty-target precondition).
150
- if (!clone)
151
- ensureBootstrap(cwd, effective.pagesDir);
152
- ensureExternalSkills(cwd);
153
- ensureMcpJson({ projectAbsPath: cwd });
154
- startServer({
155
- cwd,
156
- port: effective.port,
157
- pagesDir: effective.pagesDir,
158
- mode: effective.mode,
159
- // Raw CLI --name only (undefined unless explicitly passed) — consumed solely as
160
- // the M27 clone name override, where an explicit --name wins over the bundle's
161
- // config.name. effective.name (cwd-basename default) must NOT shadow it.
162
- name,
163
- clone,
164
- // Resolved flag > config.json > null; startServer applies the prod-constant
165
- // fallback inside RemoteHttpClient.
166
- remoteApiUrl: effective.remoteApiUrl,
167
- // M27 (0.1.37): drive the clone full-rollback — delete config.json / .claude4spec/
168
- // only if THIS run created them (step 3 created the dir iff it didn't pre-exist).
169
- configCreated,
170
- claudeDirCreated: !claudeDirExisted,
171
- gitignoreCreated: !gitignoreExisted,
172
- })
173
- .then((handle) => {
174
- console.log(`\x1b[32m claude4spec\x1b[0m ready at \x1b[36m${handle.url}\x1b[0m`);
175
- console.log(` cwd: ${cwd}`);
176
- console.log(` pages: ${effective.pagesDir}`);
177
- console.log(` config: ${configFilePath}${configCreated ? ' (created)' : ''}`);
178
- console.log(` writing style: ${handle.writingStyle ? `${handle.writingStyle.title} (${handle.writingStyle.slug})` : 'none'}`);
179
- if (!noOpen && effective.mode === 'prod')
180
- openBrowser(handle.url);
139
+ const args = parseArgs(process.argv.slice(2));
140
+ const { port, cwd, pagesDir, mode, name, noOpen, clone, remoteUrl, createProject } = args;
141
+ const registry = new WorkspaceRegistry();
142
+ if (createProject) {
143
+ // ── Create-project path (explicit opt-in or an implying flag) ──────────────
144
+ fs.mkdirSync(cwd, { recursive: true });
145
+ // M27 step 6a: validate the clone target is empty before any remote call / DB open.
146
+ if (clone)
147
+ assertCloneTargetEmpty(cwd);
148
+ // M31: workspace select-or-create. Peek the config-v3 migration FIRST so a
149
+ // pre-v3 `config.json.port` can still select the right workspace when no
150
+ // --port/--workspace flag is given (first-wins carry happens in bootstrap).
151
+ const peeked = migrateConfigToV3(cwd);
152
+ const workspace = registry.selectOrCreate({
153
+ name: args.workspace,
154
+ port: port ?? peeked.carried.defaultPort,
155
+ mode: mode ?? peeked.carried.mode,
156
+ });
157
+ // M31: full per-project activation (config, gitignore, welcome page, skills,
158
+ // mcp.json, registry registration, legacy-db relocation).
159
+ const boot = bootstrapProject(registry, workspace, cwd, {
160
+ name,
161
+ pagesDir,
162
+ remoteApiUrl: remoteUrl,
163
+ });
164
+ const effectivePort = port ?? workspace.defaultPort;
165
+ const effectiveMode = mode ?? workspace.mode;
166
+ startServer({
167
+ cwd,
168
+ workspace,
169
+ createProject: true,
170
+ port: effectivePort,
171
+ pagesDir,
172
+ mode: effectiveMode,
173
+ // Raw CLI --name only (undefined unless explicitly passed) consumed solely as
174
+ // the M27 clone name override, where an explicit --name wins over the bundle's
175
+ // config.name.
176
+ name,
177
+ clone,
178
+ // Resolved flag > config.json > null; startServer applies the prod-constant
179
+ // fallback inside RemoteHttpClient.
180
+ remoteApiUrl: boot.config.remoteApiUrl,
181
+ // M27 (0.1.37): drive the clone full-rollback delete config.json / .claude4spec/
182
+ // only if THIS run created them.
183
+ configCreated: boot.configCreated,
184
+ claudeDirCreated: boot.claudeDirCreated,
185
+ gitignoreCreated: boot.gitignoreCreated,
186
+ })
187
+ .then((handle) => {
188
+ const projectUrl = `${handle.url}/p/${boot.project.id}/`;
189
+ console.log(`\x1b[32m claude4spec\x1b[0m ready at \x1b[36m${projectUrl}\x1b[0m`);
190
+ console.log(` workspace: ${workspace.name}`);
191
+ console.log(` cwd: ${cwd}`);
192
+ console.log(` pages: ${pagesDir ?? boot.config.pagesDir}`);
193
+ console.log(` config: ${boot.configPath}${boot.configCreated ? ' (created)' : ''}`);
194
+ console.log(` writing style: ${handle.writingStyle ? `${handle.writingStyle.title} (${handle.writingStyle.slug})` : 'none'}`);
195
+ if (!noOpen && effectiveMode === 'prod')
196
+ openBrowser(projectUrl);
197
+ installShutdown(handle);
198
+ })
199
+ .catch(failToStart);
200
+ }
201
+ else {
202
+ // ── Workspace-only start (decision #11) ────────────────────────────────────
203
+ // No mkdir, no config-v3 peek (it would rewrite config.json), no bootstrap —
204
+ // nothing is written to the CWD. Select the workspace from CLI signals only
205
+ // and open `/welcome`. A project is registered later via /welcome or the
206
+ // switcher (POST /api/workspace/projects).
207
+ const workspace = registry.selectOrCreate({ name: args.workspace, port, mode });
208
+ const effectivePort = port ?? workspace.defaultPort;
209
+ const effectiveMode = mode ?? workspace.mode;
210
+ startServer({
211
+ cwd,
212
+ workspace,
213
+ createProject: false,
214
+ port: effectivePort,
215
+ mode: effectiveMode,
216
+ })
217
+ .then((handle) => {
218
+ const welcomeUrl = `${handle.url}/welcome`;
219
+ console.log(`\x1b[32m claude4spec\x1b[0m ready at \x1b[36m${welcomeUrl}\x1b[0m`);
220
+ console.log(` workspace: ${workspace.name} (workspace-only start — no project created)`);
221
+ console.log(` hint: pass --create-project to register this directory as a project`);
222
+ if (!noOpen && effectiveMode === 'prod')
223
+ openBrowser(welcomeUrl);
224
+ installShutdown(handle);
225
+ })
226
+ .catch(failToStart);
227
+ }
228
+ function installShutdown(handle) {
181
229
  const close = async () => {
182
230
  console.log('\n shutting down…');
183
231
  await handle.shutdown();
@@ -185,9 +233,9 @@ startServer({
185
233
  };
186
234
  process.on('SIGINT', close);
187
235
  process.on('SIGTERM', close);
188
- })
189
- .catch((err) => {
236
+ }
237
+ function failToStart(err) {
190
238
  console.error('failed to start:', err);
191
239
  process.exit(1);
192
- });
240
+ }
193
241
  //# sourceMappingURL=claude4spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude4spec.js","sourceRoot":"","sources":["../../src/bin/claude4spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude4spec.js","sourceRoot":"","sources":["../../src/bin/claude4spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core-fKaK1Sz_.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core-CBl6Zy3k.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};