@rashidee/co2 1.3.14 → 1.3.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 (67) hide show
  1. package/dist/.co2-dat/app.db +0 -0
  2. package/dist/.co2-dat/app.db-shm +0 -0
  3. package/dist/.co2-dat/app.db-wal +0 -0
  4. package/dist/index.js +8 -2
  5. package/package.json +1 -1
  6. package/plugin/skills/util-gencicdscript/SKILL.md +12 -0
  7. package/static/assets/{abnfDiagram-VRR7QNED-D8RafkEP.js → abnfDiagram-VRR7QNED-kjS3baPt.js} +1 -1
  8. package/static/assets/{arc-Coo8djJL.js → arc-CXd0xnDj.js} +1 -1
  9. package/static/assets/{architectureDiagram-ZJ3FMSHR-D7fGTL3b.js → architectureDiagram-ZJ3FMSHR-5QfnAz_Q.js} +1 -1
  10. package/static/assets/{blockDiagram-677ZJIJ3-CjI7s86S.js → blockDiagram-677ZJIJ3-ByICFNDb.js} +1 -1
  11. package/static/assets/{c4Diagram-LMCZKHZV-Ao3qCcFi.js → c4Diagram-LMCZKHZV-C5a0Ubby.js} +1 -1
  12. package/static/assets/channel-CrYjYK1f.js +1 -0
  13. package/static/assets/{chunk-2Q5K7J3B-lUK_s3cG.js → chunk-2Q5K7J3B-UucADWxr.js} +1 -1
  14. package/static/assets/{chunk-32BRIVSS-PA889NNs.js → chunk-32BRIVSS-WAe17d3N.js} +1 -1
  15. package/static/assets/{chunk-5VM5RSS4-CxACsgKF.js → chunk-5VM5RSS4-BQBMOb0f.js} +1 -1
  16. package/static/assets/{chunk-EX3LRPZG-BuSTKl3j.js → chunk-EX3LRPZG-BzaET0n4.js} +1 -1
  17. package/static/assets/{chunk-JWPE2WC7-CuKFDdbM.js → chunk-JWPE2WC7-D_tBvbZg.js} +1 -1
  18. package/static/assets/{chunk-MOJQB5TN-CVXUJZuG.js → chunk-MOJQB5TN-CsYb9JBc.js} +1 -1
  19. package/static/assets/{chunk-RYQCIY6F-DrMs0YPQ.js → chunk-RYQCIY6F-D5xRlnc7.js} +1 -1
  20. package/static/assets/{chunk-V7JOEXUC-DJopV6W1.js → chunk-V7JOEXUC-y0cEgq6c.js} +1 -1
  21. package/static/assets/{chunk-VR4S4FIN-CcNBYiui.js → chunk-VR4S4FIN-CSXJHPXT.js} +1 -1
  22. package/static/assets/{chunk-XXDRQBXY-CCFhxbN4.js → chunk-XXDRQBXY-QFNFGLYZ.js} +1 -1
  23. package/static/assets/classDiagram-OUVF2IWQ-DoLCCqXD.js +1 -0
  24. package/static/assets/classDiagram-v2-EOCWNBFH-DoLCCqXD.js +1 -0
  25. package/static/assets/{cose-bilkent-JH36ORCC-DXoH0ywa.js → cose-bilkent-JH36ORCC-ValIntpZ.js} +1 -1
  26. package/static/assets/{cynefin-VYW2F7L2-DH8W0rE6.js → cynefin-VYW2F7L2-BgHVKyAR.js} +1 -1
  27. package/static/assets/{cynefinDiagram-TSTJHNR4-BW_IHnv8.js → cynefinDiagram-TSTJHNR4-LIZzpkLM.js} +1 -1
  28. package/static/assets/{dagre-VKFMJZFB-Biw6PsWK.js → dagre-VKFMJZFB-DY9b36A5.js} +1 -1
  29. package/static/assets/{diagram-FQU43EPY-TtNOYp5j.js → diagram-FQU43EPY-aeuYUUxe.js} +1 -1
  30. package/static/assets/{diagram-G47NLZAW-CQk6Jt_6.js → diagram-G47NLZAW-BWwcYYCF.js} +1 -1
  31. package/static/assets/{diagram-NH7WQ7WH-DTY1BO9B.js → diagram-NH7WQ7WH-BObFlRPR.js} +1 -1
  32. package/static/assets/{diagram-OA4YK3LP-DEnO6Eyl.js → diagram-OA4YK3LP-BUnc8m1-.js} +1 -1
  33. package/static/assets/{diagram-WEI45ONY-WKF4avWj.js → diagram-WEI45ONY-DsNxBIuJ.js} +1 -1
  34. package/static/assets/{ebnfDiagram-CCIWWBDH-K4uJ1i6v.js → ebnfDiagram-CCIWWBDH-DDL2Id1r.js} +1 -1
  35. package/static/assets/{erDiagram-Q63AITRT-B4wRa3fY.js → erDiagram-Q63AITRT-DZZcG2QU.js} +1 -1
  36. package/static/assets/{flowDiagram-23GEKE2U-SnSUCnHl.js → flowDiagram-23GEKE2U-C6GvkBFb.js} +1 -1
  37. package/static/assets/{ganttDiagram-NO4QXBWP-CsdfAP2-.js → ganttDiagram-NO4QXBWP-C7ydCTnF.js} +1 -1
  38. package/static/assets/{gitGraphDiagram-IHSO6WYX-C8xab2KC.js → gitGraphDiagram-IHSO6WYX-C60P6bwf.js} +1 -1
  39. package/static/assets/{index-D74-2ULy.js → index-CfGMfAGO.js} +4 -4
  40. package/static/assets/{infoDiagram-FWYZ7A6U-CjUSYyJV.js → infoDiagram-FWYZ7A6U-CnH7Q2nX.js} +1 -1
  41. package/static/assets/{ishikawaDiagram-FXEZZL3T-DGEbhYY4.js → ishikawaDiagram-FXEZZL3T-BNEvOQYX.js} +1 -1
  42. package/static/assets/{journeyDiagram-5HDEW3XC-Bn8WZeF-.js → journeyDiagram-5HDEW3XC-BOwGZTfX.js} +1 -1
  43. package/static/assets/{kanban-definition-HUTT4EX6-DD9QNPz9.js → kanban-definition-HUTT4EX6-BEfHVl-l.js} +1 -1
  44. package/static/assets/{linear-CREoNC-Z.js → linear-BOHPNxBi.js} +1 -1
  45. package/static/assets/{mindmap-definition-LN4V7U3C-BLCKbp6n.js → mindmap-definition-LN4V7U3C-B84wfT_w.js} +1 -1
  46. package/static/assets/{pegDiagram-2B236MQR-DLyLfiFi.js → pegDiagram-2B236MQR-BgEa7yRL.js} +1 -1
  47. package/static/assets/{pieDiagram-ENE6RG2P-B7v1-Mow.js → pieDiagram-ENE6RG2P-DgA9LQlc.js} +1 -1
  48. package/static/assets/{quadrantDiagram-ABIIQ3AL-Dnt728yI.js → quadrantDiagram-ABIIQ3AL-C5K_r0Mx.js} +1 -1
  49. package/static/assets/{railroadDiagram-RFXS5EU6-BZ0m-G9m.js → railroadDiagram-RFXS5EU6-Ckh_mLXW.js} +1 -1
  50. package/static/assets/{requirementDiagram-TGXJPOKE-3SCMjIUR.js → requirementDiagram-TGXJPOKE-CtII7Obm.js} +1 -1
  51. package/static/assets/{sankeyDiagram-HTMAVEWB-BoK8Wh3S.js → sankeyDiagram-HTMAVEWB-DdkySwbL.js} +1 -1
  52. package/static/assets/{sequenceDiagram-DBY2YBRQ-B89bqSYK.js → sequenceDiagram-DBY2YBRQ-DEIBg3kY.js} +1 -1
  53. package/static/assets/{sizeCapture-X5ZJPWSS-BVTk4iE2.js → sizeCapture-X5ZJPWSS-D2MM9f6M.js} +1 -1
  54. package/static/assets/{stateDiagram-2N3HPSRC-Q5DLz7JU.js → stateDiagram-2N3HPSRC-DHmJsAte.js} +1 -1
  55. package/static/assets/stateDiagram-v2-6OUMAXLB-B6sumoG6.js +1 -0
  56. package/static/assets/{swimlanes-5IMT3BWC-1LqBZGZu.js → swimlanes-5IMT3BWC-BBPvUQvZ.js} +2 -2
  57. package/static/assets/swimlanesDiagram-G3AALYLV-DH2ts1oT.js +8 -0
  58. package/static/assets/{timeline-definition-FHXFAJF6-Bk8mm9PQ.js → timeline-definition-FHXFAJF6-CG_Q0YTD.js} +1 -1
  59. package/static/assets/{vennDiagram-L72KCM5P-qS4AIIXn.js → vennDiagram-L72KCM5P-DlFSe4is.js} +1 -1
  60. package/static/assets/{wardleyDiagram-EHGQE667-BjnQ0zER.js → wardleyDiagram-EHGQE667-BTlvtp2f.js} +1 -1
  61. package/static/assets/{xychartDiagram-FW5EYKEG-Xtl5bYjl.js → xychartDiagram-FW5EYKEG-Bm14zLxj.js} +1 -1
  62. package/static/index.html +1 -1
  63. package/static/assets/channel-Ci11n54j.js +0 -1
  64. package/static/assets/classDiagram-OUVF2IWQ-D8JGj9_e.js +0 -1
  65. package/static/assets/classDiagram-v2-EOCWNBFH-D8JGj9_e.js +0 -1
  66. package/static/assets/stateDiagram-v2-6OUMAXLB-CU_q9WoS.js +0 -1
  67. package/static/assets/swimlanesDiagram-G3AALYLV-CilhyDV0.js +0 -8
Binary file
Binary file
Binary file
package/dist/index.js CHANGED
@@ -6809,7 +6809,7 @@ var {
6809
6809
  // package.json
6810
6810
  var package_default = {
6811
6811
  name: "@rashidee/co2",
6812
- version: "1.3.14",
6812
+ version: "1.3.15",
6813
6813
  description: "Compound Context Studio \u2014 self-hosted team context authoring for CO2 projects",
6814
6814
  type: "module",
6815
6815
  license: "MIT",
@@ -22578,7 +22578,13 @@ function requestPlan(db, workspacePath, projectId, userId) {
22578
22578
  "utf8"
22579
22579
  );
22580
22580
  const now = (/* @__PURE__ */ new Date()).toISOString();
22581
- db.update(cicdSetups).set({ status: "planning", planRequestPath: filePath, planRequestedAt: now, updatedAt: now }).where(eq(cicdSetups.id, setup.id)).run();
22581
+ db.update(cicdSetups).set({
22582
+ status: "planning",
22583
+ planRequestPath: filePath,
22584
+ planRequestedAt: now,
22585
+ configFingerprint: "",
22586
+ updatedAt: now
22587
+ }).where(eq(cicdSetups.id, setup.id)).run();
22582
22588
  createNotification(db, userId, "conductor_progress", "CI/CD deployment plan requested", {
22583
22589
  body: filename,
22584
22590
  relatedEntityType: "cicd_setup",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rashidee/co2",
3
- "version": "1.3.14",
3
+ "version": "1.3.15",
4
4
  "description": "Compound Context Studio — self-hosted team context authoring for CO2 projects",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -111,6 +111,18 @@ port, application count) and STOP — the studio starts/embeds the app.
111
111
  once at boot). Never cache the parsed config in a top-level `const`.
112
112
  - The page is bare: no header, sidebar or footer (it is iframed by the studio). Light theme,
113
113
  one nav tab per application; the tab body is that application's live log.
114
+ - **Path-prefix proxy awareness (MANDATORY)**: the studio embeds the page through its
115
+ same-origin reverse proxy at `/api/cicd/<projectId>/app-proxy/` — root-absolute client URLs
116
+ (`fetch('/api/state')`, `href="/infra"`, `ws://host/ws`) escape the prefix, hit the studio
117
+ instead of this app and render an empty page. The client script MUST derive a base path once —
118
+ `const BASE = location.pathname.endsWith('/') ? location.pathname.slice(0,-1) : location.pathname`
119
+ (on the `/infra` page additionally strip the trailing `/infra`) — and prefix EVERY fetch
120
+ (`fetch(BASE+'/api/state')`), the Infrastructure link (`BASE+'/infra'`) and the log WebSocket.
121
+ The WebSocket URL must also follow the page scheme:
122
+ `(location.protocol==='https:'?'wss://':'ws://')+location.host+BASE+'/ws?app=...'` — a
123
+ hardcoded `ws://` is blocked as mixed content when the studio is served over HTTPS.
124
+ Server-side routes stay unprefixed (`/api/state`, `/ws`, `/infra`) — the studio proxy strips
125
+ the prefix before forwarding.
114
126
  - Infrastructure page: when `infra` is non-empty the main page shows an "Infrastructure" link
115
127
  that opens the separate `/infra` page in a new tab — a status-only list of supporting
116
128
  3rd-party services, each with a live TCP-reachability dot (polled) and a console link when a
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-CVXUJZuG.js";import{p as f}from"./chunk-JWPE2WC7-CuKFDdbM.js";import{_ as n,l as o}from"./index-D74-2ULy.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-DH8W0rE6.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-MOJQB5TN-CsYb9JBc.js";import{p as f}from"./chunk-JWPE2WC7-D_tBvbZg.js";import{_ as n,l as o}from"./index-CfGMfAGO.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-BgHVKyAR.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{Y as ln,$ as an,a0 as y,a1 as tn,a2 as F,a3 as q,a4 as _,a5 as un,a6 as rn,a7 as J,a8 as o,a9 as j,aa as sn,ab as on,ac as fn}from"./index-D74-2ULy.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,z,a){var O=I-l,i=D-h,n=z-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 U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(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)*J(fn(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=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)-an,c=A.apply(this,arguments)-an,B=un(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(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<rn)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(on((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(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=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,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(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,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[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{Y as ln,$ as an,a0 as y,a1 as tn,a2 as F,a3 as q,a4 as _,a5 as un,a6 as rn,a7 as J,a8 as o,a9 as j,aa as sn,ab as on,ac as fn}from"./index-CfGMfAGO.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,z,a){var O=I-l,i=D-h,n=z-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 U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(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)*J(fn(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=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)-an,c=A.apply(this,arguments)-an,B=un(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(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<rn)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(on((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(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=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,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(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,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[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};