dreamcontext 0.8.6 → 0.8.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/agents/dreamcontext-explore.md +7 -3
  2. package/agents/dreamcontext-initializer.md +9 -0
  3. package/agents/sleep-migration.md +18 -10
  4. package/agents/sleep-product.md +6 -6
  5. package/agents/sleep-state.md +3 -3
  6. package/agents/sleep-tasks.md +4 -3
  7. package/dist/agents/dreamcontext-explore.md +7 -3
  8. package/dist/agents/dreamcontext-initializer.md +9 -0
  9. package/dist/agents/sleep-migration.md +18 -10
  10. package/dist/agents/sleep-product.md +6 -6
  11. package/dist/agents/sleep-state.md +3 -3
  12. package/dist/agents/sleep-tasks.md +4 -3
  13. package/dist/dashboard/assets/Assistant-Bold-gm-uSS1B.woff2 +0 -0
  14. package/dist/dashboard/assets/Assistant-Medium-DrcxCXg3.woff2 +0 -0
  15. package/dist/dashboard/assets/Assistant-Regular-DVxZuzxb.woff2 +0 -0
  16. package/dist/dashboard/assets/Assistant-SemiBold-SCI4bEL9.woff2 +0 -0
  17. package/dist/dashboard/assets/{BrainCanvas3D-CAB2im2F.js → BrainCanvas3D-CyuMh6vC.js} +1 -1
  18. package/dist/dashboard/assets/{_baseUniq-dsXhE6Mb.js → _baseUniq-TeXEp9Tn.js} +1 -1
  19. package/dist/dashboard/assets/{ar-SA-G6X2FPQ2-BmAprFYu.js → ar-SA-G6X2FPQ2-Da5wNUeW.js} +1 -1
  20. package/dist/dashboard/assets/{arc-d9gHov8I.js → arc-NQuoeYrp.js} +1 -1
  21. package/dist/dashboard/assets/{architectureDiagram-Q4EWVU46-C58hXcUE.js → architectureDiagram-Q4EWVU46-B108azq_.js} +1 -1
  22. package/dist/dashboard/assets/{az-AZ-76LH7QW2-BDUks0et.js → az-AZ-76LH7QW2-cJYSsraO.js} +1 -1
  23. package/dist/dashboard/assets/{bg-BG-XCXSNQG7-Bdi-CLmM.js → bg-BG-XCXSNQG7-Dt4_IvAk.js} +1 -1
  24. package/dist/dashboard/assets/{blockDiagram-DXYQGD6D-yJn6zNZG.js → blockDiagram-DXYQGD6D-HAo6Tqxd.js} +1 -1
  25. package/dist/dashboard/assets/{bn-BD-2XOGV67Q-THuskwuf.js → bn-BD-2XOGV67Q-DE20hZpG.js} +1 -1
  26. package/dist/dashboard/assets/{c4Diagram-AHTNJAMY-fGKTGH97.js → c4Diagram-AHTNJAMY-SHRA5Nk_.js} +1 -1
  27. package/dist/dashboard/assets/{ca-ES-6MX7JW3Y-CWrsv8xQ.js → ca-ES-6MX7JW3Y-9ZUzuDs-.js} +1 -1
  28. package/dist/dashboard/assets/channel-CIQg6WkP.js +1 -0
  29. package/dist/dashboard/assets/{chunk-4BX2VUAB-ZCQicbHU.js → chunk-4BX2VUAB-BlLy4y9z.js} +1 -1
  30. package/dist/dashboard/assets/{chunk-4TB4RGXK-DGTUpfCU.js → chunk-4TB4RGXK-cDLog-pk.js} +1 -1
  31. package/dist/dashboard/assets/{chunk-55IACEB6-BnK0E2R4.js → chunk-55IACEB6-BfLlL9Jv.js} +1 -1
  32. package/dist/dashboard/assets/{chunk-EDXVE4YY-B3YEC9QU.js → chunk-EDXVE4YY-BjKTlHye.js} +1 -1
  33. package/dist/dashboard/assets/{chunk-FMBD7UC4-DIteC6lG.js → chunk-FMBD7UC4-CoMoOB69.js} +1 -1
  34. package/dist/dashboard/assets/{chunk-OYMX7WX6-DC84qLFn.js → chunk-OYMX7WX6-DSYZ4BzO.js} +1 -1
  35. package/dist/dashboard/assets/{chunk-QZHKN3VN-Uc2Uvh7x.js → chunk-QZHKN3VN-hsCUyt37.js} +1 -1
  36. package/dist/dashboard/assets/{chunk-YZCP3GAM--p-GHUD7.js → chunk-YZCP3GAM-CMBEUThQ.js} +1 -1
  37. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-kJkUaIqm.js +1 -0
  38. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-kJkUaIqm.js +1 -0
  39. package/dist/dashboard/assets/clone-COSoK5_M.js +1 -0
  40. package/dist/dashboard/assets/{cose-bilkent-S5V4N54A-DBBUVsxi.js → cose-bilkent-S5V4N54A-Ds3A4r-y.js} +1 -1
  41. package/dist/dashboard/assets/{cs-CZ-2BRQDIVT-B8STDI2F.js → cs-CZ-2BRQDIVT-WgNPbRaT.js} +1 -1
  42. package/dist/dashboard/assets/{da-DK-5WZEPLOC-CWhAB8Gq.js → da-DK-5WZEPLOC-BQPVoqBy.js} +1 -1
  43. package/dist/dashboard/assets/{dagre-KV5264BT-BcS_NAij.js → dagre-KV5264BT-D3AamC0s.js} +1 -1
  44. package/dist/dashboard/assets/{de-DE-XR44H4JA-BULNBnuJ.js → de-DE-XR44H4JA-FOMlLeg-.js} +1 -1
  45. package/dist/dashboard/assets/{diagram-5BDNPKRD-CmCCHnLC.js → diagram-5BDNPKRD-DeAuY_LW.js} +1 -1
  46. package/dist/dashboard/assets/{diagram-G4DWMVQ6-Ba84raDA.js → diagram-G4DWMVQ6-CsPuBl6m.js} +1 -1
  47. package/dist/dashboard/assets/{diagram-MMDJMWI5-xNrgYgGq.js → diagram-MMDJMWI5-Celrp7iZ.js} +1 -1
  48. package/dist/dashboard/assets/{diagram-TYMM5635-CMTfUaO1.js → diagram-TYMM5635-D-Y8kdqj.js} +1 -1
  49. package/dist/dashboard/assets/{el-GR-BZB4AONW-DBD23y9B.js → el-GR-BZB4AONW-DdhrZvUu.js} +1 -1
  50. package/dist/dashboard/assets/{erDiagram-SMLLAGMA-BajnFM-6.js → erDiagram-SMLLAGMA-CyPB81Ul.js} +1 -1
  51. package/dist/dashboard/assets/{es-ES-U4NZUMDT-C71t6ojw.js → es-ES-U4NZUMDT-B-Hbpc6c.js} +1 -1
  52. package/dist/dashboard/assets/{eu-ES-A7QVB2H4-B_ttSuYR.js → eu-ES-A7QVB2H4-CIeXN6PD.js} +1 -1
  53. package/dist/dashboard/assets/{fa-IR-HGAKTJCU-Bq4zIqyT.js → fa-IR-HGAKTJCU-BojqXzkR.js} +1 -1
  54. package/dist/dashboard/assets/{fi-FI-Z5N7JZ37-CsLCTzrZ.js → fi-FI-Z5N7JZ37-Dix2X0V9.js} +1 -1
  55. package/dist/dashboard/assets/{flowDiagram-DWJPFMVM-CwfPSiA0.js → flowDiagram-DWJPFMVM-D7IX0DxI.js} +1 -1
  56. package/dist/dashboard/assets/{fr-FR-RHASNOE6-3XVH-KvN.js → fr-FR-RHASNOE6-B-jqOA6L.js} +1 -1
  57. package/dist/dashboard/assets/{ganttDiagram-T4ZO3ILL-DttgldaZ.js → ganttDiagram-T4ZO3ILL-CbK6p7_G.js} +1 -1
  58. package/dist/dashboard/assets/{gitGraphDiagram-UUTBAWPF-BD3bGHtr.js → gitGraphDiagram-UUTBAWPF-DWDwNpLK.js} +1 -1
  59. package/dist/dashboard/assets/{gl-ES-HMX3MZ6V-DROoNE8o.js → gl-ES-HMX3MZ6V-B6zmZpsw.js} +1 -1
  60. package/dist/dashboard/assets/{graph-CDuZp5IO.js → graph-CrDZc6w0.js} +1 -1
  61. package/dist/dashboard/assets/{he-IL-6SHJWFNN-BqAkB-H9.js → he-IL-6SHJWFNN-CaSPpOxb.js} +1 -1
  62. package/dist/dashboard/assets/{hi-IN-IWLTKZ5I-Bn1svlpD.js → hi-IN-IWLTKZ5I-n86mXoF4.js} +1 -1
  63. package/dist/dashboard/assets/{hu-HU-A5ZG7DT2-BpbEcSt9.js → hu-HU-A5ZG7DT2-MqIG43UE.js} +1 -1
  64. package/dist/dashboard/assets/{id-ID-SAP4L64H-BFbKSomM.js → id-ID-SAP4L64H-DbrGiOFJ.js} +1 -1
  65. package/dist/dashboard/assets/index-D1nedbBU.css +1 -0
  66. package/dist/dashboard/assets/{index-Di8SAJL6.js → index-DjaqCcd7.js} +106 -104
  67. package/dist/dashboard/assets/{index-cIXUPF7a.js → index-zJ2-S49k.js} +1 -1
  68. package/dist/dashboard/assets/{infoDiagram-42DDH7IO-CrGCfIaU.js → infoDiagram-42DDH7IO-CpAQyAyt.js} +1 -1
  69. package/dist/dashboard/assets/{ishikawaDiagram-UXIWVN3A-DdanP4Cg.js → ishikawaDiagram-UXIWVN3A-DXIwINgb.js} +1 -1
  70. package/dist/dashboard/assets/{it-IT-JPQ66NNP-DElAu1GB.js → it-IT-JPQ66NNP-IX1Td9Wl.js} +1 -1
  71. package/dist/dashboard/assets/{ja-JP-DBVTYXUO-CX5hYCt6.js → ja-JP-DBVTYXUO-Bd8nX8VR.js} +1 -1
  72. package/dist/dashboard/assets/{journeyDiagram-VCZTEJTY-BJYoD993.js → journeyDiagram-VCZTEJTY-DZlgujgy.js} +1 -1
  73. package/dist/dashboard/assets/{kaa-6HZHGXH3-Dv86pOJk.js → kaa-6HZHGXH3-D5xD9fsf.js} +1 -1
  74. package/dist/dashboard/assets/{kab-KAB-ZGHBKWFO-BdVPAiBC.js → kab-KAB-ZGHBKWFO-xBaAbT-9.js} +1 -1
  75. package/dist/dashboard/assets/{kanban-definition-6JOO6SKY-BCtHyYn3.js → kanban-definition-6JOO6SKY-0klC865z.js} +1 -1
  76. package/dist/dashboard/assets/{kk-KZ-P5N5QNE5-rqy6kPw3.js → kk-KZ-P5N5QNE5-CboXRRre.js} +1 -1
  77. package/dist/dashboard/assets/{km-KH-HSX4SM5Z-W6zLGjnE.js → km-KH-HSX4SM5Z-Clsilmtp.js} +1 -1
  78. package/dist/dashboard/assets/{ko-KR-MTYHY66A-ACtkqDBa.js → ko-KR-MTYHY66A-CIjzZcRO.js} +1 -1
  79. package/dist/dashboard/assets/{ku-TR-6OUDTVRD-D2MiKXrW.js → ku-TR-6OUDTVRD-Bs1RU4e9.js} +1 -1
  80. package/dist/dashboard/assets/{layout-G4fEkmiY.js → layout-fipBctpD.js} +1 -1
  81. package/dist/dashboard/assets/{linear-B2IKexSz.js → linear-DVXXJr0u.js} +1 -1
  82. package/dist/dashboard/assets/{lt-LT-XHIRWOB4-BXUl6qoc.js → lt-LT-XHIRWOB4-CQ-xLU_o.js} +1 -1
  83. package/dist/dashboard/assets/{lv-LV-5QDEKY6T-CbfqRExf.js → lv-LV-5QDEKY6T-C0inT4d9.js} +1 -1
  84. package/dist/dashboard/assets/{min-CGs-EORe.js → min-B_cNy5kS.js} +1 -1
  85. package/dist/dashboard/assets/{mindmap-definition-QFDTVHPH-BG5rEg9o.js → mindmap-definition-QFDTVHPH-Cioz1NOY.js} +1 -1
  86. package/dist/dashboard/assets/{mr-IN-CRQNXWMA-BDQS6spB.js → mr-IN-CRQNXWMA-DhEHYUYK.js} +1 -1
  87. package/dist/dashboard/assets/{my-MM-5M5IBNSE-slOXMPAS.js → my-MM-5M5IBNSE-Dj4Iwdrf.js} +1 -1
  88. package/dist/dashboard/assets/{nb-NO-T6EIAALU-DsUSa36i.js → nb-NO-T6EIAALU-CvAPy7iN.js} +1 -1
  89. package/dist/dashboard/assets/{nl-NL-IS3SIHDZ-Bmxt9uv4.js → nl-NL-IS3SIHDZ-DgQc3gPO.js} +1 -1
  90. package/dist/dashboard/assets/{nn-NO-6E72VCQL-B3EKWZ2E.js → nn-NO-6E72VCQL-DORPUv8K.js} +1 -1
  91. package/dist/dashboard/assets/{oc-FR-POXYY2M6-CQ95AKGA.js → oc-FR-POXYY2M6-Cym9O8Me.js} +1 -1
  92. package/dist/dashboard/assets/{pa-IN-N4M65BXN-DlOGvEPy.js → pa-IN-N4M65BXN-BiE5SCOy.js} +1 -1
  93. package/dist/dashboard/assets/percentages-BXMCSKIN-B-_e8Y6s.js +215 -0
  94. package/dist/dashboard/assets/percentages-BXMCSKIN-DnMnD4LF.css +1 -0
  95. package/dist/dashboard/assets/{pica-BElmNROA.js → pica-C5ISA_oR.js} +1 -1
  96. package/dist/dashboard/assets/{pieDiagram-DEJITSTG-CM8vpcY4.js → pieDiagram-DEJITSTG-CD7iu1Mo.js} +1 -1
  97. package/dist/dashboard/assets/{pl-PL-T2D74RX3-ia8QfWiE.js → pl-PL-T2D74RX3-C-29ZIfD.js} +1 -1
  98. package/dist/dashboard/assets/{pt-BR-5N22H2LF-Dk0_mzTj.js → pt-BR-5N22H2LF-CIQq615m.js} +1 -1
  99. package/dist/dashboard/assets/{pt-PT-UZXXM6DQ-DVhHd3sQ.js → pt-PT-UZXXM6DQ-CN7xbXrH.js} +1 -1
  100. package/dist/dashboard/assets/{quadrantDiagram-34T5L4WZ-DHK8pFQ0.js → quadrantDiagram-34T5L4WZ-DEPkZ_lv.js} +1 -1
  101. package/dist/dashboard/assets/{requirementDiagram-MS252O5E-O5-02BwJ.js → requirementDiagram-MS252O5E-BpAjr03x.js} +1 -1
  102. package/dist/dashboard/assets/{ro-RO-JPDTUUEW-BnsPiMQX.js → ro-RO-JPDTUUEW-DBtenXzw.js} +1 -1
  103. package/dist/dashboard/assets/{ru-RU-B4JR7IUQ-DGg0hVo9.js → ru-RU-B4JR7IUQ-CA_iHOeh.js} +1 -1
  104. package/dist/dashboard/assets/{sankeyDiagram-XADWPNL6-CWTRPjWg.js → sankeyDiagram-XADWPNL6-B1zLPVle.js} +1 -1
  105. package/dist/dashboard/assets/{sequenceDiagram-FGHM5R23-DgPVR3Bj.js → sequenceDiagram-FGHM5R23-pEX8i9B5.js} +1 -1
  106. package/dist/dashboard/assets/{si-LK-N5RQ5JYF-tYLdyZ7v.js → si-LK-N5RQ5JYF-BTsFn4Rn.js} +1 -1
  107. package/dist/dashboard/assets/{sk-SK-C5VTKIMK-1xA3G05_.js → sk-SK-C5VTKIMK-DGoN-I5B.js} +1 -1
  108. package/dist/dashboard/assets/{sl-SI-NN7IZMDC-DhfNsg9e.js → sl-SI-NN7IZMDC-CwiRr92B.js} +1 -1
  109. package/dist/dashboard/assets/{stateDiagram-FHFEXIEX-Bca5FGdM.js → stateDiagram-FHFEXIEX-W_EdYNVF.js} +1 -1
  110. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-BsdphuJ6.js +1 -0
  111. package/dist/dashboard/assets/{subset-shared.chunk-CGU8uh4H.js → subset-shared.chunk-CAlKIepB.js} +1 -1
  112. package/dist/dashboard/assets/{subset-worker.chunk-y2R5BeoP.js → subset-worker.chunk-YIXEPnjQ.js} +1 -1
  113. package/dist/dashboard/assets/{sv-SE-XGPEYMSR-DfzE39Ps.js → sv-SE-XGPEYMSR-7SNur8Fe.js} +1 -1
  114. package/dist/dashboard/assets/{ta-IN-2NMHFXQM-D7LBIYw1.js → ta-IN-2NMHFXQM-DqQBCB2J.js} +1 -1
  115. package/dist/dashboard/assets/{th-TH-HPSO5L25-Cfm5Dm_a.js → th-TH-HPSO5L25-ClwEsAak.js} +1 -1
  116. package/dist/dashboard/assets/{timeline-definition-GMOUNBTQ-C-mJxmUk.js → timeline-definition-GMOUNBTQ-uPtwwnY7.js} +1 -1
  117. package/dist/dashboard/assets/{tr-TR-DEFEU3FU-m5lXhQtR.js → tr-TR-DEFEU3FU-DmCg5qbG.js} +1 -1
  118. package/dist/dashboard/assets/{uk-UA-QMV73CPH-CDhF3uD5.js → uk-UA-QMV73CPH-DixKG8eB.js} +1 -1
  119. package/dist/dashboard/assets/{vennDiagram-DHZGUBPP-EXa8McYU.js → vennDiagram-DHZGUBPP-CAggDlIj.js} +1 -1
  120. package/dist/dashboard/assets/{vi-VN-M7AON7JQ-C67Ii_Ev.js → vi-VN-M7AON7JQ-C15Za2rn.js} +1 -1
  121. package/dist/dashboard/assets/{wardley-RL74JXVD-auY9rf2s.js → wardley-RL74JXVD-D5C_gWsf.js} +1 -1
  122. package/dist/dashboard/assets/{wardleyDiagram-NUSXRM2D-B8qVq-Ss.js → wardleyDiagram-NUSXRM2D-tqYHOmfO.js} +1 -1
  123. package/dist/dashboard/assets/{xychartDiagram-5P7HB3ND-DIfk5B6V.js → xychartDiagram-5P7HB3ND-CsxZKm-V.js} +1 -1
  124. package/dist/dashboard/assets/{zh-CN-LNUGB5OW-8NshHSLl.js → zh-CN-LNUGB5OW-BhlF39b5.js} +1 -1
  125. package/dist/dashboard/assets/{zh-HK-E62DVLB3-D22tHzlZ.js → zh-HK-E62DVLB3-P2FWmB4w.js} +1 -1
  126. package/dist/dashboard/assets/{zh-TW-RAJ6MFWO-BllueYdk.js → zh-TW-RAJ6MFWO-B0yB1dNp.js} +1 -1
  127. package/dist/dashboard/index.html +2 -2
  128. package/dist/index.js +14683 -7833
  129. package/dist/skill-packs/council/SKILL.md +3 -2
  130. package/dist/skill-packs/council/debate-protocol.md +1 -1
  131. package/dist/skill-packs/excalidraw/SKILL.md +47 -22
  132. package/package.json +1 -1
  133. package/skill/SKILL.md +204 -498
  134. package/skill/references/cli-reference.md +200 -0
  135. package/skill/references/improving-dreamcontext.md +39 -0
  136. package/skill/references/integrations.md +200 -0
  137. package/skill/references/knowledge-and-recall.md +151 -0
  138. package/skill/references/sleep.md +88 -0
  139. package/skill/references/tasks-and-features.md +170 -0
  140. package/skill-packs/council/SKILL.md +3 -2
  141. package/skill-packs/council/debate-protocol.md +1 -1
  142. package/skill-packs/excalidraw/SKILL.md +47 -22
  143. package/dist/dashboard/assets/channel-Do_JtUNy.js +0 -1
  144. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-Dj8SIYaT.js +0 -1
  145. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-Dj8SIYaT.js +0 -1
  146. package/dist/dashboard/assets/clone-BpmzOucO.js +0 -1
  147. package/dist/dashboard/assets/index-CgYfjFTP.css +0 -1
  148. package/dist/dashboard/assets/percentages-BXMCSKIN-Cghe4Ak9.js +0 -215
  149. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-DIY7ac6n.js +0 -1
@@ -57,7 +57,11 @@ always beats blind exploration.
57
57
  **Cross-vault hits are normal and useful.** Results tagged `<vault>::<type>/<slug>` come
58
58
  from connected readable peer projects — this is expected behavior, not noise. If the
59
59
  answer likely lives in a specific peer, scope the search with `--vault <name>` to
60
- search current + that one peer directly.
60
+ search current + that one peer directly. You may also go deeper on a peer: print its
61
+ context with `dreamcontext snapshot --vault <name>`, or `Read`/`Grep` its files
62
+ directly (a connected peer is a normal directory on disk). A connection is a standing
63
+ "may read" — use it instead of reporting "not found here" when a sibling project owns
64
+ the answer.
61
65
 
62
66
  Recall is appropriate for Track A (Documented Knowledge) and for Track B when
63
67
  the query is about a documented concept. It is NOT a substitute for Glob/Grep
@@ -70,7 +74,7 @@ Classify every query into one of two tracks:
70
74
 
71
75
  **TRACK A -- Documented Knowledge** (architecture, design, schema, conventions, feature specs)
72
76
  The briefing tells you which context file has the answer. Read that ONE file and return. Done.
73
- Examples: "what's the data schema?" -> read all files under `core/data-structures/` (typically `default.md` for single-product projects, or one file per product for multi-product). At explore-time you don't know the product set yet, so list the directory and read what's there. "How does auth work?" -> match a feature/knowledge file from the briefing.
77
+ Examples: "what's the data schema?" -> read all files under `knowledge/data-structures/` (typically `default.md` for single-product projects, or one file per product for multi-product). At explore-time you don't know the product set yet, so list the directory and read what's there. "How does auth work?" -> match a feature/knowledge file from the briefing. Knowledge is indexed recursively, so the answer may live in a context subfolder (`knowledge/<context>/…`) — its slug is `<context>/<name>`.
74
78
 
75
79
  **TRACK B -- Find Code** (locate files, functions, implementations, usages, patterns)
76
80
  Use the briefing to form a hypothesis about WHERE in the codebase to look, then search with targeted Glob/Grep. Do NOT read context files first -- go straight to code.
@@ -126,7 +130,7 @@ No preamble. No emojis. Absolute paths only.
126
130
 
127
131
  ## Bash Restrictions
128
132
 
129
- Use Bash ONLY for: `ls`, `git log`, `git diff`, `git show`, `git status`, `find`, `cat`, `head`, `tail`, `wc`, `pwd`, `dreamcontext memory recall`, `dreamcontext transcript distill`
133
+ Use Bash ONLY for: `ls`, `git log`, `git diff`, `git show`, `git status`, `find`, `cat`, `head`, `tail`, `wc`, `pwd`, `dreamcontext memory recall`, `dreamcontext snapshot`, `dreamcontext transcript distill`
130
134
  NEVER use Bash for any command that modifies files or system state.
131
135
 
132
136
  ## Rules
@@ -141,6 +141,15 @@ Distill — don't dump. Summarize the doc's durable decisions/structure into the
141
141
  knowledge file; link back to the source path in the body. Prefer a few
142
142
  high-signal knowledge files over copying every markdown file verbatim.
143
143
 
144
+ **Single source of truth — knowledge ≠ features.** Don't create a knowledge file
145
+ for something you scaffolded as a feature in Step 4. Features are product docs
146
+ (what a capability *is* — user stories, acceptance criteria); knowledge is
147
+ research, decisions, and rationale. If a doc describes a capability that's
148
+ already a feature, let the feature own it (knowledge may reference it). Never
149
+ ship the same topic as both a feature and a knowledge file. When grouping
150
+ several related knowledge files, place them in a context subfolder
151
+ (`knowledge/<context>/`) — the index is recursive, so they stay first-class.
152
+
144
153
  ### Step 7: Populate the Core Files
145
154
 
146
155
  Use the gathered intelligence to write rich, meaningful content.
@@ -43,20 +43,28 @@ skills:
43
43
 
44
44
  ### Placement judgment (behavioral) — diagrams migration
45
45
 
46
- Before running `dreamcontext migrations apply-diagrams`, decide per board:
47
-
48
- - **Canonical knowledge** (architecture, system flows, roadmaps, durable plans
49
- the agent should recall in future sessions) `knowledge/diagrams/<title>/`
50
- (indexed, recalled). Use `apply-diagrams` for these.
46
+ `apply-diagrams` is a **legacy structural migration**: it folds flat boards that
47
+ already live under `knowledge/diagrams/` into per-title subfolders and rewrites
48
+ inbound wikilinks. It is version-gated (0.7.2) and only runs when `migrations
49
+ pending` lists it run it as instructed; do not invent new diagram moves here.
50
+
51
+ **Promoted layout (what sleep-product enforces over time):** a canonical board
52
+ belongs **inside the context folder it documents** (co-located with that
53
+ context's knowledge, e.g. `knowledge/<context>/<title>/<title>.excalidraw.md`),
54
+ NOT in a segregated top-level `knowledge/diagrams/` dump. You (sleep-migration)
55
+ do not do context-grouping — that's sleep-product's Organize pass. Your only
56
+ diagram job is the legacy `apply-diagrams` migration when it is pending.
57
+
58
+ Before running it, decide per board:
59
+ - **Canonical knowledge** (architecture, flows, roadmaps a future session should
60
+ recall) → keep/organize under `knowledge/` (legacy `knowledge/diagrams/` for
61
+ flat boards apply-diagrams handles). Indexed, recalled.
51
62
  - **Temporary / scratch / working** (exploratory sketches, in-progress drafts)
52
- → `inbox/` or `workspace/` (dark by location — NOT indexed, will not
53
- pollute recall). Do NOT pull these into knowledge/diagrams/.
63
+ → `inbox/` or `workspace/` (dark by location — NOT indexed). Leave them; do
64
+ NOT pull them into `knowledge/`.
54
65
 
55
66
  Decision rule: "Will a future session need to know this? → knowledge. Throwaway/working? → inbox/workspace."
56
67
 
57
- Only organize canonical boards. Leave temp/scratch boards in place or move to
58
- inbox/workspace — do NOT use `apply-diagrams` on them.
59
-
60
68
  4. **Write the ledger ONLY on completion** via:
61
69
  ```bash
62
70
  dreamcontext migrations record \
@@ -166,13 +166,13 @@ If the relevant task has `product: X` in frontmatter, the PRD MAY be product-sco
166
166
 
167
167
  Before curating content, keep the knowledge store's *structure* logical. `knowledge/**/*.md` is indexed recursively (`buildKnowledgeIndex` globs `**/*.md`), so subfolders are fully recall-safe — grouping a file never hides it.
168
168
 
169
- **Diagrams → per-title folders (idempotent, any depth).** Preferred layout is `knowledge/diagrams/<title>/<title>.excalidraw.md` the board plus its dark-sibling `.board.cjs`/`.json` living together. New boards often land flat (`knowledge/diagrams/<title>.excalidraw.md` next to `<title>.board.cjs`). Fold *canonical* flat boards into per-title folders every cycle:
169
+ **Diagrams → co-located in their context folder (promoted layout).** A canonical board belongs **inside the context folder it documents**, alongside that context's knowledge — `knowledge/<context>/<title>/<title>.excalidraw.md` (the board plus its dark-sibling `.board.cjs`/`.json` in its own `<title>/` wrapper). Diagrams are NOT a segregated top-level dump; they live with the context they illustrate. When you group a context (below) and that context has a board, move the board into the context folder too so the folder tells one story.
170
170
 
171
171
  ```bash
172
- dreamcontext migrations apply-diagrams # idempotent: moves flat canonical boards + same-basename siblings, rewrites inbound [[wikilinks]] atomically; prints "nothing to organize" when already clean
172
+ dreamcontext migrations apply-diagrams # legacy/structural: folds flat boards UNDER knowledge/diagrams/ into per-title subfolders + rewrites [[wikilinks]] atomically; idempotent, prints "nothing to organize" when clean
173
173
  ```
174
174
 
175
- Placement judgment FIRST: only canonical boards (architecture, system flows, roadmaps, durable plans a future session should recall) belong under `knowledge/diagrams/`. Scratch/exploratory/in-progress boards belong in `inbox/` or `workspace/` (dark by location — not indexed) — leave those alone; do NOT pull them into knowledge. Never hand-edit board scene JSON or wikilinks — the command owns both. This catches boards created *after* the one-time `0.7.2/diagrams-folder-convention` migration already recorded in the ledger (which `sleep-migration` will not re-fire for).
175
+ `apply-diagrams` is the **legacy** mechanism for boards still under a top-level `knowledge/diagrams/` tree (it does flat→per-title, not context-grouping). Run it each cycle to keep legacy boards tidy; it's safe and idempotent. For NEW canonical boards, place them in their context folder directly. Placement judgment FIRST: only canonical boards (architecture, flows, roadmaps a future session should recall) go under `knowledge/`. Scratch/exploratory/in-progress boards belong in `inbox/` or `workspace/` (dark by location — not indexed) — leave those alone; do NOT pull them into knowledge. Never hand-edit board scene JSON or wikilinks — the command owns both.
176
176
 
177
177
  **Knowledge → logical subfolders (grouping; moves are deep-only).** When ≥3 top-level `knowledge/*.md` files form a clear topical cluster a future session would browse together (mirroring the existing `data-structures/` and `products/` subfolders), group them under `knowledge/<group>/`. Moving files + rewriting links is a structural op — gate it exactly like merge-with-delete (B1.5):
178
178
  - **light/standard:** do NOT move. **Flag the cluster in your report** (`group candidate: <group>/ ← a.md, b.md, c.md`) for the next deep cycle.
@@ -370,7 +370,7 @@ dreamcontext taxonomy resolve <tag>
370
370
 
371
371
  ### Organization
372
372
  - Diagrams: ran `apply-diagrams` — folded knowledge/diagrams/federation.excalidraw.md (+federation.board.cjs) into diagrams/federation/ (canonical board, was flat). 0 ambiguous.
373
- - Knowledge grouping: group candidate flagged for deep cycle — `decisions/` ← decision-mem0-vs-bm25-recall.md, decision-link-aware-vs-embedding-recall.md, decision-meta-marketing-skill-adoption.md (4 sibling `decision-*` files browse together). Not moved (standard depth).
373
+ - Knowledge grouping: group candidate flagged for deep cycle — `decisions/` ← decision-mem0-vs-bm25-recall.md, decision-link-aware-vs-embedding-recall.md, decision-meta-marketing-skill-adoption.md (3 sibling `decision-*` files browse together). Not moved (standard depth).
374
374
 
375
375
  ### Knowledge
376
376
  - Created: knowledge/jwt-rotation-policy.md (tags: security, decisions; from sleep-state flag) — sharp boundary, new tag-able topic
@@ -394,10 +394,10 @@ Dropped-but-load-bearing self-check: <none | list any digest/auto-bookmark/resea
394
394
  3. **Tick criteria only when verifiable.** Code shipped + tests pass, or user confirmed in session.
395
395
  4. **Never set `released_version`.** That's the user's release call.
396
396
  5. **Create PRDs for buildable concepts** that don't have one — they will be lost otherwise.
397
- 6. **Don't create knowledge that already fits in memory.** A short technical decision belongs in `2.memory.md` (sleep-state's domain), not its own knowledge file.
397
+ 6. **Single source of truth — feature vs knowledge.** A topic lives in exactly ONE home. A **feature** PRD documents what a capability *is* (user stories, acceptance criteria); **knowledge** holds research/decisions/rationale; a short technical decision belongs in `2.memory.md` (sleep-state's domain). NEVER create a knowledge file for something that is a feature, never keep a knowledge copy of content that lives in a feature (or vice-versa), and never have both a feature and a knowledge doc covering the same topic — one is the home, the other may only *reference* it. When in doubt, the feature is the home for product capabilities.
398
398
  7. **Knowledge file threshold**: ≥3 paragraphs of content, or material that will be re-read in future sessions.
399
399
  8. **Fewest files, sharp boundaries (B2 rubric).** Default to extending an existing file. Fold soft distinctions in — same vertical/brand/topic family, a narrower slice, an increment. Create a new file only for a genuinely separate topic whose own tags sharpen discovery. Not super-files, not fragmentation.
400
- 8a. **Keep the store organized (B0).** Every cycle, fold canonical flat diagram boards into per-title folders (`apply-diagrams`, idempotent, any depth). Group clustered top-level knowledge into logical subfolders only at `deep` depth (flag candidates at light/standard). Subfolders are recall-safe — the index globs `**/*.md`. Folder and tags must tell the same story.
400
+ 8a. **Keep the store organized (B0).** NEW boards belong in their context folder (`knowledge/<context>/<title>/`); `apply-diagrams` is reserved for folding legacy flat `knowledge/diagrams/` boards into per-title folders (idempotent, any depth). Group clustered top-level knowledge into logical subfolders only at `deep` depth (flag candidates at light/standard). Subfolders are recall-safe — the index globs `**/*.md`. Folder and tags must tell the same story.
401
401
  9. **Use standard tags only (prefer taxonomy vocab).** New tags fragment discovery; always check `dreamcontext taxonomy vocab` before tagging. Add new vocabulary via `taxonomy add` or `taxonomy alias` — never hand-edit `core/taxonomy.json` directly.
402
402
  10. **Process all flags from sleep-state** in your report — don't silently drop them.
403
403
  11. **No-op cheaply** when signals don't actually warrant work.
@@ -34,7 +34,7 @@ Identity is sacred — a fresh session must immediately understand who the agent
34
34
  |---|---|
35
35
  | `core/0-4.*`, `core/6.*` files (Edit, surgical) | task files (sleep-tasks owns) |
36
36
  | `dreamcontext core changelog add` | knowledge files incl. `knowledge/data-structures/<product>.md` (sleep-product owns + writes; you only flag staleness) |
37
- | `dreamcontext core releases {add,update,active,list,show}` | feature PRDs (sleep-product owns) |
37
+ | `dreamcontext core releases {add,active,list,show}` | feature PRDs (sleep-product owns) |
38
38
  | `dreamcontext trigger add` (context-dependent reminders) | |
39
39
 
40
40
  ## Inputs
@@ -114,7 +114,7 @@ dreamcontext tasks list --status completed
114
114
 
115
115
  If every task linked to the active planning version is `completed` (or only `in_review` remains and the user has been verifying), surface release readiness in your report.
116
116
 
117
- **Never run `dreamcontext core releases update --status released`** unless the user's hint explicitly asks for it. Releasing is the user's decision.
117
+ **Never run `dreamcontext core releases add --status released`** unless the user's hint explicitly asks for it. Releasing is the user's decision.
118
118
 
119
119
  If no active planning version exists, create one before adding entries (otherwise entries float unattached):
120
120
 
@@ -250,7 +250,7 @@ You do **not** edit knowledge files. Produce flags for `sleep-product` to act on
250
250
  - Entries added: 4
251
251
  - feat(council) — "Add multi-persona debate system…"
252
252
  - fix(snapshot) — "Cap pinned-preview at 730 lines…"
253
- - refactor(rem-sleep) — "Split monolithic protocol into orchestrator + 5 specialists…"
253
+ - refactor(sleep) — "Split monolithic sleep protocol into main-agent flow + specialists…"
254
254
  - docs(readme) — "Update sleep section…"
255
255
  - Active version: v0.3.0 (planning) — 2 of 4 tasks in_review, 1 in_progress, 1 todo. Not release-ready yet.
256
256
  - Skipped: 3 commits in this range were sleep-state churn (`.sleep.json` updates) — not user-facing.
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: sleep-tasks
3
3
  description: >
4
- Sleep-cycle specialist that owns task files. Dispatched by dreamcontext-rem-sleep in
5
- parallel with other specialists. Reconciles task bodies to current truth, bumps statuses,
6
- creates new tasks for untracked work, attaches everything to the active planning version.
4
+ Sleep-cycle specialist that owns task files. Dispatched by the main agent during the
5
+ sleep flow, in parallel with other specialists. Reconciles task bodies to current truth,
6
+ bumps statuses, creates new tasks for untracked work, attaches everything to the active
7
+ planning version.
7
8
  tools: Read, Write, Edit, Bash, Glob, Grep
8
9
  model: sonnet
9
10
  skills:
@@ -57,7 +57,11 @@ always beats blind exploration.
57
57
  **Cross-vault hits are normal and useful.** Results tagged `<vault>::<type>/<slug>` come
58
58
  from connected readable peer projects — this is expected behavior, not noise. If the
59
59
  answer likely lives in a specific peer, scope the search with `--vault <name>` to
60
- search current + that one peer directly.
60
+ search current + that one peer directly. You may also go deeper on a peer: print its
61
+ context with `dreamcontext snapshot --vault <name>`, or `Read`/`Grep` its files
62
+ directly (a connected peer is a normal directory on disk). A connection is a standing
63
+ "may read" — use it instead of reporting "not found here" when a sibling project owns
64
+ the answer.
61
65
 
62
66
  Recall is appropriate for Track A (Documented Knowledge) and for Track B when
63
67
  the query is about a documented concept. It is NOT a substitute for Glob/Grep
@@ -70,7 +74,7 @@ Classify every query into one of two tracks:
70
74
 
71
75
  **TRACK A -- Documented Knowledge** (architecture, design, schema, conventions, feature specs)
72
76
  The briefing tells you which context file has the answer. Read that ONE file and return. Done.
73
- Examples: "what's the data schema?" -> read all files under `core/data-structures/` (typically `default.md` for single-product projects, or one file per product for multi-product). At explore-time you don't know the product set yet, so list the directory and read what's there. "How does auth work?" -> match a feature/knowledge file from the briefing.
77
+ Examples: "what's the data schema?" -> read all files under `knowledge/data-structures/` (typically `default.md` for single-product projects, or one file per product for multi-product). At explore-time you don't know the product set yet, so list the directory and read what's there. "How does auth work?" -> match a feature/knowledge file from the briefing. Knowledge is indexed recursively, so the answer may live in a context subfolder (`knowledge/<context>/…`) — its slug is `<context>/<name>`.
74
78
 
75
79
  **TRACK B -- Find Code** (locate files, functions, implementations, usages, patterns)
76
80
  Use the briefing to form a hypothesis about WHERE in the codebase to look, then search with targeted Glob/Grep. Do NOT read context files first -- go straight to code.
@@ -126,7 +130,7 @@ No preamble. No emojis. Absolute paths only.
126
130
 
127
131
  ## Bash Restrictions
128
132
 
129
- Use Bash ONLY for: `ls`, `git log`, `git diff`, `git show`, `git status`, `find`, `cat`, `head`, `tail`, `wc`, `pwd`, `dreamcontext memory recall`, `dreamcontext transcript distill`
133
+ Use Bash ONLY for: `ls`, `git log`, `git diff`, `git show`, `git status`, `find`, `cat`, `head`, `tail`, `wc`, `pwd`, `dreamcontext memory recall`, `dreamcontext snapshot`, `dreamcontext transcript distill`
130
134
  NEVER use Bash for any command that modifies files or system state.
131
135
 
132
136
  ## Rules
@@ -141,6 +141,15 @@ Distill — don't dump. Summarize the doc's durable decisions/structure into the
141
141
  knowledge file; link back to the source path in the body. Prefer a few
142
142
  high-signal knowledge files over copying every markdown file verbatim.
143
143
 
144
+ **Single source of truth — knowledge ≠ features.** Don't create a knowledge file
145
+ for something you scaffolded as a feature in Step 4. Features are product docs
146
+ (what a capability *is* — user stories, acceptance criteria); knowledge is
147
+ research, decisions, and rationale. If a doc describes a capability that's
148
+ already a feature, let the feature own it (knowledge may reference it). Never
149
+ ship the same topic as both a feature and a knowledge file. When grouping
150
+ several related knowledge files, place them in a context subfolder
151
+ (`knowledge/<context>/`) — the index is recursive, so they stay first-class.
152
+
144
153
  ### Step 7: Populate the Core Files
145
154
 
146
155
  Use the gathered intelligence to write rich, meaningful content.
@@ -43,20 +43,28 @@ skills:
43
43
 
44
44
  ### Placement judgment (behavioral) — diagrams migration
45
45
 
46
- Before running `dreamcontext migrations apply-diagrams`, decide per board:
47
-
48
- - **Canonical knowledge** (architecture, system flows, roadmaps, durable plans
49
- the agent should recall in future sessions) `knowledge/diagrams/<title>/`
50
- (indexed, recalled). Use `apply-diagrams` for these.
46
+ `apply-diagrams` is a **legacy structural migration**: it folds flat boards that
47
+ already live under `knowledge/diagrams/` into per-title subfolders and rewrites
48
+ inbound wikilinks. It is version-gated (0.7.2) and only runs when `migrations
49
+ pending` lists it run it as instructed; do not invent new diagram moves here.
50
+
51
+ **Promoted layout (what sleep-product enforces over time):** a canonical board
52
+ belongs **inside the context folder it documents** (co-located with that
53
+ context's knowledge, e.g. `knowledge/<context>/<title>/<title>.excalidraw.md`),
54
+ NOT in a segregated top-level `knowledge/diagrams/` dump. You (sleep-migration)
55
+ do not do context-grouping — that's sleep-product's Organize pass. Your only
56
+ diagram job is the legacy `apply-diagrams` migration when it is pending.
57
+
58
+ Before running it, decide per board:
59
+ - **Canonical knowledge** (architecture, flows, roadmaps a future session should
60
+ recall) → keep/organize under `knowledge/` (legacy `knowledge/diagrams/` for
61
+ flat boards apply-diagrams handles). Indexed, recalled.
51
62
  - **Temporary / scratch / working** (exploratory sketches, in-progress drafts)
52
- → `inbox/` or `workspace/` (dark by location — NOT indexed, will not
53
- pollute recall). Do NOT pull these into knowledge/diagrams/.
63
+ → `inbox/` or `workspace/` (dark by location — NOT indexed). Leave them; do
64
+ NOT pull them into `knowledge/`.
54
65
 
55
66
  Decision rule: "Will a future session need to know this? → knowledge. Throwaway/working? → inbox/workspace."
56
67
 
57
- Only organize canonical boards. Leave temp/scratch boards in place or move to
58
- inbox/workspace — do NOT use `apply-diagrams` on them.
59
-
60
68
  4. **Write the ledger ONLY on completion** via:
61
69
  ```bash
62
70
  dreamcontext migrations record \
@@ -166,13 +166,13 @@ If the relevant task has `product: X` in frontmatter, the PRD MAY be product-sco
166
166
 
167
167
  Before curating content, keep the knowledge store's *structure* logical. `knowledge/**/*.md` is indexed recursively (`buildKnowledgeIndex` globs `**/*.md`), so subfolders are fully recall-safe — grouping a file never hides it.
168
168
 
169
- **Diagrams → per-title folders (idempotent, any depth).** Preferred layout is `knowledge/diagrams/<title>/<title>.excalidraw.md` the board plus its dark-sibling `.board.cjs`/`.json` living together. New boards often land flat (`knowledge/diagrams/<title>.excalidraw.md` next to `<title>.board.cjs`). Fold *canonical* flat boards into per-title folders every cycle:
169
+ **Diagrams → co-located in their context folder (promoted layout).** A canonical board belongs **inside the context folder it documents**, alongside that context's knowledge — `knowledge/<context>/<title>/<title>.excalidraw.md` (the board plus its dark-sibling `.board.cjs`/`.json` in its own `<title>/` wrapper). Diagrams are NOT a segregated top-level dump; they live with the context they illustrate. When you group a context (below) and that context has a board, move the board into the context folder too so the folder tells one story.
170
170
 
171
171
  ```bash
172
- dreamcontext migrations apply-diagrams # idempotent: moves flat canonical boards + same-basename siblings, rewrites inbound [[wikilinks]] atomically; prints "nothing to organize" when already clean
172
+ dreamcontext migrations apply-diagrams # legacy/structural: folds flat boards UNDER knowledge/diagrams/ into per-title subfolders + rewrites [[wikilinks]] atomically; idempotent, prints "nothing to organize" when clean
173
173
  ```
174
174
 
175
- Placement judgment FIRST: only canonical boards (architecture, system flows, roadmaps, durable plans a future session should recall) belong under `knowledge/diagrams/`. Scratch/exploratory/in-progress boards belong in `inbox/` or `workspace/` (dark by location — not indexed) — leave those alone; do NOT pull them into knowledge. Never hand-edit board scene JSON or wikilinks — the command owns both. This catches boards created *after* the one-time `0.7.2/diagrams-folder-convention` migration already recorded in the ledger (which `sleep-migration` will not re-fire for).
175
+ `apply-diagrams` is the **legacy** mechanism for boards still under a top-level `knowledge/diagrams/` tree (it does flat→per-title, not context-grouping). Run it each cycle to keep legacy boards tidy; it's safe and idempotent. For NEW canonical boards, place them in their context folder directly. Placement judgment FIRST: only canonical boards (architecture, flows, roadmaps a future session should recall) go under `knowledge/`. Scratch/exploratory/in-progress boards belong in `inbox/` or `workspace/` (dark by location — not indexed) — leave those alone; do NOT pull them into knowledge. Never hand-edit board scene JSON or wikilinks — the command owns both.
176
176
 
177
177
  **Knowledge → logical subfolders (grouping; moves are deep-only).** When ≥3 top-level `knowledge/*.md` files form a clear topical cluster a future session would browse together (mirroring the existing `data-structures/` and `products/` subfolders), group them under `knowledge/<group>/`. Moving files + rewriting links is a structural op — gate it exactly like merge-with-delete (B1.5):
178
178
  - **light/standard:** do NOT move. **Flag the cluster in your report** (`group candidate: <group>/ ← a.md, b.md, c.md`) for the next deep cycle.
@@ -370,7 +370,7 @@ dreamcontext taxonomy resolve <tag>
370
370
 
371
371
  ### Organization
372
372
  - Diagrams: ran `apply-diagrams` — folded knowledge/diagrams/federation.excalidraw.md (+federation.board.cjs) into diagrams/federation/ (canonical board, was flat). 0 ambiguous.
373
- - Knowledge grouping: group candidate flagged for deep cycle — `decisions/` ← decision-mem0-vs-bm25-recall.md, decision-link-aware-vs-embedding-recall.md, decision-meta-marketing-skill-adoption.md (4 sibling `decision-*` files browse together). Not moved (standard depth).
373
+ - Knowledge grouping: group candidate flagged for deep cycle — `decisions/` ← decision-mem0-vs-bm25-recall.md, decision-link-aware-vs-embedding-recall.md, decision-meta-marketing-skill-adoption.md (3 sibling `decision-*` files browse together). Not moved (standard depth).
374
374
 
375
375
  ### Knowledge
376
376
  - Created: knowledge/jwt-rotation-policy.md (tags: security, decisions; from sleep-state flag) — sharp boundary, new tag-able topic
@@ -394,10 +394,10 @@ Dropped-but-load-bearing self-check: <none | list any digest/auto-bookmark/resea
394
394
  3. **Tick criteria only when verifiable.** Code shipped + tests pass, or user confirmed in session.
395
395
  4. **Never set `released_version`.** That's the user's release call.
396
396
  5. **Create PRDs for buildable concepts** that don't have one — they will be lost otherwise.
397
- 6. **Don't create knowledge that already fits in memory.** A short technical decision belongs in `2.memory.md` (sleep-state's domain), not its own knowledge file.
397
+ 6. **Single source of truth — feature vs knowledge.** A topic lives in exactly ONE home. A **feature** PRD documents what a capability *is* (user stories, acceptance criteria); **knowledge** holds research/decisions/rationale; a short technical decision belongs in `2.memory.md` (sleep-state's domain). NEVER create a knowledge file for something that is a feature, never keep a knowledge copy of content that lives in a feature (or vice-versa), and never have both a feature and a knowledge doc covering the same topic — one is the home, the other may only *reference* it. When in doubt, the feature is the home for product capabilities.
398
398
  7. **Knowledge file threshold**: ≥3 paragraphs of content, or material that will be re-read in future sessions.
399
399
  8. **Fewest files, sharp boundaries (B2 rubric).** Default to extending an existing file. Fold soft distinctions in — same vertical/brand/topic family, a narrower slice, an increment. Create a new file only for a genuinely separate topic whose own tags sharpen discovery. Not super-files, not fragmentation.
400
- 8a. **Keep the store organized (B0).** Every cycle, fold canonical flat diagram boards into per-title folders (`apply-diagrams`, idempotent, any depth). Group clustered top-level knowledge into logical subfolders only at `deep` depth (flag candidates at light/standard). Subfolders are recall-safe — the index globs `**/*.md`. Folder and tags must tell the same story.
400
+ 8a. **Keep the store organized (B0).** NEW boards belong in their context folder (`knowledge/<context>/<title>/`); `apply-diagrams` is reserved for folding legacy flat `knowledge/diagrams/` boards into per-title folders (idempotent, any depth). Group clustered top-level knowledge into logical subfolders only at `deep` depth (flag candidates at light/standard). Subfolders are recall-safe — the index globs `**/*.md`. Folder and tags must tell the same story.
401
401
  9. **Use standard tags only (prefer taxonomy vocab).** New tags fragment discovery; always check `dreamcontext taxonomy vocab` before tagging. Add new vocabulary via `taxonomy add` or `taxonomy alias` — never hand-edit `core/taxonomy.json` directly.
402
402
  10. **Process all flags from sleep-state** in your report — don't silently drop them.
403
403
  11. **No-op cheaply** when signals don't actually warrant work.
@@ -34,7 +34,7 @@ Identity is sacred — a fresh session must immediately understand who the agent
34
34
  |---|---|
35
35
  | `core/0-4.*`, `core/6.*` files (Edit, surgical) | task files (sleep-tasks owns) |
36
36
  | `dreamcontext core changelog add` | knowledge files incl. `knowledge/data-structures/<product>.md` (sleep-product owns + writes; you only flag staleness) |
37
- | `dreamcontext core releases {add,update,active,list,show}` | feature PRDs (sleep-product owns) |
37
+ | `dreamcontext core releases {add,active,list,show}` | feature PRDs (sleep-product owns) |
38
38
  | `dreamcontext trigger add` (context-dependent reminders) | |
39
39
 
40
40
  ## Inputs
@@ -114,7 +114,7 @@ dreamcontext tasks list --status completed
114
114
 
115
115
  If every task linked to the active planning version is `completed` (or only `in_review` remains and the user has been verifying), surface release readiness in your report.
116
116
 
117
- **Never run `dreamcontext core releases update --status released`** unless the user's hint explicitly asks for it. Releasing is the user's decision.
117
+ **Never run `dreamcontext core releases add --status released`** unless the user's hint explicitly asks for it. Releasing is the user's decision.
118
118
 
119
119
  If no active planning version exists, create one before adding entries (otherwise entries float unattached):
120
120
 
@@ -250,7 +250,7 @@ You do **not** edit knowledge files. Produce flags for `sleep-product` to act on
250
250
  - Entries added: 4
251
251
  - feat(council) — "Add multi-persona debate system…"
252
252
  - fix(snapshot) — "Cap pinned-preview at 730 lines…"
253
- - refactor(rem-sleep) — "Split monolithic protocol into orchestrator + 5 specialists…"
253
+ - refactor(sleep) — "Split monolithic sleep protocol into main-agent flow + specialists…"
254
254
  - docs(readme) — "Update sleep section…"
255
255
  - Active version: v0.3.0 (planning) — 2 of 4 tasks in_review, 1 in_progress, 1 todo. Not release-ready yet.
256
256
  - Skipped: 3 commits in this range were sleep-state churn (`.sleep.json` updates) — not user-facing.
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: sleep-tasks
3
3
  description: >
4
- Sleep-cycle specialist that owns task files. Dispatched by dreamcontext-rem-sleep in
5
- parallel with other specialists. Reconciles task bodies to current truth, bumps statuses,
6
- creates new tasks for untracked work, attaches everything to the active planning version.
4
+ Sleep-cycle specialist that owns task files. Dispatched by the main agent during the
5
+ sleep flow, in parallel with other specialists. Reconciles task bodies to current truth,
6
+ bumps statuses, creates new tasks for untracked work, attaches everything to the active
7
+ planning version.
7
8
  tools: Read, Write, Edit, Bash, Glob, Grep
8
9
  model: sonnet
9
10
  skills:
@@ -1,4 +1,4 @@
1
- import{bt as jc,bu as I0,aH as pS,bv as xt,bw as Ip,bx as mS,by as gS,bz as _S,bA as xS,bB as yS,bq as vS,br as bS,bC as B0,aC as SS,bD as TS,bE as MS,bF as ES,bG as xg,bH as yg,bI as AS,bJ as k,bK as $s,bL as wS,bM as RS,bN as CS,bO as NS}from"./index-Di8SAJL6.js";import{_ as Bi}from"./extends-CF3RwP-h.js";function PS(r){var e=jc(.1),t,n,i;typeof r!="function"&&(r=jc(r==null?0:+r));function s(a){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vz+=(i[l]-u.z)*n[l]*a}function o(){if(t){var a,l=t.length;for(n=new Array(l),i=new Array(l),a=0;a<l;++a)n[a]=isNaN(i[a]=+r(t[a],a,t))?0:+e(t[a],a,t)}}return s.initialize=function(a){t=a,o()},s.strength=function(a){return arguments.length?(e=typeof a=="function"?a:jc(+a),o(),s):e},s.z=function(a){return arguments.length?(r=typeof a=="function"?a:jc(+a),o(),s):r},s}/**
1
+ import{bt as jc,bu as I0,aH as pS,bv as xt,bw as Ip,bx as mS,by as gS,bz as _S,bA as xS,bB as yS,bq as vS,br as bS,bC as B0,aC as SS,bD as TS,bE as MS,bF as ES,bG as xg,bH as yg,bI as AS,bJ as k,bK as $s,bL as wS,bM as RS,bN as CS,bO as NS}from"./index-DjaqCcd7.js";import{_ as Bi}from"./extends-CF3RwP-h.js";function PS(r){var e=jc(.1),t,n,i;typeof r!="function"&&(r=jc(r==null?0:+r));function s(a){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vz+=(i[l]-u.z)*n[l]*a}function o(){if(t){var a,l=t.length;for(n=new Array(l),i=new Array(l),a=0;a<l;++a)n[a]=isNaN(i[a]=+r(t[a],a,t))?0:+e(t[a],a,t)}}return s.initialize=function(a){t=a,o()},s.strength=function(a){return arguments.length?(e=typeof a=="function"?a:jc(+a),o(),s):e},s.z=function(a){return arguments.length?(r=typeof a=="function"?a:jc(+a),o(),s):r},s}/**
2
2
  * @license
3
3
  * Copyright 2010-2026 Three.js Authors
4
4
  * SPDX-License-Identifier: MIT
@@ -1 +1 @@
1
- import{aK as A,aL as S,a_ as P,aJ as W,bY as ln,bZ as gn,b_ as dn,b$ as z,c0 as hn,bT as pn,c1 as G,b1 as N,b6 as m,b9 as R,c2 as An,b0 as U,b4 as _n,c3 as wn,bW as on,aM as V,bU as On,c4 as I}from"./index-Di8SAJL6.js";function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var K=P?P.prototype:void 0,B=K?K.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(S(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Pn(){}function cn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function En(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function yn(n){return n!==n}function Tn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?Tn(n,r,e):En(n,yn,e)}function bn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function x(n){return W(n)?ln(n):gn(n)}var In=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ln=/^\w*$/;function M(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||S(n)?!0:Ln.test(n)||!In.test(n)||r!=null&&n in Object(r)}var Sn=500;function xn(n){var r=dn(n,function(i){return e.size===Sn&&e.clear(),i}),e=r.cache;return r}var Mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$n=/\\(\\)?/g,Cn=xn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Mn,function(e,i,f,t){r.push(f?t.replace($n,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:M(n,r)?[n]:Cn(Dn(n))}function b(n){if(typeof n=="string"||S(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[b(r[e++])];return e&&e==i?n:void 0}function Fn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Gn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Kr(n,r,e,i,f){var t=-1,u=n.length;for(e||(e=Gn),f||(f=[]);++t<u;){var s=n[t];e(s)?rn(f,s):i||(f[f.length]=s)}return f}function Nn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var u=n[e];r(u,e,n)&&(t[f++]=u)}return t}function mn(){return[]}var Un=Object.prototype,Kn=Un.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Bn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Kn.call(n,r)}))}:mn;function Hn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return Hn(n,x,Bn)}var Zn="__lodash_hash_undefined__";function qn(n){return this.__data__.set(n,Zn),this}function Yn(n){return this.__data__.has(n)}function c(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new hn;++r<e;)this.add(n[r])}c.prototype.add=c.prototype.push=qn;c.prototype.has=Yn;function Jn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Xn=1,Qn=2;function fn(n,r,e,i,f,t){var u=e&Xn,s=n.length,a=r.length;if(s!=a&&!(u&&a>s))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,w=e&Qn?new c:void 0;for(t.set(n,r),t.set(r,n);++l<s;){var p=n[l],_=r[l];if(i)var o=u?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(o!==void 0){if(o)continue;d=!1;break}if(w){if(!Jn(r,function(O,v){if(!tn(w,v)&&(p===O||f(p,O,e,i,t)))return w.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Wn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var zn=1,Vn=2,kn="[object Boolean]",jn="[object Date]",nr="[object Error]",rr="[object Map]",er="[object Number]",ir="[object RegExp]",tr="[object Set]",fr="[object String]",ur="[object Symbol]",sr="[object ArrayBuffer]",ar="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function lr(n,r,e,i,f,t,u){switch(e){case ar:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case sr:return!(n.byteLength!=r.byteLength||!t(new G(n),new G(r)));case kn:case jn:case er:return pn(+n,+r);case nr:return n.name==r.name&&n.message==r.message;case ir:case fr:return n==r+"";case rr:var s=Wn;case tr:var a=i&zn;if(s||(s=$),n.size!=r.size&&!a)return!1;var h=u.get(n);if(h)return h==r;i|=Vn,u.set(n,r);var g=fn(s(n),s(r),i,f,t,u);return u.delete(n),g;case ur:if(L)return L.call(n)==L.call(r)}return!1}var gr=1,dr=Object.prototype,hr=dr.hasOwnProperty;function pr(n,r,e,i,f,t){var u=e&gr,s=q(n),a=s.length,h=q(r),g=h.length;if(a!=g&&!u)return!1;for(var l=a;l--;){var d=s[l];if(!(u?d in r:hr.call(r,d)))return!1}var w=t.get(n),p=t.get(r);if(w&&p)return w==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var o=u;++l<a;){d=s[l];var O=n[d],v=r[d];if(i)var F=u?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}o||(o=d=="constructor")}if(_&&!o){var E=n.constructor,y=r.constructor;E!=y&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof y=="function"&&y instanceof y)&&(_=!1)}return t.delete(n),t.delete(r),_}var Ar=1,J="[object Arguments]",X="[object Array]",T="[object Object]",_r=Object.prototype,Q=_r.hasOwnProperty;function wr(n,r,e,i,f,t){var u=A(n),s=A(r),a=u?X:N(n),h=s?X:N(r);a=a==J?T:a,h=h==J?T:h;var g=a==T,l=h==T,d=a==h;if(d&&m(n)){if(!m(r))return!1;u=!0,g=!1}if(d&&!g)return t||(t=new R),u||An(n)?fn(n,r,e,i,f,t):lr(n,r,a,e,i,f,t);if(!(e&Ar)){var w=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(w||p){var _=w?n.value():n,o=p?r.value():r;return t||(t=new R),f(_,o,e,i,t)}}return d?(t||(t=new R),pr(n,r,e,i,f,t)):!1}function C(n,r,e,i,f){return n===r?!0:n==null||r==null||!U(n)&&!U(r)?n!==n&&r!==r:wr(n,r,e,i,C,f)}var or=1,Or=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var u=e[f];if(u[2]?u[1]!==n[u[0]]:!(u[0]in n))return!1}for(;++f<t;){u=e[f];var s=u[0],a=n[s],h=u[1];if(u[2]){if(a===void 0&&!(s in n))return!1}else{var g=new R,l;if(!(l===void 0?C(h,a,or|Or,i,g):l))return!1}}return!0}function un(n){return n===n&&!_n(n)}function Pr(n){for(var r=x(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,un(f)]}return r}function sn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function cr(n){var r=Pr(n);return r.length==1&&r[0][2]?sn(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function Er(n,r){return n!=null&&r in Object(n)}function yr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var u=b(r[i]);if(!(t=n!=null&&e(n,u)))break;n=n[u]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&on(u,f)&&(A(n)||z(n)))}function Tr(n,r){return n!=null&&yr(n,r,Er)}var Rr=1,br=2;function Ir(n,r){return M(n)&&un(r)?sn(b(n),r):function(e){var i=Fn(e,n);return i===void 0&&i===r?Tr(e,n):C(r,i,Rr|br)}}function Lr(n){return function(r){return r==null?void 0:r[n]}}function Sr(n){return function(r){return nn(r,n)}}function xr(n){return M(n)?Lr(b(n)):Sr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Ir(n[0],n[1]):cr(n):xr(n)}function Mr(n,r){return n&&On(n,r,x)}function $r(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,u=Object(e);++t<f&&i(u[t],t,u)!==!1;);return e}}var D=$r(Mr);function Cr(n){return typeof n=="function"?n:V}function Br(n,r){var e=A(n)?cn:D;return e(n,Cr(r))}function Dr(n,r){var e=[];return D(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Hr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Fr(n,r,e,i,f){return f(n,function(t,u,s){e=i?(i=!1,t):r(e,t,u,s)}),e}function Zr(n,r,e){var i=A(n)?Nn:Fr,f=arguments.length<3;return i(n,an(r),e,f,D)}var Gr=1/0,Nr=I&&1/$(new I([,-0]))[1]==Gr?function(n){return new I(n)}:Pn,mr=200;function qr(n,r,e){var i=-1,f=bn,t=n.length,u=!0,s=[],a=s;if(t>=mr){var h=r?null:Nr(n);if(h)return $(h);u=!1,f=tn,a=new c}else a=r?[]:s;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,u&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),s.push(g)}else f(a,l,e)||(a!==s&&a.push(l),s.push(g))}return s}export{D as a,Kr as b,an as c,vn as d,rn as e,Hn as f,Bn as g,cn as h,q as i,qr as j,x as k,Hr as l,Br as m,En as n,Cr as o,Mr as p,yr as q,Zr as r,mn as s,j as t,b as u,nn as v,Tr as w,Dn as x};
1
+ import{aK as A,aL as S,a_ as P,aJ as W,bY as ln,bZ as gn,b_ as dn,b$ as z,c0 as hn,bT as pn,c1 as G,b1 as N,b6 as m,b9 as R,c2 as An,b0 as U,b4 as _n,c3 as wn,bW as on,aM as V,bU as On,c4 as I}from"./index-DjaqCcd7.js";function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var K=P?P.prototype:void 0,B=K?K.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(S(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Pn(){}function cn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function En(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function yn(n){return n!==n}function Tn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?Tn(n,r,e):En(n,yn,e)}function bn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function x(n){return W(n)?ln(n):gn(n)}var In=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ln=/^\w*$/;function M(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||S(n)?!0:Ln.test(n)||!In.test(n)||r!=null&&n in Object(r)}var Sn=500;function xn(n){var r=dn(n,function(i){return e.size===Sn&&e.clear(),i}),e=r.cache;return r}var Mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$n=/\\(\\)?/g,Cn=xn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Mn,function(e,i,f,t){r.push(f?t.replace($n,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:M(n,r)?[n]:Cn(Dn(n))}function b(n){if(typeof n=="string"||S(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[b(r[e++])];return e&&e==i?n:void 0}function Fn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Gn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Kr(n,r,e,i,f){var t=-1,u=n.length;for(e||(e=Gn),f||(f=[]);++t<u;){var s=n[t];e(s)?rn(f,s):i||(f[f.length]=s)}return f}function Nn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var u=n[e];r(u,e,n)&&(t[f++]=u)}return t}function mn(){return[]}var Un=Object.prototype,Kn=Un.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Bn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Kn.call(n,r)}))}:mn;function Hn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return Hn(n,x,Bn)}var Zn="__lodash_hash_undefined__";function qn(n){return this.__data__.set(n,Zn),this}function Yn(n){return this.__data__.has(n)}function c(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new hn;++r<e;)this.add(n[r])}c.prototype.add=c.prototype.push=qn;c.prototype.has=Yn;function Jn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Xn=1,Qn=2;function fn(n,r,e,i,f,t){var u=e&Xn,s=n.length,a=r.length;if(s!=a&&!(u&&a>s))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,w=e&Qn?new c:void 0;for(t.set(n,r),t.set(r,n);++l<s;){var p=n[l],_=r[l];if(i)var o=u?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(o!==void 0){if(o)continue;d=!1;break}if(w){if(!Jn(r,function(O,v){if(!tn(w,v)&&(p===O||f(p,O,e,i,t)))return w.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Wn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var zn=1,Vn=2,kn="[object Boolean]",jn="[object Date]",nr="[object Error]",rr="[object Map]",er="[object Number]",ir="[object RegExp]",tr="[object Set]",fr="[object String]",ur="[object Symbol]",sr="[object ArrayBuffer]",ar="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function lr(n,r,e,i,f,t,u){switch(e){case ar:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case sr:return!(n.byteLength!=r.byteLength||!t(new G(n),new G(r)));case kn:case jn:case er:return pn(+n,+r);case nr:return n.name==r.name&&n.message==r.message;case ir:case fr:return n==r+"";case rr:var s=Wn;case tr:var a=i&zn;if(s||(s=$),n.size!=r.size&&!a)return!1;var h=u.get(n);if(h)return h==r;i|=Vn,u.set(n,r);var g=fn(s(n),s(r),i,f,t,u);return u.delete(n),g;case ur:if(L)return L.call(n)==L.call(r)}return!1}var gr=1,dr=Object.prototype,hr=dr.hasOwnProperty;function pr(n,r,e,i,f,t){var u=e&gr,s=q(n),a=s.length,h=q(r),g=h.length;if(a!=g&&!u)return!1;for(var l=a;l--;){var d=s[l];if(!(u?d in r:hr.call(r,d)))return!1}var w=t.get(n),p=t.get(r);if(w&&p)return w==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var o=u;++l<a;){d=s[l];var O=n[d],v=r[d];if(i)var F=u?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}o||(o=d=="constructor")}if(_&&!o){var E=n.constructor,y=r.constructor;E!=y&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof y=="function"&&y instanceof y)&&(_=!1)}return t.delete(n),t.delete(r),_}var Ar=1,J="[object Arguments]",X="[object Array]",T="[object Object]",_r=Object.prototype,Q=_r.hasOwnProperty;function wr(n,r,e,i,f,t){var u=A(n),s=A(r),a=u?X:N(n),h=s?X:N(r);a=a==J?T:a,h=h==J?T:h;var g=a==T,l=h==T,d=a==h;if(d&&m(n)){if(!m(r))return!1;u=!0,g=!1}if(d&&!g)return t||(t=new R),u||An(n)?fn(n,r,e,i,f,t):lr(n,r,a,e,i,f,t);if(!(e&Ar)){var w=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(w||p){var _=w?n.value():n,o=p?r.value():r;return t||(t=new R),f(_,o,e,i,t)}}return d?(t||(t=new R),pr(n,r,e,i,f,t)):!1}function C(n,r,e,i,f){return n===r?!0:n==null||r==null||!U(n)&&!U(r)?n!==n&&r!==r:wr(n,r,e,i,C,f)}var or=1,Or=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var u=e[f];if(u[2]?u[1]!==n[u[0]]:!(u[0]in n))return!1}for(;++f<t;){u=e[f];var s=u[0],a=n[s],h=u[1];if(u[2]){if(a===void 0&&!(s in n))return!1}else{var g=new R,l;if(!(l===void 0?C(h,a,or|Or,i,g):l))return!1}}return!0}function un(n){return n===n&&!_n(n)}function Pr(n){for(var r=x(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,un(f)]}return r}function sn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function cr(n){var r=Pr(n);return r.length==1&&r[0][2]?sn(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function Er(n,r){return n!=null&&r in Object(n)}function yr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var u=b(r[i]);if(!(t=n!=null&&e(n,u)))break;n=n[u]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&on(u,f)&&(A(n)||z(n)))}function Tr(n,r){return n!=null&&yr(n,r,Er)}var Rr=1,br=2;function Ir(n,r){return M(n)&&un(r)?sn(b(n),r):function(e){var i=Fn(e,n);return i===void 0&&i===r?Tr(e,n):C(r,i,Rr|br)}}function Lr(n){return function(r){return r==null?void 0:r[n]}}function Sr(n){return function(r){return nn(r,n)}}function xr(n){return M(n)?Lr(b(n)):Sr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Ir(n[0],n[1]):cr(n):xr(n)}function Mr(n,r){return n&&On(n,r,x)}function $r(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,u=Object(e);++t<f&&i(u[t],t,u)!==!1;);return e}}var D=$r(Mr);function Cr(n){return typeof n=="function"?n:V}function Br(n,r){var e=A(n)?cn:D;return e(n,Cr(r))}function Dr(n,r){var e=[];return D(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Hr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Fr(n,r,e,i,f){return f(n,function(t,u,s){e=i?(i=!1,t):r(e,t,u,s)}),e}function Zr(n,r,e){var i=A(n)?Nn:Fr,f=arguments.length<3;return i(n,an(r),e,f,D)}var Gr=1/0,Nr=I&&1/$(new I([,-0]))[1]==Gr?function(n){return new I(n)}:Pn,mr=200;function qr(n,r,e){var i=-1,f=bn,t=n.length,u=!0,s=[],a=s;if(t>=mr){var h=r?null:Nr(n);if(h)return $(h);u=!1,f=tn,a=new c}else a=r?[]:s;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,u&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),s.push(g)}else f(a,l,e)||(a!==s&&a.push(l),s.push(g))}return s}export{D as a,Kr as b,an as c,vn as d,rn as e,Hn as f,Bn as g,cn as h,q as i,qr as j,x as k,Hr as l,Br as m,En as n,Cr as o,Mr as p,yr as q,Zr as r,mn as s,j as t,b as u,nn as v,Tr as w,Dn as x};
@@ -1,4 +1,4 @@
1
- import"./percentages-BXMCSKIN-Cghe4Ak9.js";import"./index-Di8SAJL6.js";import"./extends-CF3RwP-h.js";var u={paste:"لصق",pasteAsPlaintext:"اللصق كنص عادي",pasteCharts:"لصق الرسوم البيانية",selectAll:"تحديد الكل",multiSelect:"إضافة عنصر للتحديد",moveCanvas:"نقل لوح الرسم",cut:"قص",copy:"نسخ",copyAsPng:"نسخ إلى الحافظة بصيغة PNG",copyAsSvg:"نسخ إلى الحافظة بصيغة SVG",copyText:"نسخ إلى الحافظة كنص",copySource:"",convertToCode:"",bringForward:"جلب للأمام",sendToBack:"أرسل للخلف",bringToFront:"أحضر للأمام",sendBackward:"أرسل للخلف",delete:"حذف",copyStyles:"نسخ الأنماط",pasteStyles:"لصق الأنماط",stroke:"الخط",background:"الخلفية",fill:"التعبئة",strokeWidth:"سُمك الخط",strokeStyle:"نمط الخط",strokeStyle_solid:"متصل",strokeStyle_dashed:"متقطع",strokeStyle_dotted:"منقط",sloppiness:"الإمالة",opacity:"الشفافية",textAlign:"محاذاة النص",edges:"الحواف",sharp:"حادة",round:"دائرية",arrowheads:"رؤوس الأسهم",arrowhead_none:"لا شيء",arrowhead_arrow:"سهم",arrowhead_bar:"شريط",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"مثلث",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"حجم الخط",fontFamily:"نوع الخط",addWatermark:'إضافة "مصنوعة بواسطة Excalidraw"',handDrawn:"رسم باليد",normal:"عادي",code:"رمز",small:"صغير",medium:"متوسط",large:"كبير",veryLarge:"كبير جدا",solid:"كامل",hachure:"خطوط",zigzag:"متعرج",crossHatch:"خطوط متقطعة",thin:"نحيف",bold:"داكن",left:"الـيسار",center:"وسط",right:"يمين",extraBold:"عريض",architect:"معماري",artist:"رسام",cartoonist:"كرتوني",fileTitle:"إسم الملف",colorPicker:"منتقي اللون",canvasColors:"تستخدم على القماش",canvasBackground:"خلفية اللوحة",drawingCanvas:"لوحة الرسم",layers:"الطبقات",actions:"الإجراءات",language:"اللغة",liveCollaboration:"التعاون المباشر...",duplicateSelection:"تكرار",untitled:"غير معنون",name:"الاسم",yourName:"اسمك",madeWithExcalidraw:"مصنوعة بواسطة Excalidraw",group:"تحديد مجموعة",ungroup:"إلغاء تحديد مجموعة",collaborators:"المتعاونون",showGrid:"إظهار الشبكة",addToLibrary:"أضف إلى المكتبة",removeFromLibrary:"حذف من المكتبة",libraryLoadingMessage:"جارٍ تحميل المكتبة…",libraries:"تصفح المكتبات",loadingScene:"جاري تحميل المشهد…",align:"محاذاة",alignTop:"محاذاة إلى اﻷعلى",alignBottom:"محاذاة إلى اﻷسفل",alignLeft:"محاذاة إلى اليسار",alignRight:"محاذاة إلى اليمين",centerVertically:"توسيط عمودي",centerHorizontally:"توسيط أفقي",distributeHorizontally:"التوزيع الأفقي",distributeVertically:"التوزيع عمودياً",flipHorizontal:"قلب عامودي",flipVertical:"قلب أفقي",viewMode:"نمط العرض",share:"مشاركة",showStroke:"إظهار منتقي لون الخط",showBackground:"إظهار منتقي لون الخلفية",toggleTheme:"غير النمط",personalLib:"المكتبة الشخصية",excalidrawLib:"مكتبتنا",decreaseFontSize:"تصغير حجم الخط",increaseFontSize:"تكبير حجم الخط",unbindText:"فك ربط النص",bindText:"ربط النص بالحاوية",createContainerFromText:"نص مغلف في حاوية",link:{edit:"تعديل الرابط",editEmbed:"تحرير الرابط وإدراجه",create:"إنشاء رابط",createEmbed:"إنشاء رابط و إدراجه",label:"رابط",labelEmbed:"رابط و إدراج",empty:"لم يتم تعيين رابط"},lineEditor:{edit:"تحرير السطر",exit:"الخروج من المُحرر"},elementLock:{lock:"قفل",unlock:"فتح",lockAll:"قفل الكل",unlockAll:"فتح الكل"},statusPublished:"نُشر",sidebarLock:"إبقاء الشريط الجانبي مفتوح",selectAllElementsInFrame:"تحديد جميع العناصر في الإطار",removeAllElementsFromFrame:"إزالة جميع العناصر من الإطار",eyeDropper:"اختيار اللون من القماش",textToDiagram:"",prompt:""},A={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},e={clearReset:"إعادة تعيين اللوحة",exportJSON:"صدر الملف",exportImage:"تصدير الصورة...",export:"حفظ إلى...",copyToClipboard:"نسخ إلى الحافظة",save:"احفظ للملف الحالي",saveAs:"حفظ كـ",load:"فتح",getShareableLink:"احصل على رابط المشاركة",close:"غلق",selectLanguage:"اختر اللغة",scrollBackToContent:"الرجوع إلى المحتوى",zoomIn:"تكبير",zoomOut:"تصغير",resetZoom:"إعادة تعيين الشاشة",menu:"القائمة",done:"تم",edit:"تعديل",undo:"تراجع",redo:"إعادة تنفيذ",resetLibrary:"إعادة ضبط المكتبة",createNewRoom:"إنشاء غرفة جديدة",fullScreen:"شاشة كاملة",darkMode:"الوضع المظلم",lightMode:"الوضع المضيء",zenMode:"وضع التأمل",objectsSnapMode:"التقط إلى العناصر",exitZenMode:"إلغاء الوضع الليلى",cancel:"إلغاء",clear:"مسح",remove:"إزالة",embed:"تبديل الإدراج",publishLibrary:"انشر",submit:"أرسل",confirm:"تأكيد",embeddableInteractionButton:"اضغط للتفاعل"},a={clearReset:"هذا سيُزيل كامل اللوحة. هل أنت متأكد؟",couldNotCreateShareableLink:"تعذر إنشاء رابطة المشاركة.",couldNotCreateShareableLinkTooBig:"تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا",couldNotLoadInvalidFile:"تعذر التحميل، الملف غير صالح",importBackendFailed:"فشل الاستيراد من الخادوم.",cannotExportEmptyCanvas:"لا يمكن تصدير لوحة فارغة.",couldNotCopyToClipboard:"تعذر النسخ إلى الحافظة.",decryptFailed:"تعذر فك تشفير البيانات.",uploadedSecurly:"تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.",loadSceneOverridePrompt:"تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟",collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
1
+ import"./percentages-BXMCSKIN-B-_e8Y6s.js";import"./index-DjaqCcd7.js";import"./extends-CF3RwP-h.js";var u={paste:"لصق",pasteAsPlaintext:"اللصق كنص عادي",pasteCharts:"لصق الرسوم البيانية",selectAll:"تحديد الكل",multiSelect:"إضافة عنصر للتحديد",moveCanvas:"نقل لوح الرسم",cut:"قص",copy:"نسخ",copyAsPng:"نسخ إلى الحافظة بصيغة PNG",copyAsSvg:"نسخ إلى الحافظة بصيغة SVG",copyText:"نسخ إلى الحافظة كنص",copySource:"",convertToCode:"",bringForward:"جلب للأمام",sendToBack:"أرسل للخلف",bringToFront:"أحضر للأمام",sendBackward:"أرسل للخلف",delete:"حذف",copyStyles:"نسخ الأنماط",pasteStyles:"لصق الأنماط",stroke:"الخط",background:"الخلفية",fill:"التعبئة",strokeWidth:"سُمك الخط",strokeStyle:"نمط الخط",strokeStyle_solid:"متصل",strokeStyle_dashed:"متقطع",strokeStyle_dotted:"منقط",sloppiness:"الإمالة",opacity:"الشفافية",textAlign:"محاذاة النص",edges:"الحواف",sharp:"حادة",round:"دائرية",arrowheads:"رؤوس الأسهم",arrowhead_none:"لا شيء",arrowhead_arrow:"سهم",arrowhead_bar:"شريط",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"مثلث",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"حجم الخط",fontFamily:"نوع الخط",addWatermark:'إضافة "مصنوعة بواسطة Excalidraw"',handDrawn:"رسم باليد",normal:"عادي",code:"رمز",small:"صغير",medium:"متوسط",large:"كبير",veryLarge:"كبير جدا",solid:"كامل",hachure:"خطوط",zigzag:"متعرج",crossHatch:"خطوط متقطعة",thin:"نحيف",bold:"داكن",left:"الـيسار",center:"وسط",right:"يمين",extraBold:"عريض",architect:"معماري",artist:"رسام",cartoonist:"كرتوني",fileTitle:"إسم الملف",colorPicker:"منتقي اللون",canvasColors:"تستخدم على القماش",canvasBackground:"خلفية اللوحة",drawingCanvas:"لوحة الرسم",layers:"الطبقات",actions:"الإجراءات",language:"اللغة",liveCollaboration:"التعاون المباشر...",duplicateSelection:"تكرار",untitled:"غير معنون",name:"الاسم",yourName:"اسمك",madeWithExcalidraw:"مصنوعة بواسطة Excalidraw",group:"تحديد مجموعة",ungroup:"إلغاء تحديد مجموعة",collaborators:"المتعاونون",showGrid:"إظهار الشبكة",addToLibrary:"أضف إلى المكتبة",removeFromLibrary:"حذف من المكتبة",libraryLoadingMessage:"جارٍ تحميل المكتبة…",libraries:"تصفح المكتبات",loadingScene:"جاري تحميل المشهد…",align:"محاذاة",alignTop:"محاذاة إلى اﻷعلى",alignBottom:"محاذاة إلى اﻷسفل",alignLeft:"محاذاة إلى اليسار",alignRight:"محاذاة إلى اليمين",centerVertically:"توسيط عمودي",centerHorizontally:"توسيط أفقي",distributeHorizontally:"التوزيع الأفقي",distributeVertically:"التوزيع عمودياً",flipHorizontal:"قلب عامودي",flipVertical:"قلب أفقي",viewMode:"نمط العرض",share:"مشاركة",showStroke:"إظهار منتقي لون الخط",showBackground:"إظهار منتقي لون الخلفية",toggleTheme:"غير النمط",personalLib:"المكتبة الشخصية",excalidrawLib:"مكتبتنا",decreaseFontSize:"تصغير حجم الخط",increaseFontSize:"تكبير حجم الخط",unbindText:"فك ربط النص",bindText:"ربط النص بالحاوية",createContainerFromText:"نص مغلف في حاوية",link:{edit:"تعديل الرابط",editEmbed:"تحرير الرابط وإدراجه",create:"إنشاء رابط",createEmbed:"إنشاء رابط و إدراجه",label:"رابط",labelEmbed:"رابط و إدراج",empty:"لم يتم تعيين رابط"},lineEditor:{edit:"تحرير السطر",exit:"الخروج من المُحرر"},elementLock:{lock:"قفل",unlock:"فتح",lockAll:"قفل الكل",unlockAll:"فتح الكل"},statusPublished:"نُشر",sidebarLock:"إبقاء الشريط الجانبي مفتوح",selectAllElementsInFrame:"تحديد جميع العناصر في الإطار",removeAllElementsFromFrame:"إزالة جميع العناصر من الإطار",eyeDropper:"اختيار اللون من القماش",textToDiagram:"",prompt:""},A={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},e={clearReset:"إعادة تعيين اللوحة",exportJSON:"صدر الملف",exportImage:"تصدير الصورة...",export:"حفظ إلى...",copyToClipboard:"نسخ إلى الحافظة",save:"احفظ للملف الحالي",saveAs:"حفظ كـ",load:"فتح",getShareableLink:"احصل على رابط المشاركة",close:"غلق",selectLanguage:"اختر اللغة",scrollBackToContent:"الرجوع إلى المحتوى",zoomIn:"تكبير",zoomOut:"تصغير",resetZoom:"إعادة تعيين الشاشة",menu:"القائمة",done:"تم",edit:"تعديل",undo:"تراجع",redo:"إعادة تنفيذ",resetLibrary:"إعادة ضبط المكتبة",createNewRoom:"إنشاء غرفة جديدة",fullScreen:"شاشة كاملة",darkMode:"الوضع المظلم",lightMode:"الوضع المضيء",zenMode:"وضع التأمل",objectsSnapMode:"التقط إلى العناصر",exitZenMode:"إلغاء الوضع الليلى",cancel:"إلغاء",clear:"مسح",remove:"إزالة",embed:"تبديل الإدراج",publishLibrary:"انشر",submit:"أرسل",confirm:"تأكيد",embeddableInteractionButton:"اضغط للتفاعل"},a={clearReset:"هذا سيُزيل كامل اللوحة. هل أنت متأكد؟",couldNotCreateShareableLink:"تعذر إنشاء رابطة المشاركة.",couldNotCreateShareableLinkTooBig:"تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا",couldNotLoadInvalidFile:"تعذر التحميل، الملف غير صالح",importBackendFailed:"فشل الاستيراد من الخادوم.",cannotExportEmptyCanvas:"لا يمكن تصدير لوحة فارغة.",couldNotCopyToClipboard:"تعذر النسخ إلى الحافظة.",decryptFailed:"تعذر فك تشفير البيانات.",uploadedSecurly:"تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.",loadSceneOverridePrompt:"تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟",collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
2
2
 
3
3
  (إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`,errorAddingToLibrary:"تعذر إضافة العنصر للمكتبة",errorRemovingFromLibrary:"تعذر إزالة العنصر من المكتبة",confirmAddLibrary:"هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟",imageDoesNotContainScene:"يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟",cannotRestoreFromImage:"تعذر استعادة المشهد من ملف الصورة",invalidSceneUrl:"تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.",resetLibrary:"هذا سوف يمسح مكتبتك. هل أنت متأكد؟",removeItemsFromsLibrary:"حذف {{count}} عنصر (عناصر) من المكتبة؟",invalidEncryptionKey:"مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.",collabOfflineWarning:`لا يوجد اتصال بالانترنت.
4
4
  لن يتم حفظ التغييرات التي قمت بها!`},r={unsupportedFileType:"نوع الملف غير مدعوم.",imageInsertError:"تعذر إدراج الصورة. حاول مرة أخرى لاحقاً...",fileTooBig:"الملف كبير جداً. الحد الأقصى المسموح به للحجم هو {{maxSize}}.",svgImageInsertError:"تعذر إدراج صورة SVG. يبدو أن ترميز SVG غير صحيح.",failedToFetchImage:"",invalidSVGString:"SVG غير صالح.",cannotResolveCollabServer:"تعذر الاتصال بخادم التعاون. الرجاء إعادة تحميل الصفحة والمحاولة مرة أخرى.",importLibraryError:"تعذر تحميل المكتبة",collabSaveFailed:"تعذر الحفظ في قاعدة البيانات. إذا استمرت المشاكل، يفضل أن تحفظ ملفك محليا كي لا تفقد عملك.",collabSaveFailed_sizeExceeded:"تعذر الحفظ في قاعدة البيانات، يبدو أن القماش كبير للغاية، يفضّل حفظ الملف محليا كي لا تفقد عملك.",imageToolNotSupported:"",brave_measure_text_error:{line1:"يبدو أنك تستخدم متصفح Brave مع إعداد <bold>حظر صارم لتتبع البصمة</bold>.",line2:"قد يؤدي هذا إلى كسر <bold>عناصر النص</bold> في الرسومات الخاصة بك.",line3:"من المستحسن إلغاء تفعيل هذا الإعداد. يمكنك اتباع <link>هذه الخطوات</link> لفعل ذلك.",line4:"إذا لم يصلح تعطيل هذا الإعداد طريقة عرض النصوص، الرجاء كتابة <issueLink>بلاغ</issueLink> على حسابنا في GitHub، أو راسلنا على <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"لا يمكن إضافة العناصر القابلة للتضمين في المكتبة.",iframe:"",image:"سوف يتم دعم إضافة صور إلى المكتبة قريباً!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},o={selection:"تحديد",image:"إدراج صورة",rectangle:"مستطيل",diamond:"مضلع",ellipse:"دائرة",arrow:"سهم",line:"خط",freedraw:"رسم",text:"نص",library:"مكتبة",lock:"الحفاظ على أداة التحديد نشطة بعد الرسم",penMode:"وضع القلم - امنع اللمس",link:"إضافة/تحديث الرابط للشكل المحدد",eraser:"ممحاة",frame:"أداة الإطار",magicframe:"",embeddable:"تضمين ويب",laser:"مؤشر ليزر",hand:"يد (أداة الإزاحة)",extraTools:"المزيد من أﻷدوات",mermaidToExcalidraw:"",magicSettings:""},t={canvasActions:"إجراءات اللوحة",selectedShapeActions:"إجراءات الشكل المحدد",shapes:"الأشكال"},i={canvasPanning:"لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد",linearElement:"انقر لبدء نقاط متعددة، اسحب لخط واحد",freeDraw:"انقر واسحب، افرج عند الانتهاء",text:"نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار",embeddable:"اضغط مع السحب لإنشاء موقع ويب مضمّن",text_selected:"انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص",text_editing:"اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل",linearElementMulti:"انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء",lockAngle:"يمكنك تقييد الزاوية بالضغط على SHIFT",resize:`يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،
@@ -1 +1 @@
1
- import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-Di8SAJL6.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,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,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(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,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,R,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)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-DjaqCcd7.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,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,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(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,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,R,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)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};