@hachej/boring-ui-cli 0.1.32 → 0.1.34

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 (62) hide show
  1. package/dist/server/cli.js +17 -14
  2. package/dist/server/pluginDiscovery.js +34 -4
  3. package/package.json +5 -5
  4. package/public/assets/{DebugDrawer-DB9C3tZz.js → DebugDrawer-BlCJDpgU.js} +1 -1
  5. package/public/assets/{_baseUniq-BHrtLO8W.js → _baseUniq-CQTspHXj.js} +1 -1
  6. package/public/assets/{arc-BTJHwuiF.js → arc-Dn3EcFfz.js} +1 -1
  7. package/public/assets/{architectureDiagram-Q4EWVU46-CJMeSZx6.js → architectureDiagram-Q4EWVU46-iLdJg35C.js} +1 -1
  8. package/public/assets/{blockDiagram-DXYQGD6D-D_iRmbs0.js → blockDiagram-DXYQGD6D-B3-6hZGf.js} +1 -1
  9. package/public/assets/{c4Diagram-AHTNJAMY-DqJK-oCk.js → c4Diagram-AHTNJAMY-RWf97858.js} +1 -1
  10. package/public/assets/channel-DXHkKrI6.js +1 -0
  11. package/public/assets/{chunk-4BX2VUAB-DBqhw0eR.js → chunk-4BX2VUAB-B20blPhm.js} +1 -1
  12. package/public/assets/{chunk-4TB4RGXK-BEbQ9ff5.js → chunk-4TB4RGXK-DJrLse44.js} +1 -1
  13. package/public/assets/{chunk-55IACEB6-sdAV4otZ.js → chunk-55IACEB6-BrDYbmxU.js} +1 -1
  14. package/public/assets/{chunk-EDXVE4YY-BGeNOj7f.js → chunk-EDXVE4YY-C4KsCMuA.js} +1 -1
  15. package/public/assets/{chunk-FMBD7UC4-DwD_gBy0.js → chunk-FMBD7UC4-hGY4A-1n.js} +1 -1
  16. package/public/assets/{chunk-OYMX7WX6-CjMCkDF3.js → chunk-OYMX7WX6-CyEgirhE.js} +1 -1
  17. package/public/assets/{chunk-QZHKN3VN-Cot2XaAR.js → chunk-QZHKN3VN-CPv-Jthx.js} +1 -1
  18. package/public/assets/{chunk-YZCP3GAM-CGX-4Jvn.js → chunk-YZCP3GAM-0tsjAmo9.js} +1 -1
  19. package/public/assets/classDiagram-6PBFFD2Q-Cj3YsFH2.js +1 -0
  20. package/public/assets/classDiagram-v2-HSJHXN6E-Cj3YsFH2.js +1 -0
  21. package/public/assets/clone-3Xssvz1I.js +1 -0
  22. package/public/assets/{cose-bilkent-S5V4N54A-CDntEO8X.js → cose-bilkent-S5V4N54A-Dl-m6Frh.js} +1 -1
  23. package/public/assets/{dagre-KV5264BT-ZOVUZI--.js → dagre-KV5264BT-DQP3wSeg.js} +1 -1
  24. package/public/assets/{diagram-5BDNPKRD-LdjTY2br.js → diagram-5BDNPKRD-alplc-k_.js} +1 -1
  25. package/public/assets/{diagram-G4DWMVQ6-BWxGregh.js → diagram-G4DWMVQ6-CBHPumOd.js} +1 -1
  26. package/public/assets/{diagram-MMDJMWI5-CxtOYZMd.js → diagram-MMDJMWI5-CvXWf--o.js} +1 -1
  27. package/public/assets/{diagram-TYMM5635-ChD56z2q.js → diagram-TYMM5635-gvZ-EkxX.js} +1 -1
  28. package/public/assets/{erDiagram-SMLLAGMA-B8zSJysM.js → erDiagram-SMLLAGMA-CjhSnGYn.js} +1 -1
  29. package/public/assets/{flowDiagram-DWJPFMVM-Dqqy7UJT.js → flowDiagram-DWJPFMVM-CgaqCm3c.js} +1 -1
  30. package/public/assets/{ganttDiagram-T4ZO3ILL-Dn_EJlMH.js → ganttDiagram-T4ZO3ILL-BlvhnATI.js} +1 -1
  31. package/public/assets/{gitGraphDiagram-UUTBAWPF-BVuaJiec.js → gitGraphDiagram-UUTBAWPF-yhyhmHA7.js} +1 -1
  32. package/public/assets/{graph-Dj5mmSf2.js → graph-rnx9iaDn.js} +1 -1
  33. package/public/assets/{highlighted-body-OFNGDK62-Cn9lWz0x.js → highlighted-body-OFNGDK62-tKHN-_gr.js} +1 -1
  34. package/public/assets/{index-CrmEpxcy.js → index-BPJJue8z.js} +351 -351
  35. package/public/assets/index-DXiGkioL.css +1 -0
  36. package/public/assets/{infoDiagram-42DDH7IO-DawFXMLo.js → infoDiagram-42DDH7IO-DjYYk0JG.js} +1 -1
  37. package/public/assets/{ishikawaDiagram-UXIWVN3A-DBxt-riO.js → ishikawaDiagram-UXIWVN3A-JvEFJu2s.js} +1 -1
  38. package/public/assets/{journeyDiagram-VCZTEJTY-D50mNLlL.js → journeyDiagram-VCZTEJTY-D1t7N3Dn.js} +1 -1
  39. package/public/assets/{kanban-definition-6JOO6SKY-CFBUjJCs.js → kanban-definition-6JOO6SKY-CjjCCiUr.js} +1 -1
  40. package/public/assets/{layout-DEdejLi9.js → layout-CX2vJicd.js} +1 -1
  41. package/public/assets/{linear-BXKtVmEh.js → linear-DpjpvXl5.js} +1 -1
  42. package/public/assets/{min-DY1T79Si.js → min-CbVK2TKX.js} +1 -1
  43. package/public/assets/{mindmap-definition-QFDTVHPH-DbCBDJgc.js → mindmap-definition-QFDTVHPH-JomBKA1R.js} +1 -1
  44. package/public/assets/{pieDiagram-DEJITSTG-DYgefMzu.js → pieDiagram-DEJITSTG-CZhyWYeR.js} +1 -1
  45. package/public/assets/{quadrantDiagram-34T5L4WZ-552sDLt-.js → quadrantDiagram-34T5L4WZ-Bo_8shn2.js} +1 -1
  46. package/public/assets/{requirementDiagram-MS252O5E-DNzvM72W.js → requirementDiagram-MS252O5E-DkiRn7bN.js} +1 -1
  47. package/public/assets/{sankeyDiagram-XADWPNL6-DKy6TNHm.js → sankeyDiagram-XADWPNL6-DKr0mFTQ.js} +1 -1
  48. package/public/assets/{sequenceDiagram-FGHM5R23-BQCY2Zf9.js → sequenceDiagram-FGHM5R23-DKVj_u0Q.js} +1 -1
  49. package/public/assets/{stateDiagram-FHFEXIEX-D7T4Km3f.js → stateDiagram-FHFEXIEX-DkhvGFd4.js} +1 -1
  50. package/public/assets/stateDiagram-v2-QKLJ7IA2-C8md5h87.js +1 -0
  51. package/public/assets/{timeline-definition-GMOUNBTQ-CqlaVFMe.js → timeline-definition-GMOUNBTQ-C9zDLO80.js} +1 -1
  52. package/public/assets/{vennDiagram-DHZGUBPP-D4C7VzEp.js → vennDiagram-DHZGUBPP-DYqALBXi.js} +1 -1
  53. package/public/assets/{wardley-RL74JXVD-BYxilceB.js → wardley-RL74JXVD-zD9IKI5D.js} +1 -1
  54. package/public/assets/{wardleyDiagram-NUSXRM2D-B5Zztop3.js → wardleyDiagram-NUSXRM2D--Gvl0H6L.js} +1 -1
  55. package/public/assets/{xychartDiagram-5P7HB3ND-CAK4X6lJ.js → xychartDiagram-5P7HB3ND-BB8roQOc.js} +1 -1
  56. package/public/index.html +2 -2
  57. package/public/assets/channel-t1oMFJWT.js +0 -1
  58. package/public/assets/classDiagram-6PBFFD2Q-BgSBQBOf.js +0 -1
  59. package/public/assets/classDiagram-v2-HSJHXN6E-BgSBQBOf.js +0 -1
  60. package/public/assets/clone-BBHYjbBI.js +0 -1
  61. package/public/assets/index-Ciaf_ynY.css +0 -1
  62. package/public/assets/stateDiagram-v2-QKLJ7IA2-CYjKpaa0.js +0 -1
@@ -9,11 +9,6 @@ import { basename, dirname, isAbsolute, join, resolve } from "node:path";
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { parseArgs } from "node:util";
11
11
  import { createLocalWorkspaceRegistry } from "./localWorkspaces.js";
12
- import {
13
- createCliPluginAssetManager,
14
- getGlobalPiExtensionsRoot,
15
- resolveCliBoringPluginDirs
16
- } from "./pluginDiscovery.js";
17
12
  const MODE_MAP = {
18
13
  "local": "direct",
19
14
  // no sandbox, full network access
@@ -152,6 +147,7 @@ const HELP_TEXT = [
152
147
  "Commands:",
153
148
  " boring-ui [workspace] Start the workspace UI for a folder",
154
149
  " boring-ui workspaces <subcommand> Manage saved local workspaces",
150
+ " boring-ui plugin <subcommand> Install, list, and remove plugin sources",
155
151
  "",
156
152
  "Options:",
157
153
  " -p, --port <port> HTTP port (default: 5200)",
@@ -289,19 +285,21 @@ function buildRuntimePluginDiagnosticsResponse(args) {
289
285
  async function createFolderModeApp(opts) {
290
286
  const workspaceRoot = resolve(opts.workspaceRoot);
291
287
  const projectName = opts.projectName ?? (basename(workspaceRoot) || "workspace");
292
- const [{ createWorkspaceAgentServer, readWorkspacePluginPackageRuntimePlugins }, { createPluginFrontRuntimeHost }] = await Promise.all([
288
+ const [{ createWorkspaceAgentServer, readWorkspacePluginPackageRuntimePlugins }, { createPluginFrontRuntimeHost }, pluginDiscovery] = await Promise.all([
293
289
  import("@hachej/boring-workspace/app/server"),
294
- import("./pluginFrontRuntime.js")
290
+ import("./pluginFrontRuntime.js"),
291
+ import("./pluginDiscovery.js")
295
292
  ]);
296
293
  const diagnosticsStore = createRuntimePluginDiagnosticsStore();
297
294
  const runtimeHost = await createPluginFrontRuntimeHost({
298
295
  onDiagnostic: (diagnostic) => diagnosticsStore.record(diagnostic)
299
296
  });
297
+ const pluginDirs = pluginDiscovery.resolveCliBoringPluginDirs(workspaceRoot);
300
298
  const runtimeProvisioning = await provisionCliWorkspaceRuntime({
301
299
  workspaceRoot,
302
300
  mode: opts.mode,
303
301
  provisionWorkspace: opts.provisionWorkspace,
304
- plugins: readWorkspacePluginPackageRuntimePlugins(resolveCliBoringPluginDirs(workspaceRoot))
302
+ plugins: readWorkspacePluginPackageRuntimePlugins(pluginDirs)
305
303
  });
306
304
  const app = await createWorkspaceAgentServer({
307
305
  workspaceRoot,
@@ -309,7 +307,7 @@ async function createFolderModeApp(opts) {
309
307
  logger: false,
310
308
  provisionWorkspace: false,
311
309
  runtimeProvisioning,
312
- additionalBoringPluginDirs: [getGlobalPiExtensionsRoot()],
310
+ additionalBoringPluginDirs: pluginDirs,
313
311
  boringPluginFrontTargetResolver: runtimeHost.createFrontTargetResolver(FOLDER_RUNTIME_PLUGIN_WORKSPACE_ID),
314
312
  boringPluginIncludeLegacyFrontUrl: false
315
313
  });
@@ -370,12 +368,13 @@ ${projectName}`);
370
368
  openBrowser(url);
371
369
  }
372
370
  async function createWorkspacesModeApp(opts) {
373
- const [workspaceAppServer, workspaceServer, agentServer, fastifyModule, { createPluginFrontRuntimeHost }] = await Promise.all([
371
+ const [workspaceAppServer, workspaceServer, agentServer, fastifyModule, { createPluginFrontRuntimeHost }, pluginDiscovery] = await Promise.all([
374
372
  import("@hachej/boring-workspace/app/server"),
375
373
  import("@hachej/boring-workspace/server"),
376
374
  import("@hachej/boring-agent/server"),
377
375
  import("fastify"),
378
- import("./pluginFrontRuntime.js")
376
+ import("./pluginFrontRuntime.js"),
377
+ import("./pluginDiscovery.js")
379
378
  ]);
380
379
  const registry = createLocalWorkspaceRegistry(opts.registryPath);
381
380
  const app = fastifyModule.default({ logger: false, bodyLimit: 16 * 1024 * 1024 });
@@ -416,7 +415,7 @@ async function createWorkspacesModeApp(opts) {
416
415
  const key = pluginRuntimeKey(workspace);
417
416
  let runtime = pluginRuntimes.get(key);
418
417
  if (!runtime) {
419
- const manager = createCliPluginAssetManager(workspace.path, {
418
+ const manager = pluginDiscovery.createCliPluginAssetManager(workspace.path, {
420
419
  frontTargetResolver: runtimeHost.createFrontTargetResolver(workspace.id),
421
420
  includeLegacyFrontUrl: false
422
421
  });
@@ -521,7 +520,7 @@ async function createWorkspacesModeApp(opts) {
521
520
  provisionWorkspace: opts.provisionWorkspace,
522
521
  adapter: provisioningAdapter,
523
522
  runtimeLayout,
524
- plugins: workspaceAppServer.readWorkspacePluginPackageRuntimePlugins(resolveCliBoringPluginDirs(workspaceRoot))
523
+ plugins: workspaceAppServer.readWorkspacePluginPackageRuntimePlugins(pluginDiscovery.resolveCliBoringPluginDirs(workspaceRoot))
525
524
  });
526
525
  runtimeProvisioningByWorkspace.set(workspaceId, provisioned);
527
526
  return provisioned;
@@ -679,7 +678,6 @@ async function startWorkspacesMode(opts) {
679
678
  console.log(` workspaces ${registry.path}`);
680
679
  console.log(` ${initialUrl} ready
681
680
  `);
682
- if (await checkAuth() === 0) console.log(AUTH_GUIDE);
683
681
  openBrowser(initialUrl);
684
682
  }
685
683
  async function handleWorkspacesCommand(opts) {
@@ -724,6 +722,11 @@ async function handleWorkspacesCommand(opts) {
724
722
  await startWorkspacesMode(opts);
725
723
  }
726
724
  async function runCli(options) {
725
+ if (options.argv?.[0] === "plugin") {
726
+ const { runBoringUiPluginCli } = await import("@hachej/boring-ui-plugin-cli");
727
+ await runBoringUiPluginCli(options.argv.slice(1));
728
+ return;
729
+ }
727
730
  const { values: args, positionals } = parseArgs({
728
731
  args: options.argv,
729
732
  options: {
@@ -1,21 +1,51 @@
1
1
  #!/usr/bin/env node
2
2
  import { homedir } from "node:os";
3
- import { join, resolve } from "node:path";
3
+ import { dirname, join, resolve } from "node:path";
4
4
  import {
5
5
  BoringPluginAssetManager
6
6
  } from "@hachej/boring-workspace/server";
7
7
  import {
8
8
  readWorkspacePluginPackagePiSnapshot
9
9
  } from "@hachej/boring-workspace/app/server";
10
+ import {
11
+ readPluginSourceRecords,
12
+ resolvePluginSourceScopePaths
13
+ } from "@hachej/boring-ui-plugin-cli";
10
14
  function getGlobalPiExtensionsRoot(options = {}) {
11
15
  return resolve(options.globalRoot ?? join(homedir(), ".pi", "agent", "extensions"));
12
16
  }
17
+ function getGlobalPiAgentRoot(options = {}) {
18
+ return resolve(options.globalAgentRoot ?? dirname(getGlobalPiExtensionsRoot(options)));
19
+ }
13
20
  function resolveCliBoringPluginDirs(workspaceRoot, options = {}) {
21
+ const resolvedWorkspaceRoot = resolve(workspaceRoot);
22
+ const globalAgentRoot = getGlobalPiAgentRoot(options);
23
+ const globalScope = resolvePluginSourceScopePaths("global", { globalRoot: globalAgentRoot });
24
+ const localScope = resolvePluginSourceScopePaths("local", { workspaceRoot: resolvedWorkspaceRoot });
25
+ const packageSources = [
26
+ ...readPluginSourceRecords(globalScope),
27
+ ...readPluginSourceRecords(localScope)
28
+ ];
14
29
  const roots = [
15
- getGlobalPiExtensionsRoot(options),
16
- resolve(workspaceRoot, ".pi", "extensions")
30
+ { rootDir: getGlobalPiExtensionsRoot(options), kind: "external" },
31
+ { rootDir: globalScope.npmDir, kind: "external" },
32
+ { rootDir: globalScope.gitDir, kind: "external" },
33
+ { rootDir: localScope.extensionsDir, kind: "external", workspaceId: resolvedWorkspaceRoot },
34
+ { rootDir: localScope.npmDir, kind: "external", workspaceId: resolvedWorkspaceRoot },
35
+ { rootDir: localScope.gitDir, kind: "external", workspaceId: resolvedWorkspaceRoot },
36
+ ...packageSources.map((record) => ({
37
+ rootDir: record.rootDir,
38
+ kind: "external",
39
+ ...record.scope === "local" ? { workspaceId: resolvedWorkspaceRoot } : {}
40
+ }))
17
41
  ];
18
- return [...new Set(roots)];
42
+ const seen = /* @__PURE__ */ new Set();
43
+ return roots.filter((root) => {
44
+ const key = resolve(typeof root === "string" ? root : root.rootDir);
45
+ if (seen.has(key)) return false;
46
+ seen.add(key);
47
+ return true;
48
+ });
19
49
  }
20
50
  function readCliPluginPiSnapshot(workspaceRoot, options = {}) {
21
51
  return readWorkspacePluginPackagePiSnapshot(resolveCliBoringPluginDirs(workspaceRoot, options));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hachej/boring-ui-cli",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "description": "Turn an agent into an app",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,10 +19,10 @@
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.32",
23
- "@hachej/boring-ui-plugin-cli": "0.1.32",
24
- "@hachej/boring-workspace": "0.1.32",
25
- "@hachej/boring-ui-kit": "0.1.32"
22
+ "@hachej/boring-agent": "0.1.34",
23
+ "@hachej/boring-workspace": "0.1.34",
24
+ "@hachej/boring-ui-plugin-cli": "0.1.34",
25
+ "@hachej/boring-ui-kit": "0.1.34"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@tailwindcss/vite": "^4.0.0",
@@ -1 +1 @@
1
- import{r as c,j as e,T as N,a as y,b as T,c as b,d as k,I as w,R as S,B as C,C as R,e as E,f as M,g as I,h as D}from"./index-CrmEpxcy.js";function $({value:o,label:s}){const[n,t]=c.useState(!1),l=c.useCallback(()=>{M(o).then(x=>{x&&(t(!0),window.setTimeout(()=>t(!1),1200))})},[o]);return e.jsx(w,{type:"button",variant:"ghost",size:"icon-xs",onClick:l,className:"text-muted-foreground/60","aria-label":s,title:s,children:n?e.jsx(I,{className:"h-3 w-3"}):e.jsx(D,{className:"h-3 w-3"})})}function j({label:o,value:s}){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/80",children:o}),e.jsx($,{value:s,label:`Copy ${o}`})]}),e.jsx("code",{className:"block break-all font-mono text-[11px] leading-relaxed text-foreground dark:text-zinc-100",children:s})]})}function _({sessionId:o}){const s=`pi --session ${o}`;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(j,{label:"Pi session id",value:o}),e.jsx(j,{label:"Resume command",value:s}),e.jsxs("p",{className:"rounded-md border border-border/30 bg-muted/10 p-2 text-[10px] leading-relaxed text-muted-foreground/75 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 L=2500,v=20;function z({sessionId:o,requestHeaders:s}){const[n,t]=c.useState({kind:"loading"}),[l,x]=c.useState(0),r=c.useRef(0),d=c.useCallback(()=>{r.current=0,x(a=>a+1)},[]);return c.useEffect(()=>{let a=!1,m=null;t({kind:"loading"});const g=s?{headers:s}:void 0;return fetch(`/api/v1/agent/sessions/${encodeURIComponent(o)}/system-prompt`,g).then(async i=>{var f;if(a)return;if(i.ok){const h=await i.json();if(typeof h.systemPrompt=="string"){r.current=0,t({kind:"ok",text:h.systemPrompt});return}}const u=await i.json().catch(()=>null),p=((f=u==null?void 0:u.error)==null?void 0:f.message)??`HTTP ${i.status}`;i.status===404&&r.current<v?(t({kind:"empty",reason:p}),m=setTimeout(()=>{a||(r.current++,x(h=>h+1))},L)):t(i.status===404?{kind:"empty",reason:p}:{kind:"error",reason:p})}).catch(i=>{a||t({kind:"error",reason:i instanceof Error?i.message:String(i)})}),()=>{a=!0,m&&clearTimeout(m)}},[o,s,l]),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:n.kind==="ok"?`${n.text.length.toLocaleString()} chars`:n.kind==="loading"?"loading…":n.kind==="empty"?`waiting for session · retry ${r.current}/${v}`:"error"}),n.kind!=="loading"&&e.jsx(w,{type:"button",variant:"ghost",size:"icon-xs",onClick:d,className:"text-muted-foreground/60","aria-label":"Refresh system prompt",children:e.jsx(S,{className:"h-3 w-3"})})]}),(n.kind==="loading"||n.kind==="empty")&&e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:n.kind==="loading"?"Loading…":n.reason}),n.kind==="error"&&e.jsx("p",{className:"text-[11px] text-destructive p-3",children:n.reason}),n.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:n.text})]})}function A(o){const s=o,n=(s==null?void 0:s.type)??"?";if(n==="text"){const t=String(s.text??"");return t.slice(0,80)+(t.length>80?"…":"")}if(n==="tool-invocation"){const t=s.toolInvocation,l=String((t==null?void 0:t.state)??"");return`${(t==null?void 0:t.toolName)??"?"}() · ${l}`}if(n==="reasoning"){const t=String(s.text??s.reasoning??"");return t.slice(0,80)+(t.length>80?"…":"")}return n}function B(o){const s=[];for(let n=0;n<o.length;n++){const t=o[n],l=t,x=l.createdAt?new Date(l.createdAt).toISOString().slice(11,23):null;for(let r=0;r<t.parts.length;r++){const d=t.parts[r];s.push({msgId:t.id,msgIndex:n,role:t.role,time:x,partIndex:r,partType:(d==null?void 0:d.type)??"unknown",part:d})}}return s}function P({messages:o}){const s=B(o),[n,t]=c.useState(null),l=c.useRef(null),x=c.useRef(s.length);return c.useEffect(()=>{var r;s.length!==x.current&&((r=l.current)==null||r.scrollIntoView({behavior:"smooth"}),x.current=s.length)},[s.length]),s.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:[o.length," msg · ",s.length," parts"]}),e.jsxs("div",{className:"flex-1 overflow-auto",children:[s.map(r=>{const d=`${r.msgId}:${r.partIndex}`,a=n===d;return e.jsxs("div",{className:"border-b border-border/30 last:border-0",children:[e.jsxs(C,{type:"button",variant:"ghost",onClick:()=>t(a?null:d),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:a?e.jsx(R,{className:"h-3 w-3"}):e.jsx(E,{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:k("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:A(r.part)})]}),a&&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)})]},d)}),e.jsx("div",{ref:l})]})]})}const X=[{id:"session",label:"Session"},{id:"prompt",label:"System prompt"},{id:"messages",label:"Messages"}],U=280,V=800;function O({sessionId:o,messages:s,requestHeaders:n,width:t,onWidthChange:l}){const[x,r]=c.useState("session"),d=c.useCallback(a=>{a.preventDefault();const m=a.clientX,g=t,i=p=>{const f=m-p.clientX;l(Math.min(V,Math.max(U,g+f)))},u=()=>{window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",u)};window.addEventListener("mousemove",i),window.addEventListener("mouseup",u)},[t,l]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{onMouseDown:d,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:t},className:k("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(N,{value:x,onValueChange:a=>r(a),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(y,{variant:"line",className:"h-auto gap-0 p-0 w-full",children:X.map(({id:a,label:m})=>e.jsx(T,{value:a,className:"h-8 flex-none px-3 py-2 text-[11px] font-medium data-[state=active]:after:bg-[color:var(--accent)]",children:m},a))})}),e.jsx(b,{value:"session",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(_,{sessionId:o})}),e.jsx(b,{value:"prompt",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(z,{sessionId:o,requestHeaders:n})}),e.jsx(b,{value:"messages",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(P,{messages:s})})]})})]})}export{O as DebugDrawer};
1
+ import{r as c,j as e,T as N,a as y,b as T,c as b,d as k,I as w,R as S,B as C,C as R,e as E,f as M,g as I,h as D}from"./index-BPJJue8z.js";function $({value:o,label:s}){const[n,t]=c.useState(!1),l=c.useCallback(()=>{M(o).then(x=>{x&&(t(!0),window.setTimeout(()=>t(!1),1200))})},[o]);return e.jsx(w,{type:"button",variant:"ghost",size:"icon-xs",onClick:l,className:"text-muted-foreground/60","aria-label":s,title:s,children:n?e.jsx(I,{className:"h-3 w-3"}):e.jsx(D,{className:"h-3 w-3"})})}function j({label:o,value:s}){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/80",children:o}),e.jsx($,{value:s,label:`Copy ${o}`})]}),e.jsx("code",{className:"block break-all font-mono text-[11px] leading-relaxed text-foreground dark:text-zinc-100",children:s})]})}function _({sessionId:o}){const s=`pi --session ${o}`;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(j,{label:"Pi session id",value:o}),e.jsx(j,{label:"Resume command",value:s}),e.jsxs("p",{className:"rounded-md border border-border/30 bg-muted/10 p-2 text-[10px] leading-relaxed text-muted-foreground/75 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 L=2500,v=20;function z({sessionId:o,requestHeaders:s}){const[n,t]=c.useState({kind:"loading"}),[l,x]=c.useState(0),r=c.useRef(0),d=c.useCallback(()=>{r.current=0,x(a=>a+1)},[]);return c.useEffect(()=>{let a=!1,m=null;t({kind:"loading"});const g=s?{headers:s}:void 0;return fetch(`/api/v1/agent/sessions/${encodeURIComponent(o)}/system-prompt`,g).then(async i=>{var f;if(a)return;if(i.ok){const h=await i.json();if(typeof h.systemPrompt=="string"){r.current=0,t({kind:"ok",text:h.systemPrompt});return}}const u=await i.json().catch(()=>null),p=((f=u==null?void 0:u.error)==null?void 0:f.message)??`HTTP ${i.status}`;i.status===404&&r.current<v?(t({kind:"empty",reason:p}),m=setTimeout(()=>{a||(r.current++,x(h=>h+1))},L)):t(i.status===404?{kind:"empty",reason:p}:{kind:"error",reason:p})}).catch(i=>{a||t({kind:"error",reason:i instanceof Error?i.message:String(i)})}),()=>{a=!0,m&&clearTimeout(m)}},[o,s,l]),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:n.kind==="ok"?`${n.text.length.toLocaleString()} chars`:n.kind==="loading"?"loading…":n.kind==="empty"?`waiting for session · retry ${r.current}/${v}`:"error"}),n.kind!=="loading"&&e.jsx(w,{type:"button",variant:"ghost",size:"icon-xs",onClick:d,className:"text-muted-foreground/60","aria-label":"Refresh system prompt",children:e.jsx(S,{className:"h-3 w-3"})})]}),(n.kind==="loading"||n.kind==="empty")&&e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:n.kind==="loading"?"Loading…":n.reason}),n.kind==="error"&&e.jsx("p",{className:"text-[11px] text-destructive p-3",children:n.reason}),n.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:n.text})]})}function A(o){const s=o,n=(s==null?void 0:s.type)??"?";if(n==="text"){const t=String(s.text??"");return t.slice(0,80)+(t.length>80?"…":"")}if(n==="tool-invocation"){const t=s.toolInvocation,l=String((t==null?void 0:t.state)??"");return`${(t==null?void 0:t.toolName)??"?"}() · ${l}`}if(n==="reasoning"){const t=String(s.text??s.reasoning??"");return t.slice(0,80)+(t.length>80?"…":"")}return n}function B(o){const s=[];for(let n=0;n<o.length;n++){const t=o[n],l=t,x=l.createdAt?new Date(l.createdAt).toISOString().slice(11,23):null;for(let r=0;r<t.parts.length;r++){const d=t.parts[r];s.push({msgId:t.id,msgIndex:n,role:t.role,time:x,partIndex:r,partType:(d==null?void 0:d.type)??"unknown",part:d})}}return s}function P({messages:o}){const s=B(o),[n,t]=c.useState(null),l=c.useRef(null),x=c.useRef(s.length);return c.useEffect(()=>{var r;s.length!==x.current&&((r=l.current)==null||r.scrollIntoView({behavior:"smooth"}),x.current=s.length)},[s.length]),s.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:[o.length," msg · ",s.length," parts"]}),e.jsxs("div",{className:"flex-1 overflow-auto",children:[s.map(r=>{const d=`${r.msgId}:${r.partIndex}`,a=n===d;return e.jsxs("div",{className:"border-b border-border/30 last:border-0",children:[e.jsxs(C,{type:"button",variant:"ghost",onClick:()=>t(a?null:d),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:a?e.jsx(R,{className:"h-3 w-3"}):e.jsx(E,{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:k("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:A(r.part)})]}),a&&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)})]},d)}),e.jsx("div",{ref:l})]})]})}const X=[{id:"session",label:"Session"},{id:"prompt",label:"System prompt"},{id:"messages",label:"Messages"}],U=280,V=800;function O({sessionId:o,messages:s,requestHeaders:n,width:t,onWidthChange:l}){const[x,r]=c.useState("session"),d=c.useCallback(a=>{a.preventDefault();const m=a.clientX,g=t,i=p=>{const f=m-p.clientX;l(Math.min(V,Math.max(U,g+f)))},u=()=>{window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",u)};window.addEventListener("mousemove",i),window.addEventListener("mouseup",u)},[t,l]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{onMouseDown:d,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:t},className:k("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(N,{value:x,onValueChange:a=>r(a),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(y,{variant:"line",className:"h-auto gap-0 p-0 w-full",children:X.map(({id:a,label:m})=>e.jsx(T,{value:a,className:"h-8 flex-none px-3 py-2 text-[11px] font-medium data-[state=active]:after:bg-[color:var(--accent)]",children:m},a))})}),e.jsx(b,{value:"session",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(_,{sessionId:o})}),e.jsx(b,{value:"prompt",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(z,{sessionId:o,requestHeaders:n})}),e.jsx(b,{value:"messages",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(P,{messages:s})})]})})]})}export{O 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-CrmEpxcy.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-BPJJue8z.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-CrmEpxcy.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-BPJJue8z.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};