brainfile 0.21.2 → 0.22.1

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 (233) hide show
  1. package/README.md +1 -1
  2. package/dist/__tests__/helpers/mcp-wire.d.ts +2 -0
  3. package/dist/__tests__/helpers/mcp-wire.d.ts.map +1 -1
  4. package/dist/__tests__/helpers/mcp-wire.js +4 -2
  5. package/dist/__tests__/helpers/mcp-wire.js.map +1 -1
  6. package/dist/chunk-CWUTU5VV.mjs +5585 -0
  7. package/dist/chunk-L4WSDMK3.mjs +1973 -0
  8. package/dist/{chunk-7KU2R7QC.mjs → chunk-XFDTTLSW.mjs} +3230 -4322
  9. package/dist/cli.js +7 -1
  10. package/dist/cli.mjs +8078 -5357
  11. package/dist/commands/add.d.ts +4 -0
  12. package/dist/commands/add.d.ts.map +1 -1
  13. package/dist/commands/add.js +68 -72
  14. package/dist/commands/add.js.map +1 -1
  15. package/dist/commands/boards.d.ts +18 -0
  16. package/dist/commands/boards.d.ts.map +1 -0
  17. package/dist/commands/boards.js +166 -0
  18. package/dist/commands/boards.js.map +1 -0
  19. package/dist/commands/brief.d.ts +17 -11
  20. package/dist/commands/brief.d.ts.map +1 -1
  21. package/dist/commands/brief.js +38 -35
  22. package/dist/commands/brief.js.map +1 -1
  23. package/dist/commands/check.d.ts +47 -0
  24. package/dist/commands/check.d.ts.map +1 -0
  25. package/dist/commands/check.js +134 -0
  26. package/dist/commands/check.js.map +1 -0
  27. package/dist/commands/columns.d.ts +48 -0
  28. package/dist/commands/columns.d.ts.map +1 -0
  29. package/dist/commands/columns.js +132 -0
  30. package/dist/commands/columns.js.map +1 -0
  31. package/dist/commands/complete.js +9 -4
  32. package/dist/commands/complete.js.map +1 -1
  33. package/dist/commands/decide.d.ts +72 -0
  34. package/dist/commands/decide.d.ts.map +1 -0
  35. package/dist/commands/decide.js +264 -0
  36. package/dist/commands/decide.js.map +1 -0
  37. package/dist/commands/hooks.d.ts +5 -1
  38. package/dist/commands/hooks.d.ts.map +1 -1
  39. package/dist/commands/hooks.js +10 -11
  40. package/dist/commands/hooks.js.map +1 -1
  41. package/dist/commands/init.d.ts.map +1 -1
  42. package/dist/commands/init.js +8 -0
  43. package/dist/commands/init.js.map +1 -1
  44. package/dist/commands/lint.d.ts +27 -0
  45. package/dist/commands/lint.d.ts.map +1 -1
  46. package/dist/commands/lint.js +127 -20
  47. package/dist/commands/lint.js.map +1 -1
  48. package/dist/commands/list.d.ts +6 -0
  49. package/dist/commands/list.d.ts.map +1 -1
  50. package/dist/commands/list.js +216 -7
  51. package/dist/commands/list.js.map +1 -1
  52. package/dist/commands/log.d.ts +51 -0
  53. package/dist/commands/log.d.ts.map +1 -1
  54. package/dist/commands/log.js +113 -84
  55. package/dist/commands/log.js.map +1 -1
  56. package/dist/commands/mcp.d.ts +5 -2
  57. package/dist/commands/mcp.d.ts.map +1 -1
  58. package/dist/commands/mcp.js +44 -9
  59. package/dist/commands/mcp.js.map +1 -1
  60. package/dist/commands/memory-index.d.ts +34 -0
  61. package/dist/commands/memory-index.d.ts.map +1 -0
  62. package/dist/commands/memory-index.js +135 -0
  63. package/dist/commands/memory-index.js.map +1 -0
  64. package/dist/commands/merge-driver.d.ts +1 -15
  65. package/dist/commands/merge-driver.d.ts.map +1 -1
  66. package/dist/commands/merge-driver.js +8 -134
  67. package/dist/commands/merge-driver.js.map +1 -1
  68. package/dist/commands/migrate-tracked.d.ts +1 -1
  69. package/dist/commands/migrate-tracked.d.ts.map +1 -1
  70. package/dist/commands/migrate-tracked.js +21 -10
  71. package/dist/commands/migrate-tracked.js.map +1 -1
  72. package/dist/commands/patch.d.ts +23 -4
  73. package/dist/commands/patch.d.ts.map +1 -1
  74. package/dist/commands/patch.js +149 -91
  75. package/dist/commands/patch.js.map +1 -1
  76. package/dist/commands/plan.d.ts.map +1 -1
  77. package/dist/commands/plan.js +11 -5
  78. package/dist/commands/plan.js.map +1 -1
  79. package/dist/commands/schema.d.ts +12 -0
  80. package/dist/commands/schema.d.ts.map +1 -1
  81. package/dist/commands/schema.js +28 -10
  82. package/dist/commands/schema.js.map +1 -1
  83. package/dist/commands/search.d.ts +46 -12
  84. package/dist/commands/search.d.ts.map +1 -1
  85. package/dist/commands/search.js +89 -44
  86. package/dist/commands/search.js.map +1 -1
  87. package/dist/commands/show.d.ts.map +1 -1
  88. package/dist/commands/show.js +175 -10
  89. package/dist/commands/show.js.map +1 -1
  90. package/dist/commands/template.d.ts +2 -0
  91. package/dist/commands/template.d.ts.map +1 -1
  92. package/dist/commands/template.js +2 -1
  93. package/dist/commands/template.js.map +1 -1
  94. package/dist/commands/types.d.ts +31 -1
  95. package/dist/commands/types.d.ts.map +1 -1
  96. package/dist/commands/types.js +122 -22
  97. package/dist/commands/types.js.map +1 -1
  98. package/dist/commands/where.d.ts +20 -1
  99. package/dist/commands/where.d.ts.map +1 -1
  100. package/dist/commands/where.js +56 -6
  101. package/dist/commands/where.js.map +1 -1
  102. package/dist/hook.mjs +15 -0
  103. package/dist/hooks/session-start.d.ts +39 -0
  104. package/dist/hooks/session-start.d.ts.map +1 -0
  105. package/dist/hooks/session-start.js +181 -0
  106. package/dist/hooks/session-start.js.map +1 -0
  107. package/dist/lib/contractRunner.d.ts.map +1 -1
  108. package/dist/lib/contractRunner.js +8 -0
  109. package/dist/lib/contractRunner.js.map +1 -1
  110. package/dist/mcp/helpers.d.ts +29 -1
  111. package/dist/mcp/helpers.d.ts.map +1 -1
  112. package/dist/mcp/helpers.js +57 -2
  113. package/dist/mcp/helpers.js.map +1 -1
  114. package/dist/mcp/instructions.d.ts +5 -0
  115. package/dist/mcp/instructions.d.ts.map +1 -0
  116. package/dist/mcp/instructions.js +57 -0
  117. package/dist/mcp/instructions.js.map +1 -0
  118. package/dist/mcp/resources.d.ts +9 -0
  119. package/dist/mcp/resources.d.ts.map +1 -0
  120. package/dist/mcp/resources.js +29 -0
  121. package/dist/mcp/resources.js.map +1 -0
  122. package/dist/mcp/schemas.d.ts +600 -9
  123. package/dist/mcp/schemas.d.ts.map +1 -1
  124. package/dist/mcp/schemas.js +374 -12
  125. package/dist/mcp/schemas.js.map +1 -1
  126. package/dist/mcp/tools/adr_promote_tool.d.ts +7 -0
  127. package/dist/mcp/tools/adr_promote_tool.d.ts.map +1 -0
  128. package/dist/mcp/tools/adr_promote_tool.js +37 -0
  129. package/dist/mcp/tools/adr_promote_tool.js.map +1 -0
  130. package/dist/mcp/tools/board_tool.d.ts +7 -0
  131. package/dist/mcp/tools/board_tool.d.ts.map +1 -0
  132. package/dist/mcp/tools/board_tool.js +61 -0
  133. package/dist/mcp/tools/board_tool.js.map +1 -0
  134. package/dist/mcp/tools/brief_tool.d.ts.map +1 -1
  135. package/dist/mcp/tools/brief_tool.js +13 -5
  136. package/dist/mcp/tools/brief_tool.js.map +1 -1
  137. package/dist/mcp/tools/check_tool.d.ts +6 -0
  138. package/dist/mcp/tools/check_tool.d.ts.map +1 -0
  139. package/dist/mcp/tools/check_tool.js +54 -0
  140. package/dist/mcp/tools/check_tool.js.map +1 -0
  141. package/dist/mcp/tools/columns_tool.d.ts +7 -0
  142. package/dist/mcp/tools/columns_tool.d.ts.map +1 -0
  143. package/dist/mcp/tools/columns_tool.js +94 -0
  144. package/dist/mcp/tools/columns_tool.js.map +1 -0
  145. package/dist/mcp/tools/decide_tool.d.ts +91 -0
  146. package/dist/mcp/tools/decide_tool.d.ts.map +1 -0
  147. package/dist/mcp/tools/decide_tool.js +141 -0
  148. package/dist/mcp/tools/decide_tool.js.map +1 -0
  149. package/dist/mcp/tools/get_task_tool.d.ts.map +1 -1
  150. package/dist/mcp/tools/get_task_tool.js +62 -4
  151. package/dist/mcp/tools/get_task_tool.js.map +1 -1
  152. package/dist/mcp/tools/lint_tool.d.ts +7 -0
  153. package/dist/mcp/tools/lint_tool.d.ts.map +1 -0
  154. package/dist/mcp/tools/lint_tool.js +48 -0
  155. package/dist/mcp/tools/lint_tool.js.map +1 -0
  156. package/dist/mcp/tools/list_tasks_tool.d.ts.map +1 -1
  157. package/dist/mcp/tools/list_tasks_tool.js +132 -15
  158. package/dist/mcp/tools/list_tasks_tool.js.map +1 -1
  159. package/dist/mcp/tools/log_tool.d.ts +4 -0
  160. package/dist/mcp/tools/log_tool.d.ts.map +1 -0
  161. package/dist/mcp/tools/log_tool.js +52 -0
  162. package/dist/mcp/tools/log_tool.js.map +1 -0
  163. package/dist/mcp/tools/note_tool.d.ts +7 -0
  164. package/dist/mcp/tools/note_tool.d.ts.map +1 -0
  165. package/dist/mcp/tools/note_tool.js +39 -0
  166. package/dist/mcp/tools/note_tool.js.map +1 -0
  167. package/dist/mcp/tools/retire_tool.d.ts +4 -0
  168. package/dist/mcp/tools/retire_tool.d.ts.map +1 -0
  169. package/dist/mcp/tools/retire_tool.js +81 -0
  170. package/dist/mcp/tools/retire_tool.js.map +1 -0
  171. package/dist/mcp/tools/search_tool.d.ts.map +1 -1
  172. package/dist/mcp/tools/search_tool.js +36 -19
  173. package/dist/mcp/tools/search_tool.js.map +1 -1
  174. package/dist/mcp/tools/supersede_tool.d.ts +4 -0
  175. package/dist/mcp/tools/supersede_tool.d.ts.map +1 -0
  176. package/dist/mcp/tools/supersede_tool.js +72 -0
  177. package/dist/mcp/tools/supersede_tool.js.map +1 -0
  178. package/dist/mcp/tools/sync_tool.d.ts +9 -0
  179. package/dist/mcp/tools/sync_tool.d.ts.map +1 -0
  180. package/dist/mcp/tools/sync_tool.js +87 -0
  181. package/dist/mcp/tools/sync_tool.js.map +1 -0
  182. package/dist/mcp/tools/task_add_tool.d.ts.map +1 -1
  183. package/dist/mcp/tools/task_add_tool.js +39 -17
  184. package/dist/mcp/tools/task_add_tool.js.map +1 -1
  185. package/dist/mcp/tools/task_complete_tool.d.ts.map +1 -1
  186. package/dist/mcp/tools/task_complete_tool.js +3 -2
  187. package/dist/mcp/tools/task_complete_tool.js.map +1 -1
  188. package/dist/mcp/tools/task_patch_tool.d.ts.map +1 -1
  189. package/dist/mcp/tools/task_patch_tool.js +30 -5
  190. package/dist/mcp/tools/task_patch_tool.js.map +1 -1
  191. package/dist/mcp/tools/template_tool.d.ts +4 -0
  192. package/dist/mcp/tools/template_tool.d.ts.map +1 -0
  193. package/dist/mcp/tools/template_tool.js +70 -0
  194. package/dist/mcp/tools/template_tool.js.map +1 -0
  195. package/dist/mcp/tools/types_tool.d.ts +4 -0
  196. package/dist/mcp/tools/types_tool.d.ts.map +1 -0
  197. package/dist/mcp/tools/types_tool.js +61 -0
  198. package/dist/mcp/tools/types_tool.js.map +1 -0
  199. package/dist/mcp/tools/where_tool.d.ts +4 -0
  200. package/dist/mcp/tools/where_tool.d.ts.map +1 -0
  201. package/dist/mcp/tools/where_tool.js +73 -0
  202. package/dist/mcp/tools/where_tool.js.map +1 -0
  203. package/dist/schemas/board.json +29 -8
  204. package/dist/{tui-3Z7ZJV7M.mjs → tui-D6RMFL6X.mjs} +994 -315
  205. package/dist/utils/board-autosync.d.ts +1 -10
  206. package/dist/utils/board-autosync.d.ts.map +1 -1
  207. package/dist/utils/board-autosync.js +11 -29
  208. package/dist/utils/board-autosync.js.map +1 -1
  209. package/dist/utils/board-commit-hooks.d.ts +8 -0
  210. package/dist/utils/board-commit-hooks.d.ts.map +1 -1
  211. package/dist/utils/board-commit-hooks.js +45 -1
  212. package/dist/utils/board-commit-hooks.js.map +1 -1
  213. package/dist/utils/board-repo.d.ts +1 -119
  214. package/dist/utils/board-repo.d.ts.map +1 -1
  215. package/dist/utils/board-repo.js +43 -571
  216. package/dist/utils/board-repo.js.map +1 -1
  217. package/dist/utils/board-sync.d.ts +3 -123
  218. package/dist/utils/board-sync.d.ts.map +1 -1
  219. package/dist/utils/board-sync.js +34 -551
  220. package/dist/utils/board-sync.js.map +1 -1
  221. package/dist/utils/graph.d.ts +20 -0
  222. package/dist/utils/graph.d.ts.map +1 -0
  223. package/dist/utils/graph.js +61 -0
  224. package/dist/utils/graph.js.map +1 -0
  225. package/dist/utils/related.d.ts +21 -0
  226. package/dist/utils/related.d.ts.map +1 -0
  227. package/dist/utils/related.js +36 -0
  228. package/dist/utils/related.js.map +1 -0
  229. package/package.json +2 -2
  230. package/dist/tui/theme.d.ts +0 -98
  231. package/dist/tui/theme.d.ts.map +0 -1
  232. package/dist/tui/theme.js +0 -141
  233. package/dist/tui/theme.js.map +0 -1
@@ -10,6 +10,7 @@
10
10
  * @packageDocumentation
11
11
  */
12
12
  import { type Logger } from '../utils/logger';
13
+ import { type V2Dirs } from '../utils/v2-detect';
13
14
  export interface LogOptions {
14
15
  file: string;
15
16
  task?: string;
@@ -44,9 +45,59 @@ export interface LogNoteResult {
44
45
  * View or search completed task logs.
45
46
  */
46
47
  export declare function logCommand(options: LogOptions, logger?: Logger): LogResult;
48
+ /** A note appended to a task's log. */
49
+ export interface TaskNote {
50
+ taskId: string;
51
+ /** The line written: `- <timestamp>: [<who>] <message>`. */
52
+ entry: string;
53
+ /** Who it is attributed to, when anyone could be told. */
54
+ agent?: string;
55
+ /** True when the task is completed (its file is in logs/). */
56
+ isLog: boolean;
57
+ }
58
+ /**
59
+ * Append a timestamped note to a task's `## Log` section, on an open task or
60
+ * a completed one. Attributed to `agent`, else the detected agent, else the
61
+ * git user. The CLI's `note` and the MCP `note` tool both write through this.
62
+ */
63
+ export declare function appendTaskNote(filePath: string, taskId: string, message: string, agent?: string): TaskNote;
47
64
  /**
48
65
  * Append a timestamped note to a task's log section.
49
66
  * Works on both active tasks and completed logs.
50
67
  */
51
68
  export declare function logNoteCommand(options: LogNoteOptions, logger?: Logger): LogNoteResult;
69
+ /** One task's log, open or completed. */
70
+ export interface TaskLogView {
71
+ id: string;
72
+ title: string;
73
+ completedAt?: string;
74
+ isLog: boolean;
75
+ description?: string;
76
+ log?: string;
77
+ }
78
+ /** A task's description and log, from board/ or logs/. */
79
+ export declare function readTaskLog(dirs: V2Dirs, taskId: string): TaskLogView;
80
+ /** A completed task whose title, description or log matches a search. */
81
+ export interface LogSearchMatch {
82
+ id: string;
83
+ title: string;
84
+ completedAt?: string;
85
+ /** Where it matched: the title, the log line, or the description. */
86
+ match: string;
87
+ }
88
+ /** Search the completed tasks in logs/: title, description and log. */
89
+ export declare function searchLogEntries(dirs: V2Dirs, query: string): LogSearchMatch[];
90
+ /** A completed task, newest first. */
91
+ export interface RecentLogEntry {
92
+ id: string;
93
+ title: string;
94
+ completedAt?: string;
95
+ /** Only in ledger.jsonl, with no file in logs/. */
96
+ ledgerOnly?: boolean;
97
+ }
98
+ /**
99
+ * Completed work, newest first: logs/ (decisions retired there were never
100
+ * completed and are left out) and ledger records with no file there.
101
+ */
102
+ export declare function recentLogEntries(dirs: V2Dirs): RecentLogEntry[];
52
103
  //# sourceMappingURL=log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAe7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAE,MAAsB,GAAG,SAAS,CAwBzF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,GAAE,MAAsB,GAAG,aAAa,CA4CrG"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAK7D,OAAO,EAOL,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAE,MAAsB,GAAG,SAAS,CAwBzF;AAED,uCAAuC;AACvC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CA4B1G;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,GAAE,MAAsB,GAAG,aAAa,CAgBrG;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAgBrE;AAED,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAqB9E;AAED,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CA4B/D"}
@@ -48,7 +48,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.logCommand = logCommand;
51
+ exports.appendTaskNote = appendTaskNote;
51
52
  exports.logNoteCommand = logNoteCommand;
53
+ exports.readTaskLog = readTaskLog;
54
+ exports.searchLogEntries = searchLogEntries;
55
+ exports.recentLogEntries = recentLogEntries;
52
56
  const fs = __importStar(require("fs"));
53
57
  const path = __importStar(require("path"));
54
58
  const chalk_1 = __importDefault(require("chalk"));
@@ -82,17 +86,11 @@ function logCommand(options, logger = logger_1.defaultLogger) {
82
86
  return listRecentLogs(dirs, logger);
83
87
  }
84
88
  /**
85
- * Append a timestamped note to a task's log section.
86
- * Works on both active tasks and completed logs.
89
+ * Append a timestamped note to a task's `## Log` section, on an open task or
90
+ * a completed one. Attributed to `agent`, else the detected agent, else the
91
+ * git user. The CLI's `note` and the MCP `note` tool both write through this.
87
92
  */
88
- function logNoteCommand(options, logger = logger_1.defaultLogger) {
89
- if (!options.task) {
90
- throw (0, cli_error_1.missingRequired)('--task', 'brainfile log note --task <task-id> "message"');
91
- }
92
- if (!options.message) {
93
- throw (0, cli_error_1.missingRequired)('message', 'brainfile log note --task <task-id> "message"');
94
- }
95
- const filePath = (0, brainfile_path_1.resolveCliBrainfilePath)(options.file);
93
+ function appendTaskNote(filePath, taskId, message, agent) {
96
94
  if (!fs.existsSync(filePath)) {
97
95
  throw (0, cli_error_1.fileNotFound)(filePath);
98
96
  }
@@ -100,51 +98,133 @@ function logNoteCommand(options, logger = logger_1.defaultLogger) {
100
98
  throw (0, cli_error_1.operationFailed)('Log note command requires v2 per-task file architecture. Run: brainfile migrate');
101
99
  }
102
100
  const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
103
- const found = (0, v2_detect_1.findV2Task)(dirs, options.task, true);
101
+ const found = (0, v2_detect_1.findV2Task)(dirs, taskId, true);
104
102
  if (!found) {
105
- throw (0, cli_error_1.taskNotFound)(options.task);
103
+ throw (0, cli_error_1.taskNotFound)(taskId);
106
104
  }
107
105
  const { doc, filePath: taskPath } = found;
108
106
  const timestamp = new Date().toISOString();
109
107
  // Who wrote it: --agent, else the detected agent, else the git user.
110
- const actor = options.agent?.trim() || (0, actor_1.resolveActor)(path.dirname(filePath))?.name;
108
+ const actor = agent?.trim() || (0, actor_1.resolveActor)(path.dirname(filePath))?.name;
111
109
  const agentPrefix = actor ? `[${actor}] ` : '';
112
- const entry = `- ${timestamp}: ${agentPrefix}${options.message}`;
110
+ const entry = `- ${timestamp}: ${agentPrefix}${message}`;
113
111
  // Extract existing sections from body
114
112
  const existingDesc = (0, v2_detect_1.extractDescription)(doc.body);
115
113
  const existingLog = (0, v2_detect_1.extractLog)(doc.body);
116
114
  const newLog = existingLog ? `${existingLog}\n${entry}` : entry;
117
- const newBody = (0, v2_detect_1.composeBody)(existingDesc, newLog);
118
- (0, core_1.writeTaskFile)(taskPath, doc.task, newBody);
115
+ (0, core_1.writeTaskFile)(taskPath, doc.task, (0, v2_detect_1.composeBody)(existingDesc, newLog));
116
+ return { taskId, entry, ...(actor ? { agent: actor } : {}), isLog: found.isLog };
117
+ }
118
+ /**
119
+ * Append a timestamped note to a task's log section.
120
+ * Works on both active tasks and completed logs.
121
+ */
122
+ function logNoteCommand(options, logger = logger_1.defaultLogger) {
123
+ if (!options.task) {
124
+ throw (0, cli_error_1.missingRequired)('--task', 'brainfile log note --task <task-id> "message"');
125
+ }
126
+ if (!options.message) {
127
+ throw (0, cli_error_1.missingRequired)('message', 'brainfile log note --task <task-id> "message"');
128
+ }
129
+ const filePath = (0, brainfile_path_1.resolveCliBrainfilePath)(options.file);
130
+ const { entry } = appendTaskNote(filePath, options.task, options.message, options.agent);
119
131
  logger.log(chalk_1.default.green('Log entry added.'));
120
132
  logger.log(chalk_1.default.gray(` Task: ${options.task}`));
121
133
  logger.log(chalk_1.default.gray(` ${entry}`));
122
134
  return { success: true, taskId: options.task, entry };
123
135
  }
124
- function viewTaskLog(dirs, taskId, logger) {
125
- // Search in both tasks and logs
136
+ /** A task's description and log, from board/ or logs/. */
137
+ function readTaskLog(dirs, taskId) {
126
138
  const found = (0, v2_detect_1.findV2Task)(dirs, taskId, true);
127
139
  if (!found) {
128
140
  throw (0, cli_error_1.taskNotFound)(taskId);
129
141
  }
130
- const { doc } = found;
131
- const task = doc.task;
132
- const description = (0, v2_detect_1.extractDescription)(doc.body);
133
- const logContent = (0, v2_detect_1.extractLog)(doc.body);
142
+ const task = found.doc.task;
143
+ const description = (0, v2_detect_1.extractDescription)(found.doc.body);
144
+ const log = (0, v2_detect_1.extractLog)(found.doc.body);
145
+ return {
146
+ id: task.id,
147
+ title: task.title,
148
+ ...(task.completedAt ? { completedAt: task.completedAt } : {}),
149
+ isLog: found.isLog,
150
+ ...(description ? { description } : {}),
151
+ ...(log ? { log } : {}),
152
+ };
153
+ }
154
+ /** Search the completed tasks in logs/: title, description and log. */
155
+ function searchLogEntries(dirs, query) {
156
+ const queryLower = query.toLowerCase();
157
+ const matches = [];
158
+ for (const doc of (0, core_1.readTasksDir)(dirs.logsDir)) {
159
+ const task = doc.task;
160
+ // Matching decision is core's; the match-context snippet below is presentation.
161
+ if ((0, core_1.scoreTaskDocument)(doc, queryLower) <= 0)
162
+ continue;
163
+ const logContent = (0, v2_detect_1.extractLog)(doc.body);
164
+ let match;
165
+ if (task.title.toLowerCase().includes(queryLower)) {
166
+ match = `Title: ${task.title}`;
167
+ }
168
+ else if (logContent && logContent.toLowerCase().includes(queryLower)) {
169
+ // Find the line containing the match
170
+ const matchLine = logContent.split('\n').find(l => l.toLowerCase().includes(queryLower));
171
+ match = matchLine ? matchLine.trim() : 'Log entry';
172
+ }
173
+ else {
174
+ match = 'Description match';
175
+ }
176
+ matches.push({ id: task.id, title: task.title, completedAt: task.completedAt, match });
177
+ }
178
+ return matches;
179
+ }
180
+ /**
181
+ * Completed work, newest first: logs/ (decisions retired there were never
182
+ * completed and are left out) and ledger records with no file there.
183
+ */
184
+ function recentLogEntries(dirs) {
185
+ // A decision retired to logs/ (spec-11) was never completed: not a recent completion.
186
+ const logDocs = (0, core_1.readTasksDir)(dirs.logsDir)
187
+ .filter((d) => d.task.completedAt || (0, core_1.resolveDocType)(d.task.type).role !== 'decision');
188
+ // Union in ledger records that have no markdown archive. Under the
189
+ // dual-artifact model both always exist, but boards touched by the
190
+ // pre-2026-08-13 destructive --logs-to-ledger may have ledger-only history.
191
+ const seenIds = new Set(logDocs.map((d) => d.task.id));
192
+ const entries = logDocs.map((d) => ({ id: d.task.id, title: d.task.title, completedAt: d.task.completedAt }));
193
+ const ledgerPath = path.join(dirs.logsDir, 'ledger.jsonl');
194
+ if (fs.existsSync(ledgerPath)) {
195
+ for (const line of fs.readFileSync(ledgerPath, 'utf-8').split('\n')) {
196
+ const trimmed = line.trim();
197
+ if (!trimmed)
198
+ continue;
199
+ try {
200
+ const record = JSON.parse(trimmed);
201
+ if (record?.id && !seenIds.has(record.id)) {
202
+ seenIds.add(record.id);
203
+ entries.push({ id: record.id, title: record.title ?? record.id, completedAt: record.completedAt, ledgerOnly: true });
204
+ }
205
+ }
206
+ catch { /* skip malformed lines */ }
207
+ }
208
+ }
209
+ entries.sort((a, b) => (b.completedAt || '').localeCompare(a.completedAt || ''));
210
+ return entries;
211
+ }
212
+ function viewTaskLog(dirs, taskId, logger) {
213
+ const view = readTaskLog(dirs, taskId);
134
214
  logger.log('');
135
- logger.log(chalk_1.default.bold(`Task: ${task.id} - ${task.title}`));
136
- if (task.completedAt) {
137
- logger.log(chalk_1.default.gray(`Completed: ${task.completedAt}`));
215
+ logger.log(chalk_1.default.bold(`Task: ${view.id} - ${view.title}`));
216
+ if (view.completedAt) {
217
+ logger.log(chalk_1.default.gray(`Completed: ${view.completedAt}`));
138
218
  }
139
- if (description) {
219
+ if (view.description) {
140
220
  logger.log('');
141
221
  logger.log(chalk_1.default.bold('Description:'));
142
- logger.log(description);
222
+ logger.log(view.description);
143
223
  }
144
- if (logContent) {
224
+ if (view.log) {
145
225
  logger.log('');
146
226
  logger.log(chalk_1.default.bold('Log:'));
147
- logger.log(logContent);
227
+ logger.log(view.log);
148
228
  }
149
229
  else {
150
230
  logger.log('');
@@ -153,40 +233,11 @@ function viewTaskLog(dirs, taskId, logger) {
153
233
  logger.log('');
154
234
  return {
155
235
  success: true,
156
- task: { id: task.id, title: task.title, log: logContent },
236
+ task: { id: view.id, title: view.title, log: view.log },
157
237
  };
158
238
  }
159
239
  function searchLogs(dirs, query, logger) {
160
- const logDocs = (0, core_1.readTasksDir)(dirs.logsDir);
161
- const queryLower = query.toLowerCase();
162
- const matches = [];
163
- for (const doc of logDocs) {
164
- const task = doc.task;
165
- const logContent = (0, v2_detect_1.extractLog)(doc.body);
166
- // Matching decision is core's; the match-context snippet below is presentation.
167
- if ((0, core_1.scoreTaskDocument)(doc, queryLower) > 0) {
168
- // Find match context
169
- let matchContext = '';
170
- if (task.title.toLowerCase().includes(queryLower)) {
171
- matchContext = `Title: ${task.title}`;
172
- }
173
- else if (logContent && logContent.toLowerCase().includes(queryLower)) {
174
- // Find the line containing the match
175
- const lines = logContent.split('\n');
176
- const matchLine = lines.find(l => l.toLowerCase().includes(queryLower));
177
- matchContext = matchLine ? matchLine.trim() : 'Log entry';
178
- }
179
- else {
180
- matchContext = 'Description match';
181
- }
182
- matches.push({
183
- id: task.id,
184
- title: task.title,
185
- completedAt: task.completedAt,
186
- matchContext,
187
- });
188
- }
189
- }
240
+ const matches = searchLogEntries(dirs, query);
190
241
  logger.log('');
191
242
  logger.log(chalk_1.default.bold(`Log search: "${query}" (${matches.length} results)`));
192
243
  logger.log(chalk_1.default.gray('─'.repeat(50)));
@@ -199,7 +250,7 @@ function searchLogs(dirs, query, logger) {
199
250
  if (match.completedAt) {
200
251
  logger.log(` ${chalk_1.default.gray('Completed:')} ${match.completedAt}`);
201
252
  }
202
- logger.log(` ${chalk_1.default.gray('Match:')} ${match.matchContext}`);
253
+ logger.log(` ${chalk_1.default.gray('Match:')} ${match.match}`);
203
254
  logger.log('');
204
255
  }
205
256
  }
@@ -209,29 +260,7 @@ function searchLogs(dirs, query, logger) {
209
260
  };
210
261
  }
211
262
  function listRecentLogs(dirs, logger) {
212
- const logDocs = (0, core_1.readTasksDir)(dirs.logsDir);
213
- // Union in ledger records that have no markdown archive. Under the
214
- // dual-artifact model both always exist, but boards touched by the
215
- // pre-2026-08-13 destructive --logs-to-ledger may have ledger-only history.
216
- const seenIds = new Set(logDocs.map((d) => d.task.id));
217
- const entries = logDocs.map((d) => ({ id: d.task.id, title: d.task.title, completedAt: d.task.completedAt }));
218
- const ledgerPath = path.join(dirs.logsDir, 'ledger.jsonl');
219
- if (fs.existsSync(ledgerPath)) {
220
- for (const line of fs.readFileSync(ledgerPath, 'utf-8').split('\n')) {
221
- const trimmed = line.trim();
222
- if (!trimmed)
223
- continue;
224
- try {
225
- const record = JSON.parse(trimmed);
226
- if (record?.id && !seenIds.has(record.id)) {
227
- seenIds.add(record.id);
228
- entries.push({ id: record.id, title: record.title ?? record.id, completedAt: record.completedAt, ledgerOnly: true });
229
- }
230
- }
231
- catch { /* skip malformed lines */ }
232
- }
233
- }
234
- entries.sort((a, b) => (b.completedAt || '').localeCompare(a.completedAt || ''));
263
+ const entries = recentLogEntries(dirs);
235
264
  logger.log('');
236
265
  logger.log(chalk_1.default.bold(`Recently completed tasks (${entries.length})`));
237
266
  logger.log(chalk_1.default.gray('─'.repeat(50)));
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { McpServer } from "@modelcontextprotocol/server";
2
2
  import { type McpOptions } from '../mcp/helpers';
3
3
  /**
4
- * Builds the MCP server with all 11 consolidated tools registered.
4
+ * Builds the MCP server: every tool (one for each thing the CLI does to a
5
+ * board, spec-13), the bundled schemas as resources, and the instructions
6
+ * that tell a client to use them for every board change.
5
7
  *
6
8
  * Exported so tests can serve the exact production registration over an
7
9
  * in-memory transport instead of re-listing the tools (which would drift).
8
- * The same factory serves both protocol eras.
10
+ * The same factory serves both protocol eras. Tools are registered in the
11
+ * order `TOOL_PURPOSES` lists them.
9
12
  */
10
13
  export declare function createBrainfileMcpServer(defaultFile: string): McpServer;
11
14
  export declare function mcpCommand(options: McpOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAUzD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAe9D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAmBvE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBA2EnD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAUzD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA+B9D;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAuCvE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBA2EnD"}
@@ -55,29 +55,64 @@ const subtask_tool_1 = require("../mcp/tools/subtask_tool");
55
55
  const contract_tool_1 = require("../mcp/tools/contract_tool");
56
56
  const task_complete_tool_1 = require("../mcp/tools/task_complete_tool");
57
57
  const brief_tool_1 = require("../mcp/tools/brief_tool");
58
+ const decide_tool_1 = require("../mcp/tools/decide_tool");
59
+ const supersede_tool_1 = require("../mcp/tools/supersede_tool");
60
+ const check_tool_1 = require("../mcp/tools/check_tool");
61
+ const note_tool_1 = require("../mcp/tools/note_tool");
62
+ const log_tool_1 = require("../mcp/tools/log_tool");
63
+ const retire_tool_1 = require("../mcp/tools/retire_tool");
64
+ const adr_promote_tool_1 = require("../mcp/tools/adr_promote_tool");
65
+ const columns_tool_1 = require("../mcp/tools/columns_tool");
66
+ const board_tool_1 = require("../mcp/tools/board_tool");
67
+ const types_tool_1 = require("../mcp/tools/types_tool");
68
+ const template_tool_1 = require("../mcp/tools/template_tool");
69
+ const lint_tool_1 = require("../mcp/tools/lint_tool");
70
+ const sync_tool_1 = require("../mcp/tools/sync_tool");
71
+ const where_tool_1 = require("../mcp/tools/where_tool");
72
+ const resources_1 = require("../mcp/resources");
73
+ const instructions_1 = require("../mcp/instructions");
58
74
  /**
59
- * Builds the MCP server with all 11 consolidated tools registered.
75
+ * Builds the MCP server: every tool (one for each thing the CLI does to a
76
+ * board, spec-13), the bundled schemas as resources, and the instructions
77
+ * that tell a client to use them for every board change.
60
78
  *
61
79
  * Exported so tests can serve the exact production registration over an
62
80
  * in-memory transport instead of re-listing the tools (which would drift).
63
- * The same factory serves both protocol eras.
81
+ * The same factory serves both protocol eras. Tools are registered in the
82
+ * order `TOOL_PURPOSES` lists them.
64
83
  */
65
84
  function createBrainfileMcpServer(defaultFile) {
66
- const server = new server_1.McpServer({
67
- name: 'brainfile',
68
- version: cliVersion
69
- });
85
+ const server = new server_1.McpServer({ name: 'brainfile', version: cliVersion }, { instructions: (0, instructions_1.serverInstructions)() });
86
+ // Reading the board
70
87
  (0, list_tasks_tool_1.registerListTasksTool)(server, defaultFile);
71
88
  (0, get_task_tool_1.registerGetTaskTool)(server, defaultFile);
72
89
  (0, search_tool_1.registerSearchTool)(server, defaultFile);
90
+ (0, brief_tool_1.registerBriefTool)(server, defaultFile);
91
+ (0, check_tool_1.registerCheckTool)(server, defaultFile);
92
+ // Tasks
73
93
  (0, task_add_tool_1.registerTaskAddTool)(server, defaultFile);
74
- (0, task_move_tool_1.registerTaskMoveTool)(server, defaultFile);
75
94
  (0, task_patch_tool_1.registerTaskPatchTool)(server, defaultFile);
95
+ (0, task_move_tool_1.registerTaskMoveTool)(server, defaultFile);
96
+ (0, task_complete_tool_1.registerTaskCompleteTool)(server, defaultFile);
76
97
  (0, task_delete_tool_1.registerTaskDeleteTool)(server, defaultFile);
77
98
  (0, subtask_tool_1.registerSubtaskTool)(server, defaultFile);
78
99
  (0, contract_tool_1.registerContractTool)(server, defaultFile);
79
- (0, task_complete_tool_1.registerTaskCompleteTool)(server, defaultFile);
80
- (0, brief_tool_1.registerBriefTool)(server, defaultFile);
100
+ (0, note_tool_1.registerNoteTool)(server, defaultFile);
101
+ (0, log_tool_1.registerLogTool)(server, defaultFile);
102
+ // Decisions
103
+ (0, decide_tool_1.registerDecideTool)(server, defaultFile);
104
+ (0, supersede_tool_1.registerSupersedeTool)(server, defaultFile);
105
+ (0, retire_tool_1.registerRetireTool)(server, defaultFile);
106
+ (0, adr_promote_tool_1.registerAdrPromoteTool)(server, defaultFile);
107
+ // The board itself
108
+ (0, columns_tool_1.registerColumnsTool)(server, defaultFile);
109
+ (0, board_tool_1.registerBoardTool)(server, defaultFile);
110
+ (0, types_tool_1.registerTypesTool)(server, defaultFile);
111
+ (0, template_tool_1.registerTemplateTool)(server, defaultFile);
112
+ (0, lint_tool_1.registerLintTool)(server, defaultFile);
113
+ (0, sync_tool_1.registerSyncTool)(server, defaultFile);
114
+ (0, where_tool_1.registerWhereTool)(server, defaultFile);
115
+ (0, resources_1.registerSchemaResources)(server);
81
116
  return server;
82
117
  }
83
118
  async function mcpCommand(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `brainfile index`: the local index, for operators (spec-11).
3
+ *
4
+ * brainfile index Bring it up to date and say what changed
5
+ * brainfile index --rebuild Drop it and index from scratch
6
+ * brainfile index --status What is in it, without refreshing
7
+ *
8
+ * The index lives at `.brainfile/state/index.db`: local to this machine,
9
+ * gitignored, rebuildable, never the source of truth. Every search, brief
10
+ * and check refreshes it first, so this command is never required.
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ import { type IndexStatus, type RefreshStats } from '@brainfile/core/memory';
15
+ import { type Logger } from '../utils/logger';
16
+ export interface IndexOptions {
17
+ file?: string;
18
+ rebuild?: boolean;
19
+ status?: boolean;
20
+ json?: boolean;
21
+ }
22
+ export interface IndexCommandResult {
23
+ success: true;
24
+ /** False where node:sqlite is missing (or BRAINFILE_INDEX=off): search scans instead. */
25
+ available: boolean;
26
+ path: string;
27
+ action: 'refresh' | 'rebuild' | 'status' | 'unavailable';
28
+ refresh?: RefreshStats;
29
+ status?: IndexStatus;
30
+ /** Why the index is not available, when it is not. */
31
+ reason?: string;
32
+ }
33
+ export declare function indexCommand(options: IndexOptions, logger?: Logger): IndexCommandResult;
34
+ //# sourceMappingURL=memory-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-index.d.ts","sourceRoot":"","sources":["../../src/commands/memory-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAK7D,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;IACzD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,GAAE,MAAsB,GAAG,kBAAkB,CA0CtG"}