@memoryengine/client 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.
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +213 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/auth.d.ts +69 -0
- package/dist/schemas/auth.d.ts.map +1 -0
- package/dist/schemas/auth.js +55 -0
- package/dist/schemas/auth.js.map +1 -0
- package/dist/schemas/engram.d.ts +141 -0
- package/dist/schemas/engram.d.ts.map +1 -0
- package/dist/schemas/engram.js +140 -0
- package/dist/schemas/engram.js.map +1 -0
- package/dist/schemas/fields.d.ts +18 -0
- package/dist/schemas/fields.d.ts.map +1 -0
- package/dist/schemas/fields.js +28 -0
- package/dist/schemas/fields.js.map +1 -0
- package/dist/schemas/index.d.ts +9 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +14 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/principal.d.ts +150 -0
- package/dist/schemas/principal.d.ts.map +1 -0
- package/dist/schemas/principal.js +119 -0
- package/dist/schemas/principal.js.map +1 -0
- package/dist/schemas/rpc.d.ts +1312 -0
- package/dist/schemas/rpc.d.ts.map +1 -0
- package/dist/schemas/rpc.js +137 -0
- package/dist/schemas/rpc.js.map +1 -0
- package/package.json +38 -0
- package/src/index.ts +415 -0
- package/src/schemas/auth.ts +79 -0
- package/src/schemas/engram.test.ts +59 -0
- package/src/schemas/engram.ts +194 -0
- package/src/schemas/fields.test.ts +38 -0
- package/src/schemas/fields.ts +35 -0
- package/src/schemas/index.ts +15 -0
- package/src/schemas/principal.ts +178 -0
- package/src/schemas/rpc.ts +291 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client library for the me JSON-RPC API
|
|
3
|
+
* HTTP-based client with full type inference
|
|
4
|
+
*/
|
|
5
|
+
import { type RpcInput, type RpcMethodName, type RpcOutput } from "./schemas";
|
|
6
|
+
type EngramNamespace = {
|
|
7
|
+
create: (params: RpcInput<"engram.create">) => Promise<RpcOutput<"engram.create">>;
|
|
8
|
+
get: (params: RpcInput<"engram.get">) => Promise<RpcOutput<"engram.get">>;
|
|
9
|
+
search: (params: RpcInput<"engram.search">) => Promise<RpcOutput<"engram.search">>;
|
|
10
|
+
update: (params: RpcInput<"engram.update">) => Promise<RpcOutput<"engram.update">>;
|
|
11
|
+
delete: (params: RpcInput<"engram.delete">) => Promise<RpcOutput<"engram.delete">>;
|
|
12
|
+
batchCreate: (params: RpcInput<"engram.batchCreate">) => Promise<RpcOutput<"engram.batchCreate">>;
|
|
13
|
+
mv: (params: RpcInput<"engram.mv">) => Promise<RpcOutput<"engram.mv">>;
|
|
14
|
+
};
|
|
15
|
+
type AuthNamespace = {
|
|
16
|
+
login: (params: RpcInput<"auth.login">) => Promise<RpcOutput<"auth.login">>;
|
|
17
|
+
whoami: () => Promise<RpcOutput<"auth.whoami">>;
|
|
18
|
+
createApiKey: (params: RpcInput<"auth.createApiKey">) => Promise<RpcOutput<"auth.createApiKey">>;
|
|
19
|
+
listApiKeys: () => Promise<RpcOutput<"auth.listApiKeys">>;
|
|
20
|
+
revokeApiKey: (params: RpcInput<"auth.revokeApiKey">) => Promise<RpcOutput<"auth.revokeApiKey">>;
|
|
21
|
+
};
|
|
22
|
+
type PrincipalNamespace = {
|
|
23
|
+
list: () => Promise<RpcOutput<"principal.list">>;
|
|
24
|
+
get: (params: RpcInput<"principal.get">) => Promise<RpcOutput<"principal.get">>;
|
|
25
|
+
create: (params: RpcInput<"principal.create">) => Promise<RpcOutput<"principal.create">>;
|
|
26
|
+
delete: (params: RpcInput<"principal.delete">) => Promise<RpcOutput<"principal.delete">>;
|
|
27
|
+
setPassword: (params: RpcInput<"principal.setPassword">) => Promise<RpcOutput<"principal.setPassword">>;
|
|
28
|
+
};
|
|
29
|
+
type GrantNamespace = {
|
|
30
|
+
create: (params: RpcInput<"grant.create">) => Promise<RpcOutput<"grant.create">>;
|
|
31
|
+
revoke: (params: RpcInput<"grant.revoke">) => Promise<RpcOutput<"grant.revoke">>;
|
|
32
|
+
list: (params?: RpcInput<"grant.list">) => Promise<RpcOutput<"grant.list">>;
|
|
33
|
+
check: (params: RpcInput<"grant.check">) => Promise<RpcOutput<"grant.check">>;
|
|
34
|
+
};
|
|
35
|
+
type OwnerNamespace = {
|
|
36
|
+
set: (params: RpcInput<"owner.set">) => Promise<RpcOutput<"owner.set">>;
|
|
37
|
+
remove: (params: RpcInput<"owner.remove">) => Promise<RpcOutput<"owner.remove">>;
|
|
38
|
+
get: (params: RpcInput<"owner.get">) => Promise<RpcOutput<"owner.get">>;
|
|
39
|
+
list: (params?: RpcInput<"owner.list">) => Promise<RpcOutput<"owner.list">>;
|
|
40
|
+
};
|
|
41
|
+
type RoleNamespace = {
|
|
42
|
+
addMember: (params: RpcInput<"role.addMember">) => Promise<RpcOutput<"role.addMember">>;
|
|
43
|
+
removeMember: (params: RpcInput<"role.removeMember">) => Promise<RpcOutput<"role.removeMember">>;
|
|
44
|
+
listMembers: (params: RpcInput<"role.listMembers">) => Promise<RpcOutput<"role.listMembers">>;
|
|
45
|
+
listForPrincipal: (params?: RpcInput<"role.listForPrincipal">) => Promise<RpcOutput<"role.listForPrincipal">>;
|
|
46
|
+
};
|
|
47
|
+
export interface MeClientOptions {
|
|
48
|
+
server?: string;
|
|
49
|
+
apiKey?: string;
|
|
50
|
+
timeout?: number;
|
|
51
|
+
retries?: number;
|
|
52
|
+
}
|
|
53
|
+
export declare function createClient(options?: MeClientOptions): {
|
|
54
|
+
call: <M extends RpcMethodName>(method: M, ...args: RpcInput<M> extends Record<string, never> ? [] : [params: RpcInput<M>]) => Promise<RpcOutput<M>>;
|
|
55
|
+
callRaw: <T>(method: string, params?: unknown) => Promise<T>;
|
|
56
|
+
batch: <T extends unknown[]>(requests: {
|
|
57
|
+
method: string;
|
|
58
|
+
params?: unknown;
|
|
59
|
+
}[]) => Promise<T>;
|
|
60
|
+
setApiKey: (key: string | undefined) => void;
|
|
61
|
+
getApiKey: () => string | undefined;
|
|
62
|
+
engram: EngramNamespace;
|
|
63
|
+
auth: AuthNamespace;
|
|
64
|
+
principal: PrincipalNamespace;
|
|
65
|
+
grant: GrantNamespace;
|
|
66
|
+
owner: OwnerNamespace;
|
|
67
|
+
role: RoleNamespace;
|
|
68
|
+
};
|
|
69
|
+
export type MeClient = ReturnType<typeof createClient>;
|
|
70
|
+
export type { ApiKey, CreateApiKeyResult, CreateEngramParams, CreatePrincipalParams, Engram, EngramWithScore, LoginResult, MvEngramParams, MvEngramResult, Principal, PrincipalDetail, PrincipalListItem, PrincipalRole, RoleMember, RpcInput, RpcMethodName, RpcOutput, SearchEngramParams, SearchEngramResult, TreeGrant, TreeOwner, UpdateEngramParams, Whoami, } from "./schemas";
|
|
71
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client library for the me JSON-RPC API
|
|
3
|
+
* HTTP-based client with full type inference
|
|
4
|
+
*/
|
|
5
|
+
import { getOutputSchema, } from "./schemas";
|
|
6
|
+
function sleep(ms) {
|
|
7
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
8
|
+
}
|
|
9
|
+
const RETRYABLE_STATUS_CODES = new Set([429, 500, 502, 503, 504]);
|
|
10
|
+
const MAX_RETRY_DELAY = 30_000;
|
|
11
|
+
const BASE_DELAY = 500;
|
|
12
|
+
export function createClient(options = {}) {
|
|
13
|
+
const server = options.server ?? "http://localhost:3000";
|
|
14
|
+
const timeout = options.timeout ?? 30000;
|
|
15
|
+
const maxRetries = options.retries ?? 3;
|
|
16
|
+
let apiKey = options.apiKey;
|
|
17
|
+
let requestId = 0;
|
|
18
|
+
const rpcUrl = `${server}/rpc`;
|
|
19
|
+
function setApiKey(key) {
|
|
20
|
+
apiKey = key;
|
|
21
|
+
}
|
|
22
|
+
function getApiKey() {
|
|
23
|
+
return apiKey;
|
|
24
|
+
}
|
|
25
|
+
async function fetchRpc(body, label) {
|
|
26
|
+
for (let attempt = 0;; attempt++) {
|
|
27
|
+
const controller = new AbortController();
|
|
28
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
29
|
+
try {
|
|
30
|
+
const headers = {
|
|
31
|
+
"Content-Type": "application/json",
|
|
32
|
+
};
|
|
33
|
+
if (apiKey) {
|
|
34
|
+
headers.Authorization = `Bearer ${apiKey}`;
|
|
35
|
+
}
|
|
36
|
+
const res = await fetch(rpcUrl, {
|
|
37
|
+
method: "POST",
|
|
38
|
+
headers,
|
|
39
|
+
body: JSON.stringify(body),
|
|
40
|
+
signal: controller.signal,
|
|
41
|
+
});
|
|
42
|
+
if (!res.ok) {
|
|
43
|
+
if (attempt < maxRetries && RETRYABLE_STATUS_CODES.has(res.status)) {
|
|
44
|
+
const retryAfter = res.headers.get("Retry-After");
|
|
45
|
+
const delayMs = retryAfter
|
|
46
|
+
? Math.min(Number(retryAfter) * 1000, MAX_RETRY_DELAY)
|
|
47
|
+
: Math.min(BASE_DELAY * 2 ** attempt + Math.random() * BASE_DELAY, MAX_RETRY_DELAY);
|
|
48
|
+
await sleep(delayMs);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
throw new Error(`HTTP error: ${res.status} ${res.statusText}`);
|
|
52
|
+
}
|
|
53
|
+
return (await res.json());
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
57
|
+
if (attempt < maxRetries) {
|
|
58
|
+
const delayMs = Math.min(BASE_DELAY * 2 ** attempt + Math.random() * BASE_DELAY, MAX_RETRY_DELAY);
|
|
59
|
+
await sleep(delayMs);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
throw new Error(`Request timeout: ${label}`);
|
|
63
|
+
}
|
|
64
|
+
// Retry on network errors (TypeError from fetch)
|
|
65
|
+
if (error instanceof TypeError && attempt < maxRetries) {
|
|
66
|
+
const delayMs = Math.min(BASE_DELAY * 2 ** attempt + Math.random() * BASE_DELAY, MAX_RETRY_DELAY);
|
|
67
|
+
await sleep(delayMs);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
clearTimeout(timeoutId);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function call(method, ...args) {
|
|
78
|
+
const request = {
|
|
79
|
+
jsonrpc: "2.0",
|
|
80
|
+
method,
|
|
81
|
+
params: args[0],
|
|
82
|
+
id: ++requestId,
|
|
83
|
+
};
|
|
84
|
+
const response = await fetchRpc(request, method);
|
|
85
|
+
if (response.error) {
|
|
86
|
+
throw Object.assign(new Error(response.error.message), {
|
|
87
|
+
code: response.error.code,
|
|
88
|
+
data: response.error.data,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
const schema = getOutputSchema(method);
|
|
92
|
+
if (schema) {
|
|
93
|
+
const parsed = schema.safeParse(response.result);
|
|
94
|
+
if (!parsed.success) {
|
|
95
|
+
throw new Error(`Invalid response for ${method}: ${parsed.error.message}`);
|
|
96
|
+
}
|
|
97
|
+
return parsed.data;
|
|
98
|
+
}
|
|
99
|
+
return response.result;
|
|
100
|
+
}
|
|
101
|
+
async function callRaw(method, params) {
|
|
102
|
+
const request = {
|
|
103
|
+
jsonrpc: "2.0",
|
|
104
|
+
method,
|
|
105
|
+
params,
|
|
106
|
+
id: ++requestId,
|
|
107
|
+
};
|
|
108
|
+
const response = await fetchRpc(request, method);
|
|
109
|
+
if (response.error) {
|
|
110
|
+
throw Object.assign(new Error(response.error.message), {
|
|
111
|
+
code: response.error.code,
|
|
112
|
+
data: response.error.data,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return response.result;
|
|
116
|
+
}
|
|
117
|
+
async function batch(requests) {
|
|
118
|
+
if (requests.length === 0) {
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
const batchRequests = requests.map((req) => ({
|
|
122
|
+
jsonrpc: "2.0",
|
|
123
|
+
method: req.method,
|
|
124
|
+
params: req.params,
|
|
125
|
+
id: ++requestId,
|
|
126
|
+
}));
|
|
127
|
+
const idToIndex = new Map();
|
|
128
|
+
batchRequests.forEach((req, index) => {
|
|
129
|
+
idToIndex.set(req.id, index);
|
|
130
|
+
});
|
|
131
|
+
const responses = await fetchRpc(batchRequests, "batch");
|
|
132
|
+
const results = new Array(requests.length);
|
|
133
|
+
for (const response of responses) {
|
|
134
|
+
if (response.id == null)
|
|
135
|
+
continue;
|
|
136
|
+
const index = idToIndex.get(response.id);
|
|
137
|
+
if (index !== undefined) {
|
|
138
|
+
if (response.error) {
|
|
139
|
+
results[index] = Object.assign(new Error(response.error.message), {
|
|
140
|
+
code: response.error.code,
|
|
141
|
+
data: response.error.data,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
results[index] = response.result;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Fill any missing responses (sparse array holes) with errors
|
|
150
|
+
for (let i = 0; i < results.length; i++) {
|
|
151
|
+
if (results[i] === undefined) {
|
|
152
|
+
results[i] = new Error("No response received for batch request");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return results;
|
|
156
|
+
}
|
|
157
|
+
// Build namespace objects
|
|
158
|
+
const engram = {
|
|
159
|
+
create: (params) => call("engram.create", params),
|
|
160
|
+
get: (params) => call("engram.get", params),
|
|
161
|
+
search: (params) => call("engram.search", params),
|
|
162
|
+
update: (params) => call("engram.update", params),
|
|
163
|
+
delete: (params) => call("engram.delete", params),
|
|
164
|
+
batchCreate: (params) => call("engram.batchCreate", params),
|
|
165
|
+
mv: (params) => call("engram.mv", params),
|
|
166
|
+
};
|
|
167
|
+
const auth = {
|
|
168
|
+
login: (params) => call("auth.login", params),
|
|
169
|
+
whoami: () => call("auth.whoami"),
|
|
170
|
+
createApiKey: (params) => call("auth.createApiKey", params),
|
|
171
|
+
listApiKeys: () => call("auth.listApiKeys"),
|
|
172
|
+
revokeApiKey: (params) => call("auth.revokeApiKey", params),
|
|
173
|
+
};
|
|
174
|
+
const principal = {
|
|
175
|
+
list: () => call("principal.list"),
|
|
176
|
+
get: (params) => call("principal.get", params),
|
|
177
|
+
create: (params) => call("principal.create", params),
|
|
178
|
+
delete: (params) => call("principal.delete", params),
|
|
179
|
+
setPassword: (params) => call("principal.setPassword", params),
|
|
180
|
+
};
|
|
181
|
+
const grant = {
|
|
182
|
+
create: (params) => call("grant.create", params),
|
|
183
|
+
revoke: (params) => call("grant.revoke", params),
|
|
184
|
+
list: (params) => call("grant.list", params ?? {}),
|
|
185
|
+
check: (params) => call("grant.check", params),
|
|
186
|
+
};
|
|
187
|
+
const owner = {
|
|
188
|
+
set: (params) => call("owner.set", params),
|
|
189
|
+
remove: (params) => call("owner.remove", params),
|
|
190
|
+
get: (params) => call("owner.get", params),
|
|
191
|
+
list: (params) => call("owner.list", params ?? {}),
|
|
192
|
+
};
|
|
193
|
+
const role = {
|
|
194
|
+
addMember: (params) => call("role.addMember", params),
|
|
195
|
+
removeMember: (params) => call("role.removeMember", params),
|
|
196
|
+
listMembers: (params) => call("role.listMembers", params),
|
|
197
|
+
listForPrincipal: (params) => call("role.listForPrincipal", params ?? {}),
|
|
198
|
+
};
|
|
199
|
+
return {
|
|
200
|
+
call,
|
|
201
|
+
callRaw,
|
|
202
|
+
batch,
|
|
203
|
+
setApiKey,
|
|
204
|
+
getApiKey,
|
|
205
|
+
engram,
|
|
206
|
+
auth,
|
|
207
|
+
principal,
|
|
208
|
+
grant,
|
|
209
|
+
owner,
|
|
210
|
+
role,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth schemas - shared between server and client
|
|
3
|
+
*/
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
export declare const registerSchema: z.ZodObject<{
|
|
6
|
+
email: z.ZodEmail;
|
|
7
|
+
password: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const loginSchema: z.ZodObject<{
|
|
11
|
+
identifier: z.ZodString;
|
|
12
|
+
password: z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const createApiKeySchema: z.ZodObject<{
|
|
15
|
+
name: z.ZodString;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const revokeApiKeySchema: z.ZodObject<{
|
|
18
|
+
keyId: z.ZodString;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export declare const principalSchema: z.ZodObject<{
|
|
21
|
+
id: z.ZodUUID;
|
|
22
|
+
email: z.ZodNullable<z.ZodEmail>;
|
|
23
|
+
name: z.ZodString;
|
|
24
|
+
superuser: z.ZodBoolean;
|
|
25
|
+
createrole: z.ZodBoolean;
|
|
26
|
+
can_login: z.ZodBoolean;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const loginResultSchema: z.ZodObject<{
|
|
29
|
+
key: z.ZodString;
|
|
30
|
+
principal: z.ZodObject<{
|
|
31
|
+
id: z.ZodUUID;
|
|
32
|
+
email: z.ZodNullable<z.ZodEmail>;
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
superuser: z.ZodBoolean;
|
|
35
|
+
createrole: z.ZodBoolean;
|
|
36
|
+
can_login: z.ZodBoolean;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export declare const whoamiSchema: z.ZodObject<{
|
|
40
|
+
principalId: z.ZodUUID;
|
|
41
|
+
name: z.ZodString;
|
|
42
|
+
email: z.ZodNullable<z.ZodEmail>;
|
|
43
|
+
superuser: z.ZodBoolean;
|
|
44
|
+
createrole: z.ZodBoolean;
|
|
45
|
+
can_login: z.ZodBoolean;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export declare const apiKeySchema: z.ZodObject<{
|
|
48
|
+
id: z.ZodString;
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
expires_at: z.ZodString;
|
|
51
|
+
created_at: z.ZodString;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export declare const createApiKeyResultSchema: z.ZodObject<{
|
|
54
|
+
key: z.ZodString;
|
|
55
|
+
id: z.ZodString;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
export declare const successSchema: z.ZodObject<{
|
|
58
|
+
success: z.ZodLiteral<true>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
export type LoginParams = z.infer<typeof loginSchema>;
|
|
61
|
+
export type CreateApiKeyParams = z.infer<typeof createApiKeySchema>;
|
|
62
|
+
export type RevokeApiKeyParams = z.infer<typeof revokeApiKeySchema>;
|
|
63
|
+
export type Principal = z.infer<typeof principalSchema>;
|
|
64
|
+
export type LoginResult = z.infer<typeof loginResultSchema>;
|
|
65
|
+
export type Whoami = z.infer<typeof whoamiSchema>;
|
|
66
|
+
export type ApiKey = z.infer<typeof apiKeySchema>;
|
|
67
|
+
export type CreateApiKeyResult = z.infer<typeof createApiKeyResultSchema>;
|
|
68
|
+
export type Success = z.infer<typeof successSchema>;
|
|
69
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/schemas/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,eAAO,MAAM,WAAW;;;iBAGtB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAIH,eAAO,MAAM,eAAe;;;;;;;iBAO1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;iBAOvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AAEH,eAAO,MAAM,aAAa;;iBAExB,CAAC;AAIH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth schemas - shared between server and client
|
|
3
|
+
*/
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
// ===== Input Schemas =====
|
|
6
|
+
export const registerSchema = z.object({
|
|
7
|
+
email: z.email(),
|
|
8
|
+
password: z.string().min(8),
|
|
9
|
+
name: z.string().min(1),
|
|
10
|
+
});
|
|
11
|
+
export const loginSchema = z.object({
|
|
12
|
+
identifier: z.string().min(1),
|
|
13
|
+
password: z.string(),
|
|
14
|
+
});
|
|
15
|
+
export const createApiKeySchema = z.object({
|
|
16
|
+
name: z.string().min(1),
|
|
17
|
+
});
|
|
18
|
+
export const revokeApiKeySchema = z.object({
|
|
19
|
+
keyId: z.string(),
|
|
20
|
+
});
|
|
21
|
+
// ===== Output Schemas =====
|
|
22
|
+
export const principalSchema = z.object({
|
|
23
|
+
id: z.uuidv7(),
|
|
24
|
+
email: z.email().nullable(),
|
|
25
|
+
name: z.string(),
|
|
26
|
+
superuser: z.boolean(),
|
|
27
|
+
createrole: z.boolean(),
|
|
28
|
+
can_login: z.boolean(),
|
|
29
|
+
});
|
|
30
|
+
export const loginResultSchema = z.object({
|
|
31
|
+
key: z.string(),
|
|
32
|
+
principal: principalSchema,
|
|
33
|
+
});
|
|
34
|
+
export const whoamiSchema = z.object({
|
|
35
|
+
principalId: z.uuidv7(),
|
|
36
|
+
name: z.string(),
|
|
37
|
+
email: z.email().nullable(),
|
|
38
|
+
superuser: z.boolean(),
|
|
39
|
+
createrole: z.boolean(),
|
|
40
|
+
can_login: z.boolean(),
|
|
41
|
+
});
|
|
42
|
+
export const apiKeySchema = z.object({
|
|
43
|
+
id: z.string(),
|
|
44
|
+
name: z.string(),
|
|
45
|
+
expires_at: z.string(),
|
|
46
|
+
created_at: z.string(),
|
|
47
|
+
});
|
|
48
|
+
export const createApiKeyResultSchema = z.object({
|
|
49
|
+
key: z.string(),
|
|
50
|
+
id: z.string(),
|
|
51
|
+
});
|
|
52
|
+
export const successSchema = z.object({
|
|
53
|
+
success: z.literal(true),
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/schemas/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4BAA4B;AAE5B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,6BAA6B;AAE7B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,eAAe;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engram schemas - shared between server and client
|
|
3
|
+
*
|
|
4
|
+
* Server: imports schemas for validation
|
|
5
|
+
* Client: imports inferred types for type safety
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
export declare const temporalSchema: z.ZodObject<{
|
|
9
|
+
start: z.ZodString;
|
|
10
|
+
end: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export declare const temporalQuerySchema: z.ZodObject<{
|
|
13
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
14
|
+
overlaps: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
15
|
+
within: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const createEngramSchema: z.ZodObject<{
|
|
18
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
19
|
+
content: z.ZodString;
|
|
20
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
21
|
+
tree: z.ZodOptional<z.ZodString>;
|
|
22
|
+
temporal: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
start: z.ZodString;
|
|
24
|
+
end: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export declare const batchCreateEngramSchema: z.ZodObject<{
|
|
28
|
+
engrams: z.ZodArray<z.ZodObject<{
|
|
29
|
+
id: z.ZodOptional<z.ZodUUID>;
|
|
30
|
+
content: z.ZodString;
|
|
31
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
32
|
+
tree: z.ZodOptional<z.ZodString>;
|
|
33
|
+
temporal: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
start: z.ZodString;
|
|
35
|
+
end: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
}, z.core.$strip>>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export declare const updateEngramSchema: z.ZodObject<{
|
|
40
|
+
id: z.ZodUUID;
|
|
41
|
+
content: z.ZodOptional<z.ZodString>;
|
|
42
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
43
|
+
tree: z.ZodOptional<z.ZodString>;
|
|
44
|
+
temporal: z.ZodOptional<z.ZodObject<{
|
|
45
|
+
start: z.ZodString;
|
|
46
|
+
end: z.ZodOptional<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export declare const getEngramSchema: z.ZodObject<{
|
|
50
|
+
id: z.ZodUUID;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
export declare const deleteEngramSchema: z.ZodObject<{
|
|
53
|
+
id: z.ZodUUID;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export declare const mvEngramSchema: z.ZodObject<{
|
|
56
|
+
source: z.ZodString;
|
|
57
|
+
destination: z.ZodString;
|
|
58
|
+
dry_run: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
export declare const mvEngramResultSchema: z.ZodObject<{
|
|
61
|
+
moved: z.ZodNumber;
|
|
62
|
+
source: z.ZodString;
|
|
63
|
+
destination: z.ZodString;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
export declare const searchEngramSchema: z.ZodObject<{
|
|
66
|
+
semantic: z.ZodOptional<z.ZodString>;
|
|
67
|
+
fulltext: z.ZodOptional<z.ZodString>;
|
|
68
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
69
|
+
tree: z.ZodOptional<z.ZodString>;
|
|
70
|
+
temporal: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
72
|
+
overlaps: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
73
|
+
within: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
76
|
+
candidateLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
77
|
+
hybrid: z.ZodOptional<z.ZodObject<{
|
|
78
|
+
weights: z.ZodOptional<z.ZodObject<{
|
|
79
|
+
fulltext: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
semantic: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
export declare const engramSchema: z.ZodObject<{
|
|
85
|
+
id: z.ZodUUID;
|
|
86
|
+
content: z.ZodString;
|
|
87
|
+
meta: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
88
|
+
tree: z.ZodString;
|
|
89
|
+
temporal: z.ZodNullable<z.ZodString>;
|
|
90
|
+
has_embedding: z.ZodOptional<z.ZodBoolean>;
|
|
91
|
+
created_at: z.ZodString;
|
|
92
|
+
updated_at: z.ZodNullable<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export declare const engramWithScoreSchema: z.ZodObject<{
|
|
95
|
+
id: z.ZodUUID;
|
|
96
|
+
content: z.ZodString;
|
|
97
|
+
meta: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
98
|
+
tree: z.ZodString;
|
|
99
|
+
temporal: z.ZodNullable<z.ZodString>;
|
|
100
|
+
has_embedding: z.ZodOptional<z.ZodBoolean>;
|
|
101
|
+
created_at: z.ZodString;
|
|
102
|
+
updated_at: z.ZodNullable<z.ZodString>;
|
|
103
|
+
score: z.ZodNumber;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
export declare const searchEngramResultSchema: z.ZodObject<{
|
|
106
|
+
results: z.ZodArray<z.ZodObject<{
|
|
107
|
+
id: z.ZodUUID;
|
|
108
|
+
content: z.ZodString;
|
|
109
|
+
meta: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
110
|
+
tree: z.ZodString;
|
|
111
|
+
temporal: z.ZodNullable<z.ZodString>;
|
|
112
|
+
has_embedding: z.ZodOptional<z.ZodBoolean>;
|
|
113
|
+
created_at: z.ZodString;
|
|
114
|
+
updated_at: z.ZodNullable<z.ZodString>;
|
|
115
|
+
score: z.ZodNumber;
|
|
116
|
+
}, z.core.$strip>>;
|
|
117
|
+
total: z.ZodNumber;
|
|
118
|
+
limit: z.ZodNumber;
|
|
119
|
+
}, z.core.$strip>;
|
|
120
|
+
export declare const batchCreateResultSchema: z.ZodObject<{
|
|
121
|
+
ids: z.ZodArray<z.ZodUUID>;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
export declare const deleteResultSchema: z.ZodObject<{
|
|
124
|
+
success: z.ZodLiteral<true>;
|
|
125
|
+
}, z.core.$strip>;
|
|
126
|
+
export type Temporal = z.infer<typeof temporalSchema>;
|
|
127
|
+
export type TemporalQuery = z.infer<typeof temporalQuerySchema>;
|
|
128
|
+
export type CreateEngramParams = z.infer<typeof createEngramSchema>;
|
|
129
|
+
export type BatchCreateEngramParams = z.infer<typeof batchCreateEngramSchema>;
|
|
130
|
+
export type UpdateEngramParams = z.infer<typeof updateEngramSchema>;
|
|
131
|
+
export type GetEngramParams = z.infer<typeof getEngramSchema>;
|
|
132
|
+
export type DeleteEngramParams = z.infer<typeof deleteEngramSchema>;
|
|
133
|
+
export type SearchEngramParams = z.infer<typeof searchEngramSchema>;
|
|
134
|
+
export type Engram = z.infer<typeof engramSchema>;
|
|
135
|
+
export type EngramWithScore = z.infer<typeof engramWithScoreSchema>;
|
|
136
|
+
export type SearchEngramResult = z.infer<typeof searchEngramResultSchema>;
|
|
137
|
+
export type BatchCreateResult = z.infer<typeof batchCreateResultSchema>;
|
|
138
|
+
export type DeleteResult = z.infer<typeof deleteResultSchema>;
|
|
139
|
+
export type MvEngramParams = z.infer<typeof mvEngramSchema>;
|
|
140
|
+
export type MvEngramResult = z.infer<typeof mvEngramResultSchema>;
|
|
141
|
+
//# sourceMappingURL=engram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engram.d.ts","sourceRoot":"","sources":["../../src/schemas/engram.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,cAAc;;;iBAQa,CAAC;AAEzC,eAAO,MAAM,mBAAmB;;;;iBA2BS,CAAC;AAE1C,eAAO,MAAM,kBAAkB;;;;;;;;;iBAU7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAElC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;iBAM7B,CAAC;AAEH,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBA0C5B,CAAC;AAIJ,eAAO,MAAM,YAAY;;;;;;;;;iBASvB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAEhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAInC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAIH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|