@hachej/boring-ui-cli 0.1.36 → 0.1.37

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 (64) hide show
  1. package/dist/server/cli.js +19 -580
  2. package/dist/server/modeApps.js +626 -0
  3. package/dist/server/pluginDiscovery.js +25 -4
  4. package/dist/server/pluginFrontRuntime.js +67 -17
  5. package/package.json +6 -5
  6. package/public/assets/{DebugDrawer-DC7YYrof.js → DebugDrawer-DnJihn7d.js} +1 -1
  7. package/public/assets/{_baseUniq-DWcImnmH.js → _baseUniq-Css5uykF.js} +1 -1
  8. package/public/assets/{arc-DDLmX1AG.js → arc-CnfZXaWe.js} +1 -1
  9. package/public/assets/{architectureDiagram-Q4EWVU46-B38ghbjL.js → architectureDiagram-Q4EWVU46-BANSd98t.js} +1 -1
  10. package/public/assets/{blockDiagram-DXYQGD6D-Bp07F26G.js → blockDiagram-DXYQGD6D-Cd6iEbZF.js} +1 -1
  11. package/public/assets/{c4Diagram-AHTNJAMY-Dcu6Qx6c.js → c4Diagram-AHTNJAMY-9WJupXFB.js} +1 -1
  12. package/public/assets/channel-Cn1SBioe.js +1 -0
  13. package/public/assets/{chunk-4BX2VUAB-DC5-ge26.js → chunk-4BX2VUAB-DEE8UItM.js} +1 -1
  14. package/public/assets/{chunk-4TB4RGXK-WI3HSrJ9.js → chunk-4TB4RGXK-Bf4S3aFF.js} +1 -1
  15. package/public/assets/{chunk-55IACEB6-DphRtKl9.js → chunk-55IACEB6-rumvIfCQ.js} +1 -1
  16. package/public/assets/{chunk-EDXVE4YY-VsnZ7w9d.js → chunk-EDXVE4YY-B41LsR8o.js} +1 -1
  17. package/public/assets/{chunk-FMBD7UC4-DU-cVjgu.js → chunk-FMBD7UC4-Cq0MvVHl.js} +1 -1
  18. package/public/assets/{chunk-OYMX7WX6-B1l0Dpt4.js → chunk-OYMX7WX6-AEfKb-L7.js} +1 -1
  19. package/public/assets/{chunk-QZHKN3VN-38IXLFlx.js → chunk-QZHKN3VN-BnF9Mgjw.js} +1 -1
  20. package/public/assets/{chunk-YZCP3GAM-eY6KeIEv.js → chunk-YZCP3GAM-CVhtG4Yd.js} +1 -1
  21. package/public/assets/classDiagram-6PBFFD2Q-B7iAGzAt.js +1 -0
  22. package/public/assets/classDiagram-v2-HSJHXN6E-B7iAGzAt.js +1 -0
  23. package/public/assets/clone-CKRPa4Cx.js +1 -0
  24. package/public/assets/{cose-bilkent-S5V4N54A-YEoqfW_D.js → cose-bilkent-S5V4N54A-BAlza9SS.js} +1 -1
  25. package/public/assets/{dagre-KV5264BT-B45m1NxI.js → dagre-KV5264BT-DXC-wg6w.js} +1 -1
  26. package/public/assets/{diagram-5BDNPKRD-B5ZXQlWh.js → diagram-5BDNPKRD-DQ_JZ2v6.js} +1 -1
  27. package/public/assets/{diagram-G4DWMVQ6-C1ynjN78.js → diagram-G4DWMVQ6-BV1_oXdH.js} +1 -1
  28. package/public/assets/{diagram-MMDJMWI5-D4hAUvca.js → diagram-MMDJMWI5-CBT9iuoD.js} +1 -1
  29. package/public/assets/{diagram-TYMM5635-B3agZWj-.js → diagram-TYMM5635-2gLQa-5c.js} +1 -1
  30. package/public/assets/{erDiagram-SMLLAGMA-CH2AxsAT.js → erDiagram-SMLLAGMA-BlACgWIF.js} +1 -1
  31. package/public/assets/{flowDiagram-DWJPFMVM-DDgdNECT.js → flowDiagram-DWJPFMVM-C3a4Cakw.js} +1 -1
  32. package/public/assets/{ganttDiagram-T4ZO3ILL-CzvQW97t.js → ganttDiagram-T4ZO3ILL-BvO6eI9n.js} +1 -1
  33. package/public/assets/{gitGraphDiagram-UUTBAWPF-DcQZPPMD.js → gitGraphDiagram-UUTBAWPF-CNRpcuUc.js} +1 -1
  34. package/public/assets/{graph-CD4bwX_-.js → graph-BGcM9Vra.js} +1 -1
  35. package/public/assets/{highlighted-body-OFNGDK62-CiM51uH6.js → highlighted-body-OFNGDK62-DFAlA8ty.js} +1 -1
  36. package/public/assets/{index-BXEu5C8e.js → index-DuQz_ooq.js} +471 -466
  37. package/public/assets/index-o6MvaI3V.css +1 -0
  38. package/public/assets/{infoDiagram-42DDH7IO-nwmufYgw.js → infoDiagram-42DDH7IO-tqWZWhv9.js} +1 -1
  39. package/public/assets/{ishikawaDiagram-UXIWVN3A-CAAuAFim.js → ishikawaDiagram-UXIWVN3A-BSrhE5rT.js} +1 -1
  40. package/public/assets/{journeyDiagram-VCZTEJTY-jPt0NUc6.js → journeyDiagram-VCZTEJTY-p4zWU15s.js} +1 -1
  41. package/public/assets/{kanban-definition-6JOO6SKY-BkWE1oIv.js → kanban-definition-6JOO6SKY-Bh1g0QjZ.js} +1 -1
  42. package/public/assets/{layout-DVywqgnM.js → layout-gyEZgedN.js} +1 -1
  43. package/public/assets/{linear-D5rTUKEy.js → linear-D_hzHorE.js} +1 -1
  44. package/public/assets/{min-CGxxs3H9.js → min-DuaweV_G.js} +1 -1
  45. package/public/assets/{mindmap-definition-QFDTVHPH-C5Bv0ezi.js → mindmap-definition-QFDTVHPH-Bd9cPaCZ.js} +1 -1
  46. package/public/assets/{pieDiagram-DEJITSTG-C4KdtVZ8.js → pieDiagram-DEJITSTG-BtC28nvk.js} +1 -1
  47. package/public/assets/{quadrantDiagram-34T5L4WZ-Cz9vL8Q6.js → quadrantDiagram-34T5L4WZ-D4l6_MzD.js} +1 -1
  48. package/public/assets/{requirementDiagram-MS252O5E-B80rbkJK.js → requirementDiagram-MS252O5E-C1iUHr18.js} +1 -1
  49. package/public/assets/{sankeyDiagram-XADWPNL6-Cn-nZLaG.js → sankeyDiagram-XADWPNL6-OVDB_8ZR.js} +1 -1
  50. package/public/assets/{sequenceDiagram-FGHM5R23-A6IunKM0.js → sequenceDiagram-FGHM5R23-BDavACVC.js} +1 -1
  51. package/public/assets/{stateDiagram-FHFEXIEX-BR6MAf9n.js → stateDiagram-FHFEXIEX-q8RwQFTP.js} +1 -1
  52. package/public/assets/stateDiagram-v2-QKLJ7IA2-BoiN-2KM.js +1 -0
  53. package/public/assets/{timeline-definition-GMOUNBTQ-4cDx4FT9.js → timeline-definition-GMOUNBTQ-y0_Knxi9.js} +1 -1
  54. package/public/assets/{vennDiagram-DHZGUBPP-_CpmLhQd.js → vennDiagram-DHZGUBPP-DbnSIyoN.js} +1 -1
  55. package/public/assets/{wardley-RL74JXVD-CSa4wbmw.js → wardley-RL74JXVD-CIj9kuqP.js} +1 -1
  56. package/public/assets/{wardleyDiagram-NUSXRM2D-DY8-GDoy.js → wardleyDiagram-NUSXRM2D--fILgFoZ.js} +1 -1
  57. package/public/assets/{xychartDiagram-5P7HB3ND-Dbdvqxtm.js → xychartDiagram-5P7HB3ND-YFiXEsiS.js} +1 -1
  58. package/public/index.html +2 -2
  59. package/public/assets/channel-DqOmgrq9.js +0 -1
  60. package/public/assets/classDiagram-6PBFFD2Q-Fjgbctha.js +0 -1
  61. package/public/assets/classDiagram-v2-HSJHXN6E-Fjgbctha.js +0 -1
  62. package/public/assets/clone-CpoJL_n1.js +0 -1
  63. package/public/assets/index-hl1JXpgN.css +0 -1
  64. package/public/assets/stateDiagram-v2-QKLJ7IA2-75t4kRUE.js +0 -1
@@ -348,12 +348,12 @@ function normalizeRequestSubpath(raw) {
348
348
  return value;
349
349
  }
350
350
  function assertRuntimeFrontEntrySubpath(frontEntrySubpath) {
351
- if (frontEntrySubpath.startsWith("front/")) return;
351
+ if (/(^|\/)front\//.test(frontEntrySubpath)) return;
352
352
  throw new PluginFrontRuntimeError(
353
353
  ErrorCode.enum.PLUGIN_RUNTIME_PRIVATE_FILE,
354
354
  403,
355
355
  "validate",
356
- "native runtime plugin fronts must live under the front/ directory",
356
+ "native runtime plugin fronts must live under a front/ directory",
357
357
  { frontEntrySubpath }
358
358
  );
359
359
  }
@@ -568,7 +568,7 @@ async function resolveFileWithinPlugin(record, subpath) {
568
568
  }
569
569
  return resolvedPath;
570
570
  }
571
- function snapshotRuntimeSourceFiles(pluginRoot) {
571
+ function snapshotRuntimeSourceFiles(pluginRoot, frontRootDir, frontRootRelative) {
572
572
  const snapshot = /* @__PURE__ */ new Map();
573
573
  const visit = (dir, subpathPrefix) => {
574
574
  if (!existsSync(dir)) return;
@@ -604,7 +604,7 @@ function snapshotRuntimeSourceFiles(pluginRoot) {
604
604
  }
605
605
  }
606
606
  };
607
- visit(resolvePath(pluginRoot, "front"), "front");
607
+ visit(frontRootDir, frontRootRelative.split("\\").join("/"));
608
608
  visit(resolvePath(pluginRoot, "shared"), "shared");
609
609
  return snapshot;
610
610
  }
@@ -652,6 +652,42 @@ function parsePluginDependencyVirtualId(id) {
652
652
  resolvedPath: decodeURIComponent(pathParts.join(":"))
653
653
  };
654
654
  }
655
+ const pluginPackageRootsCache = /* @__PURE__ */ new Map();
656
+ async function getPluginPackageRoots(nodeModulesDir) {
657
+ let cached = pluginPackageRootsCache.get(nodeModulesDir);
658
+ if (!cached) {
659
+ cached = buildPluginPackageRoots(nodeModulesDir);
660
+ pluginPackageRootsCache.set(nodeModulesDir, cached);
661
+ }
662
+ return cached;
663
+ }
664
+ async function buildPluginPackageRoots(nodeModulesDir) {
665
+ const roots = /* @__PURE__ */ new Set();
666
+ let entries;
667
+ try {
668
+ entries = readdirSync(nodeModulesDir);
669
+ } catch {
670
+ return roots;
671
+ }
672
+ for (const entry of entries) {
673
+ if (entry.startsWith(".")) continue;
674
+ const entryPath = resolvePath(nodeModulesDir, entry);
675
+ if (entry.startsWith("@")) {
676
+ let scopedEntries;
677
+ try {
678
+ scopedEntries = readdirSync(entryPath);
679
+ } catch {
680
+ continue;
681
+ }
682
+ for (const scopedEntry of scopedEntries) {
683
+ roots.add(await resolveRealLike(resolvePath(entryPath, scopedEntry)));
684
+ }
685
+ } else {
686
+ roots.add(await resolveRealLike(entryPath));
687
+ }
688
+ }
689
+ return roots;
690
+ }
655
691
  async function ensurePluginDependencyPath(record, source, importer, resolvedPath) {
656
692
  const nodeModulesDir = resolvePath(record.rootDir, "node_modules");
657
693
  if (!existsSync(nodeModulesDir)) {
@@ -666,13 +702,19 @@ async function ensurePluginDependencyPath(record, source, importer, resolvedPath
666
702
  const nodeModulesReal = await resolveRealLike(nodeModulesDir);
667
703
  const resolvedReal = await resolveRealLike(resolvedPath);
668
704
  if (!isWithin(nodeModulesReal, resolvedReal)) {
669
- throw new PluginFrontRuntimeError(
670
- ErrorCode.enum.PLUGIN_RUNTIME_UNSAFE_IMPORT,
671
- 400,
672
- "resolve",
673
- "runtime plugin dependency resolved outside the plugin-local node_modules directory",
674
- { source, importer, resolvedPath, pluginNodeModules: nodeModulesDir }
705
+ const packageRoots = await getPluginPackageRoots(nodeModulesDir);
706
+ const isInstalledPackage = Array.from(packageRoots).some(
707
+ (root) => root === resolvedReal || isWithin(root, resolvedReal)
675
708
  );
709
+ if (!isInstalledPackage) {
710
+ throw new PluginFrontRuntimeError(
711
+ ErrorCode.enum.PLUGIN_RUNTIME_UNSAFE_IMPORT,
712
+ 400,
713
+ "resolve",
714
+ "runtime plugin dependency resolved outside the plugin-local node_modules directory",
715
+ { source, importer, resolvedPath, pluginNodeModules: nodeModulesDir }
716
+ );
717
+ }
676
718
  }
677
719
  return resolvedReal;
678
720
  }
@@ -969,8 +1011,17 @@ async function createPluginFrontRuntimeHost(options = {}) {
969
1011
  // and stalling in-flight plugin front transforms indefinitely. The runtime
970
1012
  // host serves deps through its own proxy/singleton routes, so pre-bundling
971
1013
  // buys nothing here.
972
- optimizeDeps: { entries: [], noDiscovery: true },
973
1014
  root: repoRoot,
1015
+ // Skip the dep-optimisation entry scan. Without this, Vite crawls the
1016
+ // entire monorepo looking for import statements and hits files like
1017
+ // App.tsx that import `virtual:boring-front-plugins` — a module that
1018
+ // is not registered in this Vite server. That transform error corrupts
1019
+ // the dep-opt lock, causing any concurrently-starting Vite instance to
1020
+ // hang until the test timeout fires.
1021
+ // noDiscovery disables runtime dep discovery too, so transforming a plugin
1022
+ // module with bare imports (e.g. lucide-react) never triggers Vite's
1023
+ // esbuild pre-bundler, which would hang the request for tens of seconds.
1024
+ optimizeDeps: { entries: [], noDiscovery: true },
974
1025
  plugins: [
975
1026
  react(),
976
1027
  {
@@ -1534,18 +1585,17 @@ async function createPluginFrontRuntimeHost(options = {}) {
1534
1585
  assertRuntimeFrontEntrySubpath(frontEntrySubpath);
1535
1586
  const entryUrl = buildRuntimeUrl(basePath, workspaceId, pluginId, revision, frontEntrySubpath);
1536
1587
  const rootDir = resolvePath(args.plugin.rootDir);
1588
+ const frontRootRelative = frontEntrySubpath === "front" || frontEntrySubpath.startsWith("front/") ? "front" : dirname(frontEntrySubpath);
1589
+ const frontRootDir = resolvePath(rootDir, frontRootRelative);
1537
1590
  storeTrackedPlugin({
1538
1591
  workspaceId,
1539
1592
  pluginId,
1540
1593
  revision,
1541
1594
  rootDir,
1542
1595
  frontEntrySubpath,
1543
- frontRootDir: resolvePath(
1544
- rootDir,
1545
- frontEntrySubpath === "front" || frontEntrySubpath.startsWith("front/") ? "front" : dirname(frontEntrySubpath)
1546
- ),
1596
+ frontRootDir,
1547
1597
  sharedRootDir: resolvePath(rootDir, "shared"),
1548
- sourceSnapshot: snapshotRuntimeSourceFiles(rootDir)
1598
+ sourceSnapshot: snapshotRuntimeSourceFiles(rootDir, frontRootDir, frontRootRelative)
1549
1599
  }, entryUrl);
1550
1600
  return entryUrl;
1551
1601
  }
@@ -1553,7 +1603,7 @@ async function createPluginFrontRuntimeHost(options = {}) {
1553
1603
  return (plugin, context) => {
1554
1604
  if (!plugin.frontPath) return void 0;
1555
1605
  const frontEntrySubpath = normalizeRequestSubpath(context.frontEntrySubpath);
1556
- if (!frontEntrySubpath.startsWith("front/")) return void 0;
1606
+ if (!/(^|\/)front\//.test(frontEntrySubpath)) return void 0;
1557
1607
  return {
1558
1608
  kind: "native",
1559
1609
  entryUrl: trackPlugin({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hachej/boring-ui-cli",
3
- "version": "0.1.36",
3
+ "version": "0.1.37",
4
4
  "description": "Turn an agent into an app",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,10 +19,11 @@
19
19
  "lucide-react": "^1.8.0",
20
20
  "typescript": "^5.8.3",
21
21
  "vite": "^6.0.0",
22
- "@hachej/boring-agent": "0.1.36",
23
- "@hachej/boring-ui-kit": "0.1.36",
24
- "@hachej/boring-ui-plugin-cli": "0.1.36",
25
- "@hachej/boring-workspace": "0.1.36"
22
+ "@hachej/boring-agent": "0.1.37",
23
+ "@hachej/boring-ui-plugin-cli": "0.1.37",
24
+ "@hachej/boring-ui-kit": "0.1.37",
25
+ "@hachej/boring-ask-user": "0.1.37",
26
+ "@hachej/boring-workspace": "0.1.37"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@tailwindcss/vite": "^4.0.0",
@@ -1 +1 @@
1
- import{r as x,j as e,T as C,a as S,b as R,c as v,d as N,I as T,R as E,B as M,C as $,e as I,f as D,g as L,h as _}from"./index-BXEu5C8e.js";function z({value:n,label:t}){const[o,s]=x.useState(!1),i=x.useCallback(()=>{D(n).then(a=>{a&&(s(!0),window.setTimeout(()=>s(!1),1200))})},[n]);return e.jsx(T,{type:"button",variant:"ghost",size:"icon-xs",onClick:i,className:"text-muted-foreground/60","aria-label":t,title:t,children:o?e.jsx(L,{className:"h-3 w-3"}):e.jsx(_,{className:"h-3 w-3"})})}function w({label:n,value:t}){return e.jsxs("div",{className:"rounded-md border border-border/40 bg-muted/20 p-2",children:[e.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:n}),e.jsx(z,{value:t,label:`Copy ${n}`})]}),e.jsx("code",{className:"block break-all font-mono text-[11px] leading-relaxed text-foreground dark:text-zinc-100",children:t})]})}function A({sessionId:n}){const t=`pi --session ${n}`;return e.jsxs("div",{className:"flex flex-col gap-3 overflow-auto p-3 text-[11px] text-muted-foreground dark:text-zinc-300",children:[e.jsx("p",{className:"text-muted-foreground dark:text-zinc-300",children:"This web chat is backed by a pi session. Use the id below from the workspace root to resume the same conversation in a terminal."}),e.jsx(w,{label:"Pi session id",value:n}),e.jsx(w,{label:"Resume command",value:t}),e.jsxs("p",{className:"rounded-md border border-border/30 bg-muted/10 p-2 text-[10px] leading-relaxed text-muted-foreground dark:text-zinc-300",children:["Tip: ",e.jsx("code",{className:"font-mono text-foreground/80",children:"pi --continue"})," ","opens the most recent session for the current working directory. The explicit command above targets this session directly."]})]})}const P=2500,y=20;function X({apiBaseUrl:n,fetch:t,sessionId:o,requestHeaders:s,storageScope:i}){const[a,r]=x.useState({kind:"loading"}),[c,u]=x.useState(0),m=x.useRef(0),j=x.useCallback(()=>{m.current=0,u(l=>l+1)},[]);return x.useEffect(()=>{let l=!1,f=null;return r({kind:"loading"}),(t??globalThis.fetch.bind(globalThis))(Y(n,`/api/v1/agent/sessions/${encodeURIComponent(o)}/system-prompt`),{headers:J(s,i)}).then(async d=>{var g;if(l)return;if(d.ok){const b=await d.json();if(typeof b.systemPrompt=="string"){m.current=0,r({kind:"ok",text:b.systemPrompt});return}}const h=await d.json().catch(()=>null),p=((g=h==null?void 0:h.error)==null?void 0:g.message)??`HTTP ${d.status}`;d.status===404&&m.current<y?(r({kind:"empty",reason:p}),f=setTimeout(()=>{l||(m.current++,u(b=>b+1))},P)):r(d.status===404?{kind:"empty",reason:p}:{kind:"error",reason:p})}).catch(d=>{l||r({kind:"error",reason:d instanceof Error?d.message:String(d)})}),()=>{l=!0,f&&clearTimeout(f)}},[n,t,o,s,c,i]),e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsxs("div",{className:"shrink-0 flex items-center justify-between px-3 pt-2 pb-1 border-b border-border/40",children:[e.jsx("span",{className:"text-[10px] text-muted-foreground/80 font-mono",children:a.kind==="ok"?`${a.text.length.toLocaleString()} chars`:a.kind==="loading"?"loading…":a.kind==="empty"?`waiting for session · retry ${m.current}/${y}`:"error"}),a.kind!=="loading"&&e.jsx(T,{type:"button",variant:"ghost",size:"icon-xs",onClick:j,className:"text-muted-foreground/60","aria-label":"Refresh system prompt",children:e.jsx(E,{className:"h-3 w-3"})})]}),(a.kind==="loading"||a.kind==="empty")&&e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:a.kind==="loading"?"Loading…":a.reason}),a.kind==="error"&&e.jsx("p",{className:"text-[11px] text-destructive p-3",children:a.reason}),a.kind==="ok"&&e.jsx("pre",{className:"flex-1 overflow-auto px-3 py-2 font-mono text-[11px] leading-relaxed text-foreground whitespace-pre-wrap break-words",children:a.text})]})}function F(n){const t=n,o=(t==null?void 0:t.type)??"?";if(o==="text"){const s=String(t.text??"");return s.slice(0,80)+(s.length>80?"…":"")}if(o==="tool-invocation"){const s=t.toolInvocation,i=String((s==null?void 0:s.state)??"");return`${(s==null?void 0:s.toolName)??"?"}() · ${i}`}if(o==="reasoning"){const s=String(t.text??t.reasoning??"");return s.slice(0,80)+(s.length>80?"…":"")}return o}function H(n){const t=[];for(let o=0;o<n.length;o++){const s=n[o],i=s,a=i.createdAt?new Date(i.createdAt).toISOString().slice(11,23):null;for(let r=0;r<s.parts.length;r++){const c=s.parts[r];t.push({msgId:s.id,msgIndex:o,role:s.role,time:a,partIndex:r,partType:(c==null?void 0:c.type)??"unknown",part:c})}}return t}function O({messages:n}){const t=H(n),[o,s]=x.useState(null),i=x.useRef(null),a=x.useRef(t.length);return x.useEffect(()=>{var r;t.length!==a.current&&((r=i.current)==null||r.scrollIntoView({behavior:"smooth"}),a.current=t.length)},[t.length]),t.length===0?e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:"No messages yet."}):e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsxs("div",{className:"shrink-0 px-3 pt-2 pb-1 text-[10px] text-muted-foreground/80 font-mono border-b border-border/40",children:[n.length," msg · ",t.length," parts"]}),e.jsxs("div",{className:"flex-1 overflow-auto",children:[t.map(r=>{const c=`${r.msgId}:${r.partIndex}`,u=o===c;return e.jsxs("div",{className:"border-b border-border/30 last:border-0",children:[e.jsxs(M,{type:"button",variant:"ghost",onClick:()=>s(u?null:c),className:"h-auto w-full justify-start gap-1.5 rounded-none px-2 py-1.5 text-left",children:[e.jsx("span",{className:"mt-0.5 shrink-0 text-muted-foreground/40",children:u?e.jsx($,{className:"h-3 w-3"}):e.jsx(I,{className:"h-3 w-3"})}),e.jsx("span",{className:"font-mono text-[10px] shrink-0 w-20",children:r.time?e.jsx("span",{className:"text-muted-foreground/60",children:r.time}):e.jsxs("span",{className:"text-muted-foreground/30",children:["m",r.msgIndex]})}),e.jsx("span",{className:N("shrink-0 font-mono text-[10px] w-14",r.role==="user"?"text-accent":"text-muted-foreground"),children:r.role}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60 w-24",children:r.partType}),e.jsx("span",{className:"flex-1 min-w-0 font-mono text-[11px] text-foreground truncate",children:F(r.part)})]}),u&&e.jsx("pre",{className:"px-3 pb-2 font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap break-words bg-muted/20",children:JSON.stringify(r.part,null,2)})]},c)}),e.jsx("div",{ref:i})]})]})}const V=[{id:"session",label:"Session"},{id:"prompt",label:"System prompt"},{id:"messages",label:"Messages"}],K=280,W=800;function G({apiBaseUrl:n,fetch:t,sessionId:o,messages:s,requestHeaders:i,storageScope:a,width:r,onWidthChange:c}){const[u,m]=x.useState("session"),j=x.useCallback(l=>{l.preventDefault();const f=l.clientX,k=r,d=p=>{const g=f-p.clientX;c(Math.min(W,Math.max(K,k+g)))},h=()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",h)};window.addEventListener("mousemove",d),window.addEventListener("mouseup",h)},[r,c]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{onMouseDown:j,className:"w-1 shrink-0 cursor-col-resize hover:bg-accent/40 active:bg-accent/60 transition-colors","aria-hidden":!0}),e.jsx("aside",{style:{width:r},className:N("flex h-full shrink-0 flex-col border-l border-border/60","bg-[oklch(from_var(--background)_calc(l-0.01)_c_h)]"),children:e.jsxs(C,{value:u,onValueChange:l=>m(l),className:"flex flex-col flex-1 min-h-0 overflow-hidden",children:[e.jsx("header",{className:"flex shrink-0 items-center gap-0 border-b border-border/60 px-1",children:e.jsx(S,{variant:"line",className:"h-auto gap-0 p-0 w-full",children:V.map(({id:l,label:f})=>e.jsx(R,{value:l,className:"h-8 flex-none px-3 py-2 text-[11px] font-medium data-[state=active]:after:bg-[color:var(--accent)]",children:f},l))})}),e.jsx(v,{value:"session",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(A,{sessionId:o})}),e.jsx(v,{value:"prompt",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(X,{apiBaseUrl:n,fetch:t,sessionId:o,requestHeaders:i,storageScope:a})}),e.jsx(v,{value:"messages",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(O,{messages:s})})]})})]})}function Y(n,t){return`${(n==null?void 0:n.replace(/\/$/,""))??""}${t}`}function J(n,t){if(!n&&!t)return;const o={...n??{}},s=Object.keys(o).some(i=>i.toLowerCase()==="x-boring-storage-scope");return t&&!s&&(o["x-boring-storage-scope"]=t),o}export{G as DebugDrawer};
1
+ import{r as x,j as e,T as C,a as S,b as R,c as v,d as N,I as T,R as E,B as M,C as $,e as I,f as D,g as L,h as _}from"./index-DuQz_ooq.js";function z({value:n,label:t}){const[o,s]=x.useState(!1),i=x.useCallback(()=>{D(n).then(a=>{a&&(s(!0),window.setTimeout(()=>s(!1),1200))})},[n]);return e.jsx(T,{type:"button",variant:"ghost",size:"icon-xs",onClick:i,className:"text-muted-foreground/60","aria-label":t,title:t,children:o?e.jsx(L,{className:"h-3 w-3"}):e.jsx(_,{className:"h-3 w-3"})})}function w({label:n,value:t}){return e.jsxs("div",{className:"rounded-md border border-border/40 bg-muted/20 p-2",children:[e.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:n}),e.jsx(z,{value:t,label:`Copy ${n}`})]}),e.jsx("code",{className:"block break-all font-mono text-[11px] leading-relaxed text-foreground dark:text-zinc-100",children:t})]})}function A({sessionId:n}){const t=`pi --session ${n}`;return e.jsxs("div",{className:"flex flex-col gap-3 overflow-auto p-3 text-[11px] text-muted-foreground dark:text-zinc-300",children:[e.jsx("p",{className:"text-muted-foreground dark:text-zinc-300",children:"This web chat is backed by a pi session. Use the id below from the workspace root to resume the same conversation in a terminal."}),e.jsx(w,{label:"Pi session id",value:n}),e.jsx(w,{label:"Resume command",value:t}),e.jsxs("p",{className:"rounded-md border border-border/30 bg-muted/10 p-2 text-[10px] leading-relaxed text-muted-foreground dark:text-zinc-300",children:["Tip: ",e.jsx("code",{className:"font-mono text-foreground/80",children:"pi --continue"})," ","opens the most recent session for the current working directory. The explicit command above targets this session directly."]})]})}const P=2500,y=20;function X({apiBaseUrl:n,fetch:t,sessionId:o,requestHeaders:s,storageScope:i}){const[a,r]=x.useState({kind:"loading"}),[c,u]=x.useState(0),m=x.useRef(0),j=x.useCallback(()=>{m.current=0,u(l=>l+1)},[]);return x.useEffect(()=>{let l=!1,f=null;return r({kind:"loading"}),(t??globalThis.fetch.bind(globalThis))(Y(n,`/api/v1/agent/sessions/${encodeURIComponent(o)}/system-prompt`),{headers:J(s,i)}).then(async d=>{var g;if(l)return;if(d.ok){const b=await d.json();if(typeof b.systemPrompt=="string"){m.current=0,r({kind:"ok",text:b.systemPrompt});return}}const h=await d.json().catch(()=>null),p=((g=h==null?void 0:h.error)==null?void 0:g.message)??`HTTP ${d.status}`;d.status===404&&m.current<y?(r({kind:"empty",reason:p}),f=setTimeout(()=>{l||(m.current++,u(b=>b+1))},P)):r(d.status===404?{kind:"empty",reason:p}:{kind:"error",reason:p})}).catch(d=>{l||r({kind:"error",reason:d instanceof Error?d.message:String(d)})}),()=>{l=!0,f&&clearTimeout(f)}},[n,t,o,s,c,i]),e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsxs("div",{className:"shrink-0 flex items-center justify-between px-3 pt-2 pb-1 border-b border-border/40",children:[e.jsx("span",{className:"text-[10px] text-muted-foreground/80 font-mono",children:a.kind==="ok"?`${a.text.length.toLocaleString()} chars`:a.kind==="loading"?"loading…":a.kind==="empty"?`waiting for session · retry ${m.current}/${y}`:"error"}),a.kind!=="loading"&&e.jsx(T,{type:"button",variant:"ghost",size:"icon-xs",onClick:j,className:"text-muted-foreground/60","aria-label":"Refresh system prompt",children:e.jsx(E,{className:"h-3 w-3"})})]}),(a.kind==="loading"||a.kind==="empty")&&e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:a.kind==="loading"?"Loading…":a.reason}),a.kind==="error"&&e.jsx("p",{className:"text-[11px] text-destructive p-3",children:a.reason}),a.kind==="ok"&&e.jsx("pre",{className:"flex-1 overflow-auto px-3 py-2 font-mono text-[11px] leading-relaxed text-foreground whitespace-pre-wrap break-words",children:a.text})]})}function F(n){const t=n,o=(t==null?void 0:t.type)??"?";if(o==="text"){const s=String(t.text??"");return s.slice(0,80)+(s.length>80?"…":"")}if(o==="tool-invocation"){const s=t.toolInvocation,i=String((s==null?void 0:s.state)??"");return`${(s==null?void 0:s.toolName)??"?"}() · ${i}`}if(o==="reasoning"){const s=String(t.text??t.reasoning??"");return s.slice(0,80)+(s.length>80?"…":"")}return o}function H(n){const t=[];for(let o=0;o<n.length;o++){const s=n[o],i=s,a=i.createdAt?new Date(i.createdAt).toISOString().slice(11,23):null;for(let r=0;r<s.parts.length;r++){const c=s.parts[r];t.push({msgId:s.id,msgIndex:o,role:s.role,time:a,partIndex:r,partType:(c==null?void 0:c.type)??"unknown",part:c})}}return t}function O({messages:n}){const t=H(n),[o,s]=x.useState(null),i=x.useRef(null),a=x.useRef(t.length);return x.useEffect(()=>{var r;t.length!==a.current&&((r=i.current)==null||r.scrollIntoView({behavior:"smooth"}),a.current=t.length)},[t.length]),t.length===0?e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:"No messages yet."}):e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsxs("div",{className:"shrink-0 px-3 pt-2 pb-1 text-[10px] text-muted-foreground/80 font-mono border-b border-border/40",children:[n.length," msg · ",t.length," parts"]}),e.jsxs("div",{className:"flex-1 overflow-auto",children:[t.map(r=>{const c=`${r.msgId}:${r.partIndex}`,u=o===c;return e.jsxs("div",{className:"border-b border-border/30 last:border-0",children:[e.jsxs(M,{type:"button",variant:"ghost",onClick:()=>s(u?null:c),className:"h-auto w-full justify-start gap-1.5 rounded-none px-2 py-1.5 text-left",children:[e.jsx("span",{className:"mt-0.5 shrink-0 text-muted-foreground/40",children:u?e.jsx($,{className:"h-3 w-3"}):e.jsx(I,{className:"h-3 w-3"})}),e.jsx("span",{className:"font-mono text-[10px] shrink-0 w-20",children:r.time?e.jsx("span",{className:"text-muted-foreground/60",children:r.time}):e.jsxs("span",{className:"text-muted-foreground/30",children:["m",r.msgIndex]})}),e.jsx("span",{className:N("shrink-0 font-mono text-[10px] w-14",r.role==="user"?"text-accent":"text-muted-foreground"),children:r.role}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60 w-24",children:r.partType}),e.jsx("span",{className:"flex-1 min-w-0 font-mono text-[11px] text-foreground truncate",children:F(r.part)})]}),u&&e.jsx("pre",{className:"px-3 pb-2 font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap break-words bg-muted/20",children:JSON.stringify(r.part,null,2)})]},c)}),e.jsx("div",{ref:i})]})]})}const V=[{id:"session",label:"Session"},{id:"prompt",label:"System prompt"},{id:"messages",label:"Messages"}],K=280,W=800;function G({apiBaseUrl:n,fetch:t,sessionId:o,messages:s,requestHeaders:i,storageScope:a,width:r,onWidthChange:c}){const[u,m]=x.useState("session"),j=x.useCallback(l=>{l.preventDefault();const f=l.clientX,k=r,d=p=>{const g=f-p.clientX;c(Math.min(W,Math.max(K,k+g)))},h=()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",h)};window.addEventListener("mousemove",d),window.addEventListener("mouseup",h)},[r,c]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{onMouseDown:j,className:"w-1 shrink-0 cursor-col-resize hover:bg-accent/40 active:bg-accent/60 transition-colors","aria-hidden":!0}),e.jsx("aside",{style:{width:r},className:N("flex h-full shrink-0 flex-col border-l border-border/60","bg-[oklch(from_var(--background)_calc(l-0.01)_c_h)]"),children:e.jsxs(C,{value:u,onValueChange:l=>m(l),className:"flex flex-col flex-1 min-h-0 overflow-hidden",children:[e.jsx("header",{className:"flex shrink-0 items-center gap-0 border-b border-border/60 px-1",children:e.jsx(S,{variant:"line",className:"h-auto gap-0 p-0 w-full",children:V.map(({id:l,label:f})=>e.jsx(R,{value:l,className:"h-8 flex-none px-3 py-2 text-[11px] font-medium data-[state=active]:after:bg-[color:var(--accent)]",children:f},l))})}),e.jsx(v,{value:"session",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(A,{sessionId:o})}),e.jsx(v,{value:"prompt",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(X,{apiBaseUrl:n,fetch:t,sessionId:o,requestHeaders:i,storageScope:a})}),e.jsx(v,{value:"messages",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(O,{messages:s})})]})})]})}function Y(n,t){return`${(n==null?void 0:n.replace(/\/$/,""))??""}${t}`}function J(n,t){if(!n&&!t)return;const o={...n??{}},s=Object.keys(o).some(i=>i.toLowerCase()==="x-boring-storage-scope");return t&&!s&&(o["x-boring-storage-scope"]=t),o}export{G as DebugDrawer};
@@ -1 +1 @@
1
- import{be as S,bE as ln,aZ as A,bc as P,aY as W,bF as gn,bG as dn,bH as hn,bI as z,bJ as pn,bK as An,bL as N,bf as m,bk as K,bn as T,bM as _n,bi as on,bN as wn,bO as On,a_ as V,bP as bn,bQ as R}from"./index-BXEu5C8e.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||S(n)&&ln(n)==Pn}function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,B=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(x(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Ln(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Sn.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function Nn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function mn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=mn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Kn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Bn=Object.prototype,Hn=Bn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Un;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Qn(n){return this.__data__.has(n)}function v(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}v.prototype.add=v.prototype.push=Jn;v.prototype.has=Qn;function Xn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new v:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Xn(r,function(O,b){if(!tn(o,b)&&(p===O||f(p,O,e,i,t)))return o.push(b)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new N(n),new N(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(L)return L.call(n)==L.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],b=r[d];if(i)var D=s?i(b,O,d,r,n,t):i(O,b,d,n,r,t);if(!(D===void 0?O===b||f(O,b,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",Q="[object Array]",c="[object Object]",wr=Object.prototype,X=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?Q:m(n),h=u?Q:m(r);a=a==J?c:a,h=h==J?c:h;var g=a==c,l=h==c,d=a==h;if(d&&K(n)){if(!K(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&X.call(n,"__wrapped__"),p=l&&X.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var br=1,Pr=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,br|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Lr=2;function Sr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=Nn(e,n);return i===void 0&&i===r?Ir(e,n):F(r,i,Rr|Lr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Sr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&bn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Nr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Kn:Nr,f=arguments.length<3;return i(n,an(r),e,f,G)}var mr=1/0,Kr=R&&1/C(new R([,-0]))[1]==mr?function(n){return new R(n)}:yn,Ur=200;function Jr(n,r,e){var i=-1,f=Ln,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Kr(n);if(h)return C(h);s=!1,f=tn,a=new v}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Hr as b,an as c,vn as d,rn as e,qn as f,Zn as g,En as h,x as i,q as j,M as k,Jr as l,qr as m,Zr as n,cn as o,Gr as p,Cr as q,Yr as r,Un as s,Tr as t,j as u,I as v,nn as w,Ir as x,Dn as y};
1
+ import{be as S,bE as ln,aZ as A,bc as P,aY as W,bF as gn,bG as dn,bH as hn,bI as z,bJ as pn,bK as An,bL as N,bf as m,bk as K,bn as T,bM as _n,bi as on,bN as wn,bO as On,a_ as V,bP as bn,bQ as R}from"./index-DuQz_ooq.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||S(n)&&ln(n)==Pn}function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,B=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(x(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Ln(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Sn.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function Nn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function mn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=mn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Kn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Bn=Object.prototype,Hn=Bn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Un;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Qn(n){return this.__data__.has(n)}function v(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}v.prototype.add=v.prototype.push=Jn;v.prototype.has=Qn;function Xn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new v:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Xn(r,function(O,b){if(!tn(o,b)&&(p===O||f(p,O,e,i,t)))return o.push(b)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new N(n),new N(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(L)return L.call(n)==L.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],b=r[d];if(i)var D=s?i(b,O,d,r,n,t):i(O,b,d,n,r,t);if(!(D===void 0?O===b||f(O,b,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",Q="[object Array]",c="[object Object]",wr=Object.prototype,X=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?Q:m(n),h=u?Q:m(r);a=a==J?c:a,h=h==J?c:h;var g=a==c,l=h==c,d=a==h;if(d&&K(n)){if(!K(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&X.call(n,"__wrapped__"),p=l&&X.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var br=1,Pr=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,br|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Lr=2;function Sr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=Nn(e,n);return i===void 0&&i===r?Ir(e,n):F(r,i,Rr|Lr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Sr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&bn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Nr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Kn:Nr,f=arguments.length<3;return i(n,an(r),e,f,G)}var mr=1/0,Kr=R&&1/C(new R([,-0]))[1]==mr?function(n){return new R(n)}:yn,Ur=200;function Jr(n,r,e){var i=-1,f=Ln,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Kr(n);if(h)return C(h);s=!1,f=tn,a=new v}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Hr as b,an as c,vn as d,rn as e,qn as f,Zn as g,En as h,x as i,q as j,M as k,Jr as l,qr as m,Zr as n,cn as o,Gr as p,Cr as q,Yr as r,Un as s,Tr as t,j as u,I as v,nn as w,Ir as x,Dn as y};
@@ -1 +1 @@
1
- import{a4 as ln,a5 as an,a6 as H,a7 as q,a8 as B,a9 as un,aa as g,ab as tn,ac as L,ad as _,ae as rn,af as o,ag as on,ah as sn,ai as fn}from"./index-BXEu5C8e.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(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,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<g))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,y=c-s,R=m*m+y*y,T=v-A,P=u*c-f*s,S=(y<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*y-m*S)/R,z=(-P*m-y*S)/R,w=(P*y+m*S)/R,p=(-P*m+y*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=gn,I=B(0),D=null,v=yn,A=dn,C=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,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>g))a.moveTo(0,0);else if(F>tn-g)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,y=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>g&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>g){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>g?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>g?(M*=t?1:-1,m+=M,y-=M):(S=0,m=y=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>g){var U=s*H(y),V=s*q(y),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(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>g?x>g?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,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(J,K),a.arc(0,0,s,m,y,!t)):a.moveTo(J,K),!(u>g)||!(P>g)?a.lineTo(N,Q):p>g?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,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[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a4 as ln,a5 as an,a6 as H,a7 as q,a8 as B,a9 as un,aa as g,ab as tn,ac as L,ad as _,ae as rn,af as o,ag as on,ah as sn,ai as fn}from"./index-DuQz_ooq.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(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,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<g))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,y=c-s,R=m*m+y*y,T=v-A,P=u*c-f*s,S=(y<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*y-m*S)/R,z=(-P*m-y*S)/R,w=(P*y+m*S)/R,p=(-P*m+y*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=gn,I=B(0),D=null,v=yn,A=dn,C=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,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>g))a.moveTo(0,0);else if(F>tn-g)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,y=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>g&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>g){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>g?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>g?(M*=t?1:-1,m+=M,y-=M):(S=0,m=y=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>g){var U=s*H(y),V=s*q(y),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(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>g?x>g?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,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(J,K),a.arc(0,0,s,m,y,!t)):a.moveTo(J,K),!(u>g)||!(P>g)?a.lineTo(N,Q):p>g?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,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[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};