@computesdk/loops 0.1.14 → 0.1.16

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 (67) hide show
  1. package/API.md +1 -1
  2. package/README.md +13 -3
  3. package/dist/assets/{abnfDiagram-VCTEODGH-qdPdc5cJ.js → abnfDiagram-VCTEODGH-CphjrZ91.js} +1 -1
  4. package/dist/assets/{arc-B5s27enr.js → arc-BzIwyCJX.js} +1 -1
  5. package/dist/assets/{architectureDiagram-5GKGNRK7-p1NVRrt0.js → architectureDiagram-5GKGNRK7-D7OVuLhk.js} +1 -1
  6. package/dist/assets/{blockDiagram-I7D4REHJ-BZqHVOpZ.js → blockDiagram-I7D4REHJ-CLbKN_jM.js} +1 -1
  7. package/dist/assets/{c4Diagram-7LVT6UL2-mLDUouj9.js → c4Diagram-7LVT6UL2-CPPOW6JF.js} +1 -1
  8. package/dist/assets/channel-BZ2munWB.js +1 -0
  9. package/dist/assets/{chunk-2Q5K7J3B-DTS6gxv4.js → chunk-2Q5K7J3B-VVCqOk0J.js} +1 -1
  10. package/dist/assets/{chunk-5VM5RSS4-MMDSgds0.js → chunk-5VM5RSS4-BiFpWfsW.js} +1 -1
  11. package/dist/assets/{chunk-F27PBJKO-DqVc9l1w.js → chunk-F27PBJKO-DI5e7nE3.js} +1 -1
  12. package/dist/assets/{chunk-IMKFNOWR-Cbfv3aoe.js → chunk-IMKFNOWR-Bqz_nn1B.js} +1 -1
  13. package/dist/assets/{chunk-JWPE2WC7-DtWPMgun.js → chunk-JWPE2WC7-BpgjeST0.js} +1 -1
  14. package/dist/assets/{chunk-POPQ4Y6H-irFcqhW1.js → chunk-POPQ4Y6H-CYmh6gqF.js} +1 -1
  15. package/dist/assets/{chunk-SVP7TREG-CWwPMoLf.js → chunk-SVP7TREG-B7EyuU7i.js} +1 -1
  16. package/dist/assets/{chunk-TICWLB2K-DqXSfE-s.js → chunk-TICWLB2K-DyJGdPA1.js} +1 -1
  17. package/dist/assets/{chunk-XXDRQBXY-Dm7Kp9k-.js → chunk-XXDRQBXY-CH9UdxhU.js} +1 -1
  18. package/dist/assets/classDiagram-ZZMXUADV-D2T063ZF.js +1 -0
  19. package/dist/assets/classDiagram-v2-VYDZK3BY-D2T063ZF.js +1 -0
  20. package/dist/assets/{cose-bilkent-JH36ORCC-CuFYPMp8.js → cose-bilkent-JH36ORCC-B6zSSHu8.js} +1 -1
  21. package/dist/assets/{cynefin-OW5HDTMX-CioEu6eR.js → cynefin-OW5HDTMX-Bckjyb2G.js} +1 -1
  22. package/dist/assets/{cynefinDiagram-5FMLGOSQ-Cuesqxrs.js → cynefinDiagram-5FMLGOSQ-C7uT-ctR.js} +1 -1
  23. package/dist/assets/{dagre-GXQ25YYZ-B5iXLlFl.js → dagre-GXQ25YYZ-BVPB8dh2.js} +1 -1
  24. package/dist/assets/{diagram-S7CK7UJ4-DcyUnvBU.js → diagram-S7CK7UJ4-BbE5qqP5.js} +1 -1
  25. package/dist/assets/{diagram-UQ7AKVKN-BtMcIPZa.js → diagram-UQ7AKVKN-FYCSPhT1.js} +1 -1
  26. package/dist/assets/{diagram-VSXAHHWV-wDxuhJ7h.js → diagram-VSXAHHWV-CAwgXpg2.js} +1 -1
  27. package/dist/assets/{diagram-VX7I27RA-w4ic2Szq.js → diagram-VX7I27RA-B_yjQRRp.js} +1 -1
  28. package/dist/assets/{diagram-Z3DM3KII-DsC9H7Xp.js → diagram-Z3DM3KII-DAb7Xasg.js} +1 -1
  29. package/dist/assets/{ebnfDiagram-PWID7BFC-DSEj9Oii.js → ebnfDiagram-PWID7BFC-Del2ZzP3.js} +1 -1
  30. package/dist/assets/{erDiagram-RLTQ6QDP-C5Mm3sKV.js → erDiagram-RLTQ6QDP-e3FQY9Rr.js} +1 -1
  31. package/dist/assets/{flowDiagram-HODETNUW-B6g_b-Eh.js → flowDiagram-HODETNUW-B9GitqYh.js} +1 -1
  32. package/dist/assets/{ganttDiagram-EL5Y4UJY-DbuvbyqO.js → ganttDiagram-EL5Y4UJY-DwrnCu8t.js} +1 -1
  33. package/dist/assets/{gitGraphDiagram-WWUBYQGX-D1blFMM4.js → gitGraphDiagram-WWUBYQGX-C8koRqxv.js} +1 -1
  34. package/dist/assets/{highlighted-body-JLMTFACH-BMLeaV-C.js → highlighted-body-JLMTFACH-BmVap5zb.js} +1 -1
  35. package/dist/assets/index-BJFUtrve.css +1 -0
  36. package/dist/assets/{index-MkCYb0h5.js → index-CIi27S0p.js} +177 -177
  37. package/dist/assets/{infoDiagram-27XIBGKW-jvcFDFAg.js → infoDiagram-27XIBGKW-BWCh1S5G.js} +1 -1
  38. package/dist/assets/{ishikawaDiagram-5VMMS53U-DSNUbD_2.js → ishikawaDiagram-5VMMS53U-BuU7xP78.js} +1 -1
  39. package/dist/assets/{journeyDiagram-3NMN7TZE-DV3Zzw_m.js → journeyDiagram-3NMN7TZE-L9IMZVhC.js} +1 -1
  40. package/dist/assets/{kanban-definition-UXKFOSKX-BneSvgwW.js → kanban-definition-UXKFOSKX-B4Vf9yAl.js} +1 -1
  41. package/dist/assets/{layout-BrHYeI6l.js → layout-CxBtYmRd.js} +1 -1
  42. package/dist/assets/{linear-2IWRGtG6.js → linear-Cs8_gAxW.js} +1 -1
  43. package/dist/assets/{mindmap-definition-YA3MSWOX-DC2sSkZy.js → mindmap-definition-YA3MSWOX-COA02VQG.js} +1 -1
  44. package/dist/assets/{pegDiagram-XKGWAZYB-B-92vl2f.js → pegDiagram-XKGWAZYB-Dx1GejmQ.js} +1 -1
  45. package/dist/assets/{pieDiagram-E7YTZNPT-DC5laTpV.js → pieDiagram-E7YTZNPT-Bl2haRSH.js} +1 -1
  46. package/dist/assets/{quadrantDiagram-AXDQQJYC-BlOhRjzp.js → quadrantDiagram-AXDQQJYC-DhaIYSM8.js} +1 -1
  47. package/dist/assets/{railroadDiagram-O6MQD6OU-CYoEL1OC.js → railroadDiagram-O6MQD6OU-GmTKop1N.js} +1 -1
  48. package/dist/assets/{requirementDiagram-BXWQKSXE-ChXeJnr7.js → requirementDiagram-BXWQKSXE-CGf_8iny.js} +1 -1
  49. package/dist/assets/{sankeyDiagram-P5KCCOFB-BrGNKe_z.js → sankeyDiagram-P5KCCOFB-CcjRfS7v.js} +1 -1
  50. package/dist/assets/{sequenceDiagram-WJ2MYXX4-DNBebA9n.js → sequenceDiagram-WJ2MYXX4-CbhdwHX8.js} +1 -1
  51. package/dist/assets/{sizeCapture-INFHLROL-CRCJmnlW.js → sizeCapture-INFHLROL-B3t4qjgE.js} +1 -1
  52. package/dist/assets/{stateDiagram-D77RDMKH-Do1usTgC.js → stateDiagram-D77RDMKH-dM87lznP.js} +1 -1
  53. package/dist/assets/stateDiagram-v2-MP3YSRHH-6W0qW5cq.js +1 -0
  54. package/dist/assets/{swimlanes-42K2YHIH-q_5ZYmG4.js → swimlanes-42K2YHIH-D0kSxg5-.js} +1 -1
  55. package/dist/assets/swimlanesDiagram-VR7AAH4N-DkTwk5rQ.js +8 -0
  56. package/dist/assets/{timeline-definition-24CTP7MA-BhSAG5n0.js → timeline-definition-24CTP7MA-rKssvoZk.js} +1 -1
  57. package/dist/assets/{vennDiagram-4TSXK5OY-ObiSo0PY.js → vennDiagram-4TSXK5OY-Brg4DKGj.js} +1 -1
  58. package/dist/assets/{wardleyDiagram-VM6X3IG4-Dvtkfbej.js → wardleyDiagram-VM6X3IG4-DHcxw4ey.js} +1 -1
  59. package/dist/assets/{xychartDiagram-S5SC5T6Z-G2W2bVrv.js → xychartDiagram-S5SC5T6Z-CW42Yw1K.js} +1 -1
  60. package/dist/index.html +2 -2
  61. package/package.json +1 -1
  62. package/dist/assets/channel-BGUNLmZt.js +0 -1
  63. package/dist/assets/classDiagram-ZZMXUADV-CCqHF3n0.js +0 -1
  64. package/dist/assets/classDiagram-v2-VYDZK3BY-CCqHF3n0.js +0 -1
  65. package/dist/assets/index-DEUIefd3.css +0 -1
  66. package/dist/assets/stateDiagram-v2-MP3YSRHH-BIB0ws_U.js +0 -1
  67. package/dist/assets/swimlanesDiagram-VR7AAH4N-kNJoaINN.js +0 -8
package/API.md CHANGED
@@ -143,7 +143,7 @@ Apply and stop always address the exact requested run, never an implicit latest
143
143
 
144
144
  Stop loop sends `/loop stop <run>` to the existing chat writer. In the pinned Pi runtime extension commands execute
145
145
  before the busy-parent streaming queue, so this cancels a background run even during a long parent tool call.
146
- Stop agent uses RPC `abort`; it neither terminates Pi nor stops unrelated chats/workspaces.
146
+ The UI's Stop response action uses RPC `abort`; it neither terminates Pi nor stops unrelated chats/workspaces.
147
147
  Both return acknowledgements, **not evidence of completion**. Keep a stopping state until the chat's streamed
148
148
  `live` settles or the run's durable terminal state arrives. Errors are retryable; an interrupted/missing signal is
149
149
  not proof of stopping. Budget/timeout failures, no usable candidates and incomplete judging are not successful Done results.
package/README.md CHANGED
@@ -23,7 +23,15 @@ polling or another database: the session is the durable record, and `.pi/loops/`
23
23
 
24
24
  ## Commands, providers, and chat models
25
25
 
26
+ Workspaces are persistent horizontal tabs above the entire app, including the loop inspector.
27
+ The chat sidebar belongs to the selected workspace; tabs scroll independently when many projects are open.
28
+ The compact conversation header opens full repository details. Model selection sits beside the composer;
29
+ provider setup is available through Commands and Loop settings rather than a permanent header button.
30
+ The workspace strip, chat sidebar, and conversation use distinct neutral surfaces in light and dark themes.
31
+
26
32
  Open **Commands** or press **Cmd/Ctrl K**. Typing `/` in the composer opens the same keyboard-navigable menu.
33
+ Commands uses one palette frame and one close control. Other forms and Loop settings use native modal
34
+ dialogs/sheets; Cmd/Ctrl K does not stack Commands over them or cancel an active provider connection.
27
35
  Use **↑/↓** to browse and **Enter** to choose. Model/provider forms focus their controls when ready;
28
36
  the model filter's arrows enter the model list, and Enter confirms the selected model. Pi choice forms
29
37
  also support ↑/↓ (plus Home/End), then Enter/Space to answer. Browsing alone never submits a choice.
@@ -353,9 +361,11 @@ The buttons talk to the engine, not to a model: `/loop take`, `/loop apply`, `/l
353
361
  `/loop answer`. Anything that needs judgement ("two more rounds", "steer it this way") is sent to the agent as a message,
354
362
  because that is a decision the agent owns.
355
363
 
356
- **Stop agent** aborts the current chat's parent turn. **Stop loop** cancels only the named background run, even while
357
- the parent is busy; its worktrees stay. Both are visible in the conversation and selected-loop canvas (including
358
- mobile), guard duplicate requests and show errors. Acknowledging a button does not mark work stopped: streamed
364
+ **Stop response** aborts the current chat's parent turn. **Stop loop** cancels only the named background run, even while
365
+ the parent is busy; its worktrees stay. Controls appear only while their target is active, beside the composer,
366
+ loop activity, or inspector (including mobile). Each target keeps one persistent controller as its button moves
367
+ between views, preserving pending state and errors through resizing and inspector navigation.
368
+ They guard duplicate requests and show errors. Acknowledging a button does not mark work stopped: streamed
359
369
  session state must confirm it. Missing signals, incomplete judging and budget/timeout failures are not labeled Done.
360
370
  All run actions keep the exact selected run ID; attempt selection sends its durable name, not its A/B display letter.
361
371
 
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-SVP7TREG-CWwPMoLf.js";import{p as f}from"./chunk-JWPE2WC7-DtWPMgun.js";import{_ as n,l as o}from"./index-MkCYb0h5.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-CioEu6eR.js";var v=d().RailroadAbnf.parser.LangiumParser,l=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),i=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:i,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return l(e.element);case"AbnfOptionalGroup":return{type:"optional",element:l(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:l(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},w={parser:R,db:a,renderer:u,styles:p};export{w as diagram};
1
+ import{g as p,r as u,d as a}from"./chunk-SVP7TREG-B7EyuU7i.js";import{p as f}from"./chunk-JWPE2WC7-BpgjeST0.js";import{_ as n,l as o}from"./index-CIi27S0p.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-Bckjyb2G.js";var v=d().RailroadAbnf.parser.LangiumParser,l=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),i=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:i,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return l(e.element);case"AbnfOptionalGroup":return{type:"optional",element:l(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:l(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},w={parser:R,db:a,renderer:u,styles:p};export{w as diagram};
@@ -1 +1 @@
1
- import{K as ln,L as an,M as y,N as tn,O as X,P as O,Q as _,S as un,T as rn,V as $,X as o,Y as M,Z as sn,$ as on,a0 as fn}from"./index-MkCYb0h5.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,A,N,a){var E=D-l,i=S-h,n=N-v,d=a-A,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*E,h+u*i]}function G(l,h,D,S,v,A,N){var a=l-D,E=h-S,i=(N?A:-A)/$(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,Q=(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,I=(g<0?-1:1)*$(fn(0,T*T*R-P*P)),K=(P*g-m*I)/R,L=(-P*m-g*I)/R,w=(P*g+m*I)/R,p=(-P*m+g*I)/R,x=K-Q,e=L-t,r=w-Q,V=p-t;return x*x+e*e>r*r+V*V&&(K=w,L=p),{cx:K,cy:L,x01:-n,y01:-d,x11:K*(v/T-1),y11:L*(v/T-1)}}function hn(){var l=cn,h=yn,D=M(0),S=null,v=gn,A=dn,N=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)-an,c=A.apply(this,arguments)-an,Q=un(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(Q>tn-y)a.moveTo(s*X(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*X(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=Q,I=Q,K=N.apply(this,arguments)/2,L=K>y&&(S?+S.apply(this,arguments):$(u*u+s*s)),w=_(un(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(L>y){var V=sn(L/u*O(K)),j=sn(L/s*O(K));(P-=V*2)>y?(V*=t?1:-1,R+=V,T-=V):(P=0,R=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var Y=s*X(m),Z=s*O(m),z=u*X(T),B=u*O(T);if(w>y){var C=s*X(g),F=s*O(g),H=u*X(R),J=u*O(R),q;if(Q<rn)if(q=pn(Y,Z,H,J,C,F,z,B)){var U=Y-q[0],W=Z-q[1],k=C-q[0],b=F-q[1],nn=1/O(on((U*k+W*b)/($(U*U+W*W)*$(k*k+b*b)))/2),en=$(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=G(H,J,Y,Z,s,x,t),r=G(C,F,z,B,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(Y,Z),a.arc(0,0,s,m,g,!t)):a.moveTo(Y,Z),!(u>y)||!(P>y)?a.lineTo(z,B):p>y?(e=G(z,B,C,F,u,-p,t),r=G(Y,Z,H,J,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-rn/2;return[X(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:M(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:M(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:M(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:M(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:M(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:M(+n),i):A},i.padAngle=function(n){return arguments.length?(N=typeof n=="function"?n:M(+n),i):N},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{K as ln,L as an,M as y,N as tn,O as X,P as O,Q as _,S as un,T as rn,V as $,X as o,Y as M,Z as sn,$ as on,a0 as fn}from"./index-CIi27S0p.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,A,N,a){var E=D-l,i=S-h,n=N-v,d=a-A,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*E,h+u*i]}function G(l,h,D,S,v,A,N){var a=l-D,E=h-S,i=(N?A:-A)/$(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,Q=(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,I=(g<0?-1:1)*$(fn(0,T*T*R-P*P)),K=(P*g-m*I)/R,L=(-P*m-g*I)/R,w=(P*g+m*I)/R,p=(-P*m+g*I)/R,x=K-Q,e=L-t,r=w-Q,V=p-t;return x*x+e*e>r*r+V*V&&(K=w,L=p),{cx:K,cy:L,x01:-n,y01:-d,x11:K*(v/T-1),y11:L*(v/T-1)}}function hn(){var l=cn,h=yn,D=M(0),S=null,v=gn,A=dn,N=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)-an,c=A.apply(this,arguments)-an,Q=un(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(Q>tn-y)a.moveTo(s*X(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*X(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=Q,I=Q,K=N.apply(this,arguments)/2,L=K>y&&(S?+S.apply(this,arguments):$(u*u+s*s)),w=_(un(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(L>y){var V=sn(L/u*O(K)),j=sn(L/s*O(K));(P-=V*2)>y?(V*=t?1:-1,R+=V,T-=V):(P=0,R=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var Y=s*X(m),Z=s*O(m),z=u*X(T),B=u*O(T);if(w>y){var C=s*X(g),F=s*O(g),H=u*X(R),J=u*O(R),q;if(Q<rn)if(q=pn(Y,Z,H,J,C,F,z,B)){var U=Y-q[0],W=Z-q[1],k=C-q[0],b=F-q[1],nn=1/O(on((U*k+W*b)/($(U*U+W*W)*$(k*k+b*b)))/2),en=$(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=G(H,J,Y,Z,s,x,t),r=G(C,F,z,B,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(Y,Z),a.arc(0,0,s,m,g,!t)):a.moveTo(Y,Z),!(u>y)||!(P>y)?a.lineTo(z,B):p>y?(e=G(z,B,C,F,u,-p,t),r=G(Y,Z,H,J,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-rn/2;return[X(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:M(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:M(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:M(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:M(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:M(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:M(+n),i):A},i.padAngle=function(n){return arguments.length?(N=typeof n=="function"?n:M(+n),i):N},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};