@rudderhq/server 0.3.5-canary.23 → 0.3.5-canary.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +13 -13
- package/resources/bundled-skills/para-memory-files/SKILL.md +71 -4
- package/resources/bundled-skills/para-memory-files/evals/conversation-capture.md +105 -0
- package/resources/bundled-skills/para-memory-files/references/schemas.md +27 -0
- package/skills/para-memory-files/SKILL.md +71 -4
- package/skills/para-memory-files/evals/conversation-capture.md +105 -0
- package/skills/para-memory-files/references/schemas.md +27 -0
- package/ui-dist/assets/{_basePickBy-CR7ScbIn.js → _basePickBy-Bz_D7c5D.js} +1 -1
- package/ui-dist/assets/{_baseUniq-DSVMg4xG.js → _baseUniq-vwD97x9Q.js} +1 -1
- package/ui-dist/assets/{arc-Yg94fV8h.js → arc-CoDunG82.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-BDkOqtxQ.js → architectureDiagram-2XIMDMQ5-BMmOyelg.js} +1 -1
- package/ui-dist/assets/{blockDiagram-WCTKOSBZ-V0jdY5hi.js → blockDiagram-WCTKOSBZ-DQNeLhnS.js} +1 -1
- package/ui-dist/assets/{c4Diagram-IC4MRINW-BT9WDaWr.js → c4Diagram-IC4MRINW-O2R7LHfD.js} +1 -1
- package/ui-dist/assets/channel-Bg78o_Ed.js +1 -0
- package/ui-dist/assets/{chunk-4BX2VUAB-COPQwdVJ.js → chunk-4BX2VUAB-BVTExX47.js} +1 -1
- package/ui-dist/assets/{chunk-55IACEB6-B8Dnujl5.js → chunk-55IACEB6-Bml3kaIO.js} +1 -1
- package/ui-dist/assets/{chunk-FMBD7UC4-B2iM761l.js → chunk-FMBD7UC4-C7H_5gx4.js} +1 -1
- package/ui-dist/assets/{chunk-JSJVCQXG-Cqn1V0vJ.js → chunk-JSJVCQXG-Cu0xhJtI.js} +1 -1
- package/ui-dist/assets/{chunk-KX2RTZJC-Dd-XID5R.js → chunk-KX2RTZJC-BL3EjVV-.js} +1 -1
- package/ui-dist/assets/{chunk-NQ4KR5QH-BW5qirwg.js → chunk-NQ4KR5QH-C32Z9T23.js} +1 -1
- package/ui-dist/assets/{chunk-QZHKN3VN-CeYTMNts.js → chunk-QZHKN3VN-Ci6ySebU.js} +1 -1
- package/ui-dist/assets/{chunk-WL4C6EOR-B3PnHWnX.js → chunk-WL4C6EOR-CnSXSTCw.js} +1 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-D5Kt2OlZ.js +1 -0
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-D5Kt2OlZ.js +1 -0
- package/ui-dist/assets/clone-DVXbP8Fj.js +1 -0
- package/ui-dist/assets/{cose-bilkent-S5V4N54A-Cwo7RWff.js → cose-bilkent-S5V4N54A-CQXQ6-EA.js} +1 -1
- package/ui-dist/assets/{dagre-KLK3FWXG-CJt8Fg2z.js → dagre-KLK3FWXG-D6ZC2JY8.js} +1 -1
- package/ui-dist/assets/{diagram-E7M64L7V-jLFvzLxP.js → diagram-E7M64L7V-BsbdCicz.js} +1 -1
- package/ui-dist/assets/{diagram-IFDJBPK2-D0Mf6AED.js → diagram-IFDJBPK2-DTN-0dTY.js} +1 -1
- package/ui-dist/assets/{diagram-P4PSJMXO-B_e57qmV.js → diagram-P4PSJMXO-DZ7gI5cF.js} +1 -1
- package/ui-dist/assets/{erDiagram-INFDFZHY-BMg6IWbH.js → erDiagram-INFDFZHY-a8oPxNLJ.js} +1 -1
- package/ui-dist/assets/{flowDiagram-PKNHOUZH-B6CCspQS.js → flowDiagram-PKNHOUZH-7-Mt-n41.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-A5KZAMGK-DxNWA1lI.js → ganttDiagram-A5KZAMGK-D0_76HM0.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-BkD7n3kT.js → gitGraphDiagram-K3NZZRJ6-g0d1EDDD.js} +1 -1
- package/ui-dist/assets/{graph-Bpt6carW.js → graph-CUxdtw0h.js} +1 -1
- package/ui-dist/assets/{index-D4E0MD-Y.js → index-B4JH5WF8.js} +1 -1
- package/ui-dist/assets/{index-D78yJXp0.js → index-BD47UIoE.js} +1 -1
- package/ui-dist/assets/{index-BLFFaMD0.js → index-BKBg7JmM.js} +1 -1
- package/ui-dist/assets/{index-CFOTyQDn.js → index-BQvMHOOL.js} +1 -1
- package/ui-dist/assets/{index-tEVQQp_6.js → index-BVZnMxI3.js} +1 -1
- package/ui-dist/assets/{index-CvKXV2WT.js → index-Ba2fK01V.js} +1 -1
- package/ui-dist/assets/{index-b2epyNgO.js → index-BePYb-Js.js} +1 -1
- package/ui-dist/assets/{index-BgFNiR-G.js → index-BmcYliBx.js} +1 -1
- package/ui-dist/assets/{index-DHytag7H.js → index-BnVvxhZz.js} +1 -1
- package/ui-dist/assets/{index-BuoxPZlE.js → index-BudMmhJs.js} +1 -1
- package/ui-dist/assets/{index-WKYcZ2DI.js → index-C2ZvkjhK.js} +1 -1
- package/ui-dist/assets/{index-BSVArZzg.js → index-CA4zFKS-.js} +1 -1
- package/ui-dist/assets/{index-_wyuVqpq.js → index-CPKpPos8.js} +1 -1
- package/ui-dist/assets/{index-C54dlfe9.js → index-CVvtwQsn.js} +1 -1
- package/ui-dist/assets/{index-4gPE7Por.js → index-Cfm_Fxdf.js} +1 -1
- package/ui-dist/assets/{index-CTsZsIX8.js → index-Cn1t59Ac.js} +1 -1
- package/ui-dist/assets/{index-Bod9LVq9.js → index-Cyg3MTwU.js} +1 -1
- package/ui-dist/assets/{index-Btpny5Fq.js → index-D4PBP3Wp.js} +1 -1
- package/ui-dist/assets/{index-6AzdtsgA.js → index-D7wTYIDB.js} +1 -1
- package/ui-dist/assets/{index-CTalrX1A.js → index-DGNc6b2h.js} +1 -1
- package/ui-dist/assets/{index-DG8ivC6K.js → index-DQKJdCXA.js} +1 -1
- package/ui-dist/assets/{index-DHDdFATJ.js → index-Dp7QOZLo.js} +410 -410
- package/ui-dist/assets/{index-SeWOGSjo.js → index-Z9QG0IUS.js} +1 -1
- package/ui-dist/assets/{infoDiagram-LFFYTUFH-CTEXwwKy.js → infoDiagram-LFFYTUFH-2QFPgLX8.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-DDgpPOeJ.js → ishikawaDiagram-PHBUUO56-CO7ujo9C.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-4ABVD52K-BIERDWUs.js → journeyDiagram-4ABVD52K-rqlUYwou.js} +1 -1
- package/ui-dist/assets/{kanban-definition-K7BYSVSG-DaHpBxpo.js → kanban-definition-K7BYSVSG-CKxpwn26.js} +1 -1
- package/ui-dist/assets/{layout-DSeXmNt7.js → layout-D1E5axrx.js} +1 -1
- package/ui-dist/assets/{linear-BO8Unv4z.js → linear-BNHnS1af.js} +1 -1
- package/ui-dist/assets/{mermaid.core-B7V2CxJI.js → mermaid.core-Brk8NTug.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-YRQLILUH-C1qAE-ix.js → mindmap-definition-YRQLILUH-Bl3UNfGi.js} +1 -1
- package/ui-dist/assets/{pieDiagram-SKSYHLDU-MkjR00NN.js → pieDiagram-SKSYHLDU-Cr6h0vz0.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-337W2JSQ-SvAI-ZVu.js → quadrantDiagram-337W2JSQ-djJE8qfY.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-BsjIOdz6.js → requirementDiagram-Z7DCOOCP-pOnVvibN.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-Ba8arT_B.js → sankeyDiagram-WA2Y5GQK-DPhH5WxK.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-DqQweDoc.js → sequenceDiagram-2WXFIKYE-DJRp0bQW.js} +1 -1
- package/ui-dist/assets/{stateDiagram-RAJIS63D-DjdM8BIv.js → stateDiagram-RAJIS63D-BfICcFtK.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-DB3pUTT7.js +1 -0
- package/ui-dist/assets/{timeline-definition-YZTLITO2-CYM14CM1.js → timeline-definition-YZTLITO2-BwVatuWp.js} +1 -1
- package/ui-dist/assets/{treemap-KZPCXAKY-BtLYWH6j.js → treemap-KZPCXAKY-BQwj8sni.js} +1 -1
- package/ui-dist/assets/{vennDiagram-LZ73GAT5-dD3gUGeo.js → vennDiagram-LZ73GAT5-BIvnQjDl.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-JWTSCODW-KeXVidxk.js → xychartDiagram-JWTSCODW-Bxg3rQxQ.js} +1 -1
- package/ui-dist/index.html +1 -1
- package/ui-dist/assets/channel-BNJlWCTp.js +0 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-Qg7qebAT.js +0 -1
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-Qg7qebAT.js +0 -1
- package/ui-dist/assets/clone-C0ycI0ka.js +0 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-PklRFd7s.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/server",
|
|
3
|
-
"version": "0.3.5-canary.
|
|
3
|
+
"version": "0.3.5-canary.24",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"homepage": "https://github.com/Undertone0809/rudder",
|
|
6
6
|
"bugs": {
|
|
@@ -53,18 +53,18 @@
|
|
|
53
53
|
"@langfuse/otel": "^5.1.0",
|
|
54
54
|
"@langfuse/tracing": "^5.1.0",
|
|
55
55
|
"@opentelemetry/sdk-trace-node": "^2.1.0",
|
|
56
|
-
"@rudderhq/agent-runtime-claude-local": "0.3.5-canary.
|
|
57
|
-
"@rudderhq/agent-runtime-codex-local": "0.3.5-canary.
|
|
58
|
-
"@rudderhq/agent-runtime-cursor-local": "0.3.5-canary.
|
|
59
|
-
"@rudderhq/agent-runtime-gemini-local": "0.3.5-canary.
|
|
60
|
-
"@rudderhq/agent-runtime-openclaw-gateway": "0.3.5-canary.
|
|
61
|
-
"@rudderhq/agent-runtime-opencode-local": "0.3.5-canary.
|
|
62
|
-
"@rudderhq/agent-runtime-pi-local": "0.3.5-canary.
|
|
63
|
-
"@rudderhq/agent-runtime-utils": "0.3.5-canary.
|
|
64
|
-
"@rudderhq/db": "0.3.5-canary.
|
|
65
|
-
"@rudderhq/plugin-sdk": "0.3.5-canary.
|
|
66
|
-
"@rudderhq/run-intelligence-core": "0.3.5-canary.
|
|
67
|
-
"@rudderhq/shared": "0.3.5-canary.
|
|
56
|
+
"@rudderhq/agent-runtime-claude-local": "0.3.5-canary.24",
|
|
57
|
+
"@rudderhq/agent-runtime-codex-local": "0.3.5-canary.24",
|
|
58
|
+
"@rudderhq/agent-runtime-cursor-local": "0.3.5-canary.24",
|
|
59
|
+
"@rudderhq/agent-runtime-gemini-local": "0.3.5-canary.24",
|
|
60
|
+
"@rudderhq/agent-runtime-openclaw-gateway": "0.3.5-canary.24",
|
|
61
|
+
"@rudderhq/agent-runtime-opencode-local": "0.3.5-canary.24",
|
|
62
|
+
"@rudderhq/agent-runtime-pi-local": "0.3.5-canary.24",
|
|
63
|
+
"@rudderhq/agent-runtime-utils": "0.3.5-canary.24",
|
|
64
|
+
"@rudderhq/db": "0.3.5-canary.24",
|
|
65
|
+
"@rudderhq/plugin-sdk": "0.3.5-canary.24",
|
|
66
|
+
"@rudderhq/run-intelligence-core": "0.3.5-canary.24",
|
|
67
|
+
"@rudderhq/shared": "0.3.5-canary.24",
|
|
68
68
|
"ajv": "^8.18.0",
|
|
69
69
|
"ajv-formats": "^3.0.1",
|
|
70
70
|
"better-auth": "1.4.18",
|
|
@@ -6,9 +6,10 @@ description: >
|
|
|
6
6
|
sessions. Covers three memory layers: (1) Knowledge graph in PARA folders
|
|
7
7
|
with atomic YAML facts, (2) Daily notes as raw timeline, (3) Tacit
|
|
8
8
|
knowledge about user patterns. Also handles shared work files, memory decay,
|
|
9
|
-
weekly synthesis, and file-based recall.
|
|
10
|
-
saving facts, writing daily notes, creating
|
|
11
|
-
synthesis, recalling past context, or managing
|
|
9
|
+
weekly synthesis, Rudder chat conversation capture, and file-based recall.
|
|
10
|
+
Trigger on any memory operation: saving facts, writing daily notes, creating
|
|
11
|
+
entities, running weekly synthesis, recalling past context, or managing
|
|
12
|
+
shared work notes.
|
|
12
13
|
allowed-tools: []
|
|
13
14
|
disable: true
|
|
14
15
|
---
|
|
@@ -68,8 +69,72 @@ For the atomic fact YAML schema and memory decay rules, see [references/schemas.
|
|
|
68
69
|
|
|
69
70
|
Raw timeline of events -- the "when" layer.
|
|
70
71
|
|
|
71
|
-
- Write continuously during conversations.
|
|
72
|
+
- Write continuously during conversations when a memory-worthy signal appears.
|
|
72
73
|
- Extract durable facts to Layer 1 during heartbeats.
|
|
74
|
+
- Treat daily notes as the first capture layer, not the final destination for
|
|
75
|
+
stable preferences, entity facts, or shared project knowledge.
|
|
76
|
+
|
|
77
|
+
#### Conversation Capture Policy
|
|
78
|
+
|
|
79
|
+
Rudder chat conversations are memory sources when they contain durable signal,
|
|
80
|
+
not because every chat line deserves retention. Capture a concise daily-note
|
|
81
|
+
entry when a chat includes any of these:
|
|
82
|
+
|
|
83
|
+
- User corrections that change how the agent should behave next time.
|
|
84
|
+
- New or changed preferences, constraints, boundaries, or decisions.
|
|
85
|
+
- Issue proposal intent, acceptance criteria, or priority reasoning that is not
|
|
86
|
+
already explicit in the issue.
|
|
87
|
+
- Automation design rationale, recurring workflow choices, or escalation rules.
|
|
88
|
+
- Project/product/engineering judgment that will affect future work.
|
|
89
|
+
- Attachment or screenshot evidence that changes task interpretation.
|
|
90
|
+
- Reusable execution lessons, setup friction, validation findings, or failure
|
|
91
|
+
modes that future runs should know.
|
|
92
|
+
|
|
93
|
+
Do not capture:
|
|
94
|
+
|
|
95
|
+
- Greetings, thanks, scheduling chatter, or low-signal status updates.
|
|
96
|
+
- Full private chat transcripts. Summarize the durable signal instead.
|
|
97
|
+
- Secrets, tokens, credentials, private keys, session cookies, or auth headers.
|
|
98
|
+
- One-time sensitive context that is not needed for future work.
|
|
99
|
+
- Organization-level facts as private personal memory. Record only the routing
|
|
100
|
+
decision in the daily note, then promote the fact to shared project knowledge.
|
|
101
|
+
- Speculation, weak inferences, or unverified assumptions as facts.
|
|
102
|
+
|
|
103
|
+
Recommended daily-note entry format:
|
|
104
|
+
|
|
105
|
+
```md
|
|
106
|
+
## HH:MM - Chat capture
|
|
107
|
+
|
|
108
|
+
- Context: conversation or issue reference, project, and why this mattered.
|
|
109
|
+
- User intent: the durable need, correction, preference, or decision.
|
|
110
|
+
- Conclusion/action: what changed or what was done.
|
|
111
|
+
- Reusable lesson: future behavior, command, routing rule, or validation signal.
|
|
112
|
+
- Follow-up/risk: unresolved uncertainty, owner, or promotion target.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Reference the Rudder conversation, issue, or local evidence path when available,
|
|
116
|
+
but keep the note short enough that it can be safely scanned later.
|
|
117
|
+
|
|
118
|
+
#### Promotion and Routing Rules
|
|
119
|
+
|
|
120
|
+
Use daily notes as the intake log, then route the information:
|
|
121
|
+
|
|
122
|
+
- Stable personal operating preferences or recurring user patterns ->
|
|
123
|
+
`$AGENT_HOME/instructions/MEMORY.md`.
|
|
124
|
+
- Entity facts about people, companies, projects, or resources ->
|
|
125
|
+
`$AGENT_HOME/life/<para-bucket>/<entity>/items.yaml`.
|
|
126
|
+
- Project proposals, decisions, reusable know-how, and shared work notes ->
|
|
127
|
+
`$RUDDER_PROJECT_LIBRARY_ROOT` when project context exists, otherwise the
|
|
128
|
+
relevant path under `$RUDDER_ORG_WORKSPACE_ROOT`.
|
|
129
|
+
- Skill behavior problems or repeated workflow failures -> propose or make a
|
|
130
|
+
skill patch in the relevant skill package. Do not hide organization-wide
|
|
131
|
+
behavior fixes only in one agent's personal memory.
|
|
132
|
+
- Secrets or sensitive one-time context -> do not write them to memory; record
|
|
133
|
+
only a redacted operational lesson if future behavior genuinely depends on it.
|
|
134
|
+
|
|
135
|
+
During heartbeat synthesis, review recent chat captures and promote anything
|
|
136
|
+
that has become stable, repeated, or shared. Leave the daily note as the audit
|
|
137
|
+
trail even after promotion.
|
|
73
138
|
|
|
74
139
|
### Layer 3: Tacit Knowledge (`$AGENT_HOME/instructions/MEMORY.md`)
|
|
75
140
|
|
|
@@ -87,6 +152,8 @@ Memory does not survive session restarts. Files do.
|
|
|
87
152
|
- "Remember this" -> update `$AGENT_HOME/memory/YYYY-MM-DD.md` or the relevant entity file.
|
|
88
153
|
- Stable user preferences or operating lessons -> update `$AGENT_HOME/instructions/MEMORY.md`.
|
|
89
154
|
- Learn a lesson -> update AGENTS.md, TOOLS.md, or the relevant skill file.
|
|
155
|
+
- Shared project knowledge -> update the project Library or organization
|
|
156
|
+
workspace, then cite it with a Rudder-renderable link when reporting back.
|
|
90
157
|
- Make a mistake -> document it so future-you does not repeat it.
|
|
91
158
|
- On-disk text files are always better than holding it in temporary context.
|
|
92
159
|
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Conversation Capture Evals
|
|
2
|
+
|
|
3
|
+
Use these lightweight cases when changing the `para-memory-files` skill's
|
|
4
|
+
Rudder chat capture behavior. They are written for human or agent review, not a
|
|
5
|
+
dedicated automated harness.
|
|
6
|
+
|
|
7
|
+
### Case: User Corrects Memory Behavior
|
|
8
|
+
|
|
9
|
+
Input:
|
|
10
|
+
|
|
11
|
+
A user says: "No, do not just leave this in your personal MEMORY.md. This
|
|
12
|
+
should become an org skill rule so other agents stop missing chat context."
|
|
13
|
+
|
|
14
|
+
Expected behavior:
|
|
15
|
+
|
|
16
|
+
- Write a concise daily-note chat capture with context, user intent,
|
|
17
|
+
conclusion/action, reusable lesson, and follow-up/risk.
|
|
18
|
+
- Route the stable behavior change toward the relevant skill package or skill
|
|
19
|
+
patch proposal.
|
|
20
|
+
- Update personal MEMORY.md only if there is also a personal operating
|
|
21
|
+
preference for this agent.
|
|
22
|
+
|
|
23
|
+
Must not:
|
|
24
|
+
|
|
25
|
+
- Copy the full transcript into memory.
|
|
26
|
+
- Treat the correction as only a personal preference.
|
|
27
|
+
- Hide the organization-wide fix in one agent's private memory.
|
|
28
|
+
|
|
29
|
+
### Case: Issue Close-Out Without New Signal
|
|
30
|
+
|
|
31
|
+
Input:
|
|
32
|
+
|
|
33
|
+
An issue comment says: "Done, tests passed, commit abc123." It repeats the
|
|
34
|
+
same evidence already present in the issue and contains no new preference,
|
|
35
|
+
decision, correction, or reusable lesson.
|
|
36
|
+
|
|
37
|
+
Expected behavior:
|
|
38
|
+
|
|
39
|
+
- No daily-note capture is required.
|
|
40
|
+
- If the agent needs an audit trail, rely on the issue itself as the source of
|
|
41
|
+
truth.
|
|
42
|
+
|
|
43
|
+
Must not:
|
|
44
|
+
|
|
45
|
+
- Record low-signal close-out chatter just because it happened in chat.
|
|
46
|
+
- Promote repeated issue status into personal memory.
|
|
47
|
+
|
|
48
|
+
### Case: Low-Signal Chat
|
|
49
|
+
|
|
50
|
+
Input:
|
|
51
|
+
|
|
52
|
+
A chat contains greetings, thanks, and "I'll check later" with no task
|
|
53
|
+
definition or durable preference.
|
|
54
|
+
|
|
55
|
+
Expected behavior:
|
|
56
|
+
|
|
57
|
+
- Do not write a memory entry.
|
|
58
|
+
- Continue the conversation normally.
|
|
59
|
+
|
|
60
|
+
Must not:
|
|
61
|
+
|
|
62
|
+
- Create a daily note from politeness or temporary scheduling chatter.
|
|
63
|
+
|
|
64
|
+
### Case: Project-Level Decision
|
|
65
|
+
|
|
66
|
+
Input:
|
|
67
|
+
|
|
68
|
+
A user explains that future Rudder proposals for non-trivial architecture work
|
|
69
|
+
must live in the project Library first, receive two critique rounds, and only
|
|
70
|
+
then be implemented.
|
|
71
|
+
|
|
72
|
+
Expected behavior:
|
|
73
|
+
|
|
74
|
+
- Capture the chat signal in the daily note.
|
|
75
|
+
- Promote the project-level policy to shared project knowledge under the
|
|
76
|
+
project Library or organization workspace.
|
|
77
|
+
- If it changes agent behavior generally, propose or update the relevant skill.
|
|
78
|
+
|
|
79
|
+
Must not:
|
|
80
|
+
|
|
81
|
+
- Store the policy only in `$AGENT_HOME/instructions/MEMORY.md`.
|
|
82
|
+
- Skip the shared knowledge artifact when the rule affects multiple agents.
|
|
83
|
+
|
|
84
|
+
### Case: Attachment Changes Task Interpretation
|
|
85
|
+
|
|
86
|
+
Input:
|
|
87
|
+
|
|
88
|
+
A user attaches a screenshot and says the real problem is not the visible
|
|
89
|
+
button style but the workflow confusion shown by the screenshot.
|
|
90
|
+
|
|
91
|
+
Expected behavior:
|
|
92
|
+
|
|
93
|
+
- Capture the daily-note context, including the conversation or issue reference
|
|
94
|
+
and a short description of how the attachment changed the task.
|
|
95
|
+
- Route any reusable product or execution lesson to shared project knowledge
|
|
96
|
+
when it affects future project work.
|
|
97
|
+
- Keep the attachment details summarized and avoid sensitive visual content
|
|
98
|
+
that is not needed for future behavior.
|
|
99
|
+
|
|
100
|
+
Must not:
|
|
101
|
+
|
|
102
|
+
- Preserve the entire image transcript or private visual details in personal
|
|
103
|
+
memory.
|
|
104
|
+
- Ignore the attachment-driven reinterpretation when forming future task
|
|
105
|
+
context.
|
|
@@ -17,6 +17,33 @@
|
|
|
17
17
|
access_count: 0
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Daily Note Conversation Capture Entry
|
|
21
|
+
|
|
22
|
+
Daily notes are lightweight chronological logs. Use this structure when a
|
|
23
|
+
Rudder chat contains durable signal worth retaining.
|
|
24
|
+
|
|
25
|
+
```md
|
|
26
|
+
## HH:MM - Chat capture
|
|
27
|
+
|
|
28
|
+
- Context: conversation or issue reference, project, and why this mattered.
|
|
29
|
+
- User intent: durable correction, preference, constraint, decision, or task
|
|
30
|
+
interpretation.
|
|
31
|
+
- Conclusion/action: what changed, what was done, or where it was routed.
|
|
32
|
+
- Reusable lesson: future behavior, command, validation signal, or routing rule.
|
|
33
|
+
- Follow-up/risk: unresolved uncertainty, owner, promotion target, or none.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Keep entries summarized and redacted:
|
|
37
|
+
|
|
38
|
+
- Do not copy full private transcripts.
|
|
39
|
+
- Do not store secrets, tokens, credentials, private keys, session cookies, or
|
|
40
|
+
auth headers.
|
|
41
|
+
- Do not turn one-off sensitive context into durable memory unless the future
|
|
42
|
+
behavioral lesson can be safely stated without the sensitive detail.
|
|
43
|
+
- If the information belongs in shared project knowledge, note the routing
|
|
44
|
+
decision in the daily note and promote it to the project Library or
|
|
45
|
+
organization workspace.
|
|
46
|
+
|
|
20
47
|
## Memory Decay
|
|
21
48
|
|
|
22
49
|
Facts decay in retrieval priority over time so stale info does not crowd out recent context.
|
|
@@ -6,9 +6,10 @@ description: >
|
|
|
6
6
|
sessions. Covers three memory layers: (1) Knowledge graph in PARA folders
|
|
7
7
|
with atomic YAML facts, (2) Daily notes as raw timeline, (3) Tacit
|
|
8
8
|
knowledge about user patterns. Also handles shared work files, memory decay,
|
|
9
|
-
weekly synthesis, and file-based recall.
|
|
10
|
-
saving facts, writing daily notes, creating
|
|
11
|
-
synthesis, recalling past context, or managing
|
|
9
|
+
weekly synthesis, Rudder chat conversation capture, and file-based recall.
|
|
10
|
+
Trigger on any memory operation: saving facts, writing daily notes, creating
|
|
11
|
+
entities, running weekly synthesis, recalling past context, or managing
|
|
12
|
+
shared work notes.
|
|
12
13
|
allowed-tools: []
|
|
13
14
|
disable: true
|
|
14
15
|
---
|
|
@@ -68,8 +69,72 @@ For the atomic fact YAML schema and memory decay rules, see [references/schemas.
|
|
|
68
69
|
|
|
69
70
|
Raw timeline of events -- the "when" layer.
|
|
70
71
|
|
|
71
|
-
- Write continuously during conversations.
|
|
72
|
+
- Write continuously during conversations when a memory-worthy signal appears.
|
|
72
73
|
- Extract durable facts to Layer 1 during heartbeats.
|
|
74
|
+
- Treat daily notes as the first capture layer, not the final destination for
|
|
75
|
+
stable preferences, entity facts, or shared project knowledge.
|
|
76
|
+
|
|
77
|
+
#### Conversation Capture Policy
|
|
78
|
+
|
|
79
|
+
Rudder chat conversations are memory sources when they contain durable signal,
|
|
80
|
+
not because every chat line deserves retention. Capture a concise daily-note
|
|
81
|
+
entry when a chat includes any of these:
|
|
82
|
+
|
|
83
|
+
- User corrections that change how the agent should behave next time.
|
|
84
|
+
- New or changed preferences, constraints, boundaries, or decisions.
|
|
85
|
+
- Issue proposal intent, acceptance criteria, or priority reasoning that is not
|
|
86
|
+
already explicit in the issue.
|
|
87
|
+
- Automation design rationale, recurring workflow choices, or escalation rules.
|
|
88
|
+
- Project/product/engineering judgment that will affect future work.
|
|
89
|
+
- Attachment or screenshot evidence that changes task interpretation.
|
|
90
|
+
- Reusable execution lessons, setup friction, validation findings, or failure
|
|
91
|
+
modes that future runs should know.
|
|
92
|
+
|
|
93
|
+
Do not capture:
|
|
94
|
+
|
|
95
|
+
- Greetings, thanks, scheduling chatter, or low-signal status updates.
|
|
96
|
+
- Full private chat transcripts. Summarize the durable signal instead.
|
|
97
|
+
- Secrets, tokens, credentials, private keys, session cookies, or auth headers.
|
|
98
|
+
- One-time sensitive context that is not needed for future work.
|
|
99
|
+
- Organization-level facts as private personal memory. Record only the routing
|
|
100
|
+
decision in the daily note, then promote the fact to shared project knowledge.
|
|
101
|
+
- Speculation, weak inferences, or unverified assumptions as facts.
|
|
102
|
+
|
|
103
|
+
Recommended daily-note entry format:
|
|
104
|
+
|
|
105
|
+
```md
|
|
106
|
+
## HH:MM - Chat capture
|
|
107
|
+
|
|
108
|
+
- Context: conversation or issue reference, project, and why this mattered.
|
|
109
|
+
- User intent: the durable need, correction, preference, or decision.
|
|
110
|
+
- Conclusion/action: what changed or what was done.
|
|
111
|
+
- Reusable lesson: future behavior, command, routing rule, or validation signal.
|
|
112
|
+
- Follow-up/risk: unresolved uncertainty, owner, or promotion target.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Reference the Rudder conversation, issue, or local evidence path when available,
|
|
116
|
+
but keep the note short enough that it can be safely scanned later.
|
|
117
|
+
|
|
118
|
+
#### Promotion and Routing Rules
|
|
119
|
+
|
|
120
|
+
Use daily notes as the intake log, then route the information:
|
|
121
|
+
|
|
122
|
+
- Stable personal operating preferences or recurring user patterns ->
|
|
123
|
+
`$AGENT_HOME/instructions/MEMORY.md`.
|
|
124
|
+
- Entity facts about people, companies, projects, or resources ->
|
|
125
|
+
`$AGENT_HOME/life/<para-bucket>/<entity>/items.yaml`.
|
|
126
|
+
- Project proposals, decisions, reusable know-how, and shared work notes ->
|
|
127
|
+
`$RUDDER_PROJECT_LIBRARY_ROOT` when project context exists, otherwise the
|
|
128
|
+
relevant path under `$RUDDER_ORG_WORKSPACE_ROOT`.
|
|
129
|
+
- Skill behavior problems or repeated workflow failures -> propose or make a
|
|
130
|
+
skill patch in the relevant skill package. Do not hide organization-wide
|
|
131
|
+
behavior fixes only in one agent's personal memory.
|
|
132
|
+
- Secrets or sensitive one-time context -> do not write them to memory; record
|
|
133
|
+
only a redacted operational lesson if future behavior genuinely depends on it.
|
|
134
|
+
|
|
135
|
+
During heartbeat synthesis, review recent chat captures and promote anything
|
|
136
|
+
that has become stable, repeated, or shared. Leave the daily note as the audit
|
|
137
|
+
trail even after promotion.
|
|
73
138
|
|
|
74
139
|
### Layer 3: Tacit Knowledge (`$AGENT_HOME/instructions/MEMORY.md`)
|
|
75
140
|
|
|
@@ -87,6 +152,8 @@ Memory does not survive session restarts. Files do.
|
|
|
87
152
|
- "Remember this" -> update `$AGENT_HOME/memory/YYYY-MM-DD.md` or the relevant entity file.
|
|
88
153
|
- Stable user preferences or operating lessons -> update `$AGENT_HOME/instructions/MEMORY.md`.
|
|
89
154
|
- Learn a lesson -> update AGENTS.md, TOOLS.md, or the relevant skill file.
|
|
155
|
+
- Shared project knowledge -> update the project Library or organization
|
|
156
|
+
workspace, then cite it with a Rudder-renderable link when reporting back.
|
|
90
157
|
- Make a mistake -> document it so future-you does not repeat it.
|
|
91
158
|
- On-disk text files are always better than holding it in temporary context.
|
|
92
159
|
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Conversation Capture Evals
|
|
2
|
+
|
|
3
|
+
Use these lightweight cases when changing the `para-memory-files` skill's
|
|
4
|
+
Rudder chat capture behavior. They are written for human or agent review, not a
|
|
5
|
+
dedicated automated harness.
|
|
6
|
+
|
|
7
|
+
### Case: User Corrects Memory Behavior
|
|
8
|
+
|
|
9
|
+
Input:
|
|
10
|
+
|
|
11
|
+
A user says: "No, do not just leave this in your personal MEMORY.md. This
|
|
12
|
+
should become an org skill rule so other agents stop missing chat context."
|
|
13
|
+
|
|
14
|
+
Expected behavior:
|
|
15
|
+
|
|
16
|
+
- Write a concise daily-note chat capture with context, user intent,
|
|
17
|
+
conclusion/action, reusable lesson, and follow-up/risk.
|
|
18
|
+
- Route the stable behavior change toward the relevant skill package or skill
|
|
19
|
+
patch proposal.
|
|
20
|
+
- Update personal MEMORY.md only if there is also a personal operating
|
|
21
|
+
preference for this agent.
|
|
22
|
+
|
|
23
|
+
Must not:
|
|
24
|
+
|
|
25
|
+
- Copy the full transcript into memory.
|
|
26
|
+
- Treat the correction as only a personal preference.
|
|
27
|
+
- Hide the organization-wide fix in one agent's private memory.
|
|
28
|
+
|
|
29
|
+
### Case: Issue Close-Out Without New Signal
|
|
30
|
+
|
|
31
|
+
Input:
|
|
32
|
+
|
|
33
|
+
An issue comment says: "Done, tests passed, commit abc123." It repeats the
|
|
34
|
+
same evidence already present in the issue and contains no new preference,
|
|
35
|
+
decision, correction, or reusable lesson.
|
|
36
|
+
|
|
37
|
+
Expected behavior:
|
|
38
|
+
|
|
39
|
+
- No daily-note capture is required.
|
|
40
|
+
- If the agent needs an audit trail, rely on the issue itself as the source of
|
|
41
|
+
truth.
|
|
42
|
+
|
|
43
|
+
Must not:
|
|
44
|
+
|
|
45
|
+
- Record low-signal close-out chatter just because it happened in chat.
|
|
46
|
+
- Promote repeated issue status into personal memory.
|
|
47
|
+
|
|
48
|
+
### Case: Low-Signal Chat
|
|
49
|
+
|
|
50
|
+
Input:
|
|
51
|
+
|
|
52
|
+
A chat contains greetings, thanks, and "I'll check later" with no task
|
|
53
|
+
definition or durable preference.
|
|
54
|
+
|
|
55
|
+
Expected behavior:
|
|
56
|
+
|
|
57
|
+
- Do not write a memory entry.
|
|
58
|
+
- Continue the conversation normally.
|
|
59
|
+
|
|
60
|
+
Must not:
|
|
61
|
+
|
|
62
|
+
- Create a daily note from politeness or temporary scheduling chatter.
|
|
63
|
+
|
|
64
|
+
### Case: Project-Level Decision
|
|
65
|
+
|
|
66
|
+
Input:
|
|
67
|
+
|
|
68
|
+
A user explains that future Rudder proposals for non-trivial architecture work
|
|
69
|
+
must live in the project Library first, receive two critique rounds, and only
|
|
70
|
+
then be implemented.
|
|
71
|
+
|
|
72
|
+
Expected behavior:
|
|
73
|
+
|
|
74
|
+
- Capture the chat signal in the daily note.
|
|
75
|
+
- Promote the project-level policy to shared project knowledge under the
|
|
76
|
+
project Library or organization workspace.
|
|
77
|
+
- If it changes agent behavior generally, propose or update the relevant skill.
|
|
78
|
+
|
|
79
|
+
Must not:
|
|
80
|
+
|
|
81
|
+
- Store the policy only in `$AGENT_HOME/instructions/MEMORY.md`.
|
|
82
|
+
- Skip the shared knowledge artifact when the rule affects multiple agents.
|
|
83
|
+
|
|
84
|
+
### Case: Attachment Changes Task Interpretation
|
|
85
|
+
|
|
86
|
+
Input:
|
|
87
|
+
|
|
88
|
+
A user attaches a screenshot and says the real problem is not the visible
|
|
89
|
+
button style but the workflow confusion shown by the screenshot.
|
|
90
|
+
|
|
91
|
+
Expected behavior:
|
|
92
|
+
|
|
93
|
+
- Capture the daily-note context, including the conversation or issue reference
|
|
94
|
+
and a short description of how the attachment changed the task.
|
|
95
|
+
- Route any reusable product or execution lesson to shared project knowledge
|
|
96
|
+
when it affects future project work.
|
|
97
|
+
- Keep the attachment details summarized and avoid sensitive visual content
|
|
98
|
+
that is not needed for future behavior.
|
|
99
|
+
|
|
100
|
+
Must not:
|
|
101
|
+
|
|
102
|
+
- Preserve the entire image transcript or private visual details in personal
|
|
103
|
+
memory.
|
|
104
|
+
- Ignore the attachment-driven reinterpretation when forming future task
|
|
105
|
+
context.
|
|
@@ -17,6 +17,33 @@
|
|
|
17
17
|
access_count: 0
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Daily Note Conversation Capture Entry
|
|
21
|
+
|
|
22
|
+
Daily notes are lightweight chronological logs. Use this structure when a
|
|
23
|
+
Rudder chat contains durable signal worth retaining.
|
|
24
|
+
|
|
25
|
+
```md
|
|
26
|
+
## HH:MM - Chat capture
|
|
27
|
+
|
|
28
|
+
- Context: conversation or issue reference, project, and why this mattered.
|
|
29
|
+
- User intent: durable correction, preference, constraint, decision, or task
|
|
30
|
+
interpretation.
|
|
31
|
+
- Conclusion/action: what changed, what was done, or where it was routed.
|
|
32
|
+
- Reusable lesson: future behavior, command, validation signal, or routing rule.
|
|
33
|
+
- Follow-up/risk: unresolved uncertainty, owner, promotion target, or none.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Keep entries summarized and redacted:
|
|
37
|
+
|
|
38
|
+
- Do not copy full private transcripts.
|
|
39
|
+
- Do not store secrets, tokens, credentials, private keys, session cookies, or
|
|
40
|
+
auth headers.
|
|
41
|
+
- Do not turn one-off sensitive context into durable memory unless the future
|
|
42
|
+
behavioral lesson can be safely stated without the sensitive detail.
|
|
43
|
+
- If the information belongs in shared project knowledge, note the routing
|
|
44
|
+
decision in the daily note and promote it to the project Library or
|
|
45
|
+
organization workspace.
|
|
46
|
+
|
|
20
47
|
## Memory Decay
|
|
21
48
|
|
|
22
49
|
Facts decay in retrieval priority over time so stale info does not crowd out recent context.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as O,e as l,k as I,g as P,h as b,j as w,l as M,m,t as F,n as _}from"./_baseUniq-
|
|
1
|
+
import{c as O,e as l,k as I,g as P,h as b,j as w,l as M,m,t as F,n as _}from"./_baseUniq-vwD97x9Q.js";import{at as p,aO as A,aP as E,aQ as N,aR as o,aS as R,aT as S,aU as T,aV as G}from"./mermaid.core-Brk8NTug.js";import{M as L,O as Q,Q as v}from"./index-Dp7QOZLo.js";var g=1/0,$=17976931348623157e292;function q(n){if(!n)return n===0?n:0;if(n=L(n),n===g||n===-g){var r=n<0?-1:1;return r*$}return n===n?n:0}function z(n){var r=q(n),a=r%1;return r===r?a?r-a:r:0}function j(n){var r=n==null?0:n.length;return r?O(n):[]}var x=Object.prototype,B=x.hasOwnProperty,k=p(function(n,r){n=Object(n);var a=-1,i=r.length,t=i>2?r[2]:void 0;for(t&&A(r[0],r[1],t)&&(i=1);++a<i;)for(var f=r[a],e=E(f),s=-1,u=e.length;++s<u;){var d=e[s],h=n[d];(h===void 0||N(h,x[d])&&!B.call(n,d))&&(n[d]=f[d])}return n});function nn(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function C(n){return function(r,a,i){var t=Object(r);if(!o(r)){var f=l(a);r=I(r),a=function(s){return f(t[s],s,t)}}var e=n(r,a,i);return e>-1?t[f?r[e]:e]:void 0}}var H=Math.max;function K(n,r,a){var i=n==null?0:n.length;if(!i)return-1;var t=a==null?0:z(a);return t<0&&(t=H(i+t,0)),P(n,l(r),t)}var rn=C(K);function U(n,r){var a=-1,i=o(n)?Array(n.length):[];return b(n,function(t,f,e){i[++a]=r(t,f,e)}),i}function an(n,r){var a=R(n)?w:U;return a(n,l(r))}var X=Object.prototype,Y=X.hasOwnProperty;function D(n,r){return n!=null&&Y.call(n,r)}function tn(n,r){return n!=null&&M(n,r,D)}function J(n,r){return n<r}function W(n,r,a){for(var i=-1,t=n.length;++i<t;){var f=n[i],e=r(f);if(e!=null&&(s===void 0?e===e&&!Q(e):a(e,s)))var s=e,u=f}return u}function en(n){return n&&n.length?W(n,S,J):void 0}function Z(n,r,a,i){if(!v(n))return n;r=m(r,n);for(var t=-1,f=r.length,e=f-1,s=n;s!=null&&++t<f;){var u=F(r[t]),d=a;if(u==="__proto__"||u==="constructor"||u==="prototype")return n;if(t!=e){var h=s[u];d=void 0,d===void 0&&(d=v(h)?h:T(r[t+1])?[]:{})}G(s,u,d),s=s[u]}return n}function sn(n,r,a){for(var i=-1,t=r.length,f={};++i<t;){var e=r[i],s=_(n,e);a(s,e)&&Z(f,m(e,n),s)}return f}export{J as a,W as b,U as c,sn as d,en as e,j as f,rn as g,tn as h,k as i,z as j,nn as l,an as m,q as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{O as U,S as w,R as L,Q as sn}from"./index-DHDdFATJ.js";import{aS as T,aR as un,bf as Rn,bg as xn,bh as Mn,bi as on,bj as x,aP as B,bk as mn,bl as gn,bm as Cn,bn as S,bd as ln,bo as R,bp as Fn,bq as D,br as Dn,bs as Gn,bt as $,aV as Un,bu as Bn,aQ as Nn,bv as Q,bw as Kn,bx as jn,aU as Hn,aT as cn,bb as qn,by as m}from"./mermaid.core-B7V2CxJI.js";function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var X=w?w.prototype:void 0,J=X?X.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return J?J.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Yn(){}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 Zn(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 Qn(n){return n!==n}function Xn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function Jn(n,r,e){return r===r?Xn(n,r,e):Zn(n,Qn,e)}function Wn(n,r){var e=n==null?0:n.length;return!!e&&Jn(n,r,0)>-1}function _(n){return un(n)?Rn(n):xn(n)}var zn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vn=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:Vn.test(n)||!zn.test(n)||r!=null&&n in Object(r)}var kn=500;function nr(n){var r=Mn(n,function(t){return e.size===kn&&e.clear(),t}),e=r.cache;return r}var rr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,er=/\\(\\)?/g,tr=nr(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(rr,function(e,t,f,i){r.push(f?i.replace(er,"$1"):t||e)}),r});function ir(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:N(n,r)?[n]:tr(ir(n))}function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function fr(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 ar(n){return T(n)||on(n)||!!(W&&n&&n[W])}function wt(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ar),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function sr(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 ur(n,r){return n&&x(r,_(r),n)}function or(n,r){return n&&x(r,B(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 gr=Object.prototype,lr=gr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return lr.call(n,r)}))}:hn;function cr(n,r){return x(n,j(n),r)}var br=Object.getOwnPropertySymbols,wn=br?function(n){for(var r=[];n;)K(r,j(n)),n=mn(n);return r}:hn;function dr(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 pr(n){return On(n,B,wn)}var Ar=Object.prototype,yr=Ar.hasOwnProperty;function Tr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&yr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function hr(n,r){var e=r?gn(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var wr=/\w*$/;function Or(n){var r=new n.constructor(n.source,wr.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function _r(n){return k?Object(k.call(n)):{}}var $r="[object Boolean]",Sr="[object Date]",Er="[object Map]",Pr="[object Number]",Ir="[object RegExp]",vr="[object Set]",Lr="[object String]",Rr="[object Symbol]",xr="[object ArrayBuffer]",Mr="[object DataView]",mr="[object Float32Array]",Cr="[object Float64Array]",Fr="[object Int8Array]",Dr="[object Int16Array]",Gr="[object Int32Array]",Ur="[object Uint8Array]",Br="[object Uint8ClampedArray]",Nr="[object Uint16Array]",Kr="[object Uint32Array]";function jr(n,r,e){var t=n.constructor;switch(r){case xr:return gn(n);case $r:case Sr:return new t(+n);case Mr:return hr(n,e);case mr:case Cr:case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:return Cn(n,e);case Er:return new t;case Pr:case Lr:return new t(n);case Ir:return Or(n);case vr:return new t;case Rr:return _r(n)}}var Hr="[object Map]";function qr(n){return L(n)&&S(n)==Hr}var nn=R&&R.isMap,Yr=nn?ln(nn):qr,Zr="[object Set]";function Qr(n){return L(n)&&S(n)==Zr}var rn=R&&R.isSet,Xr=rn?ln(rn):Qr,Jr=1,Wr=2,zr=4,_n="[object Arguments]",Vr="[object Array]",kr="[object Boolean]",ne="[object Date]",re="[object Error]",$n="[object Function]",ee="[object GeneratorFunction]",te="[object Map]",ie="[object Number]",Sn="[object Object]",fe="[object RegExp]",ae="[object Set]",se="[object String]",ue="[object Symbol]",oe="[object WeakMap]",ge="[object ArrayBuffer]",le="[object DataView]",ce="[object Float32Array]",be="[object Float64Array]",de="[object Int8Array]",pe="[object Int16Array]",Ae="[object Int32Array]",ye="[object Uint8Array]",Te="[object Uint8ClampedArray]",he="[object Uint16Array]",we="[object Uint32Array]",g={};g[_n]=g[Vr]=g[ge]=g[le]=g[kr]=g[ne]=g[ce]=g[be]=g[de]=g[pe]=g[Ae]=g[te]=g[ie]=g[Sn]=g[fe]=g[ae]=g[se]=g[ue]=g[ye]=g[Te]=g[he]=g[we]=!0;g[re]=g[$n]=g[oe]=!1;function C(n,r,e,t,f,i){var a,s=r&Jr,u=r&Wr,b=r&zr;if(a!==void 0)return a;if(!sn(n))return n;var l=T(n);if(l){if(a=Tr(n),!s)return Fn(n,a)}else{var o=S(n),c=o==$n||o==ee;if(D(n))return Dn(n,s);if(o==Sn||o==_n||c&&!f){if(a=u||c?{}:Gn(n),!s)return u?dr(n,or(a,n)):cr(n,ur(a,n))}else{if(!g[o])return f?n:{};a=jr(n,o,s)}}i||(i=new $);var h=i.get(n);if(h)return h;i.set(n,a),Xr(n)?n.forEach(function(d){a.add(C(d,r,e,d,n,i))}):Yr(n)&&n.forEach(function(d,p){a.set(p,C(d,r,e,p,n,i))});var A=b?u?pr:G:u?B:_,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,C(d,r,e,p,n,i))}),a}var Oe="__lodash_hash_undefined__";function _e(n){return this.__data__.set(n,Oe),this}function $e(n){return this.__data__.has(n)}function E(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}E.prototype.add=E.prototype.push=_e;E.prototype.has=$e;function Se(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 Ee=1,Pe=2;function Pn(n,r,e,t,f,i){var a=e&Ee,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&Pe?new E: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(!Se(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 Ie(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 ve=1,Le=2,Re="[object Boolean]",xe="[object Date]",Me="[object Error]",me="[object Map]",Ce="[object Number]",Fe="[object RegExp]",De="[object Set]",Ge="[object String]",Ue="[object Symbol]",Be="[object ArrayBuffer]",Ne="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function Ke(n,r,e,t,f,i,a){switch(e){case Ne:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Be:return!(n.byteLength!=r.byteLength||!i(new Q(n),new Q(r)));case Re:case xe:case Ce:return Nn(+n,+r);case Me:return n.name==r.name&&n.message==r.message;case Fe:case Ge:return n==r+"";case me:var s=Ie;case De:var u=t&ve;if(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=Le,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ue:if(F)return F.call(n)==F.call(r)}return!1}var je=1,He=Object.prototype,qe=He.hasOwnProperty;function Ye(n,r,e,t,f,i){var a=e&je,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:qe.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,I=r.constructor;P!=I&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof I=="function"&&I instanceof I)&&(y=!1)}return i.delete(n),i.delete(r),y}var Ze=1,tn="[object Arguments]",fn="[object Array]",v="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:S(n),b=s?fn:S(r);u=u==tn?v:u,b=b==tn?v:b;var l=u==v,o=b==v,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new $),a||Kn(n)?Pn(n,r,e,t,f,i):Ke(n,r,u,e,t,f,i);if(!(e&Ze)){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 $),Ye(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Xe(n,r,e,t,q,f)}var Je=1,We=2;function ze(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,Je|We,t,l):o))return!1}}return!0}function In(n){return n===n&&!sn(n)}function Ve(n){for(var r=_(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function ke(n){var r=Ve(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ze(e,n,r)}}function nt(n,r){return n!=null&&r in Object(n)}function rt(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&&jn(f)&&Hn(a,f)&&(T(n)||on(n)))}function et(n,r){return n!=null&&rt(n,r,nt)}var tt=1,it=2;function ft(n,r){return N(n)&&In(r)?vn(M(n),r):function(e){var t=fr(e,n);return t===void 0&&t===r?et(e,n):q(r,t,tt|it)}}function at(n){return function(r){return r==null?void 0:r[n]}}function st(n){return function(r){return yn(r,n)}}function ut(n){return N(n)?at(M(n)):st(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?ft(n[0],n[1]):ke(n):ut(n)}function ot(n,r){return n&&qn(n,r,_)}function gt(n,r){return function(e,t){if(e==null)return e;if(!un(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=gt(ot);function lt(n){return typeof n=="function"?n:cn}function Ot(n,r){var e=T(n)?pn:Y;return e(n,lt(r))}function ct(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:ct;return e(n,Ln(r))}function bt(n,r){return bn(r,function(e){return n[e]})}function $t(n){return n==null?[]:bt(n,_(n))}function St(n){return n===void 0}function dt(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Et(n,r,e){var t=T(n)?sr:dt,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var pt=1/0,At=m&&1/H(new m([,-0]))[1]==pt?function(n){return new m(n)}:Yn,yt=200;function Pt(n,r,e){var t=-1,f=Wn,i=n.length,a=!0,s=[],u=s;if(i>=yt){var b=r?null:At(n);if(b)return H(b);a=!1,f=En,u=new E}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{ct as A,Se as B,Yn as C,E as S,Pt as a,C as b,wt as c,Ot as d,Ln as e,_t as f,Zn as g,Y as h,St as i,bn as j,_ as k,rt as l,An as m,yn as n,lt as o,ot as p,et as q,Et as r,ir as s,M as t,Wn as u,$t as v,En as w,Jn as x,pr as y,Tn as z};
|
|
1
|
+
import{O as U,S as w,R as L,Q as sn}from"./index-Dp7QOZLo.js";import{aS as T,aR as un,bf as Rn,bg as xn,bh as Mn,bi as on,bj as x,aP as B,bk as mn,bl as gn,bm as Cn,bn as S,bd as ln,bo as R,bp as Fn,bq as D,br as Dn,bs as Gn,bt as $,aV as Un,bu as Bn,aQ as Nn,bv as Q,bw as Kn,bx as jn,aU as Hn,aT as cn,bb as qn,by as m}from"./mermaid.core-Brk8NTug.js";function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var X=w?w.prototype:void 0,J=X?X.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return J?J.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Yn(){}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 Zn(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 Qn(n){return n!==n}function Xn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function Jn(n,r,e){return r===r?Xn(n,r,e):Zn(n,Qn,e)}function Wn(n,r){var e=n==null?0:n.length;return!!e&&Jn(n,r,0)>-1}function _(n){return un(n)?Rn(n):xn(n)}var zn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vn=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:Vn.test(n)||!zn.test(n)||r!=null&&n in Object(r)}var kn=500;function nr(n){var r=Mn(n,function(t){return e.size===kn&&e.clear(),t}),e=r.cache;return r}var rr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,er=/\\(\\)?/g,tr=nr(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(rr,function(e,t,f,i){r.push(f?i.replace(er,"$1"):t||e)}),r});function ir(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:N(n,r)?[n]:tr(ir(n))}function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function fr(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 ar(n){return T(n)||on(n)||!!(W&&n&&n[W])}function wt(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ar),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function sr(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 ur(n,r){return n&&x(r,_(r),n)}function or(n,r){return n&&x(r,B(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 gr=Object.prototype,lr=gr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return lr.call(n,r)}))}:hn;function cr(n,r){return x(n,j(n),r)}var br=Object.getOwnPropertySymbols,wn=br?function(n){for(var r=[];n;)K(r,j(n)),n=mn(n);return r}:hn;function dr(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 pr(n){return On(n,B,wn)}var Ar=Object.prototype,yr=Ar.hasOwnProperty;function Tr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&yr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function hr(n,r){var e=r?gn(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var wr=/\w*$/;function Or(n){var r=new n.constructor(n.source,wr.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function _r(n){return k?Object(k.call(n)):{}}var $r="[object Boolean]",Sr="[object Date]",Er="[object Map]",Pr="[object Number]",Ir="[object RegExp]",vr="[object Set]",Lr="[object String]",Rr="[object Symbol]",xr="[object ArrayBuffer]",Mr="[object DataView]",mr="[object Float32Array]",Cr="[object Float64Array]",Fr="[object Int8Array]",Dr="[object Int16Array]",Gr="[object Int32Array]",Ur="[object Uint8Array]",Br="[object Uint8ClampedArray]",Nr="[object Uint16Array]",Kr="[object Uint32Array]";function jr(n,r,e){var t=n.constructor;switch(r){case xr:return gn(n);case $r:case Sr:return new t(+n);case Mr:return hr(n,e);case mr:case Cr:case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:return Cn(n,e);case Er:return new t;case Pr:case Lr:return new t(n);case Ir:return Or(n);case vr:return new t;case Rr:return _r(n)}}var Hr="[object Map]";function qr(n){return L(n)&&S(n)==Hr}var nn=R&&R.isMap,Yr=nn?ln(nn):qr,Zr="[object Set]";function Qr(n){return L(n)&&S(n)==Zr}var rn=R&&R.isSet,Xr=rn?ln(rn):Qr,Jr=1,Wr=2,zr=4,_n="[object Arguments]",Vr="[object Array]",kr="[object Boolean]",ne="[object Date]",re="[object Error]",$n="[object Function]",ee="[object GeneratorFunction]",te="[object Map]",ie="[object Number]",Sn="[object Object]",fe="[object RegExp]",ae="[object Set]",se="[object String]",ue="[object Symbol]",oe="[object WeakMap]",ge="[object ArrayBuffer]",le="[object DataView]",ce="[object Float32Array]",be="[object Float64Array]",de="[object Int8Array]",pe="[object Int16Array]",Ae="[object Int32Array]",ye="[object Uint8Array]",Te="[object Uint8ClampedArray]",he="[object Uint16Array]",we="[object Uint32Array]",g={};g[_n]=g[Vr]=g[ge]=g[le]=g[kr]=g[ne]=g[ce]=g[be]=g[de]=g[pe]=g[Ae]=g[te]=g[ie]=g[Sn]=g[fe]=g[ae]=g[se]=g[ue]=g[ye]=g[Te]=g[he]=g[we]=!0;g[re]=g[$n]=g[oe]=!1;function C(n,r,e,t,f,i){var a,s=r&Jr,u=r&Wr,b=r&zr;if(a!==void 0)return a;if(!sn(n))return n;var l=T(n);if(l){if(a=Tr(n),!s)return Fn(n,a)}else{var o=S(n),c=o==$n||o==ee;if(D(n))return Dn(n,s);if(o==Sn||o==_n||c&&!f){if(a=u||c?{}:Gn(n),!s)return u?dr(n,or(a,n)):cr(n,ur(a,n))}else{if(!g[o])return f?n:{};a=jr(n,o,s)}}i||(i=new $);var h=i.get(n);if(h)return h;i.set(n,a),Xr(n)?n.forEach(function(d){a.add(C(d,r,e,d,n,i))}):Yr(n)&&n.forEach(function(d,p){a.set(p,C(d,r,e,p,n,i))});var A=b?u?pr:G:u?B:_,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,C(d,r,e,p,n,i))}),a}var Oe="__lodash_hash_undefined__";function _e(n){return this.__data__.set(n,Oe),this}function $e(n){return this.__data__.has(n)}function E(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}E.prototype.add=E.prototype.push=_e;E.prototype.has=$e;function Se(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 Ee=1,Pe=2;function Pn(n,r,e,t,f,i){var a=e&Ee,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&Pe?new E: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(!Se(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 Ie(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 ve=1,Le=2,Re="[object Boolean]",xe="[object Date]",Me="[object Error]",me="[object Map]",Ce="[object Number]",Fe="[object RegExp]",De="[object Set]",Ge="[object String]",Ue="[object Symbol]",Be="[object ArrayBuffer]",Ne="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function Ke(n,r,e,t,f,i,a){switch(e){case Ne:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Be:return!(n.byteLength!=r.byteLength||!i(new Q(n),new Q(r)));case Re:case xe:case Ce:return Nn(+n,+r);case Me:return n.name==r.name&&n.message==r.message;case Fe:case Ge:return n==r+"";case me:var s=Ie;case De:var u=t&ve;if(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=Le,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ue:if(F)return F.call(n)==F.call(r)}return!1}var je=1,He=Object.prototype,qe=He.hasOwnProperty;function Ye(n,r,e,t,f,i){var a=e&je,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:qe.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,I=r.constructor;P!=I&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof I=="function"&&I instanceof I)&&(y=!1)}return i.delete(n),i.delete(r),y}var Ze=1,tn="[object Arguments]",fn="[object Array]",v="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:S(n),b=s?fn:S(r);u=u==tn?v:u,b=b==tn?v:b;var l=u==v,o=b==v,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new $),a||Kn(n)?Pn(n,r,e,t,f,i):Ke(n,r,u,e,t,f,i);if(!(e&Ze)){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 $),Ye(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Xe(n,r,e,t,q,f)}var Je=1,We=2;function ze(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,Je|We,t,l):o))return!1}}return!0}function In(n){return n===n&&!sn(n)}function Ve(n){for(var r=_(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function ke(n){var r=Ve(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ze(e,n,r)}}function nt(n,r){return n!=null&&r in Object(n)}function rt(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&&jn(f)&&Hn(a,f)&&(T(n)||on(n)))}function et(n,r){return n!=null&&rt(n,r,nt)}var tt=1,it=2;function ft(n,r){return N(n)&&In(r)?vn(M(n),r):function(e){var t=fr(e,n);return t===void 0&&t===r?et(e,n):q(r,t,tt|it)}}function at(n){return function(r){return r==null?void 0:r[n]}}function st(n){return function(r){return yn(r,n)}}function ut(n){return N(n)?at(M(n)):st(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?ft(n[0],n[1]):ke(n):ut(n)}function ot(n,r){return n&&qn(n,r,_)}function gt(n,r){return function(e,t){if(e==null)return e;if(!un(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=gt(ot);function lt(n){return typeof n=="function"?n:cn}function Ot(n,r){var e=T(n)?pn:Y;return e(n,lt(r))}function ct(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:ct;return e(n,Ln(r))}function bt(n,r){return bn(r,function(e){return n[e]})}function $t(n){return n==null?[]:bt(n,_(n))}function St(n){return n===void 0}function dt(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Et(n,r,e){var t=T(n)?sr:dt,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var pt=1/0,At=m&&1/H(new m([,-0]))[1]==pt?function(n){return new m(n)}:Yn,yt=200;function Pt(n,r,e){var t=-1,f=Wn,i=n.length,a=!0,s=[],u=s;if(i>=yt){var b=r?null:At(n);if(b)return H(b);a=!1,f=En,u=new E}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{ct as A,Se as B,Yn as C,E as S,Pt as a,C as b,wt as c,Ot as d,Ln as e,_t as f,Zn as g,Y as h,St as i,bn as j,_ as k,rt as l,An as m,yn as n,lt as o,ot as p,et as q,Et as r,ir as s,M as t,Wn as u,$t as v,En as w,Jn as x,pr as y,Tn 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-Brk8NTug.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};
|