@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.
- package/README.md +2 -2
- package/dist/lib/application/handlers/PromptSubmitHandler.js +2 -2
- package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -1
- package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/SessionStopHandler.js +12 -2
- package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -1
- package/dist/lib/commands/init.js +3 -3
- package/dist/lib/commands/init.js.map +1 -1
- package/dist/lib/commands/knowledge.d.ts.map +1 -1
- package/dist/lib/commands/knowledge.js +449 -1
- package/dist/lib/commands/knowledge.js.map +1 -1
- package/dist/lib/domain/errors/LlmErrors.d.ts +41 -0
- package/dist/lib/domain/errors/LlmErrors.d.ts.map +1 -0
- package/dist/lib/domain/errors/LlmErrors.js +64 -0
- package/dist/lib/domain/errors/LlmErrors.js.map +1 -0
- package/dist/lib/domain/interfaces/IConsolidationService.d.ts +65 -0
- package/dist/lib/domain/interfaces/IConsolidationService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IConsolidationService.js +21 -0
- package/dist/lib/domain/interfaces/IConsolidationService.js.map +1 -0
- package/dist/lib/domain/interfaces/ICurationService.d.ts +81 -0
- package/dist/lib/domain/interfaces/ICurationService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ICurationService.js +65 -0
- package/dist/lib/domain/interfaces/ICurationService.js.map +1 -0
- package/dist/lib/domain/interfaces/IDeduplicationService.d.ts +67 -0
- package/dist/lib/domain/interfaces/IDeduplicationService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IDeduplicationService.js +9 -0
- package/dist/lib/domain/interfaces/IDeduplicationService.js.map +1 -0
- package/dist/lib/domain/interfaces/ILlmConfigService.d.ts +36 -0
- package/dist/lib/domain/interfaces/ILlmConfigService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILlmConfigService.js +11 -0
- package/dist/lib/domain/interfaces/ILlmConfigService.js.map +1 -0
- package/dist/lib/domain/interfaces/ILlmGuard.d.ts +35 -0
- package/dist/lib/domain/interfaces/ILlmGuard.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILlmGuard.js +12 -0
- package/dist/lib/domain/interfaces/ILlmGuard.js.map +1 -0
- package/dist/lib/domain/interfaces/ILlmService.d.ts +87 -0
- package/dist/lib/domain/interfaces/ILlmService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILlmService.js +40 -0
- package/dist/lib/domain/interfaces/ILlmService.js.map +1 -0
- package/dist/lib/domain/interfaces/ILlmUsageTracker.d.ts +60 -0
- package/dist/lib/domain/interfaces/ILlmUsageTracker.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILlmUsageTracker.js +29 -0
- package/dist/lib/domain/interfaces/ILlmUsageTracker.js.map +1 -0
- package/dist/lib/domain/interfaces/IMemoryService.d.ts +90 -0
- package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/INlCurationService.d.ts +75 -0
- package/dist/lib/domain/interfaces/INlCurationService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/INlCurationService.js +31 -0
- package/dist/lib/domain/interfaces/INlCurationService.js.map +1 -0
- package/dist/lib/domain/interfaces/IPreferenceStore.d.ts +46 -0
- package/dist/lib/domain/interfaces/IPreferenceStore.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IPreferenceStore.js +11 -0
- package/dist/lib/domain/interfaces/IPreferenceStore.js.map +1 -0
- package/dist/lib/domain/interfaces/IRecursionService.d.ts +10 -6
- package/dist/lib/domain/interfaces/IRecursionService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/ISummarizationService.d.ts +52 -0
- package/dist/lib/domain/interfaces/ISummarizationService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ISummarizationService.js +11 -0
- package/dist/lib/domain/interfaces/ISummarizationService.js.map +1 -0
- package/dist/lib/domain/interfaces/ITaskTypeDetector.d.ts +34 -0
- package/dist/lib/domain/interfaces/ITaskTypeDetector.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ITaskTypeDetector.js +9 -0
- package/dist/lib/domain/interfaces/ITaskTypeDetector.js.map +1 -0
- package/dist/lib/domain/interfaces/ITranscriptEnricher.d.ts +68 -0
- package/dist/lib/domain/interfaces/ITranscriptEnricher.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ITranscriptEnricher.js +32 -0
- package/dist/lib/domain/interfaces/ITranscriptEnricher.js.map +1 -0
- package/dist/lib/domain/interfaces/IWorkSummary.d.ts +64 -0
- package/dist/lib/domain/interfaces/IWorkSummary.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IWorkSummary.js +13 -0
- package/dist/lib/domain/interfaces/IWorkSummary.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.d.ts +46 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.js +9 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRelationshipRepository.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts +62 -1
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/dal/index.d.ts +3 -2
- package/dist/lib/domain/interfaces/dal/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/dal/index.js.map +1 -1
- package/dist/lib/domain/interfaces/dal/types.d.ts +37 -0
- package/dist/lib/domain/interfaces/dal/types.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/dal/types.js.map +1 -1
- package/dist/lib/domain/interfaces/index.d.ts +15 -1
- package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/index.js +21 -1
- package/dist/lib/domain/interfaces/index.js.map +1 -1
- package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts +3 -0
- package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/types/ICapturedWork.js.map +1 -1
- package/dist/lib/domain/interfaces/types/IMemoryLifecycle.d.ts +56 -0
- package/dist/lib/domain/interfaces/types/IMemoryLifecycle.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryLifecycle.js +94 -0
- package/dist/lib/domain/interfaces/types/IMemoryLifecycle.js.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryQuality.d.ts +113 -0
- package/dist/lib/domain/interfaces/types/IMemoryQuality.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryQuality.js +195 -0
- package/dist/lib/domain/interfaces/types/IMemoryQuality.js.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryRelationship.d.ts +49 -0
- package/dist/lib/domain/interfaces/types/IMemoryRelationship.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryRelationship.js +62 -0
- package/dist/lib/domain/interfaces/types/IMemoryRelationship.js.map +1 -0
- package/dist/lib/domain/interfaces/types/ITaskType.d.ts +59 -0
- package/dist/lib/domain/interfaces/types/ITaskType.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/ITaskType.js +104 -0
- package/dist/lib/domain/interfaces/types/ITaskType.js.map +1 -0
- package/dist/lib/domain/interfaces/types/index.d.ts +4 -0
- package/dist/lib/domain/interfaces/types/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/types/index.js +33 -1
- package/dist/lib/domain/interfaces/types/index.js.map +1 -1
- package/dist/lib/domain/utils/deduplication.d.ts +38 -0
- package/dist/lib/domain/utils/deduplication.d.ts.map +1 -0
- package/dist/lib/domain/utils/deduplication.js +225 -0
- package/dist/lib/domain/utils/deduplication.js.map +1 -0
- package/dist/lib/domain/utils/index.d.ts +1 -0
- package/dist/lib/domain/utils/index.d.ts.map +1 -1
- package/dist/lib/domain/utils/index.js +6 -1
- package/dist/lib/domain/utils/index.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts +12 -2
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js +14 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts +25 -3
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js +156 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js.map +1 -1
- package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/bootstrap.js +92 -2
- package/dist/lib/infrastructure/di/bootstrap.js.map +1 -1
- package/dist/lib/infrastructure/di/tokens.d.ts +24 -0
- package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/tokens.js +12 -0
- package/dist/lib/infrastructure/di/tokens.js.map +1 -1
- package/dist/lib/infrastructure/services/ConsolidationService.d.ts +21 -0
- package/dist/lib/infrastructure/services/ConsolidationService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/ConsolidationService.js +134 -0
- package/dist/lib/infrastructure/services/ConsolidationService.js.map +1 -0
- package/dist/lib/infrastructure/services/CurationService.d.ts +28 -0
- package/dist/lib/infrastructure/services/CurationService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/CurationService.js +112 -0
- package/dist/lib/infrastructure/services/CurationService.js.map +1 -0
- package/dist/lib/infrastructure/services/DeduplicationService.d.ts +21 -0
- package/dist/lib/infrastructure/services/DeduplicationService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/DeduplicationService.js +111 -0
- package/dist/lib/infrastructure/services/DeduplicationService.js.map +1 -0
- package/dist/lib/infrastructure/services/LlmConfigService.d.ts +19 -0
- package/dist/lib/infrastructure/services/LlmConfigService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/LlmConfigService.js +161 -0
- package/dist/lib/infrastructure/services/LlmConfigService.js.map +1 -0
- package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.d.ts +47 -0
- package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.js +176 -0
- package/dist/lib/infrastructure/services/LlmDeduplicationEnhancer.js.map +1 -0
- package/dist/lib/infrastructure/services/LlmGuard.d.ts +29 -0
- package/dist/lib/infrastructure/services/LlmGuard.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/LlmGuard.js +92 -0
- package/dist/lib/infrastructure/services/LlmGuard.js.map +1 -0
- package/dist/lib/infrastructure/services/LlmService.d.ts +19 -0
- package/dist/lib/infrastructure/services/LlmService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/LlmService.js +253 -0
- package/dist/lib/infrastructure/services/LlmService.js.map +1 -0
- package/dist/lib/infrastructure/services/LlmUsageTracker.d.ts +25 -0
- package/dist/lib/infrastructure/services/LlmUsageTracker.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/LlmUsageTracker.js +130 -0
- package/dist/lib/infrastructure/services/LlmUsageTracker.js.map +1 -0
- package/dist/lib/infrastructure/services/MemoryService.d.ts +29 -2
- package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/MemoryService.js +93 -0
- package/dist/lib/infrastructure/services/MemoryService.js.map +1 -1
- package/dist/lib/infrastructure/services/NlCurationService.d.ts +29 -0
- package/dist/lib/infrastructure/services/NlCurationService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/NlCurationService.js +276 -0
- package/dist/lib/infrastructure/services/NlCurationService.js.map +1 -0
- package/dist/lib/infrastructure/services/PreferenceStore.d.ts +19 -0
- package/dist/lib/infrastructure/services/PreferenceStore.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/PreferenceStore.js +109 -0
- package/dist/lib/infrastructure/services/PreferenceStore.js.map +1 -0
- package/dist/lib/infrastructure/services/SessionCaptureService.d.ts +60 -19
- package/dist/lib/infrastructure/services/SessionCaptureService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/SessionCaptureService.js +474 -51
- package/dist/lib/infrastructure/services/SessionCaptureService.js.map +1 -1
- package/dist/lib/infrastructure/services/SummarizationService.d.ts +21 -0
- package/dist/lib/infrastructure/services/SummarizationService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/SummarizationService.js +132 -0
- package/dist/lib/infrastructure/services/SummarizationService.js.map +1 -0
- package/dist/lib/infrastructure/services/TranscriptEnricher.d.ts +23 -0
- package/dist/lib/infrastructure/services/TranscriptEnricher.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/TranscriptEnricher.js +170 -0
- package/dist/lib/infrastructure/services/TranscriptEnricher.js.map +1 -0
- package/dist/lib/infrastructure/services/index.d.ts +12 -0
- package/dist/lib/infrastructure/services/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/index.js +31 -1
- package/dist/lib/infrastructure/services/index.js.map +1 -1
- package/dist/lib/infrastructure/services/prompts/curation.d.ts +22 -0
- package/dist/lib/infrastructure/services/prompts/curation.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/prompts/curation.js +73 -0
- package/dist/lib/infrastructure/services/prompts/curation.js.map +1 -0
- package/dist/lib/infrastructure/services/prompts/deduplication.d.ts +31 -0
- package/dist/lib/infrastructure/services/prompts/deduplication.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/prompts/deduplication.js +52 -0
- package/dist/lib/infrastructure/services/prompts/deduplication.js.map +1 -0
- package/dist/lib/infrastructure/services/prompts/extraction.d.ts +27 -0
- package/dist/lib/infrastructure/services/prompts/extraction.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/prompts/extraction.js +94 -0
- package/dist/lib/infrastructure/services/prompts/extraction.js.map +1 -0
- package/dist/lib/infrastructure/services/prompts/summarization.d.ts +25 -0
- package/dist/lib/infrastructure/services/prompts/summarization.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/prompts/summarization.js +60 -0
- package/dist/lib/infrastructure/services/prompts/summarization.js.map +1 -0
- package/dist/lib/skills/common/type-mappings.d.ts.map +1 -1
- package/dist/lib/skills/common/type-mappings.js +5 -0
- package/dist/lib/skills/common/type-mappings.js.map +1 -1
- package/dist/lib/skills/memory/memory.d.ts +8 -2
- package/dist/lib/skills/memory/memory.d.ts.map +1 -1
- package/dist/lib/skills/memory/memory.js +27 -3
- package/dist/lib/skills/memory/memory.js.map +1 -1
- package/dist/lib/skills/shared/clients/Neo4jClient.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/Neo4jClient.js +75 -30
- package/dist/lib/skills/shared/clients/Neo4jClient.js.map +1 -1
- package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts +16 -0
- package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/MemoryCliService.d.ts +28 -2
- package/dist/lib/skills/shared/services/MemoryCliService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/MemoryCliService.js +112 -5
- package/dist/lib/skills/shared/services/MemoryCliService.js.map +1 -1
- package/dist/lib/skills/shared/services/MemoryService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/MemoryService.js +410 -1
- package/dist/lib/skills/shared/services/MemoryService.js.map +1 -1
- package/dist/lib/skills/shared/services/index.d.ts +1 -1
- package/dist/lib/skills/shared/services/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/index.js +2 -1
- package/dist/lib/skills/shared/services/index.js.map +1 -1
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts +148 -0
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.js +0 -4
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.js.map +1 -1
- package/dist/opencode/lisa.js +3904 -507
- package/dist/package.json +16 -16
- package/dist/project/.lisa/skills/git/SKILL.md +4 -13
- package/dist/project/.lisa/skills/init-review/SKILL.md +1 -1
- package/dist/project/.lisa/skills/jira/SKILL.md +1 -1
- package/dist/project/.lisa/skills/lisa/SKILL.md +1 -1
- package/dist/project/.lisa/skills/memory/SKILL.md +1 -2
- package/dist/project/.lisa/skills/tasks/SKILL.md +3 -4
- package/package.json +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Usage Tracker Interface.
|
|
3
|
+
*
|
|
4
|
+
* Tracks token usage and estimated cost per LLM operation.
|
|
5
|
+
* Supports monthly budget enforcement and per-feature tracking.
|
|
6
|
+
*
|
|
7
|
+
* Part of Phase 6B: Cost/Privacy Controls.
|
|
8
|
+
*/
|
|
9
|
+
import type { LlmProvider } from './ILlmService';
|
|
10
|
+
/**
|
|
11
|
+
* LLM feature identifiers for per-feature tracking and toggles.
|
|
12
|
+
*/
|
|
13
|
+
export type LlmFeature = 'summarization' | 'extraction' | 'deduplication' | 'curation' | 'test';
|
|
14
|
+
/**
|
|
15
|
+
* All valid LLM feature values.
|
|
16
|
+
*/
|
|
17
|
+
export declare const LLM_FEATURE_VALUES: readonly LlmFeature[];
|
|
18
|
+
/**
|
|
19
|
+
* Type guard for LlmFeature.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isValidLlmFeature(value: string): value is LlmFeature;
|
|
22
|
+
/**
|
|
23
|
+
* A single LLM usage record.
|
|
24
|
+
*/
|
|
25
|
+
export interface ILlmUsageRecord {
|
|
26
|
+
readonly timestamp: string;
|
|
27
|
+
readonly provider: LlmProvider;
|
|
28
|
+
readonly model: string;
|
|
29
|
+
readonly feature: LlmFeature;
|
|
30
|
+
readonly inputTokens: number;
|
|
31
|
+
readonly outputTokens: number;
|
|
32
|
+
readonly estimatedCostUsd: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* LLM usage tracker.
|
|
36
|
+
* Append-only log of usage records with cost aggregation and budget checks.
|
|
37
|
+
*/
|
|
38
|
+
export interface ILlmUsageTracker {
|
|
39
|
+
/**
|
|
40
|
+
* Record a usage event.
|
|
41
|
+
*/
|
|
42
|
+
record(usage: Omit<ILlmUsageRecord, 'timestamp'>): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Get usage records, optionally filtered by date.
|
|
45
|
+
* @param since - Only return records after this date
|
|
46
|
+
*/
|
|
47
|
+
getUsage(since?: Date): Promise<readonly ILlmUsageRecord[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Get total estimated cost, optionally filtered by date.
|
|
50
|
+
* Defaults to current calendar month if no date provided.
|
|
51
|
+
* @param since - Only sum costs after this date
|
|
52
|
+
*/
|
|
53
|
+
getTotalCost(since?: Date): Promise<number>;
|
|
54
|
+
/**
|
|
55
|
+
* Check if usage is within the configured monthly budget.
|
|
56
|
+
* Returns true if no budget limit is configured.
|
|
57
|
+
*/
|
|
58
|
+
isWithinBudget(): Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=ILlmUsageTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILlmUsageTracker.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ILlmUsageTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EAM1C,CAAC;AAEX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAEpE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAE5D;;;;OAIG;IACH,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LLM Usage Tracker Interface.
|
|
4
|
+
*
|
|
5
|
+
* Tracks token usage and estimated cost per LLM operation.
|
|
6
|
+
* Supports monthly budget enforcement and per-feature tracking.
|
|
7
|
+
*
|
|
8
|
+
* Part of Phase 6B: Cost/Privacy Controls.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.LLM_FEATURE_VALUES = void 0;
|
|
12
|
+
exports.isValidLlmFeature = isValidLlmFeature;
|
|
13
|
+
/**
|
|
14
|
+
* All valid LLM feature values.
|
|
15
|
+
*/
|
|
16
|
+
exports.LLM_FEATURE_VALUES = [
|
|
17
|
+
'summarization',
|
|
18
|
+
'extraction',
|
|
19
|
+
'deduplication',
|
|
20
|
+
'curation',
|
|
21
|
+
'test',
|
|
22
|
+
];
|
|
23
|
+
/**
|
|
24
|
+
* Type guard for LlmFeature.
|
|
25
|
+
*/
|
|
26
|
+
function isValidLlmFeature(value) {
|
|
27
|
+
return exports.LLM_FEATURE_VALUES.includes(value);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ILlmUsageTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILlmUsageTracker.js","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ILlmUsageTracker.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAuBH,8CAEC;AAhBD;;GAEG;AACU,QAAA,kBAAkB,GAA0B;IACvD,eAAe;IACf,YAAY;IACZ,eAAe;IACf,UAAU;IACV,MAAM;CACE,CAAC;AAEX;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,0BAAkB,CAAC,QAAQ,CAAC,KAAmB,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { IMemoryResult, IMemoryItem } from './types';
|
|
2
|
+
import type { IMemorySaveOptions } from './dal/IMemoryRepository';
|
|
3
|
+
import type { IMemoryRelationship, MemoryRelationType } from './types/IMemoryRelationship';
|
|
4
|
+
import type { ConfidenceLevel } from './types/IMemoryQuality';
|
|
5
|
+
import type { IQueryOptions, IConflictGroup } from './dal/types';
|
|
2
6
|
/**
|
|
3
7
|
* Options for date-filtered memory queries.
|
|
4
8
|
*/
|
|
@@ -56,6 +60,59 @@ export interface IMemoryWriter {
|
|
|
56
60
|
* @param tags - Optional tags for the fact
|
|
57
61
|
*/
|
|
58
62
|
addFact(groupId: string, fact: string, tags?: readonly string[]): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Add a fact with lifecycle metadata.
|
|
65
|
+
* Enriches tags with lifecycle:<tier> tag and delegates to addFact.
|
|
66
|
+
* @param groupId - Group ID to save to
|
|
67
|
+
* @param fact - Fact to add
|
|
68
|
+
* @param options - Save options including lifecycle and TTL
|
|
69
|
+
*/
|
|
70
|
+
addFactWithLifecycle(groupId: string, fact: string, options: IMemorySaveOptions): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Expire a single fact by UUID.
|
|
73
|
+
* Routes to Neo4j repository for direct Cypher expiration.
|
|
74
|
+
* @param groupId - Group ID the fact belongs to
|
|
75
|
+
* @param uuid - UUID of the fact to expire
|
|
76
|
+
*/
|
|
77
|
+
expireFact(groupId: string, uuid: string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Clean up expired facts based on lifecycle TTL defaults.
|
|
80
|
+
* Expires session facts older than 24h and ephemeral facts older than 1h.
|
|
81
|
+
* @param groupId - Group ID to clean up
|
|
82
|
+
* @returns Number of facts expired
|
|
83
|
+
*/
|
|
84
|
+
cleanupExpired(groupId: string): Promise<number>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Relationship operations for memory facts.
|
|
88
|
+
* Separated for Interface Segregation Principle.
|
|
89
|
+
* Optional — only available when a relationship-capable backend (e.g., Neo4j) is present.
|
|
90
|
+
*/
|
|
91
|
+
export interface IMemoryRelationshipWriter {
|
|
92
|
+
/**
|
|
93
|
+
* Create a typed relationship between two facts.
|
|
94
|
+
* @param groupId - Group ID for scoping
|
|
95
|
+
* @param sourceUuid - UUID of the source fact
|
|
96
|
+
* @param targetUuid - UUID of the target fact
|
|
97
|
+
* @param relationType - Type of relationship
|
|
98
|
+
* @param metadata - Optional annotation for the relationship
|
|
99
|
+
*/
|
|
100
|
+
linkFacts(groupId: string, sourceUuid: string, targetUuid: string, relationType: MemoryRelationType, metadata?: string): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Remove a typed relationship between two facts.
|
|
103
|
+
* @param groupId - Group ID for scoping
|
|
104
|
+
* @param sourceUuid - UUID of the source fact
|
|
105
|
+
* @param targetUuid - UUID of the target fact
|
|
106
|
+
* @param relationType - Type of relationship to remove
|
|
107
|
+
*/
|
|
108
|
+
unlinkFacts(groupId: string, sourceUuid: string, targetUuid: string, relationType: MemoryRelationType): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Get all relationships for a fact.
|
|
111
|
+
* @param groupId - Group ID for scoping
|
|
112
|
+
* @param uuid - UUID of the fact
|
|
113
|
+
* @param relationType - Optional filter by relation type
|
|
114
|
+
*/
|
|
115
|
+
getRelatedFacts(groupId: string, uuid: string, relationType?: MemoryRelationType): Promise<IMemoryRelationship[]>;
|
|
59
116
|
}
|
|
60
117
|
/**
|
|
61
118
|
* Full memory service interface.
|
|
@@ -63,4 +120,37 @@ export interface IMemoryWriter {
|
|
|
63
120
|
*/
|
|
64
121
|
export interface IMemoryService extends IMemoryReader, IMemoryWriter {
|
|
65
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Extended memory service with relationship support.
|
|
125
|
+
* Consumers that need relationship operations can check/cast to this interface.
|
|
126
|
+
*/
|
|
127
|
+
export interface IMemoryServiceWithRelationships extends IMemoryService, IMemoryRelationshipWriter {
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Quality read operations for memory.
|
|
131
|
+
* Provides confidence filtering and conflict detection.
|
|
132
|
+
* Separated for Interface Segregation Principle.
|
|
133
|
+
*/
|
|
134
|
+
export interface IMemoryQualityReader {
|
|
135
|
+
/**
|
|
136
|
+
* Find facts at or above a minimum confidence level.
|
|
137
|
+
* @param groupIds - Group IDs to search
|
|
138
|
+
* @param minLevel - Minimum confidence level (inclusive)
|
|
139
|
+
* @param options - Additional query options
|
|
140
|
+
*/
|
|
141
|
+
findByMinConfidence(groupIds: readonly string[], minLevel: ConfidenceLevel, options?: IQueryOptions): Promise<IMemoryItem[]>;
|
|
142
|
+
/**
|
|
143
|
+
* Find groups of potentially conflicting facts.
|
|
144
|
+
* Detects facts sharing topic tags but with differing content.
|
|
145
|
+
* @param groupIds - Group IDs to search
|
|
146
|
+
* @param topic - Optional topic to filter conflicts by
|
|
147
|
+
*/
|
|
148
|
+
findConflicts(groupIds: readonly string[], topic?: string): Promise<readonly IConflictGroup[]>;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Extended memory service with quality query support.
|
|
152
|
+
* Consumers that need quality operations can check/cast to this interface.
|
|
153
|
+
*/
|
|
154
|
+
export interface IMemoryServiceWithQuality extends IMemoryService, IMemoryQualityReader {
|
|
155
|
+
}
|
|
66
156
|
//# sourceMappingURL=IMemoryService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IMemoryService.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/IMemoryService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"IMemoryService.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/IMemoryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Natural Language Curation Service Interface.
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for translating natural language memory
|
|
5
|
+
* management commands into structured operations. Supports intent
|
|
6
|
+
* classification (query, mark, expire, summarize, consolidate)
|
|
7
|
+
* with plan-then-execute workflow for destructive actions.
|
|
8
|
+
*
|
|
9
|
+
* Part of Phase 6E: Natural Language Curation.
|
|
10
|
+
*/
|
|
11
|
+
import type { ILlmUsage } from './ILlmService';
|
|
12
|
+
/**
|
|
13
|
+
* Recognized curation intents.
|
|
14
|
+
*/
|
|
15
|
+
export type NlCurationIntent = 'query' | 'mark' | 'expire' | 'summarize' | 'consolidate';
|
|
16
|
+
/**
|
|
17
|
+
* All valid NL curation intents.
|
|
18
|
+
*/
|
|
19
|
+
export declare const NL_CURATION_INTENT_VALUES: readonly NlCurationIntent[];
|
|
20
|
+
/**
|
|
21
|
+
* Check if a string is a valid NlCurationIntent.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isValidNlCurationIntent(value: string): value is NlCurationIntent;
|
|
24
|
+
/**
|
|
25
|
+
* A single operation within a curation plan.
|
|
26
|
+
*/
|
|
27
|
+
export interface INlOperation {
|
|
28
|
+
readonly type: 'search' | 'mark' | 'expire' | 'summarize' | 'consolidate';
|
|
29
|
+
readonly params: Readonly<Record<string, unknown>>;
|
|
30
|
+
readonly description: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A plan generated from natural language input.
|
|
34
|
+
* Presented to the user before execution.
|
|
35
|
+
*/
|
|
36
|
+
export interface INlCurationPlan {
|
|
37
|
+
readonly intent: NlCurationIntent;
|
|
38
|
+
readonly description: string;
|
|
39
|
+
readonly isDestructive: boolean;
|
|
40
|
+
readonly operations: readonly INlOperation[];
|
|
41
|
+
readonly usage: ILlmUsage;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Result of executing a curation plan.
|
|
45
|
+
*/
|
|
46
|
+
export interface INlCurationResult {
|
|
47
|
+
readonly plan: INlCurationPlan;
|
|
48
|
+
readonly executed: boolean;
|
|
49
|
+
readonly output: string;
|
|
50
|
+
readonly usage: ILlmUsage;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Natural language curation service.
|
|
54
|
+
* Translates natural language into structured memory operations.
|
|
55
|
+
*/
|
|
56
|
+
export interface INlCurationService {
|
|
57
|
+
/**
|
|
58
|
+
* Plan operations from natural language input.
|
|
59
|
+
* Does NOT execute — returns a plan for user review.
|
|
60
|
+
*
|
|
61
|
+
* @param input - Natural language command
|
|
62
|
+
* @param groupId - Memory group to operate on
|
|
63
|
+
* @throws LlmDisabledError if LLM is disabled
|
|
64
|
+
* @throws LlmFeatureDisabledError if curation feature is disabled
|
|
65
|
+
*/
|
|
66
|
+
plan(input: string, groupId: string): Promise<INlCurationPlan>;
|
|
67
|
+
/**
|
|
68
|
+
* Execute a previously generated plan.
|
|
69
|
+
*
|
|
70
|
+
* @param plan - The plan to execute
|
|
71
|
+
* @param groupId - Memory group to operate on
|
|
72
|
+
*/
|
|
73
|
+
execute(plan: INlCurationPlan, groupId: string): Promise<INlCurationResult>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=INlCurationService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"INlCurationService.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/INlCurationService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,gBAAgB,EAMvD,CAAC;AAEX;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAEhF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;IAC1E,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;OAQG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC7E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Natural Language Curation Service Interface.
|
|
4
|
+
*
|
|
5
|
+
* Defines the contract for translating natural language memory
|
|
6
|
+
* management commands into structured operations. Supports intent
|
|
7
|
+
* classification (query, mark, expire, summarize, consolidate)
|
|
8
|
+
* with plan-then-execute workflow for destructive actions.
|
|
9
|
+
*
|
|
10
|
+
* Part of Phase 6E: Natural Language Curation.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.NL_CURATION_INTENT_VALUES = void 0;
|
|
14
|
+
exports.isValidNlCurationIntent = isValidNlCurationIntent;
|
|
15
|
+
/**
|
|
16
|
+
* All valid NL curation intents.
|
|
17
|
+
*/
|
|
18
|
+
exports.NL_CURATION_INTENT_VALUES = [
|
|
19
|
+
'query',
|
|
20
|
+
'mark',
|
|
21
|
+
'expire',
|
|
22
|
+
'summarize',
|
|
23
|
+
'consolidate',
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Check if a string is a valid NlCurationIntent.
|
|
27
|
+
*/
|
|
28
|
+
function isValidNlCurationIntent(value) {
|
|
29
|
+
return exports.NL_CURATION_INTENT_VALUES.includes(value);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=INlCurationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"INlCurationService.js","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/INlCurationService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAuBH,0DAEC;AAhBD;;GAEG;AACU,QAAA,yBAAyB,GAAgC;IACpE,OAAO;IACP,MAAM;IACN,QAAQ;IACR,WAAW;IACX,aAAa;CACL,CAAC;AAEX;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,iCAAyB,CAAC,QAAQ,CAAC,KAAyB,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preference Store Interface.
|
|
3
|
+
*
|
|
4
|
+
* Defines a key-value store for user preferences.
|
|
5
|
+
* Fast lookups by key, permanent lifecycle, separate from the knowledge graph.
|
|
6
|
+
*
|
|
7
|
+
* Part of Phase 5D: Preference Key-Value Store.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* A stored preference entry.
|
|
11
|
+
*/
|
|
12
|
+
export interface IPreference {
|
|
13
|
+
readonly key: string;
|
|
14
|
+
readonly value: string;
|
|
15
|
+
readonly updatedAt: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Preference store contract.
|
|
19
|
+
* Simple key-value semantics with list/has helpers.
|
|
20
|
+
*/
|
|
21
|
+
export interface IPreferenceStore {
|
|
22
|
+
/**
|
|
23
|
+
* Get a preference value by key.
|
|
24
|
+
* @returns The stored value, or null if not found.
|
|
25
|
+
*/
|
|
26
|
+
get(key: string): Promise<string | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Set a preference value.
|
|
29
|
+
* Creates the key if it doesn't exist, overwrites if it does.
|
|
30
|
+
*/
|
|
31
|
+
set(key: string, value: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Delete a preference by key.
|
|
34
|
+
* @returns true if the key existed and was deleted, false otherwise.
|
|
35
|
+
*/
|
|
36
|
+
delete(key: string): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* List all stored preferences.
|
|
39
|
+
*/
|
|
40
|
+
list(): Promise<readonly IPreference[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Check whether a key exists.
|
|
43
|
+
*/
|
|
44
|
+
has(key: string): Promise<boolean>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=IPreferenceStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPreferenceStore.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/IPreferenceStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzC;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAExC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Preference Store Interface.
|
|
4
|
+
*
|
|
5
|
+
* Defines a key-value store for user preferences.
|
|
6
|
+
* Fast lookups by key, permanent lifecycle, separate from the knowledge graph.
|
|
7
|
+
*
|
|
8
|
+
* Part of Phase 5D: Preference Key-Value Store.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
//# sourceMappingURL=IPreferenceStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPreferenceStore.js","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/IPreferenceStore.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TaskType } from './types/ITaskType';
|
|
1
2
|
/**
|
|
2
3
|
* Result of memory recursion for plan mode prompts.
|
|
3
4
|
*/
|
|
@@ -25,28 +26,31 @@ export interface IRecursionConfig {
|
|
|
25
26
|
readonly queryTimeoutMs: number;
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
* Service for searching memory
|
|
29
|
+
* Service for searching memory based on task context.
|
|
29
30
|
*
|
|
30
|
-
* When a user submits a prompt
|
|
31
|
-
*
|
|
31
|
+
* When a user submits a prompt, this service searches memory for
|
|
32
|
+
* relevant context: previous decisions, learnings, and tasks.
|
|
33
|
+
* The search strategy adapts based on the detected task type.
|
|
32
34
|
*/
|
|
33
35
|
export interface IRecursionService {
|
|
34
36
|
/**
|
|
35
|
-
* Run memory recursion for a
|
|
37
|
+
* Run memory recursion for a prompt.
|
|
36
38
|
* Searches for relevant decisions, learnings, and tasks.
|
|
37
39
|
*
|
|
38
40
|
* @param prompt - The user's prompt text
|
|
39
41
|
* @param groupIds - Hierarchical group IDs to search
|
|
42
|
+
* @param taskType - Optional task type to adjust search strategy
|
|
40
43
|
* @returns Recursion result with found context
|
|
41
44
|
*/
|
|
42
|
-
run(prompt: string, groupIds: readonly string[]): Promise<IRecursionResult>;
|
|
45
|
+
run(prompt: string, groupIds: readonly string[], taskType?: TaskType): Promise<IRecursionResult>;
|
|
43
46
|
/**
|
|
44
47
|
* Check if recursion should run for a given prompt.
|
|
45
48
|
*
|
|
46
49
|
* @param prompt - The user's prompt text
|
|
47
50
|
* @param permissionMode - The current permission mode
|
|
51
|
+
* @param taskType - Optional task type (debugging/exploration always trigger)
|
|
48
52
|
* @returns True if recursion should run
|
|
49
53
|
*/
|
|
50
|
-
shouldRun(prompt: string, permissionMode: string): boolean;
|
|
54
|
+
shouldRun(prompt: string, permissionMode: string, taskType?: TaskType): boolean;
|
|
51
55
|
}
|
|
52
56
|
//# sourceMappingURL=IRecursionService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IRecursionService.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/IRecursionService.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oBAAoB;IACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,mCAAmC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED
|
|
1
|
+
{"version":3,"file":"IRecursionService.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/IRecursionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oBAAoB;IACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,mCAAmC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEjG;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACjF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Summarization Service Interface.
|
|
3
|
+
*
|
|
4
|
+
* Produces LLM-generated summaries of accumulated memory facts.
|
|
5
|
+
* Supports date filtering, topic filtering, and style options.
|
|
6
|
+
*
|
|
7
|
+
* Part of Phase 6B: AI-Powered Memory Summarization.
|
|
8
|
+
*/
|
|
9
|
+
import type { ILlmUsage } from './ILlmService';
|
|
10
|
+
/**
|
|
11
|
+
* Result of a summarization operation.
|
|
12
|
+
*/
|
|
13
|
+
export interface ISummarizationResult {
|
|
14
|
+
readonly summary: string;
|
|
15
|
+
readonly factCount: number;
|
|
16
|
+
readonly timeRange: {
|
|
17
|
+
readonly from: string;
|
|
18
|
+
readonly to: string;
|
|
19
|
+
};
|
|
20
|
+
readonly topics: readonly string[];
|
|
21
|
+
readonly usage: ILlmUsage;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for summarization.
|
|
25
|
+
*/
|
|
26
|
+
export interface ISummarizationOptions {
|
|
27
|
+
/** Only include facts created after this date. */
|
|
28
|
+
readonly since?: Date;
|
|
29
|
+
/** Filter facts by topic tag. */
|
|
30
|
+
readonly topic?: string;
|
|
31
|
+
/** Maximum number of facts to send to the LLM (default: 50). */
|
|
32
|
+
readonly maxFacts?: number;
|
|
33
|
+
/** Summary style: concise (2-3 paragraphs) or detailed (4-6 paragraphs). */
|
|
34
|
+
readonly style?: 'concise' | 'detailed';
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Summarization service.
|
|
38
|
+
* Produces LLM-generated digests of project memory facts.
|
|
39
|
+
*/
|
|
40
|
+
export interface ISummarizationService {
|
|
41
|
+
/**
|
|
42
|
+
* Summarize memory facts for a group.
|
|
43
|
+
*
|
|
44
|
+
* @param groupId - Group ID to summarize facts from
|
|
45
|
+
* @param options - Optional filters and style settings
|
|
46
|
+
* @throws LlmDisabledError if LLM is disabled
|
|
47
|
+
* @throws LlmFeatureDisabledError if summarization feature is disabled
|
|
48
|
+
* @throws LlmBudgetExceededError if monthly budget limit is exceeded
|
|
49
|
+
*/
|
|
50
|
+
summarize(groupId: string, options?: ISummarizationOptions): Promise<ISummarizationResult>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=ISummarizationService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISummarizationService.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ISummarizationService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,SAAS,CACP,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Summarization Service Interface.
|
|
4
|
+
*
|
|
5
|
+
* Produces LLM-generated summaries of accumulated memory facts.
|
|
6
|
+
* Supports date filtering, topic filtering, and style options.
|
|
7
|
+
*
|
|
8
|
+
* Part of Phase 6B: AI-Powered Memory Summarization.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
//# sourceMappingURL=ISummarizationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISummarizationService.js","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ISummarizationService.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Type Detector Interface
|
|
3
|
+
*
|
|
4
|
+
* Contract for detecting the task type from user prompts.
|
|
5
|
+
* Used by PromptSubmitHandler to determine retrieval strategy.
|
|
6
|
+
*/
|
|
7
|
+
import type { TaskType } from './types/ITaskType';
|
|
8
|
+
/**
|
|
9
|
+
* Result of task type detection.
|
|
10
|
+
*/
|
|
11
|
+
export interface ITaskTypeResult {
|
|
12
|
+
/** The detected task type */
|
|
13
|
+
readonly taskType: TaskType;
|
|
14
|
+
/** Confidence score (0.0 - 1.0) */
|
|
15
|
+
readonly confidence: number;
|
|
16
|
+
/** Signal keywords that contributed to detection */
|
|
17
|
+
readonly signals: readonly string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Service for detecting task type from user prompts.
|
|
21
|
+
*
|
|
22
|
+
* Uses signal-based scoring (keywords + phrases) for fast,
|
|
23
|
+
* deterministic classification without LLM calls.
|
|
24
|
+
*/
|
|
25
|
+
export interface ITaskTypeDetector {
|
|
26
|
+
/**
|
|
27
|
+
* Detect the task type from a user prompt.
|
|
28
|
+
*
|
|
29
|
+
* @param prompt - The user's prompt text
|
|
30
|
+
* @returns Detection result with task type, confidence, and signals
|
|
31
|
+
*/
|
|
32
|
+
detect(prompt: string): ITaskTypeResult;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=ITaskTypeDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITaskTypeDetector.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ITaskTypeDetector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;CACzC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task Type Detector Interface
|
|
4
|
+
*
|
|
5
|
+
* Contract for detecting the task type from user prompts.
|
|
6
|
+
* Used by PromptSubmitHandler to determine retrieval strategy.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=ITaskTypeDetector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITaskTypeDetector.js","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ITaskTypeDetector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transcript Enricher Interface.
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for LLM-powered extraction of structured facts
|
|
5
|
+
* from session transcripts. Extracts decisions, learnings, blockers,
|
|
6
|
+
* tasks, preferences, conventions, and gotchas with confidence levels.
|
|
7
|
+
*
|
|
8
|
+
* Part of Phase 6C: Enhanced Session Transcript Extraction.
|
|
9
|
+
*/
|
|
10
|
+
import type { ILlmUsage } from './ILlmService';
|
|
11
|
+
import type { ConfidenceLevel } from './types/IMemoryQuality';
|
|
12
|
+
import type { IWorkSummary } from './IWorkSummary';
|
|
13
|
+
/**
|
|
14
|
+
* Fact type extracted from a session transcript.
|
|
15
|
+
*/
|
|
16
|
+
export type ExtractedFactType = 'decision' | 'learning' | 'blocker' | 'task' | 'preference' | 'convention' | 'gotcha';
|
|
17
|
+
/**
|
|
18
|
+
* All valid extracted fact types.
|
|
19
|
+
*/
|
|
20
|
+
export declare const EXTRACTED_FACT_TYPE_VALUES: readonly ExtractedFactType[];
|
|
21
|
+
/**
|
|
22
|
+
* Type guard for ExtractedFactType.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isValidExtractedFactType(value: string): value is ExtractedFactType;
|
|
25
|
+
/**
|
|
26
|
+
* A structured fact extracted by the LLM from a transcript.
|
|
27
|
+
*/
|
|
28
|
+
export interface IExtractedFact {
|
|
29
|
+
readonly text: string;
|
|
30
|
+
readonly type: ExtractedFactType;
|
|
31
|
+
readonly confidence: ConfidenceLevel;
|
|
32
|
+
readonly tags: readonly string[];
|
|
33
|
+
readonly rationale?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Result of enriching a session transcript with LLM extraction.
|
|
37
|
+
*/
|
|
38
|
+
export interface IEnrichmentResult {
|
|
39
|
+
readonly facts: readonly IExtractedFact[];
|
|
40
|
+
readonly summary: string;
|
|
41
|
+
readonly usage: ILlmUsage;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Options for transcript enrichment.
|
|
45
|
+
*/
|
|
46
|
+
export interface IEnrichmentOptions {
|
|
47
|
+
/** Extraction depth: 'fast' extracts top 5 facts, 'thorough' up to 15. Default: 'fast'. */
|
|
48
|
+
readonly depth?: 'fast' | 'thorough';
|
|
49
|
+
/** Restrict extraction to specific fact types. Default: all types. */
|
|
50
|
+
readonly extractTypes?: readonly ExtractedFactType[];
|
|
51
|
+
/** Maximum transcript length sent to LLM (chars). Default: 4000. */
|
|
52
|
+
readonly maxSnippetLength?: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Service for enriching session transcripts with LLM-extracted facts.
|
|
56
|
+
*/
|
|
57
|
+
export interface ITranscriptEnricher {
|
|
58
|
+
/**
|
|
59
|
+
* Enrich a session transcript with structured facts via LLM analysis.
|
|
60
|
+
*
|
|
61
|
+
* @param workSummary - Parsed work summary from the session
|
|
62
|
+
* @param transcriptSnippet - Raw transcript text snippet
|
|
63
|
+
* @param options - Enrichment options
|
|
64
|
+
* @returns Extracted facts, summary, and usage stats
|
|
65
|
+
*/
|
|
66
|
+
enrich(workSummary: IWorkSummary, transcriptSnippet: string, options?: IEnrichmentOptions): Promise<IEnrichmentResult>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=ITranscriptEnricher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITranscriptEnricher.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/interfaces/ITranscriptEnricher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,UAAU,GACV,SAAS,GACT,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,QAAQ,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,iBAAiB,EAQzD,CAAC;AAEX;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAElF;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACrC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACrD,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,MAAM,CACJ,WAAW,EAAE,YAAY,EACzB,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B"}
|