kennel 0.1.8 → 0.1.9

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 (168) hide show
  1. package/README.md +36 -87
  2. package/bin/kennel-native.mjs +5 -0
  3. package/dist/cli/dispatch.js +25 -16
  4. package/dist/cli/usage.js +9 -3
  5. package/dist/deploy/cloudflare.js +10 -1
  6. package/dist/deploy/smoke-tests.d.ts +1 -0
  7. package/dist/deploy/smoke-tests.js +21 -0
  8. package/dist/deploy/vercel.d.ts +3 -0
  9. package/dist/deploy/vercel.js +67 -0
  10. package/dist/mcp/config.js +14 -0
  11. package/dist/mcp/function-source.js +3 -1
  12. package/dist/mcp/generate.js +3 -3
  13. package/dist/mcp/install-page.d.ts +12 -1
  14. package/dist/mcp/install-page.js +3 -358
  15. package/dist/notifications/email-worker.js +1 -1
  16. package/dist/publish/cloudflare-init.js +5 -2
  17. package/dist/publish/config.d.ts +1 -1
  18. package/dist/publish/config.js +3 -15
  19. package/dist/publish/vercel-init.d.ts +9 -0
  20. package/dist/publish/vercel-init.js +52 -0
  21. package/dist/site/dev.js +2 -4
  22. package/dist/site/extension.d.ts +8 -0
  23. package/dist/site/extension.js +114 -0
  24. package/dist/site/renderers.d.ts +61 -0
  25. package/dist/site/renderers.js +219 -0
  26. package/dist/site/viewer.d.ts +9 -0
  27. package/dist/site/viewer.js +192 -0
  28. package/dist/site/vitepress.d.ts +1 -21
  29. package/dist/site/vitepress.js +1 -66
  30. package/dist/sources/commands.d.ts +1 -0
  31. package/dist/sources/commands.js +88 -0
  32. package/package.json +8 -8
  33. package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  34. package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  35. package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  36. package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  37. package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  38. package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  39. package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  40. package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  41. package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  42. package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  43. package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  44. package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  45. package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  46. package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  47. package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  48. package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  49. package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  50. package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  51. package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  52. package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  53. package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  54. package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  55. package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  56. package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  57. package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  58. package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  59. package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  60. package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  61. package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  62. package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  63. package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  64. package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  65. package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  66. package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  67. package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  68. package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  69. package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  70. package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  71. package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  72. package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  73. package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  74. package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  75. package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  76. package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  77. package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  78. package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  79. package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  80. package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  81. package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  82. package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  83. package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  84. package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  85. package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  86. package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  87. package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  88. package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  89. package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  90. package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  91. package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  92. package/web/assets/abnfDiagram-VRR7QNED-Dizo1F0V.js +1 -0
  93. package/web/assets/arc-CraBhW5A.js +1 -0
  94. package/web/assets/architectureDiagram-ZJ3FMSHR-DrcQCjV4.js +36 -0
  95. package/web/assets/blockDiagram-677ZJIJ3-iGvS8HCJ.js +132 -0
  96. package/web/assets/c4Diagram-LMCZKHZV-B9ueRzOf.js +10 -0
  97. package/web/assets/channel-DjVeob-k.js +1 -0
  98. package/web/assets/chunk-2Q5K7J3B-Dg02y5Go.js +1 -0
  99. package/web/assets/chunk-32BRIVSS-DHUNfpw6.js +1 -0
  100. package/web/assets/chunk-5VM5RSS4-B6XJu9sr.js +15 -0
  101. package/web/assets/chunk-EX3LRPZG-DywY4I3l.js +231 -0
  102. package/web/assets/chunk-JWPE2WC7-C9-XkXDg.js +1 -0
  103. package/web/assets/chunk-MOJQB5TN-CXQXOtY9.js +88 -0
  104. package/web/assets/chunk-RYQCIY6F-DJwv9114.js +1 -0
  105. package/web/assets/chunk-V7JOEXUC-_b44nhwN.js +206 -0
  106. package/web/assets/chunk-VR4S4FIN-B_bGSDri.js +1 -0
  107. package/web/assets/chunk-XXDRQBXY-Bf-JPvQi.js +1 -0
  108. package/web/assets/classDiagram-OUVF2IWQ-4Od2_pq4.js +1 -0
  109. package/web/assets/classDiagram-v2-EOCWNBFH-4Od2_pq4.js +1 -0
  110. package/web/assets/cose-bilkent-JH36ORCC-Bcssb1jB.js +1 -0
  111. package/web/assets/cynefin-VYW2F7L2-t9uGqnJ4.js +166 -0
  112. package/web/assets/cynefinDiagram-TSTJHNR4-D0RvbNfG.js +62 -0
  113. package/web/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
  114. package/web/assets/dagre-VKFMJZFB-DmmlPxN_.js +4 -0
  115. package/web/assets/defaultLocale-C4B-KCzX.js +1 -0
  116. package/web/assets/diagram-FQU43EPY-DtDak7gR.js +3 -0
  117. package/web/assets/diagram-G47NLZAW-Cn07lZ4L.js +24 -0
  118. package/web/assets/diagram-NH7WQ7WH-BTD9-weZ.js +24 -0
  119. package/web/assets/diagram-OA4YK3LP-fjOdFedY.js +30 -0
  120. package/web/assets/diagram-WEI45ONY-DSBYO7Nc.js +41 -0
  121. package/web/assets/ebnfDiagram-CCIWWBDH-B8km6QWT.js +1 -0
  122. package/web/assets/erDiagram-Q63AITRT-CHs2HT-U.js +85 -0
  123. package/web/assets/flowDiagram-23GEKE2U-CxjQgYus.js +156 -0
  124. package/web/assets/ganttDiagram-NO4QXBWP-CHkGy5_G.js +292 -0
  125. package/web/assets/gitGraphDiagram-IHSO6WYX-BdtSK3Q5.js +106 -0
  126. package/web/assets/graph-BvS0Xx32.js +1 -0
  127. package/web/assets/index-BiSkqJri.css +1 -0
  128. package/web/assets/index-sG3Cxc28.js +697 -0
  129. package/web/assets/infoDiagram-FWYZ7A6U-B0feeRLu.js +2 -0
  130. package/web/assets/init-Gi6I4Gst.js +1 -0
  131. package/web/assets/ishikawaDiagram-FXEZZL3T-DGCSsJ4r.js +70 -0
  132. package/web/assets/journeyDiagram-5HDEW3XC-D9xtvo9Z.js +139 -0
  133. package/web/assets/kanban-definition-HUTT4EX6-BqVdsgmq.js +89 -0
  134. package/web/assets/layout-D4ui-CWC.js +1 -0
  135. package/web/assets/linear-BopdAHdJ.js +1 -0
  136. package/web/assets/map-7eTsl7HP.js +1 -0
  137. package/web/assets/mermaid.core-DWAi8MqL.js +308 -0
  138. package/web/assets/mindmap-definition-LN4V7U3C-CsV_gb2j.js +96 -0
  139. package/web/assets/ordinal-Cboi1Yqb.js +1 -0
  140. package/web/assets/pegDiagram-2B236MQR-BmDNuFL1.js +1 -0
  141. package/web/assets/pieDiagram-ENE6RG2P-CBPZlXZP.js +39 -0
  142. package/web/assets/quadrantDiagram-ABIIQ3AL-CbUemD3z.js +7 -0
  143. package/web/assets/railroadDiagram-RFXS5EU6-Cyp4W7Hm.js +1 -0
  144. package/web/assets/requirementDiagram-TGXJPOKE-Dz35_qtT.js +84 -0
  145. package/web/assets/sankeyDiagram-HTMAVEWB-biUDOCWc.js +40 -0
  146. package/web/assets/sequenceDiagram-DBY2YBRQ-Bk4X1-E4.js +162 -0
  147. package/web/assets/sizeCapture-X5ZJPWSS-CDPSVeoQ.js +1 -0
  148. package/web/assets/stateDiagram-2N3HPSRC-Cx_G_F7H.js +1 -0
  149. package/web/assets/stateDiagram-v2-6OUMAXLB-DG9cZ_-X.js +1 -0
  150. package/web/assets/swimlanes-5IMT3BWC-KfhGp3gJ.js +2 -0
  151. package/web/assets/swimlanesDiagram-G3AALYLV-Bj6WXCUy.js +8 -0
  152. package/web/assets/timeline-definition-FHXFAJF6-Dp6wlW_7.js +120 -0
  153. package/web/assets/vennDiagram-L72KCM5P-CjdOdrf1.js +34 -0
  154. package/web/assets/wardleyDiagram-EHGQE667-DYl5GkQs.js +78 -0
  155. package/web/assets/xychartDiagram-FW5EYKEG-rPJ1RPYD.js +7 -0
  156. package/web/index.html +14 -0
  157. package/dist/mcp/data.d.ts +0 -14
  158. package/dist/mcp/data.js +0 -120
  159. package/dist/schema/doctor.d.ts +0 -1
  160. package/dist/schema/doctor.js +0 -69
  161. package/dist/schema/documents.d.ts +0 -18
  162. package/dist/schema/documents.js +0 -127
  163. package/dist/schema/pointers.d.ts +0 -5
  164. package/dist/schema/pointers.js +0 -48
  165. package/dist/schema/types.d.ts +0 -36
  166. package/dist/schema/types.js +0 -1
  167. package/dist/schema/validation.d.ts +0 -8
  168. package/dist/schema/validation.js +0 -212
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kennel",
3
- "version": "0.1.8",
4
- "description": "Schema-backed folder ledger validator for structured workspaces.",
3
+ "version": "0.1.9",
4
+ "description": "Publishing, MCP generation, and knowledge-source CLI for Kennel workspaces.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -40,10 +40,11 @@
40
40
  "files": [
41
41
  "bin",
42
42
  "dist",
43
- "templates"
43
+ "templates",
44
+ "web"
44
45
  ],
45
46
  "scripts": {
46
- "build": "tsc -p tsconfig.json",
47
+ "build": "node scripts/build.mjs",
47
48
  "typecheck": "tsc -p tsconfig.json --noEmit",
48
49
  "test": "npm run build && node --test tests/*.test.mjs",
49
50
  "check": "npm run build && node --check bin/kennel.mjs && node --check dist/main.js",
@@ -53,11 +54,10 @@
53
54
  "publish:public:dry-run": "npm publish --dry-run --access public --registry=https://registry.npmjs.org --@raggle-ai:registry=https://registry.npmjs.org"
54
55
  },
55
56
  "dependencies": {
57
+ "@raggle-ai/barkdown": "^0.2.0",
58
+ "@raggle-ai/kennel-knowledge": "^0.1.0",
56
59
  "@raggle-ai/kennel-mcp": "^0.1.7",
57
- "ajv": "^8.17.1",
58
- "ajv-formats": "^3.0.1",
59
- "effect": "^3.11.9",
60
- "yaml": "^2.9.0"
60
+ "effect": "^3.11.9"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/node": "^22.13.4",
@@ -0,0 +1 @@
1
+ import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-CXQXOtY9.js";import{p as f}from"./chunk-JWPE2WC7-C9-XkXDg.js";import{_ as n,l as o}from"./mermaid.core-DWAi8MqL.js";import{b as c,M as d}from"./cynefin-VYW2F7L2-t9uGqnJ4.js";import"./index-sG3Cxc28.js";var v=c().RailroadAbnf.parser.LangiumParser,i=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("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,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 i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(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 d(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}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
@@ -0,0 +1 @@
1
+ import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as sn,ab as on,ac as fn}from"./mermaid.core-DWAi8MqL.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(on(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)-un,c=A.apply(this,arguments)-un,B=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(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=_(rn(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<an)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(fn((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-an/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};