@rudderhq/server 0.2.0-canary.13 → 0.2.0-canary.15
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.
- package/dist/bundled-plugins/plugin-linear/dist/worker.js +1 -1
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
- package/dist/onboarding-assets/ceo/HEARTBEAT.md +3 -3
- package/dist/onboarding-assets/default/HEARTBEAT.md +3 -3
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +9 -5
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/chats.d.ts.map +1 -1
- package/dist/routes/chats.js +98 -36
- package/dist/routes/chats.js.map +1 -1
- package/dist/routes/costs.d.ts.map +1 -1
- package/dist/routes/costs.js +7 -0
- package/dist/routes/costs.js.map +1 -1
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +23 -11
- package/dist/routes/issues.js.map +1 -1
- package/dist/services/chats.d.ts +75 -1
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +58 -0
- package/dist/services/chats.js.map +1 -1
- package/dist/services/costs.d.ts +11 -0
- package/dist/services/costs.d.ts.map +1 -1
- package/dist/services/costs.js +30 -1
- package/dist/services/costs.js.map +1 -1
- package/dist/services/issue-review-wakeup.d.ts +1 -1
- package/dist/services/issue-review-wakeup.d.ts.map +1 -1
- package/dist/services/issue-review-wakeup.js +6 -2
- package/dist/services/issue-review-wakeup.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.js +1 -1
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
- package/package.json +13 -13
- package/resources/bundled-skills/rudder/SKILL.md +17 -11
- package/resources/bundled-skills/rudder/references/cli-reference.md +13 -9
- package/skills/rudder/SKILL.md +17 -11
- package/skills/rudder/references/cli-reference.md +13 -9
- package/ui-dist/assets/{_basePickBy-Dqxp5nRU.js → _basePickBy-D-h8NLO4.js} +1 -1
- package/ui-dist/assets/{_baseUniq-D5cgIII0.js → _baseUniq-BR--bNSq.js} +1 -1
- package/ui-dist/assets/{arc-H6KIKqlX.js → arc-CSkvw-4b.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-VJn3ZDRh.js → architectureDiagram-2XIMDMQ5-DFHSNwq4.js} +1 -1
- package/ui-dist/assets/{blockDiagram-WCTKOSBZ-BUaBtfrU.js → blockDiagram-WCTKOSBZ-DRIY9021.js} +1 -1
- package/ui-dist/assets/{c4Diagram-IC4MRINW-CQApT9vP.js → c4Diagram-IC4MRINW-C8AmPWyc.js} +1 -1
- package/ui-dist/assets/channel-zvEYfxUn.js +1 -0
- package/ui-dist/assets/{chunk-4BX2VUAB-BBObn37o.js → chunk-4BX2VUAB-BWQcF6dX.js} +1 -1
- package/ui-dist/assets/{chunk-55IACEB6-fRrcrqVQ.js → chunk-55IACEB6-Bt637FJW.js} +1 -1
- package/ui-dist/assets/{chunk-FMBD7UC4-CC_JE5Yt.js → chunk-FMBD7UC4-DRxreXxp.js} +1 -1
- package/ui-dist/assets/{chunk-JSJVCQXG-BICuo1Ro.js → chunk-JSJVCQXG-D7Jgq1Il.js} +1 -1
- package/ui-dist/assets/{chunk-KX2RTZJC-Be3LkPd0.js → chunk-KX2RTZJC-Ccgq1uYP.js} +1 -1
- package/ui-dist/assets/{chunk-NQ4KR5QH-Dur-iQYf.js → chunk-NQ4KR5QH-CwESwMqw.js} +1 -1
- package/ui-dist/assets/{chunk-QZHKN3VN-D4i79fbz.js → chunk-QZHKN3VN-CqYBxcbR.js} +1 -1
- package/ui-dist/assets/{chunk-WL4C6EOR-Go0XnAaW.js → chunk-WL4C6EOR-DwBxhkiq.js} +1 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-B2Alzllg.js +1 -0
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-B2Alzllg.js +1 -0
- package/ui-dist/assets/clone-7zkwILBR.js +1 -0
- package/ui-dist/assets/{cose-bilkent-S5V4N54A-Dz_Kbgg2.js → cose-bilkent-S5V4N54A-baSLVPlm.js} +1 -1
- package/ui-dist/assets/{dagre-KLK3FWXG-B-AQgng0.js → dagre-KLK3FWXG-DN_JX1Q8.js} +1 -1
- package/ui-dist/assets/{diagram-E7M64L7V-a9BLIZwB.js → diagram-E7M64L7V-DDEWjBya.js} +1 -1
- package/ui-dist/assets/{diagram-IFDJBPK2-CvZXFIGJ.js → diagram-IFDJBPK2-BS93a0FQ.js} +1 -1
- package/ui-dist/assets/{diagram-P4PSJMXO-C1N1vrCa.js → diagram-P4PSJMXO-Ba5c8-Sx.js} +1 -1
- package/ui-dist/assets/{erDiagram-INFDFZHY-CyXQGMlP.js → erDiagram-INFDFZHY-DU-knb3T.js} +1 -1
- package/ui-dist/assets/{flowDiagram-PKNHOUZH-BBpgi6a0.js → flowDiagram-PKNHOUZH-CcPbwDij.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-A5KZAMGK-5ceIuqjD.js → ganttDiagram-A5KZAMGK-dpcLDe8x.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-DPX1bfNe.js → gitGraphDiagram-K3NZZRJ6-PbsQVo0l.js} +1 -1
- package/ui-dist/assets/{graph--rDszzOT.js → graph-B1NaLX-l.js} +1 -1
- package/ui-dist/assets/{index-2lLnZmyi.js → index-5MQqways.js} +1 -1
- package/ui-dist/assets/{index-oCSJw3iz.js → index-A0LOW_Fb.js} +334 -334
- package/ui-dist/assets/{index-CB9M9iep.js → index-B6t39aB6.js} +1 -1
- package/ui-dist/assets/{index-DkfYpS54.js → index-B85cIZqt.js} +1 -1
- package/ui-dist/assets/{index-DFk8pAHY.js → index-B8jDpyWJ.js} +1 -1
- package/ui-dist/assets/{index-CoiBmREY.js → index-BAbidIkM.js} +1 -1
- package/ui-dist/assets/{index-DgKsdvVn.js → index-BYZsSIlr.js} +1 -1
- package/ui-dist/assets/{index-CY6mG5Z-.js → index-Bt2VeKqk.js} +1 -1
- package/ui-dist/assets/{index-cD0aid8e.js → index-CELOlbo5.js} +1 -1
- package/ui-dist/assets/{index-D6OzdIrJ.js → index-CSPWNtCm.js} +1 -1
- package/ui-dist/assets/{index-CxODMF-x.js → index-Cc1n5ga_.js} +1 -1
- package/ui-dist/assets/{index-CgCzNc16.js → index-Cp99Qt69.js} +1 -1
- package/ui-dist/assets/{index-jf039Q5d.js → index-CsQiPsnp.js} +1 -1
- package/ui-dist/assets/{index-DwUtNa8N.js → index-DHBt5Zkp.js} +1 -1
- package/ui-dist/assets/{index-ByxDA0Uk.js → index-Dmt8Cxd8.js} +1 -1
- package/ui-dist/assets/{index-COOKxTn-.js → index-Dmv6xxej.js} +1 -1
- package/ui-dist/assets/{index-7otV2D3a.js → index-Ds6tYqTU.js} +1 -1
- package/ui-dist/assets/{index-CgOJ6ByG.js → index-MnoNbqVE.js} +1 -1
- package/ui-dist/assets/{index-iMvpheRJ.js → index-TPaNx0Zl.js} +1 -1
- package/ui-dist/assets/{index-DCfnKTZL.js → index-UXttg8Pn.js} +1 -1
- package/ui-dist/assets/index-cDIk_T2w.css +1 -0
- package/ui-dist/assets/{index-D18VJfzf.js → index-dL0EsJBM.js} +1 -1
- package/ui-dist/assets/{index-D5r2B9Og.js → index-h1oRF8ni.js} +1 -1
- package/ui-dist/assets/{index-Y_lagrtV.js → index-jKBKODKr.js} +1 -1
- package/ui-dist/assets/{infoDiagram-LFFYTUFH-DVtVGacg.js → infoDiagram-LFFYTUFH-Cm_xHYGE.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-Bod1D2n3.js → ishikawaDiagram-PHBUUO56-CGjP8wp3.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-4ABVD52K-DEmEfb66.js → journeyDiagram-4ABVD52K-DtfrfhPy.js} +1 -1
- package/ui-dist/assets/{kanban-definition-K7BYSVSG-D4zyLZyv.js → kanban-definition-K7BYSVSG-BkekyYnC.js} +1 -1
- package/ui-dist/assets/{layout-DOyQIm6v.js → layout-DbTSS7_W.js} +1 -1
- package/ui-dist/assets/{linear-BWD9chM2.js → linear-CyY6A0W-.js} +1 -1
- package/ui-dist/assets/{mermaid.core-QDXoS4fc.js → mermaid.core-BqmnwNzE.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-YRQLILUH-0N37iHLv.js → mindmap-definition-YRQLILUH-mpmreInp.js} +1 -1
- package/ui-dist/assets/{pieDiagram-SKSYHLDU-CzZFyPYV.js → pieDiagram-SKSYHLDU-8lEzBZm-.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-337W2JSQ-BB9-MmkN.js → quadrantDiagram-337W2JSQ-D4b2eeeZ.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-CKZUv8I1.js → requirementDiagram-Z7DCOOCP-BDxsxSi5.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-CG8cyca5.js → sankeyDiagram-WA2Y5GQK-CzIGWZUV.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-Cctsg7MS.js → sequenceDiagram-2WXFIKYE-D7ZF2bly.js} +1 -1
- package/ui-dist/assets/{stateDiagram-RAJIS63D-DylyOw7m.js → stateDiagram-RAJIS63D-BssHUy5N.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-BT2CUSiM.js +1 -0
- package/ui-dist/assets/{timeline-definition-YZTLITO2-B2m9ypL0.js → timeline-definition-YZTLITO2-ltxkV70w.js} +1 -1
- package/ui-dist/assets/{treemap-KZPCXAKY-3o_LW7ue.js → treemap-KZPCXAKY-DClHryuL.js} +1 -1
- package/ui-dist/assets/{vennDiagram-LZ73GAT5-C29S_PD2.js → vennDiagram-LZ73GAT5-DoIiUzzO.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-JWTSCODW-BD0t2Urs.js → xychartDiagram-JWTSCODW-P-vyEKjH.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/assets/channel-DPsIluDp.js +0 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-1mGg2M-S.js +0 -1
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-1mGg2M-S.js +0 -1
- package/ui-dist/assets/clone-CN9aOgYl.js +0 -1
- package/ui-dist/assets/index-CSANx6ee.css +0 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-6qT1Stha.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/server",
|
|
3
|
-
"version": "0.2.0-canary.
|
|
3
|
+
"version": "0.2.0-canary.15",
|
|
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.
|
|
53
|
-
"@rudderhq/agent-runtime-codex-local": "0.2.0-canary.
|
|
54
|
-
"@rudderhq/agent-runtime-cursor-local": "0.2.0-canary.
|
|
55
|
-
"@rudderhq/agent-runtime-gemini-local": "0.2.0-canary.
|
|
56
|
-
"@rudderhq/agent-runtime-openclaw-gateway": "0.2.0-canary.
|
|
57
|
-
"@rudderhq/agent-runtime-opencode-local": "0.2.0-canary.
|
|
58
|
-
"@rudderhq/agent-runtime-pi-local": "0.2.0-canary.
|
|
59
|
-
"@rudderhq/agent-runtime-utils": "0.2.0-canary.
|
|
60
|
-
"@rudderhq/db": "0.2.0-canary.
|
|
61
|
-
"@rudderhq/plugin-sdk": "0.2.0-canary.
|
|
62
|
-
"@rudderhq/run-intelligence-core": "0.2.0-canary.
|
|
63
|
-
"@rudderhq/shared": "0.2.0-canary.
|
|
52
|
+
"@rudderhq/agent-runtime-claude-local": "0.2.0-canary.15",
|
|
53
|
+
"@rudderhq/agent-runtime-codex-local": "0.2.0-canary.15",
|
|
54
|
+
"@rudderhq/agent-runtime-cursor-local": "0.2.0-canary.15",
|
|
55
|
+
"@rudderhq/agent-runtime-gemini-local": "0.2.0-canary.15",
|
|
56
|
+
"@rudderhq/agent-runtime-openclaw-gateway": "0.2.0-canary.15",
|
|
57
|
+
"@rudderhq/agent-runtime-opencode-local": "0.2.0-canary.15",
|
|
58
|
+
"@rudderhq/agent-runtime-pi-local": "0.2.0-canary.15",
|
|
59
|
+
"@rudderhq/agent-runtime-utils": "0.2.0-canary.15",
|
|
60
|
+
"@rudderhq/db": "0.2.0-canary.15",
|
|
61
|
+
"@rudderhq/plugin-sdk": "0.2.0-canary.15",
|
|
62
|
+
"@rudderhq/run-intelligence-core": "0.2.0-canary.15",
|
|
63
|
+
"@rudderhq/shared": "0.2.0-canary.15",
|
|
64
64
|
"ajv": "^8.18.0",
|
|
65
65
|
"ajv-formats": "^3.0.1",
|
|
66
66
|
"better-auth": "1.4.18",
|
|
@@ -91,11 +91,12 @@ rudder agent inbox --json
|
|
|
91
91
|
Inbox rows include a `relationship` field:
|
|
92
92
|
|
|
93
93
|
- `assignee`: execution work you own
|
|
94
|
-
- `reviewer`: review work where the issue is in `in_review`
|
|
94
|
+
- `reviewer`: review or blocker-triage work where the issue is in `in_review`
|
|
95
|
+
or `blocked`
|
|
95
96
|
|
|
96
97
|
Prioritize active close-out work first: reviewer rows with `status:
|
|
97
|
-
"in_review"`, then assignee `in_progress`, then assignee
|
|
98
|
-
`blocked` unless you can actually unblock it.
|
|
98
|
+
`"in_review"` or `"blocked"`, then assignee `in_progress`, then assignee
|
|
99
|
+
`todo`. Skip assignee-only `blocked` work unless you can actually unblock it.
|
|
99
100
|
|
|
100
101
|
If `RUDDER_TASK_ID` is set and the task is assigned to you or names you as
|
|
101
102
|
reviewer, prioritize it first.
|
|
@@ -141,11 +142,13 @@ rudder issue comments list "<issue-id-or-identifier>" --after "<last-comment-id>
|
|
|
141
142
|
|
|
142
143
|
**Step 8 — Communicate outcome.**
|
|
143
144
|
|
|
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.
|
|
145
|
+
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. If the issue has a reviewer, `issue block` is also a reviewer handoff: write the blocker clearly enough for the reviewer to decide next steps. Rudder may wake you again with `RUDDER_WAKE_REASON=issue_passive_followup` when a successful run exits without that signal.
|
|
145
146
|
|
|
146
147
|
Before exiting a reviewer run or an inbox row with `relationship: "reviewer"`,
|
|
147
148
|
leave exactly one structured reviewer decision. Do not rely on free-form
|
|
148
|
-
comments such as "reject" or "accepted" as the durable outcome
|
|
149
|
+
comments such as "reject" or "accepted" as the durable outcome. Reviewer rows
|
|
150
|
+
may be `in_review` or `blocked`; blocked reviewer work is blocker triage, not
|
|
151
|
+
permission to take over implementation unless explicitly asked:
|
|
149
152
|
|
|
150
153
|
- approve:
|
|
151
154
|
|
|
@@ -159,8 +162,8 @@ rudder issue review "<issue-id-or-identifier>" --decision approve --comment "<ma
|
|
|
159
162
|
rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment "<markdown>" --json
|
|
160
163
|
```
|
|
161
164
|
|
|
162
|
-
- keep the issue in review because specific evidence
|
|
163
|
-
missing:
|
|
165
|
+
- keep the issue in its current review/blocker state because specific evidence
|
|
166
|
+
or follow-up is still missing:
|
|
164
167
|
|
|
165
168
|
```bash
|
|
166
169
|
rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment "<markdown>" --json
|
|
@@ -175,23 +178,25 @@ rudder issue review "<issue-id-or-identifier>" --decision blocked --comment "<ma
|
|
|
175
178
|
- progress-only update:
|
|
176
179
|
|
|
177
180
|
```bash
|
|
178
|
-
rudder issue comment "<issue-id-or-identifier>" --body "<markdown>" --json
|
|
181
|
+
rudder issue comment "<issue-id-or-identifier>" --body "<markdown>" [--image "<path>"] --json
|
|
179
182
|
```
|
|
180
183
|
|
|
181
184
|
- completion:
|
|
182
185
|
|
|
183
186
|
```bash
|
|
184
|
-
rudder issue done "<issue-id-or-identifier>" --comment "<markdown>" --json
|
|
187
|
+
rudder issue done "<issue-id-or-identifier>" --comment "<markdown>" [--image "<path>"] --json
|
|
185
188
|
```
|
|
186
189
|
|
|
187
190
|
- blocker:
|
|
188
191
|
|
|
189
192
|
```bash
|
|
190
|
-
rudder issue block "<issue-id-or-identifier>" --comment "<markdown>" --json
|
|
193
|
+
rudder issue block "<issue-id-or-identifier>" --comment "<markdown>" [--image "<path>"] --json
|
|
191
194
|
```
|
|
192
195
|
|
|
193
196
|
- generic patch when workflow commands are not enough:
|
|
194
197
|
|
|
198
|
+
Add `--image "<path>"` one or more times when the close-out/progress comment should include local screenshots or images. Supported local image types are PNG, JPEG, WebP, and GIF; the CLI uploads them as issue attachments and appends Markdown image links.
|
|
199
|
+
|
|
195
200
|
```bash
|
|
196
201
|
rudder issue update "<issue-id-or-identifier>" ... --json
|
|
197
202
|
```
|
|
@@ -251,7 +256,8 @@ Planning rules:
|
|
|
251
256
|
- Always communicate before exit on active work, except blocked issues with no new context.
|
|
252
257
|
- Treat `issue_passive_followup` as close-out governance, not a fresh assignment: inspect current state, then comment, finish, block, or hand off explicitly.
|
|
253
258
|
- Treat `issue_review_closeout_missing` as review close-out governance: inspect
|
|
254
|
-
current state, then record one structured review
|
|
259
|
+
current state, including blocked handoffs, then record one structured review
|
|
260
|
+
decision.
|
|
255
261
|
- A reviewer does not take over implementation unless explicitly asked.
|
|
256
262
|
- A reviewer request for changes must use `rudder issue review --decision
|
|
257
263
|
request_changes`, not only a reject comment.
|
|
@@ -20,13 +20,13 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
|
|
|
20
20
|
| `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
|
|
21
21
|
| `rudder issue context <issue>` | Read the compact heartbeat context for an issue. | no | no | no | no |
|
|
22
22
|
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
23
|
-
| `rudder issue comment <issue> --body <text
|
|
23
|
+
| `rudder issue comment <issue> --body <text> [--image <path>]` | Add a comment to an issue, optionally uploading images and appending Markdown image links. | yes | no | no | attached when available |
|
|
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
|
-
| `rudder issue update <issue>
|
|
26
|
+
| `rudder issue update <issue> ... [--image <path>]` | Apply generic issue updates when workflow commands are not enough, optionally uploading images for the update comment. | yes | no | no | attached when available |
|
|
27
27
|
| `rudder issue review <issue> --decision <decision> --comment <text>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
|
|
28
|
-
| `rudder issue done <issue> --comment <text
|
|
29
|
-
| `rudder issue block <issue> --comment <text
|
|
28
|
+
| `rudder issue done <issue> --comment <text> [--image <path>]` | Mark an issue done with a required completion comment, optionally uploading images. | yes | no | no | attached when available |
|
|
29
|
+
| `rudder issue block <issue> --comment <text> [--image <path>]` | Mark an issue blocked with a required blocker comment, optionally uploading images. | yes | no | no | attached when available |
|
|
30
30
|
| `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
|
|
31
31
|
| `rudder issue documents list <issue>` | List issue documents. | no | no | no | no |
|
|
32
32
|
| `rudder issue documents get <issue> <key>` | Read one issue document by key. | no | no | no | no |
|
|
@@ -46,21 +46,25 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
|
|
|
46
46
|
|
|
47
47
|
Before a successful `todo` or `in_progress` issue run exits, leave one close-out signal with the command that matches the outcome:
|
|
48
48
|
|
|
49
|
-
- progress remains: `rudder issue comment <issue> --body <text
|
|
50
|
-
- work is complete: `rudder issue done <issue> --comment <text
|
|
51
|
-
- work is blocked: `rudder issue block <issue> --comment <text
|
|
49
|
+
- progress remains: `rudder issue comment <issue> --body <text> [--image <path>]`
|
|
50
|
+
- work is complete: `rudder issue done <issue> --comment <text> [--image <path>]`
|
|
51
|
+
- work is blocked: `rudder issue block <issue> --comment <text> [--image <path>]`
|
|
52
52
|
- ownership changes: add an explicit handoff comment before or with the assignee update
|
|
53
53
|
|
|
54
|
+
If an issue has a reviewer, moving it to `blocked` is also a reviewer handoff: the reviewer should confirm the blocker, request changes, approve, or keep explicit follow-up open with `rudder issue review`.
|
|
55
|
+
|
|
56
|
+
`--image` may be repeated. The CLI uploads each local PNG/JPEG/WebP/GIF as an issue attachment and appends Markdown image links to the comment text before sending it.
|
|
57
|
+
|
|
54
58
|
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.
|
|
55
59
|
|
|
56
60
|
## Reviewer Close-Out Signals
|
|
57
61
|
|
|
58
|
-
When the inbox row or wake context says `relationship: "reviewer"`, `role: "reviewer"`, or `wakeSource: "review"`, finish the review with one structured reviewer decision
|
|
62
|
+
When the inbox row or wake context says `relationship: "reviewer"`, `role: "reviewer"`, or `wakeSource: "review"`, finish the review with one structured reviewer decision. Reviewer work can be either `in_review` or `blocked`; blocked reviewer work means blocker triage, not implementation takeover.
|
|
59
63
|
|
|
60
64
|
- approve: `rudder issue review <issue> --decision approve --comment <text>`
|
|
61
65
|
- request changes: `rudder issue review <issue> --decision request_changes --comment <text>`
|
|
62
66
|
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment <text>`
|
|
63
|
-
- blocked: `rudder issue review <issue> --decision blocked --comment <text>`
|
|
67
|
+
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment <text>`
|
|
64
68
|
|
|
65
69
|
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
70
|
|
package/skills/rudder/SKILL.md
CHANGED
|
@@ -91,11 +91,12 @@ rudder agent inbox --json
|
|
|
91
91
|
Inbox rows include a `relationship` field:
|
|
92
92
|
|
|
93
93
|
- `assignee`: execution work you own
|
|
94
|
-
- `reviewer`: review work where the issue is in `in_review`
|
|
94
|
+
- `reviewer`: review or blocker-triage work where the issue is in `in_review`
|
|
95
|
+
or `blocked`
|
|
95
96
|
|
|
96
97
|
Prioritize active close-out work first: reviewer rows with `status:
|
|
97
|
-
"in_review"`, then assignee `in_progress`, then assignee
|
|
98
|
-
`blocked` unless you can actually unblock it.
|
|
98
|
+
`"in_review"` or `"blocked"`, then assignee `in_progress`, then assignee
|
|
99
|
+
`todo`. Skip assignee-only `blocked` work unless you can actually unblock it.
|
|
99
100
|
|
|
100
101
|
If `RUDDER_TASK_ID` is set and the task is assigned to you or names you as
|
|
101
102
|
reviewer, prioritize it first.
|
|
@@ -141,11 +142,13 @@ rudder issue comments list "<issue-id-or-identifier>" --after "<last-comment-id>
|
|
|
141
142
|
|
|
142
143
|
**Step 8 — Communicate outcome.**
|
|
143
144
|
|
|
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.
|
|
145
|
+
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. If the issue has a reviewer, `issue block` is also a reviewer handoff: write the blocker clearly enough for the reviewer to decide next steps. Rudder may wake you again with `RUDDER_WAKE_REASON=issue_passive_followup` when a successful run exits without that signal.
|
|
145
146
|
|
|
146
147
|
Before exiting a reviewer run or an inbox row with `relationship: "reviewer"`,
|
|
147
148
|
leave exactly one structured reviewer decision. Do not rely on free-form
|
|
148
|
-
comments such as "reject" or "accepted" as the durable outcome
|
|
149
|
+
comments such as "reject" or "accepted" as the durable outcome. Reviewer rows
|
|
150
|
+
may be `in_review` or `blocked`; blocked reviewer work is blocker triage, not
|
|
151
|
+
permission to take over implementation unless explicitly asked:
|
|
149
152
|
|
|
150
153
|
- approve:
|
|
151
154
|
|
|
@@ -159,8 +162,8 @@ rudder issue review "<issue-id-or-identifier>" --decision approve --comment "<ma
|
|
|
159
162
|
rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment "<markdown>" --json
|
|
160
163
|
```
|
|
161
164
|
|
|
162
|
-
- keep the issue in review because specific evidence
|
|
163
|
-
missing:
|
|
165
|
+
- keep the issue in its current review/blocker state because specific evidence
|
|
166
|
+
or follow-up is still missing:
|
|
164
167
|
|
|
165
168
|
```bash
|
|
166
169
|
rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment "<markdown>" --json
|
|
@@ -175,23 +178,25 @@ rudder issue review "<issue-id-or-identifier>" --decision blocked --comment "<ma
|
|
|
175
178
|
- progress-only update:
|
|
176
179
|
|
|
177
180
|
```bash
|
|
178
|
-
rudder issue comment "<issue-id-or-identifier>" --body "<markdown>" --json
|
|
181
|
+
rudder issue comment "<issue-id-or-identifier>" --body "<markdown>" [--image "<path>"] --json
|
|
179
182
|
```
|
|
180
183
|
|
|
181
184
|
- completion:
|
|
182
185
|
|
|
183
186
|
```bash
|
|
184
|
-
rudder issue done "<issue-id-or-identifier>" --comment "<markdown>" --json
|
|
187
|
+
rudder issue done "<issue-id-or-identifier>" --comment "<markdown>" [--image "<path>"] --json
|
|
185
188
|
```
|
|
186
189
|
|
|
187
190
|
- blocker:
|
|
188
191
|
|
|
189
192
|
```bash
|
|
190
|
-
rudder issue block "<issue-id-or-identifier>" --comment "<markdown>" --json
|
|
193
|
+
rudder issue block "<issue-id-or-identifier>" --comment "<markdown>" [--image "<path>"] --json
|
|
191
194
|
```
|
|
192
195
|
|
|
193
196
|
- generic patch when workflow commands are not enough:
|
|
194
197
|
|
|
198
|
+
Add `--image "<path>"` one or more times when the close-out/progress comment should include local screenshots or images. Supported local image types are PNG, JPEG, WebP, and GIF; the CLI uploads them as issue attachments and appends Markdown image links.
|
|
199
|
+
|
|
195
200
|
```bash
|
|
196
201
|
rudder issue update "<issue-id-or-identifier>" ... --json
|
|
197
202
|
```
|
|
@@ -251,7 +256,8 @@ Planning rules:
|
|
|
251
256
|
- Always communicate before exit on active work, except blocked issues with no new context.
|
|
252
257
|
- Treat `issue_passive_followup` as close-out governance, not a fresh assignment: inspect current state, then comment, finish, block, or hand off explicitly.
|
|
253
258
|
- Treat `issue_review_closeout_missing` as review close-out governance: inspect
|
|
254
|
-
current state, then record one structured review
|
|
259
|
+
current state, including blocked handoffs, then record one structured review
|
|
260
|
+
decision.
|
|
255
261
|
- A reviewer does not take over implementation unless explicitly asked.
|
|
256
262
|
- A reviewer request for changes must use `rudder issue review --decision
|
|
257
263
|
request_changes`, not only a reject comment.
|
|
@@ -20,13 +20,13 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
|
|
|
20
20
|
| `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
|
|
21
21
|
| `rudder issue context <issue>` | Read the compact heartbeat context for an issue. | no | no | no | no |
|
|
22
22
|
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
23
|
-
| `rudder issue comment <issue> --body <text
|
|
23
|
+
| `rudder issue comment <issue> --body <text> [--image <path>]` | Add a comment to an issue, optionally uploading images and appending Markdown image links. | yes | no | no | attached when available |
|
|
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
|
-
| `rudder issue update <issue>
|
|
26
|
+
| `rudder issue update <issue> ... [--image <path>]` | Apply generic issue updates when workflow commands are not enough, optionally uploading images for the update comment. | yes | no | no | attached when available |
|
|
27
27
|
| `rudder issue review <issue> --decision <decision> --comment <text>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
|
|
28
|
-
| `rudder issue done <issue> --comment <text
|
|
29
|
-
| `rudder issue block <issue> --comment <text
|
|
28
|
+
| `rudder issue done <issue> --comment <text> [--image <path>]` | Mark an issue done with a required completion comment, optionally uploading images. | yes | no | no | attached when available |
|
|
29
|
+
| `rudder issue block <issue> --comment <text> [--image <path>]` | Mark an issue blocked with a required blocker comment, optionally uploading images. | yes | no | no | attached when available |
|
|
30
30
|
| `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
|
|
31
31
|
| `rudder issue documents list <issue>` | List issue documents. | no | no | no | no |
|
|
32
32
|
| `rudder issue documents get <issue> <key>` | Read one issue document by key. | no | no | no | no |
|
|
@@ -46,21 +46,25 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
|
|
|
46
46
|
|
|
47
47
|
Before a successful `todo` or `in_progress` issue run exits, leave one close-out signal with the command that matches the outcome:
|
|
48
48
|
|
|
49
|
-
- progress remains: `rudder issue comment <issue> --body <text
|
|
50
|
-
- work is complete: `rudder issue done <issue> --comment <text
|
|
51
|
-
- work is blocked: `rudder issue block <issue> --comment <text
|
|
49
|
+
- progress remains: `rudder issue comment <issue> --body <text> [--image <path>]`
|
|
50
|
+
- work is complete: `rudder issue done <issue> --comment <text> [--image <path>]`
|
|
51
|
+
- work is blocked: `rudder issue block <issue> --comment <text> [--image <path>]`
|
|
52
52
|
- ownership changes: add an explicit handoff comment before or with the assignee update
|
|
53
53
|
|
|
54
|
+
If an issue has a reviewer, moving it to `blocked` is also a reviewer handoff: the reviewer should confirm the blocker, request changes, approve, or keep explicit follow-up open with `rudder issue review`.
|
|
55
|
+
|
|
56
|
+
`--image` may be repeated. The CLI uploads each local PNG/JPEG/WebP/GIF as an issue attachment and appends Markdown image links to the comment text before sending it.
|
|
57
|
+
|
|
54
58
|
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.
|
|
55
59
|
|
|
56
60
|
## Reviewer Close-Out Signals
|
|
57
61
|
|
|
58
|
-
When the inbox row or wake context says `relationship: "reviewer"`, `role: "reviewer"`, or `wakeSource: "review"`, finish the review with one structured reviewer decision
|
|
62
|
+
When the inbox row or wake context says `relationship: "reviewer"`, `role: "reviewer"`, or `wakeSource: "review"`, finish the review with one structured reviewer decision. Reviewer work can be either `in_review` or `blocked`; blocked reviewer work means blocker triage, not implementation takeover.
|
|
59
63
|
|
|
60
64
|
- approve: `rudder issue review <issue> --decision approve --comment <text>`
|
|
61
65
|
- request changes: `rudder issue review <issue> --decision request_changes --comment <text>`
|
|
62
66
|
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment <text>`
|
|
63
|
-
- blocked: `rudder issue review <issue> --decision blocked --comment <text>`
|
|
67
|
+
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment <text>`
|
|
64
68
|
|
|
65
69
|
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
70
|
|
|
@@ -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-
|
|
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-BR--bNSq.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-BqmnwNzE.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-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ℜ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-BqmnwNzE.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ℜ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-
|
|
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-BqmnwNzE.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};
|