@tea-agent/loop-agent 0.40.0-next.13 → 0.40.0-next.14

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 (70) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README.md +1 -1
  3. package/dist/build-stamp.json +3 -3
  4. package/dist/commands/init-model-catalog.js +22 -0
  5. package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-Wj-fsQlk.js → abnfDiagram-N423BO3Z-B0gRLXJs.js} +1 -1
  6. package/dist/worker/console/static/assets/{arc-CkXT-vzQ.js → arc-DldY0Hsk.js} +1 -1
  7. package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-xlfnojWU.js → architectureDiagram-T3A2C74G-4xHhMRM9.js} +1 -1
  8. package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-BilahvuB.js → blockDiagram-VBNYF7ZC-DPym7n0M.js} +1 -1
  9. package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-DqtAVhjz.js → c4Diagram-5PPSVZJV-cSFzY5yS.js} +1 -1
  10. package/dist/worker/console/static/assets/channel-4xBA5kwn.js +1 -0
  11. package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-pAqQXZ5y.js → chunk-2GRJ4B5K-w-64RMuc.js} +1 -1
  12. package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-BEWxeq2r.js → chunk-2Q5K7J3B-Bvue--jh.js} +1 -1
  13. package/dist/worker/console/static/assets/{chunk-5RXB4S5H-CvlbGDTp.js → chunk-5RXB4S5H-DxqkQnCh.js} +1 -1
  14. package/dist/worker/console/static/assets/{chunk-5VM5RSS4-D0uGd9-f.js → chunk-5VM5RSS4-C83gOKLK.js} +1 -1
  15. package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-DSdWIteg.js → chunk-6Q2QTUOP-C_V6tKAV.js} +1 -1
  16. package/dist/worker/console/static/assets/{chunk-GF5L2VYU-Dweg7f0v.js → chunk-GF5L2VYU-CPvZQuL9.js} +1 -1
  17. package/dist/worker/console/static/assets/{chunk-JWPE2WC7-BpZKI_k7.js → chunk-JWPE2WC7-w31Z_ATM.js} +1 -1
  18. package/dist/worker/console/static/assets/{chunk-KBJHAD2P-IPLknC4m.js → chunk-KBJHAD2P-DermQC9f.js} +1 -1
  19. package/dist/worker/console/static/assets/{chunk-RYQCIY6F-E93k9lVI.js → chunk-RYQCIY6F-CmwaYcnB.js} +1 -1
  20. package/dist/worker/console/static/assets/{chunk-XXDRQBXY-BrESwkPq.js → chunk-XXDRQBXY-DLwZqUBf.js} +1 -1
  21. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-CkefOueI.js +1 -0
  22. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-CkefOueI.js +1 -0
  23. package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-DmFHvJkB.js → cose-bilkent-JH36ORCC-Dzh7bT73.js} +1 -1
  24. package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-CDigXiSL.js → cynefin-VYW2F7L2-CfOcBHtp.js} +1 -1
  25. package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-B0zhrbaA.js → cynefinDiagram-MW4NZA55-D0EbCVDZ.js} +1 -1
  26. package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-DrKybVxm.js → dagre-VZM6K2ZE-MfOFA6PZ.js} +1 -1
  27. package/dist/worker/console/static/assets/{diagram-7IWD3JNH-CeUrnbFk.js → diagram-7IWD3JNH-BOa5-9PN.js} +1 -1
  28. package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-BJyunUMi.js → diagram-B4RE2ZJO-B6zvJ-aL.js} +1 -1
  29. package/dist/worker/console/static/assets/{diagram-LBJQPF4R-a5TBP73u.js → diagram-LBJQPF4R-BKwr5bRF.js} +1 -1
  30. package/dist/worker/console/static/assets/{diagram-Q27KOJAE-ChRgBURJ.js → diagram-Q27KOJAE-PLI5QLpX.js} +1 -1
  31. package/dist/worker/console/static/assets/{diagram-UB23O5K3-CqCnPRSk.js → diagram-UB23O5K3-BgYYME3o.js} +1 -1
  32. package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-BI-UD9_S.js → ebnfDiagram-BXEA7PRR-D-SpjXk2.js} +1 -1
  33. package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-CDLvvkYZ.js → erDiagram-JOGREHBK--JHpEOka.js} +1 -1
  34. package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-Heoo4afj.js → flowDiagram-UKHOOZJN-CbkQgWUz.js} +1 -1
  35. package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-kFpOitHd.js → ganttDiagram-PKOTCBZU-CTZMAMVE.js} +1 -1
  36. package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-FvyZ9WAY.js → gitGraphDiagram-DS77QQ5N-BaUGSDig.js} +1 -1
  37. package/dist/worker/console/static/assets/{index-C80SO8y0.js → index-C4mO0i6P.js} +34 -34
  38. package/dist/worker/console/static/assets/{index-CmJCHmJP.css → index-C86Y55Or.css} +1 -1
  39. package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-HBzlwtgI.js → infoDiagram-6WML65LV-DA3WbWjf.js} +1 -1
  40. package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-C9Iim5sm.js → ishikawaDiagram-WSZJBQD7-DbhI82U4.js} +1 -1
  41. package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-CJwJTg0S.js → journeyDiagram-NVQOT4AX-CJKA3OBG.js} +1 -1
  42. package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-CZNJ7S4q.js → kanban-definition-27J2QSJJ-CF6dIVRa.js} +1 -1
  43. package/dist/worker/console/static/assets/{linear-RZ0AnGi8.js → linear-D4dEtOUL.js} +1 -1
  44. package/dist/worker/console/static/assets/{mermaid.core-EYSdm-nd.js → mermaid.core-ClhMic6O.js} +5 -5
  45. package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-D0OLECFN.js → mindmap-definition-FAOFIHXS-NfRin7S2.js} +1 -1
  46. package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-CPTvGbh7.js → pegDiagram-VL7TDLO6-DlBtBwW-.js} +1 -1
  47. package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-Ddc1aDea.js → pieDiagram-7S7Q4E2Y-DdIkNHZO.js} +1 -1
  48. package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-CWCTCdAt.js → quadrantDiagram-CIZ2JOQS-YD8T98WX.js} +1 -1
  49. package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-CfsaBL8E.js → railroadDiagram-AXF67PYL-CS4e5zGK.js} +1 -1
  50. package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-BH2rqGf6.js → requirementDiagram-LRYGKXZP-BpbWoL9r.js} +1 -1
  51. package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-BZgJ1Til.js → sankeyDiagram-W5VNT64P-DvWy-Mc9.js} +1 -1
  52. package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-DmPr-o-y.js → sequenceDiagram-SI44F4Z6-DmoXH5pJ.js} +1 -1
  53. package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-CF6HzDh_.js → sizeCapture-X5ZJPWSS-BY89V1SW.js} +1 -1
  54. package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-DhS8N_B9.js → stateDiagram-OKZ733FA-DaK2Iuqr.js} +1 -1
  55. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-DLc5WD-z.js +1 -0
  56. package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-CYNzoiaD.js → swimlanes-SLNWSIFB-VVcozat-.js} +2 -2
  57. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-DhjxpI7d.js +8 -0
  58. package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-QBICF5qH.js → timeline-definition-Z64GVDOM-D4l1E4Mu.js} +1 -1
  59. package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-fquBvWcf.js → vennDiagram-T6HMQDX7-CJmewqcq.js} +1 -1
  60. package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-BYaJLlSd.js → wardleyDiagram-T6FBY63Y-CsCCYorj.js} +1 -1
  61. package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M--ePe_JCJ.js → xychartDiagram-ELKLHX3M-CwjILi0N.js} +1 -1
  62. package/dist/worker/console/static/index.html +2 -2
  63. package/docs/templates/init-managed-agents.md +1 -1
  64. package/package.json +1 -1
  65. package/skills/loop-agent/references/command-reference.md +1 -1
  66. package/dist/worker/console/static/assets/channel-SnQ_u-Td.js +0 -1
  67. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-SGM51NVY.js +0 -1
  68. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-SGM51NVY.js +0 -1
  69. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-N56zxwsk.js +0 -1
  70. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-o47kGgVt.js +0 -8
package/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ - Operator Chat 输入框下方的「调用记录」入口现在会常驻显示;没有记录时显示为 0,发送消息或刷新运行状态时不再突然消失。
6
+ - 初始化选择模型时现在能识别公司内部 `wizard-local` 的 AICoder 型号梯度:`aicoder-default`、`aicoder-plus`、`aicoder-pro`、`aicoder-max` 从左到右能力逐级增强;它会作为选择 LOW/MED/HIGH 的参考,但不会忽略成本和项目需求机械分档。
7
+ - 修复 Operator Chat 左侧栏工作区名称过长时遮挡悬浮「更多」「新建对话」按钮的问题:工作区行改为 flex 行布局,名称过长时单行省略,操作按钮改为行尾占位显示,悬浮背景整行连续无断层。
5
8
  - 修复 Console 轨迹视图引用未声明 CSS 自定义属性导致仓库发布门禁失败的问题,补齐品牌色、警告色与字体别名并保持现有视觉回退值。
6
9
 
7
10
  ### 重点更新
package/README.md CHANGED
@@ -54,7 +54,7 @@ loop-agent init doctor --repo-root .
54
54
  loop-agent inspect --repo-root .
55
55
  ```
56
56
 
57
- `init model-catalog` 会通过 Pi runtime 与 OpenCode 的非 verbose 列表发现本机可用模型,只输出白名单模型元数据、Pi setup 状态和 provider 凭据就绪状态,不输出原始配置或凭据。已有 LOW/MED/HIGH 只要仍存在于 Pi 就保持不变;只有已移除或缺失的档位才由模型结合项目、能力、成本和上下文窗口重选。如果 Pi 没有模型定义,初始化模型会先向用户补齐 provider/model、API/base URL、上下文窗口、最大输出等无法推断的信息并协助配置;如果只是凭据缺失,则保留 harness 选择并修复认证。初始化会保留已有用户内容,并补充 `AGENTS.md`、`harness.json`、`ai_workspace/loop-agent/`、`.agents/skills/`、`.harness/` 和验证脚本等治理入口。
57
+ `init model-catalog` 会通过 Pi runtime 与 OpenCode 的非 verbose 列表发现本机可用模型,只输出白名单模型元数据、Pi setup 状态和 provider 凭据就绪状态,不输出原始配置或凭据。已有 LOW/MED/HIGH 只要仍存在于 Pi 就保持不变;只有已移除或缺失的档位才由模型结合项目、能力、成本和上下文窗口重选。对于 `wizard-local` provider,目录会识别 `aicoder-default < aicoder-plus < aicoder-pro < aicoder-max` 的家族内相对能力顺序,但不会把它机械绑定为固定三档。如果 Pi 没有模型定义,初始化模型会先向用户补齐 provider/model、API/base URL、上下文窗口、最大输出等无法推断的信息并协助配置;如果只是凭据缺失,则保留 harness 选择并修复认证。初始化会保留已有用户内容,并补充 `AGENTS.md`、`harness.json`、`ai_workspace/loop-agent/`、`.agents/skills/`、`.harness/` 和验证脚本等治理入口。
58
58
 
59
59
  控制器升级后,旧项目可能仍使用过期的 repo-local skills、模板、managed blocks 和治理说明。普通安全仓库命令结束时会自动检测目标项目是否需要对齐:非 TTY 只向 stderr 输出提示且不写入目标;TTY 且无 human decisions、无活跃 DAG/Worker 时,可经明确 `y/yes` 同意后应用 deterministic safe actions;也可手动运行统一入口:
60
60
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.40.0-next.13",
4
- "gitSha": "2a9f73db71dd14939e3b4210e31eafccfdcb9e95",
5
- "builtAt": "2026-08-30T05:42:37.606Z"
3
+ "version": "0.40.0-next.14",
4
+ "gitSha": "4a8185d1e0c0203f2d68c11f5c779b8130145252",
5
+ "builtAt": "2026-08-30T06:48:39.207Z"
6
6
  }
@@ -31,8 +31,28 @@ function sanitizeInputKinds(value) {
31
31
  .sort();
32
32
  return entries.length > 0 ? entries : undefined;
33
33
  }
34
+ const AICODER_CAPABILITY_RANK = {
35
+ "aicoder-default": 1,
36
+ "aicoder-plus": 2,
37
+ "aicoder-pro": 3,
38
+ "aicoder-max": 4,
39
+ };
40
+ function relativeCapabilityForModelId(provider, modelId) {
41
+ if (provider !== "wizard-local")
42
+ return undefined;
43
+ const rank = AICODER_CAPABILITY_RANK[modelId];
44
+ if (!rank)
45
+ return undefined;
46
+ return {
47
+ family: "aicoder",
48
+ rank,
49
+ scale: 4,
50
+ order: "weakest-to-strongest",
51
+ };
52
+ }
34
53
  function createCatalogEntry(input) {
35
54
  const piCompatible = input.source === "pi";
55
+ const relativeCapability = relativeCapabilityForModelId(input.provider, input.modelId);
36
56
  return {
37
57
  reference: `${input.provider}/${input.modelId}`,
38
58
  provider: input.provider,
@@ -42,6 +62,7 @@ function createCatalogEntry(input) {
42
62
  credentialReady: input.credentialReady,
43
63
  piCompatible,
44
64
  eligibleForHarness: piCompatible && input.credentialReady === true && input.tools !== false,
65
+ ...(relativeCapability ? { relativeCapability } : {}),
45
66
  ...(compactRecord({
46
67
  reasoning: input.reasoning,
47
68
  tools: input.tools,
@@ -448,6 +469,7 @@ export async function discoverInitModelCatalog(options) {
448
469
  rules: [
449
470
  "Choose only models with eligibleForHarness=true; OpenCode-only entries are context, not proof of Pi executor compatibility.",
450
471
  "Use target-project evidence plus model capabilities, cost, context window, and credential readiness; tiers may intentionally share a model.",
472
+ "When relativeCapability is present, compare only entries from the same family and treat larger rank values as stronger; it is a relative capability hint, not a mandatory LOW/MED/HIGH assignment.",
451
473
  "Preserve an existing complete usable matrix unless it is unavailable or the user asked to reselect it.",
452
474
  "Ask the user only for a material unresolved credential, cost, compliance, or availability decision.",
453
475
  ],
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-DSdWIteg.js";import{p as f}from"./chunk-JWPE2WC7-BpZKI_k7.js";import{_ as n,l as o}from"./mermaid.core-EYSdm-nd.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-CDigXiSL.js";import"./index-C80SO8y0.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-C_V6tKAV.js";import{p as f}from"./chunk-JWPE2WC7-w31Z_ATM.js";import{_ as n,l as o}from"./mermaid.core-ClhMic6O.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-CfOcBHtp.js";import"./index-C4mO0i6P.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-EYSdm-nd.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-ClhMic6O.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};