open-mem 0.5.4 → 0.6.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 (97) hide show
  1. package/dist/ai/compressor.d.ts +1 -0
  2. package/dist/ai/compressor.d.ts.map +1 -1
  3. package/dist/ai/conflict-evaluator.d.ts +30 -0
  4. package/dist/ai/conflict-evaluator.d.ts.map +1 -0
  5. package/dist/ai/entity-extractor.d.ts +30 -0
  6. package/dist/ai/entity-extractor.d.ts.map +1 -0
  7. package/dist/ai/parser.d.ts +36 -0
  8. package/dist/ai/parser.d.ts.map +1 -1
  9. package/dist/ai/prompts.d.ts +43 -0
  10. package/dist/ai/prompts.d.ts.map +1 -1
  11. package/dist/ai/provider.d.ts +6 -0
  12. package/dist/ai/provider.d.ts.map +1 -1
  13. package/dist/ai/summarizer.d.ts +1 -0
  14. package/dist/ai/summarizer.d.ts.map +1 -1
  15. package/dist/config.d.ts +1 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/context/builder.d.ts +13 -1
  18. package/dist/context/builder.d.ts.map +1 -1
  19. package/dist/context/progressive.d.ts +1 -0
  20. package/dist/context/progressive.d.ts.map +1 -1
  21. package/dist/context/relevance.d.ts +1 -0
  22. package/dist/context/relevance.d.ts.map +1 -1
  23. package/dist/daemon/manager.d.ts +1 -0
  24. package/dist/daemon/manager.d.ts.map +1 -1
  25. package/dist/daemon/pid.d.ts +5 -0
  26. package/dist/daemon/pid.d.ts.map +1 -1
  27. package/dist/daemon/reaper.d.ts +1 -0
  28. package/dist/daemon/reaper.d.ts.map +1 -1
  29. package/dist/daemon/worker.d.ts +3 -0
  30. package/dist/daemon/worker.d.ts.map +1 -1
  31. package/dist/daemon.js +193 -36
  32. package/dist/db/database.d.ts +1 -0
  33. package/dist/db/database.d.ts.map +1 -1
  34. package/dist/db/entities.d.ts +45 -0
  35. package/dist/db/entities.d.ts.map +1 -0
  36. package/dist/db/observations.d.ts +24 -2
  37. package/dist/db/observations.d.ts.map +1 -1
  38. package/dist/db/pending.d.ts +1 -0
  39. package/dist/db/pending.d.ts.map +1 -1
  40. package/dist/db/schema.d.ts +7 -0
  41. package/dist/db/schema.d.ts.map +1 -1
  42. package/dist/db/sessions.d.ts +1 -0
  43. package/dist/db/sessions.d.ts.map +1 -1
  44. package/dist/db/summaries.d.ts +1 -0
  45. package/dist/db/summaries.d.ts.map +1 -1
  46. package/dist/db/user-memory.d.ts +53 -0
  47. package/dist/db/user-memory.d.ts.map +1 -0
  48. package/dist/events/bus.d.ts +4 -0
  49. package/dist/events/bus.d.ts.map +1 -1
  50. package/dist/hooks/compaction.d.ts +3 -9
  51. package/dist/hooks/compaction.d.ts.map +1 -1
  52. package/dist/hooks/context-inject.d.ts +2 -1
  53. package/dist/hooks/context-inject.d.ts.map +1 -1
  54. package/dist/index.d.ts +6 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +349 -89
  57. package/dist/mcp.js +251 -56
  58. package/dist/queue/processor.d.ts +13 -1
  59. package/dist/queue/processor.d.ts.map +1 -1
  60. package/dist/search/embeddings.d.ts +3 -0
  61. package/dist/search/embeddings.d.ts.map +1 -1
  62. package/dist/search/filters.d.ts +14 -0
  63. package/dist/search/filters.d.ts.map +1 -0
  64. package/dist/search/graph.d.ts +10 -0
  65. package/dist/search/graph.d.ts.map +1 -0
  66. package/dist/search/hybrid.d.ts +10 -0
  67. package/dist/search/hybrid.d.ts.map +1 -1
  68. package/dist/search/orchestrator.d.ts +22 -1
  69. package/dist/search/orchestrator.d.ts.map +1 -1
  70. package/dist/search/reranker.d.ts +39 -0
  71. package/dist/search/reranker.d.ts.map +1 -0
  72. package/dist/servers/http-server.d.ts +1 -0
  73. package/dist/servers/http-server.d.ts.map +1 -1
  74. package/dist/servers/mcp-server.d.ts +10 -0
  75. package/dist/servers/mcp-server.d.ts.map +1 -1
  76. package/dist/tools/delete.d.ts +1 -0
  77. package/dist/tools/delete.d.ts.map +1 -1
  78. package/dist/tools/export.d.ts +1 -0
  79. package/dist/tools/export.d.ts.map +1 -1
  80. package/dist/tools/import.d.ts +1 -0
  81. package/dist/tools/import.d.ts.map +1 -1
  82. package/dist/tools/recall.d.ts +3 -1
  83. package/dist/tools/recall.d.ts.map +1 -1
  84. package/dist/tools/save.d.ts +3 -1
  85. package/dist/tools/save.d.ts.map +1 -1
  86. package/dist/tools/search.d.ts +1 -0
  87. package/dist/tools/search.d.ts.map +1 -1
  88. package/dist/tools/timeline.d.ts +1 -0
  89. package/dist/tools/timeline.d.ts.map +1 -1
  90. package/dist/tools/update.d.ts +1 -0
  91. package/dist/tools/update.d.ts.map +1 -1
  92. package/dist/types.d.ts +29 -0
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/utils/agents-md.d.ts.map +1 -1
  95. package/dist/utils/retention.d.ts +1 -0
  96. package/dist/utils/retention.d.ts.map +1 -1
  97. package/package.json +8 -8
@@ -1,5 +1,6 @@
1
1
  import { generateText } from "ai";
2
2
  import { type ParsedObservation } from "./parser";
3
+ /** Configuration for the AI observation compressor. */
3
4
  export interface CompressorConfig {
4
5
  provider: string;
5
6
  apiKey: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/ai/compressor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AAEtD,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,UAAU,CAAC;AAU5E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;GAIG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAmB;IAGjC,SAAS,sBAAgB;gBAEb,MAAM,EAAE,gBAAgB;IAsBpC,+DAA+D;IAC/D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,SAAU;IAE1C;;;;OAIG;IACG,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAqDpC;;;OAGG;IACG,aAAa,CAClB,KAAK,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,GACA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAqBjD;;;OAGG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAuB5E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAarC"}
1
+ {"version":3,"file":"compressor.d.ts","sourceRoot":"","sources":["../../src/ai/compressor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AAEtD,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,UAAU,CAAC;AAU5E,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;GAIG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAmB;IAGjC,SAAS,sBAAgB;gBAEb,MAAM,EAAE,gBAAgB;IAsBpC,+DAA+D;IAC/D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,SAAU;IAE1C;;;;OAIG;IACG,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAqDpC;;;OAGG;IACG,aAAa,CAClB,KAAK,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,GACA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAqBjD;;;OAGG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAuB5E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAarC"}
@@ -0,0 +1,30 @@
1
+ import { generateText } from "ai";
2
+ import { type ConflictEvaluation } from "./parser";
3
+ import { type ConflictCandidate, type ConflictNewObservation } from "./prompts";
4
+ /** Re-exported conflict evaluation types. */
5
+ export type { ConflictEvaluation, ConflictCandidate, ConflictNewObservation };
6
+ /** Re-exported conflict outcome type. */
7
+ export type { ConflictOutcome } from "./parser";
8
+ /** Configuration for the AI-powered conflict evaluator. */
9
+ export interface ConflictEvaluatorConfig {
10
+ provider: string;
11
+ apiKey: string | undefined;
12
+ model: string;
13
+ rateLimitingEnabled: boolean;
14
+ }
15
+ /**
16
+ * Uses an LLM to determine whether a new observation conflicts with,
17
+ * updates, or duplicates existing observations.
18
+ */
19
+ export declare class ConflictEvaluator {
20
+ private model;
21
+ private config;
22
+ _generate: typeof generateText;
23
+ constructor(config: ConflictEvaluatorConfig);
24
+ /**
25
+ * Evaluate a new observation against existing candidates for conflicts.
26
+ * @returns Evaluation result, or null if AI is unavailable or no candidates.
27
+ */
28
+ evaluate(newObs: ConflictNewObservation, candidates: ReadonlyArray<ConflictCandidate>): Promise<ConflictEvaluation | null>;
29
+ }
30
+ //# sourceMappingURL=conflict-evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-evaluator.d.ts","sourceRoot":"","sources":["../../src/ai/conflict-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE3B,MAAM,WAAW,CAAC;AAInB,6CAA6C;AAC7C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;AAC9E,yCAAyC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,2DAA2D;AAC3D,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAA0B;IAExC,SAAS,sBAAgB;gBAEb,MAAM,EAAE,uBAAuB;IAkB3C;;;OAGG;IACG,QAAQ,CACb,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC1C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAgCrC"}
@@ -0,0 +1,30 @@
1
+ import { generateText } from "ai";
2
+ import { type ParsedEntityExtraction } from "./parser";
3
+ import { type EntityExtractionObservation } from "./prompts";
4
+ /** Re-exported entity extraction result types. */
5
+ export type { ParsedEntityExtraction as EntityExtractionResult, EntityExtractionObservation, };
6
+ /** Re-exported entity and relation types. */
7
+ export type { ParsedEntity as ExtractedEntity, ParsedRelation as ExtractedRelation, EntityType, RelationshipType, } from "./parser";
8
+ /** Configuration for the AI-powered entity extractor. */
9
+ export interface EntityExtractorConfig {
10
+ provider: string;
11
+ apiKey: string | undefined;
12
+ model: string;
13
+ rateLimitingEnabled: boolean;
14
+ }
15
+ /**
16
+ * Uses an LLM to extract entities (technologies, libraries, patterns) and
17
+ * their relationships from observation text.
18
+ */
19
+ export declare class EntityExtractor {
20
+ private model;
21
+ private config;
22
+ _generate: typeof generateText;
23
+ constructor(config: EntityExtractorConfig);
24
+ /**
25
+ * Extract entities and relationships from an observation.
26
+ * @returns Extracted entities and relations, or null if AI is unavailable.
27
+ */
28
+ extract(observation: EntityExtractionObservation): Promise<ParsedEntityExtraction | null>;
29
+ }
30
+ //# sourceMappingURL=entity-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/ai/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EACN,KAAK,sBAAsB,EAE3B,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,KAAK,2BAA2B,EAEhC,MAAM,WAAW,CAAC;AAInB,kDAAkD;AAClD,YAAY,EACX,sBAAsB,IAAI,sBAAsB,EAChD,2BAA2B,GAC3B,CAAC;AACF,6CAA6C;AAC7C,YAAY,EACX,YAAY,IAAI,eAAe,EAC/B,cAAc,IAAI,iBAAiB,EACnC,UAAU,EACV,gBAAgB,GAChB,MAAM,UAAU,CAAC;AAElB,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAwB;IAEtC,SAAS,sBAAgB;gBAEb,MAAM,EAAE,qBAAqB;IAkBzC;;;OAGG;IACG,OAAO,CACZ,WAAW,EAAE,2BAA2B,GACtC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CAmCzC"}
@@ -1,4 +1,5 @@
1
1
  import type { ObservationType } from "../types";
2
+ /** Structured observation parsed from AI XML response. */
2
3
  export interface ParsedObservation {
3
4
  type: ObservationType;
4
5
  title: string;
@@ -11,6 +12,7 @@ export interface ParsedObservation {
11
12
  discoveryTokens?: number;
12
13
  importance?: number;
13
14
  }
15
+ /** Structured session summary parsed from AI XML response. */
14
16
  export interface ParsedSummary {
15
17
  summary: string;
16
18
  keyDecisions: string[];
@@ -32,6 +34,40 @@ export declare function parseObservationResponse(response: string): ParsedObserv
32
34
  * into a structured object. Returns `null` if unparseable.
33
35
  */
34
36
  export declare function parseSummaryResponse(response: string): ParsedSummary | null;
37
+ /** Parse an LLM reranking response into an ordered array of candidate indices. */
38
+ export declare function parseRerankingResponse(response: string): number[] | null;
39
+ /** Possible outcomes of a conflict evaluation. */
40
+ export type ConflictOutcome = "new_fact" | "update" | "duplicate";
41
+ /** Result of evaluating whether a new observation conflicts with existing ones. */
42
+ export interface ConflictEvaluation {
43
+ outcome: ConflictOutcome;
44
+ supersedesId?: string;
45
+ reason: string;
46
+ }
47
+ /** Parse an LLM conflict evaluation response into a structured result. */
48
+ export declare function parseConflictEvaluationResponse(response: string): ConflictEvaluation | null;
49
+ /** Classification of entity types extracted from observations. */
50
+ export type EntityType = "technology" | "library" | "pattern" | "concept" | "file" | "person" | "project" | "other";
51
+ /** Types of relationships between extracted entities. */
52
+ export type RelationshipType = "uses" | "depends_on" | "implements" | "extends" | "related_to" | "replaces" | "configures";
53
+ /** An entity extracted from observation text. */
54
+ export interface ParsedEntity {
55
+ name: string;
56
+ entityType: EntityType;
57
+ }
58
+ /** A relationship between two extracted entities. */
59
+ export interface ParsedRelation {
60
+ sourceName: string;
61
+ targetName: string;
62
+ relationship: RelationshipType;
63
+ }
64
+ /** Complete result of entity extraction from an observation. */
65
+ export interface ParsedEntityExtraction {
66
+ entities: ParsedEntity[];
67
+ relations: ParsedRelation[];
68
+ }
69
+ /** Parse an LLM entity extraction response into entities and relations. */
70
+ export declare function parseEntityExtractionResponse(response: string): ParsedEntityExtraction | null;
35
71
  /** Rough token count (4 chars ~ 1 token for English text) */
36
72
  export declare function estimateTokens(text: string): number;
37
73
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/ai/parser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAyCD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmCnF;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA0B3E;AAMD,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/ai/parser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAyCD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmCnF;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA0B3E;AAMD,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAexE;AAMD,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAElE,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CACf;AAID,0EAA0E;AAC1E,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAwB3F;AAMD,kEAAkE;AAClE,MAAM,MAAM,UAAU,GACnB,YAAY,GACZ,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,CAAC;AAEX,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GACzB,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,UAAU,GACV,YAAY,CAAC;AAEhB,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,gBAAgB,CAAC;CAC/B;AAED,gEAAgE;AAChE,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC5B;AAuBD,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAC5C,QAAQ,EAAE,MAAM,GACd,sBAAsB,GAAG,IAAI,CAmC/B;AAMD,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -12,4 +12,47 @@ export declare function buildSummarizationPrompt(observations: ReadonlyArray<{
12
12
  title: string;
13
13
  narrative: string;
14
14
  }>, sessionId: string): string;
15
+ /** An existing observation that may conflict with a new one. */
16
+ export interface ConflictCandidate {
17
+ id: string;
18
+ title: string;
19
+ narrative: string;
20
+ concepts: string[];
21
+ type: string;
22
+ }
23
+ /** The new observation being evaluated for conflicts. */
24
+ export interface ConflictNewObservation {
25
+ title: string;
26
+ narrative: string;
27
+ concepts: string[];
28
+ type: string;
29
+ }
30
+ /**
31
+ * Build a prompt that instructs the AI to evaluate whether a new observation
32
+ * conflicts with, updates, or duplicates existing candidates.
33
+ */
34
+ export declare function buildConflictEvaluationPrompt(newObs: ConflictNewObservation, candidates: ReadonlyArray<ConflictCandidate>): string;
35
+ /** Observation data used as input for entity extraction. */
36
+ export interface EntityExtractionObservation {
37
+ title: string;
38
+ type: string;
39
+ narrative: string;
40
+ facts: string[];
41
+ concepts: string[];
42
+ filesRead: string[];
43
+ filesModified: string[];
44
+ }
45
+ /**
46
+ * Build a prompt that instructs the AI to extract entities and relationships
47
+ * from an observation.
48
+ */
49
+ export declare function buildEntityExtractionPrompt(obs: EntityExtractionObservation): string;
50
+ /**
51
+ * Build a prompt that instructs the AI to reorder search result candidates
52
+ * by relevance to the query.
53
+ */
54
+ export declare function buildRerankingPrompt(query: string, candidates: ReadonlyArray<{
55
+ title: string;
56
+ narrative: string;
57
+ }>): string;
15
58
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACrB,MAAM,CAmDR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,YAAY,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC,EACF,SAAS,EAAE,MAAM,GACf,MAAM,CAwCR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACrB,MAAM,CAmDR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,YAAY,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC,EACF,SAAS,EAAE,MAAM,GACf,MAAM,CAwCR;AAMD,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC5C,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC1C,MAAM,CAqCR;AAUD,4DAA4D;AAC5D,MAAM,WAAW,2BAA2B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,GAAG,EAAE,2BAA2B,GAC9B,MAAM,CA+BR;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,MAAM,CAuBR"}
@@ -1,5 +1,7 @@
1
1
  import type { EmbeddingModel, LanguageModel } from "ai";
2
+ /** Supported AI provider identifiers. */
2
3
  export type ProviderType = "anthropic" | "bedrock" | "openai" | "google" | string;
4
+ /** Configuration for creating an AI model instance. */
3
5
  export interface ModelConfig {
4
6
  provider: ProviderType;
5
7
  model: string;
@@ -15,5 +17,9 @@ export declare function resolveBedrockModel(model: string): string;
15
17
  * Uses dynamic require() so provider packages not installed don't crash at import time.
16
18
  */
17
19
  export declare function createModel(config: ModelConfig): LanguageModel;
20
+ /**
21
+ * Create an EmbeddingModel instance for the given provider.
22
+ * Returns null for providers that don't support embeddings (e.g., Anthropic).
23
+ */
18
24
  export declare function createEmbeddingModel(config: ModelConfig): EmbeddingModel | null;
19
25
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAMxD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElF,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CA6B9D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CA0B/E"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAMxD,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElF,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CA6B9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CA0B/E"}
@@ -1,6 +1,7 @@
1
1
  import { generateText } from "ai";
2
2
  import type { Observation } from "../types";
3
3
  import { type ParsedSummary } from "./parser";
4
+ /** Configuration for the AI session summarizer. */
4
5
  export interface SummarizerConfig {
5
6
  provider: string;
6
7
  apiKey: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../src/ai/summarizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,UAAU,CAAC;AASpE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAMD;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAmB;IAGjC,SAAS,sBAAgB;gBAEb,MAAM,EAAE,gBAAgB;IAsBpC;;;;OAIG;IACG,SAAS,CACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,GACtC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAyChC;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa;IAqC9E,yEAAyE;IACzE,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;CAGlD"}
1
+ {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../src/ai/summarizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,UAAU,CAAC;AASpE,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAMD;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAmB;IAGjC,SAAS,sBAAgB;gBAEb,MAAM,EAAE,gBAAgB;IAsBpC;;;;OAIG;IACG,SAAS,CACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,GACtC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAyChC;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa;IAqC9E,yEAAyE;IACzE,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;CAGlD"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { OpenMemConfig } from "./types";
2
+ /** Get the default embedding dimension for a given AI provider. */
2
3
  export declare function getDefaultDimension(provider: string): number;
3
4
  /**
4
5
  * Resolve configuration by merging defaults, environment variables, and overrides.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AAsH9D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa5D;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAChC,aAAa,CAoDf;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAuB9D;AAMD,8CAA8C;AAC9C,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,2CAA2C;AAC3C,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AA+J9D,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa5D;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAChC,aAAa,CAoDf;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAuB9D;AAMD,8CAA8C;AAC9C,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,2CAA2C;AAC3C,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
@@ -1,11 +1,23 @@
1
- import type { ObservationType } from "../types";
1
+ import type { ObservationIndex, ObservationType } from "../types";
2
2
  import type { ProgressiveContext } from "./progressive";
3
+ /** Configuration for how context strings are built and formatted. */
3
4
  export interface ContextBuilderConfig {
4
5
  showTokenCosts: boolean;
5
6
  observationTypes: ObservationType[] | "all";
6
7
  fullObservationCount: number;
7
8
  showLastSummary: boolean;
8
9
  }
10
+ /** Build a Markdown context string for system prompt injection. */
9
11
  export declare function buildContextString(context: ProgressiveContext, config?: ContextBuilderConfig): string;
12
+ /** Build a plain-text context string for session compaction. */
10
13
  export declare function buildCompactContext(context: ProgressiveContext): string;
14
+ /**
15
+ * Build a Markdown section for user-level (cross-project) observations.
16
+ * Fits entries within the given token budget using progressive disclosure.
17
+ */
18
+ export declare function buildUserContextSection(userIndex: ObservationIndex[], maxTokens: number): string;
19
+ /**
20
+ * Build a plain-text section for user-level context (used in compaction).
21
+ */
22
+ export declare function buildUserCompactContext(userIndex: ObservationIndex[], maxTokens: number): string;
11
23
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiC,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMxD,MAAM,WAAW,oBAAoB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;CACzB;AA0BD,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,GAAE,oBAA6C,GACnD,MAAM,CA2FR;AA4DD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAoBvE"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMxD,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;CACzB;AA0BD,mEAAmE;AACnE,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,GAAE,oBAA6C,GACnD,MAAM,CA2FR;AA4DD,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAoBvE;AAMD;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,SAAS,EAAE,MAAM,GACf,MAAM,CA2BR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,SAAS,EAAE,MAAM,GACf,MAAM,CAsBR"}
@@ -1,5 +1,6 @@
1
1
  import type { Observation, ObservationIndex, Session, SessionSummary } from "../types";
2
2
  import { type ScoringContext } from "./relevance";
3
+ /** Token-budgeted context payload injected into the system prompt. */
3
4
  export interface ProgressiveContext {
4
5
  recentSummaries: SessionSummary[];
5
6
  observationIndex: ObservationIndex[];
@@ -1 +1 @@
1
- {"version":3,"file":"progressive.d.ts","sourceRoot":"","sources":["../../src/context/progressive.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,aAAa,CAAC;AAMnE,MAAM,WAAW,kBAAkB;IAClC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,EACvC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,EACxC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACjD,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,aAAa,CAAC,WAAW,CAAM,EACjD,cAAc,CAAC,EAAE,cAAc,GAC7B,kBAAkB,CA+BpB"}
1
+ {"version":3,"file":"progressive.d.ts","sourceRoot":"","sources":["../../src/context/progressive.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,aAAa,CAAC;AAMnE,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IAClC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,EACvC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,EACxC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACjD,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,aAAa,CAAC,WAAW,CAAM,EACjD,cAAc,CAAC,EAAE,cAAc,GAC7B,kBAAkB,CA+BpB"}
@@ -1,4 +1,5 @@
1
1
  import type { ObservationIndex, ObservationType } from "../types";
2
+ /** Parameters that influence observation relevance scoring. */
2
3
  export interface ScoringContext {
3
4
  /** Boost observations from the current session */
4
5
  currentSessionId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"relevance.d.ts","sourceRoot":"","sources":["../../src/context/relevance.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMlE,MAAM,WAAW,cAAc;IAC9B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,GAAG,EAAE,IAAI,CAAC;CACV;AA2CD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAUjE;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEjE;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAGR;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO/D;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAYzF;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,cAAc,GACrB,gBAAgB,EAAE,CAcpB"}
1
+ {"version":3,"file":"relevance.d.ts","sourceRoot":"","sources":["../../src/context/relevance.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMlE,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC9B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,GAAG,EAAE,IAAI,CAAC;CACV;AA2CD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAUjE;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEjE;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAGR;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO/D;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAYzF;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,cAAc,GACrB,gBAAgB,EAAE,CAcpB"}
@@ -3,6 +3,7 @@ interface DaemonManagerConfig {
3
3
  projectPath: string;
4
4
  daemonScript: string;
5
5
  }
6
+ /** Manages the lifecycle of a background daemon subprocess for queue processing. */
6
7
  export declare class DaemonManager {
7
8
  private readonly pidPath;
8
9
  private readonly projectPath;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/daemon/manager.ts"],"names":[],"mappings":"AAOA,UAAU,mBAAmB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,UAAU,CAA6C;gBAEnD,MAAM,EAAE,mBAAmB;IAMvC,KAAK,IAAI,OAAO;IA+BhB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ7B,IAAI,IAAI,IAAI;IAaZ,SAAS,IAAI,OAAO;IAQpB,SAAS,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAUrD"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/daemon/manager.ts"],"names":[],"mappings":"AAOA,UAAU,mBAAmB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,oFAAoF;AACpF,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,UAAU,CAA6C;gBAEnD,MAAM,EAAE,mBAAmB;IAMvC,KAAK,IAAI,OAAO;IA+BhB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ7B,IAAI,IAAI,IAAI;IAaZ,SAAS,IAAI,OAAO;IAQpB,SAAS,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAUrD"}
@@ -1,6 +1,11 @@
1
+ /** Write the current process PID to the given file path. */
1
2
  export declare function writePid(pidPath: string): void;
3
+ /** Read a PID from file, returning null if missing or invalid. */
2
4
  export declare function readPid(pidPath: string): number | null;
5
+ /** Check whether a process with the given PID is still running. */
3
6
  export declare function isProcessAlive(pid: number): boolean;
7
+ /** Remove a PID file, ignoring errors if it doesn't exist. */
4
8
  export declare function removePid(pidPath: string): void;
9
+ /** Derive the PID file path from the database path. */
5
10
  export declare function getPidPath(dbPath: string): string;
6
11
  //# sourceMappingURL=pid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/daemon/pid.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAO9C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUtD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWnD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM/C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjD"}
1
+ {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/daemon/pid.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAO9C;AAED,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUtD;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWnD;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM/C;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjD"}
@@ -1,3 +1,4 @@
1
+ /** Result of an orphan daemon reap operation. */
1
2
  export interface ReapResult {
2
3
  reaped: number;
3
4
  errors: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"reaper.d.ts","sourceRoot":"","sources":["../../src/daemon/reaper.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAiD5D"}
1
+ {"version":3,"file":"reaper.d.ts","sourceRoot":"","sources":["../../src/daemon/reaper.ts"],"names":[],"mappings":"AAOA,iDAAiD;AACjD,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAiD5D"}
@@ -1,10 +1,13 @@
1
+ /** Contract for a component that can process a batch of queued items. */
1
2
  export interface BatchProcessor {
2
3
  processBatch(): Promise<number>;
3
4
  }
5
+ /** Configuration for the daemon polling worker. */
4
6
  export interface DaemonWorkerOptions {
5
7
  queueProcessor: BatchProcessor;
6
8
  pollIntervalMs: number;
7
9
  }
10
+ /** Polling worker that periodically processes queued observations. */
8
11
  export declare class DaemonWorker {
9
12
  private queueProcessor;
10
13
  private pollIntervalMs;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/daemon/worker.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC9B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACvB;AAQD,qBAAa,YAAY;IACxB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,mBAAmB;IAKxC,KAAK,IAAI,IAAI;IAoBb,IAAI,IAAI,IAAI;IAOZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAkBrC"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/daemon/worker.ts"],"names":[],"mappings":"AAQA,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC9B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACvB;AAQD,sEAAsE;AACtE,qBAAa,YAAY;IACxB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,mBAAmB;IAKxC,KAAK,IAAI,IAAI;IAoBb,IAAI,IAAI,IAAI;IAOZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAkBrC"}