@matteuccimarco/slim-langchain 0.1.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,192 @@
1
+ /**
2
+ * SLIM LangChain Types
3
+ */
4
+ interface SlimSerializeOptions {
5
+ /**
6
+ * Use table format for arrays of objects (more compression)
7
+ * @default true
8
+ */
9
+ useTableFormat?: boolean;
10
+ }
11
+ interface SlimMemoryOptions {
12
+ /**
13
+ * Enable SLIM compression
14
+ * @default true
15
+ */
16
+ enabled?: boolean;
17
+ /**
18
+ * Session ID for the memory
19
+ */
20
+ sessionId?: string;
21
+ }
22
+ interface Message {
23
+ role: 'human' | 'ai' | 'system' | 'function';
24
+ content: string;
25
+ name?: string;
26
+ additionalKwargs?: Record<string, unknown>;
27
+ }
28
+ interface SerializedMemory {
29
+ messages: Message[];
30
+ metadata?: Record<string, unknown>;
31
+ }
32
+
33
+ /**
34
+ * SLIM Memory implementations for LangChain
35
+ */
36
+
37
+ /**
38
+ * Chat message history with SLIM compression
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const history = new SlimChatMessageHistory();
43
+ * history.addUserMessage("Hello");
44
+ * history.addAIMessage("Hi there!");
45
+ *
46
+ * // Export as SLIM (40% smaller)
47
+ * const slim = history.toSlim();
48
+ *
49
+ * // Import from SLIM
50
+ * const restored = SlimChatMessageHistory.fromSlim(slim);
51
+ * ```
52
+ */
53
+ declare class SlimChatMessageHistory {
54
+ private messages;
55
+ private sessionId;
56
+ private enabled;
57
+ constructor(options?: SlimMemoryOptions);
58
+ /**
59
+ * Add a human/user message
60
+ */
61
+ addUserMessage(content: string): void;
62
+ /**
63
+ * Add an AI/assistant message
64
+ */
65
+ addAIMessage(content: string): void;
66
+ /**
67
+ * Add a system message
68
+ */
69
+ addSystemMessage(content: string): void;
70
+ /**
71
+ * Add a function message
72
+ */
73
+ addFunctionMessage(content: string, name: string): void;
74
+ /**
75
+ * Add a generic message
76
+ */
77
+ addMessage(message: Message): void;
78
+ /**
79
+ * Get all messages
80
+ */
81
+ getMessages(): Message[];
82
+ /**
83
+ * Clear all messages
84
+ */
85
+ clear(): void;
86
+ /**
87
+ * Get message count
88
+ */
89
+ get length(): number;
90
+ /**
91
+ * Export history as SLIM string
92
+ */
93
+ toSlim(): string;
94
+ /**
95
+ * Export history as JSON string (for comparison)
96
+ */
97
+ toJSON(): string;
98
+ /**
99
+ * Get compression stats
100
+ */
101
+ getStats(): {
102
+ jsonSize: number;
103
+ slimSize: number;
104
+ savings: number;
105
+ };
106
+ /**
107
+ * Create from SLIM string
108
+ */
109
+ static fromSlim(slim: string): SlimChatMessageHistory;
110
+ /**
111
+ * Create from JSON string
112
+ */
113
+ static fromJSON(json: string): SlimChatMessageHistory;
114
+ }
115
+ /**
116
+ * Conversation buffer memory with SLIM compression
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const memory = new SlimConversationMemory();
121
+ *
122
+ * memory.saveContext(
123
+ * { input: "What's the weather?" },
124
+ * { output: "It's sunny and 72°F" }
125
+ * );
126
+ *
127
+ * const variables = memory.loadMemoryVariables();
128
+ * // { history: "Human: What's the weather?\nAI: It's sunny and 72°F" }
129
+ *
130
+ * // Export for storage
131
+ * const slim = memory.toSlim();
132
+ * ```
133
+ */
134
+ declare class SlimConversationMemory {
135
+ private history;
136
+ private humanPrefix;
137
+ private aiPrefix;
138
+ private memoryKey;
139
+ constructor(options?: SlimMemoryOptions & {
140
+ humanPrefix?: string;
141
+ aiPrefix?: string;
142
+ memoryKey?: string;
143
+ });
144
+ /**
145
+ * Save context from a conversation turn
146
+ */
147
+ saveContext(inputs: {
148
+ input: string;
149
+ [key: string]: unknown;
150
+ }, outputs: {
151
+ output: string;
152
+ [key: string]: unknown;
153
+ }): void;
154
+ /**
155
+ * Load memory variables for prompt
156
+ */
157
+ loadMemoryVariables(): Record<string, string>;
158
+ /**
159
+ * Clear memory
160
+ */
161
+ clear(): void;
162
+ /**
163
+ * Get all messages
164
+ */
165
+ getMessages(): Message[];
166
+ /**
167
+ * Export as SLIM
168
+ */
169
+ toSlim(): string;
170
+ /**
171
+ * Get compression stats
172
+ */
173
+ getStats(): {
174
+ jsonSize: number;
175
+ slimSize: number;
176
+ savings: number;
177
+ };
178
+ /**
179
+ * Create from SLIM
180
+ */
181
+ static fromSlim(slim: string, options?: {
182
+ humanPrefix?: string;
183
+ aiPrefix?: string;
184
+ memoryKey?: string;
185
+ }): SlimConversationMemory;
186
+ }
187
+ declare const _default: {
188
+ SlimChatMessageHistory: typeof SlimChatMessageHistory;
189
+ SlimConversationMemory: typeof SlimConversationMemory;
190
+ };
191
+
192
+ export { type Message as M, type SlimSerializeOptions as S, _default as _, type SerializedMemory as a, type SlimMemoryOptions as b, SlimChatMessageHistory as c, SlimConversationMemory as d };
@@ -0,0 +1 @@
1
+ export { c as SlimChatMessageHistory, d as SlimConversationMemory, _ as default } from './memory-Btlz_Pf_.mjs';
@@ -0,0 +1 @@
1
+ export { c as SlimChatMessageHistory, d as SlimConversationMemory, _ as default } from './memory-Btlz_Pf_.js';
package/dist/memory.js ADDED
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/memory.ts
21
+ var memory_exports = {};
22
+ __export(memory_exports, {
23
+ SlimChatMessageHistory: () => SlimChatMessageHistory,
24
+ SlimConversationMemory: () => SlimConversationMemory,
25
+ default: () => memory_default
26
+ });
27
+ module.exports = __toCommonJS(memory_exports);
28
+ var import_slim_protocol_core = require("slim-protocol-core");
29
+ var SlimChatMessageHistory = class _SlimChatMessageHistory {
30
+ constructor(options = {}) {
31
+ this.messages = [];
32
+ this.sessionId = options.sessionId || "default";
33
+ this.enabled = options.enabled !== false;
34
+ }
35
+ /**
36
+ * Add a human/user message
37
+ */
38
+ addUserMessage(content) {
39
+ this.messages.push({ role: "human", content });
40
+ }
41
+ /**
42
+ * Add an AI/assistant message
43
+ */
44
+ addAIMessage(content) {
45
+ this.messages.push({ role: "ai", content });
46
+ }
47
+ /**
48
+ * Add a system message
49
+ */
50
+ addSystemMessage(content) {
51
+ this.messages.push({ role: "system", content });
52
+ }
53
+ /**
54
+ * Add a function message
55
+ */
56
+ addFunctionMessage(content, name) {
57
+ this.messages.push({ role: "function", content, name });
58
+ }
59
+ /**
60
+ * Add a generic message
61
+ */
62
+ addMessage(message) {
63
+ this.messages.push(message);
64
+ }
65
+ /**
66
+ * Get all messages
67
+ */
68
+ getMessages() {
69
+ return [...this.messages];
70
+ }
71
+ /**
72
+ * Clear all messages
73
+ */
74
+ clear() {
75
+ this.messages = [];
76
+ }
77
+ /**
78
+ * Get message count
79
+ */
80
+ get length() {
81
+ return this.messages.length;
82
+ }
83
+ /**
84
+ * Export history as SLIM string
85
+ */
86
+ toSlim() {
87
+ return (0, import_slim_protocol_core.encode)({
88
+ sessionId: this.sessionId,
89
+ messages: this.messages
90
+ });
91
+ }
92
+ /**
93
+ * Export history as JSON string (for comparison)
94
+ */
95
+ toJSON() {
96
+ return JSON.stringify({
97
+ sessionId: this.sessionId,
98
+ messages: this.messages
99
+ });
100
+ }
101
+ /**
102
+ * Get compression stats
103
+ */
104
+ getStats() {
105
+ const json = this.toJSON();
106
+ const slim = this.toSlim();
107
+ const jsonSize = json.length;
108
+ const slimSize = slim.length;
109
+ const savings = jsonSize > 0 ? Math.round((1 - slimSize / jsonSize) * 100) : 0;
110
+ return { jsonSize, slimSize, savings };
111
+ }
112
+ /**
113
+ * Create from SLIM string
114
+ */
115
+ static fromSlim(slim) {
116
+ const data = (0, import_slim_protocol_core.decode)(slim);
117
+ const history = new _SlimChatMessageHistory({ sessionId: data.sessionId });
118
+ history.messages = data.messages || [];
119
+ return history;
120
+ }
121
+ /**
122
+ * Create from JSON string
123
+ */
124
+ static fromJSON(json) {
125
+ const data = JSON.parse(json);
126
+ const history = new _SlimChatMessageHistory({ sessionId: data.sessionId });
127
+ history.messages = data.messages || [];
128
+ return history;
129
+ }
130
+ };
131
+ var SlimConversationMemory = class _SlimConversationMemory {
132
+ constructor(options = {}) {
133
+ this.humanPrefix = "Human";
134
+ this.aiPrefix = "AI";
135
+ this.memoryKey = "history";
136
+ this.history = new SlimChatMessageHistory(options);
137
+ this.humanPrefix = options.humanPrefix || "Human";
138
+ this.aiPrefix = options.aiPrefix || "AI";
139
+ this.memoryKey = options.memoryKey || "history";
140
+ }
141
+ /**
142
+ * Save context from a conversation turn
143
+ */
144
+ saveContext(inputs, outputs) {
145
+ this.history.addUserMessage(inputs.input);
146
+ this.history.addAIMessage(outputs.output);
147
+ }
148
+ /**
149
+ * Load memory variables for prompt
150
+ */
151
+ loadMemoryVariables() {
152
+ const messages = this.history.getMessages();
153
+ const buffer = messages.map((m) => {
154
+ if (m.role === "human") return `${this.humanPrefix}: ${m.content}`;
155
+ if (m.role === "ai") return `${this.aiPrefix}: ${m.content}`;
156
+ if (m.role === "system") return `System: ${m.content}`;
157
+ return m.content;
158
+ }).join("\n");
159
+ return { [this.memoryKey]: buffer };
160
+ }
161
+ /**
162
+ * Clear memory
163
+ */
164
+ clear() {
165
+ this.history.clear();
166
+ }
167
+ /**
168
+ * Get all messages
169
+ */
170
+ getMessages() {
171
+ return this.history.getMessages();
172
+ }
173
+ /**
174
+ * Export as SLIM
175
+ */
176
+ toSlim() {
177
+ return this.history.toSlim();
178
+ }
179
+ /**
180
+ * Get compression stats
181
+ */
182
+ getStats() {
183
+ return this.history.getStats();
184
+ }
185
+ /**
186
+ * Create from SLIM
187
+ */
188
+ static fromSlim(slim, options) {
189
+ const memory = new _SlimConversationMemory(options);
190
+ const restored = SlimChatMessageHistory.fromSlim(slim);
191
+ for (const msg of restored.getMessages()) {
192
+ memory.history.addMessage(msg);
193
+ }
194
+ return memory;
195
+ }
196
+ };
197
+ var memory_default = { SlimChatMessageHistory, SlimConversationMemory };
198
+ // Annotate the CommonJS export names for ESM import in node:
199
+ 0 && (module.exports = {
200
+ SlimChatMessageHistory,
201
+ SlimConversationMemory
202
+ });
203
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/memory.ts"],"sourcesContent":["/**\r\n * SLIM Memory implementations for LangChain\r\n */\r\n\r\nimport { encode, decode } from 'slim-protocol-core';\r\nimport { SlimMemoryOptions, Message, SerializedMemory } from './types';\r\n\r\n/**\r\n * Chat message history with SLIM compression\r\n *\r\n * @example\r\n * ```typescript\r\n * const history = new SlimChatMessageHistory();\r\n * history.addUserMessage(\"Hello\");\r\n * history.addAIMessage(\"Hi there!\");\r\n *\r\n * // Export as SLIM (40% smaller)\r\n * const slim = history.toSlim();\r\n *\r\n * // Import from SLIM\r\n * const restored = SlimChatMessageHistory.fromSlim(slim);\r\n * ```\r\n */\r\nexport class SlimChatMessageHistory {\r\n private messages: Message[] = [];\r\n private sessionId: string;\r\n private enabled: boolean;\r\n\r\n constructor(options: SlimMemoryOptions = {}) {\r\n this.sessionId = options.sessionId || 'default';\r\n this.enabled = options.enabled !== false;\r\n }\r\n\r\n /**\r\n * Add a human/user message\r\n */\r\n addUserMessage(content: string): void {\r\n this.messages.push({ role: 'human', content });\r\n }\r\n\r\n /**\r\n * Add an AI/assistant message\r\n */\r\n addAIMessage(content: string): void {\r\n this.messages.push({ role: 'ai', content });\r\n }\r\n\r\n /**\r\n * Add a system message\r\n */\r\n addSystemMessage(content: string): void {\r\n this.messages.push({ role: 'system', content });\r\n }\r\n\r\n /**\r\n * Add a function message\r\n */\r\n addFunctionMessage(content: string, name: string): void {\r\n this.messages.push({ role: 'function', content, name });\r\n }\r\n\r\n /**\r\n * Add a generic message\r\n */\r\n addMessage(message: Message): void {\r\n this.messages.push(message);\r\n }\r\n\r\n /**\r\n * Get all messages\r\n */\r\n getMessages(): Message[] {\r\n return [...this.messages];\r\n }\r\n\r\n /**\r\n * Clear all messages\r\n */\r\n clear(): void {\r\n this.messages = [];\r\n }\r\n\r\n /**\r\n * Get message count\r\n */\r\n get length(): number {\r\n return this.messages.length;\r\n }\r\n\r\n /**\r\n * Export history as SLIM string\r\n */\r\n toSlim(): string {\r\n return encode({\r\n sessionId: this.sessionId,\r\n messages: this.messages,\r\n });\r\n }\r\n\r\n /**\r\n * Export history as JSON string (for comparison)\r\n */\r\n toJSON(): string {\r\n return JSON.stringify({\r\n sessionId: this.sessionId,\r\n messages: this.messages,\r\n });\r\n }\r\n\r\n /**\r\n * Get compression stats\r\n */\r\n getStats(): { jsonSize: number; slimSize: number; savings: number } {\r\n const json = this.toJSON();\r\n const slim = this.toSlim();\r\n const jsonSize = json.length;\r\n const slimSize = slim.length;\r\n const savings = jsonSize > 0 ? Math.round((1 - slimSize / jsonSize) * 100) : 0;\r\n return { jsonSize, slimSize, savings };\r\n }\r\n\r\n /**\r\n * Create from SLIM string\r\n */\r\n static fromSlim(slim: string): SlimChatMessageHistory {\r\n const data = decode(slim) as unknown as { sessionId: string; messages: Message[] };\r\n const history = new SlimChatMessageHistory({ sessionId: data.sessionId });\r\n history.messages = data.messages || [];\r\n return history;\r\n }\r\n\r\n /**\r\n * Create from JSON string\r\n */\r\n static fromJSON(json: string): SlimChatMessageHistory {\r\n const data = JSON.parse(json) as { sessionId: string; messages: Message[] };\r\n const history = new SlimChatMessageHistory({ sessionId: data.sessionId });\r\n history.messages = data.messages || [];\r\n return history;\r\n }\r\n}\r\n\r\n/**\r\n * Conversation buffer memory with SLIM compression\r\n *\r\n * @example\r\n * ```typescript\r\n * const memory = new SlimConversationMemory();\r\n *\r\n * memory.saveContext(\r\n * { input: \"What's the weather?\" },\r\n * { output: \"It's sunny and 72°F\" }\r\n * );\r\n *\r\n * const variables = memory.loadMemoryVariables();\r\n * // { history: \"Human: What's the weather?\\nAI: It's sunny and 72°F\" }\r\n *\r\n * // Export for storage\r\n * const slim = memory.toSlim();\r\n * ```\r\n */\r\nexport class SlimConversationMemory {\r\n private history: SlimChatMessageHistory;\r\n private humanPrefix: string = 'Human';\r\n private aiPrefix: string = 'AI';\r\n private memoryKey: string = 'history';\r\n\r\n constructor(options: SlimMemoryOptions & {\r\n humanPrefix?: string;\r\n aiPrefix?: string;\r\n memoryKey?: string;\r\n } = {}) {\r\n this.history = new SlimChatMessageHistory(options);\r\n this.humanPrefix = options.humanPrefix || 'Human';\r\n this.aiPrefix = options.aiPrefix || 'AI';\r\n this.memoryKey = options.memoryKey || 'history';\r\n }\r\n\r\n /**\r\n * Save context from a conversation turn\r\n */\r\n saveContext(\r\n inputs: { input: string; [key: string]: unknown },\r\n outputs: { output: string; [key: string]: unknown }\r\n ): void {\r\n this.history.addUserMessage(inputs.input);\r\n this.history.addAIMessage(outputs.output);\r\n }\r\n\r\n /**\r\n * Load memory variables for prompt\r\n */\r\n loadMemoryVariables(): Record<string, string> {\r\n const messages = this.history.getMessages();\r\n const buffer = messages\r\n .map((m) => {\r\n if (m.role === 'human') return `${this.humanPrefix}: ${m.content}`;\r\n if (m.role === 'ai') return `${this.aiPrefix}: ${m.content}`;\r\n if (m.role === 'system') return `System: ${m.content}`;\r\n return m.content;\r\n })\r\n .join('\\n');\r\n\r\n return { [this.memoryKey]: buffer };\r\n }\r\n\r\n /**\r\n * Clear memory\r\n */\r\n clear(): void {\r\n this.history.clear();\r\n }\r\n\r\n /**\r\n * Get all messages\r\n */\r\n getMessages(): Message[] {\r\n return this.history.getMessages();\r\n }\r\n\r\n /**\r\n * Export as SLIM\r\n */\r\n toSlim(): string {\r\n return this.history.toSlim();\r\n }\r\n\r\n /**\r\n * Get compression stats\r\n */\r\n getStats(): { jsonSize: number; slimSize: number; savings: number } {\r\n return this.history.getStats();\r\n }\r\n\r\n /**\r\n * Create from SLIM\r\n */\r\n static fromSlim(slim: string, options?: { humanPrefix?: string; aiPrefix?: string; memoryKey?: string }): SlimConversationMemory {\r\n const memory = new SlimConversationMemory(options);\r\n const restored = SlimChatMessageHistory.fromSlim(slim);\r\n for (const msg of restored.getMessages()) {\r\n memory.history.addMessage(msg);\r\n }\r\n return memory;\r\n }\r\n}\r\n\r\nexport default { SlimChatMessageHistory, SlimConversationMemory };\r\n"],"mappings":"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","names":[]}
@@ -0,0 +1,11 @@
1
+ import {
2
+ SlimChatMessageHistory,
3
+ SlimConversationMemory,
4
+ memory_default
5
+ } from "./chunk-XICIEIQL.mjs";
6
+ export {
7
+ SlimChatMessageHistory,
8
+ SlimConversationMemory,
9
+ memory_default as default
10
+ };
11
+ //# sourceMappingURL=memory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@matteuccimarco/slim-langchain",
3
+ "version": "0.1.0",
4
+ "description": "LangChain integration with SLIM compression for reduced token usage and storage",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ },
14
+ "./memory": {
15
+ "types": "./dist/memory.d.ts",
16
+ "import": "./dist/memory.mjs",
17
+ "require": "./dist/memory.js"
18
+ }
19
+ },
20
+ "files": ["dist"],
21
+ "scripts": {
22
+ "build": "tsup",
23
+ "test": "vitest run",
24
+ "prepublishOnly": "npm run build"
25
+ },
26
+ "keywords": ["langchain", "slim", "compression", "llm", "ai", "tokens", "memory", "chat", "rag"],
27
+ "author": "Marco Matteucci <info@matteuccimarco.com>",
28
+ "license": "MIT",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/matteuccimarco/slim-langchain.git"
32
+ },
33
+ "dependencies": {
34
+ "slim-protocol-core": "^0.1.0"
35
+ },
36
+ "peerDependencies": {
37
+ "@langchain/core": ">=0.1.0"
38
+ },
39
+ "peerDependenciesMeta": {
40
+ "@langchain/core": { "optional": true }
41
+ },
42
+ "devDependencies": {
43
+ "@langchain/core": "^0.3.0",
44
+ "@types/node": "^20.10.0",
45
+ "tsup": "^8.0.1",
46
+ "typescript": "^5.3.0",
47
+ "vitest": "^1.1.0"
48
+ }
49
+ }