@tea-agent/loop-agent 0.39.0-next.23 → 0.39.0-next.24

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 (78) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/build-stamp.json +2 -2
  3. package/dist/executors/pi-event-serializer.js +42 -1
  4. package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-tnlecWET.js → abnfDiagram-N423BO3Z-C4kVYweA.js} +1 -1
  5. package/dist/worker/console/static/assets/{arc-LVmtsShq.js → arc-Bj2M8iO5.js} +1 -1
  6. package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-Bot2nhjX.js → architectureDiagram-T3A2C74G-CLlXe4-6.js} +1 -1
  7. package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-B8wcEMRC.js → blockDiagram-VBNYF7ZC-psEp5xH0.js} +1 -1
  8. package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-Cj4_jsBk.js → c4Diagram-5PPSVZJV-DeKcOCGJ.js} +1 -1
  9. package/dist/worker/console/static/assets/channel-CPF4N7pf.js +1 -0
  10. package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-indAMcNl.js → chunk-2GRJ4B5K-K0C744p1.js} +1 -1
  11. package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-BoVy7yeK.js → chunk-2Q5K7J3B-xbNw4J9-.js} +1 -1
  12. package/dist/worker/console/static/assets/{chunk-5RXB4S5H-BluRngmE.js → chunk-5RXB4S5H-DjLaSDUO.js} +1 -1
  13. package/dist/worker/console/static/assets/{chunk-5VM5RSS4-DyBfxRXh.js → chunk-5VM5RSS4-CtiPlKel.js} +1 -1
  14. package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-DEQqTXL2.js → chunk-6Q2QTUOP-DZtolir7.js} +1 -1
  15. package/dist/worker/console/static/assets/{chunk-GF5L2VYU-KUGA4ndX.js → chunk-GF5L2VYU-CPcdNeew.js} +1 -1
  16. package/dist/worker/console/static/assets/{chunk-JWPE2WC7-DfXKSh2I.js → chunk-JWPE2WC7-NgHc6V37.js} +1 -1
  17. package/dist/worker/console/static/assets/{chunk-KBJHAD2P-BSnwJm3J.js → chunk-KBJHAD2P-DQ_T-hg8.js} +1 -1
  18. package/dist/worker/console/static/assets/{chunk-RYQCIY6F-DeEfgdtO.js → chunk-RYQCIY6F-DgLsxcVP.js} +1 -1
  19. package/dist/worker/console/static/assets/{chunk-XXDRQBXY-avXbO4RW.js → chunk-XXDRQBXY-UrVoM9z1.js} +1 -1
  20. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-C2DwA_Y1.js +1 -0
  21. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-C2DwA_Y1.js +1 -0
  22. package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-CpfsIlv4.js → cose-bilkent-JH36ORCC-CLkYvTb3.js} +1 -1
  23. package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-Bspf3ng8.js → cynefin-VYW2F7L2-BwT_xKrE.js} +1 -1
  24. package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-BJGfcaVQ.js → cynefinDiagram-MW4NZA55-Bi9tuzif.js} +1 -1
  25. package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-DvBTZtam.js → dagre-VZM6K2ZE-BCIqkWBV.js} +1 -1
  26. package/dist/worker/console/static/assets/{diagram-7IWD3JNH-BUJCj_7u.js → diagram-7IWD3JNH-Dip6l9_Z.js} +1 -1
  27. package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-CrpLm_RP.js → diagram-B4RE2ZJO-B-xkh_wK.js} +1 -1
  28. package/dist/worker/console/static/assets/{diagram-LBJQPF4R-Dt5sd0fM.js → diagram-LBJQPF4R-DZO0kTt_.js} +1 -1
  29. package/dist/worker/console/static/assets/{diagram-Q27KOJAE-FE0WGVt3.js → diagram-Q27KOJAE-D6ZplNbZ.js} +1 -1
  30. package/dist/worker/console/static/assets/{diagram-UB23O5K3-C22W8Vsw.js → diagram-UB23O5K3-BPekbhoS.js} +1 -1
  31. package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-Dug0ybod.js → ebnfDiagram-BXEA7PRR-BtmaJpK5.js} +1 -1
  32. package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-Muy74GVP.js → erDiagram-JOGREHBK-6DS0Xc44.js} +1 -1
  33. package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-Dg7DfZPD.js → flowDiagram-UKHOOZJN-CihnROSm.js} +1 -1
  34. package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-BgDMbjEX.js → ganttDiagram-PKOTCBZU-CZC4zOE2.js} +1 -1
  35. package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-CCwz0FDR.js → gitGraphDiagram-DS77QQ5N-Dq1fhzGN.js} +1 -1
  36. package/dist/worker/console/static/assets/{index-CnJwuIKx.js → index-DTZOKgAn.js} +62 -62
  37. package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-DQfSRCnK.js → infoDiagram-6WML65LV-DlSl4BGx.js} +1 -1
  38. package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-DbP56Q0A.js → ishikawaDiagram-WSZJBQD7-snnzFl_U.js} +1 -1
  39. package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-DnU6-oGf.js → journeyDiagram-NVQOT4AX-BDE7qpMx.js} +1 -1
  40. package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-D20nWOTw.js → kanban-definition-27J2QSJJ-CD2Ci04G.js} +1 -1
  41. package/dist/worker/console/static/assets/{linear-BF_t08wv.js → linear-DdnapKIH.js} +1 -1
  42. package/dist/worker/console/static/assets/{mermaid.core-DTwZdcUQ.js → mermaid.core-BVjAT9b8.js} +5 -5
  43. package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-CgABKTml.js → mindmap-definition-FAOFIHXS-D0yJk-zA.js} +1 -1
  44. package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-KF8xVdyI.js → pegDiagram-VL7TDLO6-BVo9tFP-.js} +1 -1
  45. package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-kdvBlmug.js → pieDiagram-7S7Q4E2Y-DnOV-mZ_.js} +1 -1
  46. package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-Dz_5Gx-J.js → quadrantDiagram-CIZ2JOQS-CzUJo58i.js} +1 -1
  47. package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-CoUkUsjS.js → railroadDiagram-AXF67PYL-Bvikrolh.js} +1 -1
  48. package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-Cp0SKNOb.js → requirementDiagram-LRYGKXZP-DtaSVCap.js} +1 -1
  49. package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-nvgfxhl4.js → sankeyDiagram-W5VNT64P-C2c9A0wW.js} +1 -1
  50. package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-DUyqpiIH.js → sequenceDiagram-SI44F4Z6-DmXJcU7r.js} +1 -1
  51. package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-FCodLTFq.js → sizeCapture-X5ZJPWSS-B4GUFW92.js} +1 -1
  52. package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-NVAbafR9.js → stateDiagram-OKZ733FA-Dsad2MXf.js} +1 -1
  53. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-B8FB_cNk.js +1 -0
  54. package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-H29rigTf.js → swimlanes-SLNWSIFB-DGq48Fbi.js} +2 -2
  55. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-CrZYaWfx.js +8 -0
  56. package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-CNFQjoyV.js → timeline-definition-Z64GVDOM-CSSi6OFf.js} +1 -1
  57. package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-BWf8nCZL.js → vennDiagram-T6HMQDX7-BqyzPrWv.js} +1 -1
  58. package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-D58QQyvD.js → wardleyDiagram-T6FBY63Y-DlznVb6S.js} +1 -1
  59. package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-DjF1qJhp.js → xychartDiagram-ELKLHX3M-CfBcgJ_K.js} +1 -1
  60. package/dist/worker/console/static/index.html +1 -1
  61. package/package.json +1 -1
  62. package/skills/analyze-product-requirements/SKILL.md +8 -5
  63. package/skills/analyze-product-requirements/references/acceptance-criteria.md +1 -1
  64. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +10 -6
  65. package/skills/analyze-product-requirements/references/example.md +50 -0
  66. package/skills/analyze-product-requirements/references/forward-test-cases.md +11 -7
  67. package/skills/analyze-product-requirements/references/kb-integration.md +5 -5
  68. package/skills/analyze-product-requirements/references/product-analysis-schema.md +8 -4
  69. package/skills/analyze-product-requirements/references/product-requirement-schema.md +2 -2
  70. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +1 -1
  71. package/skills/analyze-product-requirements/scripts/test-validators.mjs +11 -1
  72. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +20 -1
  73. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +9 -0
  74. package/dist/worker/console/static/assets/channel-Bor-DZxZ.js +0 -1
  75. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-Cztq0Lcf.js +0 -1
  76. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-Cztq0Lcf.js +0 -1
  77. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-j9D1xnHc.js +0 -1
  78. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-DQ4huT5W.js +0 -8
package/CHANGELOG.md CHANGED
@@ -8,6 +8,7 @@
8
8
 
9
9
  ### 新增
10
10
 
11
+ - Pi SDK 终态 session-events JSONL 顶层增加可选 `finish_reason`:仅当 `message_end` / `turn_end` / `assistant_message` 明确携带非空终止原因时由序列化层提升,不伪造默认值,也不回流 `stopReason` 诊断。
11
12
  - `backendTest` 布局配置纳入 Task Contract managed 注入面:`task advance` 新增 `--backend-test <json>`,可在公共任务生命周期内把 `testRoot`/`markdownRel`/`scriptRel`/`sharedSetupDoc`/`mode`/`gapDoc`/`executeScope` 写进 `task.json`,不再需要手工编辑(手工编辑会让任务漂移成 `externally-modified` 并拒绝 `--approve-gate`)。给出即整体替换、省略即保留既有配置(历史手写配置因此自愈)、`'{}'` 为显式清空回默认布局;重复 advance 幂等,契约保持 `managed`。`task contract diff` 把值变更标 routine `BACKEND_TEST_CONFIG_CHANGED`、丢键/清空额外标 elevated `BACKEND_TEST_CONFIG_WEAKENED`。
12
13
  - Operator Chat 文件预览抽屉新增图标「新窗口打开」:用当前已加载内容在独立浏览器窗口打开全页阅读视图,窗口内可切换「预览 / 查看原文」(带宽高的 `window.open` popup,Markdown 排版、HTML 铺满视口的空 sandbox iframe、JSON pretty-print / 其它文本等宽滚动);打开成功后断开 `opener` 且不立刻 revoke Blob,避免空白页;弹窗被拦截时 header 附近报错且不关闭抽屉
13
14
  - backend-test 适配 A–D:可配置 `backendTest` 布局(`testRoot`/`markdownRel`/`scriptRel`)、用户公共前置文档引用与模块顶部 `user_shared_setup`(不写 conftest)、查询轴 Scenario Partitions 确定性展开与 fail-closed 门禁、`mode=gap-fill` 13 节点增量 DAG。Slot ID 以声明的 Partition ID 为真源(`TP-<Partition ID>-...`)。
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "version": "0.37.0",
4
- "gitSha": "6f966ef01852a18f0ca1dd0a2f9a69ae45844b28",
5
- "builtAt": "2026-08-20T09:15:26.353Z"
4
+ "gitSha": "b89dac83463a5cf86ebac304b93bf894ecc53dc8",
5
+ "builtAt": "2026-08-20T16:19:50.694Z"
6
6
  }
@@ -51,9 +51,50 @@ export function normalizePiSessionEvent(event) {
51
51
  }
52
52
  return unifyToolPayloadFields(event);
53
53
  }
54
+ const TERMINAL_FINISH_REASON_TYPES = new Set([
55
+ 'message_end',
56
+ 'turn_end',
57
+ 'assistant_message',
58
+ ]);
59
+ function readExplicitFinishReason(source) {
60
+ const message = isRecord(source.message) ? source.message : undefined;
61
+ const candidates = [
62
+ source.finish_reason,
63
+ source.finishReason,
64
+ source.stop_reason,
65
+ source.stopReason,
66
+ message?.finish_reason,
67
+ message?.finishReason,
68
+ message?.stop_reason,
69
+ message?.stopReason,
70
+ ];
71
+ for (const candidate of candidates) {
72
+ if (typeof candidate === 'string' && candidate.trim().length > 0) {
73
+ return candidate;
74
+ }
75
+ }
76
+ return undefined;
77
+ }
78
+ function applyFinishReason(original, normalized) {
79
+ const originalType = typeof original.type === 'string' ? original.type : undefined;
80
+ if (!originalType || !TERMINAL_FINISH_REASON_TYPES.has(originalType)) {
81
+ return normalized;
82
+ }
83
+ const existing = readExplicitFinishReason({
84
+ finish_reason: normalized.finish_reason,
85
+ });
86
+ if (existing !== undefined) {
87
+ return normalized;
88
+ }
89
+ const promoted = readExplicitFinishReason(original);
90
+ if (promoted === undefined) {
91
+ return normalized;
92
+ }
93
+ return { ...normalized, finish_reason: promoted };
94
+ }
54
95
  /** Serialize one SDK session event as a single JSONL line. */
55
96
  export function serializeSessionEvent(event, options) {
56
- const normalized = normalizePiSessionEvent(event);
97
+ const normalized = applyFinishReason(event, normalizePiSessionEvent(event));
57
98
  if (typeof normalized.recordedAt !== 'string') {
58
99
  normalized.recordedAt = options?.recordedAt ?? new Date().toISOString();
59
100
  }
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-DEQqTXL2.js";import{p as f}from"./chunk-JWPE2WC7-DfXKSh2I.js";import{_ as n,l as o}from"./mermaid.core-DTwZdcUQ.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-Bspf3ng8.js";import"./index-CnJwuIKx.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-DZtolir7.js";import{p as f}from"./chunk-JWPE2WC7-NgHc6V37.js";import{_ as n,l as o}from"./mermaid.core-BVjAT9b8.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-BwT_xKrE.js";import"./index-DTZOKgAn.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-DTwZdcUQ.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-BVjAT9b8.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};