@tonycasey/lisa 2.12.0 → 2.25.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 (245) hide show
  1. package/README.md +2 -2
  2. package/dist/lib/application/handlers/PromptSubmitHandler.js +2 -2
  3. package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -1
  4. package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -1
  5. package/dist/lib/application/handlers/SessionStopHandler.js +12 -2
  6. package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -1
  7. package/dist/lib/commands/init.js +3 -3
  8. package/dist/lib/commands/init.js.map +1 -1
  9. package/dist/lib/commands/knowledge.d.ts.map +1 -1
  10. package/dist/lib/commands/knowledge.js +449 -1
  11. package/dist/lib/commands/knowledge.js.map +1 -1
  12. package/dist/lib/domain/errors/LlmErrors.d.ts +41 -0
  13. package/dist/lib/domain/errors/LlmErrors.d.ts.map +1 -0
  14. package/dist/lib/domain/errors/LlmErrors.js +64 -0
  15. package/dist/lib/domain/errors/LlmErrors.js.map +1 -0
  16. package/dist/lib/domain/interfaces/IConsolidationService.d.ts +65 -0
  17. package/dist/lib/domain/interfaces/IConsolidationService.d.ts.map +1 -0
  18. package/dist/lib/domain/interfaces/IConsolidationService.js +21 -0
  19. package/dist/lib/domain/interfaces/IConsolidationService.js.map +1 -0
  20. package/dist/lib/domain/interfaces/ICurationService.d.ts +81 -0
  21. package/dist/lib/domain/interfaces/ICurationService.d.ts.map +1 -0
  22. package/dist/lib/domain/interfaces/ICurationService.js +65 -0
  23. package/dist/lib/domain/interfaces/ICurationService.js.map +1 -0
  24. package/dist/lib/domain/interfaces/IDeduplicationService.d.ts +67 -0
  25. package/dist/lib/domain/interfaces/IDeduplicationService.d.ts.map +1 -0
  26. package/dist/lib/domain/interfaces/IDeduplicationService.js +9 -0
  27. package/dist/lib/domain/interfaces/IDeduplicationService.js.map +1 -0
  28. package/dist/lib/domain/interfaces/ILlmConfigService.d.ts +36 -0
  29. package/dist/lib/domain/interfaces/ILlmConfigService.d.ts.map +1 -0
  30. package/dist/lib/domain/interfaces/ILlmConfigService.js +11 -0
  31. package/dist/lib/domain/interfaces/ILlmConfigService.js.map +1 -0
  32. package/dist/lib/domain/interfaces/ILlmGuard.d.ts +35 -0
  33. package/dist/lib/domain/interfaces/ILlmGuard.d.ts.map +1 -0
  34. package/dist/lib/domain/interfaces/ILlmGuard.js +12 -0
  35. package/dist/lib/domain/interfaces/ILlmGuard.js.map +1 -0
  36. package/dist/lib/domain/interfaces/ILlmService.d.ts +87 -0
  37. package/dist/lib/domain/interfaces/ILlmService.d.ts.map +1 -0
  38. package/dist/lib/domain/interfaces/ILlmService.js +40 -0
  39. package/dist/lib/domain/interfaces/ILlmService.js.map +1 -0
  40. package/dist/lib/domain/interfaces/ILlmUsageTracker.d.ts +60 -0
  41. package/dist/lib/domain/interfaces/ILlmUsageTracker.d.ts.map +1 -0
  42. package/dist/lib/domain/interfaces/ILlmUsageTracker.js +29 -0
  43. package/dist/lib/domain/interfaces/ILlmUsageTracker.js.map +1 -0
  44. package/dist/lib/domain/interfaces/IMemoryService.d.ts +90 -0
  45. package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -1
  46. package/dist/lib/domain/interfaces/INlCurationService.d.ts +75 -0
  47. package/dist/lib/domain/interfaces/INlCurationService.d.ts.map +1 -0
  48. package/dist/lib/domain/interfaces/INlCurationService.js +31 -0
  49. package/dist/lib/domain/interfaces/INlCurationService.js.map +1 -0
  50. package/dist/lib/domain/interfaces/IPreferenceStore.d.ts +46 -0
  51. package/dist/lib/domain/interfaces/IPreferenceStore.d.ts.map +1 -0
  52. package/dist/lib/domain/interfaces/IPreferenceStore.js +11 -0
  53. package/dist/lib/domain/interfaces/IPreferenceStore.js.map +1 -0
  54. package/dist/lib/domain/interfaces/IRecursionService.d.ts +10 -6
  55. package/dist/lib/domain/interfaces/IRecursionService.d.ts.map +1 -1
  56. package/dist/lib/domain/interfaces/ISummarizationService.d.ts +52 -0
  57. package/dist/lib/domain/interfaces/ISummarizationService.d.ts.map +1 -0
  58. package/dist/lib/domain/interfaces/ISummarizationService.js +11 -0
  59. package/dist/lib/domain/interfaces/ISummarizationService.js.map +1 -0
  60. package/dist/lib/domain/interfaces/ITaskTypeDetector.d.ts +34 -0
  61. package/dist/lib/domain/interfaces/ITaskTypeDetector.d.ts.map +1 -0
  62. package/dist/lib/domain/interfaces/ITaskTypeDetector.js +9 -0
  63. package/dist/lib/domain/interfaces/ITaskTypeDetector.js.map +1 -0
  64. package/dist/lib/domain/interfaces/ITranscriptEnricher.d.ts +68 -0
  65. package/dist/lib/domain/interfaces/ITranscriptEnricher.d.ts.map +1 -0
  66. package/dist/lib/domain/interfaces/ITranscriptEnricher.js +32 -0
  67. package/dist/lib/domain/interfaces/ITranscriptEnricher.js.map +1 -0
  68. package/dist/lib/domain/interfaces/IWorkSummary.d.ts +64 -0
  69. package/dist/lib/domain/interfaces/IWorkSummary.d.ts.map +1 -0
  70. package/dist/lib/domain/interfaces/IWorkSummary.js +13 -0
  71. package/dist/lib/domain/interfaces/IWorkSummary.js.map +1 -0
  72. package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.d.ts +46 -0
  73. package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.d.ts.map +1 -0
  74. package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.js +9 -0
  75. package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.js.map +1 -0
  76. package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts +62 -1
  77. package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts.map +1 -1
  78. package/dist/lib/domain/interfaces/dal/index.d.ts +3 -2
  79. package/dist/lib/domain/interfaces/dal/index.d.ts.map +1 -1
  80. package/dist/lib/domain/interfaces/dal/index.js.map +1 -1
  81. package/dist/lib/domain/interfaces/dal/types.d.ts +37 -0
  82. package/dist/lib/domain/interfaces/dal/types.d.ts.map +1 -1
  83. package/dist/lib/domain/interfaces/dal/types.js.map +1 -1
  84. package/dist/lib/domain/interfaces/index.d.ts +15 -1
  85. package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
  86. package/dist/lib/domain/interfaces/index.js +21 -1
  87. package/dist/lib/domain/interfaces/index.js.map +1 -1
  88. package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts +3 -0
  89. package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts.map +1 -1
  90. package/dist/lib/domain/interfaces/types/ICapturedWork.js.map +1 -1
  91. package/dist/lib/domain/interfaces/types/IMemoryLifecycle.d.ts +56 -0
  92. package/dist/lib/domain/interfaces/types/IMemoryLifecycle.d.ts.map +1 -0
  93. package/dist/lib/domain/interfaces/types/IMemoryLifecycle.js +94 -0
  94. package/dist/lib/domain/interfaces/types/IMemoryLifecycle.js.map +1 -0
  95. package/dist/lib/domain/interfaces/types/IMemoryQuality.d.ts +113 -0
  96. package/dist/lib/domain/interfaces/types/IMemoryQuality.d.ts.map +1 -0
  97. package/dist/lib/domain/interfaces/types/IMemoryQuality.js +195 -0
  98. package/dist/lib/domain/interfaces/types/IMemoryQuality.js.map +1 -0
  99. package/dist/lib/domain/interfaces/types/IMemoryRelationship.d.ts +49 -0
  100. package/dist/lib/domain/interfaces/types/IMemoryRelationship.d.ts.map +1 -0
  101. package/dist/lib/domain/interfaces/types/IMemoryRelationship.js +62 -0
  102. package/dist/lib/domain/interfaces/types/IMemoryRelationship.js.map +1 -0
  103. package/dist/lib/domain/interfaces/types/ITaskType.d.ts +59 -0
  104. package/dist/lib/domain/interfaces/types/ITaskType.d.ts.map +1 -0
  105. package/dist/lib/domain/interfaces/types/ITaskType.js +104 -0
  106. package/dist/lib/domain/interfaces/types/ITaskType.js.map +1 -0
  107. package/dist/lib/domain/interfaces/types/index.d.ts +4 -0
  108. package/dist/lib/domain/interfaces/types/index.d.ts.map +1 -1
  109. package/dist/lib/domain/interfaces/types/index.js +33 -1
  110. package/dist/lib/domain/interfaces/types/index.js.map +1 -1
  111. package/dist/lib/domain/utils/deduplication.d.ts +38 -0
  112. package/dist/lib/domain/utils/deduplication.d.ts.map +1 -0
  113. package/dist/lib/domain/utils/deduplication.js +225 -0
  114. package/dist/lib/domain/utils/deduplication.js.map +1 -0
  115. package/dist/lib/domain/utils/index.d.ts +1 -0
  116. package/dist/lib/domain/utils/index.d.ts.map +1 -1
  117. package/dist/lib/domain/utils/index.js +6 -1
  118. package/dist/lib/domain/utils/index.js.map +1 -1
  119. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts +12 -2
  120. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts.map +1 -1
  121. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js +14 -0
  122. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js.map +1 -1
  123. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts +25 -3
  124. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts.map +1 -1
  125. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js +156 -1
  126. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js.map +1 -1
  127. package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -1
  128. package/dist/lib/infrastructure/di/bootstrap.js +92 -2
  129. package/dist/lib/infrastructure/di/bootstrap.js.map +1 -1
  130. package/dist/lib/infrastructure/di/tokens.d.ts +24 -0
  131. package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -1
  132. package/dist/lib/infrastructure/di/tokens.js +12 -0
  133. package/dist/lib/infrastructure/di/tokens.js.map +1 -1
  134. package/dist/lib/infrastructure/services/ConsolidationService.d.ts +21 -0
  135. package/dist/lib/infrastructure/services/ConsolidationService.d.ts.map +1 -0
  136. package/dist/lib/infrastructure/services/ConsolidationService.js +134 -0
  137. package/dist/lib/infrastructure/services/ConsolidationService.js.map +1 -0
  138. package/dist/lib/infrastructure/services/CurationService.d.ts +28 -0
  139. package/dist/lib/infrastructure/services/CurationService.d.ts.map +1 -0
  140. package/dist/lib/infrastructure/services/CurationService.js +112 -0
  141. package/dist/lib/infrastructure/services/CurationService.js.map +1 -0
  142. package/dist/lib/infrastructure/services/DeduplicationService.d.ts +21 -0
  143. package/dist/lib/infrastructure/services/DeduplicationService.d.ts.map +1 -0
  144. package/dist/lib/infrastructure/services/DeduplicationService.js +111 -0
  145. package/dist/lib/infrastructure/services/DeduplicationService.js.map +1 -0
  146. package/dist/lib/infrastructure/services/LlmConfigService.d.ts +19 -0
  147. package/dist/lib/infrastructure/services/LlmConfigService.d.ts.map +1 -0
  148. package/dist/lib/infrastructure/services/LlmConfigService.js +161 -0
  149. package/dist/lib/infrastructure/services/LlmConfigService.js.map +1 -0
  150. package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.d.ts +47 -0
  151. package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.d.ts.map +1 -0
  152. package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.js +176 -0
  153. package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.js.map +1 -0
  154. package/dist/lib/infrastructure/services/LlmGuard.d.ts +29 -0
  155. package/dist/lib/infrastructure/services/LlmGuard.d.ts.map +1 -0
  156. package/dist/lib/infrastructure/services/LlmGuard.js +92 -0
  157. package/dist/lib/infrastructure/services/LlmGuard.js.map +1 -0
  158. package/dist/lib/infrastructure/services/LlmService.d.ts +19 -0
  159. package/dist/lib/infrastructure/services/LlmService.d.ts.map +1 -0
  160. package/dist/lib/infrastructure/services/LlmService.js +253 -0
  161. package/dist/lib/infrastructure/services/LlmService.js.map +1 -0
  162. package/dist/lib/infrastructure/services/LlmUsageTracker.d.ts +25 -0
  163. package/dist/lib/infrastructure/services/LlmUsageTracker.d.ts.map +1 -0
  164. package/dist/lib/infrastructure/services/LlmUsageTracker.js +130 -0
  165. package/dist/lib/infrastructure/services/LlmUsageTracker.js.map +1 -0
  166. package/dist/lib/infrastructure/services/MemoryService.d.ts +29 -2
  167. package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -1
  168. package/dist/lib/infrastructure/services/MemoryService.js +93 -0
  169. package/dist/lib/infrastructure/services/MemoryService.js.map +1 -1
  170. package/dist/lib/infrastructure/services/NlCurationService.d.ts +29 -0
  171. package/dist/lib/infrastructure/services/NlCurationService.d.ts.map +1 -0
  172. package/dist/lib/infrastructure/services/NlCurationService.js +276 -0
  173. package/dist/lib/infrastructure/services/NlCurationService.js.map +1 -0
  174. package/dist/lib/infrastructure/services/PreferenceStore.d.ts +19 -0
  175. package/dist/lib/infrastructure/services/PreferenceStore.d.ts.map +1 -0
  176. package/dist/lib/infrastructure/services/PreferenceStore.js +109 -0
  177. package/dist/lib/infrastructure/services/PreferenceStore.js.map +1 -0
  178. package/dist/lib/infrastructure/services/SessionCaptureService.d.ts +60 -19
  179. package/dist/lib/infrastructure/services/SessionCaptureService.d.ts.map +1 -1
  180. package/dist/lib/infrastructure/services/SessionCaptureService.js +474 -51
  181. package/dist/lib/infrastructure/services/SessionCaptureService.js.map +1 -1
  182. package/dist/lib/infrastructure/services/SummarizationService.d.ts +21 -0
  183. package/dist/lib/infrastructure/services/SummarizationService.d.ts.map +1 -0
  184. package/dist/lib/infrastructure/services/SummarizationService.js +132 -0
  185. package/dist/lib/infrastructure/services/SummarizationService.js.map +1 -0
  186. package/dist/lib/infrastructure/services/TranscriptEnricher.d.ts +23 -0
  187. package/dist/lib/infrastructure/services/TranscriptEnricher.d.ts.map +1 -0
  188. package/dist/lib/infrastructure/services/TranscriptEnricher.js +170 -0
  189. package/dist/lib/infrastructure/services/TranscriptEnricher.js.map +1 -0
  190. package/dist/lib/infrastructure/services/index.d.ts +12 -0
  191. package/dist/lib/infrastructure/services/index.d.ts.map +1 -1
  192. package/dist/lib/infrastructure/services/index.js +31 -1
  193. package/dist/lib/infrastructure/services/index.js.map +1 -1
  194. package/dist/lib/infrastructure/services/prompts/curation.d.ts +22 -0
  195. package/dist/lib/infrastructure/services/prompts/curation.d.ts.map +1 -0
  196. package/dist/lib/infrastructure/services/prompts/curation.js +73 -0
  197. package/dist/lib/infrastructure/services/prompts/curation.js.map +1 -0
  198. package/dist/lib/infrastructure/services/prompts/deduplication.d.ts +31 -0
  199. package/dist/lib/infrastructure/services/prompts/deduplication.d.ts.map +1 -0
  200. package/dist/lib/infrastructure/services/prompts/deduplication.js +52 -0
  201. package/dist/lib/infrastructure/services/prompts/deduplication.js.map +1 -0
  202. package/dist/lib/infrastructure/services/prompts/extraction.d.ts +27 -0
  203. package/dist/lib/infrastructure/services/prompts/extraction.d.ts.map +1 -0
  204. package/dist/lib/infrastructure/services/prompts/extraction.js +94 -0
  205. package/dist/lib/infrastructure/services/prompts/extraction.js.map +1 -0
  206. package/dist/lib/infrastructure/services/prompts/summarization.d.ts +25 -0
  207. package/dist/lib/infrastructure/services/prompts/summarization.d.ts.map +1 -0
  208. package/dist/lib/infrastructure/services/prompts/summarization.js +60 -0
  209. package/dist/lib/infrastructure/services/prompts/summarization.js.map +1 -0
  210. package/dist/lib/skills/common/type-mappings.d.ts.map +1 -1
  211. package/dist/lib/skills/common/type-mappings.js +5 -0
  212. package/dist/lib/skills/common/type-mappings.js.map +1 -1
  213. package/dist/lib/skills/memory/memory.d.ts +8 -2
  214. package/dist/lib/skills/memory/memory.d.ts.map +1 -1
  215. package/dist/lib/skills/memory/memory.js +27 -3
  216. package/dist/lib/skills/memory/memory.js.map +1 -1
  217. package/dist/lib/skills/shared/clients/Neo4jClient.d.ts.map +1 -1
  218. package/dist/lib/skills/shared/clients/Neo4jClient.js +75 -30
  219. package/dist/lib/skills/shared/clients/Neo4jClient.js.map +1 -1
  220. package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts +16 -0
  221. package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts.map +1 -1
  222. package/dist/lib/skills/shared/services/MemoryCliService.d.ts +28 -2
  223. package/dist/lib/skills/shared/services/MemoryCliService.d.ts.map +1 -1
  224. package/dist/lib/skills/shared/services/MemoryCliService.js +112 -5
  225. package/dist/lib/skills/shared/services/MemoryCliService.js.map +1 -1
  226. package/dist/lib/skills/shared/services/MemoryService.d.ts.map +1 -1
  227. package/dist/lib/skills/shared/services/MemoryService.js +410 -1
  228. package/dist/lib/skills/shared/services/MemoryService.js.map +1 -1
  229. package/dist/lib/skills/shared/services/index.d.ts +1 -1
  230. package/dist/lib/skills/shared/services/index.d.ts.map +1 -1
  231. package/dist/lib/skills/shared/services/index.js +2 -1
  232. package/dist/lib/skills/shared/services/index.js.map +1 -1
  233. package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts +148 -0
  234. package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts.map +1 -1
  235. package/dist/lib/skills/shared/services/interfaces/IMemoryService.js +0 -4
  236. package/dist/lib/skills/shared/services/interfaces/IMemoryService.js.map +1 -1
  237. package/dist/opencode/lisa.js +3904 -507
  238. package/dist/package.json +16 -16
  239. package/dist/project/.lisa/skills/git/SKILL.md +4 -13
  240. package/dist/project/.lisa/skills/init-review/SKILL.md +1 -1
  241. package/dist/project/.lisa/skills/jira/SKILL.md +1 -1
  242. package/dist/project/.lisa/skills/lisa/SKILL.md +1 -1
  243. package/dist/project/.lisa/skills/memory/SKILL.md +1 -2
  244. package/dist/project/.lisa/skills/tasks/SKILL.md +3 -4
  245. package/package.json +1 -1
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMemoryService = createMemoryService;
4
+ const deduplication_1 = require("../../../domain/utils/deduplication");
5
+ const ICurationService_1 = require("../../../domain/interfaces/ICurationService");
6
+ const IMemoryQuality_1 = require("../../../domain/interfaces/types/IMemoryQuality");
7
+ const IConsolidationService_1 = require("../../../domain/interfaces/IConsolidationService");
8
+ const IMemoryLifecycle_1 = require("../../../domain/interfaces/types/IMemoryLifecycle");
4
9
  /**
5
10
  * Type-to-tag mapping for memory types.
6
11
  */
@@ -142,12 +147,17 @@ function createMemoryService(deps) {
142
147
  }
143
148
  // Use MCP
144
149
  await mcpClient.initialize();
150
+ // Tags already containing ':' are namespaced (e.g. lifecycle:session, code:decision)
151
+ // and should be stored as-is. Simple tags (DECISION, PATTERN) get 'type:' prefix.
152
+ const mcpTag = tag
153
+ ? (tag.includes(':') ? tag.toLowerCase() : `type:${tag.toLowerCase()}`)
154
+ : undefined;
145
155
  const params = {
146
156
  name: tag ? `${tag}: ${text.slice(0, 60)}` : text.slice(0, 80),
147
157
  episode_body: text,
148
158
  source: options.source || 'text',
149
159
  group_id: groupId,
150
- tags: tag ? [`type:${tag.toLowerCase()}`] : undefined,
160
+ tags: mcpTag ? [mcpTag] : undefined,
151
161
  };
152
162
  const result = await mcpClient.rpcCall('add_memory', params);
153
163
  return {
@@ -160,6 +170,405 @@ function createMemoryService(deps) {
160
170
  mode: 'mcp',
161
171
  };
162
172
  },
173
+ async expire(groupId, uuid) {
174
+ await neo4jClient.connect();
175
+ try {
176
+ // Atomic SET + RETURN to know if a record was actually expired
177
+ const cypher = `
178
+ MATCH (s:Entity)-[r]->(t:Entity)
179
+ WHERE r.group_id = $groupId AND r.uuid = $uuid AND r.expired_at IS NULL
180
+ SET r.expired_at = datetime()
181
+ RETURN count(r) AS affected
182
+ `;
183
+ const result = await neo4jClient.writeQuery(cypher, { groupId, uuid });
184
+ const affected = result[0]?.affected ?? 0;
185
+ return {
186
+ status: 'ok',
187
+ action: 'expire',
188
+ group: groupId,
189
+ uuid,
190
+ found: affected > 0,
191
+ mode: 'neo4j',
192
+ };
193
+ }
194
+ finally {
195
+ await neo4jClient.disconnect();
196
+ }
197
+ },
198
+ async cleanup(groupId, dryRun) {
199
+ await neo4jClient.connect();
200
+ try {
201
+ const now = new Date();
202
+ let totalExpired = 0;
203
+ const tiers = ['session', 'ephemeral'];
204
+ for (const tier of tiers) {
205
+ const ttl = IMemoryLifecycle_1.LIFECYCLE_DEFAULTS[tier];
206
+ if (ttl === null)
207
+ continue;
208
+ const cutoff = new Date(now.getTime() - ttl);
209
+ const lifecycleTag = (0, IMemoryLifecycle_1.resolveLifecycleTag)(tier);
210
+ if (dryRun) {
211
+ // Count only (READ session)
212
+ const countCypher = `
213
+ MATCH (s:Entity)-[r]->(t:Entity)
214
+ WHERE r.group_id = $groupId
215
+ AND r.expired_at IS NULL
216
+ AND $lifecycleTag IN r.tags
217
+ AND r.created_at <= datetime($cutoff)
218
+ RETURN count(r) AS count
219
+ `;
220
+ const countResult = await neo4jClient.query(countCypher, { groupId, lifecycleTag, cutoff: cutoff.toISOString() });
221
+ totalExpired += countResult[0]?.count ?? 0;
222
+ }
223
+ else {
224
+ // Atomic SET + RETURN count (WRITE session, no TOCTOU race)
225
+ const expireCypher = `
226
+ MATCH (s:Entity)-[r]->(t:Entity)
227
+ WHERE r.group_id = $groupId
228
+ AND r.expired_at IS NULL
229
+ AND $lifecycleTag IN r.tags
230
+ AND r.created_at <= datetime($cutoff)
231
+ SET r.expired_at = datetime()
232
+ RETURN count(r) AS expired
233
+ `;
234
+ const writeResult = await neo4jClient.writeQuery(expireCypher, { groupId, lifecycleTag, cutoff: cutoff.toISOString() });
235
+ totalExpired += writeResult[0]?.expired ?? 0;
236
+ }
237
+ }
238
+ return {
239
+ status: 'ok',
240
+ action: 'cleanup',
241
+ group: groupId,
242
+ expiredCount: totalExpired,
243
+ dryRun,
244
+ mode: 'neo4j',
245
+ };
246
+ }
247
+ finally {
248
+ await neo4jClient.disconnect();
249
+ }
250
+ },
251
+ async conflicts(groupIds, topic) {
252
+ await neo4jClient.connect();
253
+ try {
254
+ const params = { groupIds };
255
+ const whereClauses = [
256
+ `r.group_id IN $groupIds`,
257
+ `r.fact IS NOT NULL`,
258
+ `r.expired_at IS NULL`,
259
+ `ANY(tag IN r.tags WHERE tag STARTS WITH 'type:')`,
260
+ ];
261
+ if (topic) {
262
+ whereClauses.push(`$topic IN r.tags`);
263
+ params.topic = topic;
264
+ }
265
+ const whereClause = whereClauses.join(' AND ');
266
+ const cypher = `
267
+ MATCH (s:Entity)-[r]->(t:Entity)
268
+ WHERE ${whereClause}
269
+ WITH [tag IN r.tags WHERE tag STARTS WITH 'type:' | tag][0] AS topicTag,
270
+ r.uuid AS uuid, r.name AS name, r.fact AS fact,
271
+ r.group_id AS group_id, r.created_at AS created_at
272
+ WITH topicTag, COLLECT({ uuid: uuid, name: name, fact: fact, group_id: group_id, created_at: created_at }) AS facts
273
+ WHERE SIZE(facts) > 1
274
+ RETURN topicTag, facts
275
+ LIMIT 20
276
+ `;
277
+ const records = await neo4jClient.query(cypher, params);
278
+ const conflictGroups = records.map((record) => ({
279
+ topic: record.topicTag,
280
+ facts: record.facts.map((f) => ({
281
+ uuid: f.uuid,
282
+ name: f.name,
283
+ fact: f.fact,
284
+ group_id: f.group_id,
285
+ created_at: f.created_at,
286
+ })),
287
+ detectedAt: new Date().toISOString(),
288
+ }));
289
+ return {
290
+ status: 'ok',
291
+ action: 'conflicts',
292
+ group: groupIds[0] || '',
293
+ groups: groupIds,
294
+ topic: topic || '',
295
+ conflictGroups,
296
+ totalConflicts: conflictGroups.length,
297
+ mode: 'neo4j',
298
+ };
299
+ }
300
+ finally {
301
+ await neo4jClient.disconnect();
302
+ }
303
+ },
304
+ async dedupe(groupId, options) {
305
+ const minSimilarity = options?.minSimilarity ?? 0.6;
306
+ const limit = options?.limit ?? 10;
307
+ await neo4jClient.connect();
308
+ try {
309
+ // Load all non-expired facts (up to 500)
310
+ const params = {
311
+ groupIds: [groupId],
312
+ limit: 500,
313
+ };
314
+ const dateFilters = [];
315
+ if (options?.since) {
316
+ dateFilters.push('r.created_at >= datetime($since)');
317
+ params.since = options.since.toISOString();
318
+ }
319
+ const dateFilterClause = dateFilters.length > 0 ? `AND ${dateFilters.join(' AND ')}` : '';
320
+ const factsCypher = `
321
+ MATCH (s:Entity)-[r]->(t:Entity)
322
+ WHERE r.group_id IN $groupIds
323
+ AND r.expired_at IS NULL
324
+ AND r.fact IS NOT NULL
325
+ ${dateFilterClause}
326
+ RETURN r.uuid AS uuid, r.name AS name, r.fact AS fact,
327
+ r.group_id AS group_id, r.created_at AS created_at
328
+ ORDER BY r.created_at DESC
329
+ LIMIT $limit
330
+ `;
331
+ const factRecords = await neo4jClient.query(factsCypher, params);
332
+ // Convert to IMemoryItem-compatible shape for the algorithm
333
+ const facts = factRecords.map((r) => ({
334
+ uuid: r.uuid,
335
+ name: r.name,
336
+ fact: r.fact,
337
+ created_at: r.created_at,
338
+ }));
339
+ // Load conflict groups for tag overlap pass
340
+ const conflictParams = { groupIds: [groupId] };
341
+ const conflictDateFilters = [];
342
+ if (options?.since) {
343
+ conflictDateFilters.push('r.created_at >= datetime($since)');
344
+ conflictParams.since = options.since.toISOString();
345
+ }
346
+ const conflictDateFilterClause = conflictDateFilters.length > 0 ? `AND ${conflictDateFilters.join(' AND ')}` : '';
347
+ const conflictCypher = `
348
+ MATCH (s:Entity)-[r]->(t:Entity)
349
+ WHERE r.group_id IN $groupIds
350
+ AND r.fact IS NOT NULL
351
+ AND r.expired_at IS NULL
352
+ ${conflictDateFilterClause}
353
+ AND ANY(tag IN r.tags WHERE tag STARTS WITH 'type:')
354
+ WITH [tag IN r.tags WHERE tag STARTS WITH 'type:' | tag][0] AS topicTag,
355
+ r.uuid AS uuid, r.name AS name, r.fact AS fact,
356
+ r.group_id AS group_id, r.created_at AS created_at
357
+ WITH topicTag, COLLECT({ uuid: uuid, name: name, fact: fact, group_id: group_id, created_at: created_at }) AS facts
358
+ WHERE SIZE(facts) > 1
359
+ RETURN topicTag, facts
360
+ LIMIT 20
361
+ `;
362
+ const conflictRecords = await neo4jClient.query(conflictCypher, conflictParams);
363
+ const conflictGroups = conflictRecords.map((record) => ({
364
+ topic: record.topicTag,
365
+ facts: record.facts.map((f) => ({
366
+ uuid: f.uuid,
367
+ name: f.name,
368
+ fact: f.fact,
369
+ created_at: f.created_at,
370
+ })),
371
+ detectedAt: new Date().toISOString(),
372
+ }));
373
+ // Run the three-pass detection algorithm
374
+ const duplicateGroups = (0, deduplication_1.detectDuplicatesFromFacts)(facts, conflictGroups, {
375
+ minSimilarity,
376
+ limit,
377
+ });
378
+ // Map IDuplicateGroup to skill-level format
379
+ const skillGroups = duplicateGroups.map((g) => ({
380
+ reason: g.reason,
381
+ facts: g.facts.map((f) => ({
382
+ uuid: f.uuid ?? '',
383
+ name: f.name ?? '',
384
+ fact: f.fact ?? '',
385
+ group_id: groupId,
386
+ created_at: f.created_at ?? '',
387
+ })),
388
+ similarity: g.similarity,
389
+ }));
390
+ const totalDuplicates = skillGroups.reduce((sum, group) => sum + group.facts.length, 0);
391
+ return {
392
+ status: 'ok',
393
+ action: 'dedupe',
394
+ group: groupId,
395
+ totalFactsScanned: facts.length,
396
+ duplicateGroups: skillGroups,
397
+ totalDuplicates,
398
+ minSimilarity,
399
+ mode: 'neo4j',
400
+ };
401
+ }
402
+ finally {
403
+ await neo4jClient.disconnect();
404
+ }
405
+ },
406
+ async curate(groupId, uuid, mark) {
407
+ if (!(0, ICurationService_1.isValidCurationMark)(mark)) {
408
+ throw new Error(`Invalid curation mark: "${mark}". Valid marks: authoritative, draft, deprecated, needs-review`);
409
+ }
410
+ await neo4jClient.connect();
411
+ try {
412
+ const curationTag = (0, ICurationService_1.resolveCurationTag)(mark);
413
+ if (mark === 'deprecated') {
414
+ // Atomic: add curation tag + expire in a single query
415
+ const cypher = `
416
+ MATCH (s:Entity)-[r]->(t:Entity)
417
+ WHERE r.group_id = $groupId AND r.uuid = $uuid AND r.expired_at IS NULL
418
+ SET r.tags = CASE
419
+ WHEN r.tags IS NULL THEN [$curationTag]
420
+ ELSE [tag IN r.tags WHERE NOT tag STARTS WITH 'curated:'] + [$curationTag]
421
+ END,
422
+ r.expired_at = datetime()
423
+ RETURN count(r) AS affected
424
+ `;
425
+ const result = await neo4jClient.writeQuery(cypher, { groupId, uuid, curationTag });
426
+ if ((result[0]?.affected ?? 0) === 0) {
427
+ throw new Error(`Fact not found: uuid="${uuid}" in group="${groupId}"`);
428
+ }
429
+ }
430
+ else if (mark === 'authoritative') {
431
+ // Atomic: add curation tag + promote confidence in a single query
432
+ const confidenceTag = (0, IMemoryQuality_1.resolveConfidenceTag)('verified');
433
+ const cypher = `
434
+ MATCH (s:Entity)-[r]->(t:Entity)
435
+ WHERE r.group_id = $groupId AND r.uuid = $uuid AND r.expired_at IS NULL
436
+ SET r.tags = CASE
437
+ WHEN r.tags IS NULL THEN [$curationTag, $confidenceTag]
438
+ ELSE [tag IN r.tags WHERE NOT tag STARTS WITH 'curated:' AND NOT tag STARTS WITH 'confidence:'] + [$curationTag, $confidenceTag]
439
+ END
440
+ RETURN count(r) AS affected
441
+ `;
442
+ const result = await neo4jClient.writeQuery(cypher, { groupId, uuid, curationTag, confidenceTag });
443
+ if ((result[0]?.affected ?? 0) === 0) {
444
+ throw new Error(`Fact not found: uuid="${uuid}" in group="${groupId}"`);
445
+ }
446
+ }
447
+ else {
448
+ // draft / needs-review: just add the curation tag
449
+ const cypher = `
450
+ MATCH (s:Entity)-[r]->(t:Entity)
451
+ WHERE r.group_id = $groupId AND r.uuid = $uuid AND r.expired_at IS NULL
452
+ SET r.tags = CASE
453
+ WHEN r.tags IS NULL THEN [$curationTag]
454
+ ELSE [tag IN r.tags WHERE NOT tag STARTS WITH 'curated:'] + [$curationTag]
455
+ END
456
+ RETURN count(r) AS affected
457
+ `;
458
+ const result = await neo4jClient.writeQuery(cypher, { groupId, uuid, curationTag });
459
+ if ((result[0]?.affected ?? 0) === 0) {
460
+ throw new Error(`Fact not found: uuid="${uuid}" in group="${groupId}"`);
461
+ }
462
+ }
463
+ return {
464
+ status: 'ok',
465
+ action: 'curate',
466
+ group: groupId,
467
+ uuid,
468
+ mark,
469
+ mode: 'neo4j',
470
+ };
471
+ }
472
+ finally {
473
+ await neo4jClient.disconnect();
474
+ }
475
+ },
476
+ async consolidate(groupId, factUuids, action, options) {
477
+ if (!IConsolidationService_1.CONSOLIDATION_ACTION_VALUES.includes(action)) {
478
+ throw new Error(`Invalid consolidation action: "${action}". Valid actions: merge, archive-duplicates, keep-all`);
479
+ }
480
+ if (factUuids.length < 2) {
481
+ throw new Error('Consolidation requires at least 2 fact UUIDs');
482
+ }
483
+ if (options?.retainUuid && !factUuids.includes(options.retainUuid)) {
484
+ throw new Error(`retainUuid "${options.retainUuid}" is not in the provided fact UUIDs`);
485
+ }
486
+ if (action === 'keep-all') {
487
+ return {
488
+ status: 'ok',
489
+ action: 'consolidate',
490
+ group: groupId,
491
+ consolidationAction: 'keep-all',
492
+ retainedUuid: factUuids[0],
493
+ archivedUuids: [],
494
+ relationshipsCreated: 0,
495
+ mode: 'neo4j',
496
+ };
497
+ }
498
+ await neo4jClient.connect();
499
+ try {
500
+ if (action === 'merge') {
501
+ const mergedText = options?.mergedText;
502
+ if (!mergedText) {
503
+ throw new Error('merge action requires --text with merged text');
504
+ }
505
+ // Add the new merged fact via MCP
506
+ await mcpClient.initialize();
507
+ const mcpParams = {
508
+ name: mergedText.slice(0, 80),
509
+ episode_body: mergedText,
510
+ source: 'consolidation',
511
+ group_id: groupId,
512
+ tags: ['source:consolidation'],
513
+ };
514
+ await mcpClient.rpcCall('add_memory', mcpParams);
515
+ // Batch expire all original facts with IN clause
516
+ const batchExpireCypher = `
517
+ MATCH (s:Entity)-[r]->(t:Entity)
518
+ WHERE r.group_id = $groupId AND r.uuid IN $uuids AND r.expired_at IS NULL
519
+ SET r.expired_at = datetime()
520
+ RETURN collect(r.uuid) AS expiredUuids
521
+ `;
522
+ await neo4jClient.writeQuery(batchExpireCypher, { groupId, uuids: factUuids });
523
+ return {
524
+ status: 'ok',
525
+ action: 'consolidate',
526
+ group: groupId,
527
+ consolidationAction: 'merge',
528
+ retainedUuid: 'new-merged-fact',
529
+ archivedUuids: [...factUuids],
530
+ relationshipsCreated: 0,
531
+ mode: 'neo4j',
532
+ };
533
+ }
534
+ // archive-duplicates
535
+ let retainUuid = options?.retainUuid;
536
+ if (!retainUuid) {
537
+ // Find the newest fact in the list
538
+ const findNewestCypher = `
539
+ MATCH (s:Entity)-[r]->(t:Entity)
540
+ WHERE r.group_id = $groupId AND r.uuid IN $uuids AND r.expired_at IS NULL
541
+ RETURN r.uuid AS uuid
542
+ ORDER BY r.created_at DESC
543
+ LIMIT 1
544
+ `;
545
+ const newestResult = await neo4jClient.query(findNewestCypher, { groupId, uuids: factUuids });
546
+ retainUuid = newestResult[0]?.uuid ?? factUuids[0];
547
+ }
548
+ // Batch expire all except retained with IN clause
549
+ const archiveUuids = factUuids.filter((uuid) => uuid !== retainUuid);
550
+ const batchExpireCypher = `
551
+ MATCH (s:Entity)-[r]->(t:Entity)
552
+ WHERE r.group_id = $groupId AND r.uuid IN $uuids AND r.expired_at IS NULL
553
+ SET r.expired_at = datetime()
554
+ RETURN collect(r.uuid) AS expiredUuids
555
+ `;
556
+ await neo4jClient.writeQuery(batchExpireCypher, { groupId, uuids: archiveUuids });
557
+ return {
558
+ status: 'ok',
559
+ action: 'consolidate',
560
+ group: groupId,
561
+ consolidationAction: 'archive-duplicates',
562
+ retainedUuid: retainUuid,
563
+ archivedUuids: archiveUuids,
564
+ relationshipsCreated: 0,
565
+ mode: 'neo4j',
566
+ };
567
+ }
568
+ finally {
569
+ await neo4jClient.disconnect();
570
+ }
571
+ },
163
572
  };
164
573
  }
165
574
  //# sourceMappingURL=MemoryService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../../../../src/lib/skills/shared/services/MemoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../../../../src/lib/skills/shared/services/MemoryService.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export * from './interfaces';
5
5
  export { createTaskService, type ITaskServiceDependencies } from './TaskService';
6
6
  export { createMemoryService, type IMemoryServiceDependencies } from './MemoryService';
7
7
  export { createTaskCliService, type ITaskCliService, type ITaskCliDependencies, type ITaskCliArgs, } from './TaskCliService';
8
- export { createMemoryCliService, type IMemoryCliService, type IMemoryCliDependencies, type IMemoryCliArgs, } from './MemoryCliService';
8
+ export { createMemoryCliService, parseTtlDuration, type IMemoryCliService, type IMemoryCliDependencies, type IMemoryCliArgs, type MemoryCliResult, } from './MemoryCliService';
9
9
  export { createJiraClient, loadJiraConfig, type IJiraClient, type IJiraConfig, type ICreateIssueArgs, type IListIssuesArgs, type IAssignIssueArgs, type ITransitionIssueArgs, type IChangeTypeArgs, } from './JiraService';
10
10
  export { createVersionService, type IVersionService, type IBumpResult, type BumpType, } from './VersionService';
11
11
  export { createStorageService, type IStorageService, type IStorageStatus, type IStorageSwitchResult, type StorageMode, } from './StorageService';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/skills/shared/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,cAAc,IAAI,oBAAoB,EAC3C,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,iBAAiB,IAAI,uBAAuB,EACjD,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,oBAAoB,IAAI,0BAA0B,EACvD,KAAK,qBAAqB,IAAI,2BAA2B,EACzD,KAAK,iBAAiB,IAAI,uBAAuB,EACjD,KAAK,oBAAoB,IAAI,0BAA0B,GACxD,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/skills/shared/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,cAAc,IAAI,oBAAoB,EAC3C,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,iBAAiB,IAAI,uBAAuB,EACjD,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,oBAAoB,IAAI,0BAA0B,EACvD,KAAK,qBAAqB,IAAI,2BAA2B,EACzD,KAAK,iBAAiB,IAAI,uBAAuB,EACjD,KAAK,oBAAoB,IAAI,0BAA0B,GACxD,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC"}
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.gitHubStatusToLisa = exports.lisaStatusToGitHub = exports.createGitHubSyncService = exports.createGitHubClient = exports.createInitReviewService = exports.createPromptService = exports.createSkillCompilerService = exports.createStorageService = exports.createVersionService = exports.loadJiraConfig = exports.createJiraClient = exports.createMemoryCliService = exports.createTaskCliService = exports.createMemoryService = exports.createTaskService = void 0;
20
+ exports.gitHubStatusToLisa = exports.lisaStatusToGitHub = exports.createGitHubSyncService = exports.createGitHubClient = exports.createInitReviewService = exports.createPromptService = exports.createSkillCompilerService = exports.createStorageService = exports.createVersionService = exports.loadJiraConfig = exports.createJiraClient = exports.parseTtlDuration = exports.createMemoryCliService = exports.createTaskCliService = exports.createMemoryService = exports.createTaskService = void 0;
21
21
  // Re-export interfaces
22
22
  __exportStar(require("./interfaces"), exports);
23
23
  // Core data services
@@ -30,6 +30,7 @@ var TaskCliService_1 = require("./TaskCliService");
30
30
  Object.defineProperty(exports, "createTaskCliService", { enumerable: true, get: function () { return TaskCliService_1.createTaskCliService; } });
31
31
  var MemoryCliService_1 = require("./MemoryCliService");
32
32
  Object.defineProperty(exports, "createMemoryCliService", { enumerable: true, get: function () { return MemoryCliService_1.createMemoryCliService; } });
33
+ Object.defineProperty(exports, "parseTtlDuration", { enumerable: true, get: function () { return MemoryCliService_1.parseTtlDuration; } });
33
34
  // Domain services
34
35
  var JiraService_1 = require("./JiraService");
35
36
  Object.defineProperty(exports, "createJiraClient", { enumerable: true, get: function () { return JiraService_1.createJiraClient; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/skills/shared/services/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,+CAA6B;AAE7B,qBAAqB;AACrB,6CAAiF;AAAxE,gHAAA,iBAAiB,OAAA;AAC1B,iDAAuF;AAA9E,oHAAA,mBAAmB,OAAA;AAE5B,eAAe;AACf,mDAK0B;AAJxB,sHAAA,oBAAoB,OAAA;AAKtB,uDAK4B;AAJ1B,0HAAA,sBAAsB,OAAA;AAMxB,kBAAkB;AAClB,6CAUuB;AATrB,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AAShB,mDAK0B;AAJxB,sHAAA,oBAAoB,OAAA;AAKtB,mDAM0B;AALxB,sHAAA,oBAAoB,OAAA;AAMtB,+DAKgC;AAJ9B,kIAAA,0BAA0B,OAAA;AAK5B,iDAKyB;AAJvB,oHAAA,mBAAmB,OAAA;AAKrB,yDAM6B;AAL3B,4HAAA,uBAAuB,OAAA;AAMzB,iDAoByB;AAnBvB,mHAAA,kBAAkB,OAAA;AAoBpB,yDAY6B;AAX3B,4HAAA,uBAAuB,OAAA;AACvB,uHAAA,kBAAkB,OAAA;AAClB,uHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/skills/shared/services/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,+CAA6B;AAE7B,qBAAqB;AACrB,6CAAiF;AAAxE,gHAAA,iBAAiB,OAAA;AAC1B,iDAAuF;AAA9E,oHAAA,mBAAmB,OAAA;AAE5B,eAAe;AACf,mDAK0B;AAJxB,sHAAA,oBAAoB,OAAA;AAKtB,uDAO4B;AAN1B,0HAAA,sBAAsB,OAAA;AACtB,oHAAA,gBAAgB,OAAA;AAOlB,kBAAkB;AAClB,6CAUuB;AATrB,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AAShB,mDAK0B;AAJxB,sHAAA,oBAAoB,OAAA;AAKtB,mDAM0B;AALxB,sHAAA,oBAAoB,OAAA;AAMtB,+DAKgC;AAJ9B,kIAAA,0BAA0B,OAAA;AAK5B,iDAKyB;AAJvB,oHAAA,mBAAmB,OAAA;AAKrB,yDAM6B;AAL3B,4HAAA,uBAAuB,OAAA;AAMzB,iDAoByB;AAnBvB,mHAAA,kBAAkB,OAAA;AAoBpB,yDAY6B;AAX3B,4HAAA,uBAAuB,OAAA;AACvB,uHAAA,kBAAkB,OAAA;AAClB,uHAAA,kBAAkB,OAAA"}