@codemem/core 0.0.0 → 0.20.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/dist/address-utils.d.ts +24 -0
  3. package/dist/address-utils.d.ts.map +1 -0
  4. package/dist/api-types.d.ts +580 -0
  5. package/dist/api-types.d.ts.map +1 -0
  6. package/dist/claude-hooks.d.ts +62 -0
  7. package/dist/claude-hooks.d.ts.map +1 -0
  8. package/dist/coordinator-api.d.ts +11 -0
  9. package/dist/coordinator-api.d.ts.map +1 -0
  10. package/dist/coordinator-invites.d.ts +28 -0
  11. package/dist/coordinator-invites.d.ts.map +1 -0
  12. package/dist/coordinator-store.d.ts +67 -0
  13. package/dist/coordinator-store.d.ts.map +1 -0
  14. package/dist/db.d.ts +97 -0
  15. package/dist/db.d.ts.map +1 -0
  16. package/dist/embeddings.d.ts +39 -0
  17. package/dist/embeddings.d.ts.map +1 -0
  18. package/dist/export-import.d.ts +48 -0
  19. package/dist/export-import.d.ts.map +1 -0
  20. package/dist/filters.d.ts +34 -0
  21. package/dist/filters.d.ts.map +1 -0
  22. package/dist/index.d.ts +66 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +7287 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/ingest-events.d.ts +34 -0
  27. package/dist/ingest-events.d.ts.map +1 -0
  28. package/dist/ingest-filters.d.ts +16 -0
  29. package/dist/ingest-filters.d.ts.map +1 -0
  30. package/dist/ingest-pipeline.d.ts +56 -0
  31. package/dist/ingest-pipeline.d.ts.map +1 -0
  32. package/dist/ingest-prompts.d.ts +22 -0
  33. package/dist/ingest-prompts.d.ts.map +1 -0
  34. package/dist/ingest-sanitize.d.ts +18 -0
  35. package/dist/ingest-sanitize.d.ts.map +1 -0
  36. package/dist/ingest-transcript.d.ts +41 -0
  37. package/dist/ingest-transcript.d.ts.map +1 -0
  38. package/dist/ingest-types.d.ts +70 -0
  39. package/dist/ingest-types.d.ts.map +1 -0
  40. package/dist/ingest-xml-parser.d.ts +20 -0
  41. package/dist/ingest-xml-parser.d.ts.map +1 -0
  42. package/dist/integers.d.ts +13 -0
  43. package/dist/integers.d.ts.map +1 -0
  44. package/dist/maintenance.d.ts +71 -0
  45. package/dist/maintenance.d.ts.map +1 -0
  46. package/dist/observer-auth.d.ts +65 -0
  47. package/dist/observer-auth.d.ts.map +1 -0
  48. package/dist/observer-client.d.ts +104 -0
  49. package/dist/observer-client.d.ts.map +1 -0
  50. package/dist/observer-config.d.ts +57 -0
  51. package/dist/observer-config.d.ts.map +1 -0
  52. package/dist/pack.d.ts +36 -0
  53. package/dist/pack.d.ts.map +1 -0
  54. package/dist/project.d.ts +12 -0
  55. package/dist/project.d.ts.map +1 -0
  56. package/dist/raw-event-flush.d.ts +43 -0
  57. package/dist/raw-event-flush.d.ts.map +1 -0
  58. package/dist/raw-event-sweeper.d.ts +92 -0
  59. package/dist/raw-event-sweeper.d.ts.map +1 -0
  60. package/dist/schema.d.ts +7368 -0
  61. package/dist/schema.d.ts.map +1 -0
  62. package/dist/search.d.ts +76 -0
  63. package/dist/search.d.ts.map +1 -0
  64. package/dist/store.d.ts +274 -0
  65. package/dist/store.d.ts.map +1 -0
  66. package/dist/sync-auth.d.ts +81 -0
  67. package/dist/sync-auth.d.ts.map +1 -0
  68. package/dist/sync-daemon.d.ts +50 -0
  69. package/dist/sync-daemon.d.ts.map +1 -0
  70. package/dist/sync-discovery.d.ts +93 -0
  71. package/dist/sync-discovery.d.ts.map +1 -0
  72. package/dist/sync-http-client.d.ts +26 -0
  73. package/dist/sync-http-client.d.ts.map +1 -0
  74. package/dist/sync-identity.d.ts +38 -0
  75. package/dist/sync-identity.d.ts.map +1 -0
  76. package/dist/sync-pass.d.ts +63 -0
  77. package/dist/sync-pass.d.ts.map +1 -0
  78. package/dist/sync-replication.d.ts +99 -0
  79. package/dist/sync-replication.d.ts.map +1 -0
  80. package/dist/test-utils.d.ts +27 -0
  81. package/dist/test-utils.d.ts.map +1 -0
  82. package/dist/types.d.ts +414 -0
  83. package/dist/types.d.ts.map +1 -0
  84. package/dist/vectors.d.ts +59 -0
  85. package/dist/vectors.d.ts.map +1 -0
  86. package/package.json +41 -1
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Vector store operations for semantic search.
3
+ *
4
+ * Ports codemem/store/vectors.py — backfill and on-insert vector writes
5
+ * against the sqlite-vec `memory_vectors` virtual table.
6
+ *
7
+ * All functions accept a raw better-sqlite3 Database so they work outside
8
+ * the MemoryStore class. Embedding is async; callers await then write
9
+ * synchronously (matches the runtime-topology decision: main thread owns DB).
10
+ */
11
+ import type { Database } from "./db.js";
12
+ export interface BackfillVectorsResult {
13
+ checked: number;
14
+ embedded: number;
15
+ inserted: number;
16
+ skipped: number;
17
+ }
18
+ export interface BackfillVectorsOptions {
19
+ limit?: number | null;
20
+ since?: string | null;
21
+ project?: string | null;
22
+ activeOnly?: boolean;
23
+ dryRun?: boolean;
24
+ memoryIds?: number[] | null;
25
+ }
26
+ /**
27
+ * Embed and store vectors for a single memory item.
28
+ * No-op when embeddings are disabled or the client is unavailable.
29
+ */
30
+ export declare function storeVectors(db: Database, memoryId: number, title: string, bodyText: string): Promise<void>;
31
+ /**
32
+ * Backfill vectors for memories that don't have them yet.
33
+ * Matches Python's `backfill_vectors()` in store/vectors.py.
34
+ */
35
+ export declare function backfillVectors(db: Database, opts?: BackfillVectorsOptions): Promise<BackfillVectorsResult>;
36
+ export interface SemanticSearchResult {
37
+ id: number;
38
+ kind: string;
39
+ title: string;
40
+ body_text: string;
41
+ confidence: number;
42
+ tags_text: string;
43
+ metadata_json: string | null;
44
+ created_at: string;
45
+ updated_at: string;
46
+ session_id: number;
47
+ score: number;
48
+ distance: number;
49
+ }
50
+ /**
51
+ * Search for memories by vector similarity (KNN via sqlite-vec MATCH).
52
+ * Returns an empty array when embeddings are disabled or unavailable.
53
+ *
54
+ * Matches Python's `_semantic_search()` in store/search.py.
55
+ */
56
+ export declare function semanticSearch(db: Database, query: string, limit?: number, filters?: {
57
+ project?: string | null;
58
+ } | null): Promise<SemanticSearchResult[]>;
59
+ //# sourceMappingURL=vectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAcxC,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC5B;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CACjC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAqBf;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE,sBAA2B,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAiGhC;AAMD,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAC1C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAoDjC"}
package/package.json CHANGED
@@ -1 +1,41 @@
1
- {"name":"@codemem/core","version":"0.0.0","description":"codemem core library"}
1
+ {
2
+ "name": "@codemem/core",
3
+ "version": "0.20.0-alpha.2",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": {
7
+ "source": "./src/index.ts",
8
+ "import": "./dist/index.js",
9
+ "types": "./dist/index.d.ts"
10
+ }
11
+ },
12
+ "files": [
13
+ "dist/"
14
+ ],
15
+ "devDependencies": {
16
+ "@types/better-sqlite3": "^7.6.13",
17
+ "typescript": "^5.8.2",
18
+ "vite": "^8.0.0",
19
+ "vitest": "^3.1.4"
20
+ },
21
+ "dependencies": {
22
+ "better-sqlite3": "^12.8.0",
23
+ "drizzle-orm": "^0.45.1",
24
+ "hono": "^4.7.10",
25
+ "sqlite-vec": "0.1.7-alpha.2"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/kunickiaj/codemem.git",
30
+ "directory": "packages/core"
31
+ },
32
+ "license": "MIT",
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "scripts": {
37
+ "clean": "rm -rf dist",
38
+ "build": "pnpm exec vite build && pnpm exec tsc --emitDeclarationOnly",
39
+ "typecheck": "pnpm exec tsc --noEmit"
40
+ }
41
+ }