@danielzfliu/memory 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface Piece {
2
+ id: string;
3
+ content: string;
4
+ tags: string[];
5
+ }
6
+ export interface MemoryConfig {
7
+ chromaUrl?: string;
8
+ ollamaUrl?: string;
9
+ embeddingModel?: string;
10
+ generationModel?: string;
11
+ collectionName?: string;
12
+ }
13
+ export declare const DEFAULT_MEMORY_CONFIG: Required<MemoryConfig>;
14
+ export interface QueryOptions {
15
+ tags?: string[];
16
+ topK?: number;
17
+ }
18
+ export interface QueryResult {
19
+ piece: Piece;
20
+ score: number;
21
+ }
22
+ export interface RagResult {
23
+ answer: string;
24
+ sources: QueryResult[];
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAMxD,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B"}
package/dist/types.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MEMORY_CONFIG = void 0;
4
+ exports.DEFAULT_MEMORY_CONFIG = {
5
+ chromaUrl: "http://localhost:8000",
6
+ ollamaUrl: "http://localhost:11434",
7
+ embeddingModel: "nomic-embed-text-v2-moe",
8
+ generationModel: "llama3.2",
9
+ collectionName: "pieces",
10
+ };
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAca,QAAA,qBAAqB,GAA2B;IACzD,SAAS,EAAE,uBAAuB;IAClC,SAAS,EAAE,wBAAwB;IACnC,cAAc,EAAE,yBAAyB;IACzC,eAAe,EAAE,UAAU;IAC3B,cAAc,EAAE,QAAQ;CAC3B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@danielzfliu/memory",
3
+ "version": "1.0.0",
4
+ "description": "A local RAG system for storing, searching, and querying tagged text pieces using ChromaDB and Ollama",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "require": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "README.md",
16
+ "LICENSE",
17
+ "package_scripts"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/DanielZFLiu/memory.git"
22
+ },
23
+ "engines": {
24
+ "node": ">=18"
25
+ },
26
+ "keywords": [
27
+ "rag",
28
+ "chromadb",
29
+ "ollama",
30
+ "vector-search",
31
+ "embeddings",
32
+ "local-ai"
33
+ ],
34
+ "scripts": {
35
+ "build": "tsc",
36
+ "dev": "tsx src/main.ts",
37
+ "start": "node dist/main.js",
38
+ "test": "vitest run",
39
+ "test:watch": "vitest",
40
+ "test:coverage": "vitest run --coverage",
41
+ "prepublishOnly": "npm run build",
42
+ "db": "chroma run --port 8000",
43
+ "db:port": "node ./package_scripts/serve-chroma.js",
44
+ "ollama": "ollama serve",
45
+ "ollama:port": "node ./package_scripts/serve-ollama.js"
46
+ },
47
+ "license": "GPL-3.0",
48
+ "dependencies": {
49
+ "chromadb": "^1.9.2",
50
+ "express": "^4.21.0",
51
+ "ollama": "^0.5.11",
52
+ "uuid": "^11.0.3"
53
+ },
54
+ "devDependencies": {
55
+ "@types/express": "^5.0.0",
56
+ "@types/supertest": "^6.0.3",
57
+ "@types/uuid": "^10.0.0",
58
+ "supertest": "^7.2.2",
59
+ "tsx": "^4.19.0",
60
+ "typescript": "^5.6.0",
61
+ "vitest": "^4.0.18"
62
+ }
63
+ }
@@ -0,0 +1,17 @@
1
+ const { spawn } = require("child_process");
2
+
3
+ // Get port from argument or default to 8000
4
+ const port = process.argv[2] || "8000";
5
+
6
+ console.log(`🚀 Starting ChromaDB on port ${port}`);
7
+
8
+ const command = `chroma run --port ${port}`;
9
+
10
+ const child = spawn(command, [], {
11
+ stdio: "inherit",
12
+ shell: true,
13
+ });
14
+
15
+ child.on("close", (code) => {
16
+ process.exit(code);
17
+ });
@@ -0,0 +1,20 @@
1
+ const { spawn } = require("child_process");
2
+
3
+ // Get the port from the command line argument, or default to 11434
4
+ const port = process.argv[2] || "11434";
5
+
6
+ console.log(`🚀 Starting Ollama on 127.0.0.1:${port}`);
7
+
8
+ // Run the command with the modified environment variable
9
+ const child = spawn("ollama serve", [], {
10
+ stdio: "inherit", // Show Ollama's output in your terminal
11
+ shell: true, // Ensure compatibility across OS
12
+ env: {
13
+ ...process.env, // Keep existing environment variables
14
+ OLLAMA_HOST: `127.0.0.1:${port}`,
15
+ },
16
+ });
17
+
18
+ child.on("close", (code) => {
19
+ process.exit(code);
20
+ });