@rudderhq/server 0.2.9-canary.2 → 0.2.9-canary.4
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 +4 -1
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
- package/dist/routes/agents.management-routes.d.ts.map +1 -1
- package/dist/routes/agents.management-routes.js +1 -0
- package/dist/routes/agents.management-routes.js.map +1 -1
- package/dist/routes/organization-skills.d.ts.map +1 -1
- package/dist/routes/organization-skills.js +12 -9
- package/dist/routes/organization-skills.js.map +1 -1
- package/dist/services/agent-permissions.d.ts +1 -0
- package/dist/services/agent-permissions.d.ts.map +1 -1
- package/dist/services/agent-permissions.js +4 -0
- package/dist/services/agent-permissions.js.map +1 -1
- package/dist/services/agents.d.ts +1 -0
- package/dist/services/agents.d.ts.map +1 -1
- package/dist/services/agents.js +5 -1
- package/dist/services/agents.js.map +1 -1
- package/package.json +13 -13
- package/resources/bundled-skills/rudder/SKILL.md +16 -9
- package/resources/bundled-skills/rudder/references/cli-reference.md +14 -12
- package/resources/bundled-skills/rudder/references/organization-skills.md +2 -2
- package/skills/rudder/SKILL.md +16 -9
- package/skills/rudder/references/cli-reference.md +14 -12
- package/skills/rudder/references/organization-skills.md +2 -2
- package/ui-dist/assets/{_basePickBy-_hZXNn3u.js → _basePickBy-Ba25gsjl.js} +1 -1
- package/ui-dist/assets/{_baseUniq-DQoN4Tnz.js → _baseUniq-GmiWxzFH.js} +1 -1
- package/ui-dist/assets/{arc-BONGIE1x.js → arc-BeLRxzU-.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-DvNMvoHl.js → architectureDiagram-2XIMDMQ5-D2nwOcwo.js} +1 -1
- package/ui-dist/assets/{blockDiagram-WCTKOSBZ-BNrH9xAk.js → blockDiagram-WCTKOSBZ-Dit9Wwcd.js} +1 -1
- package/ui-dist/assets/{c4Diagram-IC4MRINW-DgG0ok7_.js → c4Diagram-IC4MRINW-O88RqGEE.js} +1 -1
- package/ui-dist/assets/channel-tuMnhNES.js +1 -0
- package/ui-dist/assets/{chunk-4BX2VUAB-BVISrH-m.js → chunk-4BX2VUAB-CgzApFeV.js} +1 -1
- package/ui-dist/assets/{chunk-55IACEB6-Hk4RRbbA.js → chunk-55IACEB6-NoUUsZLw.js} +1 -1
- package/ui-dist/assets/{chunk-FMBD7UC4-BXgBxC6x.js → chunk-FMBD7UC4-BFjy3o1T.js} +1 -1
- package/ui-dist/assets/{chunk-JSJVCQXG-GyTDVxi7.js → chunk-JSJVCQXG-CQS2FB3N.js} +1 -1
- package/ui-dist/assets/{chunk-KX2RTZJC-DtF_NyQR.js → chunk-KX2RTZJC-bSC4Expa.js} +1 -1
- package/ui-dist/assets/{chunk-NQ4KR5QH-DYbScHpA.js → chunk-NQ4KR5QH-BtWPfmKW.js} +1 -1
- package/ui-dist/assets/{chunk-QZHKN3VN-B94K0jO1.js → chunk-QZHKN3VN-CXSC7D90.js} +1 -1
- package/ui-dist/assets/{chunk-WL4C6EOR-CjKF-H1m.js → chunk-WL4C6EOR-BQCh-klC.js} +1 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-BrYpGZ1f.js +1 -0
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-BrYpGZ1f.js +1 -0
- package/ui-dist/assets/clone-CJ3SRNxH.js +1 -0
- package/ui-dist/assets/{cose-bilkent-S5V4N54A-CikHIkcX.js → cose-bilkent-S5V4N54A-CEgx18fw.js} +1 -1
- package/ui-dist/assets/{dagre-KLK3FWXG-DMytos_l.js → dagre-KLK3FWXG-BcH0fHTa.js} +1 -1
- package/ui-dist/assets/{diagram-E7M64L7V-BgCkvmGj.js → diagram-E7M64L7V-Ct1TI7Eg.js} +1 -1
- package/ui-dist/assets/{diagram-IFDJBPK2-DHf6kVzW.js → diagram-IFDJBPK2-oCn4dNC5.js} +1 -1
- package/ui-dist/assets/{diagram-P4PSJMXO-BU8WAxJO.js → diagram-P4PSJMXO-w_8gfqML.js} +1 -1
- package/ui-dist/assets/{erDiagram-INFDFZHY-PnV5rxk5.js → erDiagram-INFDFZHY-DScMUERP.js} +1 -1
- package/ui-dist/assets/{flowDiagram-PKNHOUZH-DlFvBKTv.js → flowDiagram-PKNHOUZH-DxZe0iRz.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-A5KZAMGK-BfbbEu1A.js → ganttDiagram-A5KZAMGK-CBl1xlUq.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-LB7u0MxI.js → gitGraphDiagram-K3NZZRJ6-XLJJjG6k.js} +1 -1
- package/ui-dist/assets/{graph-Da5pYJIn.js → graph-DLNnpmQl.js} +1 -1
- package/ui-dist/assets/{index-CJz4IyYH.js → index-04UG7-ap.js} +1 -1
- package/ui-dist/assets/{index-DdqtbvAb.js → index-B9n7o8kT.js} +1 -1
- package/ui-dist/assets/{index-Ci2fNx8V.js → index-BDLqjLsh.js} +1 -1
- package/ui-dist/assets/{index-D_ywongN.js → index-BFtRo5xS.js} +1 -1
- package/ui-dist/assets/{index-BudFJ-AU.js → index-BJkYpbUi.js} +1 -1
- package/ui-dist/assets/{index-TDF4h-B3.js → index-BKLX3pig.js} +130 -130
- package/ui-dist/assets/{index-drbx4UwT.js → index-BZwIAq9r.js} +1 -1
- package/ui-dist/assets/{index-BhaPOC3F.js → index-BrXr_aDc.js} +1 -1
- package/ui-dist/assets/{index-Ywle5anA.js → index-BypwOSvg.js} +1 -1
- package/ui-dist/assets/{index-CGE4Gg7a.js → index-CE5v79H9.js} +1 -1
- package/ui-dist/assets/{index-OhQMrU6Q.js → index-CKIV6GBE.js} +1 -1
- package/ui-dist/assets/{index-nW0CbTm2.js → index-CKxjxxff.js} +1 -1
- package/ui-dist/assets/{index-CE2pTzOI.js → index-CNpdIav6.js} +1 -1
- package/ui-dist/assets/{index-Dzda6-Ao.js → index-CU6xV5HT.js} +1 -1
- package/ui-dist/assets/{index-C3CR6DrN.js → index-Cjdmzuvy.js} +1 -1
- package/ui-dist/assets/{index-D9pQWnU9.js → index-Cjk9bjm1.js} +1 -1
- package/ui-dist/assets/{index-BgYdJGrE.js → index-DQRGT1JY.js} +1 -1
- package/ui-dist/assets/{index-PuZ4DuDt.js → index-DYs_oBSx.js} +1 -1
- package/ui-dist/assets/{index-rTWDEZXT.js → index-D_JjmBF_.js} +1 -1
- package/ui-dist/assets/{index-Clfr-EuR.js → index-Dn6Lp0Ql.js} +1 -1
- package/ui-dist/assets/{index-D4zcaILb.js → index-F9BBaZLV.js} +1 -1
- package/ui-dist/assets/{index-C-aZVNNx.js → index-mQ4NAP6O.js} +1 -1
- package/ui-dist/assets/{index-COjoSXbq.js → index-wzC3D-SH.js} +1 -1
- package/ui-dist/assets/{infoDiagram-LFFYTUFH-cGAam8yA.js → infoDiagram-LFFYTUFH-Bj8bN5ST.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-B6xJ3I2J.js → ishikawaDiagram-PHBUUO56-u2Yb38DF.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-4ABVD52K-BL-GwJOG.js → journeyDiagram-4ABVD52K-B7hcudT8.js} +1 -1
- package/ui-dist/assets/{kanban-definition-K7BYSVSG-GgTD7zoM.js → kanban-definition-K7BYSVSG-CjiQPLoW.js} +1 -1
- package/ui-dist/assets/{layout-CrvoA2f8.js → layout-DCJYiH-R.js} +1 -1
- package/ui-dist/assets/{linear-DGNEcoWl.js → linear-D_JgZJQi.js} +1 -1
- package/ui-dist/assets/{mermaid.core-CGUbX2ot.js → mermaid.core-BYRAeK5Q.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-YRQLILUH-UIei-OHZ.js → mindmap-definition-YRQLILUH-BnKZppEK.js} +1 -1
- package/ui-dist/assets/{pieDiagram-SKSYHLDU-WxJohD7J.js → pieDiagram-SKSYHLDU-aDRa6j1w.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-337W2JSQ-C_hZg2xF.js → quadrantDiagram-337W2JSQ-SOGk7-Hx.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-Dbd5n2IG.js → requirementDiagram-Z7DCOOCP-VWEF0-4g.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-CQzKwXNm.js → sankeyDiagram-WA2Y5GQK-ClOGunY5.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-CbNCqvFW.js → sequenceDiagram-2WXFIKYE-DEM3mdm5.js} +1 -1
- package/ui-dist/assets/{stateDiagram-RAJIS63D-BMP5Z2iR.js → stateDiagram-RAJIS63D-CvshgTBf.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-CUz3Ocik.js +1 -0
- package/ui-dist/assets/{timeline-definition-YZTLITO2-C9DnIwFe.js → timeline-definition-YZTLITO2-DzMfUP1o.js} +1 -1
- package/ui-dist/assets/{treemap-KZPCXAKY-B-G9iIGe.js → treemap-KZPCXAKY-DKpBBJEz.js} +1 -1
- package/ui-dist/assets/{vennDiagram-LZ73GAT5-B0jvGaBL.js → vennDiagram-LZ73GAT5-Ss9D9Vzv.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-JWTSCODW-Cwz35Sbb.js → xychartDiagram-JWTSCODW-G1iiJ3p2.js} +1 -1
- package/ui-dist/index.html +1 -1
- package/ui-dist/assets/channel-xh-GAEoV.js +0 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-DydaXknq.js +0 -1
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-DydaXknq.js +0 -1
- package/ui-dist/assets/clone-CUIvBAYu.js +0 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-C1V-aErw.js +0 -1
|
@@ -155,26 +155,26 @@ permission to take over implementation unless explicitly asked:
|
|
|
155
155
|
- approve:
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
|
-
rudder issue review "<issue-id-or-identifier>" --decision approve --comment "<
|
|
158
|
+
rudder issue review "<issue-id-or-identifier>" --decision approve --comment-file "<path>" --json
|
|
159
159
|
```
|
|
160
160
|
|
|
161
161
|
- request changes and return the issue to the assignee:
|
|
162
162
|
|
|
163
163
|
```bash
|
|
164
|
-
rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment "<
|
|
164
|
+
rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment-file "<path>" --json
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
- keep the issue in its current review/blocker state because specific evidence
|
|
168
168
|
or follow-up is still missing:
|
|
169
169
|
|
|
170
170
|
```bash
|
|
171
|
-
rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment "<
|
|
171
|
+
rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment-file "<path>" --json
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
- block the issue:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
rudder issue review "<issue-id-or-identifier>" --decision blocked --comment "<
|
|
177
|
+
rudder issue review "<issue-id-or-identifier>" --decision blocked --comment-file "<path>" --json
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
Use `blocked` to confirm a human/external blocker. The comment must name the next human action; Rudder records a human handoff and removes the issue from repeated reviewer pickup until the board changes the issue.
|
|
@@ -182,23 +182,30 @@ Use `blocked` to confirm a human/external blocker. The comment must name the nex
|
|
|
182
182
|
- progress-only update:
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
|
-
rudder issue comment "<issue-id-or-identifier>" --body "<
|
|
185
|
+
rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" [--image "<path>"] --json
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
- completion:
|
|
189
189
|
|
|
190
190
|
```bash
|
|
191
|
-
rudder issue done "<issue-id-or-identifier>" --comment "<
|
|
191
|
+
rudder issue done "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
- blocker:
|
|
195
195
|
|
|
196
196
|
```bash
|
|
197
|
-
rudder issue block "<issue-id-or-identifier>" --comment "<
|
|
197
|
+
rudder issue block "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
- generic patch when workflow commands are not enough:
|
|
201
201
|
|
|
202
|
+
Use file or stdin input for issue comments. For any multiline Markdown,
|
|
203
|
+
command names, code spans, code blocks, validation summaries, or screenshot
|
|
204
|
+
evidence, write the body to a temporary Markdown file and pass
|
|
205
|
+
`--body-file <path>` or `--comment-file <path>`. Pass `-` to read from stdin.
|
|
206
|
+
Do not place shell-sensitive Markdown containing backticks or `$()` directly
|
|
207
|
+
inside a shell argument.
|
|
208
|
+
|
|
202
209
|
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.
|
|
203
210
|
|
|
204
211
|
If your comment mentions a screenshot path or uses a screenshot as validation evidence, attach that file with `--image "<path>"`. Do not leave only a local `/tmp/...` or workspace image path in the comment, because board users may not be able to inspect it from Rudder.
|
|
@@ -233,7 +240,7 @@ rudder agent skills create "$RUDDER_AGENT_ID" --name "<name>" --description "<de
|
|
|
233
240
|
|
|
234
241
|
This creates the package under `AGENT_HOME/skills` and does not require organization skill mutation permission.
|
|
235
242
|
|
|
236
|
-
When a board user
|
|
243
|
+
When a board user or authorized agent asks you to find, import, inspect, or assign organization skills:
|
|
237
244
|
|
|
238
245
|
1. Read `references/organization-skills.md`
|
|
239
246
|
2. Use the CLI surfaces in this order:
|
|
@@ -269,7 +276,7 @@ Typical flow:
|
|
|
269
276
|
rudder issue documents get "<issue-id-or-identifier>" plan --json
|
|
270
277
|
rudder issue documents revisions "<issue-id-or-identifier>" plan --json
|
|
271
278
|
rudder issue documents put "<issue-id-or-identifier>" plan --title "Plan" --format markdown --body "<markdown>" --json
|
|
272
|
-
rudder issue comment "<issue-id-or-identifier>" --body "<
|
|
279
|
+
rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" --json
|
|
273
280
|
```
|
|
274
281
|
|
|
275
282
|
Planning rules:
|
|
@@ -29,14 +29,14 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
|
|
|
29
29
|
| `rudder issue search <query> [--org-id <id>]` | Search issues with the server-side issue index across title, identifier, description, and comments. | no | required | no | no |
|
|
30
30
|
| `rudder issue context <issue>` | Read the compact heartbeat context for an issue. | no | no | no | no |
|
|
31
31
|
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
32
|
-
| `rudder issue comment <issue> --body <
|
|
32
|
+
| `rudder issue comment <issue> --body-file <path> [--image <path>]` | Add a comment to an issue, optionally uploading images and appending Markdown image links. | yes | no | no | attached when available |
|
|
33
33
|
| `rudder issue comments list <issue>` | List issue comments, optionally only newer comments after a cursor. | no | no | no | no |
|
|
34
34
|
| `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
|
|
35
|
-
| `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 |
|
|
36
|
-
| `rudder issue review <issue> --decision <decision> --comment <
|
|
35
|
+
| `rudder issue update <issue> ... [--comment-file <path>] [--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 |
|
|
36
|
+
| `rudder issue review <issue> --decision <decision> --comment-file <path>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
|
|
37
37
|
| `rudder issue commit <issue> --sha <sha> --message <subject>` | Report a code commit created during issue work as structured issue activity. | yes | no | no | attached when available |
|
|
38
|
-
| `rudder issue done <issue> --comment <
|
|
39
|
-
| `rudder issue block <issue> --comment <
|
|
38
|
+
| `rudder issue done <issue> --comment-file <path> [--image <path>]` | Mark an issue done with a required completion comment, optionally uploading images. | yes | no | no | attached when available |
|
|
39
|
+
| `rudder issue block <issue> --comment-file <path> [--image <path>]` | Mark an issue blocked with a required blocker comment, optionally uploading images. | yes | no | no | attached when available |
|
|
40
40
|
| `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
|
|
41
41
|
| `rudder issue documents list <issue>` | List issue documents. | no | no | no | no |
|
|
42
42
|
| `rudder issue documents get <issue> <key>` | Read one issue document by key. | no | no | no | no |
|
|
@@ -56,13 +56,15 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
|
|
|
56
56
|
|
|
57
57
|
Before a successful `todo` or `in_progress` issue run exits, leave one close-out signal with the command that matches the outcome:
|
|
58
58
|
|
|
59
|
-
- progress remains: `rudder issue comment <issue> --body <
|
|
60
|
-
- work is complete: `rudder issue done <issue> --comment <
|
|
61
|
-
- work is blocked: `rudder issue block <issue> --comment <
|
|
59
|
+
- progress remains: `rudder issue comment <issue> --body-file <path> [--image <path>]`
|
|
60
|
+
- work is complete: `rudder issue done <issue> --comment-file <path> [--image <path>]`
|
|
61
|
+
- work is blocked: `rudder issue block <issue> --comment-file <path> [--image <path>]`
|
|
62
62
|
- ownership changes: add an explicit handoff comment before or with the assignee update
|
|
63
63
|
|
|
64
64
|
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`.
|
|
65
65
|
|
|
66
|
+
Use file or stdin comment input for any multiline Markdown, command names, code spans, code blocks, test summaries, or screenshot evidence. Write the comment to a temporary Markdown file and pass `--body-file <path>` or `--comment-file <path>`, or pass `-` to read the body from stdin. Do not place shell-sensitive Markdown containing backticks or `$()` directly inside a shell argument.
|
|
67
|
+
|
|
66
68
|
`--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.
|
|
67
69
|
|
|
68
70
|
If your issue comment cites a screenshot path or visual validation artifact, attach that file with `--image <path>` instead of leaving only the local path in the text.
|
|
@@ -77,10 +79,10 @@ Local runtime `HOME` is isolated from the operator home. Codex local runs and ru
|
|
|
77
79
|
|
|
78
80
|
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.
|
|
79
81
|
|
|
80
|
-
- approve: `rudder issue review <issue> --decision approve --comment <
|
|
81
|
-
- request changes: `rudder issue review <issue> --decision request_changes --comment <
|
|
82
|
-
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment <
|
|
83
|
-
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment <
|
|
82
|
+
- approve: `rudder issue review <issue> --decision approve --comment-file <path>`
|
|
83
|
+
- request changes: `rudder issue review <issue> --decision request_changes --comment-file <path>`
|
|
84
|
+
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment-file <path>`
|
|
85
|
+
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment-file <path>`; use this only for a confirmed human/external blocker and name the next human action.
|
|
84
86
|
|
|
85
87
|
Do not rely on a free-form reject or accept comment as the review outcome. The structured decision is the durable close-out signal. A blocked reviewer decision records a human handoff and removes the issue from repeated reviewer pickup until the board changes the issue.
|
|
86
88
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Organization Skills Workflow
|
|
2
2
|
|
|
3
|
-
Use this reference when a board user
|
|
3
|
+
Use this reference when a board user or authorized agent asks you to discover, import, inspect, or enable organization skills.
|
|
4
4
|
|
|
5
5
|
This workflow is now **CLI-first** for the bundled `rudder` skill.
|
|
6
6
|
|
|
@@ -155,7 +155,7 @@ the full optional enabled-skill set intentionally.
|
|
|
155
155
|
## Permission Model
|
|
156
156
|
|
|
157
157
|
- organization skill reads: any same-organization actor
|
|
158
|
-
- organization skill mutations: board
|
|
158
|
+
- organization skill mutations: local/admin board access, board users with `skills:manage`, or same-org agents with `canManageSkills` enabled. Agents default to `canManageSkills=true` unless explicitly disabled. Existing board grants for `agents:create` remain accepted as a compatibility fallback, but new grants should use `skills:manage`.
|
|
159
159
|
- agent skill enable/sync: same permission model as updating that agent
|
|
160
160
|
|
|
161
161
|
## Notes
|
package/skills/rudder/SKILL.md
CHANGED
|
@@ -155,26 +155,26 @@ permission to take over implementation unless explicitly asked:
|
|
|
155
155
|
- approve:
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
|
-
rudder issue review "<issue-id-or-identifier>" --decision approve --comment "<
|
|
158
|
+
rudder issue review "<issue-id-or-identifier>" --decision approve --comment-file "<path>" --json
|
|
159
159
|
```
|
|
160
160
|
|
|
161
161
|
- request changes and return the issue to the assignee:
|
|
162
162
|
|
|
163
163
|
```bash
|
|
164
|
-
rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment "<
|
|
164
|
+
rudder issue review "<issue-id-or-identifier>" --decision request_changes --comment-file "<path>" --json
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
- keep the issue in its current review/blocker state because specific evidence
|
|
168
168
|
or follow-up is still missing:
|
|
169
169
|
|
|
170
170
|
```bash
|
|
171
|
-
rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment "<
|
|
171
|
+
rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment-file "<path>" --json
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
- block the issue:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
rudder issue review "<issue-id-or-identifier>" --decision blocked --comment "<
|
|
177
|
+
rudder issue review "<issue-id-or-identifier>" --decision blocked --comment-file "<path>" --json
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
Use `blocked` to confirm a human/external blocker. The comment must name the next human action; Rudder records a human handoff and removes the issue from repeated reviewer pickup until the board changes the issue.
|
|
@@ -182,23 +182,30 @@ Use `blocked` to confirm a human/external blocker. The comment must name the nex
|
|
|
182
182
|
- progress-only update:
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
|
-
rudder issue comment "<issue-id-or-identifier>" --body "<
|
|
185
|
+
rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" [--image "<path>"] --json
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
- completion:
|
|
189
189
|
|
|
190
190
|
```bash
|
|
191
|
-
rudder issue done "<issue-id-or-identifier>" --comment "<
|
|
191
|
+
rudder issue done "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
- blocker:
|
|
195
195
|
|
|
196
196
|
```bash
|
|
197
|
-
rudder issue block "<issue-id-or-identifier>" --comment "<
|
|
197
|
+
rudder issue block "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
- generic patch when workflow commands are not enough:
|
|
201
201
|
|
|
202
|
+
Use file or stdin input for issue comments. For any multiline Markdown,
|
|
203
|
+
command names, code spans, code blocks, validation summaries, or screenshot
|
|
204
|
+
evidence, write the body to a temporary Markdown file and pass
|
|
205
|
+
`--body-file <path>` or `--comment-file <path>`. Pass `-` to read from stdin.
|
|
206
|
+
Do not place shell-sensitive Markdown containing backticks or `$()` directly
|
|
207
|
+
inside a shell argument.
|
|
208
|
+
|
|
202
209
|
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.
|
|
203
210
|
|
|
204
211
|
If your comment mentions a screenshot path or uses a screenshot as validation evidence, attach that file with `--image "<path>"`. Do not leave only a local `/tmp/...` or workspace image path in the comment, because board users may not be able to inspect it from Rudder.
|
|
@@ -233,7 +240,7 @@ rudder agent skills create "$RUDDER_AGENT_ID" --name "<name>" --description "<de
|
|
|
233
240
|
|
|
234
241
|
This creates the package under `AGENT_HOME/skills` and does not require organization skill mutation permission.
|
|
235
242
|
|
|
236
|
-
When a board user
|
|
243
|
+
When a board user or authorized agent asks you to find, import, inspect, or assign organization skills:
|
|
237
244
|
|
|
238
245
|
1. Read `references/organization-skills.md`
|
|
239
246
|
2. Use the CLI surfaces in this order:
|
|
@@ -269,7 +276,7 @@ Typical flow:
|
|
|
269
276
|
rudder issue documents get "<issue-id-or-identifier>" plan --json
|
|
270
277
|
rudder issue documents revisions "<issue-id-or-identifier>" plan --json
|
|
271
278
|
rudder issue documents put "<issue-id-or-identifier>" plan --title "Plan" --format markdown --body "<markdown>" --json
|
|
272
|
-
rudder issue comment "<issue-id-or-identifier>" --body "<
|
|
279
|
+
rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" --json
|
|
273
280
|
```
|
|
274
281
|
|
|
275
282
|
Planning rules:
|
|
@@ -29,14 +29,14 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
|
|
|
29
29
|
| `rudder issue search <query> [--org-id <id>]` | Search issues with the server-side issue index across title, identifier, description, and comments. | no | required | no | no |
|
|
30
30
|
| `rudder issue context <issue>` | Read the compact heartbeat context for an issue. | no | no | no | no |
|
|
31
31
|
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
32
|
-
| `rudder issue comment <issue> --body <
|
|
32
|
+
| `rudder issue comment <issue> --body-file <path> [--image <path>]` | Add a comment to an issue, optionally uploading images and appending Markdown image links. | yes | no | no | attached when available |
|
|
33
33
|
| `rudder issue comments list <issue>` | List issue comments, optionally only newer comments after a cursor. | no | no | no | no |
|
|
34
34
|
| `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
|
|
35
|
-
| `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 |
|
|
36
|
-
| `rudder issue review <issue> --decision <decision> --comment <
|
|
35
|
+
| `rudder issue update <issue> ... [--comment-file <path>] [--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 |
|
|
36
|
+
| `rudder issue review <issue> --decision <decision> --comment-file <path>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
|
|
37
37
|
| `rudder issue commit <issue> --sha <sha> --message <subject>` | Report a code commit created during issue work as structured issue activity. | yes | no | no | attached when available |
|
|
38
|
-
| `rudder issue done <issue> --comment <
|
|
39
|
-
| `rudder issue block <issue> --comment <
|
|
38
|
+
| `rudder issue done <issue> --comment-file <path> [--image <path>]` | Mark an issue done with a required completion comment, optionally uploading images. | yes | no | no | attached when available |
|
|
39
|
+
| `rudder issue block <issue> --comment-file <path> [--image <path>]` | Mark an issue blocked with a required blocker comment, optionally uploading images. | yes | no | no | attached when available |
|
|
40
40
|
| `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
|
|
41
41
|
| `rudder issue documents list <issue>` | List issue documents. | no | no | no | no |
|
|
42
42
|
| `rudder issue documents get <issue> <key>` | Read one issue document by key. | no | no | no | no |
|
|
@@ -56,13 +56,15 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
|
|
|
56
56
|
|
|
57
57
|
Before a successful `todo` or `in_progress` issue run exits, leave one close-out signal with the command that matches the outcome:
|
|
58
58
|
|
|
59
|
-
- progress remains: `rudder issue comment <issue> --body <
|
|
60
|
-
- work is complete: `rudder issue done <issue> --comment <
|
|
61
|
-
- work is blocked: `rudder issue block <issue> --comment <
|
|
59
|
+
- progress remains: `rudder issue comment <issue> --body-file <path> [--image <path>]`
|
|
60
|
+
- work is complete: `rudder issue done <issue> --comment-file <path> [--image <path>]`
|
|
61
|
+
- work is blocked: `rudder issue block <issue> --comment-file <path> [--image <path>]`
|
|
62
62
|
- ownership changes: add an explicit handoff comment before or with the assignee update
|
|
63
63
|
|
|
64
64
|
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`.
|
|
65
65
|
|
|
66
|
+
Use file or stdin comment input for any multiline Markdown, command names, code spans, code blocks, test summaries, or screenshot evidence. Write the comment to a temporary Markdown file and pass `--body-file <path>` or `--comment-file <path>`, or pass `-` to read the body from stdin. Do not place shell-sensitive Markdown containing backticks or `$()` directly inside a shell argument.
|
|
67
|
+
|
|
66
68
|
`--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.
|
|
67
69
|
|
|
68
70
|
If your issue comment cites a screenshot path or visual validation artifact, attach that file with `--image <path>` instead of leaving only the local path in the text.
|
|
@@ -77,10 +79,10 @@ Local runtime `HOME` is isolated from the operator home. Codex local runs and ru
|
|
|
77
79
|
|
|
78
80
|
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.
|
|
79
81
|
|
|
80
|
-
- approve: `rudder issue review <issue> --decision approve --comment <
|
|
81
|
-
- request changes: `rudder issue review <issue> --decision request_changes --comment <
|
|
82
|
-
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment <
|
|
83
|
-
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment <
|
|
82
|
+
- approve: `rudder issue review <issue> --decision approve --comment-file <path>`
|
|
83
|
+
- request changes: `rudder issue review <issue> --decision request_changes --comment-file <path>`
|
|
84
|
+
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment-file <path>`
|
|
85
|
+
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment-file <path>`; use this only for a confirmed human/external blocker and name the next human action.
|
|
84
86
|
|
|
85
87
|
Do not rely on a free-form reject or accept comment as the review outcome. The structured decision is the durable close-out signal. A blocked reviewer decision records a human handoff and removes the issue from repeated reviewer pickup until the board changes the issue.
|
|
86
88
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Organization Skills Workflow
|
|
2
2
|
|
|
3
|
-
Use this reference when a board user
|
|
3
|
+
Use this reference when a board user or authorized agent asks you to discover, import, inspect, or enable organization skills.
|
|
4
4
|
|
|
5
5
|
This workflow is now **CLI-first** for the bundled `rudder` skill.
|
|
6
6
|
|
|
@@ -155,7 +155,7 @@ the full optional enabled-skill set intentionally.
|
|
|
155
155
|
## Permission Model
|
|
156
156
|
|
|
157
157
|
- organization skill reads: any same-organization actor
|
|
158
|
-
- organization skill mutations: board
|
|
158
|
+
- organization skill mutations: local/admin board access, board users with `skills:manage`, or same-org agents with `canManageSkills` enabled. Agents default to `canManageSkills=true` unless explicitly disabled. Existing board grants for `agents:create` remain accepted as a compatibility fallback, but new grants should use `skills:manage`.
|
|
159
159
|
- agent skill enable/sync: same permission model as updating that agent
|
|
160
160
|
|
|
161
161
|
## Notes
|
|
@@ -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-GmiWxzFH.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-BYRAeK5Q.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-CGUbX2ot.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-BYRAeK5Q.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-BYRAeK5Q.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};
|