memax-sdk 0.1.0-alpha.1
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/dist/client.d.ts +92 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +274 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +224 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +40 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { MemaxConfig, Memory, RecallResult, AskResult, ListMemoriesResult, ListMemoriesOptions, PushOptions, RecallOptions, AskOptions, AgentConfig, SyncPlanAction, SyncManifestEntry, ConfigUpsertRequest, ConfigMergeRequest, MeResponse, ApiKeyCreateOptions, ApiKey, ApiKeyListItem, Hub, HubWithRole, HubSwitchResult, Settings } from "./types.js";
|
|
2
|
+
export declare class MemaxError extends Error {
|
|
3
|
+
code: string;
|
|
4
|
+
status: number;
|
|
5
|
+
constructor(message: string, code: string, status: number);
|
|
6
|
+
}
|
|
7
|
+
export declare class Memax {
|
|
8
|
+
private apiUrl;
|
|
9
|
+
private getAuth;
|
|
10
|
+
/** Memory CRUD operations */
|
|
11
|
+
readonly memories: Memories;
|
|
12
|
+
/** Agent config sync operations */
|
|
13
|
+
readonly configs: Configs;
|
|
14
|
+
/** Auth & API key management */
|
|
15
|
+
readonly auth: Auth;
|
|
16
|
+
/** Hub management */
|
|
17
|
+
readonly hubs: Hubs;
|
|
18
|
+
/** User settings */
|
|
19
|
+
readonly settings: SettingsResource;
|
|
20
|
+
constructor(config: MemaxConfig);
|
|
21
|
+
/** Push content to the knowledge base */
|
|
22
|
+
push(content: string, options?: PushOptions): Promise<Memory>;
|
|
23
|
+
/** Recall relevant memories using semantic search */
|
|
24
|
+
recall(query: string, options?: RecallOptions): Promise<RecallResult>;
|
|
25
|
+
/** Ask a question and get an AI-synthesized answer with citations */
|
|
26
|
+
ask(query: string, options?: AskOptions): Promise<AskResult>;
|
|
27
|
+
/** @internal — exposed for resource namespaces */
|
|
28
|
+
request<T>(method: string, path: string, options?: {
|
|
29
|
+
body?: unknown;
|
|
30
|
+
hubId?: string;
|
|
31
|
+
query?: Record<string, string>;
|
|
32
|
+
}): Promise<T>;
|
|
33
|
+
}
|
|
34
|
+
type RequestFn = Memax["request"];
|
|
35
|
+
/** Memory CRUD */
|
|
36
|
+
declare class Memories {
|
|
37
|
+
private req;
|
|
38
|
+
constructor(req: RequestFn);
|
|
39
|
+
list(options?: ListMemoriesOptions): Promise<ListMemoriesResult>;
|
|
40
|
+
get(id: string): Promise<Memory>;
|
|
41
|
+
delete(id: string): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
/** Agent config sync */
|
|
44
|
+
declare class Configs {
|
|
45
|
+
private req;
|
|
46
|
+
constructor(req: RequestFn);
|
|
47
|
+
/** Send local manifest, receive sync plan */
|
|
48
|
+
sync(configs: SyncManifestEntry[]): Promise<{
|
|
49
|
+
actions: SyncPlanAction[];
|
|
50
|
+
}>;
|
|
51
|
+
/** Get a single config by ID */
|
|
52
|
+
get(id: string): Promise<AgentConfig>;
|
|
53
|
+
/** Create or update a config (idempotent) */
|
|
54
|
+
upsert(config: ConfigUpsertRequest): Promise<AgentConfig>;
|
|
55
|
+
/** LLM-powered merge of conflicting configs */
|
|
56
|
+
merge(request: ConfigMergeRequest): Promise<{
|
|
57
|
+
merged_content: string;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
/** Auth & API key management */
|
|
61
|
+
declare class Auth {
|
|
62
|
+
private req;
|
|
63
|
+
constructor(req: RequestFn);
|
|
64
|
+
/** Get current user profile, hubs, and usage */
|
|
65
|
+
me(): Promise<MeResponse>;
|
|
66
|
+
/** Create an API key */
|
|
67
|
+
createKey(options: ApiKeyCreateOptions): Promise<ApiKey>;
|
|
68
|
+
/** List all API keys */
|
|
69
|
+
listKeys(): Promise<ApiKeyListItem[]>;
|
|
70
|
+
/** Revoke an API key */
|
|
71
|
+
revokeKey(id: string): Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
/** Hub management */
|
|
74
|
+
declare class Hubs {
|
|
75
|
+
private req;
|
|
76
|
+
constructor(req: RequestFn);
|
|
77
|
+
/** List all accessible hubs */
|
|
78
|
+
list(): Promise<HubWithRole[]>;
|
|
79
|
+
/** Create a new hub */
|
|
80
|
+
create(name: string): Promise<Hub>;
|
|
81
|
+
/** Switch active hub */
|
|
82
|
+
switch(idOrSlug: string): Promise<HubSwitchResult>;
|
|
83
|
+
}
|
|
84
|
+
/** User settings */
|
|
85
|
+
declare class SettingsResource {
|
|
86
|
+
private req;
|
|
87
|
+
constructor(req: RequestFn);
|
|
88
|
+
/** Get user settings */
|
|
89
|
+
get(): Promise<Settings>;
|
|
90
|
+
}
|
|
91
|
+
export {};
|
|
92
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// memax-sdk — API client
|
|
3
|
+
// Works in Node.js, Deno, and edge runtimes (uses fetch, not http)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// --- Constants ---
|
|
6
|
+
const DEFAULT_API_URL = "https://api.memax.sh";
|
|
7
|
+
const MAX_RETRIES = 2;
|
|
8
|
+
const RETRY_DELAY_MS = 1500;
|
|
9
|
+
// --- Errors ---
|
|
10
|
+
export class MemaxError extends Error {
|
|
11
|
+
code;
|
|
12
|
+
status;
|
|
13
|
+
constructor(message, code, status) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.code = code;
|
|
16
|
+
this.status = status;
|
|
17
|
+
this.name = "MemaxError";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// --- Client ---
|
|
21
|
+
export class Memax {
|
|
22
|
+
apiUrl;
|
|
23
|
+
getAuth;
|
|
24
|
+
/** Memory CRUD operations */
|
|
25
|
+
memories;
|
|
26
|
+
/** Agent config sync operations */
|
|
27
|
+
configs;
|
|
28
|
+
/** Auth & API key management */
|
|
29
|
+
auth;
|
|
30
|
+
/** Hub management */
|
|
31
|
+
hubs;
|
|
32
|
+
/** User settings */
|
|
33
|
+
settings;
|
|
34
|
+
constructor(config) {
|
|
35
|
+
this.apiUrl = (config.apiUrl ?? DEFAULT_API_URL).replace(/\/$/, "");
|
|
36
|
+
if (config.auth) {
|
|
37
|
+
this.getAuth = config.auth;
|
|
38
|
+
}
|
|
39
|
+
else if (config.apiKey) {
|
|
40
|
+
const key = config.apiKey;
|
|
41
|
+
this.getAuth = async () => ({ Authorization: `Bearer ${key}` });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.getAuth = async () => ({});
|
|
45
|
+
}
|
|
46
|
+
// Initialize resource namespaces
|
|
47
|
+
const req = this.request.bind(this);
|
|
48
|
+
this.memories = new Memories(req);
|
|
49
|
+
this.configs = new Configs(req);
|
|
50
|
+
this.auth = new Auth(req);
|
|
51
|
+
this.hubs = new Hubs(req);
|
|
52
|
+
this.settings = new SettingsResource(req);
|
|
53
|
+
}
|
|
54
|
+
// --- Top-level convenience methods (most common operations) ---
|
|
55
|
+
/** Push content to the knowledge base */
|
|
56
|
+
async push(content, options) {
|
|
57
|
+
return this.request("POST", "/v1/memories", {
|
|
58
|
+
body: {
|
|
59
|
+
content,
|
|
60
|
+
title: options?.title ?? "",
|
|
61
|
+
category: options?.category ?? "",
|
|
62
|
+
tags: options?.tags ?? [],
|
|
63
|
+
source: options?.source ?? "sdk",
|
|
64
|
+
source_path: options?.sourcePath,
|
|
65
|
+
content_type: options?.contentType ?? "markdown",
|
|
66
|
+
project_context: options?.projectContext,
|
|
67
|
+
},
|
|
68
|
+
hubId: options?.hubId,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/** Recall relevant memories using semantic search */
|
|
72
|
+
async recall(query, options) {
|
|
73
|
+
return this.request("POST", "/v1/recall", {
|
|
74
|
+
body: {
|
|
75
|
+
query,
|
|
76
|
+
limit: options?.limit ?? 5,
|
|
77
|
+
category: options?.category,
|
|
78
|
+
tags: options?.tags,
|
|
79
|
+
include_archived: options?.includeArchived,
|
|
80
|
+
source: options?.source ?? "sdk",
|
|
81
|
+
working_dir: options?.workingDir,
|
|
82
|
+
project_context: options?.projectContext,
|
|
83
|
+
},
|
|
84
|
+
hubId: options?.hubId,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/** Ask a question and get an AI-synthesized answer with citations */
|
|
88
|
+
async ask(query, options) {
|
|
89
|
+
return this.request("POST", "/v1/ask", {
|
|
90
|
+
body: {
|
|
91
|
+
query,
|
|
92
|
+
limit: options?.limit ?? 10,
|
|
93
|
+
model: options?.model ?? "auto",
|
|
94
|
+
locale: options?.locale,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
// --- Internal HTTP transport ---
|
|
99
|
+
/** @internal — exposed for resource namespaces */
|
|
100
|
+
async request(method, path, options) {
|
|
101
|
+
const params = options?.query;
|
|
102
|
+
const qs = params ? "?" + new URLSearchParams(params).toString() : "";
|
|
103
|
+
const url = `${this.apiUrl}${path}${qs}`;
|
|
104
|
+
const authHeaders = await this.getAuth();
|
|
105
|
+
const headers = {
|
|
106
|
+
"Content-Type": "application/json",
|
|
107
|
+
...authHeaders,
|
|
108
|
+
};
|
|
109
|
+
if (options?.hubId) {
|
|
110
|
+
headers["X-Hub-ID"] = options.hubId;
|
|
111
|
+
}
|
|
112
|
+
// Determine body — if options has a `body` key, use it; otherwise use options itself
|
|
113
|
+
// (supports both `request("POST", path, { body: {...}, hubId })` and
|
|
114
|
+
// `request("POST", path, rawPayload)`)
|
|
115
|
+
const payload = options?.body !== undefined ? options.body : undefined;
|
|
116
|
+
let lastErr;
|
|
117
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
118
|
+
let res;
|
|
119
|
+
try {
|
|
120
|
+
res = await fetch(url, {
|
|
121
|
+
method,
|
|
122
|
+
headers,
|
|
123
|
+
body: payload !== undefined ? JSON.stringify(payload) : undefined,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
throw new MemaxError(`Cannot reach API at ${url} — is the server running?`, "network_error", 0);
|
|
128
|
+
}
|
|
129
|
+
const text = await res.text();
|
|
130
|
+
let json;
|
|
131
|
+
try {
|
|
132
|
+
json = JSON.parse(text);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
if (res.status === 401) {
|
|
136
|
+
throw new MemaxError("Not authenticated — run `memax login` first", "unauthorized", 401);
|
|
137
|
+
}
|
|
138
|
+
throw new MemaxError(`API returned ${res.status} with non-JSON response`, "invalid_response", res.status);
|
|
139
|
+
}
|
|
140
|
+
if (json.error) {
|
|
141
|
+
const err = new MemaxError(json.error.message, json.error.code, res.status);
|
|
142
|
+
if (json.error.code === "not_ready" && attempt < MAX_RETRIES) {
|
|
143
|
+
lastErr = err;
|
|
144
|
+
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS));
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
throw err;
|
|
148
|
+
}
|
|
149
|
+
return json.data;
|
|
150
|
+
}
|
|
151
|
+
throw lastErr;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/** Memory CRUD */
|
|
155
|
+
class Memories {
|
|
156
|
+
req;
|
|
157
|
+
constructor(req) {
|
|
158
|
+
this.req = req;
|
|
159
|
+
}
|
|
160
|
+
async list(options) {
|
|
161
|
+
const query = {};
|
|
162
|
+
if (options?.limit)
|
|
163
|
+
query.limit = String(options.limit);
|
|
164
|
+
if (options?.cursor)
|
|
165
|
+
query.cursor = options.cursor;
|
|
166
|
+
if (options?.sort)
|
|
167
|
+
query.sort = options.sort;
|
|
168
|
+
const res = await this.req("GET", "/v1/memories", {
|
|
169
|
+
query: Object.keys(query).length ? query : undefined,
|
|
170
|
+
hubId: options?.hubId,
|
|
171
|
+
});
|
|
172
|
+
// Handle both paginated and legacy array response
|
|
173
|
+
if (Array.isArray(res)) {
|
|
174
|
+
return {
|
|
175
|
+
memories: res,
|
|
176
|
+
next_cursor: "",
|
|
177
|
+
has_more: false,
|
|
178
|
+
total: res.length,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return res;
|
|
182
|
+
}
|
|
183
|
+
async get(id) {
|
|
184
|
+
return this.req("GET", `/v1/memories/${id}`);
|
|
185
|
+
}
|
|
186
|
+
async delete(id) {
|
|
187
|
+
await this.req("DELETE", `/v1/memories/${id}`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** Agent config sync */
|
|
191
|
+
class Configs {
|
|
192
|
+
req;
|
|
193
|
+
constructor(req) {
|
|
194
|
+
this.req = req;
|
|
195
|
+
}
|
|
196
|
+
/** Send local manifest, receive sync plan */
|
|
197
|
+
async sync(configs) {
|
|
198
|
+
return this.req("POST", "/v1/configs/sync", {
|
|
199
|
+
body: { configs },
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/** Get a single config by ID */
|
|
203
|
+
async get(id) {
|
|
204
|
+
return this.req("GET", `/v1/configs/${id}`);
|
|
205
|
+
}
|
|
206
|
+
/** Create or update a config (idempotent) */
|
|
207
|
+
async upsert(config) {
|
|
208
|
+
return this.req("PUT", "/v1/configs", { body: config });
|
|
209
|
+
}
|
|
210
|
+
/** LLM-powered merge of conflicting configs */
|
|
211
|
+
async merge(request) {
|
|
212
|
+
return this.req("POST", "/v1/configs/merge", { body: request });
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/** Auth & API key management */
|
|
216
|
+
class Auth {
|
|
217
|
+
req;
|
|
218
|
+
constructor(req) {
|
|
219
|
+
this.req = req;
|
|
220
|
+
}
|
|
221
|
+
/** Get current user profile, hubs, and usage */
|
|
222
|
+
async me() {
|
|
223
|
+
return this.req("GET", "/v1/auth/me");
|
|
224
|
+
}
|
|
225
|
+
/** Create an API key */
|
|
226
|
+
async createKey(options) {
|
|
227
|
+
return this.req("POST", "/v1/auth/api-keys", {
|
|
228
|
+
body: {
|
|
229
|
+
name: options.name,
|
|
230
|
+
hub_id: options.hubId,
|
|
231
|
+
expires_in_days: options.expiresInDays,
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
/** List all API keys */
|
|
236
|
+
async listKeys() {
|
|
237
|
+
return this.req("GET", "/v1/auth/api-keys");
|
|
238
|
+
}
|
|
239
|
+
/** Revoke an API key */
|
|
240
|
+
async revokeKey(id) {
|
|
241
|
+
await this.req("DELETE", `/v1/auth/api-keys/${id}`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/** Hub management */
|
|
245
|
+
class Hubs {
|
|
246
|
+
req;
|
|
247
|
+
constructor(req) {
|
|
248
|
+
this.req = req;
|
|
249
|
+
}
|
|
250
|
+
/** List all accessible hubs */
|
|
251
|
+
async list() {
|
|
252
|
+
return this.req("GET", "/v1/hubs");
|
|
253
|
+
}
|
|
254
|
+
/** Create a new hub */
|
|
255
|
+
async create(name) {
|
|
256
|
+
return this.req("POST", "/v1/hubs", { body: { name } });
|
|
257
|
+
}
|
|
258
|
+
/** Switch active hub */
|
|
259
|
+
async switch(idOrSlug) {
|
|
260
|
+
return this.req("POST", `/v1/hubs/${idOrSlug}/switch`, { body: {} });
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/** User settings */
|
|
264
|
+
class SettingsResource {
|
|
265
|
+
req;
|
|
266
|
+
constructor(req) {
|
|
267
|
+
this.req = req;
|
|
268
|
+
}
|
|
269
|
+
/** Get user settings */
|
|
270
|
+
async get() {
|
|
271
|
+
return this.req("GET", "/v1/settings");
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Memax, MemaxError } from "./client.js";
|
|
2
|
+
export type { MemaxConfig, AuthProvider, PushOptions, RecallOptions, AskOptions, ListMemoriesOptions, Memory, RecalledMemory, RecallResult, AskResult, ListMemoriesResult, AgentConfig, SyncAction, SyncPlanAction, SyncManifestEntry, ConfigUpsertRequest, ConfigMergeRequest, User, MeResponse, ApiKeyCreateOptions, ApiKey, ApiKeyListItem, Hub, HubWithRole, HubSwitchResult, Settings, Note, RecalledNote, } from "./types.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAEV,WAAW,EACX,YAAY,EAEZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EAEnB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,SAAS,EACT,kBAAkB,EAElB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAElB,IAAI,EACJ,UAAU,EACV,mBAAmB,EACnB,MAAM,EACN,cAAc,EAEd,GAAG,EACH,WAAW,EACX,eAAe,EAEf,QAAQ,EAER,IAAI,EACJ,YAAY,GACb,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// memax-sdk — TypeScript SDK for the Memax API
|
|
3
|
+
// Works in Node.js, Deno, and edge runtimes (uses fetch, not http)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
export { Memax, MemaxError } from "./client.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,mEAAmE;AACnE,gFAAgF;AAEhF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async function that returns authorization headers.
|
|
3
|
+
* Used by CLI and custom integrations that manage their own auth flow.
|
|
4
|
+
*/
|
|
5
|
+
export type AuthProvider = () => Promise<Record<string, string>>;
|
|
6
|
+
export interface MemaxConfig {
|
|
7
|
+
/** API base URL (default: https://api.memax.sh) */
|
|
8
|
+
apiUrl?: string;
|
|
9
|
+
/** Static API key — simplest auth for external developers */
|
|
10
|
+
apiKey?: string;
|
|
11
|
+
/** Dynamic auth provider — for CLI/custom integrations that manage tokens */
|
|
12
|
+
auth?: AuthProvider;
|
|
13
|
+
}
|
|
14
|
+
export interface PushOptions {
|
|
15
|
+
title?: string;
|
|
16
|
+
category?: string;
|
|
17
|
+
tags?: string[];
|
|
18
|
+
source?: string;
|
|
19
|
+
sourcePath?: string;
|
|
20
|
+
contentType?: string;
|
|
21
|
+
projectContext?: Record<string, string>;
|
|
22
|
+
hubId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RecallOptions {
|
|
25
|
+
limit?: number;
|
|
26
|
+
category?: string;
|
|
27
|
+
tags?: string[];
|
|
28
|
+
source?: string;
|
|
29
|
+
includeArchived?: boolean;
|
|
30
|
+
workingDir?: string;
|
|
31
|
+
projectContext?: Record<string, string>;
|
|
32
|
+
hubId?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface AskOptions {
|
|
35
|
+
limit?: number;
|
|
36
|
+
model?: "auto" | "haiku" | "sonnet";
|
|
37
|
+
locale?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface ListMemoriesOptions {
|
|
40
|
+
limit?: number;
|
|
41
|
+
cursor?: string;
|
|
42
|
+
sort?: "newest" | "relevant";
|
|
43
|
+
hubId?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface Memory {
|
|
46
|
+
id: string;
|
|
47
|
+
title: string;
|
|
48
|
+
content: string;
|
|
49
|
+
content_type: string;
|
|
50
|
+
summary: string;
|
|
51
|
+
category: string;
|
|
52
|
+
tags: string[];
|
|
53
|
+
boundary: string;
|
|
54
|
+
state: string;
|
|
55
|
+
source: string;
|
|
56
|
+
source_path: string;
|
|
57
|
+
version: number;
|
|
58
|
+
access_count: number;
|
|
59
|
+
project_context?: Record<string, string>;
|
|
60
|
+
created_at: string;
|
|
61
|
+
updated_at: string;
|
|
62
|
+
}
|
|
63
|
+
export interface RecalledMemory {
|
|
64
|
+
id: string;
|
|
65
|
+
title: string;
|
|
66
|
+
summary?: string;
|
|
67
|
+
chunk_content: string;
|
|
68
|
+
heading_chain: string;
|
|
69
|
+
relevance_score: number;
|
|
70
|
+
category: string;
|
|
71
|
+
source: string;
|
|
72
|
+
age: string;
|
|
73
|
+
hub_id?: string;
|
|
74
|
+
hub_name?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface RecallResult {
|
|
77
|
+
memories: RecalledMemory[];
|
|
78
|
+
query_metadata: {
|
|
79
|
+
intent: string;
|
|
80
|
+
categories_searched?: string[];
|
|
81
|
+
total_candidates: number;
|
|
82
|
+
latency_ms: number;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export interface AskResult {
|
|
86
|
+
answer: string;
|
|
87
|
+
citations: {
|
|
88
|
+
index: number;
|
|
89
|
+
memory_id: string;
|
|
90
|
+
title: string;
|
|
91
|
+
category: string;
|
|
92
|
+
}[];
|
|
93
|
+
sources: RecalledMemory[];
|
|
94
|
+
metadata: {
|
|
95
|
+
model: string;
|
|
96
|
+
answer_tokens: number;
|
|
97
|
+
retrieval_latency_ms: number;
|
|
98
|
+
synthesis_latency_ms: number;
|
|
99
|
+
total_latency_ms: number;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export interface ListMemoriesResult {
|
|
103
|
+
memories: Memory[];
|
|
104
|
+
next_cursor: string;
|
|
105
|
+
has_more: boolean;
|
|
106
|
+
total: number;
|
|
107
|
+
}
|
|
108
|
+
export interface AgentConfig {
|
|
109
|
+
id: string;
|
|
110
|
+
owner_id: string;
|
|
111
|
+
agent: string;
|
|
112
|
+
file_path: string;
|
|
113
|
+
scope: string;
|
|
114
|
+
content: string;
|
|
115
|
+
content_hash: string;
|
|
116
|
+
version: number;
|
|
117
|
+
created_at: string;
|
|
118
|
+
updated_at: string;
|
|
119
|
+
}
|
|
120
|
+
export type SyncAction = "unchanged" | "push" | "pull" | "conflict";
|
|
121
|
+
export interface SyncPlanAction {
|
|
122
|
+
action: SyncAction;
|
|
123
|
+
agent: string;
|
|
124
|
+
file_path: string;
|
|
125
|
+
scope: string;
|
|
126
|
+
reason?: string;
|
|
127
|
+
config_id?: string;
|
|
128
|
+
cloud_hash?: string;
|
|
129
|
+
cloud_updated_at?: string;
|
|
130
|
+
}
|
|
131
|
+
export interface SyncManifestEntry {
|
|
132
|
+
agent: string;
|
|
133
|
+
file_path: string;
|
|
134
|
+
scope: string;
|
|
135
|
+
content_hash: string;
|
|
136
|
+
updated_at: string;
|
|
137
|
+
}
|
|
138
|
+
export interface ConfigUpsertRequest {
|
|
139
|
+
agent: string;
|
|
140
|
+
file_path: string;
|
|
141
|
+
scope: string;
|
|
142
|
+
content: string;
|
|
143
|
+
}
|
|
144
|
+
export interface ConfigMergeRequest {
|
|
145
|
+
local_content: string;
|
|
146
|
+
cloud_content: string;
|
|
147
|
+
file_path: string;
|
|
148
|
+
agent: string;
|
|
149
|
+
}
|
|
150
|
+
export interface User {
|
|
151
|
+
name: string;
|
|
152
|
+
email: string;
|
|
153
|
+
plan: string;
|
|
154
|
+
display_name?: string;
|
|
155
|
+
}
|
|
156
|
+
export interface MeResponse {
|
|
157
|
+
user: User;
|
|
158
|
+
hubs?: Array<{
|
|
159
|
+
hub: {
|
|
160
|
+
id: string;
|
|
161
|
+
name: string;
|
|
162
|
+
hub_type: string;
|
|
163
|
+
};
|
|
164
|
+
role: string;
|
|
165
|
+
}>;
|
|
166
|
+
active_hub_id?: string;
|
|
167
|
+
usage?: {
|
|
168
|
+
push_count: number;
|
|
169
|
+
recall_count: number;
|
|
170
|
+
ask_count: number;
|
|
171
|
+
period_start: string;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export interface ApiKeyCreateOptions {
|
|
175
|
+
name: string;
|
|
176
|
+
hubId?: string;
|
|
177
|
+
expiresInDays?: number;
|
|
178
|
+
}
|
|
179
|
+
export interface ApiKey {
|
|
180
|
+
id: string;
|
|
181
|
+
name: string;
|
|
182
|
+
key: string;
|
|
183
|
+
prefix: string;
|
|
184
|
+
scope: string;
|
|
185
|
+
hub_id: string | null;
|
|
186
|
+
expires_at: string | null;
|
|
187
|
+
created_at: string;
|
|
188
|
+
}
|
|
189
|
+
export interface ApiKeyListItem {
|
|
190
|
+
id: string;
|
|
191
|
+
name: string;
|
|
192
|
+
prefix: string;
|
|
193
|
+
scopes: string[];
|
|
194
|
+
scope: string;
|
|
195
|
+
hub_id: string | null;
|
|
196
|
+
agent_name?: string;
|
|
197
|
+
expires_at: string | null;
|
|
198
|
+
last_used: string | null;
|
|
199
|
+
created_at: string;
|
|
200
|
+
}
|
|
201
|
+
export interface Hub {
|
|
202
|
+
id: string;
|
|
203
|
+
name: string;
|
|
204
|
+
slug: string;
|
|
205
|
+
hub_type: string;
|
|
206
|
+
owner_id: string;
|
|
207
|
+
}
|
|
208
|
+
export interface HubWithRole {
|
|
209
|
+
hub: Hub;
|
|
210
|
+
role: string;
|
|
211
|
+
}
|
|
212
|
+
export interface HubSwitchResult {
|
|
213
|
+
active_hub_id: string;
|
|
214
|
+
hub: Hub;
|
|
215
|
+
}
|
|
216
|
+
export interface Settings {
|
|
217
|
+
active_hub_id?: string;
|
|
218
|
+
[key: string]: unknown;
|
|
219
|
+
}
|
|
220
|
+
/** @deprecated Use Memory instead */
|
|
221
|
+
export type Note = Memory;
|
|
222
|
+
/** @deprecated Use RecalledMemory instead */
|
|
223
|
+
export type RecalledNote = RecalledMemory;
|
|
224
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iDAAiD;AACjD,gFAAgF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "memax-sdk",
|
|
3
|
+
"publishConfig": {
|
|
4
|
+
"access": "public"
|
|
5
|
+
},
|
|
6
|
+
"version": "0.1.0-alpha.1",
|
|
7
|
+
"description": "TypeScript SDK for the Memax API",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/node": "^25.5.0",
|
|
22
|
+
"typescript": "^5.8.0",
|
|
23
|
+
"vitest": "^3.0.0"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"memax",
|
|
27
|
+
"sdk",
|
|
28
|
+
"ai",
|
|
29
|
+
"memory",
|
|
30
|
+
"context"
|
|
31
|
+
],
|
|
32
|
+
"license": "UNLICENSED",
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc",
|
|
35
|
+
"dev": "tsc --watch",
|
|
36
|
+
"lint": "tsc --noEmit",
|
|
37
|
+
"test": "vitest run --passWithNoTests",
|
|
38
|
+
"clean": "rm -rf dist"
|
|
39
|
+
}
|
|
40
|
+
}
|