@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.
- package/dist/server/cli.js +17 -14
- package/dist/server/pluginDiscovery.js +34 -4
- package/package.json +5 -5
- package/public/assets/{DebugDrawer-DB9C3tZz.js → DebugDrawer-BlCJDpgU.js} +1 -1
- package/public/assets/{_baseUniq-BHrtLO8W.js → _baseUniq-CQTspHXj.js} +1 -1
- package/public/assets/{arc-BTJHwuiF.js → arc-Dn3EcFfz.js} +1 -1
- package/public/assets/{architectureDiagram-Q4EWVU46-CJMeSZx6.js → architectureDiagram-Q4EWVU46-iLdJg35C.js} +1 -1
- package/public/assets/{blockDiagram-DXYQGD6D-D_iRmbs0.js → blockDiagram-DXYQGD6D-B3-6hZGf.js} +1 -1
- package/public/assets/{c4Diagram-AHTNJAMY-DqJK-oCk.js → c4Diagram-AHTNJAMY-RWf97858.js} +1 -1
- package/public/assets/channel-DXHkKrI6.js +1 -0
- package/public/assets/{chunk-4BX2VUAB-DBqhw0eR.js → chunk-4BX2VUAB-B20blPhm.js} +1 -1
- package/public/assets/{chunk-4TB4RGXK-BEbQ9ff5.js → chunk-4TB4RGXK-DJrLse44.js} +1 -1
- package/public/assets/{chunk-55IACEB6-sdAV4otZ.js → chunk-55IACEB6-BrDYbmxU.js} +1 -1
- package/public/assets/{chunk-EDXVE4YY-BGeNOj7f.js → chunk-EDXVE4YY-C4KsCMuA.js} +1 -1
- package/public/assets/{chunk-FMBD7UC4-DwD_gBy0.js → chunk-FMBD7UC4-hGY4A-1n.js} +1 -1
- package/public/assets/{chunk-OYMX7WX6-CjMCkDF3.js → chunk-OYMX7WX6-CyEgirhE.js} +1 -1
- package/public/assets/{chunk-QZHKN3VN-Cot2XaAR.js → chunk-QZHKN3VN-CPv-Jthx.js} +1 -1
- package/public/assets/{chunk-YZCP3GAM-CGX-4Jvn.js → chunk-YZCP3GAM-0tsjAmo9.js} +1 -1
- package/public/assets/classDiagram-6PBFFD2Q-Cj3YsFH2.js +1 -0
- package/public/assets/classDiagram-v2-HSJHXN6E-Cj3YsFH2.js +1 -0
- package/public/assets/clone-3Xssvz1I.js +1 -0
- package/public/assets/{cose-bilkent-S5V4N54A-CDntEO8X.js → cose-bilkent-S5V4N54A-Dl-m6Frh.js} +1 -1
- package/public/assets/{dagre-KV5264BT-ZOVUZI--.js → dagre-KV5264BT-DQP3wSeg.js} +1 -1
- package/public/assets/{diagram-5BDNPKRD-LdjTY2br.js → diagram-5BDNPKRD-alplc-k_.js} +1 -1
- package/public/assets/{diagram-G4DWMVQ6-BWxGregh.js → diagram-G4DWMVQ6-CBHPumOd.js} +1 -1
- package/public/assets/{diagram-MMDJMWI5-CxtOYZMd.js → diagram-MMDJMWI5-CvXWf--o.js} +1 -1
- package/public/assets/{diagram-TYMM5635-ChD56z2q.js → diagram-TYMM5635-gvZ-EkxX.js} +1 -1
- package/public/assets/{erDiagram-SMLLAGMA-B8zSJysM.js → erDiagram-SMLLAGMA-CjhSnGYn.js} +1 -1
- package/public/assets/{flowDiagram-DWJPFMVM-Dqqy7UJT.js → flowDiagram-DWJPFMVM-CgaqCm3c.js} +1 -1
- package/public/assets/{ganttDiagram-T4ZO3ILL-Dn_EJlMH.js → ganttDiagram-T4ZO3ILL-BlvhnATI.js} +1 -1
- package/public/assets/{gitGraphDiagram-UUTBAWPF-BVuaJiec.js → gitGraphDiagram-UUTBAWPF-yhyhmHA7.js} +1 -1
- package/public/assets/{graph-Dj5mmSf2.js → graph-rnx9iaDn.js} +1 -1
- package/public/assets/{highlighted-body-OFNGDK62-Cn9lWz0x.js → highlighted-body-OFNGDK62-tKHN-_gr.js} +1 -1
- package/public/assets/{index-CrmEpxcy.js → index-BPJJue8z.js} +351 -351
- package/public/assets/index-DXiGkioL.css +1 -0
- package/public/assets/{infoDiagram-42DDH7IO-DawFXMLo.js → infoDiagram-42DDH7IO-DjYYk0JG.js} +1 -1
- package/public/assets/{ishikawaDiagram-UXIWVN3A-DBxt-riO.js → ishikawaDiagram-UXIWVN3A-JvEFJu2s.js} +1 -1
- package/public/assets/{journeyDiagram-VCZTEJTY-D50mNLlL.js → journeyDiagram-VCZTEJTY-D1t7N3Dn.js} +1 -1
- package/public/assets/{kanban-definition-6JOO6SKY-CFBUjJCs.js → kanban-definition-6JOO6SKY-CjjCCiUr.js} +1 -1
- package/public/assets/{layout-DEdejLi9.js → layout-CX2vJicd.js} +1 -1
- package/public/assets/{linear-BXKtVmEh.js → linear-DpjpvXl5.js} +1 -1
- package/public/assets/{min-DY1T79Si.js → min-CbVK2TKX.js} +1 -1
- package/public/assets/{mindmap-definition-QFDTVHPH-DbCBDJgc.js → mindmap-definition-QFDTVHPH-JomBKA1R.js} +1 -1
- package/public/assets/{pieDiagram-DEJITSTG-DYgefMzu.js → pieDiagram-DEJITSTG-CZhyWYeR.js} +1 -1
- package/public/assets/{quadrantDiagram-34T5L4WZ-552sDLt-.js → quadrantDiagram-34T5L4WZ-Bo_8shn2.js} +1 -1
- package/public/assets/{requirementDiagram-MS252O5E-DNzvM72W.js → requirementDiagram-MS252O5E-DkiRn7bN.js} +1 -1
- package/public/assets/{sankeyDiagram-XADWPNL6-DKy6TNHm.js → sankeyDiagram-XADWPNL6-DKr0mFTQ.js} +1 -1
- package/public/assets/{sequenceDiagram-FGHM5R23-BQCY2Zf9.js → sequenceDiagram-FGHM5R23-DKVj_u0Q.js} +1 -1
- package/public/assets/{stateDiagram-FHFEXIEX-D7T4Km3f.js → stateDiagram-FHFEXIEX-DkhvGFd4.js} +1 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-C8md5h87.js +1 -0
- package/public/assets/{timeline-definition-GMOUNBTQ-CqlaVFMe.js → timeline-definition-GMOUNBTQ-C9zDLO80.js} +1 -1
- package/public/assets/{vennDiagram-DHZGUBPP-D4C7VzEp.js → vennDiagram-DHZGUBPP-DYqALBXi.js} +1 -1
- package/public/assets/{wardley-RL74JXVD-BYxilceB.js → wardley-RL74JXVD-zD9IKI5D.js} +1 -1
- package/public/assets/{wardleyDiagram-NUSXRM2D-B5Zztop3.js → wardleyDiagram-NUSXRM2D--Gvl0H6L.js} +1 -1
- package/public/assets/{xychartDiagram-5P7HB3ND-CAK4X6lJ.js → xychartDiagram-5P7HB3ND-BB8roQOc.js} +1 -1
- package/public/index.html +2 -2
- package/public/assets/channel-t1oMFJWT.js +0 -1
- package/public/assets/classDiagram-6PBFFD2Q-BgSBQBOf.js +0 -1
- package/public/assets/classDiagram-v2-HSJHXN6E-BgSBQBOf.js +0 -1
- package/public/assets/clone-BBHYjbBI.js +0 -1
- package/public/assets/index-Ciaf_ynY.css +0 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-CYjKpaa0.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -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(
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
23
|
-
"@hachej/boring-
|
|
24
|
-
"@hachej/boring-
|
|
25
|
-
"@hachej/boring-ui-kit": "0.1.
|
|
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-
|
|
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-
|
|
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-
|
|
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};
|