ghagga-core 2.6.0 → 2.8.0

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 (153) hide show
  1. package/dist/agents/consensus.d.ts +2 -0
  2. package/dist/agents/consensus.d.ts.map +1 -1
  3. package/dist/agents/consensus.js +1 -0
  4. package/dist/agents/consensus.js.map +1 -1
  5. package/dist/agents/diagnostic.d.ts +2 -0
  6. package/dist/agents/diagnostic.d.ts.map +1 -1
  7. package/dist/agents/diagnostic.js +1 -0
  8. package/dist/agents/diagnostic.js.map +1 -1
  9. package/dist/agents/fan-out-lenses.d.ts +92 -0
  10. package/dist/agents/fan-out-lenses.d.ts.map +1 -0
  11. package/dist/agents/fan-out-lenses.js +424 -0
  12. package/dist/agents/fan-out-lenses.js.map +1 -0
  13. package/dist/agents/simple.d.ts +2 -0
  14. package/dist/agents/simple.d.ts.map +1 -1
  15. package/dist/agents/simple.js +1 -0
  16. package/dist/agents/simple.js.map +1 -1
  17. package/dist/agents/workflow.d.ts +2 -0
  18. package/dist/agents/workflow.d.ts.map +1 -1
  19. package/dist/agents/workflow.js +2 -1
  20. package/dist/agents/workflow.js.map +1 -1
  21. package/dist/checklist/config.d.ts +22 -0
  22. package/dist/checklist/config.d.ts.map +1 -0
  23. package/dist/checklist/config.js +85 -0
  24. package/dist/checklist/config.js.map +1 -0
  25. package/dist/checklist/context.d.ts +22 -0
  26. package/dist/checklist/context.d.ts.map +1 -0
  27. package/dist/checklist/context.js +76 -0
  28. package/dist/checklist/context.js.map +1 -0
  29. package/dist/checklist/defaults.d.ts +12 -0
  30. package/dist/checklist/defaults.d.ts.map +1 -0
  31. package/dist/checklist/defaults.js +172 -0
  32. package/dist/checklist/defaults.js.map +1 -0
  33. package/dist/checklist/index.d.ts +14 -0
  34. package/dist/checklist/index.d.ts.map +1 -0
  35. package/dist/checklist/index.js +15 -0
  36. package/dist/checklist/index.js.map +1 -0
  37. package/dist/checklist/scorer.d.ts +58 -0
  38. package/dist/checklist/scorer.d.ts.map +1 -0
  39. package/dist/checklist/scorer.js +142 -0
  40. package/dist/checklist/scorer.js.map +1 -0
  41. package/dist/checklist/types.d.ts +39 -0
  42. package/dist/checklist/types.d.ts.map +1 -0
  43. package/dist/checklist/types.js +17 -0
  44. package/dist/checklist/types.js.map +1 -0
  45. package/dist/exploitability/analyzer.d.ts +75 -0
  46. package/dist/exploitability/analyzer.d.ts.map +1 -0
  47. package/dist/exploitability/analyzer.js +299 -0
  48. package/dist/exploitability/analyzer.js.map +1 -0
  49. package/dist/exploitability/index.d.ts +10 -0
  50. package/dist/exploitability/index.d.ts.map +1 -0
  51. package/dist/exploitability/index.js +10 -0
  52. package/dist/exploitability/index.js.map +1 -0
  53. package/dist/exploitability/types.d.ts +32 -0
  54. package/dist/exploitability/types.d.ts.map +1 -0
  55. package/dist/exploitability/types.js +9 -0
  56. package/dist/exploitability/types.js.map +1 -0
  57. package/dist/index.d.ts +15 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +9 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/memory/context.d.ts +2 -0
  62. package/dist/memory/context.d.ts.map +1 -1
  63. package/dist/memory/context.js +2 -1
  64. package/dist/memory/context.js.map +1 -1
  65. package/dist/memory/contradiction.d.ts +46 -0
  66. package/dist/memory/contradiction.d.ts.map +1 -0
  67. package/dist/memory/contradiction.js +110 -0
  68. package/dist/memory/contradiction.js.map +1 -0
  69. package/dist/memory/decay.d.ts +25 -0
  70. package/dist/memory/decay.d.ts.map +1 -0
  71. package/dist/memory/decay.js +51 -0
  72. package/dist/memory/decay.js.map +1 -0
  73. package/dist/memory/search.d.ts.map +1 -1
  74. package/dist/memory/search.js +1 -0
  75. package/dist/memory/search.js.map +1 -1
  76. package/dist/memory/sqlite.d.ts +21 -0
  77. package/dist/memory/sqlite.d.ts.map +1 -1
  78. package/dist/memory/sqlite.js +82 -7
  79. package/dist/memory/sqlite.js.map +1 -1
  80. package/dist/memory/versioning.d.ts +94 -0
  81. package/dist/memory/versioning.d.ts.map +1 -0
  82. package/dist/memory/versioning.js +350 -0
  83. package/dist/memory/versioning.js.map +1 -0
  84. package/dist/pipeline.d.ts.map +1 -1
  85. package/dist/pipeline.js +117 -0
  86. package/dist/pipeline.js.map +1 -1
  87. package/dist/providers/index.d.ts.map +1 -1
  88. package/dist/providers/index.js +7 -2
  89. package/dist/providers/index.js.map +1 -1
  90. package/dist/recursive/index.d.ts +45 -0
  91. package/dist/recursive/index.d.ts.map +1 -0
  92. package/dist/recursive/index.js +159 -0
  93. package/dist/recursive/index.js.map +1 -0
  94. package/dist/recursive/patch-extractor.d.ts +49 -0
  95. package/dist/recursive/patch-extractor.d.ts.map +1 -0
  96. package/dist/recursive/patch-extractor.js +133 -0
  97. package/dist/recursive/patch-extractor.js.map +1 -0
  98. package/dist/recursive/re-reviewer.d.ts +31 -0
  99. package/dist/recursive/re-reviewer.d.ts.map +1 -0
  100. package/dist/recursive/re-reviewer.js +66 -0
  101. package/dist/recursive/re-reviewer.js.map +1 -0
  102. package/dist/recursive/types.d.ts +62 -0
  103. package/dist/recursive/types.d.ts.map +1 -0
  104. package/dist/recursive/types.js +11 -0
  105. package/dist/recursive/types.js.map +1 -0
  106. package/dist/scope/context-builder.d.ts +37 -0
  107. package/dist/scope/context-builder.d.ts.map +1 -0
  108. package/dist/scope/context-builder.js +108 -0
  109. package/dist/scope/context-builder.js.map +1 -0
  110. package/dist/scope/diff-mapper.d.ts +29 -0
  111. package/dist/scope/diff-mapper.d.ts.map +1 -0
  112. package/dist/scope/diff-mapper.js +76 -0
  113. package/dist/scope/diff-mapper.js.map +1 -0
  114. package/dist/scope/extractor.d.ts +25 -0
  115. package/dist/scope/extractor.d.ts.map +1 -0
  116. package/dist/scope/extractor.js +264 -0
  117. package/dist/scope/extractor.js.map +1 -0
  118. package/dist/scope/index.d.ts +13 -0
  119. package/dist/scope/index.d.ts.map +1 -0
  120. package/dist/scope/index.js +16 -0
  121. package/dist/scope/index.js.map +1 -0
  122. package/dist/scope/parser.d.ts +47 -0
  123. package/dist/scope/parser.d.ts.map +1 -0
  124. package/dist/scope/parser.js +97 -0
  125. package/dist/scope/parser.js.map +1 -0
  126. package/dist/scope/queries.d.ts +23 -0
  127. package/dist/scope/queries.d.ts.map +1 -0
  128. package/dist/scope/queries.js +134 -0
  129. package/dist/scope/queries.js.map +1 -0
  130. package/dist/scope/types.d.ts +55 -0
  131. package/dist/scope/types.d.ts.map +1 -0
  132. package/dist/scope/types.js +8 -0
  133. package/dist/scope/types.js.map +1 -0
  134. package/dist/tools/execution.d.ts.map +1 -1
  135. package/dist/tools/execution.js +2 -0
  136. package/dist/tools/execution.js.map +1 -1
  137. package/dist/tools/plugins/index.d.ts +1 -0
  138. package/dist/tools/plugins/index.d.ts.map +1 -1
  139. package/dist/tools/plugins/index.js +6 -5
  140. package/dist/tools/plugins/index.js.map +1 -1
  141. package/dist/tools/plugins/sonarqube.d.ts +54 -0
  142. package/dist/tools/plugins/sonarqube.d.ts.map +1 -0
  143. package/dist/tools/plugins/sonarqube.js +145 -0
  144. package/dist/tools/plugins/sonarqube.js.map +1 -0
  145. package/dist/tools/plugins/trivy.js +1 -1
  146. package/dist/tools/plugins/trivy.js.map +1 -1
  147. package/dist/tools/types.d.ts +7 -1
  148. package/dist/tools/types.d.ts.map +1 -1
  149. package/dist/types.d.ts +80 -1
  150. package/dist/types.d.ts.map +1 -1
  151. package/dist/types.js +9 -0
  152. package/dist/types.js.map +1 -1
  153. package/package.json +3 -1
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Exploitability Analysis Types
3
+ *
4
+ * Types for CVE exploitability labeling based on import reachability.
5
+ * A CVE is "exploitable" only if the vulnerable package is actually
6
+ * imported and reachable from the project's entry points.
7
+ */
8
+ /**
9
+ * Exploitability classification for a CVE finding.
10
+ *
11
+ * - `exploitable`: vulnerable package is imported AND reachable from entry points
12
+ * - `potentially-exploitable`: imported but reachability unclear, or no graph available
13
+ * - `not-exploitable`: vulnerable package is NOT imported by any project file
14
+ */
15
+ export type ExploitabilityLabel = 'exploitable' | 'potentially-exploitable' | 'not-exploitable';
16
+ /**
17
+ * Detailed exploitability analysis result for a single CVE finding.
18
+ * Attached to ReviewFinding for transparency and debugging.
19
+ */
20
+ export interface ExploitabilityDetail {
21
+ /** Exploitability classification */
22
+ label: ExploitabilityLabel;
23
+ /** Package name extracted from the CVE finding (e.g., "lodash", "@angular/core") */
24
+ packageName: string;
25
+ /** Project files that import the vulnerable package */
26
+ importSites: string[];
27
+ /** Entry point files from which the import site is reachable */
28
+ reachableFrom: string[];
29
+ /** Human-readable explanation of the classification */
30
+ reason: string;
31
+ }
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exploitability/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,yBAAyB,GAAG,iBAAiB,CAAC;AAIhG;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,KAAK,EAAE,mBAAmB,CAAC;IAE3B,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,gEAAgE;IAChE,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Exploitability Analysis Types
3
+ *
4
+ * Types for CVE exploitability labeling based on import reachability.
5
+ * A CVE is "exploitable" only if the vulnerable package is actually
6
+ * imported and reachable from the project's entry points.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/exploitability/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,10 @@ export { reviewPipeline } from './pipeline.js';
8
8
  export type { ConsensusStance, ConsensusVote, FindingSeverity, FindingSource, Hypothesis, HypothesisConfidence, ListObservationsOptions, LLMProvider, MemoryObservation, MemoryObservationDetail, MemoryObservationRow, MemoryStats, MemoryStorage, ObservationType, ProgressCallback, ProgressEvent, ProviderChainEntry, ReviewContext, ReviewFinding, ReviewInput, ReviewLevel, ReviewMetadata, ReviewMode, ReviewResult, ReviewSettings, ReviewStatus, SaaSProvider, StaticAnalysisResult, ToolResult, ToolStatus, WorkflowSpecialist, } from './types.js';
9
9
  export type { DiagnosticReviewInput } from './agents/diagnostic.js';
10
10
  export { parseHypotheses, runDiagnosticReview } from './agents/diagnostic.js';
11
- export { DEFAULT_MODELS, DEFAULT_SETTINGS } from './types.js';
11
+ export type { FanOutReviewInput, ReviewLens } from './agents/fan-out-lenses.js';
12
+ export { DEFAULT_LENSES, getAllLenses, getLens, LENS_ACCESSIBILITY, LENS_ERROR_HANDLING, LENS_PERFORMANCE, LENS_SECURITY, LENS_TYPING, mergeFindings, registerLens, resetLensRegistry, runFanOutReview, } from './agents/fan-out-lenses.js';
13
+ export type { Contradiction, DecayConfig, MemoryBranch, MemorySnapshot, MergeResult, VersioningConfig } from './types.js';
14
+ export { DEFAULT_DECAY_CONFIG, DEFAULT_MODELS, DEFAULT_SETTINGS, DEFAULT_VERSIONING_CONFIG } from './types.js';
12
15
  export type { ContextLevel, ProgressiveContextInput, ProgressiveContextOutput, } from './utils/context-levels.js';
13
16
  export { buildProgressiveContext, chooseContextLevel, collectAllFindings, collectToolNames, estimateTokens, formatMemoryContextL0, formatMemoryContextL1, formatStaticContextL0, formatStaticContextL1, } from './utils/context-levels.js';
14
17
  export type { DiffFile, FilterDiffResult } from './utils/diff.js';
@@ -27,19 +30,30 @@ export type { GenerateResult, GenerateTextFn } from './providers/generate-fn.js'
27
30
  export { createAISDKGenerateFn, createCLIBridgeGenerateFn, createGatewayGenerateFn, } from './providers/generate-fn.js';
28
31
  export { createModel, createProvider } from './providers/index.js';
29
32
  export { formatMemoryContext } from './memory/context.js';
33
+ export { detectContradictions } from './memory/contradiction.js';
34
+ export { computeStrength, decayPhase } from './memory/decay.js';
30
35
  export { EngramMemoryStorage } from './memory/engram.js';
31
36
  export { stripPrivateData } from './memory/privacy.js';
32
37
  export { SqliteMemoryStorage, type SqliteMemoryStorageOptions } from './memory/sqlite.js';
38
+ export { BranchExistsError, BranchNotFoundError, MemoryVersioning, ProtectedBranchError, SnapshotExistsError, SnapshotNotFoundError, } from './memory/versioning.js';
33
39
  export type { FileStats, FormatReviewCommentOptions } from './format.js';
34
40
  export { buildStatsBar, categorizeFiles, FILE_CATEGORIES, formatFileCategorySummary, formatReviewComment, REVIEW_COMMENT_MARKER, SEVERITY_EMOJI, STATUS_EMOJI, } from './format.js';
35
41
  export type { ActivatedTool, ExecOptions, ExecutionContext, RawToolOutput, TimeBudget, ToolActivationInput, ToolCategory, ToolDefinition, ToolName, ToolTier, } from './tools/index.js';
36
42
  export { allocateTimeBudget, createNodeExecutionContext, getEffectiveBudget, initializeDefaultTools, isToolRegistryEnabled, resetInitialization, resolveActivatedTools, runTools, ToolRegistry, toolRegistry, } from './tools/index.js';
37
43
  export type { SarifDocument, SarifLevel, SarifLocation, SarifResult, SarifRule, } from './sarif/index.js';
38
44
  export { buildSarif } from './sarif/index.js';
45
+ export type { ChecklistCheck, ChecklistConfig, ChecklistDimension, ChecklistScoreResult, DimensionScore, ScorableFinding, ScoredFinding, } from './checklist/index.js';
46
+ export { buildChecklistContext, countActiveChecks, DEFAULT_CHECKLIST, DEFAULT_DIMENSIONS, resolveChecklistConfig, SEVERITY_MULTIPLIER, scoreFindings, } from './checklist/index.js';
39
47
  export type { EnhancedReviewFinding, EnhanceInput, EnhanceMetadata, EnhanceResult, FilteredFinding, FindingGroup, } from './enhance/index.js';
40
48
  export { enhanceFindings, mergeEnhanceResult } from './enhance/index.js';
49
+ export type { RecursiveReviewConfig, RecursiveReviewInput, RecursiveReviewReport, RegressionFinding, ReReviewInput, ReReviewResult, SuggestionPatch, } from './recursive/index.js';
50
+ export { applyVirtualPatches, buildPatchContext, DEFAULT_RECURSIVE_CONFIG, extractPatches, recursiveReview, runReReview, } from './recursive/index.js';
41
51
  export type { BlastRadiusMetadata, BlastRadiusOptions, BlastRadiusResult, DependencyGraph, ExportInfo, Extractor, GraphLoader, GraphMetadata, GraphNode, ImportInfo, SupportedLanguage, } from './graph/index.js';
42
52
  export { buildGraph, buildGraphIncremental, buildReverseIndex, computeBlastRadius, DEFAULT_TRAVERSAL_DEPTH, detectLanguage, EXCLUDED_DIRS, GitHubApiGraphLoader, GRAPH_STALE_DAYS, GRAPH_VERSION, getExtractor, isGraphStale, isTestFile, LANGUAGE_EXTENSIONS, MAX_BLAST_RADIUS_FILES, MAX_GRAPH_SIZE_BYTES, NullGraphLoader, PreloadedGraphLoader, resolveImportPath, TEST_FILE_PATTERNS, validateGraph, validateMetadata, } from './graph/index.js';
43
53
  export type { HealthHistoryEntry, HealthRecommendation, HealthScore, HealthTrend, } from './health/index.js';
44
54
  export { computeHealthScore, computeTrend, formatTopIssues, generateRecommendations, getScoreColor, loadHistory, SEVERITY_WEIGHTS, saveHistory, } from './health/index.js';
55
+ export type { ExploitabilityDetail, ExploitabilityLabel } from './exploitability/index.js';
56
+ export { analyzeExploitability, checkReachability, extractVulnPackages, findEntryPoints, tracePackageImports, } from './exploitability/index.js';
57
+ export type { AffectedSymbol, DiffHunk, ScopedFile, ScopeLanguage, SymbolInfo, SymbolKind, } from './scope/index.js';
58
+ export { buildScopedContext, extractSymbolsFromTree, initParser, loadLanguage, mapDiffToSymbols, parseHunks, parseSource, resetParser, resolveGrammarPath, } from './scope/index.js';
45
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,8 +7,8 @@
7
7
  // ─── Pipeline ───────────────────────────────────────────────────
8
8
  export { reviewPipeline } from './pipeline.js';
9
9
  export { parseHypotheses, runDiagnosticReview } from './agents/diagnostic.js';
10
- // ─── Constants ──────────────────────────────────────────────────
11
- export { DEFAULT_MODELS, DEFAULT_SETTINGS } from './types.js';
10
+ export { DEFAULT_LENSES, getAllLenses, getLens, LENS_ACCESSIBILITY, LENS_ERROR_HANDLING, LENS_PERFORMANCE, LENS_SECURITY, LENS_TYPING, mergeFindings, registerLens, resetLensRegistry, runFanOutReview, } from './agents/fan-out-lenses.js';
11
+ export { DEFAULT_DECAY_CONFIG, DEFAULT_MODELS, DEFAULT_SETTINGS, DEFAULT_VERSIONING_CONFIG } from './types.js';
12
12
  export { buildProgressiveContext, chooseContextLevel, collectAllFindings, collectToolNames, estimateTokens, formatMemoryContextL0, formatMemoryContextL1, formatStaticContextL0, formatStaticContextL1, } from './utils/context-levels.js';
13
13
  export { filterDiffFiles, filterIgnoredFiles, parseDiffFiles, truncateDiff } from './utils/diff.js';
14
14
  export { applyPathProtection, REDACT_PATTERNS, REDACTED_CONTENT, ZERO_ACCESS_PATTERNS, } from './utils/path-protection.js';
@@ -21,13 +21,20 @@ export { createAISDKGenerateFn, createCLIBridgeGenerateFn, createGatewayGenerate
21
21
  export { createModel, createProvider } from './providers/index.js';
22
22
  // ─── Memory (for custom memory integrations) ────────────────────
23
23
  export { formatMemoryContext } from './memory/context.js';
24
+ export { detectContradictions } from './memory/contradiction.js';
25
+ export { computeStrength, decayPhase } from './memory/decay.js';
24
26
  export { EngramMemoryStorage } from './memory/engram.js';
25
27
  export { stripPrivateData } from './memory/privacy.js';
26
28
  export { SqliteMemoryStorage } from './memory/sqlite.js';
29
+ export { BranchExistsError, BranchNotFoundError, MemoryVersioning, ProtectedBranchError, SnapshotExistsError, SnapshotNotFoundError, } from './memory/versioning.js';
27
30
  export { buildStatsBar, categorizeFiles, FILE_CATEGORIES, formatFileCategorySummary, formatReviewComment, REVIEW_COMMENT_MARKER, SEVERITY_EMOJI, STATUS_EMOJI, } from './format.js';
28
31
  export { allocateTimeBudget, createNodeExecutionContext, getEffectiveBudget, initializeDefaultTools, isToolRegistryEnabled, resetInitialization, resolveActivatedTools, runTools, ToolRegistry, toolRegistry, } from './tools/index.js';
29
32
  export { buildSarif } from './sarif/index.js';
33
+ export { buildChecklistContext, countActiveChecks, DEFAULT_CHECKLIST, DEFAULT_DIMENSIONS, resolveChecklistConfig, SEVERITY_MULTIPLIER, scoreFindings, } from './checklist/index.js';
30
34
  export { enhanceFindings, mergeEnhanceResult } from './enhance/index.js';
35
+ export { applyVirtualPatches, buildPatchContext, DEFAULT_RECURSIVE_CONFIG, extractPatches, recursiveReview, runReReview, } from './recursive/index.js';
31
36
  export { buildGraph, buildGraphIncremental, buildReverseIndex, computeBlastRadius, DEFAULT_TRAVERSAL_DEPTH, detectLanguage, EXCLUDED_DIRS, GitHubApiGraphLoader, GRAPH_STALE_DAYS, GRAPH_VERSION, getExtractor, isGraphStale, isTestFile, LANGUAGE_EXTENSIONS, MAX_BLAST_RADIUS_FILES, MAX_GRAPH_SIZE_BYTES, NullGraphLoader, PreloadedGraphLoader, resolveImportPath, TEST_FILE_PATTERNS, validateGraph, validateMetadata, } from './graph/index.js';
32
37
  export { computeHealthScore, computeTrend, formatTopIssues, generateRecommendations, getScoreColor, loadHistory, SEVERITY_WEIGHTS, saveHistory, } from './health/index.js';
38
+ export { analyzeExploitability, checkReachability, extractVulnPackages, findEntryPoints, tracePackageImports, } from './exploitability/index.js';
39
+ export { buildScopedContext, extractSymbolsFromTree, initParser, loadLanguage, mapDiffToSymbols, parseHunks, parseSource, resetParser, resolveGrammarPath, } from './scope/index.js';
33
40
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgD/C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS9D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpG,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAK1F,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AAiBrB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAY9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAkBzE,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface ObservationForContext {
9
9
  type: string;
10
10
  title: string;
11
11
  content: string;
12
+ /** Decay strength score (0.0–1.0). Omit if decay is not active. */
13
+ strength?: number;
12
14
  }
13
15
  /**
14
16
  * Format an array of memory observations into a prompt-ready string.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/memory/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAuBjF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/memory/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAEhB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAyBjF"}
@@ -25,7 +25,8 @@ export function formatMemoryContext(observations) {
25
25
  '',
26
26
  ];
27
27
  for (const obs of observations) {
28
- lines.push(`### [${obs.type.toUpperCase()}] ${obs.title}`);
28
+ const strengthLabel = obs.strength != null ? ` (strength: ${Math.round(obs.strength * 100)}%)` : '';
29
+ lines.push(`### [${obs.type.toUpperCase()}] ${obs.title}${strengthLabel}`);
29
30
  lines.push('');
30
31
  lines.push(obs.content);
31
32
  lines.push('');
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/memory/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,mEAAmE;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAqC;IACvE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAa;QACtB,uBAAuB;QACvB,EAAE;QACF,gFAAgF;QAChF,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,6EAA6E,EAC7E,qFAAqF,CACtF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/memory/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,mEAAmE;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAqC;IACvE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAa;QACtB,uBAAuB;QACvB,EAAE;QACF,gFAAgF;QAChF,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,aAAa,GACjB,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,KAAK,GAAG,aAAa,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,6EAA6E,EAC7E,qFAAqF,CACtF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Contradiction detection for memory merge operations.
3
+ *
4
+ * During a branch merge, observations from the source and target branches
5
+ * may conflict — e.g., one says "use prepared statements" while the other
6
+ * says "raw SQL is acceptable here" for the same file and category.
7
+ *
8
+ * This module detects such contradictions by comparing file paths and
9
+ * categories between observation sets.
10
+ */
11
+ import type { Contradiction, MemoryObservationRow, VersioningConfig } from '../types.js';
12
+ /**
13
+ * Extract the category from an observation's content.
14
+ * Content format: "[SEVERITY] category\nFile: ...\nIssue: ..."
15
+ * Falls back to the observation type if parsing fails.
16
+ */
17
+ declare function extractCategory(obs: MemoryObservationRow): string;
18
+ /**
19
+ * Extract file paths from an observation.
20
+ * Uses the filePaths array if available, otherwise extracts from content.
21
+ */
22
+ declare function extractFiles(obs: MemoryObservationRow): string[];
23
+ /**
24
+ * Compute a similarity score between two observations.
25
+ * Returns a value between 0.0 (no overlap) and 1.0 (perfect match).
26
+ *
27
+ * Factors:
28
+ * - File path overlap (weighted 0.6)
29
+ * - Category match (weighted 0.4)
30
+ */
31
+ declare function computeSimilarity(a: MemoryObservationRow, b: MemoryObservationRow): number;
32
+ /**
33
+ * Detect contradictions between two sets of observations.
34
+ *
35
+ * Two observations are considered contradictory when they target the same
36
+ * file(s) and category but have different severities or conflicting content.
37
+ * The similarity threshold controls how aggressively contradictions are flagged.
38
+ *
39
+ * @param sourceObs - Observations from the source branch (being merged in)
40
+ * @param targetObs - Observations on the target branch (existing)
41
+ * @param config - Versioning configuration with contradiction threshold
42
+ * @returns Array of detected contradictions
43
+ */
44
+ export declare function detectContradictions(sourceObs: MemoryObservationRow[], targetObs: MemoryObservationRow[], config?: VersioningConfig): Contradiction[];
45
+ export { computeSimilarity, extractCategory, extractFiles };
46
+ //# sourceMappingURL=contradiction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradiction.d.ts","sourceRoot":"","sources":["../../src/memory/contradiction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKzF;;;;GAIG;AACH,iBAAS,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAI1D;AAED;;;GAGG;AACH,iBAAS,YAAY,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAazD;AAED;;;;;;;GAOG;AACH,iBAAS,iBAAiB,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAuBnF;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,oBAAoB,EAAE,EACjC,SAAS,EAAE,oBAAoB,EAAE,EACjC,MAAM,GAAE,gBAA4C,GACnD,aAAa,EAAE,CA8BjB;AAGD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Contradiction detection for memory merge operations.
3
+ *
4
+ * During a branch merge, observations from the source and target branches
5
+ * may conflict — e.g., one says "use prepared statements" while the other
6
+ * says "raw SQL is acceptable here" for the same file and category.
7
+ *
8
+ * This module detects such contradictions by comparing file paths and
9
+ * categories between observation sets.
10
+ */
11
+ import { DEFAULT_VERSIONING_CONFIG } from '../types.js';
12
+ // ─── Helpers ────────────────────────────────────────────────────
13
+ /**
14
+ * Extract the category from an observation's content.
15
+ * Content format: "[SEVERITY] category\nFile: ...\nIssue: ..."
16
+ * Falls back to the observation type if parsing fails.
17
+ */
18
+ function extractCategory(obs) {
19
+ const firstLine = obs.content.split('\n')[0] ?? '';
20
+ const match = firstLine.match(/^\[[\w]+\]\s*(.+)$/);
21
+ return match?.[1]?.trim().toLowerCase() ?? obs.type.toLowerCase();
22
+ }
23
+ /**
24
+ * Extract file paths from an observation.
25
+ * Uses the filePaths array if available, otherwise extracts from content.
26
+ */
27
+ function extractFiles(obs) {
28
+ if (obs.filePaths && obs.filePaths.length > 0) {
29
+ return obs.filePaths;
30
+ }
31
+ // Fallback: parse "File: path" from content
32
+ const fileMatch = obs.content.match(/File:\s*(.+?)(?:\n|$)/);
33
+ if (fileMatch?.[1]) {
34
+ // Strip line number suffix (e.g., "src/auth.ts:42" → "src/auth.ts")
35
+ return [fileMatch[1].replace(/:\d+$/, '').trim()];
36
+ }
37
+ return [];
38
+ }
39
+ /**
40
+ * Compute a similarity score between two observations.
41
+ * Returns a value between 0.0 (no overlap) and 1.0 (perfect match).
42
+ *
43
+ * Factors:
44
+ * - File path overlap (weighted 0.6)
45
+ * - Category match (weighted 0.4)
46
+ */
47
+ function computeSimilarity(a, b) {
48
+ let score = 0;
49
+ // File overlap
50
+ const filesA = new Set(extractFiles(a));
51
+ const filesB = new Set(extractFiles(b));
52
+ if (filesA.size > 0 && filesB.size > 0) {
53
+ let overlap = 0;
54
+ for (const f of filesA) {
55
+ if (filesB.has(f))
56
+ overlap++;
57
+ }
58
+ const union = new Set([...filesA, ...filesB]).size;
59
+ score += (overlap / union) * 0.6;
60
+ }
61
+ // Category match
62
+ const catA = extractCategory(a);
63
+ const catB = extractCategory(b);
64
+ if (catA === catB) {
65
+ score += 0.4;
66
+ }
67
+ return score;
68
+ }
69
+ // ─── Main Function ──────────────────────────────────────────────
70
+ /**
71
+ * Detect contradictions between two sets of observations.
72
+ *
73
+ * Two observations are considered contradictory when they target the same
74
+ * file(s) and category but have different severities or conflicting content.
75
+ * The similarity threshold controls how aggressively contradictions are flagged.
76
+ *
77
+ * @param sourceObs - Observations from the source branch (being merged in)
78
+ * @param targetObs - Observations on the target branch (existing)
79
+ * @param config - Versioning configuration with contradiction threshold
80
+ * @returns Array of detected contradictions
81
+ */
82
+ export function detectContradictions(sourceObs, targetObs, config = DEFAULT_VERSIONING_CONFIG) {
83
+ const contradictions = [];
84
+ for (const src of sourceObs) {
85
+ for (const tgt of targetObs) {
86
+ const similarity = computeSimilarity(src, tgt);
87
+ if (similarity >= config.contradictionThreshold) {
88
+ // Same area — check if they actually conflict (different severity or different content)
89
+ const sevA = src.severity?.toLowerCase() ?? '';
90
+ const sevB = tgt.severity?.toLowerCase() ?? '';
91
+ const severityDiffers = sevA !== sevB && sevA !== '' && sevB !== '';
92
+ const contentDiffers = src.content !== tgt.content;
93
+ if (severityDiffers || contentDiffers) {
94
+ const files = [...new Set([...extractFiles(src), ...extractFiles(tgt)])];
95
+ contradictions.push({
96
+ observationA: src,
97
+ observationB: tgt,
98
+ reason: severityDiffers
99
+ ? `Same area (${files.join(', ')}), conflicting severity: ${sevA} vs ${sevB}`
100
+ : `Same area (${files.join(', ')}), different findings for ${extractCategory(src)}`,
101
+ });
102
+ }
103
+ }
104
+ }
105
+ }
106
+ return contradictions;
107
+ }
108
+ // Re-export helpers for testing
109
+ export { computeSimilarity, extractCategory, extractFiles };
110
+ //# sourceMappingURL=contradiction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradiction.js","sourceRoot":"","sources":["../../src/memory/contradiction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Memory strength decay computation.
3
+ *
4
+ * Observations that haven't been re-accessed lose relevance over time.
5
+ * Strength follows a three-phase lifecycle:
6
+ *
7
+ * 1. Active (0 .. dormancyDays): strength = 1.0
8
+ * 2. Decaying (dormancyDays .. clearanceDays): strength linearly drops 1.0 → 0.0
9
+ * 3. Cleared (>= clearanceDays): strength = 0.0
10
+ */
11
+ import { type DecayConfig } from '../types.js';
12
+ /**
13
+ * Compute the strength score for an observation based on how long ago it was last accessed.
14
+ *
15
+ * @param lastAccessedAt - When the observation was last returned in a search
16
+ * @param now - Current timestamp (injectable for testing)
17
+ * @param config - Decay thresholds
18
+ * @returns A number between 0.0 and 1.0
19
+ */
20
+ export declare function computeStrength(lastAccessedAt: Date, now?: Date, config?: DecayConfig): number;
21
+ /**
22
+ * Determine the decay phase label for display purposes.
23
+ */
24
+ export declare function decayPhase(strength: number): 'active' | 'dormant' | 'decaying' | 'cleared';
25
+ //# sourceMappingURL=decay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../src/memory/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,IAAI,EACpB,GAAG,GAAE,IAAiB,EACtB,MAAM,GAAE,WAAkC,GACzC,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAK1F"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Memory strength decay computation.
3
+ *
4
+ * Observations that haven't been re-accessed lose relevance over time.
5
+ * Strength follows a three-phase lifecycle:
6
+ *
7
+ * 1. Active (0 .. dormancyDays): strength = 1.0
8
+ * 2. Decaying (dormancyDays .. clearanceDays): strength linearly drops 1.0 → 0.0
9
+ * 3. Cleared (>= clearanceDays): strength = 0.0
10
+ */
11
+ import { DEFAULT_DECAY_CONFIG } from '../types.js';
12
+ /**
13
+ * Compute the strength score for an observation based on how long ago it was last accessed.
14
+ *
15
+ * @param lastAccessedAt - When the observation was last returned in a search
16
+ * @param now - Current timestamp (injectable for testing)
17
+ * @param config - Decay thresholds
18
+ * @returns A number between 0.0 and 1.0
19
+ */
20
+ export function computeStrength(lastAccessedAt, now = new Date(), config = DEFAULT_DECAY_CONFIG) {
21
+ const elapsedMs = now.getTime() - lastAccessedAt.getTime();
22
+ const elapsedDays = elapsedMs / (1000 * 60 * 60 * 24);
23
+ // Phase 1: Active — still fresh
24
+ if (elapsedDays <= config.dormancyDays) {
25
+ return 1.0;
26
+ }
27
+ // Phase 3: Cleared — too old
28
+ if (elapsedDays >= config.clearanceDays) {
29
+ return 0.0;
30
+ }
31
+ // Phase 2: Decaying — linear interpolation from 1.0 to 0.0
32
+ const decayWindow = config.clearanceDays - config.dormancyDays;
33
+ if (decayWindow <= 0)
34
+ return 0.0;
35
+ const daysSinceDormancy = elapsedDays - config.dormancyDays;
36
+ const strength = 1.0 - daysSinceDormancy / decayWindow;
37
+ return Math.max(0, Math.min(1, strength));
38
+ }
39
+ /**
40
+ * Determine the decay phase label for display purposes.
41
+ */
42
+ export function decayPhase(strength) {
43
+ if (strength >= 1.0)
44
+ return 'active';
45
+ if (strength <= 0.0)
46
+ return 'cleared';
47
+ if (strength >= 0.7)
48
+ return 'dormant';
49
+ return 'decaying';
50
+ }
51
+ //# sourceMappingURL=decay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decay.js","sourceRoot":"","sources":["../../src/memory/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,cAAoB,EACpB,MAAY,IAAI,IAAI,EAAE,EACtB,SAAsB,oBAAoB;IAE1C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAEtD,gCAAgC;IAChC,IAAI,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,6BAA6B;IAC7B,IAAI,WAAW,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/D,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,MAAM,iBAAiB,GAAG,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAqBnC,CAAC;AAaH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAAE,EAClB,eAAe,GAAE,GAAG,CAAC,MAAM,CAA4B,GACtD,MAAM,CAsBR;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BxB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAqBnC,CAAC;AAaH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAAE,EAClB,eAAe,GAAE,GAAG,CAAC,MAAM,CAA4B,GACtD,MAAM,CAsBR;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BxB"}
@@ -111,6 +111,7 @@ export async function searchMemoryForContext(storage, project, fileList) {
111
111
  type: obs.type,
112
112
  title: obs.title,
113
113
  content: obs.content,
114
+ strength: obs.strength,
114
115
  })));
115
116
  }
116
117
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,36 @@
5
5
  * database with manual file persistence via close(). Designed for single-process
6
6
  * environments (CLI, GitHub Action).
7
7
  */
8
+ import { type Database } from 'fts5-sql-bundle';
8
9
  import type { ListObservationsOptions, MemoryObservationDetail, MemoryObservationRow, MemoryStats, MemoryStorage } from '../types.js';
10
+ import { type DecayConfig } from '../types.js';
11
+ /**
12
+ * Extended Database interface — fts5-sql-bundle types omit the params overload
13
+ * for exec(), but the runtime (sql.js core) supports it.
14
+ */
15
+ interface DatabaseWithParams extends Database {
16
+ exec(sql: string, params?: (string | number | null)[]): Array<{
17
+ columns: string[];
18
+ values: unknown[][];
19
+ }>;
20
+ }
9
21
  export interface SqliteMemoryStorageOptions {
10
22
  /** Dedup window in minutes. Observations with the same content hash within this window are deduplicated. Defaults to 15. */
11
23
  dedupWindowMinutes?: number;
24
+ /** Decay configuration for memory strength. Uses defaults when not provided. */
25
+ decayConfig?: DecayConfig;
12
26
  }
13
27
  export declare class SqliteMemoryStorage implements MemoryStorage {
14
28
  private db;
15
29
  private filePath;
16
30
  private dedupWindowMinutes;
31
+ private decayConfig;
17
32
  private constructor();
33
+ /**
34
+ * Expose the underlying database for the versioning layer.
35
+ * Only used by MemoryVersioning — not part of the MemoryStorage interface.
36
+ */
37
+ getDatabase(): DatabaseWithParams;
18
38
  /**
19
39
  * Async factory — handles WASM initialization and file loading.
20
40
  * If filePath exists, loads the existing DB. Otherwise, creates a fresh one.
@@ -51,4 +71,5 @@ export declare class SqliteMemoryStorage implements MemoryStorage {
51
71
  }): Promise<number>;
52
72
  close(): Promise<void>;
53
73
  }
74
+ export {};
54
75
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAkErB,MAAM,WAAW,0BAA0B;IACzC,4HAA4H;IAC5H,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,mBAAoB,YAAW,aAAa;IAIrD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;IAJlB,OAAO,CAAC,kBAAkB,CAAS;IAEnC,OAAO;IAQP;;;OAGG;WACU,MAAM,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAuBzB,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkD5B,eAAe,CAAC,IAAI,EAAE;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyH3B,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAapF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,OAAO,CAAC,WAAW;IAgBb,gBAAgB,CACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAmC/B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAmBnE,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAmChC,iBAAiB,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAStE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAwB,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQjE,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGrE;;;GAGG;AACH,UAAU,kBAAmB,SAAQ,QAAQ;IAC3C,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAClC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;CACtD;AAmFD,MAAM,WAAW,0BAA0B;IACzC,4HAA4H;IAC5H,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,gFAAgF;IAChF,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,mBAAoB,YAAW,aAAa;IAKrD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO;IASP;;;OAGG;IACH,WAAW,IAAI,kBAAkB;IAIjC;;;OAGG;WACU,MAAM,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAoCzB,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA6E5B,eAAe,CAAC,IAAI,EAAE;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmI3B,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAapF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,OAAO,CAAC,WAAW;IAgBb,gBAAgB,CACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAmC/B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAmBnE,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAmChC,iBAAiB,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAStE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}