dominds 1.6.2 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/apps/installed-file.js +207 -0
  2. package/dist/apps/runtime-port.js +91 -0
  3. package/dist/apps/runtime.js +6 -0
  4. package/dist/docs/kernel-app-architecture.md +286 -0
  5. package/dist/docs/kernel-app-architecture.zh.md +285 -0
  6. package/dist/llm/driver-entry.js +28 -0
  7. package/dist/llm/driver-v2/context-health.js +121 -0
  8. package/dist/llm/driver-v2/context.js +56 -0
  9. package/dist/llm/driver-v2/core.js +1545 -0
  10. package/dist/llm/driver-v2/index.js +26 -0
  11. package/dist/llm/driver-v2/orchestrator.js +158 -0
  12. package/dist/llm/driver-v2/policy.js +129 -0
  13. package/dist/llm/driver-v2/restore-dialog-hierarchy.js +73 -0
  14. package/dist/llm/driver-v2/round.js +366 -0
  15. package/dist/llm/driver-v2/runtime-utils.js +365 -0
  16. package/dist/llm/driver-v2/saying-events.js +20 -0
  17. package/dist/llm/driver-v2/subdialog-txn.js +42 -0
  18. package/dist/llm/driver-v2/supdialog-response.js +400 -0
  19. package/dist/llm/driver-v2/tellask-bridge.js +1148 -0
  20. package/dist/llm/driver-v2/types.js +10 -0
  21. package/dist/llm/driver-v2-ref-only/context-health.js +121 -0
  22. package/dist/llm/driver-v2-ref-only/context.js +17 -0
  23. package/dist/llm/driver-v2-ref-only/core.js +1710 -0
  24. package/dist/llm/driver-v2-ref-only/index.js +26 -0
  25. package/dist/llm/driver-v2-ref-only/orchestrator.js +158 -0
  26. package/dist/llm/driver-v2-ref-only/policy.js +129 -0
  27. package/dist/llm/driver-v2-ref-only/restore-dialog-hierarchy.js +73 -0
  28. package/dist/llm/driver-v2-ref-only/round.js +366 -0
  29. package/dist/llm/driver-v2-ref-only/runtime-utils.js +473 -0
  30. package/dist/llm/driver-v2-ref-only/saying-events.js +18 -0
  31. package/dist/llm/driver-v2-ref-only/subdialog-txn.js +42 -0
  32. package/dist/llm/driver-v2-ref-only/supdialog-response.js +453 -0
  33. package/dist/llm/driver-v2-ref-only/tellask-bridge.js +1178 -0
  34. package/dist/llm/driver-v2-ref-only/types.js +10 -0
  35. package/dist/static/assets/{_basePickBy-DSCRdLZO.js → _basePickBy-BI5Rq0uy.js} +3 -3
  36. package/dist/static/assets/{_basePickBy-DSCRdLZO.js.map → _basePickBy-BI5Rq0uy.js.map} +1 -1
  37. package/dist/static/assets/{_baseUniq-4QF_OoKK.js → _baseUniq-B198d-KY.js} +2 -2
  38. package/dist/static/assets/{_baseUniq-4QF_OoKK.js.map → _baseUniq-B198d-KY.js.map} +1 -1
  39. package/dist/static/assets/{arc-BVQeKKx9.js → arc-DaOMBOGX.js} +2 -2
  40. package/dist/static/assets/{arc-BVQeKKx9.js.map → arc-DaOMBOGX.js.map} +1 -1
  41. package/dist/static/assets/{architectureDiagram-VXUJARFQ-B4I8KFTn.js → architectureDiagram-VXUJARFQ-D-S9nnw1.js} +7 -7
  42. package/dist/static/assets/{architectureDiagram-VXUJARFQ-B4I8KFTn.js.map → architectureDiagram-VXUJARFQ-D-S9nnw1.js.map} +1 -1
  43. package/dist/static/assets/{blockDiagram-VD42YOAC-CexS18Qs.js → blockDiagram-VD42YOAC-BTOxO1BR.js} +7 -7
  44. package/dist/static/assets/{blockDiagram-VD42YOAC-CexS18Qs.js.map → blockDiagram-VD42YOAC-BTOxO1BR.js.map} +1 -1
  45. package/dist/static/assets/{c4Diagram-YG6GDRKO-CuSqcxrm.js → c4Diagram-YG6GDRKO-BC30TrOS.js} +3 -3
  46. package/dist/static/assets/{c4Diagram-YG6GDRKO-CuSqcxrm.js.map → c4Diagram-YG6GDRKO-BC30TrOS.js.map} +1 -1
  47. package/dist/static/assets/{channel-BYCxsEk5.js → channel-BxJm9rVf.js} +2 -2
  48. package/dist/static/assets/{channel-BYCxsEk5.js.map → channel-BxJm9rVf.js.map} +1 -1
  49. package/dist/static/assets/{chunk-4BX2VUAB-N8tlmsFc.js → chunk-4BX2VUAB-DZhNVfjS.js} +2 -2
  50. package/dist/static/assets/{chunk-4BX2VUAB-N8tlmsFc.js.map → chunk-4BX2VUAB-DZhNVfjS.js.map} +1 -1
  51. package/dist/static/assets/{chunk-55IACEB6-DxOFWSAF.js → chunk-55IACEB6-CNu24wD5.js} +2 -2
  52. package/dist/static/assets/{chunk-55IACEB6-DxOFWSAF.js.map → chunk-55IACEB6-CNu24wD5.js.map} +1 -1
  53. package/dist/static/assets/{chunk-B4BG7PRW-C1tSyN_l.js → chunk-B4BG7PRW-B4pvVnuq.js} +5 -5
  54. package/dist/static/assets/{chunk-B4BG7PRW-C1tSyN_l.js.map → chunk-B4BG7PRW-B4pvVnuq.js.map} +1 -1
  55. package/dist/static/assets/{chunk-DI55MBZ5-BTmIrFZd.js → chunk-DI55MBZ5-DPtQdiEz.js} +4 -4
  56. package/dist/static/assets/{chunk-DI55MBZ5-BTmIrFZd.js.map → chunk-DI55MBZ5-DPtQdiEz.js.map} +1 -1
  57. package/dist/static/assets/{chunk-FMBD7UC4-s7Uar1x2.js → chunk-FMBD7UC4-BvHbQUmg.js} +2 -2
  58. package/dist/static/assets/{chunk-FMBD7UC4-s7Uar1x2.js.map → chunk-FMBD7UC4-BvHbQUmg.js.map} +1 -1
  59. package/dist/static/assets/{chunk-QN33PNHL-DC20K06j.js → chunk-QN33PNHL-BDzIqYT9.js} +2 -2
  60. package/dist/static/assets/{chunk-QN33PNHL-DC20K06j.js.map → chunk-QN33PNHL-BDzIqYT9.js.map} +1 -1
  61. package/dist/static/assets/{chunk-QZHKN3VN-6mPLLfRu.js → chunk-QZHKN3VN-DCSYTX8L.js} +2 -2
  62. package/dist/static/assets/{chunk-QZHKN3VN-6mPLLfRu.js.map → chunk-QZHKN3VN-DCSYTX8L.js.map} +1 -1
  63. package/dist/static/assets/{chunk-TZMSLE5B-GrDvKWzz.js → chunk-TZMSLE5B-CSzc4mi_.js} +2 -2
  64. package/dist/static/assets/{chunk-TZMSLE5B-GrDvKWzz.js.map → chunk-TZMSLE5B-CSzc4mi_.js.map} +1 -1
  65. package/dist/static/assets/{classDiagram-2ON5EDUG-fO59bj9m.js → classDiagram-2ON5EDUG-CJsEP-fz.js} +6 -6
  66. package/dist/static/assets/{classDiagram-2ON5EDUG-fO59bj9m.js.map → classDiagram-2ON5EDUG-CJsEP-fz.js.map} +1 -1
  67. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-fO59bj9m.js → classDiagram-v2-WZHVMYZB-CJsEP-fz.js} +6 -6
  68. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-fO59bj9m.js.map → classDiagram-v2-WZHVMYZB-CJsEP-fz.js.map} +1 -1
  69. package/dist/static/assets/{clone-IE0Tnwxn.js → clone-CNyZHFPL.js} +2 -2
  70. package/dist/static/assets/{clone-IE0Tnwxn.js.map → clone-CNyZHFPL.js.map} +1 -1
  71. package/dist/static/assets/{cose-bilkent-S5V4N54A-CfeoQnK-.js → cose-bilkent-S5V4N54A-DMvvhmW4.js} +2 -2
  72. package/dist/static/assets/{cose-bilkent-S5V4N54A-CfeoQnK-.js.map → cose-bilkent-S5V4N54A-DMvvhmW4.js.map} +1 -1
  73. package/dist/static/assets/{dagre-6UL2VRFP-DsiyUZhi.js → dagre-6UL2VRFP-BuNhcUpS.js} +7 -7
  74. package/dist/static/assets/{dagre-6UL2VRFP-DsiyUZhi.js.map → dagre-6UL2VRFP-BuNhcUpS.js.map} +1 -1
  75. package/dist/static/assets/{diagram-PSM6KHXK-IAjJ50CC.js → diagram-PSM6KHXK-D0APVthl.js} +8 -8
  76. package/dist/static/assets/{diagram-PSM6KHXK-IAjJ50CC.js.map → diagram-PSM6KHXK-D0APVthl.js.map} +1 -1
  77. package/dist/static/assets/{diagram-QEK2KX5R-DiZLndjJ.js → diagram-QEK2KX5R-_TJXK1XR.js} +7 -7
  78. package/dist/static/assets/{diagram-QEK2KX5R-DiZLndjJ.js.map → diagram-QEK2KX5R-_TJXK1XR.js.map} +1 -1
  79. package/dist/static/assets/{diagram-S2PKOQOG-ZL3Kts-u.js → diagram-S2PKOQOG-D58YgxwF.js} +7 -7
  80. package/dist/static/assets/{diagram-S2PKOQOG-ZL3Kts-u.js.map → diagram-S2PKOQOG-D58YgxwF.js.map} +1 -1
  81. package/dist/static/assets/{erDiagram-Q2GNP2WA-DbVLZtGY.js → erDiagram-Q2GNP2WA-DoStgM_4.js} +5 -5
  82. package/dist/static/assets/{erDiagram-Q2GNP2WA-DbVLZtGY.js.map → erDiagram-Q2GNP2WA-DoStgM_4.js.map} +1 -1
  83. package/dist/static/assets/{flowDiagram-NV44I4VS-CVd2p2Br.js → flowDiagram-NV44I4VS-CjRvEre8.js} +6 -6
  84. package/dist/static/assets/{flowDiagram-NV44I4VS-CVd2p2Br.js.map → flowDiagram-NV44I4VS-CjRvEre8.js.map} +1 -1
  85. package/dist/static/assets/{ganttDiagram-JELNMOA3-6NsYNEcf.js → ganttDiagram-JELNMOA3-BUTAh-bt.js} +3 -3
  86. package/dist/static/assets/{ganttDiagram-JELNMOA3-6NsYNEcf.js.map → ganttDiagram-JELNMOA3-BUTAh-bt.js.map} +1 -1
  87. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-B0Y7WTbj.js → gitGraphDiagram-V2S2FVAM-jNkE61r9.js} +8 -8
  88. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-B0Y7WTbj.js.map → gitGraphDiagram-V2S2FVAM-jNkE61r9.js.map} +1 -1
  89. package/dist/static/assets/{graph-BE1Fw6SE.js → graph-CCjti2O0.js} +3 -3
  90. package/dist/static/assets/{graph-BE1Fw6SE.js.map → graph-CCjti2O0.js.map} +1 -1
  91. package/dist/static/assets/{index-1Tlt2ebA.js → index-DLmfFirx.js} +328 -320
  92. package/dist/static/assets/index-DLmfFirx.js.map +1 -0
  93. package/dist/static/assets/{infoDiagram-HS3SLOUP-p6CQsk4A.js → infoDiagram-HS3SLOUP-BFxdxbX3.js} +6 -6
  94. package/dist/static/assets/{infoDiagram-HS3SLOUP-p6CQsk4A.js.map → infoDiagram-HS3SLOUP-BFxdxbX3.js.map} +1 -1
  95. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-DR4cvYtN.js → journeyDiagram-XKPGCS4Q-BCLnxPc7.js} +5 -5
  96. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-DR4cvYtN.js.map → journeyDiagram-XKPGCS4Q-BCLnxPc7.js.map} +1 -1
  97. package/dist/static/assets/{kanban-definition-3W4ZIXB7-JPOdtj9o.js → kanban-definition-3W4ZIXB7-BDeqtjCx.js} +3 -3
  98. package/dist/static/assets/{kanban-definition-3W4ZIXB7-JPOdtj9o.js.map → kanban-definition-3W4ZIXB7-BDeqtjCx.js.map} +1 -1
  99. package/dist/static/assets/{layout-BOn5O0Mv.js → layout-BcSBhjCx.js} +5 -5
  100. package/dist/static/assets/{layout-BOn5O0Mv.js.map → layout-BcSBhjCx.js.map} +1 -1
  101. package/dist/static/assets/{linear-BVAPTXI-.js → linear-yE500fJs.js} +2 -2
  102. package/dist/static/assets/{linear-BVAPTXI-.js.map → linear-yE500fJs.js.map} +1 -1
  103. package/dist/static/assets/{mindmap-definition-VGOIOE7T-DUJXw6w6.js → mindmap-definition-VGOIOE7T-B7T5bXb-.js} +4 -4
  104. package/dist/static/assets/{mindmap-definition-VGOIOE7T-DUJXw6w6.js.map → mindmap-definition-VGOIOE7T-B7T5bXb-.js.map} +1 -1
  105. package/dist/static/assets/{pieDiagram-ADFJNKIX-76JJOJvZ.js → pieDiagram-ADFJNKIX-CWFbaJ0k.js} +8 -8
  106. package/dist/static/assets/{pieDiagram-ADFJNKIX-76JJOJvZ.js.map → pieDiagram-ADFJNKIX-CWFbaJ0k.js.map} +1 -1
  107. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-iKXJUo4i.js → quadrantDiagram-AYHSOK5B-DNdamKCt.js} +3 -3
  108. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-iKXJUo4i.js.map → quadrantDiagram-AYHSOK5B-DNdamKCt.js.map} +1 -1
  109. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-B0uk_5yk.js → requirementDiagram-UZGBJVZJ-Ct8UB1vk.js} +4 -4
  110. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-B0uk_5yk.js.map → requirementDiagram-UZGBJVZJ-Ct8UB1vk.js.map} +1 -1
  111. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-O3weNg52.js → sankeyDiagram-TZEHDZUN-DC7E0Ymo.js} +2 -2
  112. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-O3weNg52.js.map → sankeyDiagram-TZEHDZUN-DC7E0Ymo.js.map} +1 -1
  113. package/dist/static/assets/{sequenceDiagram-WL72ISMW-DFnXuPNE.js → sequenceDiagram-WL72ISMW-IiC8_KXA.js} +4 -4
  114. package/dist/static/assets/{sequenceDiagram-WL72ISMW-DFnXuPNE.js.map → sequenceDiagram-WL72ISMW-IiC8_KXA.js.map} +1 -1
  115. package/dist/static/assets/{stateDiagram-FKZM4ZOC-BZjZXttD.js → stateDiagram-FKZM4ZOC-CCJb2r9z.js} +9 -9
  116. package/dist/static/assets/{stateDiagram-FKZM4ZOC-BZjZXttD.js.map → stateDiagram-FKZM4ZOC-CCJb2r9z.js.map} +1 -1
  117. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C_R3IF0y.js → stateDiagram-v2-4FDKWEC3-BvHtU6GE.js} +5 -5
  118. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C_R3IF0y.js.map → stateDiagram-v2-4FDKWEC3-BvHtU6GE.js.map} +1 -1
  119. package/dist/static/assets/{timeline-definition-IT6M3QCI-Kkhw0x0F.js → timeline-definition-IT6M3QCI-Bn2Z-SBO.js} +3 -3
  120. package/dist/static/assets/{timeline-definition-IT6M3QCI-Kkhw0x0F.js.map → timeline-definition-IT6M3QCI-Bn2Z-SBO.js.map} +1 -1
  121. package/dist/static/assets/{treemap-GDKQZRPO-DCcRUg7I.js → treemap-GDKQZRPO-BQopYfN_.js} +5 -5
  122. package/dist/static/assets/{treemap-GDKQZRPO-DCcRUg7I.js.map → treemap-GDKQZRPO-BQopYfN_.js.map} +1 -1
  123. package/dist/static/assets/{xychartDiagram-PRI3JC2R-DQKFjqLB.js → xychartDiagram-PRI3JC2R-CsLeQwkI.js} +3 -3
  124. package/dist/static/assets/{xychartDiagram-PRI3JC2R-DQKFjqLB.js.map → xychartDiagram-PRI3JC2R-CsLeQwkI.js.map} +1 -1
  125. package/dist/static/index.html +1 -1
  126. package/dist/tools/prompts/memory/en/errors.md +155 -0
  127. package/dist/tools/prompts/memory/en/index.md +47 -0
  128. package/dist/tools/prompts/memory/en/principles.md +79 -0
  129. package/dist/tools/prompts/memory/en/scenarios.md +174 -0
  130. package/dist/tools/prompts/memory/en/tools.md +154 -0
  131. package/dist/tools/prompts/memory/zh/errors.md +155 -0
  132. package/dist/tools/prompts/memory/zh/index.md +47 -0
  133. package/dist/tools/prompts/memory/zh/principles.md +79 -0
  134. package/dist/tools/prompts/memory/zh/scenarios.md +174 -0
  135. package/dist/tools/prompts/memory/zh/tools.md +154 -0
  136. package/package.json +1 -1
  137. package/dist/static/assets/index-1Tlt2ebA.js.map +0 -1
@@ -52,7 +52,7 @@
52
52
  padding: 20px;
53
53
  }
54
54
  </style>
55
- <script type="module" crossorigin src="/assets/index-1Tlt2ebA.js"></script>
55
+ <script type="module" crossorigin src="/assets/index-DLmfFirx.js"></script>
56
56
  <link rel="stylesheet" crossorigin href="/assets/index-CD5wtC_i.css">
57
57
  </head>
58
58
  <body>
@@ -0,0 +1,155 @@
1
+ # memory Error Handling
2
+
3
+ ## Template (Errors)
4
+
5
+ ### Error Chain (required)
6
+
7
+ 1. Trigger Condition
8
+ 2. Detection Signal
9
+ 3. Recovery Steps
10
+ 4. Success Criteria
11
+ 5. Escalation Path (optional)
12
+
13
+ ## Error Codes
14
+
15
+ ### MEMORY_ALREADY_EXISTS
16
+
17
+ **Description:** Path already exists, cannot use `add_memory` to create new memory.
18
+
19
+ **Cause:**
20
+
21
+ - The path you're trying to add is already occupied by another memory
22
+
23
+ **Solution:**
24
+
25
+ - Use `replace_memory` to update existing memory
26
+ - Or use a different path to create new memory
27
+
28
+ **Example:**
29
+
30
+ ```
31
+ Error:
32
+ status: error
33
+ error_code: MEMORY_ALREADY_EXISTS
34
+ message: Path "project/todo" already exists, please use replace_memory to update
35
+ ```
36
+
37
+ ### MEMORY_NOT_FOUND
38
+
39
+ **Description:** Path does not exist, cannot perform operation.
40
+
41
+ **Cause:**
42
+
43
+ - The memory path you're trying to access doesn't exist
44
+ - The path was deleted or never created
45
+
46
+ **Solution:**
47
+
48
+ - For update/delete operations, first use `add_memory` to create
49
+ - Check if the path is correct
50
+
51
+ **Example:**
52
+
53
+ ```
54
+ Error:
55
+ status: error
56
+ error_code: MEMORY_NOT_FOUND
57
+ message: Path "project/todo" does not exist, please use add_memory to create first
58
+ ```
59
+
60
+ ### MEMORY_PATH_INVALID
61
+
62
+ **Description:** Path format is invalid.
63
+
64
+ **Cause:**
65
+
66
+ - Path contains illegal characters
67
+ - Path length exceeds limit
68
+
69
+ **Solution:**
70
+
71
+ - Ensure path only contains letters, numbers, underscores, slashes
72
+ - Path length should not exceed 255 characters
73
+
74
+ **Example:**
75
+
76
+ ```
77
+ Error:
78
+ status: error
79
+ error_code: MEMORY_PATH_INVALID
80
+ message: Path "project/*invalid*" contains illegal characters
81
+ ```
82
+
83
+ ### MEMORY_CONTENT_TOO_LARGE
84
+
85
+ **Description:** Memory content is too large.
86
+
87
+ **Cause:**
88
+
89
+ - Single memory content exceeds 1MB limit
90
+
91
+ **Solution:**
92
+
93
+ - Compress content
94
+ - Split into multiple memories
95
+ - Use external storage (e.g., files)
96
+
97
+ **Example:**
98
+
99
+ ```
100
+ Error:
101
+ status: error
102
+ error_code: MEMORY_CONTENT_TOO_LARGE
103
+ message: Content size 1.2MB exceeds 1MB limit
104
+ ```
105
+
106
+ ### MEMORY_STORAGE_ERROR
107
+
108
+ **Description:** Storage error.
109
+
110
+ **Cause:**
111
+
112
+ - Insufficient disk space
113
+ - Permission issues
114
+ - File system error
115
+
116
+ **Solution:**
117
+
118
+ - Check disk space
119
+ - Check file permissions
120
+ - Retry operation
121
+
122
+ **Example:**
123
+
124
+ ```
125
+ Error:
126
+ status: error
127
+ error_code: MEMORY_STORAGE_ERROR
128
+ message: Cannot write to storage, insufficient disk space
129
+ ```
130
+
131
+ ## Frequently Asked Questions
132
+
133
+ ### Q: Does memory auto-save?
134
+
135
+ A: Yes, all memory operations are immediately persisted to disk. No manual save is needed.
136
+
137
+ ### Q: Is there a limit on the number of memories?
138
+
139
+ A: There's no strict limit, but it's recommended to keep the number of memories reasonable (less than 100 recommended).
140
+
141
+ ### Q: Can other members see my memories?
142
+
143
+ A: No, memory is a personal memory tool, only the current agent can access it. If you need to share with team members, please use team_memory.
144
+
145
+ ### Q: Will clear_memory delete all memories?
146
+
147
+ A: Yes, `clear_memory` will delete all personal memories, this operation is irreversible. Please use with caution.
148
+
149
+ ### Q: Do memories expire?
150
+
151
+ A: No, memories are permanently saved until explicitly deleted.
152
+
153
+ ### Q: How do I view all current memories?
154
+
155
+ A: The agent can access all personal memories during response generation. You can directly ask the agent what memories it currently has.
@@ -0,0 +1,47 @@
1
+ # memory Personal Memory Tools Manual
2
+
3
+ ## Template (Index)
4
+
5
+ ### One-line Positioning
6
+
7
+ - <What this toolset is for, in one sentence>
8
+
9
+ ### Tool List
10
+
11
+ - <Enumerate core tools or point to Tools/Schema section>
12
+
13
+ ### 30-Second Quickstart
14
+
15
+ 1. <call ...>
16
+ 2. <observe ...>
17
+ 3. <next step ...>
18
+
19
+ ### Navigation
20
+
21
+ - principles / tools / scenarios / errors
22
+
23
+ ### Boundaries vs Other Toolsets
24
+
25
+ - <When to use this vs a sibling toolset>
26
+
27
+ memory is Dominds' **personal memory toolset** for managing an agent's private memory:
28
+
29
+ - **Privacy**: Memory is only visible to the current agent, not shared with other members
30
+ - **Persistence**: Memory is persisted to disk and retained after conversation restarts
31
+ - **Structured**: Supports organizing memory by path for easy categorization and retrieval
32
+
33
+ ## Quick Navigation
34
+
35
+ | Topic | Description |
36
+ | ----------------------------- | ----------------------------------------------- |
37
+ | [principles](./principles.md) | Core concepts, memory lifecycle, best practices |
38
+ | [tools](./tools.md) | Complete tool list and interface contracts |
39
+ | [scenarios](./scenarios.md) | Common usage scenarios (copy-paste ready) |
40
+ | [errors](./errors.md) | Error codes and solutions |
41
+
42
+ ## Status
43
+
44
+ - Status: Implemented
45
+ - Main implementation files:
46
+ - Tool implementation: `dominds/main/tools/mem.ts`
47
+ - Toolset metadata: `dominds/main/tools/builtins.ts`, `dominds/main/tools/registry.ts`
@@ -0,0 +1,79 @@
1
+ # memory Principles and Core Concepts
2
+
3
+ ## Template (Principles)
4
+
5
+ ### Design Goals
6
+
7
+ - <Goal 1>
8
+ - <Goal 2>
9
+
10
+ ### Contract Principles
11
+
12
+ - <Input/Output contract rules>
13
+
14
+ ### Safety & Boundaries
15
+
16
+ - <Access constraints / guardrails>
17
+
18
+ ### Failure & Recovery
19
+
20
+ - <What to do when a call fails>
21
+
22
+ ### Glossary
23
+
24
+ - <Toolset-specific terms>
25
+
26
+ ## Memory Model
27
+
28
+ The memory toolset uses a **path key-value storage** model:
29
+
30
+ - **Path**: Unique identifier for the memory, similar to a file system path, e.g., `project/todo` or `user/preferences/theme`
31
+ - **Content**: Actual content of the memory, can be arbitrary text
32
+
33
+ ## Tool Overview
34
+
35
+ | Tool | Function |
36
+ | -------------- | -------------------------------------------- |
37
+ | add_memory | Create new memory (when path does not exist) |
38
+ | replace_memory | Update existing memory (when path exists) |
39
+ | drop_memory | Delete memory |
40
+ | clear_memory | Clear all personal memory (irrecoverable) |
41
+
42
+ ## Memory Lifecycle
43
+
44
+ 1. **Create (add)**: Use `add_memory` to create new memory
45
+ 2. **Read**: Agent can read existing memory during response generation
46
+ 3. **Update (replace)**: Use `replace_memory` to update memory content
47
+ 4. **Delete (drop)**: Use `drop_memory` to delete specific memory
48
+
49
+ ## Best Practices
50
+
51
+ ### 1. Path Naming Conventions
52
+
53
+ - Use descriptive paths: `project/architecture`, `user/preferences/language`
54
+ - Avoid special characters: Do not include `/`, `\`, `*`, etc. in paths
55
+ - Use hierarchical structure: Organize memory by topic, e.g., `project/todo`, `project/done`
56
+
57
+ ### 2. Content Format
58
+
59
+ - Keep content concise: Each memory should cover only one topic
60
+ - Use structured format: Can use Markdown format to organize content
61
+ - Regular cleanup: Periodically check and delete outdated memories
62
+
63
+ ### 3. Usage Scenarios
64
+
65
+ - **Task persistence**: Save long-term task progress
66
+ - **Context memory**: Save important information from conversation context
67
+ - **Preference settings**: Save user preferences and configuration information
68
+
69
+ ## Relationship with Other Tools
70
+
71
+ - **team_memory**: Team shared memory, visible to all members
72
+ - **reminder**: Temporary reminder, session-level
73
+ - **change_mind**: Update taskdoc (goals/constraints/progress)
74
+
75
+ ## Limitations and Notes
76
+
77
+ 1. Memory content has size limit (max 1MB per memory)
78
+ 2. Memory path cannot exceed 255 characters
79
+ 3. `clear_memory` will delete all memory, **irrecoverable**
@@ -0,0 +1,174 @@
1
+ # memory Usage Scenarios
2
+
3
+ ## Template (Scenarios)
4
+
5
+ ### Scenario Format
6
+
7
+ - Goal
8
+ - Preconditions
9
+ - Steps
10
+ - Expected Signal
11
+ - Failure Branch
12
+ - Completion Criteria
13
+
14
+ ## Scenario 1: Task Progress Tracking
15
+
16
+ ### Scenario Description
17
+
18
+ In long-running tasks, you need to persist task progress to continue after restart.
19
+
20
+ ### Example
21
+
22
+ **Add Task List**
23
+
24
+ ```typescript
25
+ add_memory({
26
+ path: 'project/i18n-tasks',
27
+ content:
28
+ '## TODO\n\n- [ ] Create ws_mod manual\n- [ ] Create team_mgmt manual\n- [ ] Create memory manual\n- [ ] Create control manual\n\n## In Progress\n- [ ] Create ws_mod manual [100%]',
29
+ });
30
+ ```
31
+
32
+ **Update Task Progress**
33
+
34
+ ```typescript
35
+ replace_memory({
36
+ path: 'project/i18n-tasks',
37
+ content:
38
+ '## TODO\n\n- [ ] Create team_mgmt manual\n- [ ] Create memory manual\n- [ ] Create control manual\n\n## Completed\n- [x] Create ws_mod manual\n\n## In Progress\n- [ ] Create team_mgmt manual [50%]',
39
+ });
40
+ ```
41
+
42
+ ## Scenario 2: User Preferences Storage
43
+
44
+ ### Scenario Description
45
+
46
+ Save user preferences, such as programming language, theme, etc.
47
+
48
+ ### Example
49
+
50
+ **Save User Preferences**
51
+
52
+ ```typescript
53
+ add_memory({
54
+ path: 'user/preferences',
55
+ content:
56
+ '## User Preferences\n\n- Programming Language: TypeScript\n- Code Style: strict\n- Theme: dark\n- Auto Save: true',
57
+ });
58
+ ```
59
+
60
+ **Update Preferences**
61
+
62
+ ```typescript
63
+ replace_memory({
64
+ path: 'user/preferences',
65
+ content:
66
+ '## User Preferences\n\n- Programming Language: TypeScript\n- Code Style: strict\n- Theme: light\n- Auto Save: true',
67
+ });
68
+ ```
69
+
70
+ ## Scenario 3: Context Information Preservation
71
+
72
+ ### Scenario Description
73
+
74
+ In complex tasks, save important context information to avoid repeated queries.
75
+
76
+ ### Example
77
+
78
+ **Save API Information**
79
+
80
+ ```typescript
81
+ add_memory({
82
+ path: 'context/api-endpoints',
83
+ content:
84
+ '## API Endpoints\n\n- User Login: POST /api/auth/login\n- Get User Info: GET /api/user/info\n- Update User Settings: PUT /api/user/settings\n\n## Authentication\n- Use Bearer Token\n- Validity: 24 hours',
85
+ });
86
+ ```
87
+
88
+ **Save Tech Stack**
89
+
90
+ ```typescript
91
+ add_memory({
92
+ path: 'context/tech-stack',
93
+ content:
94
+ '## Tech Stack\n\n- Frontend: React + TypeScript\n- Backend: Node.js + Express\n- Database: PostgreSQL\n- Cache: Redis',
95
+ });
96
+ ```
97
+
98
+ ## Scenario 4: Meeting Notes
99
+
100
+ ### Scenario Description
101
+
102
+ Save meeting highlights and decisions.
103
+
104
+ ### Example
105
+
106
+ ```typescript
107
+ add_memory({
108
+ path: 'meeting/2024-01-15',
109
+ content:
110
+ '## Meeting Notes: 2024-01-15\n\n### Participants\n- @fullstack\n- @i18n\n- @ux\n\n### Agenda\n1. i18n manual creation plan\n2. man function UX improvements\n\n### Decisions\n- Prioritize creating ws_mod and team_mgmt manuals\n- man function supports fuzzy matching\n\n### TODO\n- @i18n: Create memory manual\n- @fullstack: Optimize man function',
111
+ });
112
+ ```
113
+
114
+ ## Scenario 5: Knowledge Base
115
+
116
+ ### Scenario Description
117
+
118
+ Build a personal knowledge base and save learning notes.
119
+
120
+ ### Example
121
+
122
+ ```typescript
123
+ add_memory({
124
+ path: 'knowledge/typescript-tips',
125
+ content:
126
+ '## TypeScript Tips\n\n### 1. Type Inference\nconst x = 1; // Type inferred as number\n\n### 2. Interface vs Type\n- Interface: Extensible, suitable for object types\n- Type: Supports union types, intersection types\n\n### 3. Strict Mode\nEnabling strict mode provides better type safety',
127
+ });
128
+ ```
129
+
130
+ ## Scenario 6: Temporary Notes
131
+
132
+ ### Scenario Description
133
+
134
+ Temporarily save information to process later.
135
+
136
+ ### Example
137
+
138
+ ```typescript
139
+ add_memory({
140
+ path: 'scratchpad/temp-notes',
141
+ content:
142
+ '## Temporary Notes\n\n- TODO: Check team.yaml configuration\n- TODO: Verify man function types\n- TODO: Update taskdoc progress',
143
+ });
144
+ ```
145
+
146
+ **Delete after processing**
147
+
148
+ ```typescript
149
+ drop_memory({
150
+ path: 'scratchpad/temp-notes',
151
+ });
152
+ ```
153
+
154
+ ## Scenario 7: Cleaning Up Outdated Memory
155
+
156
+ ### Scenario Description
157
+
158
+ Regularly clean up memories that are no longer needed.
159
+
160
+ ### Example
161
+
162
+ ```typescript
163
+ // View all current memories (agent can read)
164
+ // Delete unnecessary memories one by one
165
+ drop_memory({
166
+ path: 'project/old-feature',
167
+ });
168
+ ```
169
+
170
+ Or use `clear_memory` to clear all memories (use with caution):
171
+
172
+ ```typescript
173
+ clear_memory({});
174
+ ```
@@ -0,0 +1,154 @@
1
+ # memory Tool Reference
2
+
3
+ ## Template (Tools)
4
+
5
+ ### How to Read
6
+
7
+ - The schema-generated "Tool Contract (Schema)" section is canonical for parameters/returns.
8
+
9
+ ### Per-Tool Fields (order)
10
+
11
+ 1. Purpose
12
+ 2. Call Signature
13
+ 3. Parameters (refer to schema)
14
+ 4. Preconditions
15
+ 5. Success Signal
16
+ 6. Failure/Errors
17
+ 7. Copy-Ready Example
18
+ 8. Common Misuse
19
+
20
+ ## Tool List
21
+
22
+ ### 1. add_memory
23
+
24
+ Create new memory (when path does not exist).
25
+
26
+ **Parameters:**
27
+
28
+ - `path` (required): Unique identifier for the memory
29
+ - `content` (required): Memory content
30
+
31
+ **Returns:**
32
+
33
+ ```yaml
34
+ status: ok|error
35
+ path: <memory path>
36
+ content_size: <content size in bytes>
37
+ created_at: <creation timestamp>
38
+ ```
39
+
40
+ **Errors:**
41
+
42
+ - `MEMORY_ALREADY_EXISTS`: Path already exists, use `replace_memory` to update
43
+
44
+ ### 2. replace_memory
45
+
46
+ Update existing memory (when path exists).
47
+
48
+ **Parameters:**
49
+
50
+ - `path` (required): Unique identifier for the memory
51
+ - `content` (required): New memory content
52
+
53
+ **Returns:**
54
+
55
+ ```yaml
56
+ status: ok|error
57
+ path: <memory path>
58
+ content_size: <content size in bytes>
59
+ updated_at: <update timestamp>
60
+ ```
61
+
62
+ **Errors:**
63
+
64
+ - `MEMORY_NOT_FOUND`: Path does not exist, use `add_memory` to create
65
+
66
+ ### 3. drop_memory
67
+
68
+ Delete specified memory.
69
+
70
+ **Parameters:**
71
+
72
+ - `path` (required): Memory path to delete
73
+
74
+ **Returns:**
75
+
76
+ ```yaml
77
+ status: ok|error
78
+ path: <memory path>
79
+ deleted_at: <deletion timestamp>
80
+ ```
81
+
82
+ **Errors:**
83
+
84
+ - `MEMORY_NOT_FOUND`: Path does not exist
85
+
86
+ ### 4. clear_memory
87
+
88
+ Clear all personal memory.
89
+
90
+ **Warning:** This operation is irreversible!
91
+
92
+ **Parameters:** None
93
+
94
+ **Returns:**
95
+
96
+ ```yaml
97
+ status: ok|error
98
+ cleared_count: <number of memories deleted>
99
+ cleared_at: <deletion timestamp>
100
+ ```
101
+
102
+ **Errors:**
103
+
104
+ - None (returns success even if no memories exist)
105
+
106
+ ## Usage Examples
107
+
108
+ ### Add New Memory
109
+
110
+ ```typescript
111
+ add_memory({
112
+ path: 'project/todo',
113
+ content: '- Complete i18n docs\n- Write test cases\n- Update README',
114
+ });
115
+ ```
116
+
117
+ ### Update Existing Memory
118
+
119
+ ```typescript
120
+ replace_memory({
121
+ path: 'project/todo',
122
+ content: '- Complete i18n docs [DONE]\n- Write test cases [IN PROGRESS]\n- Update README',
123
+ });
124
+ ```
125
+
126
+ ### Delete Memory
127
+
128
+ ```typescript
129
+ drop_memory({
130
+ path: 'project/todo',
131
+ });
132
+ ```
133
+
134
+ ### Clear All Memory
135
+
136
+ ```typescript
137
+ clear_memory({});
138
+ ```
139
+
140
+ ## YAML Output Contract
141
+
142
+ All tool outputs use YAML format for programmatic processing:
143
+
144
+ - `status`: Operation status, `ok` for success, `error` for failure
145
+ - `path`: Memory path
146
+ - Other fields: Additional information for specific operations
147
+
148
+ On error, returns:
149
+
150
+ ```yaml
151
+ status: error
152
+ error_code: <error code>
153
+ message: <error message>
154
+ ```