@inharness-ai/claude4spec 1.0.6 → 1.0.8

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 (103) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/client/assets/{arc-CqFoQdai.js → arc-Ri_rE3A4.js} +1 -1
  3. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CIEQ1CV_.js → architectureDiagram-3BPJPVTR-C7KU6Gxy.js} +1 -1
  4. package/dist/client/assets/{blockDiagram-GPEHLZMM-DwCCDYZs.js → blockDiagram-GPEHLZMM-XP57kEB6.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-AAUBKEIU-DB988zZs.js → c4Diagram-AAUBKEIU-vQE6EvG4.js} +1 -1
  6. package/dist/client/assets/channel-CXaSz-yc.js +1 -0
  7. package/dist/client/assets/{chunk-2J33WTMH-Bwc9B4Id.js → chunk-2J33WTMH-CDaw1-z0.js} +1 -1
  8. package/dist/client/assets/{chunk-4BX2VUAB-ClOw-zt3.js → chunk-4BX2VUAB-CdUEf5WH.js} +1 -1
  9. package/dist/client/assets/{chunk-55IACEB6-B513D_Oz.js → chunk-55IACEB6-CJjUfYKD.js} +1 -1
  10. package/dist/client/assets/{chunk-727SXJPM-CvT-ppRD.js → chunk-727SXJPM-DkgytNym.js} +1 -1
  11. package/dist/client/assets/{chunk-AQP2D5EJ-BDZ-uKjF.js → chunk-AQP2D5EJ-B23_HIH8.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-DlnsCvyP.js → chunk-FMBD7UC4-BOxU6c6d.js} +1 -1
  13. package/dist/client/assets/{chunk-ND2GUHAM-Cv4kIfqi.js → chunk-ND2GUHAM-DM3Qjus5.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-Boyq-O-A.js → chunk-QZHKN3VN-CapbZIUP.js} +1 -1
  15. package/dist/client/assets/classDiagram-4FO5ZUOK-CiPHXsyE.js +1 -0
  16. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CiPHXsyE.js +1 -0
  17. package/dist/client/assets/{cose-bilkent-S5V4N54A-B4fXXqZV.js → cose-bilkent-S5V4N54A-CTNIJ0dY.js} +1 -1
  18. package/dist/client/assets/{dagre-BM42HDAG-D7JvdAaj.js → dagre-BM42HDAG-BRrO0WSt.js} +1 -1
  19. package/dist/client/assets/{diagram-2AECGRRQ-TqVC9_06.js → diagram-2AECGRRQ-CMCgz46p.js} +1 -1
  20. package/dist/client/assets/{diagram-5GNKFQAL-BJE7Sfvp.js → diagram-5GNKFQAL-Be67M_wK.js} +1 -1
  21. package/dist/client/assets/{diagram-KO2AKTUF-dDI3Q4Xy.js → diagram-KO2AKTUF-C1lam27A.js} +1 -1
  22. package/dist/client/assets/{diagram-LMA3HP47-zrNXdbAH.js → diagram-LMA3HP47-3u3xFJ_q.js} +1 -1
  23. package/dist/client/assets/{diagram-OG6HWLK6-C9RoGREB.js → diagram-OG6HWLK6-DIVEfPgU.js} +1 -1
  24. package/dist/client/assets/{erDiagram-TEJ5UH35-BIOg0Mgx.js → erDiagram-TEJ5UH35-CoXGGm8G.js} +1 -1
  25. package/dist/client/assets/{flowDiagram-I6XJVG4X-C5olRPEY.js → flowDiagram-I6XJVG4X-CZ5BV_Ix.js} +1 -1
  26. package/dist/client/assets/{ganttDiagram-6RSMTGT7-Daqt3_2M.js → ganttDiagram-6RSMTGT7-BvPLC5Cv.js} +1 -1
  27. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-E09LH7cR.js → gitGraphDiagram-PVQCEYII-Dh1ZoVJb.js} +1 -1
  28. package/dist/client/assets/{index-CMsZQS3t.js → index-BQG2YUwc.js} +1 -1
  29. package/dist/client/assets/index-C5IzEHNL.js +760 -0
  30. package/dist/client/assets/{index-BwbjYrNH.js → index-CiSTZTU5.js} +1 -1
  31. package/dist/client/assets/{index-zpHL2aYW.css → index-b9dqo5lW.css} +1 -1
  32. package/dist/client/assets/{infoDiagram-5YYISTIA-Cy_D0LmA.js → infoDiagram-5YYISTIA-BuHIm-Jn.js} +1 -1
  33. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-B3cvnpaf.js → ishikawaDiagram-YF4QCWOH-I8nVafdM.js} +1 -1
  34. package/dist/client/assets/{journeyDiagram-JHISSGLW-IR8sEnrO.js → journeyDiagram-JHISSGLW-shtpF1TZ.js} +1 -1
  35. package/dist/client/assets/{kanban-definition-UN3LZRKU-DHaqk7jz.js → kanban-definition-UN3LZRKU-BsO8TIvo.js} +1 -1
  36. package/dist/client/assets/{linear-BJO3kbAY.js → linear-C3N1YJbK.js} +1 -1
  37. package/dist/client/assets/{mermaid.core-Dwygsmt4.js → mermaid.core-DUTTNZnN.js} +4 -4
  38. package/dist/client/assets/{mindmap-definition-RKZ34NQL-C9XVPJV6.js → mindmap-definition-RKZ34NQL-DEMm3PNd.js} +1 -1
  39. package/dist/client/assets/{pieDiagram-4H26LBE5-CZldRk6l.js → pieDiagram-4H26LBE5-ZWkz7ewh.js} +1 -1
  40. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CY053ghg.js → quadrantDiagram-W4KKPZXB-DSdXKJ0w.js} +1 -1
  41. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DQbMS7j1.js → requirementDiagram-4Y6WPE33-yqSjbYPV.js} +1 -1
  42. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C5w3huvN.js → sankeyDiagram-5OEKKPKP-yXc5bZhC.js} +1 -1
  43. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-nF1GikPI.js → sequenceDiagram-3UESZ5HK-Z1Nu6haY.js} +1 -1
  44. package/dist/client/assets/{stateDiagram-AJRCARHV-CxjKXGSz.js → stateDiagram-AJRCARHV-DLVVcNhF.js} +1 -1
  45. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DxGjPxxo.js +1 -0
  46. package/dist/client/assets/{timeline-definition-PNZ67QCA-q0ZvTC5H.js → timeline-definition-PNZ67QCA-3TZN84mA.js} +1 -1
  47. package/dist/client/assets/{vennDiagram-CIIHVFJN-CO7sztp2.js → vennDiagram-CIIHVFJN-D8QmAxH6.js} +1 -1
  48. package/dist/client/assets/{wardley-L42UT6IY-JeTZFzC9.js → wardley-L42UT6IY-r7LqMpHU.js} +1 -1
  49. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-COpCQvmO.js → wardleyDiagram-YWT4CUSO-KQreLEne.js} +1 -1
  50. package/dist/client/assets/{xychartDiagram-2RQKCTM6-C78ptl5b.js → xychartDiagram-2RQKCTM6-Bxy2QkZl.js} +1 -1
  51. package/dist/client/index.html +2 -2
  52. package/dist/server/config.d.ts +13 -0
  53. package/dist/server/config.js +27 -0
  54. package/dist/server/config.js.map +1 -1
  55. package/dist/server/db/migrations/030_remote_session.sql +29 -0
  56. package/dist/server/db/migrations/031_release_push.sql +39 -0
  57. package/dist/server/entities/ac/system-prompt.js +6 -6
  58. package/dist/server/entities/ac/system-prompt.js.map +1 -1
  59. package/dist/server/index.js +35 -2
  60. package/dist/server/index.js.map +1 -1
  61. package/dist/server/routes/errors.js +10 -0
  62. package/dist/server/routes/errors.js.map +1 -1
  63. package/dist/server/routes/release-pushes.d.ts +10 -0
  64. package/dist/server/routes/release-pushes.js +68 -0
  65. package/dist/server/routes/release-pushes.js.map +1 -0
  66. package/dist/server/routes/releases.js +9 -0
  67. package/dist/server/routes/releases.js.map +1 -1
  68. package/dist/server/routes/remote-account.d.ts +8 -0
  69. package/dist/server/routes/remote-account.js +49 -0
  70. package/dist/server/routes/remote-account.js.map +1 -0
  71. package/dist/server/services/brief.d.ts +2 -0
  72. package/dist/server/services/brief.js +10 -0
  73. package/dist/server/services/brief.js.map +1 -1
  74. package/dist/server/services/plan.js +6 -6
  75. package/dist/server/services/plan.js.map +1 -1
  76. package/dist/server/services/release-bundle.d.ts +92 -0
  77. package/dist/server/services/release-bundle.js +183 -0
  78. package/dist/server/services/release-bundle.js.map +1 -0
  79. package/dist/server/services/release-push.d.ts +38 -0
  80. package/dist/server/services/release-push.js +179 -0
  81. package/dist/server/services/release-push.js.map +1 -0
  82. package/dist/server/services/release.d.ts +39 -1
  83. package/dist/server/services/release.js +53 -1
  84. package/dist/server/services/release.js.map +1 -1
  85. package/dist/server/services/remote-auth.d.ts +56 -0
  86. package/dist/server/services/remote-auth.js +161 -0
  87. package/dist/server/services/remote-auth.js.map +1 -0
  88. package/dist/server/services/remote-http-client.d.ts +136 -0
  89. package/dist/server/services/remote-http-client.js +172 -0
  90. package/dist/server/services/remote-http-client.js.map +1 -0
  91. package/dist/shared/release-push.d.ts +49 -0
  92. package/dist/shared/release-push.js +9 -0
  93. package/dist/shared/release-push.js.map +1 -0
  94. package/dist/shared/remote-account.d.ts +58 -0
  95. package/dist/shared/remote-account.js +8 -0
  96. package/dist/shared/remote-account.js.map +1 -0
  97. package/dist/shared/types.d.ts +1 -0
  98. package/package.json +2 -1
  99. package/dist/client/assets/channel-mXCQ_joU.js +0 -1
  100. package/dist/client/assets/classDiagram-4FO5ZUOK-CvLk0Sg1.js +0 -1
  101. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CvLk0Sg1.js +0 -1
  102. package/dist/client/assets/index-CUhhC6SY.js +0 -742
  103. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CLYCEwSk.js +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.8] - 2026-05-26
9
+
10
+ ### Added
11
+ - Push to remote — bundle a release into a tarball and push it to the remote claude4spec API. Adds the `/api/release-pushes` route, `ReleasePushService` and `ReleaseBundleService` (tarball packaging via `tar`), and migration `031_release_push`, with `RemoteHttpClient` / `RemoteAuthService` support for the authenticated upload. Client side: a "Push to remote" release action, the `ReleasePushesList` panel, the `useReleasePushes` hook, and `releasePushesApi`. Includes a `verify-bundle` script for validating produced tarballs.
12
+
13
+ ## [1.0.7] - 2026-05-25
14
+
15
+ ### Added
16
+ - M24 Remote Account — device-flow login to the remote claude4spec API with a local session store (migration `030_remote_session`). Adds the `/api/remote-account` route (`GET /`, `POST /login/start`, `POST /login/poll`, `POST /logout`), `RemoteAuthService`, a single-per-process `RemoteHttpClient` with a startup reachability check, and a `remoteApiUrl` config override (defaults to the production remote). Client side: `remoteAccountApi`, the `useRemoteAccount` hook, and a `UserSection` in the sidebar.
17
+ - `SegmentedControl` component for view switching, plus a `ContextLinkBar` in the chat overlay.
18
+ - Shared entity-list primitives under `entities/_shared/` (`EntityListRow`, `ListPageHeader`, `ListPageLayout`, `ListScrollArea`, `TagFilterBar`, `EntityViewSwitcher`, `EntityDetailToolbar`, `useEntityListQuery`) that deduplicate the per-entity list and detail pages.
19
+
20
+ ### Changed
21
+ - Reworked every entity list page (ac, dto, endpoint, database-table, ui-view) onto the shared `_shared/` primitives, replacing `ChatToggleButton` with `SegmentedControl` and centralizing tag filtering, list scrolling, and view switching.
22
+ - `EditorToolbar` now takes a `path` prop instead of `selection`, simplifying its callers (`PlanPage`, `PatchDetail`, `BriefDetail`, `ReleaseDetail`).
23
+ - Improved localization and wording in `SystemPromptView` and `OutlineFloater`.
24
+
25
+ ### Removed
26
+ - Legacy marketing `site/index.html` and the unused `ChatToggleButton` component.
27
+
8
28
  ## [1.0.6] - 2026-05-21
9
29
 
10
30
  ### Added
@@ -74,6 +94,8 @@ Initial public release.
74
94
  - Acceptance Criteria entity and tooling.
75
95
  - Briefs and patches workflow for spec-driven implementation.
76
96
 
97
+ [1.0.8]: https://github.com/InHarness/claude4spec/compare/v1.0.7...v1.0.8
98
+ [1.0.7]: https://github.com/InHarness/claude4spec/compare/v1.0.6...v1.0.7
77
99
  [1.0.6]: https://github.com/InHarness/claude4spec/compare/v1.0.5...v1.0.6
78
100
  [1.0.5]: https://github.com/InHarness/claude4spec/compare/v1.0.4...v1.0.5
79
101
  [1.0.4]: https://github.com/InHarness/claude4spec/compare/v1.0.3...v1.0.4
@@ -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-Dwygsmt4.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-DUTTNZnN.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};