@computesdk/loops 0.1.13 → 0.1.15

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 (69) hide show
  1. package/API.md +1 -1
  2. package/README.md +16 -3
  3. package/dist/assets/{abnfDiagram-VCTEODGH-D2bigoxc.js → abnfDiagram-VCTEODGH-CKX58p9w.js} +1 -1
  4. package/dist/assets/{arc-BZl7sgf7.js → arc-MxhJA_YL.js} +1 -1
  5. package/dist/assets/{architectureDiagram-5GKGNRK7-BEVh04as.js → architectureDiagram-5GKGNRK7-VHuN-nn-.js} +1 -1
  6. package/dist/assets/{blockDiagram-I7D4REHJ-BXHXs9X2.js → blockDiagram-I7D4REHJ-CBGHrJL2.js} +1 -1
  7. package/dist/assets/{c4Diagram-7LVT6UL2-BDJNDCcc.js → c4Diagram-7LVT6UL2-CsrTZIfJ.js} +1 -1
  8. package/dist/assets/channel-BkjMtJd7.js +1 -0
  9. package/dist/assets/{chunk-2Q5K7J3B-BdUkLQYN.js → chunk-2Q5K7J3B-sOQzv7Jy.js} +1 -1
  10. package/dist/assets/{chunk-5VM5RSS4-3N4vBacE.js → chunk-5VM5RSS4-ClHmXEqR.js} +1 -1
  11. package/dist/assets/{chunk-F27PBJKO-ByjH2OJK.js → chunk-F27PBJKO-CcPqkCyK.js} +1 -1
  12. package/dist/assets/{chunk-IMKFNOWR-D8jAt4ka.js → chunk-IMKFNOWR-DynYwnDK.js} +1 -1
  13. package/dist/assets/{chunk-JWPE2WC7-B7DWQYA4.js → chunk-JWPE2WC7-BwSaxLGO.js} +1 -1
  14. package/dist/assets/{chunk-POPQ4Y6H-D5nv_lqi.js → chunk-POPQ4Y6H-DMBN3EnU.js} +1 -1
  15. package/dist/assets/{chunk-SVP7TREG-CBg3GrIs.js → chunk-SVP7TREG-Cuxb5Tev.js} +1 -1
  16. package/dist/assets/{chunk-TICWLB2K-BL_wE86-.js → chunk-TICWLB2K-MpeiBv_v.js} +1 -1
  17. package/dist/assets/{chunk-XXDRQBXY-ipZwP-Tw.js → chunk-XXDRQBXY-D6WaIeV0.js} +1 -1
  18. package/dist/assets/classDiagram-ZZMXUADV-DF1Ew3j5.js +1 -0
  19. package/dist/assets/classDiagram-v2-VYDZK3BY-DF1Ew3j5.js +1 -0
  20. package/dist/assets/{cose-bilkent-JH36ORCC-tIdDJe7h.js → cose-bilkent-JH36ORCC-DttmIhG1.js} +1 -1
  21. package/dist/assets/{cynefin-OW5HDTMX-C5BZ6yCh.js → cynefin-OW5HDTMX-C75TDC2G.js} +1 -1
  22. package/dist/assets/{cynefinDiagram-5FMLGOSQ-KZkQ_Fs5.js → cynefinDiagram-5FMLGOSQ-BwrOjpIh.js} +1 -1
  23. package/dist/assets/{dagre-GXQ25YYZ-8g1xXz_z.js → dagre-GXQ25YYZ-F4kGzSPs.js} +1 -1
  24. package/dist/assets/{diagram-S7CK7UJ4-Civ7O2b1.js → diagram-S7CK7UJ4-DIIRHzd9.js} +1 -1
  25. package/dist/assets/{diagram-UQ7AKVKN-CsiklyIt.js → diagram-UQ7AKVKN-B03EtARO.js} +1 -1
  26. package/dist/assets/{diagram-VSXAHHWV-eXAMoOzJ.js → diagram-VSXAHHWV-DpU7At4E.js} +1 -1
  27. package/dist/assets/{diagram-VX7I27RA-Bb913WNj.js → diagram-VX7I27RA-DxVLONQ3.js} +1 -1
  28. package/dist/assets/{diagram-Z3DM3KII-CiGD7-UB.js → diagram-Z3DM3KII-p3hoSxn1.js} +1 -1
  29. package/dist/assets/{ebnfDiagram-PWID7BFC-DFPxxkTf.js → ebnfDiagram-PWID7BFC-BDs1L-dR.js} +1 -1
  30. package/dist/assets/{erDiagram-RLTQ6QDP-DkPhQteJ.js → erDiagram-RLTQ6QDP-Kf-fw_HJ.js} +1 -1
  31. package/dist/assets/{flowDiagram-HODETNUW-B8DTvq1w.js → flowDiagram-HODETNUW-DaYUs_XZ.js} +1 -1
  32. package/dist/assets/{ganttDiagram-EL5Y4UJY-DPfnHIkg.js → ganttDiagram-EL5Y4UJY-CqxXpB8v.js} +1 -1
  33. package/dist/assets/{gitGraphDiagram-WWUBYQGX-BzYuJVan.js → gitGraphDiagram-WWUBYQGX-CANtQNKh.js} +1 -1
  34. package/dist/assets/{highlighted-body-JLMTFACH-D3y_nfFu.js → highlighted-body-JLMTFACH-CzvzQwmO.js} +1 -1
  35. package/dist/assets/index-BhwuDhjJ.css +1 -0
  36. package/dist/assets/index-CDZSgSj4.js +902 -0
  37. package/dist/assets/{infoDiagram-27XIBGKW-BCF2o-MF.js → infoDiagram-27XIBGKW-BKGbIPZz.js} +1 -1
  38. package/dist/assets/{ishikawaDiagram-5VMMS53U-CNe6ETgR.js → ishikawaDiagram-5VMMS53U-Dw_AbD5p.js} +1 -1
  39. package/dist/assets/{journeyDiagram-3NMN7TZE-BVF1wnNZ.js → journeyDiagram-3NMN7TZE-COvu7GmB.js} +1 -1
  40. package/dist/assets/{kanban-definition-UXKFOSKX-CiWrBpoV.js → kanban-definition-UXKFOSKX-Do7Q9A77.js} +1 -1
  41. package/dist/assets/{layout-B2YGfZNT.js → layout-CbFkP9cl.js} +1 -1
  42. package/dist/assets/{linear-CecQQcNl.js → linear-CgKFeEtQ.js} +1 -1
  43. package/dist/assets/{mindmap-definition-YA3MSWOX-CTRfx8rM.js → mindmap-definition-YA3MSWOX-BTIFv0S-.js} +1 -1
  44. package/dist/assets/{pegDiagram-XKGWAZYB-BW5JUykP.js → pegDiagram-XKGWAZYB-tAmVJsLO.js} +1 -1
  45. package/dist/assets/{pieDiagram-E7YTZNPT-rtJftIcC.js → pieDiagram-E7YTZNPT-CkSfCfEd.js} +1 -1
  46. package/dist/assets/{quadrantDiagram-AXDQQJYC-C2DaPj2w.js → quadrantDiagram-AXDQQJYC-DRJYl14v.js} +1 -1
  47. package/dist/assets/{railroadDiagram-O6MQD6OU-CcPfXEFl.js → railroadDiagram-O6MQD6OU-DOdtjy1L.js} +1 -1
  48. package/dist/assets/{requirementDiagram-BXWQKSXE-ozaClcIW.js → requirementDiagram-BXWQKSXE-D0Yt7vlt.js} +1 -1
  49. package/dist/assets/{sankeyDiagram-P5KCCOFB-74tHF7mP.js → sankeyDiagram-P5KCCOFB-BPzucEV1.js} +1 -1
  50. package/dist/assets/{sequenceDiagram-WJ2MYXX4-CTexKnGo.js → sequenceDiagram-WJ2MYXX4-Hxburcp9.js} +1 -1
  51. package/dist/assets/{sizeCapture-INFHLROL-2kVX0pT9.js → sizeCapture-INFHLROL-a2UacVG8.js} +1 -1
  52. package/dist/assets/{stateDiagram-D77RDMKH-CgAkifQk.js → stateDiagram-D77RDMKH-DYdiHk_n.js} +1 -1
  53. package/dist/assets/stateDiagram-v2-MP3YSRHH-D5XPiy89.js +1 -0
  54. package/dist/assets/{swimlanes-42K2YHIH-B-p2fQK8.js → swimlanes-42K2YHIH-DwY_Xfua.js} +1 -1
  55. package/dist/assets/swimlanesDiagram-VR7AAH4N-CFuPLGrJ.js +8 -0
  56. package/dist/assets/{timeline-definition-24CTP7MA-DhfUmVud.js → timeline-definition-24CTP7MA-r7D3fs-B.js} +1 -1
  57. package/dist/assets/{vennDiagram-4TSXK5OY-ubMqyg9F.js → vennDiagram-4TSXK5OY-BF2HjOZi.js} +1 -1
  58. package/dist/assets/{wardleyDiagram-VM6X3IG4-DGDiyaT7.js → wardleyDiagram-VM6X3IG4-CMzofq6C.js} +1 -1
  59. package/dist/assets/{xychartDiagram-S5SC5T6Z-Cj_dbVk_.js → xychartDiagram-S5SC5T6Z-CdSpzmUN.js} +1 -1
  60. package/dist/index.html +2 -2
  61. package/dist/server.mjs +45 -1
  62. package/package.json +2 -2
  63. package/dist/assets/channel-C47Lbhx6.js +0 -1
  64. package/dist/assets/classDiagram-ZZMXUADV-BkejU3Ym.js +0 -1
  65. package/dist/assets/classDiagram-v2-VYDZK3BY-BkejU3Ym.js +0 -1
  66. package/dist/assets/index-DvyWv1zp.js +0 -902
  67. package/dist/assets/index-vH6Ei526.css +0 -1
  68. package/dist/assets/stateDiagram-v2-MP3YSRHH-CH_iWHXT.js +0 -1
  69. package/dist/assets/swimlanesDiagram-VR7AAH4N-BVcRccxJ.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,6 +23,11 @@ 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
+
26
31
  Open **Commands** or press **Cmd/Ctrl K**. Typing `/` in the composer opens the same keyboard-navigable menu.
27
32
  Use **↑/↓** to browse and **Enter** to choose. Model/provider forms focus their controls when ready;
28
33
  the model filter's arrows enter the model list, and Enter confirms the selected model. Pi choice forms
@@ -74,6 +79,12 @@ their former key-only panel now opens the shared provider dialog.
74
79
  | the brief / approve card | the extension's `ctx.ui.select`, as an `extension_ui_request` |
75
80
  | diffs, screenshots, sheets | read-only routes over the run's worktrees and archived shots under `.pi/loops/` |
76
81
 
82
+ Visual previews wait for actual screenshot files rather than treating configured output paths as images.
83
+ Unavailable or failed images show an explicit state and Retry; retrying an image does not rerun the loop.
84
+ Attempt details show archived captures without requiring a live server or applying the candidate.
85
+ Use the capture selector for the actual desktop/mobile screenshots, and Open screenshot to inspect full size.
86
+ Live pages use a sandboxed iframe only when a real live URL exists.
87
+
77
88
  Outcome questions belong to their exact run and round. Later execution can supersede them (including a recorded
78
89
  same-round retry); expired/superseded cards leave Needs you but remain in the conversation with their reason.
79
90
  This is derived from Pi's entries, including existing histories, never a manufactured human answer. Generic asks
@@ -347,9 +358,11 @@ The buttons talk to the engine, not to a model: `/loop take`, `/loop apply`, `/l
347
358
  `/loop answer`. Anything that needs judgement ("two more rounds", "steer it this way") is sent to the agent as a message,
348
359
  because that is a decision the agent owns.
349
360
 
350
- **Stop agent** aborts the current chat's parent turn. **Stop loop** cancels only the named background run, even while
351
- the parent is busy; its worktrees stay. Both are visible in the conversation and selected-loop canvas (including
352
- mobile), guard duplicate requests and show errors. Acknowledging a button does not mark work stopped: streamed
361
+ **Stop response** aborts the current chat's parent turn. **Stop loop** cancels only the named background run, even while
362
+ the parent is busy; its worktrees stay. Controls appear only while their target is active, beside the composer,
363
+ loop activity, or inspector (including mobile). Each target keeps one persistent controller as its button moves
364
+ between views, preserving pending state and errors through resizing and inspector navigation.
365
+ They guard duplicate requests and show errors. Acknowledging a button does not mark work stopped: streamed
353
366
  session state must confirm it. Missing signals, incomplete judging and budget/timeout failures are not labeled Done.
354
367
  All run actions keep the exact selected run ID; attempt selection sends its durable name, not its A/B display letter.
355
368
 
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-SVP7TREG-CBg3GrIs.js";import{p as f}from"./chunk-JWPE2WC7-B7DWQYA4.js";import{_ as n,l as o}from"./index-DvyWv1zp.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-C5BZ6yCh.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-Cuxb5Tev.js";import{p as f}from"./chunk-JWPE2WC7-BwSaxLGO.js";import{_ as n,l as o}from"./index-CDZSgSj4.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-C75TDC2G.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-DvyWv1zp.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-CDZSgSj4.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};