@tea-agent/loop-agent 0.41.0-next.1 → 0.41.0-next.3

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 (72) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/build-stamp.json +3 -3
  3. package/dist/task/config-types.js +2 -0
  4. package/dist/worker/console/pi-plugins.js +3 -1
  5. package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-CV1qyRbn.js → abnfDiagram-N423BO3Z-DwVJxUxz.js} +1 -1
  6. package/dist/worker/console/static/assets/{arc-B_ljC4ma.js → arc-DqfCcXdu.js} +1 -1
  7. package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-DTBqsauL.js → architectureDiagram-T3A2C74G-qMVtggRv.js} +1 -1
  8. package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-CMZj6nYE.js → blockDiagram-VBNYF7ZC-ECrV38dh.js} +1 -1
  9. package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-C4ey_S7v.js → c4Diagram-5PPSVZJV-DBaaLqQv.js} +1 -1
  10. package/dist/worker/console/static/assets/channel-CL1NRAmS.js +1 -0
  11. package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-CGcAlY6Z.js → chunk-2GRJ4B5K-BvfNHkAz.js} +1 -1
  12. package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-XRSM64J1.js → chunk-2Q5K7J3B-C5StiIbc.js} +1 -1
  13. package/dist/worker/console/static/assets/{chunk-5RXB4S5H-COSIFYbz.js → chunk-5RXB4S5H-HabGiJkS.js} +1 -1
  14. package/dist/worker/console/static/assets/{chunk-5VM5RSS4-BwuaXiOK.js → chunk-5VM5RSS4-BiTg127i.js} +1 -1
  15. package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-DNbFuVlv.js → chunk-6Q2QTUOP-CZsXBPuR.js} +1 -1
  16. package/dist/worker/console/static/assets/{chunk-GF5L2VYU-C4DZKffE.js → chunk-GF5L2VYU-D-r1MxLK.js} +1 -1
  17. package/dist/worker/console/static/assets/{chunk-JWPE2WC7-M3A6iczx.js → chunk-JWPE2WC7-DQxb9plr.js} +1 -1
  18. package/dist/worker/console/static/assets/{chunk-KBJHAD2P-C5zDzQEM.js → chunk-KBJHAD2P-DMndGvCT.js} +1 -1
  19. package/dist/worker/console/static/assets/{chunk-RYQCIY6F-uAcUDub8.js → chunk-RYQCIY6F-ByL4BgOJ.js} +1 -1
  20. package/dist/worker/console/static/assets/{chunk-XXDRQBXY-EPpz2uSP.js → chunk-XXDRQBXY-BVe1b1gL.js} +1 -1
  21. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-PBGzzjZA.js +1 -0
  22. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-PBGzzjZA.js +1 -0
  23. package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-BAkfFGTf.js → cose-bilkent-JH36ORCC-BAyGzN8j.js} +1 -1
  24. package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-Cjb4d22A.js → cynefin-VYW2F7L2-C5yVYU7E.js} +1 -1
  25. package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-Cf7QSgcu.js → cynefinDiagram-MW4NZA55-x-MwsEm9.js} +1 -1
  26. package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-UlyVBCtl.js → dagre-VZM6K2ZE-CT5Tle5F.js} +1 -1
  27. package/dist/worker/console/static/assets/{diagram-7IWD3JNH-DWdRAZ8p.js → diagram-7IWD3JNH-BARERhlS.js} +1 -1
  28. package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-Y2ag2Pm0.js → diagram-B4RE2ZJO-BwfUz0VM.js} +1 -1
  29. package/dist/worker/console/static/assets/{diagram-LBJQPF4R-DBHcuPXI.js → diagram-LBJQPF4R-Mk4r2WvJ.js} +1 -1
  30. package/dist/worker/console/static/assets/{diagram-Q27KOJAE-BK7eno2C.js → diagram-Q27KOJAE-KUrxuBs0.js} +1 -1
  31. package/dist/worker/console/static/assets/{diagram-UB23O5K3-Dbyku82r.js → diagram-UB23O5K3-CjZOceZn.js} +1 -1
  32. package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR--rS0Q41A.js → ebnfDiagram-BXEA7PRR-rnwUCiEI.js} +1 -1
  33. package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-Cms8pJeK.js → erDiagram-JOGREHBK-DM4j23FM.js} +1 -1
  34. package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-DouONwBy.js → flowDiagram-UKHOOZJN-DD5HdDEs.js} +1 -1
  35. package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-DuKB5yDe.js → ganttDiagram-PKOTCBZU-CIAGSF47.js} +1 -1
  36. package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-DE6zp0SI.js → gitGraphDiagram-DS77QQ5N-DbwFbVEL.js} +1 -1
  37. package/dist/worker/console/static/assets/index-BfleX-qj.css +1 -0
  38. package/dist/worker/console/static/assets/{index-C39zQYik.js → index-Bih9w9h9.js} +37 -37
  39. package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-BLETv9SH.js → infoDiagram-6WML65LV-B-Pb0T66.js} +1 -1
  40. package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-DyU-2lJb.js → ishikawaDiagram-WSZJBQD7-B9Unk-YX.js} +1 -1
  41. package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-BotFSygt.js → journeyDiagram-NVQOT4AX-C2F3JkPt.js} +1 -1
  42. package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-CqcAMgVk.js → kanban-definition-27J2QSJJ-Bl8-Xcoz.js} +1 -1
  43. package/dist/worker/console/static/assets/{linear-Bf4U8h5G.js → linear-yK4uZmC5.js} +1 -1
  44. package/dist/worker/console/static/assets/{mermaid.core-D0JEVefG.js → mermaid.core-Bpa6PmuE.js} +5 -5
  45. package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-DEFgNgOo.js → mindmap-definition-FAOFIHXS-BfGRoCSe.js} +1 -1
  46. package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-CirKhxo1.js → pegDiagram-VL7TDLO6-Bz6_HtST.js} +1 -1
  47. package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-BlaQYInF.js → pieDiagram-7S7Q4E2Y-i0Umbsby.js} +1 -1
  48. package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-BbyzqH4U.js → quadrantDiagram-CIZ2JOQS-DaVQBobe.js} +1 -1
  49. package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-qA-XykV6.js → railroadDiagram-AXF67PYL-DMTGnSq7.js} +1 -1
  50. package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-Cc85Zcxc.js → requirementDiagram-LRYGKXZP-2ao_DaSq.js} +1 -1
  51. package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-CS7BVnoH.js → sankeyDiagram-W5VNT64P-2SG1lTB9.js} +1 -1
  52. package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-DMQ-kKmZ.js → sequenceDiagram-SI44F4Z6-BQYOLybR.js} +1 -1
  53. package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-DXKs1dcE.js → sizeCapture-X5ZJPWSS-C8g3yjuI.js} +1 -1
  54. package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-xG1ti87X.js → stateDiagram-OKZ733FA-q_F8nAQG.js} +1 -1
  55. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-DrxGBDJu.js +1 -0
  56. package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-BQwmKGHd.js → swimlanes-SLNWSIFB-8LrWpH2s.js} +2 -2
  57. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-BhpDxzAf.js +8 -0
  58. package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-BwL9oHtP.js → timeline-definition-Z64GVDOM-BQoY3qzl.js} +1 -1
  59. package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-BWk-i_Y1.js → vennDiagram-T6HMQDX7-BDu1UjSp.js} +1 -1
  60. package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-DAvETpEZ.js → wardleyDiagram-T6FBY63Y-C48M7Y0a.js} +1 -1
  61. package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-Cd4pASnF.js → xychartDiagram-ELKLHX3M-YU6FTl_F.js} +1 -1
  62. package/dist/worker/console/static/index.html +2 -2
  63. package/dist/worker/observe/static/views/dag-inspector.js +2 -7
  64. package/dist/worker/observe/static/views/session-timeline.js +46 -15
  65. package/dist/workflows/dag/init-hybrid.js +2 -2
  66. package/package.json +1 -1
  67. package/dist/worker/console/static/assets/channel-BvYm_83n.js +0 -1
  68. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-BNdy3f9F.js +0 -1
  69. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-BNdy3f9F.js +0 -1
  70. package/dist/worker/console/static/assets/index-Crixt9tN.css +0 -1
  71. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-tYINJZ8x.js +0 -1
  72. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-OoBOXPiG.js +0 -8
package/CHANGELOG.md CHANGED
@@ -1,7 +1,21 @@
1
- # 更新日志
1
+ # 更新日志
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ - 修复 DAG 节点「执行过程」导出 HTML 在内网反代/子路径部署下整页样式丢失的问题:导出不再写死从主机根抓 /inspect/styles.css(反代下 404 后静默回退兜底样式,按钮与卡片样式全丢),改为直接复用页面实际加载的样式表地址(相对当前页面解析,任何部署形态都拿到同一份 CSS,多张样式表合并);导出文档 body 补 data-shell 属性让内联页面 CSS 的设计令牌与前缀规则原生命中;兜底样式补充最小按钮样式。
6
+ - 修复 DAG 检查器节点「执行过程」导出 HTML 在系统深色模式下黑底黑字不可读的问题:导出文档自带完整的 `:root` 颜色变量定义(页面样式变量挂在 `body[data-shell]` 选择器下、独立导出文档不生效)并强制 light 配色,深色系统打开导出文件正文对比度恢复正常(15.4:1)。
7
+ - 修复「Pi 插件」安装时内网 Nexus 拉 scoped 包(如 `@0xkobold/pi-ollama`)版本列表失败的问题:包名整段编码不再把 `%2F` 还原成字面 `/`,与 npm 客户端请求形式一致,npmjs.org 与内网 Nexus 均正常返回。
8
+ - 「Pi 插件」安装版本下拉增加加载过渡:内网拉取版本较慢时显示行内小转圈「正在获取版本…」并暂禁确认按钮;获取失败显示「版本获取失败,将安装最新」并可一键重试,不阻塞安装流程。
9
+ - backend-test 新增 `backendTest.executeTimeoutMs`,可为 readiness 授权的单次 pytest/HTML 执行节点配置 1 分钟至 2 小时的每命令超时;省略时仍为 5 分钟,不影响其他节点、DAG 外层 wall-clock 或 fail-closed 判定。
10
+ - 修复 Console 对话页「轨迹」视图刷新页面后工具行耗时全部变成 0ms/消失的问题:会话恢复投影现在会从持久化事件环回填每次工具调用的真实起止时间(tool_call 发起 → tool_result 返回),刷新/重开历史会话后 bash、write 等工具行继续显示真实耗时(如 20.0s、16ms);事件环已裁剪的旧记录不再显示误导性的「0ms」而是留空。
11
+ - 修复 Console 对话页「轨迹」视图窄窗口(≤720px)下工具行耗时列被整体隐藏的问题:工具名列本身可收缩省略,无需靠隐藏耗时信息防挤爆,任何窗口宽度都显示耗时。
12
+ - Console 对话页「轨迹」视图新增每轮遥测头行(对标 DSH「请求 #N」记录):从服务端持久化事件环按轮折叠出步骤数、LLM 时长、首 token 延迟、解码吞吐(tok/s)、工具调用数与耗时、上下行 token(含缓存读/写计入上行)与成本,切到历史会话立即显示;「导出 HTML」同步输出该行。
13
+ - Console 对话页「轨迹」视图「展开」按钮改为按实际溢出显隐:渲染后实测文本宽度并用 ResizeObserver 跟随容器尺寸,拉宽面板后能放下的行不再显示按钮,收窄时自动恢复;展开态恒显「收起」。
14
+ - Console 对话页「轨迹」视图「会话注入」区在服务端冷启动 Pi 会话期间(首次打开历史会话约 1 秒)显示加载占位行,不再空白后突然出现;注入读取失败也会显示错误提示。
15
+ - 修复 Console 对话页轨迹/工具目录数据在多工作区控制台恒为空的问题:capabilities 请求补带 `?workspaceId=`(会话所属工作区优先),工具目录与注入区正常显示 61 个模型可见工具。
16
+ - 修复轨迹遥测只在收到流式事件后才显示的问题:会话切换/激活与重连恢复两条 hydrate 路径现在都会带上按轮遥测数据。
17
+ - Console 对话页「轨迹」视图新增「会话注入」区(对标 DSH SYSTEM 记录):在轨迹顶部展示真实注入 Pi 会话的系统提示词全文(含字符数与注入上下文 suffix)与模型可见工具目录(工具 ID、动作、描述),均可展开/收起;「导出 HTML」同步包含该区块,离线导出也能审查完整注入面。
18
+ - 修复 Console 对话页「轨迹」视图工具行(如 bash)展开后参数与结果仍被截断在 420 字符的问题:展开现在显示完整内容(块内滚动收纳长输出),并复用聊天工具卡同款的结果解包与参数格式化,HTML 导出同步生效。
5
19
  - 对话中的长时间 DAG 执行现在会保留一条实时状态:持续显示总运行时间、当前阶段、完成步数和最近一次有效进展;重复等待不再堆叠,点击状态可以直接查看对应 DAG。模型仍会在阶段变化、重要发现、失败恢复和结束时,用自然语言说明刚完成什么、下一步做什么。
6
20
 
7
21
  ## [0.40.0] - 2026-08-31
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.41.0-next.1",
4
- "gitSha": "082093199826919c9699608265a26e4840207421",
5
- "builtAt": "2026-08-31T02:28:34.598Z"
3
+ "version": "0.41.0-next.3",
4
+ "gitSha": "415e6550e0f80c34ad76f60627098bc31e5cf1b5",
5
+ "builtAt": "2026-08-31T04:42:02.462Z"
6
6
  }
@@ -149,6 +149,8 @@ export const backendTestConfigSchema = z
149
149
  executeScope: z.enum(["affected", "all"]).optional(),
150
150
  /** Backend-test-only workspace mutation control; omitted means Git guard. */
151
151
  workspaceControl: z.enum(["git", "filesystem-only"]).optional(),
152
+ /** Per-command timeout for the readiness-authorized pytest/HTML execution node. */
153
+ executeTimeoutMs: z.number().int().min(60_000).max(7_200_000).optional(),
152
154
  })
153
155
  .strict()
154
156
  .optional();
@@ -98,7 +98,9 @@ function getNpmRegistry() {
98
98
  /** 从 npm 配置的仓库拉取某包的全部已发布版本 + latest。 */
99
99
  export async function listPiPluginVersions(name) {
100
100
  const registry = (await getNpmRegistry()).replace(/\/+$/, "");
101
- const url = `${registry}/${encodeURIComponent(name).replace(/%2F/g, "/")}`;
101
+ // scoped 包名整段编码(@scope/name → %40scope%2Fname):与 npm 客户端请求
102
+ // packument 的形式一致,npmjs.org 与内网 Nexus(要求 %2F 不还原)都接受。
103
+ const url = `${registry}/${encodeURIComponent(name)}`;
102
104
  try {
103
105
  const res = await fetch(url, {
104
106
  headers: { accept: "application/json", "user-agent": "loop-agent/1.0" },
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-DNbFuVlv.js";import{p as f}from"./chunk-JWPE2WC7-M3A6iczx.js";import{_ as n,l as o}from"./mermaid.core-D0JEVefG.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-Cjb4d22A.js";import"./index-C39zQYik.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
1
+ import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-CZsXBPuR.js";import{p as f}from"./chunk-JWPE2WC7-DQxb9plr.js";import{_ as n,l as o}from"./mermaid.core-Bpa6PmuE.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-C5yVYU7E.js";import"./index-Bih9w9h9.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
@@ -1 +1 @@
1
- import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-D0JEVefG.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-Bpa6PmuE.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};