dreamcontext 0.9.1 → 0.9.2

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 (135) hide show
  1. package/README.md +29 -12
  2. package/agents/curator-auditor.md +6 -1
  3. package/agents/curator-worker.md +1 -1
  4. package/agents/sleep-state.md +2 -0
  5. package/agents/sleep-tasks.md +11 -0
  6. package/dist/agents/curator-auditor.md +6 -1
  7. package/dist/agents/curator-worker.md +1 -1
  8. package/dist/agents/sleep-state.md +2 -0
  9. package/dist/agents/sleep-tasks.md +11 -0
  10. package/dist/dashboard/assets/{BrainCanvas3D-BvuUW-Ij.js → BrainCanvas3D-Czb2UCx5.js} +1 -1
  11. package/dist/dashboard/assets/{_baseUniq-BNAWiBFl.js → _baseUniq-C7bhYu5d.js} +1 -1
  12. package/dist/dashboard/assets/{ar-SA-G6X2FPQ2-rNEb6-jN.js → ar-SA-G6X2FPQ2-DTj6PSJF.js} +1 -1
  13. package/dist/dashboard/assets/{arc-DDLjNpXk.js → arc-CtAwRj-v.js} +1 -1
  14. package/dist/dashboard/assets/{architectureDiagram-Q4EWVU46-P208qO4N.js → architectureDiagram-Q4EWVU46-Be8ao9_h.js} +1 -1
  15. package/dist/dashboard/assets/{az-AZ-76LH7QW2-Dwql62JX.js → az-AZ-76LH7QW2-C7yBzi3o.js} +1 -1
  16. package/dist/dashboard/assets/{bg-BG-XCXSNQG7-BgteTNp8.js → bg-BG-XCXSNQG7-D1hJb5wI.js} +1 -1
  17. package/dist/dashboard/assets/{blockDiagram-DXYQGD6D-BDSceoPt.js → blockDiagram-DXYQGD6D-Bn9SXOUb.js} +1 -1
  18. package/dist/dashboard/assets/{bn-BD-2XOGV67Q-BYJ6_efF.js → bn-BD-2XOGV67Q-wh2xv6Ti.js} +1 -1
  19. package/dist/dashboard/assets/{c4Diagram-AHTNJAMY-CRbiwdrM.js → c4Diagram-AHTNJAMY-C_MLGRXa.js} +1 -1
  20. package/dist/dashboard/assets/{ca-ES-6MX7JW3Y-CtFrXfas.js → ca-ES-6MX7JW3Y-DBkrY3p1.js} +1 -1
  21. package/dist/dashboard/assets/channel-Cm_3yJBQ.js +1 -0
  22. package/dist/dashboard/assets/{chunk-4BX2VUAB-kqN0Cg_r.js → chunk-4BX2VUAB-EMhGJvza.js} +1 -1
  23. package/dist/dashboard/assets/{chunk-4TB4RGXK-CpwYPUdR.js → chunk-4TB4RGXK-_7FEisTX.js} +1 -1
  24. package/dist/dashboard/assets/{chunk-55IACEB6-CQ_4M3g4.js → chunk-55IACEB6-Cz4CusRM.js} +1 -1
  25. package/dist/dashboard/assets/{chunk-EDXVE4YY--HdVil0f.js → chunk-EDXVE4YY-C5yb7Q9H.js} +1 -1
  26. package/dist/dashboard/assets/{chunk-FMBD7UC4-CrbfOH-q.js → chunk-FMBD7UC4-PlFeuiZ_.js} +1 -1
  27. package/dist/dashboard/assets/{chunk-OYMX7WX6-BrcCZnqx.js → chunk-OYMX7WX6-Bv_6NT0F.js} +1 -1
  28. package/dist/dashboard/assets/{chunk-QZHKN3VN-Cby58gGN.js → chunk-QZHKN3VN-BrBdsXuW.js} +1 -1
  29. package/dist/dashboard/assets/{chunk-YZCP3GAM-tvOjDART.js → chunk-YZCP3GAM-DGLXUzMF.js} +1 -1
  30. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-CN3Z7CiL.js +1 -0
  31. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-CN3Z7CiL.js +1 -0
  32. package/dist/dashboard/assets/clone-Cq5lwLPz.js +1 -0
  33. package/dist/dashboard/assets/{cose-bilkent-S5V4N54A-CuwbWQzD.js → cose-bilkent-S5V4N54A-BCnFo_-v.js} +1 -1
  34. package/dist/dashboard/assets/{cs-CZ-2BRQDIVT-DfVAwqqU.js → cs-CZ-2BRQDIVT-B7f7FtE4.js} +1 -1
  35. package/dist/dashboard/assets/{da-DK-5WZEPLOC-D1QJqNxG.js → da-DK-5WZEPLOC-DGy-rvZb.js} +1 -1
  36. package/dist/dashboard/assets/{dagre-KV5264BT-Bbf-wMho.js → dagre-KV5264BT-C-3lRx-i.js} +1 -1
  37. package/dist/dashboard/assets/{de-DE-XR44H4JA-CbCdH8Mp.js → de-DE-XR44H4JA-CaJWHpe0.js} +1 -1
  38. package/dist/dashboard/assets/{diagram-5BDNPKRD-CvMJJUvv.js → diagram-5BDNPKRD-C4YVbDXp.js} +1 -1
  39. package/dist/dashboard/assets/{diagram-G4DWMVQ6-BBz7ebE8.js → diagram-G4DWMVQ6-BuW9zfOU.js} +1 -1
  40. package/dist/dashboard/assets/{diagram-MMDJMWI5-U7IcL5ZQ.js → diagram-MMDJMWI5-BkMYjNGf.js} +1 -1
  41. package/dist/dashboard/assets/{diagram-TYMM5635-BfTLwlSm.js → diagram-TYMM5635-DrzHjWok.js} +1 -1
  42. package/dist/dashboard/assets/{el-GR-BZB4AONW-DvGrscY6.js → el-GR-BZB4AONW-BiJmW-b5.js} +1 -1
  43. package/dist/dashboard/assets/{erDiagram-SMLLAGMA-C1ncTn9B.js → erDiagram-SMLLAGMA-G0UEz6JN.js} +1 -1
  44. package/dist/dashboard/assets/{es-ES-U4NZUMDT-BlawPkmw.js → es-ES-U4NZUMDT-CwBcKV2z.js} +1 -1
  45. package/dist/dashboard/assets/{eu-ES-A7QVB2H4-p5lXDFKY.js → eu-ES-A7QVB2H4-wG_Vz3Mp.js} +1 -1
  46. package/dist/dashboard/assets/{fa-IR-HGAKTJCU-DbY6Wzu9.js → fa-IR-HGAKTJCU-5ydvmmyn.js} +1 -1
  47. package/dist/dashboard/assets/{fi-FI-Z5N7JZ37-HyRJneut.js → fi-FI-Z5N7JZ37-Wo_BEMPx.js} +1 -1
  48. package/dist/dashboard/assets/{flowDiagram-DWJPFMVM-tySa4G4z.js → flowDiagram-DWJPFMVM-UjoFr5FL.js} +1 -1
  49. package/dist/dashboard/assets/{fr-FR-RHASNOE6-C0ElnhzM.js → fr-FR-RHASNOE6-oa5BKaB_.js} +1 -1
  50. package/dist/dashboard/assets/{ganttDiagram-T4ZO3ILL-BQsJPxAU.js → ganttDiagram-T4ZO3ILL-Btdbfhcj.js} +1 -1
  51. package/dist/dashboard/assets/{gitGraphDiagram-UUTBAWPF-B2jHjMzI.js → gitGraphDiagram-UUTBAWPF-CEOTwDOS.js} +1 -1
  52. package/dist/dashboard/assets/{gl-ES-HMX3MZ6V-D5qSPU7d.js → gl-ES-HMX3MZ6V-CauOTr6H.js} +1 -1
  53. package/dist/dashboard/assets/{graph-deVQIt7H.js → graph-Dm-hvy_w.js} +1 -1
  54. package/dist/dashboard/assets/{he-IL-6SHJWFNN-CNsRxzJL.js → he-IL-6SHJWFNN-COrYIlQr.js} +1 -1
  55. package/dist/dashboard/assets/{hi-IN-IWLTKZ5I-CCLXIBWK.js → hi-IN-IWLTKZ5I-J1Y95ZoC.js} +1 -1
  56. package/dist/dashboard/assets/{hu-HU-A5ZG7DT2-Dq17BfYB.js → hu-HU-A5ZG7DT2-ViGh9Ezw.js} +1 -1
  57. package/dist/dashboard/assets/{id-ID-SAP4L64H-CRL19WJa.js → id-ID-SAP4L64H-DXl8yZED.js} +1 -1
  58. package/dist/dashboard/assets/{index-BO_pjfQA.js → index-Bib6Q7p5.js} +1 -1
  59. package/dist/dashboard/assets/index-BvNbWm56.js +484 -0
  60. package/dist/dashboard/assets/index-rpfoKwNa.css +1 -0
  61. package/dist/dashboard/assets/{infoDiagram-42DDH7IO-DKXhFQx1.js → infoDiagram-42DDH7IO-uLVxhokj.js} +1 -1
  62. package/dist/dashboard/assets/{ishikawaDiagram-UXIWVN3A-ixuXBV9q.js → ishikawaDiagram-UXIWVN3A-B0NEYz4G.js} +1 -1
  63. package/dist/dashboard/assets/{it-IT-JPQ66NNP-B-3gnXYZ.js → it-IT-JPQ66NNP-D6Y8YA58.js} +1 -1
  64. package/dist/dashboard/assets/{ja-JP-DBVTYXUO-GCqLTdC-.js → ja-JP-DBVTYXUO-khAPtZRR.js} +1 -1
  65. package/dist/dashboard/assets/{journeyDiagram-VCZTEJTY-Cda6rfE1.js → journeyDiagram-VCZTEJTY-5qv0pqIB.js} +1 -1
  66. package/dist/dashboard/assets/{kaa-6HZHGXH3-DUr4YiJc.js → kaa-6HZHGXH3-Cwcw-Gjy.js} +1 -1
  67. package/dist/dashboard/assets/{kab-KAB-ZGHBKWFO-DGcoDq7_.js → kab-KAB-ZGHBKWFO-K6vT6Crh.js} +1 -1
  68. package/dist/dashboard/assets/{kanban-definition-6JOO6SKY-8II0TptL.js → kanban-definition-6JOO6SKY-BRnbjFyn.js} +1 -1
  69. package/dist/dashboard/assets/{kk-KZ-P5N5QNE5-OnQ3fZQr.js → kk-KZ-P5N5QNE5-CMu1AFuh.js} +1 -1
  70. package/dist/dashboard/assets/{km-KH-HSX4SM5Z-BgLH2RAX.js → km-KH-HSX4SM5Z-L_PHDtZJ.js} +1 -1
  71. package/dist/dashboard/assets/{ko-KR-MTYHY66A-BFRlVzp3.js → ko-KR-MTYHY66A-bbZlnVhP.js} +1 -1
  72. package/dist/dashboard/assets/{ku-TR-6OUDTVRD-KXxCpHg7.js → ku-TR-6OUDTVRD-INvmaG95.js} +1 -1
  73. package/dist/dashboard/assets/{layout-Bk1_SQxF.js → layout-BVeohT_Z.js} +1 -1
  74. package/dist/dashboard/assets/{linear-NBVeSfQr.js → linear-CK10qcFf.js} +1 -1
  75. package/dist/dashboard/assets/{lt-LT-XHIRWOB4-zYih94tH.js → lt-LT-XHIRWOB4-D7BRQxtO.js} +1 -1
  76. package/dist/dashboard/assets/{lv-LV-5QDEKY6T-BfR2lGJU.js → lv-LV-5QDEKY6T-Ck1JIxzf.js} +1 -1
  77. package/dist/dashboard/assets/{min-Czsp1-lf.js → min-BEPU0Hcm.js} +1 -1
  78. package/dist/dashboard/assets/{mindmap-definition-QFDTVHPH-B7iHNGK3.js → mindmap-definition-QFDTVHPH-CVF8OPn3.js} +1 -1
  79. package/dist/dashboard/assets/{mr-IN-CRQNXWMA-CbecgcF-.js → mr-IN-CRQNXWMA-Xa1Wim8s.js} +1 -1
  80. package/dist/dashboard/assets/{my-MM-5M5IBNSE-CsdHXw4v.js → my-MM-5M5IBNSE-BjkcPsy7.js} +1 -1
  81. package/dist/dashboard/assets/{nb-NO-T6EIAALU-r8FpCRvQ.js → nb-NO-T6EIAALU-BEEKgrVR.js} +1 -1
  82. package/dist/dashboard/assets/{nl-NL-IS3SIHDZ-Dp3Z4P6_.js → nl-NL-IS3SIHDZ-D9OUhxw4.js} +1 -1
  83. package/dist/dashboard/assets/{nn-NO-6E72VCQL-CQcuUlUa.js → nn-NO-6E72VCQL-DVR3J-3K.js} +1 -1
  84. package/dist/dashboard/assets/{oc-FR-POXYY2M6-Dz9rwf28.js → oc-FR-POXYY2M6-DC9Nung3.js} +1 -1
  85. package/dist/dashboard/assets/{pa-IN-N4M65BXN-AuAonL3w.js → pa-IN-N4M65BXN-OAnX4pD0.js} +1 -1
  86. package/dist/dashboard/assets/{percentages-BXMCSKIN-D9EnbREi.js → percentages-BXMCSKIN-oaYJtiEf.js} +7 -7
  87. package/dist/dashboard/assets/{pica---loOZLP.js → pica-C6ShZVuu.js} +1 -1
  88. package/dist/dashboard/assets/{pieDiagram-DEJITSTG-CiDTXifX.js → pieDiagram-DEJITSTG-DiVJdP1C.js} +1 -1
  89. package/dist/dashboard/assets/{pl-PL-T2D74RX3-4k9qJgDf.js → pl-PL-T2D74RX3-J_DzzF6i.js} +1 -1
  90. package/dist/dashboard/assets/{pt-BR-5N22H2LF-DvKuT6kK.js → pt-BR-5N22H2LF-CyKqBQxo.js} +1 -1
  91. package/dist/dashboard/assets/{pt-PT-UZXXM6DQ-ijbr_1VI.js → pt-PT-UZXXM6DQ-Bgz_pc0Y.js} +1 -1
  92. package/dist/dashboard/assets/{quadrantDiagram-34T5L4WZ-Bu9Comci.js → quadrantDiagram-34T5L4WZ-DnxB-MO_.js} +1 -1
  93. package/dist/dashboard/assets/{requirementDiagram-MS252O5E-D62TW6xA.js → requirementDiagram-MS252O5E-BGbxrkf8.js} +1 -1
  94. package/dist/dashboard/assets/{ro-RO-JPDTUUEW-C0llzWmG.js → ro-RO-JPDTUUEW-DieLjGOA.js} +1 -1
  95. package/dist/dashboard/assets/{ru-RU-B4JR7IUQ-BeSwVB2r.js → ru-RU-B4JR7IUQ-_l3ulIXF.js} +1 -1
  96. package/dist/dashboard/assets/{sankeyDiagram-XADWPNL6-TlSEi12K.js → sankeyDiagram-XADWPNL6-C6Tb_y-j.js} +1 -1
  97. package/dist/dashboard/assets/{sequenceDiagram-FGHM5R23-ScKG2Xsm.js → sequenceDiagram-FGHM5R23-wi9pOwW3.js} +1 -1
  98. package/dist/dashboard/assets/{si-LK-N5RQ5JYF-DWeue3dw.js → si-LK-N5RQ5JYF-BKKA5LJo.js} +1 -1
  99. package/dist/dashboard/assets/{sk-SK-C5VTKIMK-C2sh3w4f.js → sk-SK-C5VTKIMK-CD8v__My.js} +1 -1
  100. package/dist/dashboard/assets/{sl-SI-NN7IZMDC-CeXk9ucf.js → sl-SI-NN7IZMDC-BKlPPNwD.js} +1 -1
  101. package/dist/dashboard/assets/{stateDiagram-FHFEXIEX-BB1JoyXM.js → stateDiagram-FHFEXIEX-CdkAZeqA.js} +1 -1
  102. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-fASGsrsv.js +1 -0
  103. package/dist/dashboard/assets/{subset-shared.chunk-CWvpWWsn.js → subset-shared.chunk-CGeJ-F5W.js} +1 -1
  104. package/dist/dashboard/assets/{subset-worker.chunk-D7Ec71V-.js → subset-worker.chunk-BlVR16kU.js} +1 -1
  105. package/dist/dashboard/assets/{sv-SE-XGPEYMSR-8YPrynz7.js → sv-SE-XGPEYMSR-C2gDWm3p.js} +1 -1
  106. package/dist/dashboard/assets/{ta-IN-2NMHFXQM-CmMKeEZv.js → ta-IN-2NMHFXQM-u7A0geQC.js} +1 -1
  107. package/dist/dashboard/assets/{th-TH-HPSO5L25-BIxym374.js → th-TH-HPSO5L25-fovs7iJ8.js} +1 -1
  108. package/dist/dashboard/assets/{timeline-definition-GMOUNBTQ-Cx1z6jhx.js → timeline-definition-GMOUNBTQ-GtnU7ybD.js} +1 -1
  109. package/dist/dashboard/assets/{tr-TR-DEFEU3FU-BZUk--nT.js → tr-TR-DEFEU3FU-C6fJP9sP.js} +1 -1
  110. package/dist/dashboard/assets/{uk-UA-QMV73CPH-DKP6R9nZ.js → uk-UA-QMV73CPH-D_wHjU_A.js} +1 -1
  111. package/dist/dashboard/assets/{vennDiagram-DHZGUBPP-CHrTxlSz.js → vennDiagram-DHZGUBPP-BDFvLaix.js} +1 -1
  112. package/dist/dashboard/assets/{vi-VN-M7AON7JQ-D1tkx3Op.js → vi-VN-M7AON7JQ-DifjZgdC.js} +1 -1
  113. package/dist/dashboard/assets/{wardley-RL74JXVD-DuzpwUu5.js → wardley-RL74JXVD-DI8xEOY7.js} +1 -1
  114. package/dist/dashboard/assets/{wardleyDiagram-NUSXRM2D-x03tOVd0.js → wardleyDiagram-NUSXRM2D-B3GFPGwx.js} +1 -1
  115. package/dist/dashboard/assets/{xychartDiagram-5P7HB3ND-CufD9zuW.js → xychartDiagram-5P7HB3ND-CfszNsQx.js} +1 -1
  116. package/dist/dashboard/assets/{zh-CN-LNUGB5OW-CpicUYEV.js → zh-CN-LNUGB5OW-DbrqBAD6.js} +1 -1
  117. package/dist/dashboard/assets/{zh-HK-E62DVLB3-DyNkpg-N.js → zh-HK-E62DVLB3-1U0sxcfM.js} +1 -1
  118. package/dist/dashboard/assets/{zh-TW-RAJ6MFWO-Cg30MEjI.js → zh-TW-RAJ6MFWO-B-B3RQ_b.js} +1 -1
  119. package/dist/dashboard/index.html +2 -2
  120. package/dist/index.js +1941 -1022
  121. package/dist/skill-packs/goal-skill/SKILL.md +5 -0
  122. package/package.json +1 -1
  123. package/skill/SKILL.md +7 -2
  124. package/skill/references/cli-reference.md +6 -4
  125. package/skill/references/integrations.md +10 -6
  126. package/skill/references/sleep.md +1 -1
  127. package/skill/references/tasks-and-features.md +60 -4
  128. package/skill-packs/goal-skill/SKILL.md +5 -0
  129. package/dist/dashboard/assets/channel-CJWWthUO.js +0 -1
  130. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-D8yKg5c-.js +0 -1
  131. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-D8yKg5c-.js +0 -1
  132. package/dist/dashboard/assets/clone-DkTWs9rv.js +0 -1
  133. package/dist/dashboard/assets/index-CQkBs_Vm.js +0 -484
  134. package/dist/dashboard/assets/index-aCkhI_aO.css +0 -1
  135. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-BqR3Ofhf.js +0 -1
@@ -122,6 +122,11 @@ dreamcontext tasks status <slug> in_progress "plan validated; implementing"
122
122
 
123
123
  If `<slug>` already exists, de-collide (append a short suffix) rather than clobbering.
124
124
 
125
+ If the project declares **custom task fields** (`_dream_context/overrides/task.md`), `tasks create`
126
+ hard-fails (exit 1) on an unset `required` field — set each with `--field key=value` on create. For
127
+ any field marked `ask: true`, ask the user for the value back in Phase 0 (it's a human judgment) rather
128
+ than fabricating it. The SubagentStart briefing lists the active fields and their prompts.
129
+
125
130
  ### Phase 4 — IMPLEMENT
126
131
 
127
132
  Dispatch **one** `goal-implementer` (sonnet; escalate to opus for genuinely hard goals)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dreamcontext",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "dreamcontext — the persistent brain for your AI agents. Remembers what you built, knows how your project works.",
5
5
  "type": "module",
6
6
  "bin": {
package/skill/SKILL.md CHANGED
@@ -75,7 +75,7 @@ dreamcontext is **more than memory files**. Every capability below is real and s
75
75
  | Capability | What it is | Reference |
76
76
  |---|---|---|
77
77
  | **Structured memory** | soul/user/memory + knowledge + tasks, auto-loaded each session | this file |
78
- | **Tasks** | Working documents with changelog, RICE, due dates, status lifecycle, assignees | [tasks-and-features.md](references/tasks-and-features.md) |
78
+ | **Tasks** | Working documents with changelog, RICE, status lifecycle, start/due date ranges, resolved assignees, and project-declared custom fields (`overrides/task.md`) | [tasks-and-features.md](references/tasks-and-features.md) |
79
79
  | **Features (PRDs)** | Retrospective product docs, updated only during sleep | [tasks-and-features.md](references/tasks-and-features.md) |
80
80
  | **Knowledge** | Tagged deep docs, pinning, staleness, Excalidraw diagrams | [knowledge-and-recall.md](references/knowledge-and-recall.md) |
81
81
  | **Memory recall** | Haiku/BM25 search over the whole corpus; auto-injected on prompts | [knowledge-and-recall.md](references/knowledge-and-recall.md) |
@@ -280,6 +280,8 @@ dreamcontext tasks complete <name> "summary" # done
280
280
 
281
281
  Status: `todo → in_progress → in_review → completed`. Sections: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technical_details`, `notes`, `changelog`.
282
282
 
283
+ **Custom fields (if this project declares them).** When `_dream_context/overrides/task.md` exists, every task carries project-defined custom fields. Their **values are surfaced to you inline** — in the snapshot's Active Tasks block and in `dreamcontext tasks list --long` — so you can see them without opening the file; unset **required** fields show as `⚠ UNSET (required)`. When you create or reconcile a task, **set every declared field** (`dreamcontext tasks field <slug> <key> <value>` or `tasks create --field key=value`). **REQUIRED fields are mandatory — never create or complete a task with a required field left empty.** Fields marked **[ASK THE USER]** (`ask: true`) capture a human judgment (e.g. a time estimate) — **ask the user for the value when creating the task instead of guessing it.** The full schema + sync behavior → [tasks-and-features.md](references/tasks-and-features.md).
284
+
283
285
  **RICE, due dates, tags/people, the Workflow flowchart, versioning, and multi-product** → [tasks-and-features.md](references/tasks-and-features.md).
284
286
  **Syncing tasks to a cloud backend (ClickUp _or_ GitHub — one at a time)** → [integrations.md](references/integrations.md).
285
287
 
@@ -343,9 +345,12 @@ _dream_context/
343
345
  │ │ └── <title>/<title>.excalidraw.md ← diagrams live INSIDE their context folder
344
346
  │ ├── data-structures/{default,<product>}.md ← schemas (recall-indexed; ```sql body)
345
347
  │ └── products/<product>.md ← per-product knowledge (multi-product)
348
+ ├── overrides/
349
+ │ └── task.md ← OPTIONAL: project task template + custom_fields schema (briefed to agents)
346
350
  ├── state/
347
- │ ├── <task>.md ← Active tasks (frontmatter may include product:)
351
+ │ ├── <task>.md ← Active tasks (frontmatter may include product:, start_date, due_date, custom_fields)
348
352
  │ ├── .config.json ← platforms, packs, multiProduct, taskBackend, people…
353
+ │ ├── .active-version.json ← current sprint (active planning version)
349
354
  │ ├── .sleep.json .secrets.json (gitignored) .active-task
350
355
  ```
351
356
 
@@ -36,19 +36,21 @@ Every command and flag, grouped. All commands are prefixed with `dreamcontext`.
36
36
  |---|---|
37
37
  | `tasks list` | List/filter/group tasks (excludes completed by default). Flags: `-s/--status`, `-a/--all`, `--tag <t>` (repeatable, AND), `--any-tag <t>` (repeatable, OR), `--version <id>`, `--priority <level>`, `--feature <slug>`, `-g/--group-by tag\|version\|priority\|status`, `--long`, `--tags`, `--json`. Filters compose (AND), case-insensitive. |
38
38
  | `tasks tags` | Distinct task tags with counts. `-a/--all`, `--json`. |
39
- | `tasks create <name>` | Create a task. Flags: `-d/--description`, `-p/--priority critical\|high\|medium\|low`, `-u/--urgency …`, `-s/--status`, `-t/--tags <csv>`, `-w/--why`, `-v/--version`, `--person <name>`, `--reach <1-10>`, `--impact <1-5>`, `--confidence 25\|50\|75\|100`, `--effort <weeks>`, `--due YYYY-MM-DD`. |
39
+ | `tasks create <name>` | Create a task. Flags: `-d/--description`, `-p/--priority critical\|high\|medium\|low`, `-u/--urgency …`, `-s/--status`, `-t/--tags <csv>`, `-w/--why`, `-v/--version`, `--person <name>`, `--reach <1-10>`, `--impact <1-5>`, `--confidence 25\|50\|75\|100`, `--effort <weeks>`, `--start YYYY-MM-DD`, `--due YYYY-MM-DD`, `--field <key=value>` (repeatable; sets declared custom fields), `--allow-missing-required` (create a draft even when a required custom field is unset). **Fails** if a required custom field is unset and `--allow-missing-required` is not given. |
40
40
  | `tasks rice <name>` | Print or update RICE values. `--reach`/`--impact`/`--confidence`/`--effort`, `--clear`. |
41
- | `tasks due <name> <YYYY-MM-DD\|clear>` | Set or clear a due date. |
41
+ | `tasks start <name> <YYYY-MM-DD\|clear>` | Set or clear a planned start date (range start). Must be ≤ the due date; setting it removes the `backlog` tag. |
42
+ | `tasks due <name> <YYYY-MM-DD\|clear>` | Set or clear a due/end date (range end). |
42
43
  | `tasks tag <name> <tags...>` | Add (or `--remove`) tags. `person:<slug>` assigns a person. |
44
+ | `tasks field <name> <key> [value\|clear]` | Set or clear a user-defined custom field declared in `overrides/task.md` (synced to ClickUp/GitHub). Validates select options + number types. |
43
45
  | `tasks insert <name> <section> <content...>` | Insert into a section: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technical_details`, `notes`, `changelog`. |
44
46
  | `tasks log <name> [content...]` | Add a changelog entry (cross-session continuity). **Use every session.** |
45
- | `tasks status <name> <todo\|in_progress\|in_review\|completed> [reason...]` | Change status (logs to changelog). |
47
+ | `tasks status <name> <todo\|in_progress\|in_review\|completed> [reason...]` | Change status (logs to changelog). On the first move to `in_progress`, stamps `start_date` with today if it is unset (a planned start is never overwritten). |
46
48
  | `tasks complete <name> [summary...]` | Mark completed (convenience). |
47
49
  | `tasks delete <name>` | Delete a task (propagates to remote backend on sync). `--yes`. |
48
50
  | `tasks doctor [name]` | Validate the Workflow flowchart is in sync with Acceptance Criteria (all tasks if name omitted). |
49
51
  | `tasks sync [push\|pull\|both]` | Sync with the remote backend (no-op on local). `--hook`, `--json`. |
50
52
  | `tasks members` | People with access to the remote list (assignee candidates). `--json`. |
51
- | `tasks provision` | Create recommended custom fields on the remote list. |
53
+ | `tasks provision` | Create recommended + override-declared custom fields on the remote backend (ClickUp list fields / GitHub labels). Reuses any that already exist by name. |
52
54
  | `tasks sync-hooks install\|uninstall` | Manage best-effort git sync triggers (post-commit, pre-push). |
53
55
 
54
56
  Sections for `tasks insert`: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technical_details`, `notes`, `changelog`. See [tasks-and-features.md](tasks-and-features.md) for the full protocol.
@@ -15,8 +15,9 @@ This reference covers everything beyond the local markdown brain. **If a user as
15
15
  #### What it does
16
16
  - **Bidirectional sync** (`push`, `pull`, or `both`) between local task files and a ClickUp list.
17
17
  - **Status mapping** between dreamcontext statuses (`todo/in_progress/in_review/completed`) and ClickUp statuses.
18
- - **RICE + custom fields**: provisions recommended ClickUp custom fields (urgency, summary, RICE reach/impact/confidence/effort, …) and round-trips them.
19
- - **Assignees**: `person:<slug>` tags map to ClickUp member IDs bidirectionally (multi-assignee; the full `assignees[]` set survives push/pull). See "People & assignees" in [tasks-and-features.md](tasks-and-features.md).
18
+ - **RICE + custom fields**: provisions recommended ClickUp custom fields (urgency, summary, RICE reach/impact/confidence/effort, …) and round-trips them. **User-declared custom fields** (from `overrides/task.md`) also round-trip — `select` → native drop_down, others → native list field. See "Task format & custom-field overrides" in [tasks-and-features.md](tasks-and-features.md).
19
+ - **Date ranges**: a task's planned `start` and `due`/end both map to ClickUp's native start/due fields (push, pull, LWW-merge, and clear all symmetric).
20
+ - **Assignees**: `person:<slug>` tags map to ClickUp members bidirectionally (multi-assignee; the full `assignees[]` set survives push/pull). Names **resolve against the live roster** — exact/fuzzy match canonicalizes to the member's slug, an ambiguous name aborts, an unmatched name warns (recorded but won't sync, never silently reassigned to the token owner). See "People & assignees" in [tasks-and-features.md](tasks-and-features.md).
20
21
  - **Changelog as comments**: task changelog entries post as ClickUp comments (`changelogTarget: 'comments'`).
21
22
  - **Conflict safety**: conflicting edits are preserved as conflict files rather than silently overwritten; a sync ledger tracks a watermark, pending pushes, and an op queue.
22
23
  - **Rate-limit hardened**: throttles at 90 req/min (under ClickUp's 100/min cap), retries with Retry-After backoff, and a partial push can never look like success — `sleep done` auto-retries once on failed pushes, then errors loudly with the failed slugs.
@@ -53,7 +54,7 @@ dreamcontext tasks sync [push|pull|both] # default: both; no-op on the local b
53
54
  dreamcontext tasks sync --hook # best-effort mode for git hooks (never fails, exit 0)
54
55
  dreamcontext tasks sync --json # machine-readable sync report
55
56
  dreamcontext tasks members [--json] # people with access to the remote list (assignee candidates)
56
- dreamcontext tasks provision # create the recommended custom fields on the list
57
+ dreamcontext tasks provision # create recommended + override-declared custom fields (reuses existing ones by name)
57
58
  dreamcontext tasks sync-hooks install|uninstall # manage the git sync triggers
58
59
  ```
59
60
 
@@ -71,8 +72,9 @@ The same backend interface, talking **plain GitHub Issues over REST** (no GraphQ
71
72
  - **Bidirectional sync** (`push`/`pull`/`both`) between local task files and a repo's Issues.
72
73
  - **Status mapping:** `completed` → issue **closed** `state_reason: completed`; `todo`/`in_progress`/`in_review` → **open** + a `dc:*` sub-status label (`dc:in-progress`, `dc:in-review`; `todo` = no label); reopen → **open** `state_reason: reopened`.
73
74
  - **Soft-delete (the one divergence from ClickUp):** `tasks delete` **closes** the issue as `state_reason: not_planned` — it NEVER hard-deletes (GitHub REST can't, and issue history is preserved). Inbound, a `not_planned` close removes the local mirror (any unsaved local edits are preserved to `.conflicts/` first).
74
- - **Fields as labels:** priority/urgency/tags/version ride as labels (`priority:*`, `urgency:*`, `version:*`, plus your plain tags). RICE stays local-only (no custom fields on plain issues — see Tier-2).
75
- - **Assignees:** `person:<slug>` tags issue assignees (must be repo collaborators); a non-collaborator assignee is skipped gracefully, never a 4xx that aborts the sync. See "People & assignees" in [tasks-and-features.md](tasks-and-features.md).
75
+ - **Fields as labels:** priority/urgency/tags/version ride as labels (`priority:*`, `urgency:*`, `version:*`, plus your plain tags). RICE stays local-only (no native custom fields on plain issues — see Tier-2).
76
+ - **User custom fields + dates in the body:** override-declared `select` fields become `<key>:<value>` labels; other custom fields land in a `<!-- dc:fields -->` block, and a task's start/due dates in a `<!-- dc:dates -->` block both composed above the prose and stripped before the 3-way merge so they never pollute the body diff.
77
+ - **Assignees:** `person:<slug>` tags ↔ issue assignees (must be repo collaborators); a non-collaborator assignee is skipped gracefully, never a 4xx that aborts the sync. Names **resolve against the live roster** (same matcher as ClickUp: exact/fuzzy → canonical slug, ambiguous → abort, unmatched → warn, never silently dropped). See "People & assignees" in [tasks-and-features.md](tasks-and-features.md).
76
78
  - **Changelog as comments:** task changelog entries post as issue comments (union-merged, deduped — same pattern as ClickUp).
77
79
  - **Conflict safety + watermark:** reuses the SAME generic sync engine (ledger / watermark / op-queue / 3-way merge) as ClickUp, unchanged. Watermark is the issue `updated_at` (server time). Delta fetch is `GET /repos/{o}/{r}/issues?state=all&since=<ISO>` with **page-number pagination** (pull-requests filtered out).
78
80
  - **Rate-limit hardened:** paces under GitHub's 5000 req/hr cap with Retry-After backoff; a partial push can never look like success.
@@ -114,11 +116,13 @@ dreamcontext dashboard --launcher # vault-agnostic launcher mode (resolves
114
116
  A SessionStart hook auto-opens it when a session starts and no server is running (opt out with `DREAMCONTEXT_AUTO_DASHBOARD=0`).
115
117
 
116
118
  **What's in it:**
117
- - **Kanban board** — drag-and-drop, multi-select filters (status/priority/urgency/tags/version) with type-ahead, sorting, grouping; Notion-style task detail panel to create tasks, change status, add changelog entries.
119
+ - **Kanban board** — drag-and-drop, multi-select filters (status/priority/urgency/tags/version, +assignee on a cloud backend) with type-ahead, sorting, grouping; Notion-style task detail panel to create tasks, change status, edit start/due dates and custom fields, add changelog entries. The **version filter is sprint-aware** — current / planning / released sprints with set-current + mark-complete actions (backed by `state/.active-version.json`).
118
120
  - **Eisenhower matrix** — priority×urgency quadrant planning; **Scatter view** uses RICE scores.
121
+ - **Time-axis task views** — **Timeline (Gantt)** rendering each task's start→due range, a **Calendar**, and an **Activity heatmap** of completion cadence (all driven by the same `start_date`/`due_date` range).
119
122
  - **Core editor** — split-pane markdown editing + live preview for soul/user/memory/etc.
120
123
  - **Knowledge manager** — search, pin/unpin; **Feature PRD viewer**; **SQL ER diagram** preview for data-structures.
121
124
  - **Version manager** — plan and release versions.
125
+ - **Settings — cloud tasks** — enter the ClickUp/GitHub API token from the UI (written to gitignored `state/.secrets.json`, masked, never echoed), Test Connection, and **preview-then-provision** custom fields (a dry run lists what would be created vs. already exists); plus a **Task Format & Custom Fields** editor for `overrides/task.md` (raw template + structured field schema).
122
126
  - **Sleep tracker** — debt gauge, session-history timeline, and a list of every manual change made through the dashboard (recorded to `.sleep.json` so the agent consolidates your edits during sleep).
123
127
  - **Brain graph** — interactive network of memory/knowledge/features/decisions with explicit + inferred edges.
124
128
  - **Council Hall** — every debate as a searchable card grid; detail view with Overview / Agents / Matrix tabs.
@@ -63,7 +63,7 @@ For non-file-change work (architecture discussion, a decision with no edits): `d
63
63
 
64
64
  | Specialist | Owns | Notes |
65
65
  |---|---|---|
66
- | `sleep-tasks` | Task files (`state/*.md`) | Reconciles task bodies to truth, bumps statuses, creates tasks for untracked work, attaches to the planning version. |
66
+ | `sleep-tasks` | Task files (`state/*.md`) | Reconciles task bodies to truth, bumps statuses, creates tasks for untracked work, attaches to the planning version, sets the start/due range, and keeps declared custom fields current (never fabricating `ask` fields in the no-user sleep context). |
67
67
  | `sleep-state` | Core identity (soul, user, memory, core 3–6), CHANGELOG, RELEASES | Records patterns/decisions/preferences, writes a changelog entry per meaningful change since the epoch, surfaces release readiness, enforces anti-bloat ceilings, flags stale knowledge for `sleep-product`. |
68
68
  | `sleep-product` | Knowledge files + feature PRDs | Creates/reconciles `knowledge/*.md` and `core/features/*.md`, processes staleness flags, maintains the knowledge index + taxonomy. |
69
69
  | `sleep-migration` | Structure only | Moves/renames folders, normalizes frontmatter, wraps fences. Never alters body prose. |
@@ -34,6 +34,7 @@ Sections: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technica
34
34
  ### Lifecycle commands
35
35
  ```bash
36
36
  dreamcontext tasks log <name> "what was done" # changelog entry — MANDATORY each session
37
+ dreamcontext tasks status <name> in_progress "reason" # bump status; first in_progress auto-stamps start_date if unset
37
38
  dreamcontext tasks status <name> in_review "reason" # bump status (logs automatically)
38
39
  dreamcontext tasks complete <name> "summary" # mark complete
39
40
  dreamcontext tasks delete <name> --yes # delete (propagates to remote on sync)
@@ -66,11 +67,19 @@ dreamcontext tasks rice <name> --clear # remove all RICE values
66
67
  - `--reach` integer 1–10 · `--impact` integer 1–5 · `--confidence` one of 25/50/75/100 (%) · `--effort` person-weeks (>0, ≤52, 0.5 steps).
67
68
  - Score = `(reach × impact × confidence/100) / effort`, computed server-side, stored in frontmatter.
68
69
 
69
- ## Due dates & urgency
70
+ ## Dates & urgency
71
+ A task has an optional **date range** — a planned `start` and a `due`/end. Either end is independently settable or clearable, and both sync to the remote backend.
70
72
  ```bash
71
- dreamcontext tasks due <name> 2026-07-01 # set
72
- dreamcontext tasks due <name> clear # clear
73
+ dreamcontext tasks start <name> 2026-06-25 # set planned start (range start)
74
+ dreamcontext tasks due <name> 2026-07-01 # set due/end (range end)
75
+ dreamcontext tasks start <name> clear # clear the start
76
+ dreamcontext tasks due <name> clear # clear the due
77
+ dreamcontext tasks create <name> --start 2026-06-25 --due 2026-07-01
73
78
  ```
79
+ - `start` must be **on or before** `due` — an inverted range is rejected (clear one end first).
80
+ - Setting either date on a `backlog`-tagged task **removes the `backlog` tag** (a dated task is planned, not backlog).
81
+ - Both dates render in the dashboard timeline (Gantt) and calendar views.
82
+
74
83
  `urgency` (critical/high/medium/low) is the second Eisenhower axis (priority × urgency) for the dashboard matrix.
75
84
 
76
85
  ---
@@ -85,6 +94,7 @@ dreamcontext tasks tag <name> person:mehmet # add another assignee
85
94
  dreamcontext tasks tag <name> person:ada --remove # unassign
86
95
  ```
87
96
  - `person:<slug>` tags are the source of truth for assignment and support **multiple assignees**. The legacy scalar `assignee` field is deprecated (still read, not written).
97
+ - When a cloud backend is active, `--person`/`tag person:<slug>` **resolves the name against the real member roster** (`tasks members`): an exact or fuzzy match is canonicalized to the member's slug, an **ambiguous** match aborts (be more specific), and an unmatched name is recorded but **warns** that it won't sync until that person is a member. Assignments are never silently dropped.
88
98
  - With ClickUp enabled, the full assignee set round-trips to ClickUp's native `assignees[]` bidirectionally; map each person to a member with `dreamcontext config clickup-member <person> <memberId>`. With **GitHub** enabled, `person:<slug>` tags round-trip to issue assignees (repo collaborators; a non-collaborator is skipped, never a sync error). (see [integrations.md](integrations.md)).
89
99
  - `DREAMCONTEXT_PERSON` env names the current person for attribution.
90
100
 
@@ -118,14 +128,60 @@ version: "v0.9.0" # planning-version association (auto-set to active pla
118
128
  parent_task: null
119
129
  related_feature: null # feature slug for cross-link
120
130
  product: null # multi-product scoping (optional)
121
- due: null # YYYY-MM-DD
131
+ start_date: null # YYYY-MM-DD or null — planned start (range start)
132
+ due_date: null # YYYY-MM-DD or null — due / planned end (range end)
122
133
  rice: { reach: 5, impact: 3, confidence: 75, effort: 2, score: 5.625 }
134
+ custom_fields: {} # project-declared fields (only when overrides/task.md exists)
123
135
  ---
124
136
  ```
125
137
  Files live at `_dream_context/state/<slug>.md`. Lookup is fuzzy: exact slug → prefix → substring.
126
138
 
127
139
  ---
128
140
 
141
+ ## Task format & custom-field overrides (optional)
142
+
143
+ A project can override the default task shape AND declare its own custom fields by adding **`_dream_context/overrides/task.md`**. Absent this file, everything behaves exactly as the defaults above (zero regression).
144
+
145
+ The file carries two things:
146
+
147
+ - **Frontmatter `custom_fields:`** — a user-defined field schema. Each field: `name`, `type` (`text` | `number` | `select` | `date`), optional `key` (the stable field id / `custom_fields:` map key — defaults to the snake_cased `name`, so a rename keeps the same id), `required` (`true` ⇒ the agent MUST set it on every task; default optional), `ask` (`true` ⇒ the field is a HUMAN judgment the agent must NOT guess — it asks you for the value at task-creation time; default false), `options` (for `select`), `sync` (`[clickup, github]`, default both), and optional `prompt` (a system instruction telling the agent HOW to fill the field — surfaced in your snapshot + every sub-agent briefing).
148
+ - **Body** — the task TEMPLATE the CLI scaffolds from, plus an optional `## Agent Instructions` section that sub-agents read at runtime (it is stripped from scaffolded tasks).
149
+
150
+ ```markdown
151
+ ---
152
+ custom_fields:
153
+ - { name: "Team", type: select, required: true, options: [platform, growth, infra], sync: [clickup, github], prompt: "The squad that owns the touched files." }
154
+ - { name: "Story Points", key: story_points, type: number, sync: [clickup, github] }
155
+ - { name: "Time estimate", key: time_estimate, type: text, required: true, ask: true, prompt: "How long will this take? Answer in ClickUp shorthand, e.g. 45m, 2h 30m, 1w 2d." }
156
+ - { name: "Sprint", type: text }
157
+ ---
158
+ ## Why
159
+ {{WHY}}
160
+
161
+ ## Acceptance Criteria
162
+ - [ ] First criterion
163
+
164
+ ## Agent Instructions
165
+ Set Team to the owning squad before starting work.
166
+ ```
167
+
168
+ When an override is active its briefing (the field list, each field's `required` + `ask` flags + `prompt`, and the Agent Instructions) is injected into your SessionStart snapshot and into every sub-agent. **Each active task's custom-field VALUES are also surfaced inline** — in the snapshot's Active Tasks block and in `dreamcontext tasks list --long` — with any unset **required** field flagged `⚠ UNSET (required)`. So you always see a task's fields without opening it: follow `overrides/task.md`'s layout and **set every declared custom field** when you create or reconcile a task — REQUIRED fields are mandatory, so never create or complete a task with a required field left empty. As a hard backstop, `dreamcontext tasks create` / `complete` / `status … completed|in_review` **fail (non-zero exit) and refuse the action** when a required field is unset — naming the field plus the exact fix command. Pass `--allow-missing-required` (or set `DREAMCONTEXT_ALLOW_MISSING_REQUIRED=1`) only for an intentional draft, which downgrades the failure to a warning.
169
+
170
+ **`ask: true` fields — don't fabricate, ask.** Some fields capture a judgment only the user can make (a time estimate, a business-impact call). A field marked `ask` is flagged **[ASK THE USER]** in the briefing: when you create a task on the user's request, **ask the user for that value first** — one concise question per field, using the field's `prompt` as the framing (the `AskUserQuestion` tool if you have it, else just ask in chat) — and wait for the answer **before** creating the task. Never invent the value to satisfy a `required` gate. The one exception is a no-user context (an autonomous reconcile or a sleep cycle): there, leave the field unset and note it rather than guessing.
171
+
172
+ **Setting values:** `dreamcontext tasks create … --field team=platform --field story_points=8`, or on an existing task `dreamcontext tasks field <slug> team platform` (`clear`/omit value to clear). Values are validated against the schema (select options, number coercion) and stored under a `custom_fields:` map in the task frontmatter.
173
+
174
+ **Sync — values flow to both backends, reusing remote fields that already exist:**
175
+
176
+ | Field type | ClickUp | GitHub |
177
+ |---|---|---|
178
+ | `select` | native list custom field (drop_down) | `<key>:<value>` **label** |
179
+ | `text` / `number` / `date` | native list custom field | `<!-- dc:fields -->` **body block** in the issue |
180
+
181
+ `dreamcontext tasks provision` creates any missing custom fields/labels on the remote and **reuses (never duplicates) ones that already exist by name**. `dreamcontext doctor` validates the override and warns (never silently ignores) on a malformed one.
182
+
183
+ ---
184
+
129
185
  ## Features (PRDs)
130
186
 
131
187
  Retrospective product documentation, **created and updated exclusively by the sleep agent**. During active work, everything goes in the task; sleep consolidates task content into the matching feature.
@@ -122,6 +122,11 @@ dreamcontext tasks status <slug> in_progress "plan validated; implementing"
122
122
 
123
123
  If `<slug>` already exists, de-collide (append a short suffix) rather than clobbering.
124
124
 
125
+ If the project declares **custom task fields** (`_dream_context/overrides/task.md`), `tasks create`
126
+ hard-fails (exit 1) on an unset `required` field — set each with `--field key=value` on create. For
127
+ any field marked `ask: true`, ask the user for the value back in Phase 0 (it's a human judgment) rather
128
+ than fabricating it. The SubagentStart briefing lists the active fields and their prompts.
129
+
125
130
  ### Phase 4 — IMPLEMENT
126
131
 
127
132
  Dispatch **one** `goal-implementer` (sonnet; escalate to opus for genuinely hard goals)
@@ -1 +0,0 @@
1
- import{aq as o,ar as n}from"./index-CQkBs_Vm.js";const t=(r,a)=>o.lang.round(n.parse(r)[a]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-CpwYPUdR.js";import{_ as i}from"./index-CQkBs_Vm.js";import"./chunk-FMBD7UC4-CrbfOH-q.js";import"./chunk-YZCP3GAM-tvOjDART.js";import"./chunk-55IACEB6-CQ_4M3g4.js";import"./chunk-EDXVE4YY--HdVil0f.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-CpwYPUdR.js";import{_ as i}from"./index-CQkBs_Vm.js";import"./chunk-FMBD7UC4-CrbfOH-q.js";import"./chunk-YZCP3GAM-tvOjDART.js";import"./chunk-55IACEB6-CQ_4M3g4.js";import"./chunk-EDXVE4YY--HdVil0f.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./graph-deVQIt7H.js";var e=4;function a(o){return r(o,e)}export{a as c};