@rudderhq/server 0.2.0-canary.11 → 0.2.0-canary.13

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 (98) hide show
  1. package/dist/bundled-plugins/plugin-linear/dist/worker.js +2 -1
  2. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
  3. package/dist/onboarding-assets/ceo/HEARTBEAT.md +7 -3
  4. package/dist/onboarding-assets/default/HEARTBEAT.md +6 -3
  5. package/dist/routes/agents.d.ts.map +1 -1
  6. package/dist/routes/agents.js +18 -2
  7. package/dist/routes/agents.js.map +1 -1
  8. package/dist/routes/issues.d.ts.map +1 -1
  9. package/dist/routes/issues.js +55 -5
  10. package/dist/routes/issues.js.map +1 -1
  11. package/dist/services/issue-review-wakeup.d.ts +48 -0
  12. package/dist/services/issue-review-wakeup.d.ts.map +1 -1
  13. package/dist/services/issue-review-wakeup.js +34 -1
  14. package/dist/services/issue-review-wakeup.js.map +1 -1
  15. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  16. package/dist/services/runtime-kernel/heartbeat.js +174 -1
  17. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  18. package/package.json +13 -13
  19. package/resources/bundled-skills/rudder/SKILL.md +44 -2
  20. package/resources/bundled-skills/rudder/references/cli-reference.md +13 -1
  21. package/skills/rudder/SKILL.md +44 -2
  22. package/skills/rudder/references/cli-reference.md +13 -1
  23. package/ui-dist/assets/{_basePickBy-BSNuB0Qp.js → _basePickBy-Dqxp5nRU.js} +1 -1
  24. package/ui-dist/assets/{_baseUniq-DMFGLRzA.js → _baseUniq-D5cgIII0.js} +1 -1
  25. package/ui-dist/assets/{arc-BjVgvVH1.js → arc-H6KIKqlX.js} +1 -1
  26. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-CB7zCznq.js → architectureDiagram-2XIMDMQ5-VJn3ZDRh.js} +1 -1
  27. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-C3jem7km.js → blockDiagram-WCTKOSBZ-BUaBtfrU.js} +1 -1
  28. package/ui-dist/assets/{c4Diagram-IC4MRINW-rY-MmiZ9.js → c4Diagram-IC4MRINW-CQApT9vP.js} +1 -1
  29. package/ui-dist/assets/channel-DPsIluDp.js +1 -0
  30. package/ui-dist/assets/{chunk-4BX2VUAB-DQVWgTb2.js → chunk-4BX2VUAB-BBObn37o.js} +1 -1
  31. package/ui-dist/assets/{chunk-55IACEB6-D8lLaAAs.js → chunk-55IACEB6-fRrcrqVQ.js} +1 -1
  32. package/ui-dist/assets/{chunk-FMBD7UC4-xSoWBh6D.js → chunk-FMBD7UC4-CC_JE5Yt.js} +1 -1
  33. package/ui-dist/assets/{chunk-JSJVCQXG-BmLCRZwF.js → chunk-JSJVCQXG-BICuo1Ro.js} +1 -1
  34. package/ui-dist/assets/{chunk-KX2RTZJC-m6CRN7qF.js → chunk-KX2RTZJC-Be3LkPd0.js} +1 -1
  35. package/ui-dist/assets/{chunk-NQ4KR5QH-Ret0vCZK.js → chunk-NQ4KR5QH-Dur-iQYf.js} +1 -1
  36. package/ui-dist/assets/{chunk-QZHKN3VN-DoZpzc7A.js → chunk-QZHKN3VN-D4i79fbz.js} +1 -1
  37. package/ui-dist/assets/{chunk-WL4C6EOR-DWl8Gr_C.js → chunk-WL4C6EOR-Go0XnAaW.js} +1 -1
  38. package/ui-dist/assets/classDiagram-VBA2DB6C-1mGg2M-S.js +1 -0
  39. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-1mGg2M-S.js +1 -0
  40. package/ui-dist/assets/clone-CN9aOgYl.js +1 -0
  41. package/ui-dist/assets/{cose-bilkent-S5V4N54A-m7cOeeMV.js → cose-bilkent-S5V4N54A-Dz_Kbgg2.js} +1 -1
  42. package/ui-dist/assets/{dagre-KLK3FWXG-C5JRz37p.js → dagre-KLK3FWXG-B-AQgng0.js} +1 -1
  43. package/ui-dist/assets/{diagram-E7M64L7V-Dn8iO_Xc.js → diagram-E7M64L7V-a9BLIZwB.js} +1 -1
  44. package/ui-dist/assets/{diagram-IFDJBPK2-CXMHnflP.js → diagram-IFDJBPK2-CvZXFIGJ.js} +1 -1
  45. package/ui-dist/assets/{diagram-P4PSJMXO-CDW1Fld1.js → diagram-P4PSJMXO-C1N1vrCa.js} +1 -1
  46. package/ui-dist/assets/{erDiagram-INFDFZHY-BZS07AxY.js → erDiagram-INFDFZHY-CyXQGMlP.js} +1 -1
  47. package/ui-dist/assets/{flowDiagram-PKNHOUZH-C7aHSfB2.js → flowDiagram-PKNHOUZH-BBpgi6a0.js} +1 -1
  48. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-D3-g8xZO.js → ganttDiagram-A5KZAMGK-5ceIuqjD.js} +1 -1
  49. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-Ce3lsV5J.js → gitGraphDiagram-K3NZZRJ6-DPX1bfNe.js} +1 -1
  50. package/ui-dist/assets/{graph-BSQA2Tac.js → graph--rDszzOT.js} +1 -1
  51. package/ui-dist/assets/{index-BG6W8rES.js → index-2lLnZmyi.js} +1 -1
  52. package/ui-dist/assets/{index-Bnhpm8_1.js → index-7otV2D3a.js} +1 -1
  53. package/ui-dist/assets/{index-DpRC5_-h.js → index-ByxDA0Uk.js} +1 -1
  54. package/ui-dist/assets/{index-DwwIwrNb.js → index-CB9M9iep.js} +1 -1
  55. package/ui-dist/assets/{index-Cnnr67j2.js → index-COOKxTn-.js} +1 -1
  56. package/ui-dist/assets/{index-BvpKZHFa.js → index-CY6mG5Z-.js} +1 -1
  57. package/ui-dist/assets/{index-BL-hv0ZJ.js → index-CgCzNc16.js} +1 -1
  58. package/ui-dist/assets/{index-ClP3hVxI.js → index-CgOJ6ByG.js} +1 -1
  59. package/ui-dist/assets/{index-DsBDXRQ6.js → index-CoiBmREY.js} +1 -1
  60. package/ui-dist/assets/{index-B0IIWpAF.js → index-CxODMF-x.js} +1 -1
  61. package/ui-dist/assets/{index-BonMTgRY.js → index-D18VJfzf.js} +1 -1
  62. package/ui-dist/assets/{index-CoiSCzpg.js → index-D5r2B9Og.js} +1 -1
  63. package/ui-dist/assets/{index-CiJEn3BT.js → index-D6OzdIrJ.js} +1 -1
  64. package/ui-dist/assets/{index-Dg5xtghf.js → index-DCfnKTZL.js} +1 -1
  65. package/ui-dist/assets/{index-Db6iV9WB.js → index-DFk8pAHY.js} +1 -1
  66. package/ui-dist/assets/{index-Buz7A077.js → index-DgKsdvVn.js} +1 -1
  67. package/ui-dist/assets/{index-DAd4YH2B.js → index-DkfYpS54.js} +1 -1
  68. package/ui-dist/assets/{index-BL42NqD3.js → index-DwUtNa8N.js} +1 -1
  69. package/ui-dist/assets/{index-Di77i-N-.js → index-Y_lagrtV.js} +1 -1
  70. package/ui-dist/assets/{index-DDLRI60h.js → index-cD0aid8e.js} +1 -1
  71. package/ui-dist/assets/{index-BOAT-hOe.js → index-iMvpheRJ.js} +1 -1
  72. package/ui-dist/assets/{index-C6Gjk_Wc.js → index-jf039Q5d.js} +1 -1
  73. package/ui-dist/assets/{index-CSOYDpwp.js → index-oCSJw3iz.js} +334 -334
  74. package/ui-dist/assets/{infoDiagram-LFFYTUFH-Byi5aEp7.js → infoDiagram-LFFYTUFH-DVtVGacg.js} +1 -1
  75. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-C7VoV5Dl.js → ishikawaDiagram-PHBUUO56-Bod1D2n3.js} +1 -1
  76. package/ui-dist/assets/{journeyDiagram-4ABVD52K-D8vtZeMM.js → journeyDiagram-4ABVD52K-DEmEfb66.js} +1 -1
  77. package/ui-dist/assets/{kanban-definition-K7BYSVSG-Cr1Cg4ni.js → kanban-definition-K7BYSVSG-D4zyLZyv.js} +1 -1
  78. package/ui-dist/assets/{layout-CQM7_u2P.js → layout-DOyQIm6v.js} +1 -1
  79. package/ui-dist/assets/{linear-BgTqFq3v.js → linear-BWD9chM2.js} +1 -1
  80. package/ui-dist/assets/{mermaid.core-BMtkWhMl.js → mermaid.core-QDXoS4fc.js} +4 -4
  81. package/ui-dist/assets/{mindmap-definition-YRQLILUH-DMje7VPN.js → mindmap-definition-YRQLILUH-0N37iHLv.js} +1 -1
  82. package/ui-dist/assets/{pieDiagram-SKSYHLDU-bXnNgXju.js → pieDiagram-SKSYHLDU-CzZFyPYV.js} +1 -1
  83. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-BgCu8W3-.js → quadrantDiagram-337W2JSQ-BB9-MmkN.js} +1 -1
  84. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-CeL0LvKh.js → requirementDiagram-Z7DCOOCP-CKZUv8I1.js} +1 -1
  85. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-DNbWkzvg.js → sankeyDiagram-WA2Y5GQK-CG8cyca5.js} +1 -1
  86. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-NjcPJPRy.js → sequenceDiagram-2WXFIKYE-Cctsg7MS.js} +1 -1
  87. package/ui-dist/assets/{stateDiagram-RAJIS63D-D29VrWKf.js → stateDiagram-RAJIS63D-DylyOw7m.js} +1 -1
  88. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-6qT1Stha.js +1 -0
  89. package/ui-dist/assets/{timeline-definition-YZTLITO2-YDz034MQ.js → timeline-definition-YZTLITO2-B2m9ypL0.js} +1 -1
  90. package/ui-dist/assets/{treemap-KZPCXAKY-CRC5gIrP.js → treemap-KZPCXAKY-3o_LW7ue.js} +1 -1
  91. package/ui-dist/assets/{vennDiagram-LZ73GAT5-Dga2JKQO.js → vennDiagram-LZ73GAT5-C29S_PD2.js} +1 -1
  92. package/ui-dist/assets/{xychartDiagram-JWTSCODW-DmXqm_OM.js → xychartDiagram-JWTSCODW-BD0t2Urs.js} +1 -1
  93. package/ui-dist/index.html +1 -1
  94. package/ui-dist/assets/channel-D0Qex6rY.js +0 -1
  95. package/ui-dist/assets/classDiagram-VBA2DB6C-CyT0KBGx.js +0 -1
  96. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CyT0KBGx.js +0 -1
  97. package/ui-dist/assets/clone-Bp0eZgi0.js +0 -1
  98. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-vEXjZeVI.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderhq/server",
3
- "version": "0.2.0-canary.11",
3
+ "version": "0.2.0-canary.13",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "homepage": "https://github.com/Undertone0809/rudder",
6
6
  "bugs": {
@@ -49,18 +49,18 @@
49
49
  "@langfuse/otel": "^5.1.0",
50
50
  "@langfuse/tracing": "^5.1.0",
51
51
  "@opentelemetry/sdk-trace-node": "^2.1.0",
52
- "@rudderhq/agent-runtime-claude-local": "0.2.0-canary.11",
53
- "@rudderhq/agent-runtime-codex-local": "0.2.0-canary.11",
54
- "@rudderhq/agent-runtime-cursor-local": "0.2.0-canary.11",
55
- "@rudderhq/agent-runtime-gemini-local": "0.2.0-canary.11",
56
- "@rudderhq/agent-runtime-openclaw-gateway": "0.2.0-canary.11",
57
- "@rudderhq/agent-runtime-opencode-local": "0.2.0-canary.11",
58
- "@rudderhq/agent-runtime-pi-local": "0.2.0-canary.11",
59
- "@rudderhq/agent-runtime-utils": "0.2.0-canary.11",
60
- "@rudderhq/db": "0.2.0-canary.11",
61
- "@rudderhq/plugin-sdk": "0.2.0-canary.11",
62
- "@rudderhq/run-intelligence-core": "0.2.0-canary.11",
63
- "@rudderhq/shared": "0.2.0-canary.11",
52
+ "@rudderhq/agent-runtime-claude-local": "0.2.0-canary.13",
53
+ "@rudderhq/agent-runtime-codex-local": "0.2.0-canary.13",
54
+ "@rudderhq/agent-runtime-cursor-local": "0.2.0-canary.13",
55
+ "@rudderhq/agent-runtime-gemini-local": "0.2.0-canary.13",
56
+ "@rudderhq/agent-runtime-openclaw-gateway": "0.2.0-canary.13",
57
+ "@rudderhq/agent-runtime-opencode-local": "0.2.0-canary.13",
58
+ "@rudderhq/agent-runtime-pi-local": "0.2.0-canary.13",
59
+ "@rudderhq/agent-runtime-utils": "0.2.0-canary.13",
60
+ "@rudderhq/db": "0.2.0-canary.13",
61
+ "@rudderhq/plugin-sdk": "0.2.0-canary.13",
62
+ "@rudderhq/run-intelligence-core": "0.2.0-canary.13",
63
+ "@rudderhq/shared": "0.2.0-canary.13",
64
64
  "ajv": "^8.18.0",
65
65
  "ajv-formats": "^3.0.1",
66
66
  "better-auth": "1.4.18",
@@ -88,9 +88,17 @@ For each linked issue:
88
88
  rudder agent inbox --json
89
89
  ```
90
90
 
91
- Work `in_progress` first, then `todo`. Skip `blocked` unless you can actually unblock it.
91
+ Inbox rows include a `relationship` field:
92
92
 
93
- If `RUDDER_TASK_ID` is set and the task is assigned to you, prioritize it first.
93
+ - `assignee`: execution work you own
94
+ - `reviewer`: review work where the issue is in `in_review`
95
+
96
+ Prioritize active close-out work first: reviewer rows with `status:
97
+ "in_review"`, then assignee `in_progress`, then assignee `todo`. Skip
98
+ `blocked` unless you can actually unblock it.
99
+
100
+ If `RUDDER_TASK_ID` is set and the task is assigned to you or names you as
101
+ reviewer, prioritize it first.
94
102
 
95
103
  **Step 4 — Mention-triggered wakes.** If `RUDDER_WAKE_COMMENT_ID` is set, read the relevant issue context before doing anything else on that task:
96
104
 
@@ -135,6 +143,35 @@ rudder issue comments list "<issue-id-or-identifier>" --after "<last-comment-id>
135
143
 
136
144
  Before exiting an active `todo` or `in_progress` issue run, leave exactly one clear close-out signal. Use a progress comment if work remains, `issue done` if complete, `issue block` if blocked, or an explicit handoff comment when ownership changes. Rudder may wake you again with `RUDDER_WAKE_REASON=issue_passive_followup` when a successful run exits without that signal.
137
145
 
146
+ Before exiting a reviewer run or an inbox row with `relationship: "reviewer"`,
147
+ leave exactly one structured reviewer decision. Do not rely on free-form
148
+ comments such as "reject" or "accepted" as the durable outcome:
149
+
150
+ - approve:
151
+
152
+ ```bash
153
+ rudder issue review "<issue-id-or-identifier>" --decision approve --comment "<markdown>" --json
154
+ ```
155
+
156
+ - request changes and return the issue to the assignee:
157
+
158
+ ```bash
159
+ rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment "<markdown>" --json
160
+ ```
161
+
162
+ - keep the issue in review because specific evidence or follow-up is still
163
+ missing:
164
+
165
+ ```bash
166
+ rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment "<markdown>" --json
167
+ ```
168
+
169
+ - block the issue:
170
+
171
+ ```bash
172
+ rudder issue review "<issue-id-or-identifier>" --decision blocked --comment "<markdown>" --json
173
+ ```
174
+
138
175
  - progress-only update:
139
176
 
140
177
  ```bash
@@ -213,6 +250,11 @@ Planning rules:
213
250
  - Self-assign only on explicit @-mention handoff.
214
251
  - Always communicate before exit on active work, except blocked issues with no new context.
215
252
  - Treat `issue_passive_followup` as close-out governance, not a fresh assignment: inspect current state, then comment, finish, block, or hand off explicitly.
253
+ - Treat `issue_review_closeout_missing` as review close-out governance: inspect
254
+ current state, then record one structured review decision.
255
+ - A reviewer does not take over implementation unless explicitly asked.
256
+ - A reviewer request for changes must use `rudder issue review --decision
257
+ request_changes`, not only a reject comment.
216
258
  - If blocked, explicitly set the issue to `blocked` with a blocker comment before exit.
217
259
  - Never cancel cross-team tasks. Reassign upward with explanation.
218
260
  - Use `chainOfCommand` for escalation.
@@ -14,7 +14,7 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
14
14
  | Command | Description | Mutating | Org | Agent | Run ID |
15
15
  | --- | --- | --- | --- | --- | --- |
16
16
  | `rudder agent me` | Show the authenticated agent identity, budget, and chain of command. | no | no | no | no |
17
- | `rudder agent inbox` | List the compact assigned-work inbox for the authenticated agent. | no | no | no | no |
17
+ | `rudder agent inbox` | List the compact assignee and reviewer work inbox for the authenticated agent. | no | no | no | no |
18
18
  | `rudder agent capabilities` | List the stable Rudder agent command contract. | no | no | no | no |
19
19
  | `rudder agent skills sync <agent-id>` | Sync the desired enabled skill set for an agent. | yes | no | no | attached when available |
20
20
  | `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
@@ -24,6 +24,7 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
24
24
  | `rudder issue comments list <issue>` | List issue comments, optionally only newer comments after a cursor. | no | no | no | no |
25
25
  | `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
26
26
  | `rudder issue update <issue> ...` | Apply generic issue updates when workflow commands are not enough. | yes | no | no | attached when available |
27
+ | `rudder issue review <issue> --decision <decision> --comment <text>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
27
28
  | `rudder issue done <issue> --comment <text>` | Mark an issue done with a required completion comment. | yes | no | no | attached when available |
28
29
  | `rudder issue block <issue> --comment <text>` | Mark an issue blocked with a required blocker comment. | yes | no | no | attached when available |
29
30
  | `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
@@ -52,6 +53,17 @@ Before a successful `todo` or `in_progress` issue run exits, leave one close-out
52
53
 
53
54
  If `RUDDER_WAKE_REASON=issue_passive_followup`, the run is close-out governance for the same issue. Inspect current issue state first, then leave a progress comment, completion, blocker, or explicit handoff.
54
55
 
56
+ ## Reviewer Close-Out Signals
57
+
58
+ When the inbox row or wake context says `relationship: "reviewer"`, `role: "reviewer"`, or `wakeSource: "review"`, finish the review with one structured reviewer decision:
59
+
60
+ - approve: `rudder issue review <issue> --decision approve --comment <text>`
61
+ - request changes: `rudder issue review <issue> --decision request_changes --comment <text>`
62
+ - needs follow-up: `rudder issue review <issue> --decision needs_followup --comment <text>`
63
+ - blocked: `rudder issue review <issue> --decision blocked --comment <text>`
64
+
65
+ Do not rely on a free-form reject or accept comment as the review outcome. The structured decision is the durable close-out signal.
66
+
55
67
  ## Compatibility Commands
56
68
 
57
69
  - `rudder agent list --org-id <id>` — List agents for an organization.
@@ -88,9 +88,17 @@ For each linked issue:
88
88
  rudder agent inbox --json
89
89
  ```
90
90
 
91
- Work `in_progress` first, then `todo`. Skip `blocked` unless you can actually unblock it.
91
+ Inbox rows include a `relationship` field:
92
92
 
93
- If `RUDDER_TASK_ID` is set and the task is assigned to you, prioritize it first.
93
+ - `assignee`: execution work you own
94
+ - `reviewer`: review work where the issue is in `in_review`
95
+
96
+ Prioritize active close-out work first: reviewer rows with `status:
97
+ "in_review"`, then assignee `in_progress`, then assignee `todo`. Skip
98
+ `blocked` unless you can actually unblock it.
99
+
100
+ If `RUDDER_TASK_ID` is set and the task is assigned to you or names you as
101
+ reviewer, prioritize it first.
94
102
 
95
103
  **Step 4 — Mention-triggered wakes.** If `RUDDER_WAKE_COMMENT_ID` is set, read the relevant issue context before doing anything else on that task:
96
104
 
@@ -135,6 +143,35 @@ rudder issue comments list "<issue-id-or-identifier>" --after "<last-comment-id>
135
143
 
136
144
  Before exiting an active `todo` or `in_progress` issue run, leave exactly one clear close-out signal. Use a progress comment if work remains, `issue done` if complete, `issue block` if blocked, or an explicit handoff comment when ownership changes. Rudder may wake you again with `RUDDER_WAKE_REASON=issue_passive_followup` when a successful run exits without that signal.
137
145
 
146
+ Before exiting a reviewer run or an inbox row with `relationship: "reviewer"`,
147
+ leave exactly one structured reviewer decision. Do not rely on free-form
148
+ comments such as "reject" or "accepted" as the durable outcome:
149
+
150
+ - approve:
151
+
152
+ ```bash
153
+ rudder issue review "<issue-id-or-identifier>" --decision approve --comment "<markdown>" --json
154
+ ```
155
+
156
+ - request changes and return the issue to the assignee:
157
+
158
+ ```bash
159
+ rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment "<markdown>" --json
160
+ ```
161
+
162
+ - keep the issue in review because specific evidence or follow-up is still
163
+ missing:
164
+
165
+ ```bash
166
+ rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment "<markdown>" --json
167
+ ```
168
+
169
+ - block the issue:
170
+
171
+ ```bash
172
+ rudder issue review "<issue-id-or-identifier>" --decision blocked --comment "<markdown>" --json
173
+ ```
174
+
138
175
  - progress-only update:
139
176
 
140
177
  ```bash
@@ -213,6 +250,11 @@ Planning rules:
213
250
  - Self-assign only on explicit @-mention handoff.
214
251
  - Always communicate before exit on active work, except blocked issues with no new context.
215
252
  - Treat `issue_passive_followup` as close-out governance, not a fresh assignment: inspect current state, then comment, finish, block, or hand off explicitly.
253
+ - Treat `issue_review_closeout_missing` as review close-out governance: inspect
254
+ current state, then record one structured review decision.
255
+ - A reviewer does not take over implementation unless explicitly asked.
256
+ - A reviewer request for changes must use `rudder issue review --decision
257
+ request_changes`, not only a reject comment.
216
258
  - If blocked, explicitly set the issue to `blocked` with a blocker comment before exit.
217
259
  - Never cancel cross-team tasks. Reassign upward with explanation.
218
260
  - Use `chainOfCommand` for escalation.
@@ -14,7 +14,7 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
14
14
  | Command | Description | Mutating | Org | Agent | Run ID |
15
15
  | --- | --- | --- | --- | --- | --- |
16
16
  | `rudder agent me` | Show the authenticated agent identity, budget, and chain of command. | no | no | no | no |
17
- | `rudder agent inbox` | List the compact assigned-work inbox for the authenticated agent. | no | no | no | no |
17
+ | `rudder agent inbox` | List the compact assignee and reviewer work inbox for the authenticated agent. | no | no | no | no |
18
18
  | `rudder agent capabilities` | List the stable Rudder agent command contract. | no | no | no | no |
19
19
  | `rudder agent skills sync <agent-id>` | Sync the desired enabled skill set for an agent. | yes | no | no | attached when available |
20
20
  | `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
@@ -24,6 +24,7 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
24
24
  | `rudder issue comments list <issue>` | List issue comments, optionally only newer comments after a cursor. | no | no | no | no |
25
25
  | `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
26
26
  | `rudder issue update <issue> ...` | Apply generic issue updates when workflow commands are not enough. | yes | no | no | attached when available |
27
+ | `rudder issue review <issue> --decision <decision> --comment <text>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
27
28
  | `rudder issue done <issue> --comment <text>` | Mark an issue done with a required completion comment. | yes | no | no | attached when available |
28
29
  | `rudder issue block <issue> --comment <text>` | Mark an issue blocked with a required blocker comment. | yes | no | no | attached when available |
29
30
  | `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
@@ -52,6 +53,17 @@ Before a successful `todo` or `in_progress` issue run exits, leave one close-out
52
53
 
53
54
  If `RUDDER_WAKE_REASON=issue_passive_followup`, the run is close-out governance for the same issue. Inspect current issue state first, then leave a progress comment, completion, blocker, or explicit handoff.
54
55
 
56
+ ## Reviewer Close-Out Signals
57
+
58
+ When the inbox row or wake context says `relationship: "reviewer"`, `role: "reviewer"`, or `wakeSource: "review"`, finish the review with one structured reviewer decision:
59
+
60
+ - approve: `rudder issue review <issue> --decision approve --comment <text>`
61
+ - request changes: `rudder issue review <issue> --decision request_changes --comment <text>`
62
+ - needs follow-up: `rudder issue review <issue> --decision needs_followup --comment <text>`
63
+ - blocked: `rudder issue review <issue> --decision blocked --comment <text>`
64
+
65
+ Do not rely on a free-form reject or accept comment as the review outcome. The structured decision is the durable close-out signal.
66
+
55
67
  ## Compatibility Commands
56
68
 
57
69
  - `rudder agent list --org-id <id>` — List agents for an organization.
@@ -1 +1 @@
1
- import{e as x,c as b,g as m,k as P,h as p,j as w,l as c,m as A,n as I,t as N,o as E}from"./_baseUniq-DMFGLRzA.js";import{aO as g,at as F,aP as M,aQ as T,aR as _,aS as l,aT as $,aU as B,aV as S,aW as y}from"./mermaid.core-BMtkWhMl.js";var R=/\s/;function G(n){for(var r=n.length;r--&&R.test(n.charAt(r)););return r}var H=/^\s+/;function L(n){return n&&n.slice(0,G(n)+1).replace(H,"")}var o=NaN,W=/^[-+]0x[0-9a-f]+$/i,q=/^0b[01]+$/i,z=/^0o[0-7]+$/i,C=parseInt;function K(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=L(n);var t=q.test(n);return t||z.test(n)?C(n.slice(2),t?2:8):W.test(n)?o:+n}var v=1/0,Q=17976931348623157e292;function U(n){if(!n)return n===0?n:0;if(n=K(n),n===v||n===-v){var r=n<0?-1:1;return r*Q}return n===n?n:0}function X(n){var r=U(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,Y=O.hasOwnProperty,dn=F(function(n,r){n=Object(n);var t=-1,i=r.length,a=i>2?r[2]:void 0;for(a&&M(r[0],r[1],a)&&(i=1);++t<i;)for(var f=r[t],e=T(f),s=-1,d=e.length;++s<d;){var u=e[s],h=n[u];(h===void 0||_(h,O[u])&&!Y.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 D(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 J=Math.max;function Z(n,r,t){var i=n==null?0:n.length;if(!i)return-1;var a=t==null?0:X(t);return a<0&&(a=J(i+a,0)),p(n,m(r),a)}var hn=D(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=$(n)?c: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&&A(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,B,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=N(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:S(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=E(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,X as j,un as l,gn as m,U as t};
1
+ import{e as x,c as b,g as m,k as P,h as p,j as w,l as c,m as A,n as I,t as N,o as E}from"./_baseUniq-D5cgIII0.js";import{aO as g,at as F,aP as M,aQ as T,aR as _,aS as l,aT as $,aU as B,aV as S,aW as y}from"./mermaid.core-QDXoS4fc.js";var R=/\s/;function G(n){for(var r=n.length;r--&&R.test(n.charAt(r)););return r}var H=/^\s+/;function L(n){return n&&n.slice(0,G(n)+1).replace(H,"")}var o=NaN,W=/^[-+]0x[0-9a-f]+$/i,q=/^0b[01]+$/i,z=/^0o[0-7]+$/i,C=parseInt;function K(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=L(n);var t=q.test(n);return t||z.test(n)?C(n.slice(2),t?2:8):W.test(n)?o:+n}var v=1/0,Q=17976931348623157e292;function U(n){if(!n)return n===0?n:0;if(n=K(n),n===v||n===-v){var r=n<0?-1:1;return r*Q}return n===n?n:0}function X(n){var r=U(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,Y=O.hasOwnProperty,dn=F(function(n,r){n=Object(n);var t=-1,i=r.length,a=i>2?r[2]:void 0;for(a&&M(r[0],r[1],a)&&(i=1);++t<i;)for(var f=r[t],e=T(f),s=-1,d=e.length;++s<d;){var u=e[s],h=n[u];(h===void 0||_(h,O[u])&&!Y.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 D(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 J=Math.max;function Z(n,r,t){var i=n==null?0:n.length;if(!i)return-1;var a=t==null?0:X(t);return a<0&&(a=J(i+a,0)),p(n,m(r),a)}var hn=D(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=$(n)?c: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&&A(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,B,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=N(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:S(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=E(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,X as j,un as l,gn as m,U as t};
@@ -1 +1 @@
1
- import{bg as S,bh as Rn,aT as T,bi as w,aS as sn,bj as xn,bk as mn,bl as Cn,bm as un,bn as x,aQ as U,bo as Mn,bp as on,bq as Fn,br as E,be as gn,bs as R,aO as ln,bt as Dn,bu as D,bv as Gn,bw as Un,bx as _,aW as Bn,by as Nn,aR as Kn,bz as Q,bA as jn,bB as Hn,aV as qn,aU as cn,bc as Yn,bC as C}from"./mermaid.core-BMtkWhMl.js";var Zn="[object Symbol]";function B(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(B(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 N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||B(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=Cn(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:N(n,r)?[n]:fr(ar(n))}function m(n){if(typeof n=="string"||B(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,U(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=Mn(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,U,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]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",mr="[object Symbol]",Cr="[object ArrayBuffer]",Mr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Br="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case Cr:return on(n);case Er:case Ir:return new t(+n);case Mr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:case jr:case Hr:return Fn(n,e);case Pr: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 Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}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 M(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?{}:Un(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(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(M(d,r,e,d,n,i))}):Qr(n)&&n.forEach(function(d,p){a.set(p,M(d,r,e,p,n,i))});var A=b?u?yr:G:u?U:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Bn(a,p,M(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 I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(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 Pe=1,ve=2;function In(n,r,e,t,f,i){var a=e&Pe,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 I: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(!Ie(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]",Ce="[object Date]",Me="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Be="[object String]",Ne="[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 Ce:case De:return Kn(+n,+r);case Me:return n.name==r.name&&n.message==r.message;case Ge:case Be:return n==r+"";case Fe:var s=Le;case Ue: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=In(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Qe(n,r,e,t,f,i){var a=e&qe,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 P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&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)?In(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 q(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,q,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?q(b,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(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,Pn(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)&&qn(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 N(n)&&Pn(r)?vn(m(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r==null?void 0:r[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return N(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&&Yn(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 Y=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Y;return e(n,bt(r))}function dt(n,r){var e=[];return Y(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 It(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var yt=1/0,Tt=C&&1/H(new C([,-0]))[1]==yt?function(n){return new C(n)}:Qn,ht=200;function Pt(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 I}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,Ie as C,Qn as D,I as S,Pt as a,M as b,Ot as c,$t as d,B as e,_t as f,Ln as g,Xn as h,Et as i,Y as j,$ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,It 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{bg as S,bh as Rn,aT as T,bi as w,aS as sn,bj as xn,bk as mn,bl as Cn,bm as un,bn as x,aQ as U,bo as Mn,bp as on,bq as Fn,br as E,be as gn,bs as R,aO as ln,bt as Dn,bu as D,bv as Gn,bw as Un,bx as _,aW as Bn,by as Nn,aR as Kn,bz as Q,bA as jn,bB as Hn,aV as qn,aU as cn,bc as Yn,bC as C}from"./mermaid.core-QDXoS4fc.js";var Zn="[object Symbol]";function B(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(B(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 N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||B(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=Cn(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:N(n,r)?[n]:fr(ar(n))}function m(n){if(typeof n=="string"||B(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,U(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=Mn(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,U,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]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",mr="[object Symbol]",Cr="[object ArrayBuffer]",Mr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Br="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case Cr:return on(n);case Er:case Ir:return new t(+n);case Mr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:case jr:case Hr:return Fn(n,e);case Pr: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 Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}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 M(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?{}:Un(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(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(M(d,r,e,d,n,i))}):Qr(n)&&n.forEach(function(d,p){a.set(p,M(d,r,e,p,n,i))});var A=b?u?yr:G:u?U:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Bn(a,p,M(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 I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(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 Pe=1,ve=2;function In(n,r,e,t,f,i){var a=e&Pe,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 I: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(!Ie(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]",Ce="[object Date]",Me="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Be="[object String]",Ne="[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 Ce:case De:return Kn(+n,+r);case Me:return n.name==r.name&&n.message==r.message;case Ge:case Be:return n==r+"";case Fe:var s=Le;case Ue: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=In(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Qe(n,r,e,t,f,i){var a=e&qe,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 P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&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)?In(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 q(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,q,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?q(b,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(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,Pn(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)&&qn(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 N(n)&&Pn(r)?vn(m(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r==null?void 0:r[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return N(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&&Yn(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 Y=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Y;return e(n,bt(r))}function dt(n,r){var e=[];return Y(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 It(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var yt=1/0,Tt=C&&1/H(new C([,-0]))[1]==yt?function(n){return new C(n)}:Qn,ht=200;function Pt(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 I}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,Ie as C,Qn as D,I as S,Pt as a,M as b,Ot as c,$t as d,B as e,_t as f,Ln as g,Xn as h,Et as i,Y as j,$ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,It 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{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as on,$ as sn,a0 as fn}from"./mermaid.core-BMtkWhMl.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,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,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(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,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,A,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)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as on,$ as sn,a0 as fn}from"./mermaid.core-QDXoS4fc.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,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,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(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,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,A,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)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};