@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.
- package/dist/server/cli.js +19 -580
- package/dist/server/modeApps.js +626 -0
- package/dist/server/pluginDiscovery.js +25 -4
- package/dist/server/pluginFrontRuntime.js +67 -17
- package/package.json +6 -5
- package/public/assets/{DebugDrawer-DC7YYrof.js → DebugDrawer-DnJihn7d.js} +1 -1
- package/public/assets/{_baseUniq-DWcImnmH.js → _baseUniq-Css5uykF.js} +1 -1
- package/public/assets/{arc-DDLmX1AG.js → arc-CnfZXaWe.js} +1 -1
- package/public/assets/{architectureDiagram-Q4EWVU46-B38ghbjL.js → architectureDiagram-Q4EWVU46-BANSd98t.js} +1 -1
- package/public/assets/{blockDiagram-DXYQGD6D-Bp07F26G.js → blockDiagram-DXYQGD6D-Cd6iEbZF.js} +1 -1
- package/public/assets/{c4Diagram-AHTNJAMY-Dcu6Qx6c.js → c4Diagram-AHTNJAMY-9WJupXFB.js} +1 -1
- package/public/assets/channel-Cn1SBioe.js +1 -0
- package/public/assets/{chunk-4BX2VUAB-DC5-ge26.js → chunk-4BX2VUAB-DEE8UItM.js} +1 -1
- package/public/assets/{chunk-4TB4RGXK-WI3HSrJ9.js → chunk-4TB4RGXK-Bf4S3aFF.js} +1 -1
- package/public/assets/{chunk-55IACEB6-DphRtKl9.js → chunk-55IACEB6-rumvIfCQ.js} +1 -1
- package/public/assets/{chunk-EDXVE4YY-VsnZ7w9d.js → chunk-EDXVE4YY-B41LsR8o.js} +1 -1
- package/public/assets/{chunk-FMBD7UC4-DU-cVjgu.js → chunk-FMBD7UC4-Cq0MvVHl.js} +1 -1
- package/public/assets/{chunk-OYMX7WX6-B1l0Dpt4.js → chunk-OYMX7WX6-AEfKb-L7.js} +1 -1
- package/public/assets/{chunk-QZHKN3VN-38IXLFlx.js → chunk-QZHKN3VN-BnF9Mgjw.js} +1 -1
- package/public/assets/{chunk-YZCP3GAM-eY6KeIEv.js → chunk-YZCP3GAM-CVhtG4Yd.js} +1 -1
- package/public/assets/classDiagram-6PBFFD2Q-B7iAGzAt.js +1 -0
- package/public/assets/classDiagram-v2-HSJHXN6E-B7iAGzAt.js +1 -0
- package/public/assets/clone-CKRPa4Cx.js +1 -0
- package/public/assets/{cose-bilkent-S5V4N54A-YEoqfW_D.js → cose-bilkent-S5V4N54A-BAlza9SS.js} +1 -1
- package/public/assets/{dagre-KV5264BT-B45m1NxI.js → dagre-KV5264BT-DXC-wg6w.js} +1 -1
- package/public/assets/{diagram-5BDNPKRD-B5ZXQlWh.js → diagram-5BDNPKRD-DQ_JZ2v6.js} +1 -1
- package/public/assets/{diagram-G4DWMVQ6-C1ynjN78.js → diagram-G4DWMVQ6-BV1_oXdH.js} +1 -1
- package/public/assets/{diagram-MMDJMWI5-D4hAUvca.js → diagram-MMDJMWI5-CBT9iuoD.js} +1 -1
- package/public/assets/{diagram-TYMM5635-B3agZWj-.js → diagram-TYMM5635-2gLQa-5c.js} +1 -1
- package/public/assets/{erDiagram-SMLLAGMA-CH2AxsAT.js → erDiagram-SMLLAGMA-BlACgWIF.js} +1 -1
- package/public/assets/{flowDiagram-DWJPFMVM-DDgdNECT.js → flowDiagram-DWJPFMVM-C3a4Cakw.js} +1 -1
- package/public/assets/{ganttDiagram-T4ZO3ILL-CzvQW97t.js → ganttDiagram-T4ZO3ILL-BvO6eI9n.js} +1 -1
- package/public/assets/{gitGraphDiagram-UUTBAWPF-DcQZPPMD.js → gitGraphDiagram-UUTBAWPF-CNRpcuUc.js} +1 -1
- package/public/assets/{graph-CD4bwX_-.js → graph-BGcM9Vra.js} +1 -1
- package/public/assets/{highlighted-body-OFNGDK62-CiM51uH6.js → highlighted-body-OFNGDK62-DFAlA8ty.js} +1 -1
- package/public/assets/{index-BXEu5C8e.js → index-DuQz_ooq.js} +471 -466
- package/public/assets/index-o6MvaI3V.css +1 -0
- package/public/assets/{infoDiagram-42DDH7IO-nwmufYgw.js → infoDiagram-42DDH7IO-tqWZWhv9.js} +1 -1
- package/public/assets/{ishikawaDiagram-UXIWVN3A-CAAuAFim.js → ishikawaDiagram-UXIWVN3A-BSrhE5rT.js} +1 -1
- package/public/assets/{journeyDiagram-VCZTEJTY-jPt0NUc6.js → journeyDiagram-VCZTEJTY-p4zWU15s.js} +1 -1
- package/public/assets/{kanban-definition-6JOO6SKY-BkWE1oIv.js → kanban-definition-6JOO6SKY-Bh1g0QjZ.js} +1 -1
- package/public/assets/{layout-DVywqgnM.js → layout-gyEZgedN.js} +1 -1
- package/public/assets/{linear-D5rTUKEy.js → linear-D_hzHorE.js} +1 -1
- package/public/assets/{min-CGxxs3H9.js → min-DuaweV_G.js} +1 -1
- package/public/assets/{mindmap-definition-QFDTVHPH-C5Bv0ezi.js → mindmap-definition-QFDTVHPH-Bd9cPaCZ.js} +1 -1
- package/public/assets/{pieDiagram-DEJITSTG-C4KdtVZ8.js → pieDiagram-DEJITSTG-BtC28nvk.js} +1 -1
- package/public/assets/{quadrantDiagram-34T5L4WZ-Cz9vL8Q6.js → quadrantDiagram-34T5L4WZ-D4l6_MzD.js} +1 -1
- package/public/assets/{requirementDiagram-MS252O5E-B80rbkJK.js → requirementDiagram-MS252O5E-C1iUHr18.js} +1 -1
- package/public/assets/{sankeyDiagram-XADWPNL6-Cn-nZLaG.js → sankeyDiagram-XADWPNL6-OVDB_8ZR.js} +1 -1
- package/public/assets/{sequenceDiagram-FGHM5R23-A6IunKM0.js → sequenceDiagram-FGHM5R23-BDavACVC.js} +1 -1
- package/public/assets/{stateDiagram-FHFEXIEX-BR6MAf9n.js → stateDiagram-FHFEXIEX-q8RwQFTP.js} +1 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-BoiN-2KM.js +1 -0
- package/public/assets/{timeline-definition-GMOUNBTQ-4cDx4FT9.js → timeline-definition-GMOUNBTQ-y0_Knxi9.js} +1 -1
- package/public/assets/{vennDiagram-DHZGUBPP-_CpmLhQd.js → vennDiagram-DHZGUBPP-DbnSIyoN.js} +1 -1
- package/public/assets/{wardley-RL74JXVD-CSa4wbmw.js → wardley-RL74JXVD-CIj9kuqP.js} +1 -1
- package/public/assets/{wardleyDiagram-NUSXRM2D-DY8-GDoy.js → wardleyDiagram-NUSXRM2D--fILgFoZ.js} +1 -1
- package/public/assets/{xychartDiagram-5P7HB3ND-Dbdvqxtm.js → xychartDiagram-5P7HB3ND-YFiXEsiS.js} +1 -1
- package/public/index.html +2 -2
- package/public/assets/channel-DqOmgrq9.js +0 -1
- package/public/assets/classDiagram-6PBFFD2Q-Fjgbctha.js +0 -1
- package/public/assets/classDiagram-v2-HSJHXN6E-Fjgbctha.js +0 -1
- package/public/assets/clone-CpoJL_n1.js +0 -1
- package/public/assets/index-hl1JXpgN.css +0 -1
- 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 (
|
|
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
|
|
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(
|
|
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
|
-
|
|
670
|
-
|
|
671
|
-
|
|
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
|
|
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 (
|
|
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.
|
|
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.
|
|
23
|
-
"@hachej/boring-ui-
|
|
24
|
-
"@hachej/boring-ui-
|
|
25
|
-
"@hachej/boring-
|
|
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-
|
|
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-
|
|
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-
|
|
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};
|