@cogitator-ai/memory 0.6.14 → 0.6.20

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 (61) hide show
  1. package/dist/adapters/index.d.ts +2 -2
  2. package/dist/adapters/index.js +8 -8
  3. package/dist/adapters/memory-embedding.js +1 -1
  4. package/dist/adapters/memory.d.ts +1 -1
  5. package/dist/adapters/memory.js +1 -1
  6. package/dist/adapters/mongodb.d.ts +1 -1
  7. package/dist/adapters/mongodb.js +1 -1
  8. package/dist/adapters/postgres.d.ts +1 -1
  9. package/dist/adapters/postgres.js +1 -1
  10. package/dist/adapters/qdrant.d.ts.map +1 -1
  11. package/dist/adapters/qdrant.js.map +1 -1
  12. package/dist/adapters/redis.d.ts +1 -1
  13. package/dist/adapters/redis.js +1 -1
  14. package/dist/adapters/sqlite.d.ts +1 -1
  15. package/dist/adapters/sqlite.js +1 -1
  16. package/dist/compaction.d.ts +16 -0
  17. package/dist/compaction.d.ts.map +1 -0
  18. package/dist/compaction.js +89 -0
  19. package/dist/compaction.js.map +1 -0
  20. package/dist/context-builder.d.ts +2 -0
  21. package/dist/context-builder.d.ts.map +1 -1
  22. package/dist/context-builder.js +40 -3
  23. package/dist/context-builder.js.map +1 -1
  24. package/dist/core-facts.d.ts +43 -0
  25. package/dist/core-facts.d.ts.map +1 -0
  26. package/dist/core-facts.js +99 -0
  27. package/dist/core-facts.js.map +1 -0
  28. package/dist/embedding/factory.js +3 -3
  29. package/dist/embedding/index.d.ts +4 -4
  30. package/dist/embedding/index.js +4 -4
  31. package/dist/index.d.ts +19 -15
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +16 -13
  34. package/dist/index.js.map +1 -1
  35. package/dist/knowledge-graph/entity-extractor.js +1 -1
  36. package/dist/knowledge-graph/graph-adapter.d.ts.map +1 -1
  37. package/dist/knowledge-graph/graph-adapter.js +1 -1
  38. package/dist/knowledge-graph/graph-adapter.js.map +1 -1
  39. package/dist/knowledge-graph/index.d.ts +10 -8
  40. package/dist/knowledge-graph/index.d.ts.map +1 -1
  41. package/dist/knowledge-graph/index.js +6 -5
  42. package/dist/knowledge-graph/index.js.map +1 -1
  43. package/dist/knowledge-graph/inference-engine.d.ts.map +1 -1
  44. package/dist/knowledge-graph/inference-engine.js +23 -6
  45. package/dist/knowledge-graph/inference-engine.js.map +1 -1
  46. package/dist/knowledge-graph/schema.d.ts +15 -15
  47. package/dist/knowledge-graph/sqlite-graph-adapter.d.ts +48 -0
  48. package/dist/knowledge-graph/sqlite-graph-adapter.d.ts.map +1 -0
  49. package/dist/knowledge-graph/sqlite-graph-adapter.js +694 -0
  50. package/dist/knowledge-graph/sqlite-graph-adapter.js.map +1 -0
  51. package/dist/schema.d.ts +4 -4
  52. package/dist/search/bm25.d.ts +1 -1
  53. package/dist/search/bm25.js +1 -1
  54. package/dist/search/hybrid-search.js +2 -2
  55. package/dist/search/index.d.ts +4 -4
  56. package/dist/search/index.js +4 -4
  57. package/dist/session-manager.d.ts +19 -0
  58. package/dist/session-manager.d.ts.map +1 -0
  59. package/dist/session-manager.js +167 -0
  60. package/dist/session-manager.js.map +1 -0
  61. package/package.json +1 -1
@@ -2,8 +2,8 @@
2
2
  * Memory adapter exports and factory
3
3
  */
4
4
  import type { MemoryAdapter, EmbeddingAdapter, InMemoryAdapterConfig, RedisAdapterConfig, PostgresAdapterConfig, SQLiteAdapterConfig, MongoDBAdapterConfig, QdrantAdapterConfig } from '@cogitator-ai/types';
5
- export { BaseMemoryAdapter } from './base';
6
- export { InMemoryAdapter } from './memory';
5
+ export { BaseMemoryAdapter } from './base.js';
6
+ export { InMemoryAdapter } from './memory.js';
7
7
  export type MemoryAdapterConfigUnion = InMemoryAdapterConfig | RedisAdapterConfig | PostgresAdapterConfig | SQLiteAdapterConfig | MongoDBAdapterConfig;
8
8
  export type EmbeddingAdapterConfigUnion = QdrantAdapterConfig;
9
9
  export declare function createMemoryAdapter(config: MemoryAdapterConfigUnion): Promise<MemoryAdapter>;
@@ -1,27 +1,27 @@
1
1
  /**
2
2
  * Memory adapter exports and factory
3
3
  */
4
- import { InMemoryAdapter } from './memory';
5
- export { BaseMemoryAdapter } from './base';
6
- export { InMemoryAdapter } from './memory';
4
+ import { InMemoryAdapter } from './memory.js';
5
+ export { BaseMemoryAdapter } from './base.js';
6
+ export { InMemoryAdapter } from './memory.js';
7
7
  export async function createMemoryAdapter(config) {
8
8
  switch (config.provider) {
9
9
  case 'memory':
10
10
  return new InMemoryAdapter(config);
11
11
  case 'redis': {
12
- const { RedisAdapter } = await import('./redis');
12
+ const { RedisAdapter } = await import('./redis.js');
13
13
  return new RedisAdapter(config);
14
14
  }
15
15
  case 'postgres': {
16
- const { PostgresAdapter } = await import('./postgres');
16
+ const { PostgresAdapter } = await import('./postgres.js');
17
17
  return new PostgresAdapter(config);
18
18
  }
19
19
  case 'sqlite': {
20
- const { SQLiteAdapter } = await import('./sqlite');
20
+ const { SQLiteAdapter } = await import('./sqlite.js');
21
21
  return new SQLiteAdapter(config);
22
22
  }
23
23
  case 'mongodb': {
24
- const { MongoDBAdapter } = await import('./mongodb');
24
+ const { MongoDBAdapter } = await import('./mongodb.js');
25
25
  return new MongoDBAdapter(config);
26
26
  }
27
27
  default: {
@@ -33,7 +33,7 @@ export async function createMemoryAdapter(config) {
33
33
  export async function createEmbeddingAdapter(config) {
34
34
  switch (config.provider) {
35
35
  case 'qdrant': {
36
- const { QdrantAdapter } = await import('./qdrant');
36
+ const { QdrantAdapter } = await import('./qdrant.js');
37
37
  return new QdrantAdapter(config);
38
38
  }
39
39
  }
@@ -1,5 +1,5 @@
1
1
  import { nanoid } from 'nanoid';
2
- import { BM25Index } from '../search/bm25';
2
+ import { BM25Index } from '../search/bm25.js';
3
3
  function cosineSimilarity(a, b) {
4
4
  if (a.length !== b.length)
5
5
  return 0;
@@ -2,7 +2,7 @@
2
2
  * In-memory adapter - default, zero dependencies
3
3
  */
4
4
  import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, InMemoryAdapterConfig, MemoryProvider } from '@cogitator-ai/types';
5
- import { BaseMemoryAdapter } from './base';
5
+ import { BaseMemoryAdapter } from './base.js';
6
6
  export declare class InMemoryAdapter extends BaseMemoryAdapter {
7
7
  readonly provider: MemoryProvider;
8
8
  private threads;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * In-memory adapter - default, zero dependencies
3
3
  */
4
- import { BaseMemoryAdapter } from './base';
4
+ import { BaseMemoryAdapter } from './base.js';
5
5
  export class InMemoryAdapter extends BaseMemoryAdapter {
6
6
  provider = 'memory';
7
7
  threads = new Map();
@@ -1,5 +1,5 @@
1
1
  import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, MongoDBAdapterConfig, MemoryProvider } from '@cogitator-ai/types';
2
- import { BaseMemoryAdapter } from './base';
2
+ import { BaseMemoryAdapter } from './base.js';
3
3
  export declare class MongoDBAdapter extends BaseMemoryAdapter {
4
4
  readonly provider: MemoryProvider;
5
5
  private client;
@@ -1,4 +1,4 @@
1
- import { BaseMemoryAdapter } from './base';
1
+ import { BaseMemoryAdapter } from './base.js';
2
2
  export class MongoDBAdapter extends BaseMemoryAdapter {
3
3
  provider = 'mongodb';
4
4
  client = null;
@@ -7,7 +7,7 @@
7
7
  * - Embeddings with pgvector (EmbeddingAdapter)
8
8
  */
9
9
  import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, PostgresAdapterConfig, MemoryProvider, Fact, Embedding, SemanticSearchOptions, FactAdapter, EmbeddingAdapter, KeywordSearchAdapter, KeywordSearchOptions, SearchResult } from '@cogitator-ai/types';
10
- import { BaseMemoryAdapter } from './base';
10
+ import { BaseMemoryAdapter } from './base.js';
11
11
  export declare class PostgresAdapter extends BaseMemoryAdapter implements FactAdapter, EmbeddingAdapter, KeywordSearchAdapter {
12
12
  readonly provider: MemoryProvider;
13
13
  private pool;
@@ -6,7 +6,7 @@
6
6
  * - Facts (FactAdapter)
7
7
  * - Embeddings with pgvector (EmbeddingAdapter)
8
8
  */
9
- import { BaseMemoryAdapter } from './base';
9
+ import { BaseMemoryAdapter } from './base.js';
10
10
  export class PostgresAdapter extends BaseMemoryAdapter {
11
11
  provider = 'postgres';
12
12
  pool = null;
@@ -1 +1 @@
1
- {"version":3,"file":"qdrant.d.ts","sourceRoot":"","sources":["../../src/adapters/qdrant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAyC7B,qBAAa,aAAc,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,mBAAmB;IAOjC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAkCtC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAKzC,YAAY,CAChB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAgC7B,MAAM,CACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IA8CrD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAajE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAanE,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"qdrant.d.ts","sourceRoot":"","sources":["../../src/adapters/qdrant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAsC7B,qBAAa,aAAc,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,mBAAmB;IAOjC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAkCtC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAKzC,YAAY,CAChB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAgC7B,MAAM,CACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IA8CrD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAajE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAanE,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;CAGhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"qdrant.js","sourceRoot":"","sources":["../../src/adapters/qdrant.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwChC,MAAM,OAAO,aAAa;IAChB,MAAM,GAAwB,IAAI,CAAC;IACnC,GAAG,CAAS;IACZ,MAAM,CAAU;IAChB,UAAU,CAAS;IACnB,UAAU,CAAS;IAE3B,YAAY,MAA2B;QACrC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,uBAAuB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,YAA6E,CAAC;QAClF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACtD,YAAY,GAAG,MAAM,CAAC,YAGJ,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,OAAO,CACjB,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;YAE/E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE;iBACvD,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,OAAO,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,SAA8C;QAE9C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAc;YACtB,GAAG,SAAS;YACZ,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE;oBACN;wBACE,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,OAAO,EAAE;4BACP,WAAW,EAAE,IAAI,CAAC,EAAE;4BACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;4BACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;yBAC9B;qBACF;iBACF;aACF,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,OAAO,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEvD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAiE,EAAE,CAAC;YAChF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,eAAe,EAAE,OAAO,CAAC,SAAS;gBAClC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aACjD,CAAC,CAAC;YAEH,MAAM,UAAU,GAAsC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxE,EAAE,EAAG,CAAC,CAAC,OAAO,CAAC,WAAsB,IAAI,CAAC,CAAC,EAAE;gBAC7C,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAkB;gBACtC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAqC;gBAC3D,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAiB;gBACpC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAmB,CAAC;gBAClD,QAAQ,EAAG,CAAC,CAAC,OAAO,CAAC,QAAoC,IAAI,EAAE;gBAC/D,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CAAC;YAEJ,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,OAAO,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,CAAC,WAAW,CAAC;aACtB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,OAAO,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE;aACpE,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,OAAO,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,OAAO,CAAI,IAAO;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAEO,OAAO,CAAC,KAAa;QAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"qdrant.js","sourceRoot":"","sources":["../../src/adapters/qdrant.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * Supports both standalone Redis and Redis Cluster modes via @cogitator-ai/redis.
7
7
  */
8
8
  import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, RedisAdapterConfig, MemoryProvider } from '@cogitator-ai/types';
9
- import { BaseMemoryAdapter } from './base';
9
+ import { BaseMemoryAdapter } from './base.js';
10
10
  export declare class RedisAdapter extends BaseMemoryAdapter {
11
11
  readonly provider: MemoryProvider;
12
12
  private client;
@@ -6,7 +6,7 @@
6
6
  * Supports both standalone Redis and Redis Cluster modes via @cogitator-ai/redis.
7
7
  */
8
8
  import { createRedisClient } from '@cogitator-ai/redis';
9
- import { BaseMemoryAdapter } from './base';
9
+ import { BaseMemoryAdapter } from './base.js';
10
10
  export class RedisAdapter extends BaseMemoryAdapter {
11
11
  provider = 'redis';
12
12
  client = null;
@@ -1,5 +1,5 @@
1
1
  import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, SQLiteAdapterConfig, MemoryProvider } from '@cogitator-ai/types';
2
- import { BaseMemoryAdapter } from './base';
2
+ import { BaseMemoryAdapter } from './base.js';
3
3
  export declare class SQLiteAdapter extends BaseMemoryAdapter {
4
4
  readonly provider: MemoryProvider;
5
5
  private db;
@@ -1,4 +1,4 @@
1
- import { BaseMemoryAdapter } from './base';
1
+ import { BaseMemoryAdapter } from './base.js';
2
2
  export class SQLiteAdapter extends BaseMemoryAdapter {
3
3
  provider = 'sqlite';
4
4
  db = null;
@@ -0,0 +1,16 @@
1
+ import type { MemoryAdapter, MemoryEntry, CompactionConfig, CompactionResult, Message } from '@cogitator-ai/types';
2
+ export type SummarizeFn = (messages: Message[]) => Promise<string>;
3
+ export interface CompactionServiceConfig {
4
+ adapter: MemoryAdapter;
5
+ summarize: SummarizeFn;
6
+ }
7
+ export declare class CompactionService {
8
+ private readonly adapter;
9
+ private readonly summarize;
10
+ constructor(config: CompactionServiceConfig);
11
+ compact(sessionId: string, config: CompactionConfig): Promise<CompactionResult>;
12
+ applySummary(sessionId: string, entriesToRemove: MemoryEntry[], summary: string): Promise<number>;
13
+ getSummarizeFn(): SummarizeFn;
14
+ getAdapter(): MemoryAdapter;
15
+ }
16
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAEhB,OAAO,EACR,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAE5B,MAAM,EAAE,uBAAuB;IAKrC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB/E,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,WAAW,EAAE,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAsBlB,cAAc,IAAI,WAAW;IAI7B,UAAU,IAAI,aAAa;CAG5B"}
@@ -0,0 +1,89 @@
1
+ import { countMessagesTokens } from './token-counter.js';
2
+ export class CompactionService {
3
+ adapter;
4
+ summarize;
5
+ constructor(config) {
6
+ this.adapter = config.adapter;
7
+ this.summarize = config.summarize;
8
+ }
9
+ async compact(sessionId, config) {
10
+ const entriesResult = await this.adapter.getEntries({ threadId: sessionId });
11
+ if (!entriesResult.success) {
12
+ throw new Error(`Failed to load entries: ${entriesResult.error}`);
13
+ }
14
+ const entries = entriesResult.data;
15
+ if (entries.length <= config.keepRecent) {
16
+ return {
17
+ sessionId,
18
+ originalMessages: entries.length,
19
+ compactedMessages: entries.length,
20
+ summaryTokens: 0,
21
+ };
22
+ }
23
+ const strategy = strategies[config.strategy];
24
+ return strategy(this, sessionId, entries, config);
25
+ }
26
+ async applySummary(sessionId, entriesToRemove, summary) {
27
+ for (const entry of entriesToRemove) {
28
+ await this.adapter.deleteEntry(entry.id);
29
+ }
30
+ const summaryMessage = {
31
+ role: 'system',
32
+ content: `[Conversation summary]\n${summary}`,
33
+ };
34
+ const summaryTokens = countMessagesTokens([summaryMessage]);
35
+ await this.adapter.addEntry({
36
+ threadId: sessionId,
37
+ message: summaryMessage,
38
+ tokenCount: summaryTokens,
39
+ metadata: { compactionSummary: true, compactedAt: new Date().toISOString() },
40
+ });
41
+ return summaryTokens;
42
+ }
43
+ getSummarizeFn() {
44
+ return this.summarize;
45
+ }
46
+ getAdapter() {
47
+ return this.adapter;
48
+ }
49
+ }
50
+ const summaryStrategy = async (service, sessionId, entries, config) => {
51
+ const splitAt = entries.length - config.keepRecent;
52
+ const oldEntries = entries.slice(0, splitAt);
53
+ const oldMessages = oldEntries.map((e) => e.message);
54
+ const summary = await service.getSummarizeFn()(oldMessages);
55
+ const summaryTokens = await service.applySummary(sessionId, oldEntries, summary);
56
+ return {
57
+ sessionId,
58
+ originalMessages: entries.length,
59
+ compactedMessages: config.keepRecent + 1,
60
+ summaryTokens,
61
+ };
62
+ };
63
+ const slidingWindowStrategy = async (service, sessionId, entries, config) => {
64
+ const splitAt = entries.length - config.keepRecent;
65
+ const oldEntries = entries.slice(0, splitAt);
66
+ for (const entry of oldEntries) {
67
+ await service.getAdapter().deleteEntry(entry.id);
68
+ }
69
+ return {
70
+ sessionId,
71
+ originalMessages: entries.length,
72
+ compactedMessages: config.keepRecent,
73
+ summaryTokens: 0,
74
+ };
75
+ };
76
+ const hybridStrategy = async (service, sessionId, entries, config) => {
77
+ const splitAt = entries.length - config.keepRecent;
78
+ const oldEntries = entries.slice(0, splitAt);
79
+ if (oldEntries.length <= 5) {
80
+ return slidingWindowStrategy(service, sessionId, entries, config);
81
+ }
82
+ return summaryStrategy(service, sessionId, entries, config);
83
+ };
84
+ const strategies = {
85
+ summary: summaryStrategy,
86
+ 'sliding-window': slidingWindowStrategy,
87
+ hybrid: hybridStrategy,
88
+ };
89
+ //# sourceMappingURL=compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@
4
4
  * Builds conversation context from memory while respecting token limits.
5
5
  */
6
6
  import type { ContextBuilderConfig, BuiltContext, MemoryAdapter, FactAdapter, EmbeddingAdapter, EmbeddingService } from '@cogitator-ai/types';
7
+ import type { GraphContextBuilder } from './knowledge-graph/graph-context-builder.js';
7
8
  export interface ContextBuilderDeps {
8
9
  memoryAdapter: MemoryAdapter;
9
10
  factAdapter?: FactAdapter;
10
11
  embeddingAdapter?: EmbeddingAdapter;
11
12
  embeddingService?: EmbeddingService;
13
+ graphContextBuilder?: GraphContextBuilder;
12
14
  }
13
15
  export interface BuildContextOptions {
14
16
  threadId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAKV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB;IAe5D,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsJhE,OAAO,CAAC,mBAAmB;YAiBb,mBAAmB;IAqDjC,OAAO,CAAC,gBAAgB;CAgBzB"}
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAMV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB;IAe5D,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsMhE,OAAO,CAAC,mBAAmB;YAiBb,mBAAmB;IAqDjC,OAAO,CAAC,gBAAgB;CAgBzB"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Builds conversation context from memory while respecting token limits.
5
5
  */
6
- import { countMessageTokens, countTokens } from './token-counter';
6
+ import { countMessageTokens, countTokens } from './token-counter.js';
7
7
  export class ContextBuilder {
8
8
  config;
9
9
  deps;
@@ -27,6 +27,7 @@ export class ContextBuilder {
27
27
  const messages = [];
28
28
  const facts = [];
29
29
  const semanticResults = [];
30
+ let graphContext;
30
31
  if (this.config.includeSystemPrompt && options.systemPrompt) {
31
32
  const systemMsg = { role: 'system', content: options.systemPrompt };
32
33
  const tokens = countMessageTokens(systemMsg);
@@ -103,6 +104,41 @@ export class ContextBuilder {
103
104
  }
104
105
  }
105
106
  }
107
+ if (this.config.includeGraphContext && this.deps.graphContextBuilder && options.currentInput) {
108
+ const gc = await this.deps.graphContextBuilder.buildContext(options.agentId, options.currentInput, this.config.graphContextOptions);
109
+ if (gc.nodes.length > 0) {
110
+ const graphTokenBudget = Math.floor(availableTokens * 0.15);
111
+ if (gc.tokenCount <= graphTokenBudget) {
112
+ graphContext = gc;
113
+ }
114
+ else {
115
+ const ratio = graphTokenBudget / gc.tokenCount;
116
+ const limitedNodes = gc.nodes.slice(0, Math.max(1, Math.floor(gc.nodes.length * ratio)));
117
+ const limitedNodeIds = new Set(limitedNodes.map((n) => n.id));
118
+ const limitedEdges = gc.edges.filter((e) => limitedNodeIds.has(e.sourceNodeId) && limitedNodeIds.has(e.targetNodeId));
119
+ graphContext = await this.deps.graphContextBuilder.buildContext(options.agentId, options.currentInput, {
120
+ ...this.config.graphContextOptions,
121
+ maxNodes: limitedNodes.length,
122
+ maxEdges: limitedEdges.length,
123
+ });
124
+ }
125
+ if (graphContext?.formattedContext) {
126
+ if (messages.length > 0 && messages[0].role === 'system') {
127
+ messages[0] = {
128
+ ...messages[0],
129
+ content: `${messages[0].content}\n\n${graphContext.formattedContext}`,
130
+ };
131
+ }
132
+ else {
133
+ messages.unshift({
134
+ role: 'system',
135
+ content: graphContext.formattedContext,
136
+ });
137
+ }
138
+ usedTokens += graphContext.tokenCount;
139
+ }
140
+ }
141
+ }
106
142
  const entriesResult = await this.deps.memoryAdapter.getEntries({
107
143
  threadId: options.threadId,
108
144
  includeToolCalls: true,
@@ -136,6 +172,7 @@ export class ContextBuilder {
136
172
  messages,
137
173
  facts,
138
174
  semanticResults,
175
+ graphContext,
139
176
  tokenCount: usedTokens,
140
177
  truncated,
141
178
  metadata: {
@@ -143,8 +180,8 @@ export class ContextBuilder {
143
180
  includedMessageCount: messages.length - (this.config.includeSystemPrompt && options.systemPrompt ? 1 : 0),
144
181
  factsIncluded: facts.length,
145
182
  semanticResultsIncluded: semanticResults.length,
146
- graphNodesIncluded: 0,
147
- graphEdgesIncluded: 0,
183
+ graphNodesIncluded: graphContext?.nodes.length ?? 0,
184
+ graphEdgesIncluded: graphContext?.edges.length ?? 0,
148
185
  },
149
186
  };
150
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiBlE,MAAM,OAAO,cAAc;IACjB,MAAM,CAAiC;IACvC,IAAI,CAAqB;IAEjC,YAAY,MAA4B,EAAE,IAAwB;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,cAAc;YACrD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;YACvD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;YAC1C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,KAAK;YAC9D,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;YACxD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;SACtD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA4B;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC1E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,eAAe,GAAsC,EAAE,CAAC;QAC9D,IAAI,YAAsC,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,UAAU,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,UAAU,IAAI,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;gBAC1D,IAAI,UAAU,GAAG,CAAC,CAAC;gBAEnB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,UAAU,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;wBAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,UAAU,IAAI,MAAM,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACzD,QAAQ,CAAC,CAAC,CAAC,GAAG;4BACZ,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,qBAAqB,QAAQ,EAAE;yBAC/D,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,iBAAiB,QAAQ,EAAE;yBACrC,CAAC,CAAC;oBACL,CAAC;oBACD,UAAU,IAAI,UAAU,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IACE,IAAI,CAAC,MAAM,CAAC,sBAAsB;YAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC1B,OAAO,CAAC,YAAY,EACpB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC3D,MAAM;gBACN,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;gBAC9D,IAAI,cAAc,GAAG,CAAC,CAAC;gBAEvB,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,cAAc,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAC;wBACnD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7B,cAAc,IAAI,MAAM,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACzD,QAAQ,CAAC,CAAC,CAAC,GAAG;4BACZ,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,0BAA0B,UAAU,EAAE;yBACtE,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,sBAAsB,UAAU,EAAE;yBAC5C,CAAC,CAAC;oBACL,CAAC;oBACD,UAAU,IAAI,cAAc,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7F,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACzD,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,YAAY,EACpB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;YAEF,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;gBAC5D,IAAI,EAAE,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;oBACtC,YAAY,GAAG,EAAE,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC;oBAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAChF,CAAC;oBACF,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAC7D,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,YAAY,EACpB;wBACE,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB;wBAClC,QAAQ,EAAE,YAAY,CAAC,MAAM;wBAC7B,QAAQ,EAAE,YAAY,CAAC,MAAM;qBAC9B,CACF,CAAC;gBACJ,CAAC;gBAED,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC;oBACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACzD,QAAQ,CAAC,CAAC,CAAC,GAAG;4BACZ,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,YAAY,CAAC,gBAAgB,EAAE;yBACtE,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,YAAY,CAAC,gBAAgB;yBACvC,CAAC,CAAC;oBACL,CAAC;oBACD,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;YACnC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;YAEtC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,CAAC,CAAC;gBAExF,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAEpD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACpD,OAAO,EACP,eAAe,GAAG,UAAU,EAC5B,OAAO,CAAC,YAAY,CACrB,CAAC;gBAEF,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAEpD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,KAAK;YACL,eAAe;YACf,YAAY;YACZ,UAAU,EAAE,UAAU;YACtB,SAAS;YACT,QAAQ,EAAE;gBACR,oBAAoB;gBACpB,oBAAoB,EAClB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,uBAAuB,EAAE,eAAe,CAAC,MAAM;gBAC/C,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gBACnD,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;aACpD;SACF,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAAsB,EAAE,eAAuB;QACzE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAsB,EACtB,eAAuB,EACvB,YAAqB;QAErB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,eAAe,GAAG,cAAc,CAAC;QAEtD,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACtE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEzE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,aAAa,GAA4C,EAAE,CAAC;YAElE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACxE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBACvD,IAAI,CAAC;4BACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;4BAC9D,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gCAChB,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAEhD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC;gBACtC,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;oBACpD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC5C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACzC,YAAY,CACb,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,aAAa,CAAC,CAAC;IAChD,CAAC;IAEO,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ interface Database {
2
+ prepare(sql: string): Statement;
3
+ exec(sql: string): void;
4
+ close(): void;
5
+ pragma(pragma: string): unknown;
6
+ }
7
+ interface Statement {
8
+ run(...params: unknown[]): {
9
+ changes: number;
10
+ lastInsertRowid: number | bigint;
11
+ };
12
+ get(...params: unknown[]): unknown;
13
+ all(...params: unknown[]): unknown[];
14
+ }
15
+ export interface FactHistoryEntry {
16
+ value: string;
17
+ setAt: Date;
18
+ }
19
+ export type CoreFactsStoreConfig = {
20
+ path: string;
21
+ db?: never;
22
+ } | {
23
+ db: Database;
24
+ path?: never;
25
+ };
26
+ export declare class CoreFactsStore {
27
+ private db;
28
+ private ownsDb;
29
+ private path;
30
+ private initialized;
31
+ constructor(config: CoreFactsStoreConfig);
32
+ initialize(): Promise<void>;
33
+ close(): Promise<void>;
34
+ private ensureDb;
35
+ set(key: string, value: string): Promise<void>;
36
+ get(key: string): Promise<string | null>;
37
+ getAll(): Promise<Record<string, string>>;
38
+ delete(key: string): Promise<void>;
39
+ getHistory(key: string): Promise<FactHistoryEntry[]>;
40
+ formatForPrompt(): Promise<string>;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=core-facts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-facts.d.ts","sourceRoot":"","sources":["../src/core-facts.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,UAAU,SAAS;IACjB,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjF,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;CACtC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjG,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,oBAAoB;IAWlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,QAAQ;IAKV,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQxC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAUzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAWpD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;CAMzC"}
@@ -0,0 +1,99 @@
1
+ export class CoreFactsStore {
2
+ db = null;
3
+ ownsDb;
4
+ path;
5
+ initialized = false;
6
+ constructor(config) {
7
+ if ('db' in config && config.db) {
8
+ this.db = config.db;
9
+ this.ownsDb = false;
10
+ this.path = null;
11
+ }
12
+ else {
13
+ this.path = config.path;
14
+ this.ownsDb = true;
15
+ }
16
+ }
17
+ async initialize() {
18
+ if (this.initialized)
19
+ return;
20
+ if (!this.db) {
21
+ let DatabaseCtor;
22
+ const betterSqlite = await import('better-sqlite3');
23
+ DatabaseCtor = betterSqlite.default;
24
+ this.db = new DatabaseCtor(this.path);
25
+ if (this.path !== ':memory:') {
26
+ this.db.pragma('journal_mode = WAL');
27
+ }
28
+ }
29
+ this.db.exec(`
30
+ CREATE TABLE IF NOT EXISTS core_facts (
31
+ key TEXT PRIMARY KEY,
32
+ value TEXT NOT NULL,
33
+ updated_at TEXT NOT NULL
34
+ );
35
+ CREATE TABLE IF NOT EXISTS core_facts_history (
36
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
37
+ key TEXT NOT NULL,
38
+ value TEXT NOT NULL,
39
+ set_at TEXT NOT NULL
40
+ );
41
+ `);
42
+ this.initialized = true;
43
+ }
44
+ async close() {
45
+ if (this.db && this.ownsDb) {
46
+ this.db.close();
47
+ this.db = null;
48
+ this.initialized = false;
49
+ }
50
+ }
51
+ ensureDb() {
52
+ if (!this.db)
53
+ throw new Error('Not initialized');
54
+ return this.db;
55
+ }
56
+ async set(key, value) {
57
+ const db = this.ensureDb();
58
+ const now = new Date().toISOString();
59
+ db.prepare(`INSERT INTO core_facts (key, value, updated_at) VALUES (?, ?, ?)
60
+ ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`).run(key, value, now);
61
+ db.prepare(`INSERT INTO core_facts_history (key, value, set_at) VALUES (?, ?, ?)`).run(key, value, now);
62
+ }
63
+ async get(key) {
64
+ const db = this.ensureDb();
65
+ const row = db.prepare(`SELECT value FROM core_facts WHERE key = ?`).get(key);
66
+ return row?.value ?? null;
67
+ }
68
+ async getAll() {
69
+ const db = this.ensureDb();
70
+ const rows = db.prepare(`SELECT key, value FROM core_facts ORDER BY key`).all();
71
+ const result = {};
72
+ for (const row of rows) {
73
+ result[row.key] = row.value;
74
+ }
75
+ return result;
76
+ }
77
+ async delete(key) {
78
+ const db = this.ensureDb();
79
+ db.prepare(`DELETE FROM core_facts WHERE key = ?`).run(key);
80
+ }
81
+ async getHistory(key) {
82
+ const db = this.ensureDb();
83
+ const rows = db
84
+ .prepare(`SELECT value, set_at FROM core_facts_history WHERE key = ? ORDER BY id ASC`)
85
+ .all(key);
86
+ return rows.map((row) => ({
87
+ value: row.value,
88
+ setAt: new Date(row.set_at),
89
+ }));
90
+ }
91
+ async formatForPrompt() {
92
+ const facts = await this.getAll();
93
+ const keys = Object.keys(facts);
94
+ if (keys.length === 0)
95
+ return '';
96
+ return keys.map((k) => `${k}: ${facts[k]}`).join('\n');
97
+ }
98
+ }
99
+ //# sourceMappingURL=core-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-facts.js","sourceRoot":"","sources":["../src/core-facts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Embedding service factory
3
3
  */
4
- import { OpenAIEmbeddingService } from './openai';
5
- import { OllamaEmbeddingService } from './ollama';
6
- import { GoogleEmbeddingService } from './google';
4
+ import { OpenAIEmbeddingService } from './openai.js';
5
+ import { OllamaEmbeddingService } from './ollama.js';
6
+ import { GoogleEmbeddingService } from './google.js';
7
7
  export function createEmbeddingService(config) {
8
8
  switch (config.provider) {
9
9
  case 'openai':