agor-live 0.16.2 → 0.16.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 (186) hide show
  1. package/dist/cli/commands/board/add-session.js +4 -8
  2. package/dist/cli/commands/board/list.js +2 -4
  3. package/dist/cli/commands/mcp/list.js +1 -2
  4. package/dist/cli/commands/mcp/remove.js +1 -2
  5. package/dist/cli/commands/mcp/show.js +1 -2
  6. package/dist/cli/commands/repo/rm.js +1 -2
  7. package/dist/cli/commands/session/load-claude.js +1 -2
  8. package/dist/cli/commands/user/delete.js +1 -2
  9. package/dist/cli/commands/user/update.js +1 -2
  10. package/dist/cli/commands/worktree/add.js +1 -2
  11. package/dist/cli/commands/worktree/archive.js +1 -2
  12. package/dist/cli/commands/worktree/list.js +3 -6
  13. package/dist/cli/commands/worktree/rm.js +1 -2
  14. package/dist/cli/commands/worktree/show.js +1 -2
  15. package/dist/cli/commands/worktree/unarchive.js +1 -2
  16. package/dist/core/api/index.cjs +87 -2
  17. package/dist/core/api/index.d.cts +53 -10
  18. package/dist/core/api/index.d.ts +53 -10
  19. package/dist/core/api/index.js +85 -1
  20. package/dist/core/{feathers-CzuSOZgY.d.ts → feathers-CKfl55ut.d.ts} +10 -2
  21. package/dist/core/{feathers-CYAHFZ05.d.cts → feathers-NY8lH6YZ.d.cts} +10 -2
  22. package/dist/core/index.cjs +85 -0
  23. package/dist/core/index.d.cts +2 -2
  24. package/dist/core/index.d.ts +2 -2
  25. package/dist/core/index.js +84 -0
  26. package/dist/core/types/index.d.cts +1 -1
  27. package/dist/core/types/index.d.ts +1 -1
  28. package/dist/daemon/index.js +18 -1
  29. package/dist/daemon/register-routes.js +15 -0
  30. package/dist/daemon/register-services.js +3 -1
  31. package/dist/daemon/services/mcp-servers.d.ts +7 -2
  32. package/dist/executor/db/feathers-repositories.d.ts +1 -0
  33. package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
  34. package/dist/executor/db/feathers-repositories.js +1 -0
  35. package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
  36. package/dist/executor/handlers/sdk/claude.js +1 -1
  37. package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
  38. package/dist/executor/handlers/sdk/codex.js +1 -1
  39. package/dist/executor/sdk-handlers/base/diff-enrichment.d.ts +4 -1
  40. package/dist/executor/sdk-handlers/base/diff-enrichment.d.ts.map +1 -1
  41. package/dist/executor/sdk-handlers/base/diff-enrichment.js +97 -24
  42. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +9 -1
  43. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
  44. package/dist/executor/sdk-handlers/claude/claude-tool.js +17 -7
  45. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +5 -2
  46. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
  47. package/dist/executor/sdk-handlers/codex/codex-tool.js +122 -24
  48. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +7 -1
  49. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  50. package/dist/executor/sdk-handlers/codex/prompt-service.js +111 -17
  51. package/dist/ui/assets/{_basePickBy-By_woBZB.js → _basePickBy-CM6p9_3C.js} +1 -1
  52. package/dist/ui/assets/_basePickBy-CM6p9_3C.js.gz +0 -0
  53. package/dist/ui/assets/{_baseUniq-C2jLj-Al.js → _baseUniq-CHMdQkaA.js} +1 -1
  54. package/dist/ui/assets/_baseUniq-CHMdQkaA.js.gz +0 -0
  55. package/dist/ui/assets/{arc-DADMFVbt.js → arc-Czp_Gn_m.js} +1 -1
  56. package/dist/ui/assets/arc-Czp_Gn_m.js.gz +0 -0
  57. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-rNJ5lYJQ.js → architectureDiagram-VXUJARFQ-Cz-z2R4z.js} +1 -1
  58. package/dist/ui/assets/architectureDiagram-VXUJARFQ-Cz-z2R4z.js.gz +0 -0
  59. package/dist/ui/assets/{base-80a1f760-BVsv_T1S.js → base-80a1f760-DL2sFXEh.js} +1 -1
  60. package/dist/ui/assets/{blockDiagram-VD42YOAC-CezN66iB.js → blockDiagram-VD42YOAC-C62DfRc6.js} +1 -1
  61. package/dist/ui/assets/blockDiagram-VD42YOAC-C62DfRc6.js.gz +0 -0
  62. package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dze59YuK.js → c4Diagram-YG6GDRKO-DGSWKqxL.js} +1 -1
  63. package/dist/ui/assets/c4Diagram-YG6GDRKO-DGSWKqxL.js.gz +0 -0
  64. package/dist/ui/assets/channel-CmfC29hp.js +1 -0
  65. package/dist/ui/assets/{chunk-4BX2VUAB-CXL-V_XA.js → chunk-4BX2VUAB-CuJEBfIh.js} +1 -1
  66. package/dist/ui/assets/{chunk-55IACEB6-CI3h0xTl.js → chunk-55IACEB6-DYgjRl-z.js} +1 -1
  67. package/dist/ui/assets/{chunk-B4BG7PRW-CFohiEqO.js → chunk-B4BG7PRW-rqPu7wjt.js} +1 -1
  68. package/dist/ui/assets/chunk-B4BG7PRW-rqPu7wjt.js.gz +0 -0
  69. package/dist/ui/assets/{chunk-DI55MBZ5-BbF4fGKj.js → chunk-DI55MBZ5-D7PtpA49.js} +1 -1
  70. package/dist/ui/assets/chunk-DI55MBZ5-D7PtpA49.js.gz +0 -0
  71. package/dist/ui/assets/{chunk-FMBD7UC4-C5x6cpDg.js → chunk-FMBD7UC4-1R4kh4IH.js} +1 -1
  72. package/dist/ui/assets/{chunk-QN33PNHL-CEDiC29y.js → chunk-QN33PNHL-qNBgj7JQ.js} +1 -1
  73. package/dist/ui/assets/{chunk-QZHKN3VN-DPo28cCF.js → chunk-QZHKN3VN-JUwZqL5s.js} +1 -1
  74. package/dist/ui/assets/{chunk-TZMSLE5B-C94jSlIG.js → chunk-TZMSLE5B-Bk4l2qq1.js} +1 -1
  75. package/dist/ui/assets/chunk-TZMSLE5B-Bk4l2qq1.js.gz +0 -0
  76. package/dist/ui/assets/classDiagram-2ON5EDUG-LD317OSr.js +1 -0
  77. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-LD317OSr.js +1 -0
  78. package/dist/ui/assets/clone-iT69LzXk.js +1 -0
  79. package/dist/ui/assets/{consoleHook-59e792cb-cpS6JVM4.js → consoleHook-59e792cb-BjB_4eqO.js} +1 -1
  80. package/dist/ui/assets/consoleHook-59e792cb-BjB_4eqO.js.gz +0 -0
  81. package/dist/ui/assets/{cose-bilkent-S5V4N54A-CcoEg_Ct.js → cose-bilkent-S5V4N54A-Db3GpSRP.js} +1 -1
  82. package/dist/ui/assets/cose-bilkent-S5V4N54A-Db3GpSRP.js.gz +0 -0
  83. package/dist/ui/assets/{dagre-6UL2VRFP-DWAyqs2B.js → dagre-6UL2VRFP-D9RUH_36.js} +1 -1
  84. package/dist/ui/assets/dagre-6UL2VRFP-D9RUH_36.js.gz +0 -0
  85. package/dist/ui/assets/{diagram-PSM6KHXK-C7J2MNfc.js → diagram-PSM6KHXK-C51S0t1m.js} +1 -1
  86. package/dist/ui/assets/diagram-PSM6KHXK-C51S0t1m.js.gz +0 -0
  87. package/dist/ui/assets/{diagram-QEK2KX5R-6KZjqziN.js → diagram-QEK2KX5R-Bl99kj4s.js} +1 -1
  88. package/dist/ui/assets/diagram-QEK2KX5R-Bl99kj4s.js.gz +0 -0
  89. package/dist/ui/assets/{diagram-S2PKOQOG-DIL01325.js → diagram-S2PKOQOG-Dm52PeWx.js} +1 -1
  90. package/dist/ui/assets/diagram-S2PKOQOG-Dm52PeWx.js.gz +0 -0
  91. package/dist/ui/assets/{erDiagram-Q2GNP2WA-D5j4CetG.js → erDiagram-Q2GNP2WA-K5D_GKDZ.js} +1 -1
  92. package/dist/ui/assets/erDiagram-Q2GNP2WA-K5D_GKDZ.js.gz +0 -0
  93. package/dist/ui/assets/{flowDiagram-NV44I4VS-Bxx2iEi-.js → flowDiagram-NV44I4VS-D7fCREXV.js} +1 -1
  94. package/dist/ui/assets/flowDiagram-NV44I4VS-D7fCREXV.js.gz +0 -0
  95. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-BtBi1ZfT.js → ganttDiagram-LVOFAZNH-CNW9D2UF.js} +1 -1
  96. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CNW9D2UF.js.gz +0 -0
  97. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-CY1TKvzA.js → gitGraphDiagram-NY62KEGX-CzSHwK4S.js} +1 -1
  98. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CzSHwK4S.js.gz +0 -0
  99. package/dist/ui/assets/{graph-DC6eH7AX.js → graph-iZG1PujV.js} +1 -1
  100. package/dist/ui/assets/graph-iZG1PujV.js.gz +0 -0
  101. package/dist/ui/assets/{index-599aeaf7-Dh_oObwY.js → index-599aeaf7-BSVvtdOR.js} +1 -1
  102. package/dist/ui/assets/index-599aeaf7-BSVvtdOR.js.gz +0 -0
  103. package/dist/ui/assets/{index-CxWOjjRu.js → index-Bv9iC_mb.js} +1 -1
  104. package/dist/ui/assets/index-Bv9iC_mb.js.gz +0 -0
  105. package/dist/ui/assets/{index-DJLnZ-9H.js → index-CmhCTwYo.js} +255 -257
  106. package/dist/ui/assets/index-CmhCTwYo.js.gz +0 -0
  107. package/dist/ui/assets/{index-DQn7RJ8z.js → index-DX9HbDkF.js} +1 -1
  108. package/dist/ui/assets/index-DX9HbDkF.js.gz +0 -0
  109. package/dist/ui/assets/{infoDiagram-ER5ION4S-COpJ37pc.js → infoDiagram-ER5ION4S-7UpJXgGv.js} +1 -1
  110. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CpODBkng.js → journeyDiagram-XKPGCS4Q-B_u-rXxp.js} +1 -1
  111. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B_u-rXxp.js.gz +0 -0
  112. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DWShJ5Su.js → kanban-definition-3W4ZIXB7-C60Ys_tG.js} +1 -1
  113. package/dist/ui/assets/kanban-definition-3W4ZIXB7-C60Ys_tG.js.gz +0 -0
  114. package/dist/ui/assets/{layout-ttMTfXMb.js → layout-2nOBwYEK.js} +1 -1
  115. package/dist/ui/assets/layout-2nOBwYEK.js.gz +0 -0
  116. package/dist/ui/assets/{linear-DD8VTncp.js → linear-BBfmsNEf.js} +1 -1
  117. package/dist/ui/assets/linear-BBfmsNEf.js.gz +0 -0
  118. package/dist/ui/assets/{mermaid.core-BlvxruUX.js → mermaid.core-BMmc28YS.js} +5 -5
  119. package/dist/ui/assets/mermaid.core-BMmc28YS.js.gz +0 -0
  120. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-CR0ESdqM.js → mindmap-definition-VGOIOE7T-CUOfncA2.js} +1 -1
  121. package/dist/ui/assets/mindmap-definition-VGOIOE7T-CUOfncA2.js.gz +0 -0
  122. package/dist/ui/assets/{pieDiagram-ADFJNKIX-B94eVYhY.js → pieDiagram-ADFJNKIX-CYt5K7tI.js} +1 -1
  123. package/dist/ui/assets/pieDiagram-ADFJNKIX-CYt5K7tI.js.gz +0 -0
  124. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-C4tNKfCm.js → quadrantDiagram-AYHSOK5B-D3z7FGdo.js} +1 -1
  125. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-D3z7FGdo.js.gz +0 -0
  126. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-CuG3A95Q.js → requirementDiagram-UZGBJVZJ-DSmK1rXj.js} +1 -1
  127. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-DSmK1rXj.js.gz +0 -0
  128. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-BCfc7mLC.js → sankeyDiagram-TZEHDZUN-BVudlnpo.js} +1 -1
  129. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BVudlnpo.js.gz +0 -0
  130. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-D8tVuIkx.js → sequenceDiagram-WL72ISMW-DShMajjv.js} +1 -1
  131. package/dist/ui/assets/sequenceDiagram-WL72ISMW-DShMajjv.js.gz +0 -0
  132. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-DvM8so2A.js → stateDiagram-FKZM4ZOC-9zK0uo4t.js} +1 -1
  133. package/dist/ui/assets/stateDiagram-FKZM4ZOC-9zK0uo4t.js.gz +0 -0
  134. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BZEgBfav.js +1 -0
  135. package/dist/ui/assets/{timeline-definition-IT6M3QCI-CP2O8vqw.js → timeline-definition-IT6M3QCI-DQ4HYAMD.js} +1 -1
  136. package/dist/ui/assets/timeline-definition-IT6M3QCI-DQ4HYAMD.js.gz +0 -0
  137. package/dist/ui/assets/{treemap-KMMF4GRG-SGJAEegj.js → treemap-KMMF4GRG-Curv75AA.js} +1 -1
  138. package/dist/ui/assets/treemap-KMMF4GRG-Curv75AA.js.gz +0 -0
  139. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CpwYBSmP.js → xychartDiagram-PRI3JC2R-BJdTipk8.js} +1 -1
  140. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BJdTipk8.js.gz +0 -0
  141. package/dist/ui/index.html +1 -1
  142. package/package.json +1 -1
  143. package/dist/ui/assets/_basePickBy-By_woBZB.js.gz +0 -0
  144. package/dist/ui/assets/_baseUniq-C2jLj-Al.js.gz +0 -0
  145. package/dist/ui/assets/arc-DADMFVbt.js.gz +0 -0
  146. package/dist/ui/assets/architectureDiagram-VXUJARFQ-rNJ5lYJQ.js.gz +0 -0
  147. package/dist/ui/assets/blockDiagram-VD42YOAC-CezN66iB.js.gz +0 -0
  148. package/dist/ui/assets/c4Diagram-YG6GDRKO-Dze59YuK.js.gz +0 -0
  149. package/dist/ui/assets/channel-B2nSdT47.js +0 -1
  150. package/dist/ui/assets/chunk-B4BG7PRW-CFohiEqO.js.gz +0 -0
  151. package/dist/ui/assets/chunk-DI55MBZ5-BbF4fGKj.js.gz +0 -0
  152. package/dist/ui/assets/chunk-TZMSLE5B-C94jSlIG.js.gz +0 -0
  153. package/dist/ui/assets/classDiagram-2ON5EDUG-lwQJA5v0.js +0 -1
  154. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-lwQJA5v0.js +0 -1
  155. package/dist/ui/assets/clone-DmZ98vg9.js +0 -1
  156. package/dist/ui/assets/consoleHook-59e792cb-cpS6JVM4.js.gz +0 -0
  157. package/dist/ui/assets/cose-bilkent-S5V4N54A-CcoEg_Ct.js.gz +0 -0
  158. package/dist/ui/assets/dagre-6UL2VRFP-DWAyqs2B.js.gz +0 -0
  159. package/dist/ui/assets/diagram-PSM6KHXK-C7J2MNfc.js.gz +0 -0
  160. package/dist/ui/assets/diagram-QEK2KX5R-6KZjqziN.js.gz +0 -0
  161. package/dist/ui/assets/diagram-S2PKOQOG-DIL01325.js.gz +0 -0
  162. package/dist/ui/assets/erDiagram-Q2GNP2WA-D5j4CetG.js.gz +0 -0
  163. package/dist/ui/assets/flowDiagram-NV44I4VS-Bxx2iEi-.js.gz +0 -0
  164. package/dist/ui/assets/ganttDiagram-LVOFAZNH-BtBi1ZfT.js.gz +0 -0
  165. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CY1TKvzA.js.gz +0 -0
  166. package/dist/ui/assets/graph-DC6eH7AX.js.gz +0 -0
  167. package/dist/ui/assets/index-599aeaf7-Dh_oObwY.js.gz +0 -0
  168. package/dist/ui/assets/index-CxWOjjRu.js.gz +0 -0
  169. package/dist/ui/assets/index-DJLnZ-9H.js.gz +0 -0
  170. package/dist/ui/assets/index-DQn7RJ8z.js.gz +0 -0
  171. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CpODBkng.js.gz +0 -0
  172. package/dist/ui/assets/kanban-definition-3W4ZIXB7-DWShJ5Su.js.gz +0 -0
  173. package/dist/ui/assets/layout-ttMTfXMb.js.gz +0 -0
  174. package/dist/ui/assets/linear-DD8VTncp.js.gz +0 -0
  175. package/dist/ui/assets/mermaid.core-BlvxruUX.js.gz +0 -0
  176. package/dist/ui/assets/mindmap-definition-VGOIOE7T-CR0ESdqM.js.gz +0 -0
  177. package/dist/ui/assets/pieDiagram-ADFJNKIX-B94eVYhY.js.gz +0 -0
  178. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-C4tNKfCm.js.gz +0 -0
  179. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-CuG3A95Q.js.gz +0 -0
  180. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BCfc7mLC.js.gz +0 -0
  181. package/dist/ui/assets/sequenceDiagram-WL72ISMW-D8tVuIkx.js.gz +0 -0
  182. package/dist/ui/assets/stateDiagram-FKZM4ZOC-DvM8so2A.js.gz +0 -0
  183. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-kQ-gZX7K.js +0 -1
  184. package/dist/ui/assets/timeline-definition-IT6M3QCI-CP2O8vqw.js.gz +0 -0
  185. package/dist/ui/assets/treemap-KMMF4GRG-SGJAEegj.js.gz +0 -0
  186. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CpwYBSmP.js.gz +0 -0
@@ -329,6 +329,30 @@ export class CodexPromptService {
329
329
  }
330
330
  return totalConfigured;
331
331
  }
332
+ /**
333
+ * Convert Codex todo_list items to TodoWrite-compatible payload.
334
+ * Codex only provides completed:boolean, so we infer a single in_progress
335
+ * item as the first remaining incomplete step for better UI parity.
336
+ */
337
+ codexTodosToTodoWriteInput(items) {
338
+ if (!Array.isArray(items) || items.length === 0) {
339
+ return null;
340
+ }
341
+ const firstIncompleteIndex = items.findIndex((todo) => !todo.completed);
342
+ return {
343
+ todos: items.map((todo, index) => ({
344
+ content: todo.text,
345
+ activeForm: todo.text,
346
+ status: todo.completed
347
+ ? 'completed'
348
+ : firstIncompleteIndex === -1
349
+ ? 'pending'
350
+ : index === firstIncompleteIndex
351
+ ? 'in_progress'
352
+ : 'pending',
353
+ })),
354
+ };
355
+ }
332
356
  /**
333
357
  * Convert Codex item to ToolUse format
334
358
  * Maps different Codex item types to Agor tool use schema
@@ -356,29 +380,58 @@ export class CodexPromptService {
356
380
  status: item.status,
357
381
  }),
358
382
  };
359
- case 'mcp_tool_call':
383
+ case 'mcp_tool_call': {
384
+ // Preserve MCP result/error payloads so the UI can render meaningful output.
385
+ // This matches Claude's "start/end + payload" visibility model.
386
+ let mcpOutput;
387
+ if (status === 'completed') {
388
+ if (Array.isArray(item.result?.content) && item.result.content.length > 0) {
389
+ mcpOutput = item.result.content;
390
+ }
391
+ else if (item.result?.structured_content !== undefined) {
392
+ mcpOutput = JSON.stringify(item.result.structured_content, null, 2);
393
+ }
394
+ else if (item.error?.message) {
395
+ mcpOutput = item.error.message;
396
+ }
397
+ }
360
398
  return {
361
399
  id: item.id,
362
400
  name: `${item.server}.${item.tool}`,
363
401
  input: item.arguments && typeof item.arguments === 'object' && !Array.isArray(item.arguments)
364
402
  ? item.arguments
365
403
  : {},
404
+ ...(mcpOutput !== undefined && {
405
+ output: mcpOutput,
406
+ }),
366
407
  ...(status === 'completed' && {
367
408
  status: item.status,
368
409
  }),
369
410
  };
411
+ }
370
412
  case 'web_search':
371
413
  return {
372
414
  id: item.id,
373
415
  name: 'web_search',
374
416
  input: { query: item.query },
417
+ ...(status === 'completed' && {
418
+ // Emit a terminal marker so web_search doesn't remain stale in UI.
419
+ status: 'completed',
420
+ }),
375
421
  };
376
422
  case 'reasoning':
377
423
  // Don't emit tool use for reasoning (it's internal)
378
424
  return null;
379
- case 'todo_list':
380
- // Don't emit tool use for todo list (it's internal)
381
- return null;
425
+ case 'todo_list': {
426
+ const todoInput = this.codexTodosToTodoWriteInput(item.items);
427
+ if (!todoInput)
428
+ return null;
429
+ return {
430
+ id: item.id,
431
+ name: 'TodoWrite',
432
+ input: todoInput,
433
+ };
434
+ }
382
435
  case 'agent_message':
383
436
  // Don't emit tool use for text messages
384
437
  return null;
@@ -543,6 +596,7 @@ export class CodexPromptService {
543
596
  let threadId = session.sdk_session_id || '';
544
597
  const resolvedModel = session.model_config?.model || undefined;
545
598
  let allToolUses = [];
599
+ let todoIdsEmittedViaUpdate = new Set();
546
600
  let eventCount = 0;
547
601
  for await (const event of events) {
548
602
  eventCount++;
@@ -561,6 +615,7 @@ export class CodexPromptService {
561
615
  switch (event.type) {
562
616
  case 'turn.started':
563
617
  allToolUses = []; // Reset tool uses for new turn
618
+ todoIdsEmittedViaUpdate = new Set();
564
619
  break;
565
620
  case 'item.started':
566
621
  // Emit tool_start events for tool items
@@ -576,10 +631,20 @@ export class CodexPromptService {
576
631
  }
577
632
  break;
578
633
  case 'item.updated':
579
- // NOTE: Based on official OpenAI sample, item.updated is only emitted for todo_list items
580
- // agent_message, reasoning, command_execution, file_change only emit item.started/item.completed
581
- // We could handle todo_list progress here if needed in the future
582
- // For now, we ignore item.updated since we don't track todo lists
634
+ // Codex emits item.updated for todo_list progress updates.
635
+ // Normalize these into TodoWrite-style tool events so the UI can
636
+ // reuse the same sticky todo rendering as Claude Code.
637
+ if (event.item) {
638
+ const toolUseUpdate = this.itemToToolUse(event.item, 'completed');
639
+ if (toolUseUpdate?.name === 'TodoWrite') {
640
+ todoIdsEmittedViaUpdate.add(toolUseUpdate.id);
641
+ yield {
642
+ type: 'tool_complete',
643
+ toolUse: toolUseUpdate,
644
+ threadId: thread.id || undefined,
645
+ };
646
+ }
647
+ }
583
648
  break;
584
649
  case 'item.completed':
585
650
  // Collect completed items and emit tool_complete events
@@ -587,6 +652,8 @@ export class CodexPromptService {
587
652
  // Emit tool_complete for tool items
588
653
  const toolUseComplete = this.itemToToolUse(event.item, 'completed');
589
654
  if (toolUseComplete) {
655
+ const isDuplicateTodoCompletion = event.item.type === 'todo_list' &&
656
+ todoIdsEmittedViaUpdate.has(toolUseComplete.id);
590
657
  // Add to allToolUses for backward compatibility (tool_uses field)
591
658
  allToolUses.push({
592
659
  id: toolUseComplete.id,
@@ -615,11 +682,13 @@ export class CodexPromptService {
615
682
  is_error: isError,
616
683
  });
617
684
  }
618
- yield {
619
- type: 'tool_complete',
620
- toolUse: toolUseComplete,
621
- threadId: thread.id || undefined,
622
- };
685
+ if (!isDuplicateTodoCompletion) {
686
+ yield {
687
+ type: 'tool_complete',
688
+ toolUse: toolUseComplete,
689
+ threadId: thread.id || undefined,
690
+ };
691
+ }
623
692
  }
624
693
  // Emit intermediate text messages immediately (instead of batching to turn end)
625
694
  // Codex can emit multiple agent_message items per turn, interleaved with tool calls.
@@ -634,6 +703,30 @@ export class CodexPromptService {
634
703
  // No usage data for intermediate messages - only final turn.completed has it
635
704
  };
636
705
  }
706
+ // Surface reasoning as thinking blocks (non-streaming) so Codex reuses
707
+ // the same ThinkingBlock UI used by Claude/OpenCode.
708
+ if ('text' in event.item && event.item.type === 'reasoning') {
709
+ const thinkingContent = [{ type: 'thinking', text: event.item.text }];
710
+ yield {
711
+ type: 'complete',
712
+ content: thinkingContent,
713
+ threadId: thread.id || '',
714
+ resolvedModel: resolvedModel || DEFAULT_CODEX_MODEL,
715
+ };
716
+ }
717
+ // Surface non-fatal item-level errors as assistant text so users can see
718
+ // what happened instead of dropping them silently.
719
+ if ('message' in event.item && event.item.type === 'error') {
720
+ const errorContent = [
721
+ { type: 'text', text: `[Codex item error] ${event.item.message}` },
722
+ ];
723
+ yield {
724
+ type: 'complete',
725
+ content: errorContent,
726
+ threadId: thread.id || '',
727
+ resolvedModel: resolvedModel || DEFAULT_CODEX_MODEL,
728
+ };
729
+ }
637
730
  }
638
731
  break;
639
732
  case 'turn.completed': {
@@ -671,10 +764,11 @@ export class CodexPromptService {
671
764
  throw new Error(`Codex execution failed: ${errorMessage}`);
672
765
  }
673
766
  case 'error':
674
- // SDK retry errors (e.g., 401 retries before turn.failed)
675
- // Log once at warn level instead of silently ignoring
676
- console.warn(`⚠️ [Codex] SDK error event for session ${sessionId.substring(0, 8)} (event ${eventCount}):`, event.error || 'unknown');
677
- break;
767
+ // Fatal stream-level error from Codex SDK.
768
+ // Surface this as a task failure so users see it in the conversation.
769
+ throw new Error(`Codex stream error: ${event.message ||
770
+ event.error ||
771
+ 'unknown'}`);
678
772
  default:
679
773
  // Ignore other event types silently
680
774
  break;
@@ -1 +1 @@
1
- import{e as x,c as b,g as m,k as P,h as p,j as w,l as N,m as c,n as I,t as A,o as M}from"./_baseUniq-C2jLj-Al.js";import{aK as g,aq as E,aL as F,aM as _,aN as $,aO as l,aP as B,aQ as S,aR as T,aS as y}from"./mermaid.core-BlvxruUX.js";var L=/\s/;function R(n){for(var r=n.length;r--&&L.test(n.charAt(r)););return r}var q=/^\s+/;function G(n){return n&&n.slice(0,R(n)+1).replace(q,"")}var o=NaN,H=/^[-+]0x[0-9a-f]+$/i,K=/^0b[01]+$/i,z=/^0o[0-7]+$/i,C=parseInt;function Q(n){if(typeof n=="number")return n;if(x(n))return o;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=G(n);var t=K.test(n);return t||z.test(n)?C(n.slice(2),t?2:8):H.test(n)?o:+n}var v=1/0,W=17976931348623157e292;function X(n){if(!n)return n===0?n:0;if(n=Q(n),n===v||n===-v){var r=n<0?-1:1;return r*W}return n===n?n:0}function Y(n){var r=X(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var O=Object.prototype,D=O.hasOwnProperty,dn=E(function(n,r){n=Object(n);var t=-1,i=r.length,a=i>2?r[2]:void 0;for(a&&F(r[0],r[1],a)&&(i=1);++t<i;)for(var f=r[t],e=_(f),s=-1,d=e.length;++s<d;){var u=e[s],h=n[u];(h===void 0||$(h,O[u])&&!D.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function J(n){return function(r,t,i){var a=Object(r);if(!l(r)){var f=m(t);r=P(r),t=function(s){return f(a[s],s,a)}}var e=n(r,t,i);return e>-1?a[f?r[e]:e]:void 0}}var U=Math.max;function Z(n,r,t){var i=n==null?0:n.length;if(!i)return-1;var a=t==null?0:Y(t);return a<0&&(a=U(i+a,0)),p(n,m(r),a)}var hn=J(Z);function V(n,r){var t=-1,i=l(n)?Array(n.length):[];return w(n,function(a,f,e){i[++t]=r(a,f,e)}),i}function gn(n,r){var t=B(n)?N:V;return t(n,m(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function mn(n,r){return n!=null&&c(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var i=-1,a=n.length;++i<a;){var f=n[i],e=r(f);if(e!=null&&(s===void 0?e===e&&!x(e):t(e,s)))var s=e,d=f}return d}function on(n){return n&&n.length?tn(n,S,rn):void 0}function an(n,r,t,i){if(!g(n))return n;r=I(r,n);for(var a=-1,f=r.length,e=f-1,s=n;s!=null&&++a<f;){var d=A(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=e){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:T(r[a+1])?[]:{})}y(s,d,u),s=s[d]}return n}function vn(n,r,t){for(var i=-1,a=r.length,f={};++i<a;){var e=r[i],s=M(n,e);t(s,e)&&an(f,I(e,n),s)}return f}export{rn as a,tn as b,V as c,vn as d,on as e,fn as f,hn as g,mn as h,dn as i,Y as j,un as l,gn as m,X as t};
1
+ import{e as x,c as b,g as m,k as P,h as p,j as w,l as N,m as c,n as I,t as A,o as M}from"./_baseUniq-CHMdQkaA.js";import{aK as g,aq as E,aL as F,aM as _,aN as $,aO as l,aP as B,aQ as S,aR as T,aS as y}from"./mermaid.core-BMmc28YS.js";var L=/\s/;function R(n){for(var r=n.length;r--&&L.test(n.charAt(r)););return r}var q=/^\s+/;function G(n){return n&&n.slice(0,R(n)+1).replace(q,"")}var o=NaN,H=/^[-+]0x[0-9a-f]+$/i,K=/^0b[01]+$/i,z=/^0o[0-7]+$/i,C=parseInt;function Q(n){if(typeof n=="number")return n;if(x(n))return o;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=G(n);var t=K.test(n);return t||z.test(n)?C(n.slice(2),t?2:8):H.test(n)?o:+n}var v=1/0,W=17976931348623157e292;function X(n){if(!n)return n===0?n:0;if(n=Q(n),n===v||n===-v){var r=n<0?-1:1;return r*W}return n===n?n:0}function Y(n){var r=X(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var O=Object.prototype,D=O.hasOwnProperty,dn=E(function(n,r){n=Object(n);var t=-1,i=r.length,a=i>2?r[2]:void 0;for(a&&F(r[0],r[1],a)&&(i=1);++t<i;)for(var f=r[t],e=_(f),s=-1,d=e.length;++s<d;){var u=e[s],h=n[u];(h===void 0||$(h,O[u])&&!D.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function J(n){return function(r,t,i){var a=Object(r);if(!l(r)){var f=m(t);r=P(r),t=function(s){return f(a[s],s,a)}}var e=n(r,t,i);return e>-1?a[f?r[e]:e]:void 0}}var U=Math.max;function Z(n,r,t){var i=n==null?0:n.length;if(!i)return-1;var a=t==null?0:Y(t);return a<0&&(a=U(i+a,0)),p(n,m(r),a)}var hn=J(Z);function V(n,r){var t=-1,i=l(n)?Array(n.length):[];return w(n,function(a,f,e){i[++t]=r(a,f,e)}),i}function gn(n,r){var t=B(n)?N:V;return t(n,m(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function mn(n,r){return n!=null&&c(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var i=-1,a=n.length;++i<a;){var f=n[i],e=r(f);if(e!=null&&(s===void 0?e===e&&!x(e):t(e,s)))var s=e,d=f}return d}function on(n){return n&&n.length?tn(n,S,rn):void 0}function an(n,r,t,i){if(!g(n))return n;r=I(r,n);for(var a=-1,f=r.length,e=f-1,s=n;s!=null&&++a<f;){var d=A(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=e){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:T(r[a+1])?[]:{})}y(s,d,u),s=s[d]}return n}function vn(n,r,t){for(var i=-1,a=r.length,f={};++i<a;){var e=r[i],s=M(n,e);t(s,e)&&an(f,I(e,n),s)}return f}export{rn as a,tn as b,V as c,vn as d,on as e,fn as f,hn as g,mn as h,dn as i,Y as j,un as l,gn as m,X as t};
@@ -1 +1 @@
1
- import{b0 as S,b1 as Rn,aP as T,b2 as w,b3 as xn,b4 as Mn,aO as sn,b5 as mn,b6 as un,b7 as x,aM as N,b8 as Cn,b9 as on,ba as Fn,bb as E,a_ as gn,bc as R,aK as ln,bd as Dn,be as D,bf as Gn,bg as Nn,bh as $,aS as Un,bi as Bn,aN as Kn,bj as Q,bk as jn,bl as Hn,aR as Yn,aQ as cn,aY as qn,bm as m}from"./mermaid.core-BlvxruUX.js";var Zn="[object Symbol]";function U(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var X=w?w.prototype:void 0,J=X?X.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return J?J.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Qn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Xn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Jn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Xn(n,Jn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function _(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,_(r),n)}function lr(n,r){return n&&x(r,N(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Cn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,_,j)}function yr(n){return On(n,N,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var _r=/\w*$/;function $r(n){var r=new n.constructor(n.source,_r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Pr="[object Date]",Ir="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Nr="[object Int16Array]",Ur="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Pr:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Nr:case Ur:case Br:case Kr:case jr:case Hr:return Fn(n,e);case Ir:return new t;case vr:case xr:return new t(n);case Lr:return $r(n);case Rr:return new t;case Mr:return Sr(n)}}var qr="[object Map]";function Zr(n){return S(n)&&E(n)==qr}var nn=R&&R.isMap,Qr=nn?gn(nn):Zr,Xr="[object Set]";function Jr(n){return S(n)&&E(n)==Xr}var rn=R&&R.isSet,Wr=rn?gn(rn):Jr,zr=1,Vr=2,kr=4,_n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",$n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",_e="[object Uint32Array]",g={};g[_n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[_e]=!0;g[te]=g[$n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==$n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==_n||c&&!f){if(a=u||c?{}:Nn(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=Yr(n,o,s)}}i||(i=new $);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(d){a.add(C(d,r,e,d,n,i))}):Qr(n)&&n.forEach(function(d,p){a.set(p,C(d,r,e,p,n,i))});var A=b?u?yr:G:u?N:_,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,C(d,r,e,p,n,i))}),a}var $e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,$e),this}function Ee(n){return this.__data__.has(n)}function P(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}P.prototype.add=P.prototype.push=Se;P.prototype.has=Ee;function Pe(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Ie=1,ve=2;function Pn(n,r,e,t,f,i){var a=e&Ie,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new P:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Pe(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ne="[object Set]",Ue="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new Q(n),new Q(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ue:return n==r+"";case Fe:var s=Le;case Ne:var u=t&Re;if(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,qe=Object.prototype,Ze=qe.hasOwnProperty;function Qe(n,r,e,t,f,i){var a=e&Ye,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:Ze.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var Z=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(Z===void 0?p===O||f(p,O,e,t,i):Z)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var I=n.constructor,v=r.constructor;I!=v&&"constructor"in n&&"constructor"in r&&!(typeof I=="function"&&I instanceof I&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Xe=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Je=Object.prototype,an=Je.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new $),a||jn(n)?Pn(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Xe)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new $),f(y,d,e,t,i)}}return c?(i||(i=new $),Qe(n,r,e,t,f,i)):!1}function Y(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new $,o;if(!(o===void 0?Y(b,u,ze|Ve,t,l):o))return!1}}return!0}function In(n){return n===n&&!ln(n)}function nt(n){for(var r=_(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&Yn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return B(n)&&In(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&qn(n,r,_)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var q=ct(lt);function bt(n){return typeof n=="function"?n:cn}function _t(n,r){var e=T(n)?pn:q;return e(n,bt(r))}function dt(n,r){var e=[];return q(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function $t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,_(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Pt(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,q)}var yt=1/0,Tt=m&&1/H(new m([,-0]))[1]==yt?function(n){return new m(n)}:Qn,ht=200;function It(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return H(b);a=!1,f=En,u=new P}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Pe as C,Qn as D,P as S,It as a,C as b,Ot as c,_t as d,U as e,$t as f,Ln as g,Xn as h,Et as i,q as j,_ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,Pt as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
1
+ import{b0 as S,b1 as Rn,aP as T,b2 as w,b3 as xn,b4 as Mn,aO as sn,b5 as mn,b6 as un,b7 as x,aM as N,b8 as Cn,b9 as on,ba as Fn,bb as E,a_ as gn,bc as R,aK as ln,bd as Dn,be as D,bf as Gn,bg as Nn,bh as $,aS as Un,bi as Bn,aN as Kn,bj as Q,bk as jn,bl as Hn,aR as Yn,aQ as cn,aY as qn,bm as m}from"./mermaid.core-BMmc28YS.js";var Zn="[object Symbol]";function U(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var X=w?w.prototype:void 0,J=X?X.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return J?J.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Qn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Xn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Jn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Xn(n,Jn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function _(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,_(r),n)}function lr(n,r){return n&&x(r,N(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Cn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,_,j)}function yr(n){return On(n,N,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var _r=/\w*$/;function $r(n){var r=new n.constructor(n.source,_r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Pr="[object Date]",Ir="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Nr="[object Int16Array]",Ur="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Pr:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Nr:case Ur:case Br:case Kr:case jr:case Hr:return Fn(n,e);case Ir:return new t;case vr:case xr:return new t(n);case Lr:return $r(n);case Rr:return new t;case Mr:return Sr(n)}}var qr="[object Map]";function Zr(n){return S(n)&&E(n)==qr}var nn=R&&R.isMap,Qr=nn?gn(nn):Zr,Xr="[object Set]";function Jr(n){return S(n)&&E(n)==Xr}var rn=R&&R.isSet,Wr=rn?gn(rn):Jr,zr=1,Vr=2,kr=4,_n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",$n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",_e="[object Uint32Array]",g={};g[_n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[_e]=!0;g[te]=g[$n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==$n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==_n||c&&!f){if(a=u||c?{}:Nn(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=Yr(n,o,s)}}i||(i=new $);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(d){a.add(C(d,r,e,d,n,i))}):Qr(n)&&n.forEach(function(d,p){a.set(p,C(d,r,e,p,n,i))});var A=b?u?yr:G:u?N:_,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,C(d,r,e,p,n,i))}),a}var $e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,$e),this}function Ee(n){return this.__data__.has(n)}function P(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}P.prototype.add=P.prototype.push=Se;P.prototype.has=Ee;function Pe(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Ie=1,ve=2;function Pn(n,r,e,t,f,i){var a=e&Ie,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new P:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Pe(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ne="[object Set]",Ue="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new Q(n),new Q(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ue:return n==r+"";case Fe:var s=Le;case Ne:var u=t&Re;if(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,qe=Object.prototype,Ze=qe.hasOwnProperty;function Qe(n,r,e,t,f,i){var a=e&Ye,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:Ze.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var Z=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(Z===void 0?p===O||f(p,O,e,t,i):Z)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var I=n.constructor,v=r.constructor;I!=v&&"constructor"in n&&"constructor"in r&&!(typeof I=="function"&&I instanceof I&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Xe=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Je=Object.prototype,an=Je.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new $),a||jn(n)?Pn(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Xe)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new $),f(y,d,e,t,i)}}return c?(i||(i=new $),Qe(n,r,e,t,f,i)):!1}function Y(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new $,o;if(!(o===void 0?Y(b,u,ze|Ve,t,l):o))return!1}}return!0}function In(n){return n===n&&!ln(n)}function nt(n){for(var r=_(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&Yn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return B(n)&&In(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&qn(n,r,_)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var q=ct(lt);function bt(n){return typeof n=="function"?n:cn}function _t(n,r){var e=T(n)?pn:q;return e(n,bt(r))}function dt(n,r){var e=[];return q(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function $t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,_(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Pt(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,q)}var yt=1/0,Tt=m&&1/H(new m([,-0]))[1]==yt?function(n){return new m(n)}:Qn,ht=200;function It(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return H(b);a=!1,f=En,u=new P}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Pe as C,Qn as D,P as S,It as a,C as b,Ot as c,_t as d,U as e,$t as f,Ln as g,Xn as h,Et as i,q as j,_ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,Pt as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
@@ -1 +1 @@
1
- import{L as ln,M as un,N as X,O,P as N,Q as an,R as y,S as tn,T as $,V as _,W as rn,X as o,Y as sn,Z as on,$ as fn}from"./mermaid.core-BlvxruUX.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,D,S,v,R,Q,u){var E=D-l,i=S-h,n=Q-v,d=u-R,a=d*E-n*i;if(!(a*a<y))return a=(n*(h-R)-d*(l-v))/a,[l+a*E,h+a*i]}function G(l,h,D,S,v,R,Q){var u=l-D,E=h-S,i=(Q?R:-R)/$(u*u+E*E),n=i*E,d=-i*u,a=l+n,s=h+d,f=D+n,c=S+d,V=(a+f)/2,t=(s+c)/2,m=f-a,g=c-s,A=m*m+g*g,T=v-R,P=a*c-f*s,I=(g<0?-1:1)*$(on(0,T*T*A-P*P)),L=(P*g-m*I)/A,M=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=L-V,e=M-t,r=w-V,W=p-t;return x*x+e*e>r*r+W*W&&(L=w,M=p),{cx:L,cy:M,x01:-n,y01:-d,x11:L*(v/T-1),y11:M*(v/T-1)}}function hn(){var l=cn,h=yn,D=N(0),S=null,v=gn,R=dn,Q=mn,u=null,E=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=R.apply(this,arguments)-an,V=rn(c-f),t=c>f;if(u||(u=n=E()),s<a&&(d=s,s=a,a=d),!(s>y))u.moveTo(0,0);else if(V>tn-y)u.moveTo(s*X(f),s*O(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*X(c),a*O(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=V,I=V,L=Q.apply(this,arguments)/2,M=L>y&&(S?+S.apply(this,arguments):$(a*a+s*s)),w=_(rn(s-a)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(M>y){var W=sn(M/a*O(L)),j=sn(M/s*O(L));(P-=W*2)>y?(W*=t?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var Y=s*X(m),Z=s*O(m),z=a*X(T),B=a*O(T);if(w>y){var C=s*X(g),F=s*O(g),H=a*X(A),J=a*O(A),q;if(V<un)if(q=pn(Y,Z,H,J,C,F,z,B)){var K=Y-q[0],U=Z-q[1],k=C-q[0],b=F-q[1],nn=1/O(fn((K*k+U*b)/($(K*K+U*U)*$(k*k+b*b)))/2),en=$(q[0]*q[0]+q[1]*q[1]);p=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=G(H,J,Y,Z,s,x,t),r=G(C,F,z,B,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),u.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(u.moveTo(Y,Z),u.arc(0,0,s,m,g,!t)):u.moveTo(Y,Z),!(a>y)||!(P>y)?u.lineTo(z,B):p>y?(e=G(z,B,C,F,a,-p,t),r=G(Y,Z,H,J,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,a,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),u.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):u.arc(0,0,a,T,A,t)}if(u.closePath(),n)return u=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-un/2;return[X(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:N(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:N(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:N(+n),i):R},i.padAngle=function(n){return arguments.length?(Q=typeof n=="function"?n:N(+n),i):Q},i.context=function(n){return arguments.length?(u=n??null,i):u},i}export{hn as d};
1
+ import{L as ln,M as un,N as X,O,P as N,Q as an,R as y,S as tn,T as $,V as _,W as rn,X as o,Y as sn,Z as on,$ as fn}from"./mermaid.core-BMmc28YS.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,D,S,v,R,Q,u){var E=D-l,i=S-h,n=Q-v,d=u-R,a=d*E-n*i;if(!(a*a<y))return a=(n*(h-R)-d*(l-v))/a,[l+a*E,h+a*i]}function G(l,h,D,S,v,R,Q){var u=l-D,E=h-S,i=(Q?R:-R)/$(u*u+E*E),n=i*E,d=-i*u,a=l+n,s=h+d,f=D+n,c=S+d,V=(a+f)/2,t=(s+c)/2,m=f-a,g=c-s,A=m*m+g*g,T=v-R,P=a*c-f*s,I=(g<0?-1:1)*$(on(0,T*T*A-P*P)),L=(P*g-m*I)/A,M=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=L-V,e=M-t,r=w-V,W=p-t;return x*x+e*e>r*r+W*W&&(L=w,M=p),{cx:L,cy:M,x01:-n,y01:-d,x11:L*(v/T-1),y11:M*(v/T-1)}}function hn(){var l=cn,h=yn,D=N(0),S=null,v=gn,R=dn,Q=mn,u=null,E=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=R.apply(this,arguments)-an,V=rn(c-f),t=c>f;if(u||(u=n=E()),s<a&&(d=s,s=a,a=d),!(s>y))u.moveTo(0,0);else if(V>tn-y)u.moveTo(s*X(f),s*O(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*X(c),a*O(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=V,I=V,L=Q.apply(this,arguments)/2,M=L>y&&(S?+S.apply(this,arguments):$(a*a+s*s)),w=_(rn(s-a)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(M>y){var W=sn(M/a*O(L)),j=sn(M/s*O(L));(P-=W*2)>y?(W*=t?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var Y=s*X(m),Z=s*O(m),z=a*X(T),B=a*O(T);if(w>y){var C=s*X(g),F=s*O(g),H=a*X(A),J=a*O(A),q;if(V<un)if(q=pn(Y,Z,H,J,C,F,z,B)){var K=Y-q[0],U=Z-q[1],k=C-q[0],b=F-q[1],nn=1/O(fn((K*k+U*b)/($(K*K+U*U)*$(k*k+b*b)))/2),en=$(q[0]*q[0]+q[1]*q[1]);p=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=G(H,J,Y,Z,s,x,t),r=G(C,F,z,B,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),u.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(u.moveTo(Y,Z),u.arc(0,0,s,m,g,!t)):u.moveTo(Y,Z),!(a>y)||!(P>y)?u.lineTo(z,B):p>y?(e=G(z,B,C,F,a,-p,t),r=G(Y,Z,H,J,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,a,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),u.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):u.arc(0,0,a,T,A,t)}if(u.closePath(),n)return u=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-un/2;return[X(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:N(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:N(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:N(+n),i):R},i.padAngle=function(n){return arguments.length?(Q=typeof n=="function"?n:N(+n),i):Q},i.context=function(n){return arguments.length?(u=n??null,i):u},i}export{hn as d};