@sovant/sdk 1.2.0 → 1.4.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.
package/README.md CHANGED
@@ -1,7 +1,9 @@
1
- # Sovant TypeScript SDK
1
+ # @sovant/sdk
2
2
 
3
- **AI Infrastructure: Memory-as-a-Service for AI systems.**
4
- The official TypeScript/JavaScript client for the Sovant Memory API.
3
+ **Sovant is a governed AI memory layer for LLM applications.**
4
+ It gives your apps hybrid recall, profile-aware context, and a structured memory store you can audit, inspect, and control.
5
+
6
+ The official **JavaScript and TypeScript** SDK for the Sovant Memory API.
5
7
 
6
8
  [![npm version](https://img.shields.io/npm/v/@sovant/sdk)](https://www.npmjs.com/package/@sovant/sdk)
7
9
  [![Documentation](https://img.shields.io/badge/docs-sovant.ai-blue)](https://sovant.ai/docs)
@@ -32,31 +34,173 @@ pnpm add @sovant/sdk
32
34
 
33
35
  ## 60-Second Quickstart
34
36
 
37
+ ### TypeScript
38
+
35
39
  ```typescript
36
40
  import { Sovant } from "@sovant/sdk";
37
41
 
38
42
  const sv = new Sovant({ apiKey: process.env.SOVANT_API_KEY! });
39
43
 
40
44
  // Create a memory
41
- await sv.memory.create({
42
- data: { note: "User prefers morning meetings" },
45
+ await sv.memory.create({
46
+ data: { note: "User prefers morning meetings" },
47
+ type: "preference"
48
+ });
49
+
50
+ // Search memories
51
+ const results = await sv.memory.search({
52
+ query: "meeting preferences",
53
+ limit: 3
54
+ });
55
+
56
+ console.log(results);
57
+ ```
58
+
59
+ ### JavaScript (ESM)
60
+
61
+ ```javascript
62
+ import { Sovant } from "@sovant/sdk";
63
+
64
+ const sv = new Sovant({ apiKey: process.env.SOVANT_API_KEY });
65
+
66
+ // Create a memory
67
+ await sv.memory.create({
68
+ data: "User prefers morning meetings",
43
69
  type: "preference"
44
70
  });
45
71
 
46
72
  // Search memories
47
- const results = await sv.memory.search({
48
- query: "meeting preferences",
49
- topK: 3
73
+ const results = await sv.memory.search({
74
+ query: "meeting preferences",
75
+ limit: 3
50
76
  });
51
77
 
52
78
  console.log(results);
53
79
  ```
54
80
 
81
+ ### JavaScript (CommonJS)
82
+
83
+ ```javascript
84
+ const { Sovant } = require("@sovant/sdk");
85
+
86
+ const sv = new Sovant({ apiKey: process.env.SOVANT_API_KEY });
87
+
88
+ // Works the same as ESM
89
+ sv.memory.create({ data: "User likes coffee", type: "preference" })
90
+ .then(() => console.log("Memory saved!"));
91
+ ```
92
+
93
+ ## Recall vs Search
94
+
95
+ Sovant provides two ways to query memories:
96
+
97
+ - **`memory.recall()`** – Hybrid recall, profile-aware
98
+ Best for conversational AI queries like "What do you know about me?" or "What happened on Project X?".
99
+ Uses Sovant's hybrid pipeline (profile fast-path + thread-scoped lexical + vector semantic search) and prioritizes profile facts (name/age/location) when available.
100
+
101
+ - **`memory.search()`** – Semantic search
102
+ Best for topic-based lookup and discovery, e.g., "hiking", "Q1 marketing plan".
103
+ Pure vector similarity search without profile logic. Behavior unchanged from previous versions.
104
+
105
+ ```typescript
106
+ // Recall for conversational queries
107
+ const context = await sv.memory.recall({
108
+ query: "what do you know about me?",
109
+ limit: 10
110
+ });
111
+
112
+ // Search for topic discovery
113
+ const topics = await sv.memory.search({
114
+ query: "project updates",
115
+ limit: 5
116
+ });
117
+ ```
118
+
119
+ ## Working with Threads
120
+
121
+ Threads let you organize related memories into conversations or sessions. Each thread has a `title` and can contain multiple memories.
122
+
123
+ ### Create a thread and store memories
124
+
125
+ ```typescript
126
+ // Create a new thread
127
+ const thread = await sv.threads.create({
128
+ title: "Project Alpha Discussion",
129
+ description: "Q1 planning meeting notes",
130
+ metadata: { project: "alpha", quarter: "Q1" }
131
+ });
132
+
133
+ // Store memories in the thread
134
+ await sv.memory.create({
135
+ data: "Decided to launch in March",
136
+ type: "journal",
137
+ thread_id: thread.id
138
+ });
139
+
140
+ await sv.memory.create({
141
+ data: "Budget approved: $50k",
142
+ type: "insight",
143
+ thread_id: thread.id
144
+ });
145
+
146
+ // Recall memories from this specific thread
147
+ const threadMemories = await sv.memory.recall({
148
+ query: "launch date",
149
+ thread_id: thread.id,
150
+ limit: 10
151
+ });
152
+ ```
153
+
154
+ ### List and manage threads
155
+
156
+ ```typescript
157
+ // List all threads
158
+ const { threads, total } = await sv.threads.list({
159
+ limit: 20,
160
+ offset: 0
161
+ });
162
+
163
+ // Get a specific thread with its memories
164
+ const result = await sv.threads.get(thread.id, {
165
+ include_memories: true,
166
+ limit: 50
167
+ });
168
+
169
+ // Update thread details
170
+ await sv.threads.update(thread.id, {
171
+ title: "Project Alpha - Q1 Launch",
172
+ status: "completed"
173
+ });
174
+
175
+ // Delete a thread (keeps memories by default)
176
+ await sv.threads.delete(thread.id);
177
+
178
+ // Delete a thread and all its memories
179
+ await sv.threads.delete(thread.id, true);
180
+ ```
181
+
182
+ ### Default mode (without threads)
183
+
184
+ You can still use Sovant without threads - just omit `thread_id`:
185
+
186
+ ```typescript
187
+ // Store memory globally
188
+ await sv.memory.create({
189
+ data: "User prefers email notifications",
190
+ type: "preference"
191
+ });
192
+
193
+ // Recall from all memories
194
+ const allMemories = await sv.memory.recall({
195
+ query: "notification preferences"
196
+ });
197
+ ```
198
+
55
199
  ## Features
56
200
 
57
201
  - **Memory CRUD** — create, retrieve, update, delete memories
58
202
  - **Semantic Search** — query memories with filters and topK ranking
59
- - **Threads** — link related memories via thread_id (REST API)
203
+ - **Threads** — organize memories into conversations or sessions (fully supported in SDK)
60
204
  - **Batch Operations (Beta)** — atomic multi-operation support
61
205
  - **Compliance-ready** — audit trails, PDPA/GDPR-friendly by design
62
206
  - **SDKs** — official TypeScript and Python SDKs, with REST API reference
@@ -89,14 +233,14 @@ console.log(results);
89
233
  ## Status of Advanced Features
90
234
 
91
235
  - **Batch API:** Available, marked Beta.
92
- - **Threads:** Fully supported via REST API.
236
+ - **Threads:** Fully supported in TypeScript SDK (v1.4.0+).
93
237
  - **Webhooks, personalization, multi-channel sync:** Coming soon.
94
238
 
95
239
  ## Versioning & Changelog
96
240
 
97
- - **Stable release:** 1.0.5
98
- - Version 1.0.4 fixed critical API endpoint bugs
99
- - Earlier builds (1.0.0-1.0.3) are deprecated
241
+ - **Current release:** 1.4.0
242
+ - Version 1.4.0 adds full threads support (create, list, get, update, delete)
243
+ - Version 1.3.0 added hybrid recall with profile awareness
100
244
  - See [CHANGELOG.md](./CHANGELOG.md) for details.
101
245
 
102
246
  ## License & Use
package/dist/index.d.ts CHANGED
@@ -85,19 +85,117 @@ export declare class Sovant {
85
85
  transaction_id: string;
86
86
  }>;
87
87
  /**
88
- * Semantic search alias for search()
89
- * Provides a more intuitive name for vector similarity search
88
+ * Hybrid recall with profile awareness
89
+ * Uses multi-stage pipeline (profile fast-path + lexical + semantic)
90
+ * Guarantees profile facts (name/age/location) when available
91
+ *
92
+ * Use recall() for conversational queries ("who am I?", "what do you know about me?")
93
+ * Use search() for pure semantic topic lookup
90
94
  */
91
95
  recall: (q: {
92
- query?: string;
93
- type?: string;
94
- tags?: string[];
96
+ query: string;
95
97
  thread_id?: string;
96
98
  limit?: number;
97
- from_date?: string;
98
- to_date?: string;
99
99
  }) => Promise<unknown>;
100
100
  };
101
+ threads: {
102
+ /**
103
+ * Create a new thread
104
+ * @param input Thread creation parameters
105
+ * @returns Created thread with ID
106
+ */
107
+ create: (input: {
108
+ title: string;
109
+ description?: string;
110
+ metadata?: Record<string, any>;
111
+ }) => Promise<{
112
+ ok: boolean;
113
+ id: string;
114
+ title: string;
115
+ description?: string;
116
+ metadata?: Record<string, any>;
117
+ created_at: string;
118
+ updated_at: string;
119
+ }>;
120
+ /**
121
+ * List threads with optional filtering
122
+ * @param params List parameters
123
+ * @returns Paginated thread list
124
+ */
125
+ list: (params?: {
126
+ limit?: number;
127
+ offset?: number;
128
+ status?: "active" | "archived" | "completed";
129
+ }) => Promise<{
130
+ threads: Array<{
131
+ id: string;
132
+ title: string;
133
+ description?: string;
134
+ metadata?: Record<string, any>;
135
+ created_at: string;
136
+ updated_at: string;
137
+ }>;
138
+ total: number;
139
+ limit: number;
140
+ offset: number;
141
+ has_more: boolean;
142
+ }>;
143
+ /**
144
+ * Get a thread by ID
145
+ * @param threadId Thread UUID
146
+ * @param options Optional parameters
147
+ * @returns Thread details
148
+ */
149
+ get: (threadId: string, options?: {
150
+ include_memories?: boolean;
151
+ limit?: number;
152
+ }) => Promise<{
153
+ thread: {
154
+ id: string;
155
+ title: string;
156
+ description?: string;
157
+ status?: string;
158
+ metadata?: Record<string, any>;
159
+ created_at: string;
160
+ updated_at: string;
161
+ memory_ids?: string[];
162
+ memories?: any[];
163
+ };
164
+ }>;
165
+ /**
166
+ * Update a thread
167
+ * @param threadId Thread UUID
168
+ * @param updates Fields to update
169
+ * @returns Updated thread
170
+ */
171
+ update: (threadId: string, updates: {
172
+ title?: string;
173
+ description?: string;
174
+ status?: "active" | "archived" | "completed";
175
+ metadata?: Record<string, any>;
176
+ }) => Promise<{
177
+ thread: {
178
+ id: string;
179
+ title: string;
180
+ description?: string;
181
+ status?: string;
182
+ metadata?: Record<string, any>;
183
+ created_at: string;
184
+ updated_at: string;
185
+ };
186
+ message: string;
187
+ }>;
188
+ /**
189
+ * Delete a thread
190
+ * @param threadId Thread UUID
191
+ * @param deleteMemories If true, also delete associated memories
192
+ * @returns Deletion confirmation
193
+ */
194
+ delete: (threadId: string, deleteMemories?: boolean) => Promise<{
195
+ message: string;
196
+ memories_deleted: boolean;
197
+ }>;
198
+ };
101
199
  }
102
200
  export declare class SovantError extends Error {
103
201
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,9 @@ export class Sovant {
11
11
  if (!opts?.apiKey)
12
12
  throw new Error("Missing apiKey");
13
13
  this.apiKey = opts.apiKey;
14
- this.baseUrl = (opts.baseUrl ?? process.env.SOVANT_BASE_URL ?? "https://sovant.ai").replace(/\/+$/, "");
14
+ this.baseUrl = (opts.baseUrl ??
15
+ process.env.SOVANT_BASE_URL ??
16
+ "https://sovant.ai").replace(/\/+$/, "");
15
17
  this.timeout = opts.timeoutMs ?? 30000;
16
18
  this.maxRetries = opts.maxRetries ?? 3;
17
19
  this.retryDelay = opts.retryDelay ?? 1000;
@@ -20,7 +22,7 @@ export class Sovant {
20
22
  this.onError = opts.onError;
21
23
  }
22
24
  async req(path, init) {
23
- const method = init.method || 'GET';
25
+ const method = init.method || "GET";
24
26
  const startTime = Date.now();
25
27
  // Telemetry: onRequest hook
26
28
  if (this.onRequest) {
@@ -39,10 +41,10 @@ export class Sovant {
39
41
  ...init,
40
42
  headers: {
41
43
  "content-type": "application/json",
42
- "authorization": `Bearer ${this.apiKey}`,
43
- ...(init.headers || {})
44
+ authorization: `Bearer ${this.apiKey}`,
45
+ ...(init.headers || {}),
44
46
  },
45
- signal: ctl.signal
47
+ signal: ctl.signal,
46
48
  });
47
49
  clearTimeout(timeoutId);
48
50
  const text = await res.text();
@@ -58,10 +60,11 @@ export class Sovant {
58
60
  const code = body?.code || `HTTP_${res.status}`;
59
61
  const error = new SovantError(msg, code, res.status, body);
60
62
  // Retry on 429 (rate limit) or 5xx errors
61
- if (attempt < this.maxRetries && (res.status === 429 || res.status >= 500)) {
63
+ if (attempt < this.maxRetries &&
64
+ (res.status === 429 || res.status >= 500)) {
62
65
  lastError = error;
63
66
  const delay = this.retryDelay * Math.pow(2, attempt); // Exponential backoff
64
- await new Promise(resolve => setTimeout(resolve, delay));
67
+ await new Promise((resolve) => setTimeout(resolve, delay));
65
68
  continue;
66
69
  }
67
70
  // Telemetry: onError hook
@@ -86,23 +89,23 @@ export class Sovant {
86
89
  catch (err) {
87
90
  clearTimeout(timeoutId);
88
91
  // Handle abort/timeout errors
89
- if (err instanceof Error && err.name === 'AbortError') {
90
- const error = new SovantError('Request timeout', 'TIMEOUT', 408);
92
+ if (err instanceof Error && err.name === "AbortError") {
93
+ const error = new SovantError("Request timeout", "TIMEOUT", 408);
91
94
  if (attempt < this.maxRetries) {
92
95
  lastError = error;
93
96
  const delay = this.retryDelay * Math.pow(2, attempt);
94
- await new Promise(resolve => setTimeout(resolve, delay));
97
+ await new Promise((resolve) => setTimeout(resolve, delay));
95
98
  continue;
96
99
  }
97
100
  throw error;
98
101
  }
99
102
  // Network errors
100
103
  if (err instanceof Error) {
101
- const error = new SovantError(err.message, 'NETWORK_ERROR', 0);
104
+ const error = new SovantError(err.message, "NETWORK_ERROR", 0);
102
105
  if (attempt < this.maxRetries) {
103
106
  lastError = error;
104
107
  const delay = this.retryDelay * Math.pow(2, attempt);
105
- await new Promise(resolve => setTimeout(resolve, delay));
108
+ await new Promise((resolve) => setTimeout(resolve, delay));
106
109
  continue;
107
110
  }
108
111
  throw error;
@@ -111,55 +114,61 @@ export class Sovant {
111
114
  }
112
115
  }
113
116
  // If we exhausted retries, throw the last error
114
- throw lastError || new SovantError('Max retries exceeded', 'MAX_RETRIES', 0);
117
+ throw (lastError || new SovantError("Max retries exceeded", "MAX_RETRIES", 0));
115
118
  }
116
119
  memory = {
117
120
  create: (input) => this.req("/api/v1/memory", {
118
121
  method: "POST",
119
122
  body: JSON.stringify({
120
- content: typeof input.data === 'string' ? input.data : JSON.stringify(input.data),
121
- type: input.type || 'journal',
123
+ content: typeof input.data === "string"
124
+ ? input.data
125
+ : JSON.stringify(input.data),
126
+ type: input.type || "journal",
122
127
  ttl: input.ttl,
123
128
  tags: input.tags,
124
129
  metadata: input.metadata,
125
- thread_id: input.thread_id
126
- })
130
+ thread_id: input.thread_id,
131
+ }),
127
132
  }),
128
133
  get: (id) => this.req(`/api/v1/memories/${encodeURIComponent(id)}`, {
129
- method: "GET"
134
+ method: "GET",
130
135
  }),
131
136
  search: (q) => {
132
137
  const params = new URLSearchParams();
133
138
  if (q.query)
134
- params.append('query', q.query);
139
+ params.append("query", q.query);
135
140
  if (q.type)
136
- params.append('type', q.type);
141
+ params.append("type", q.type);
137
142
  if (q.tags)
138
- params.append('tags', q.tags.join(','));
143
+ params.append("tags", q.tags.join(","));
139
144
  if (q.thread_id)
140
- params.append('thread_id', q.thread_id);
145
+ params.append("thread_id", q.thread_id);
141
146
  if (q.limit)
142
- params.append('limit', q.limit.toString());
147
+ params.append("limit", q.limit.toString());
143
148
  if (q.from_date)
144
- params.append('from_date', q.from_date);
149
+ params.append("from_date", q.from_date);
145
150
  if (q.to_date)
146
- params.append('to_date', q.to_date);
151
+ params.append("to_date", q.to_date);
147
152
  return this.req(`/api/v1/memory/search?${params.toString()}`, {
148
- method: "GET"
153
+ method: "GET",
149
154
  });
150
155
  },
151
156
  update: (id, patch) => this.req(`/api/v1/memories/${encodeURIComponent(id)}`, {
152
157
  method: "PATCH",
153
158
  body: JSON.stringify({
154
- content: patch.data ? (typeof patch.data === 'string' ? patch.data : JSON.stringify(patch.data)) : undefined,
159
+ content: patch.data
160
+ ? typeof patch.data === "string"
161
+ ? patch.data
162
+ : JSON.stringify(patch.data)
163
+ : undefined,
155
164
  type: patch.type,
156
165
  ttl: patch.ttl,
157
166
  tags: patch.tags,
158
- metadata: patch.metadata
159
- })
167
+ metadata: patch.metadata,
168
+ }),
160
169
  }),
161
170
  delete: (id) => this.req(`/api/v1/memories/${encodeURIComponent(id)}`, {
162
- method: "DELETE"
171
+ method: "DELETE",
163
172
  }),
164
173
  /**
165
174
  * Batch create multiple memories in a single request
@@ -167,45 +176,112 @@ export class Sovant {
167
176
  * @returns BatchResponse with individual results
168
177
  */
169
178
  createBatch: (memories) => {
170
- const operations = memories.map(mem => ({
171
- operation: 'create',
179
+ const operations = memories.map((mem) => ({
180
+ operation: "create",
172
181
  data: {
173
- content: typeof mem.data === 'string' ? mem.data : JSON.stringify(mem.data),
174
- type: mem.type || 'journal',
182
+ content: typeof mem.data === "string" ? mem.data : JSON.stringify(mem.data),
183
+ type: mem.type || "journal",
175
184
  tags: mem.tags,
176
185
  metadata: mem.metadata,
177
- thread_id: mem.thread_id
178
- }
186
+ thread_id: mem.thread_id,
187
+ },
179
188
  }));
180
189
  return this.req("/api/v1/memory/batch", {
181
190
  method: "POST",
182
- body: JSON.stringify(operations)
191
+ body: JSON.stringify(operations),
183
192
  });
184
193
  },
185
194
  /**
186
- * Semantic search alias for search()
187
- * Provides a more intuitive name for vector similarity search
195
+ * Hybrid recall with profile awareness
196
+ * Uses multi-stage pipeline (profile fast-path + lexical + semantic)
197
+ * Guarantees profile facts (name/age/location) when available
198
+ *
199
+ * Use recall() for conversational queries ("who am I?", "what do you know about me?")
200
+ * Use search() for pure semantic topic lookup
188
201
  */
189
202
  recall: (q) => {
190
203
  const params = new URLSearchParams();
191
- if (q.query)
192
- params.append('query', q.query);
193
- if (q.type)
194
- params.append('type', q.type);
195
- if (q.tags)
196
- params.append('tags', q.tags.join(','));
204
+ params.append("query", q.query);
197
205
  if (q.thread_id)
198
- params.append('thread_id', q.thread_id);
206
+ params.append("thread_id", q.thread_id);
199
207
  if (q.limit)
200
- params.append('limit', q.limit.toString());
201
- if (q.from_date)
202
- params.append('from_date', q.from_date);
203
- if (q.to_date)
204
- params.append('to_date', q.to_date);
205
- return this.req(`/api/v1/memory/search?${params.toString()}`, {
206
- method: "GET"
208
+ params.append("limit", q.limit.toString());
209
+ return this.req(`/api/v1/memory/recall?${params.toString()}`, {
210
+ method: "GET",
207
211
  });
208
- }
212
+ },
213
+ };
214
+ threads = {
215
+ /**
216
+ * Create a new thread
217
+ * @param input Thread creation parameters
218
+ * @returns Created thread with ID
219
+ */
220
+ create: (input) => this.req("/api/v1/threads", {
221
+ method: "POST",
222
+ body: JSON.stringify({
223
+ title: input.title,
224
+ description: input.description,
225
+ metadata: input.metadata,
226
+ }),
227
+ }),
228
+ /**
229
+ * List threads with optional filtering
230
+ * @param params List parameters
231
+ * @returns Paginated thread list
232
+ */
233
+ list: (params) => {
234
+ const query = new URLSearchParams();
235
+ if (params?.limit)
236
+ query.append("limit", params.limit.toString());
237
+ if (params?.offset)
238
+ query.append("offset", params.offset.toString());
239
+ if (params?.status)
240
+ query.append("status", params.status);
241
+ return this.req(`/api/v1/threads?${query.toString()}`, {
242
+ method: "GET",
243
+ });
244
+ },
245
+ /**
246
+ * Get a thread by ID
247
+ * @param threadId Thread UUID
248
+ * @param options Optional parameters
249
+ * @returns Thread details
250
+ */
251
+ get: (threadId, options) => {
252
+ const query = new URLSearchParams();
253
+ if (options?.include_memories)
254
+ query.append("include_memories", "true");
255
+ if (options?.limit)
256
+ query.append("limit", options.limit.toString());
257
+ return this.req(`/api/v1/threads/${encodeURIComponent(threadId)}?${query.toString()}`, {
258
+ method: "GET",
259
+ });
260
+ },
261
+ /**
262
+ * Update a thread
263
+ * @param threadId Thread UUID
264
+ * @param updates Fields to update
265
+ * @returns Updated thread
266
+ */
267
+ update: (threadId, updates) => this.req(`/api/v1/threads/${encodeURIComponent(threadId)}`, {
268
+ method: "PUT",
269
+ body: JSON.stringify(updates),
270
+ }),
271
+ /**
272
+ * Delete a thread
273
+ * @param threadId Thread UUID
274
+ * @param deleteMemories If true, also delete associated memories
275
+ * @returns Deletion confirmation
276
+ */
277
+ delete: (threadId, deleteMemories = false) => {
278
+ const query = new URLSearchParams();
279
+ if (deleteMemories)
280
+ query.append("delete_memories", "true");
281
+ return this.req(`/api/v1/threads/${encodeURIComponent(threadId)}?${query.toString()}`, {
282
+ method: "DELETE",
283
+ });
284
+ },
209
285
  };
210
286
  }
211
287
  export class SovantError extends Error {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@sovant/sdk",
3
- "version": "1.2.0",
4
- "description": "Sovant Memory-as-a-Service TypeScript SDK",
3
+ "version": "1.4.0",
4
+ "description": "Official Sovant Memory-as-a-Service SDK for JavaScript and TypeScript",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
10
  "import": "./dist/index.js",
11
+ "require": "./dist/index.cjs",
11
12
  "types": "./dist/index.d.ts"
12
13
  }
13
14
  },
@@ -26,7 +27,12 @@
26
27
  "sovant",
27
28
  "memory",
28
29
  "maas",
29
- "sdk"
30
+ "sdk",
31
+ "ai",
32
+ "typescript",
33
+ "javascript",
34
+ "llm",
35
+ "agent"
30
36
  ],
31
37
  "author": "Sovant",
32
38
  "license": "MIT",