@cuongtran001/kanna 1.1.0 → 1.1.1

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 (177) hide show
  1. package/dist/client/assets/{arc-B77Q2DU0.js → arc-DisfYSGa.js} +1 -1
  2. package/dist/client/assets/{architectureDiagram-3BPJPVTR-D3nVszkc.js → architectureDiagram-3BPJPVTR-DZACNmHl.js} +1 -1
  3. package/dist/client/assets/{blockDiagram-GPEHLZMM-D3Ch-UW3.js → blockDiagram-GPEHLZMM-BBluejPO.js} +1 -1
  4. package/dist/client/assets/{c4Diagram-AAUBKEIU-Br9MleNB.js → c4Diagram-AAUBKEIU-BkVSiG5f.js} +1 -1
  5. package/dist/client/assets/channel-BQo-5hjp.js +1 -0
  6. package/dist/client/assets/{chunk-2J33WTMH-D2EgbawE.js → chunk-2J33WTMH-DjeNcevz.js} +1 -1
  7. package/dist/client/assets/{chunk-4BX2VUAB-DGipJHxK.js → chunk-4BX2VUAB-BREyPB7P.js} +1 -1
  8. package/dist/client/assets/{chunk-55IACEB6-DhGRYPus.js → chunk-55IACEB6-CetCEGSY.js} +1 -1
  9. package/dist/client/assets/{chunk-727SXJPM-CU5XlCWC.js → chunk-727SXJPM-DsVZGAu6.js} +1 -1
  10. package/dist/client/assets/{chunk-AQP2D5EJ-DN6694qT.js → chunk-AQP2D5EJ-DU7uCEcj.js} +1 -1
  11. package/dist/client/assets/{chunk-FMBD7UC4-BCRvbE5B.js → chunk-FMBD7UC4-BU94cFP_.js} +1 -1
  12. package/dist/client/assets/{chunk-ND2GUHAM-DQ0ez-QM.js → chunk-ND2GUHAM-Cmdh6zqx.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-BozbDSGI.js → chunk-QZHKN3VN-Cr-ZmfWd.js} +1 -1
  14. package/dist/client/assets/classDiagram-4FO5ZUOK-Tiw3ZIvZ.js +1 -0
  15. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Tiw3ZIvZ.js +1 -0
  16. package/dist/client/assets/{cose-bilkent-S5V4N54A-pdYaUohH.js → cose-bilkent-S5V4N54A-C4fBtDYa.js} +1 -1
  17. package/dist/client/assets/{dagre-BM42HDAG-BluQ-64m.js → dagre-BM42HDAG-9zrINSYM.js} +1 -1
  18. package/dist/client/assets/{diagram-2AECGRRQ-xpFax4nO.js → diagram-2AECGRRQ-DsJHbelC.js} +1 -1
  19. package/dist/client/assets/{diagram-5GNKFQAL-DVVivk7T.js → diagram-5GNKFQAL-DcjwED5p.js} +1 -1
  20. package/dist/client/assets/{diagram-KO2AKTUF-DR_0AYtZ.js → diagram-KO2AKTUF-BGMJ3FjQ.js} +1 -1
  21. package/dist/client/assets/{diagram-LMA3HP47-B4K-woep.js → diagram-LMA3HP47-DiZwddPQ.js} +1 -1
  22. package/dist/client/assets/{diagram-OG6HWLK6-CwpyvDaj.js → diagram-OG6HWLK6-vLIXTDwb.js} +1 -1
  23. package/dist/client/assets/{erDiagram-TEJ5UH35-CJ0KYPjp.js → erDiagram-TEJ5UH35-B7mkIT6K.js} +1 -1
  24. package/dist/client/assets/{flowDiagram-I6XJVG4X-BnVnwDUL.js → flowDiagram-I6XJVG4X-GkgMx37B.js} +1 -1
  25. package/dist/client/assets/{ganttDiagram-6RSMTGT7-C_QPewBU.js → ganttDiagram-6RSMTGT7-B41cf7Wu.js} +1 -1
  26. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-BljC_76O.js → gitGraphDiagram-PVQCEYII-DDZjgwJv.js} +1 -1
  27. package/dist/client/assets/{index-DSo6-YYO.js → index-BqoCefk5.js} +1 -1
  28. package/dist/client/assets/index-CQa3n94E.js +2760 -0
  29. package/dist/client/assets/index-DYbGf4DM.css +32 -0
  30. package/dist/client/assets/{infoDiagram-5YYISTIA-e0ImbAA0.js → infoDiagram-5YYISTIA-BB9bpD1i.js} +1 -1
  31. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-Bp8uWwvS.js → ishikawaDiagram-YF4QCWOH-1SSgl4Hf.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-JHISSGLW-C4oa58d1.js → journeyDiagram-JHISSGLW-CoKNaxxm.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-UN3LZRKU-q80nTZ15.js → kanban-definition-UN3LZRKU-C1lDYAoN.js} +1 -1
  34. package/dist/client/assets/{linear-BttpcwqN.js → linear-DATzGj1i.js} +1 -1
  35. package/dist/client/assets/{mermaid.core-KhofwoVZ.js → mermaid.core-_iJInmla.js} +4 -4
  36. package/dist/client/assets/{mindmap-definition-RKZ34NQL-xTChkdDi.js → mindmap-definition-RKZ34NQL-khvkp6yU.js} +1 -1
  37. package/dist/client/assets/{pieDiagram-4H26LBE5-BNn_fYsZ.js → pieDiagram-4H26LBE5-B85FGoIV.js} +1 -1
  38. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Behs7lIf.js → quadrantDiagram-W4KKPZXB-CNzqSlLh.js} +1 -1
  39. package/dist/client/assets/{requirementDiagram-4Y6WPE33-oIYIES43.js → requirementDiagram-4Y6WPE33-B_27N5NT.js} +1 -1
  40. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-D69pLTZV.js → sankeyDiagram-5OEKKPKP-guFUsiXu.js} +1 -1
  41. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-HRc8xBac.js → sequenceDiagram-3UESZ5HK-BC2KDM58.js} +1 -1
  42. package/dist/client/assets/{stateDiagram-AJRCARHV-Da1g3_BD.js → stateDiagram-AJRCARHV-D9ZVFhsQ.js} +1 -1
  43. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C4DyZV5f.js +1 -0
  44. package/dist/client/assets/{timeline-definition-PNZ67QCA-2_NZKQ9z.js → timeline-definition-PNZ67QCA-BK4Vud4t.js} +1 -1
  45. package/dist/client/assets/{vennDiagram-CIIHVFJN-CLkZfCJ4.js → vennDiagram-CIIHVFJN-BYwiGUi-.js} +1 -1
  46. package/dist/client/assets/{wardley-L42UT6IY-DkggT4lE.js → wardley-L42UT6IY-UA9c37hZ.js} +1 -1
  47. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CeRhj6Lf.js → wardleyDiagram-YWT4CUSO-CVzaH3Wv.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-2RQKCTM6--sqBOjOE.js → xychartDiagram-2RQKCTM6-CBCge0hu.js} +1 -1
  49. package/dist/client/index.html +2 -2
  50. package/package.json +1 -1
  51. package/src/server/agent.notification-loop-scenario.test.ts +14 -7
  52. package/src/server/agent.openrouter-watchdog.test.ts +3 -0
  53. package/src/server/agent.test.ts +317 -10
  54. package/src/server/agent.ts +438 -135
  55. package/src/server/analytics.test.ts +3 -3
  56. package/src/server/analytics.ts +3 -2
  57. package/src/server/app-settings.test.ts +34 -0
  58. package/src/server/app-settings.ts +343 -182
  59. package/src/server/auth-session-store.adapter.ts +14 -11
  60. package/src/server/auth.ts +4 -1
  61. package/src/server/auto-continue/auth-error-detector.ts +6 -3
  62. package/src/server/auto-continue/events.ts +19 -2
  63. package/src/server/auto-continue/limit-detector.ts +47 -52
  64. package/src/server/auto-continue/read-model.test.ts +56 -17
  65. package/src/server/auto-continue/read-model.ts +30 -1
  66. package/src/server/auto-continue/schedule-manager.test.ts +4 -0
  67. package/src/server/auto-continue/schedule-manager.ts +17 -7
  68. package/src/server/canonical-args.ts +9 -6
  69. package/src/server/claude-pty/claude-session-registry.adapter.ts +1 -1
  70. package/src/server/claude-pty/driver.test.ts +19 -3
  71. package/src/server/claude-pty/driver.ts +85 -62
  72. package/src/server/claude-pty/jsonl-path.adapter.ts +2 -1
  73. package/src/server/claude-pty/jsonl-path.test.ts +1 -1
  74. package/src/server/claude-pty/jsonl-to-event.ts +53 -40
  75. package/src/server/claude-pty/parity-matrix.test.ts +5 -6
  76. package/src/server/claude-pty/pid-registry.adapter.ts +16 -14
  77. package/src/server/claude-pty/pty-memory-sampler.adapter.ts +2 -1
  78. package/src/server/claude-pty/sandbox/platform.ts +2 -1
  79. package/src/server/claude-pty/sandbox/wrap.adapter.ts +2 -1
  80. package/src/server/claude-pty/smoke-test.ts +7 -4
  81. package/src/server/claude-pty/tui-source.adapter.ts +2 -3
  82. package/src/server/claude-session-importer.adapter.ts +12 -8
  83. package/src/server/claude-session-mapper.ts +12 -4
  84. package/src/server/claude-session-parser.adapter.ts +9 -4
  85. package/src/server/claude-session-types.ts +1 -1
  86. package/src/server/cli-bootstrap.adapter.ts +1 -1
  87. package/src/server/cli-runtime.ts +4 -3
  88. package/src/server/cli-supervisor.adapter.ts +3 -2
  89. package/src/server/cli.ts +5 -4
  90. package/src/server/cloudflare-tunnel/read-model.ts +1 -1
  91. package/src/server/codex-app-server-protocol.ts +34 -33
  92. package/src/server/codex-app-server.ts +81 -64
  93. package/src/server/codex-spawn.adapter.ts +7 -3
  94. package/src/server/diff-store.ts +23 -19
  95. package/src/server/discovery.adapter.ts +4 -5
  96. package/src/server/event-store.test.ts +8 -8
  97. package/src/server/event-store.ts +49 -59
  98. package/src/server/events.ts +2 -2
  99. package/src/server/external-open.ts +9 -1
  100. package/src/server/generate-commit-message.ts +5 -3
  101. package/src/server/generate-title.ts +4 -2
  102. package/src/server/history-primer.ts +3 -4
  103. package/src/server/http-server.adapter.ts +3 -1
  104. package/src/server/kanna-mcp-http.ts +6 -6
  105. package/src/server/kanna-mcp-tools/ask-user-question.ts +1 -1
  106. package/src/server/kanna-mcp-tools/bash.adapter.ts +1 -1
  107. package/src/server/kanna-mcp-tools/edit.adapter.ts +1 -1
  108. package/src/server/kanna-mcp-tools/exit-plan-mode.ts +3 -4
  109. package/src/server/kanna-mcp-tools/glob.adapter.ts +1 -1
  110. package/src/server/kanna-mcp-tools/grep.adapter.ts +1 -1
  111. package/src/server/kanna-mcp-tools/read.adapter.ts +1 -1
  112. package/src/server/kanna-mcp-tools/tool-callback-shim.ts +7 -4
  113. package/src/server/kanna-mcp-tools/webfetch.ts +1 -1
  114. package/src/server/kanna-mcp-tools/websearch.ts +1 -1
  115. package/src/server/kanna-mcp-tools/write.adapter.ts +1 -1
  116. package/src/server/kanna-mcp.test.ts +1 -1
  117. package/src/server/kanna-mcp.ts +75 -27
  118. package/src/server/keybindings-store.adapter.ts +2 -1
  119. package/src/server/keybindings.ts +17 -20
  120. package/src/server/llm-provider-store.adapter.ts +2 -1
  121. package/src/server/llm-provider.ts +14 -14
  122. package/src/server/local-catalog-io.adapter.ts +8 -6
  123. package/src/server/loop-template.test.ts +79 -5
  124. package/src/server/loop-template.ts +57 -9
  125. package/src/server/mcp-oauth.adapter.ts +7 -10
  126. package/src/server/mcp-oauth.test.ts +15 -15
  127. package/src/server/mcp-validator.ts +3 -2
  128. package/src/server/oauth-pool/oauth-token-pool.test.ts +1 -1
  129. package/src/server/openrouter-models.ts +13 -16
  130. package/src/server/orchestration-queue.test.ts +3 -3
  131. package/src/server/orchestration-queue.ts +4 -3
  132. package/src/server/permission-gate.ts +8 -5
  133. package/src/server/process-utils.adapter.ts +4 -2
  134. package/src/server/project-paths.ts +1 -1
  135. package/src/server/provider-catalog.ts +21 -14
  136. package/src/server/push/push-manager.ts +12 -9
  137. package/src/server/push/vapid.adapter.ts +3 -2
  138. package/src/server/quick-response.ts +27 -27
  139. package/src/server/read-models.test.ts +2 -2
  140. package/src/server/restart.ts +1 -1
  141. package/src/server/server-io.adapter.ts +3 -2
  142. package/src/server/server.test.ts +2 -0
  143. package/src/server/server.ts +19 -25
  144. package/src/server/session-share/index.ts +2 -2
  145. package/src/server/session-share/snapshot-store.adapter.ts +5 -3
  146. package/src/server/subagent-entry-cap.adapter.ts +10 -4
  147. package/src/server/subagent-orchestrator.test.ts +158 -3
  148. package/src/server/subagent-orchestrator.ts +86 -20
  149. package/src/server/subagent-provider-run.test.ts +1 -1
  150. package/src/server/subagent-provider-run.ts +19 -6
  151. package/src/server/subagent-transcript-registry.ts +1 -1
  152. package/src/server/terminal-manager-io.adapter.ts +8 -7
  153. package/src/server/terminal-manager.test.ts +2 -2
  154. package/src/server/terminal-manager.ts +1 -1
  155. package/src/server/terminal-pid-registry.adapter.ts +10 -9
  156. package/src/server/tool-callback.ts +2 -1
  157. package/src/server/uploads.adapter.ts +2 -1
  158. package/src/server/workflow-registry.ts +1 -1
  159. package/src/server/workflow-watch-io.adapter.test.ts +6 -6
  160. package/src/server/workflow-watch-io.adapter.ts +12 -9
  161. package/src/server/ws-router.test.ts +1 -0
  162. package/src/server/ws-router.ts +55 -40
  163. package/src/shared/branding.ts +2 -6
  164. package/src/shared/errors.ts +33 -0
  165. package/src/shared/log.ts +20 -0
  166. package/src/shared/permission-policy.ts +3 -1
  167. package/src/shared/protocol.ts +8 -7
  168. package/src/shared/session-share/types.ts +10 -10
  169. package/src/shared/tools.ts +86 -61
  170. package/src/shared/types.ts +91 -12
  171. package/src/shared/workflow-types.ts +33 -10
  172. package/dist/client/assets/channel-C4ovTajJ.js +0 -1
  173. package/dist/client/assets/classDiagram-4FO5ZUOK-CtLEt5Ys.js +0 -1
  174. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CtLEt5Ys.js +0 -1
  175. package/dist/client/assets/index-DLokIHuL.css +0 -32
  176. package/dist/client/assets/index-rF-g92uO.js +0 -2758
  177. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DqZLGtKc.js +0 -1
@@ -1 +1 @@
1
- import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as on,$ as sn,a0 as fn}from"./mermaid.core-KhofwoVZ.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,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,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(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,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,A,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)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as on,$ as sn,a0 as fn}from"./mermaid.core-_iJInmla.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,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,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(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,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,A,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)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};