@lians-ai/lians 0.3.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,33 @@
1
+ /**
2
+ * LangChain.js integration for AgentMem.
3
+ *
4
+ * Install the optional peer dep first:
5
+ * npm install @langchain/core
6
+ *
7
+ * @example
8
+ * import { LiansClient } from "@lians-ai/lians";
9
+ * import { createRecallTool, createRememberTool } from "lians/langchain";
10
+ *
11
+ * const client = new LiansClient({ baseUrl: "...", apiKey: "..." });
12
+ * const tools = [createRecallTool(client, "equity-desk"), createRememberTool(client, "equity-desk")];
13
+ */
14
+ import type { LiansClient } from "./client.js";
15
+ type DynamicTool = {
16
+ name: string;
17
+ description: string;
18
+ func: (input: string) => Promise<string>;
19
+ };
20
+ /**
21
+ * Returns a LangChain DynamicTool that recalls memories by semantic search.
22
+ * The tool accepts a plain-text query string and returns formatted results.
23
+ */
24
+ export declare function createRecallTool(client: LiansClient, agentId: string, opts?: {
25
+ k?: number;
26
+ }): Promise<DynamicTool>;
27
+ /**
28
+ * Returns a LangChain DynamicTool that stores a memory.
29
+ * The tool accepts a plain-text string describing the fact to remember.
30
+ */
31
+ export declare function createRememberTool(client: LiansClient, agentId: string): Promise<DynamicTool>;
32
+ export {};
33
+ //# sourceMappingURL=langchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../src/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAenG;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAA;CAAO,GACxB,OAAO,CAAC,WAAW,CAAC,CAetB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAiBtB"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ /**
3
+ * LangChain.js integration for AgentMem.
4
+ *
5
+ * Install the optional peer dep first:
6
+ * npm install @langchain/core
7
+ *
8
+ * @example
9
+ * import { LiansClient } from "@lians-ai/lians";
10
+ * import { createRecallTool, createRememberTool } from "lians/langchain";
11
+ *
12
+ * const client = new LiansClient({ baseUrl: "...", apiKey: "..." });
13
+ * const tools = [createRecallTool(client, "equity-desk"), createRememberTool(client, "equity-desk")];
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.createRecallTool = createRecallTool;
50
+ exports.createRememberTool = createRememberTool;
51
+ async function getDynamicTool() {
52
+ try {
53
+ const mod = await Promise.resolve().then(() => __importStar(require("@langchain/core/tools")));
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ return mod.DynamicTool;
56
+ }
57
+ catch {
58
+ throw new Error("lians: @langchain/core is not installed. " +
59
+ "Run `npm install @langchain/core` to use LangChain integration.");
60
+ }
61
+ }
62
+ /**
63
+ * Returns a LangChain DynamicTool that recalls memories by semantic search.
64
+ * The tool accepts a plain-text query string and returns formatted results.
65
+ */
66
+ async function createRecallTool(client, agentId, opts = {}) {
67
+ const DynamicTool = await getDynamicTool();
68
+ return new DynamicTool({
69
+ name: "recall_memory",
70
+ description: "Retrieve relevant memories for a query. Input: a natural-language question. " +
71
+ "Returns current valid facts — superseded facts are excluded automatically.",
72
+ func: async (query) => {
73
+ const result = await client.recall({ agent_id: agentId, query, k: opts.k ?? 5 });
74
+ if (!result.memories.length)
75
+ return "No relevant memories found.";
76
+ return result.memories
77
+ .map((m) => `[${(m.event_time ?? "").slice(0, 10)}] ${m.content ?? "[erased]"}`)
78
+ .join("\n");
79
+ },
80
+ });
81
+ }
82
+ /**
83
+ * Returns a LangChain DynamicTool that stores a memory.
84
+ * The tool accepts a plain-text string describing the fact to remember.
85
+ */
86
+ async function createRememberTool(client, agentId) {
87
+ const DynamicTool = await getDynamicTool();
88
+ return new DynamicTool({
89
+ name: "remember",
90
+ description: "Store a fact or observation in persistent memory. " +
91
+ "Input: the text to remember. Uses the current timestamp as event_time.",
92
+ func: async (content) => {
93
+ await client.addMemory({
94
+ agent_id: agentId,
95
+ content,
96
+ event_time: new Date().toISOString(),
97
+ source: "langchain_tool",
98
+ });
99
+ return `Stored: ${content.slice(0, 120)}`;
100
+ },
101
+ });
102
+ }
103
+ //# sourceMappingURL=langchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../src/langchain.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBH,4CAmBC;AAMD,gDAoBC;AA9DD,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,wDAAa,uBAAuB,GAAC,CAAC;QAClD,8DAA8D;QAC9D,OAAQ,GAAW,CAAC,WAAW,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,2CAA2C;YAC3C,iEAAiE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAmB,EACnB,OAAe,EACf,OAAuB,EAAE;IAEzB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,OAAO,IAAI,WAAW,CAAC;QACrB,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,8EAA8E;YAC9E,4EAA4E;QAC9E,IAAI,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,6BAA6B,CAAC;YAClE,OAAO,MAAM,CAAC,QAAQ;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;iBAC/E,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAmB,EACnB,OAAe;IAEf,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,OAAO,IAAI,WAAW,CAAC;QACrB,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,oDAAoD;YACpD,wEAAwE;QAC1E,IAAI,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;YAC9B,MAAM,MAAM,CAAC,SAAS,CAAC;gBACrB,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,MAAM,EAAE,gBAAgB;aACzB,CAAC,CAAC;YACH,OAAO,WAAW,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,323 @@
1
+ export interface MemoryAdd {
2
+ agent_id: string;
3
+ content: string;
4
+ /** ISO-8601 timestamp of when this event occurred in the world — NOT ingestion time */
5
+ event_time: string;
6
+ source?: string;
7
+ subject_id?: string;
8
+ metadata?: Record<string, unknown>;
9
+ /** Importance weight 0.0–1.0; default 0.5 */
10
+ importance?: number;
11
+ }
12
+ export interface MemoryOut {
13
+ id: string;
14
+ namespace: string;
15
+ agent_id: string;
16
+ content: string | null;
17
+ subject_id: string | null;
18
+ event_time: string;
19
+ ingestion_time: string;
20
+ valid_from: string;
21
+ valid_to: string | null;
22
+ superseded_by: string | null;
23
+ supersession_confidence: number | null;
24
+ barrier_group: string | null;
25
+ importance: number;
26
+ source: string | null;
27
+ content_hash: string;
28
+ erased_at: string | null;
29
+ metadata: Record<string, unknown>;
30
+ }
31
+ export interface RecallRequest {
32
+ agent_id: string;
33
+ query: string;
34
+ k?: number;
35
+ /** ISO 8601 — point-in-time recall; omit for current valid memories */
36
+ as_of?: string;
37
+ filters?: Record<string, unknown>;
38
+ }
39
+ export interface RecallResult {
40
+ memories: MemoryOut[];
41
+ as_of: string | null;
42
+ total_candidates: number;
43
+ }
44
+ export interface MemoryBatchResult {
45
+ added: number;
46
+ memories: MemoryOut[];
47
+ }
48
+ export interface EraseRequest {
49
+ subject_id: string;
50
+ request_ref: string;
51
+ }
52
+ export interface EraseResult {
53
+ subject_id: string;
54
+ memories_erased: number;
55
+ request_ref: string;
56
+ }
57
+ export interface LineageNode {
58
+ id: string;
59
+ content: string | null;
60
+ content_hash: string;
61
+ event_time: string;
62
+ ingestion_time: string;
63
+ valid_from: string;
64
+ valid_to: string | null;
65
+ source: string | null;
66
+ importance: number;
67
+ supersession_confidence: number | null;
68
+ erased_at: string | null;
69
+ metadata: Record<string, unknown>;
70
+ is_current: boolean;
71
+ }
72
+ export interface LineageEdge {
73
+ from_id: string;
74
+ to_id: string;
75
+ relation: string;
76
+ confidence: number;
77
+ rationale: string | null;
78
+ adjudication_stage: number;
79
+ superseded_at: string;
80
+ }
81
+ export interface MemoryLineageResult {
82
+ agent_id: string;
83
+ namespace: string;
84
+ queried_id: string;
85
+ root_id: string;
86
+ tip_id: string;
87
+ depth: number;
88
+ nodes: LineageNode[];
89
+ edges: LineageEdge[];
90
+ }
91
+ export interface ConflictFlagOut {
92
+ id: string;
93
+ namespace: string;
94
+ agent_id: string;
95
+ memory_a_id: string;
96
+ memory_b_id: string;
97
+ memory_a_content: string | null;
98
+ memory_b_content: string | null;
99
+ memory_a_source: string | null;
100
+ memory_b_source: string | null;
101
+ memory_a_event_time: string;
102
+ memory_b_event_time: string;
103
+ confidence: number;
104
+ detected_at: string;
105
+ status: "open" | "accept_a" | "accept_b" | "dismissed";
106
+ resolved_at: string | null;
107
+ resolver_note: string | null;
108
+ }
109
+ export interface ConflictListResult {
110
+ conflicts: ConflictFlagOut[];
111
+ total: number;
112
+ status_filter: string | null;
113
+ }
114
+ export interface ConflictResolveRequest {
115
+ resolution: "accept_a" | "accept_b" | "dismiss";
116
+ note?: string;
117
+ }
118
+ export interface ConflictResolveResult {
119
+ conflict_id: string;
120
+ resolution: string;
121
+ resolved_at: string;
122
+ memory_invalidated: string | null;
123
+ }
124
+ export interface SupersessionReviewItem {
125
+ event_id: string;
126
+ memory_id: string;
127
+ superseded_by: string | null;
128
+ confidence: number;
129
+ relation: string;
130
+ rationale: string | null;
131
+ adjudication_stage: number;
132
+ created_at: string;
133
+ content_hash: string | null;
134
+ }
135
+ export interface SupersessionReviewResult {
136
+ items: SupersessionReviewItem[];
137
+ total: number;
138
+ confidence_threshold: number;
139
+ }
140
+ export interface AuditEvent {
141
+ id: string;
142
+ namespace: string;
143
+ agent_id: string;
144
+ op: string;
145
+ memory_id: string | null;
146
+ content_hash: string | null;
147
+ payload: Record<string, unknown>;
148
+ created_at: string;
149
+ prev_hash: string | null;
150
+ row_hash: string | null;
151
+ }
152
+ export interface AuditExportResult {
153
+ namespace: string;
154
+ from_: string | null;
155
+ to: string | null;
156
+ total_rows: number;
157
+ chain_status: string | null;
158
+ chain_violations: unknown[] | null;
159
+ events: AuditEvent[];
160
+ }
161
+ export interface ComplianceMemorySummary {
162
+ total_memories: number;
163
+ active_memories: number;
164
+ superseded_memories: number;
165
+ erased_memories: number;
166
+ new_in_window: number;
167
+ superseded_in_window: number;
168
+ }
169
+ export interface ComplianceAuditChain {
170
+ status: "ok" | "tampered" | "unchecked";
171
+ rows_checked: number;
172
+ violations: Record<string, unknown>[];
173
+ }
174
+ export interface ComplianceErasures {
175
+ total_requests: number;
176
+ total_records_erased: number;
177
+ subject_ids: string[];
178
+ }
179
+ export interface ComplianceConflicts {
180
+ open: number;
181
+ resolved_accept_a: number;
182
+ resolved_accept_b: number;
183
+ dismissed: number;
184
+ detected_in_window: number;
185
+ }
186
+ export interface ComplianceSupersessions {
187
+ total_supersessions: number;
188
+ confirmed_by_human: number;
189
+ rejected_by_human: number;
190
+ high_confidence: number;
191
+ low_confidence: number;
192
+ }
193
+ export interface ComplianceRetention {
194
+ content_ttl_days: number | null;
195
+ audit_retention_days: number;
196
+ legal_hold: boolean;
197
+ stripe_customer_id: string | null;
198
+ }
199
+ export interface ComplianceReport {
200
+ namespace: string;
201
+ generated_at: string;
202
+ window_from: string | null;
203
+ window_to: string | null;
204
+ summary: ComplianceMemorySummary;
205
+ audit_chain: ComplianceAuditChain;
206
+ erasures: ComplianceErasures;
207
+ conflicts: ComplianceConflicts;
208
+ supersessions: ComplianceSupersessions;
209
+ retention: ComplianceRetention | null;
210
+ }
211
+ export type WebhookEventType = "memory.superseded" | "memory.conflict" | "memory.erased" | "supersession.rejected";
212
+ export interface WebhookEndpoint {
213
+ id: string;
214
+ namespace: string;
215
+ url: string;
216
+ events: WebhookEventType[];
217
+ enabled: boolean;
218
+ description: string | null;
219
+ created_at: string;
220
+ updated_at: string;
221
+ }
222
+ export interface WebhookRegisterRequest {
223
+ url: string;
224
+ events: WebhookEventType[];
225
+ /** If omitted the server generates a random 32-byte hex secret */
226
+ secret?: string;
227
+ description?: string;
228
+ }
229
+ export interface WebhookRegisterResult {
230
+ endpoint: WebhookEndpoint;
231
+ /** The HMAC secret — returned ONCE at registration; store it securely */
232
+ secret: string;
233
+ }
234
+ export interface WebhookUpdateRequest {
235
+ enabled?: boolean;
236
+ events?: WebhookEventType[];
237
+ description?: string;
238
+ }
239
+ export interface WebhookDelivery {
240
+ id: string;
241
+ event_type: string;
242
+ attempt: number;
243
+ status_code: number | null;
244
+ error: string | null;
245
+ delivered_at: string | null;
246
+ created_at: string;
247
+ }
248
+ export interface WebhookDeliveryListResult {
249
+ deliveries: WebhookDelivery[];
250
+ total: number;
251
+ }
252
+ export interface WebhookPayload<T = Record<string, unknown>> {
253
+ id: string;
254
+ event: WebhookEventType;
255
+ namespace: string;
256
+ timestamp: string;
257
+ data: T;
258
+ }
259
+ export interface FactHistoryResult {
260
+ /** Canonical ticker after entity normalization (AAPL, not 'Apple Inc.') */
261
+ ticker: string;
262
+ metric: string;
263
+ agent_id: string;
264
+ namespace: string;
265
+ total: number;
266
+ /** All known versions ordered oldest-first by event_time */
267
+ items: MemoryOut[];
268
+ }
269
+ /**
270
+ * Complete knowledge state of an agent at a given point in time.
271
+ * Returned by GET /v1/snapshot — the one-call compliance demo.
272
+ */
273
+ export interface KnowledgeSnapshot {
274
+ agent_id: string;
275
+ namespace: string;
276
+ as_of: string;
277
+ total: number;
278
+ items: MemoryOut[];
279
+ }
280
+ export interface ContaminationFlag {
281
+ memory_id: string;
282
+ event_time: string;
283
+ ingestion_time: string;
284
+ /** "future_event" = event_time > simulation_as_of; "late_revision" = ingestion_time > simulation_as_of */
285
+ contamination_type: "future_event" | "late_revision";
286
+ /** Days the event/ingestion exceeds the simulation checkpoint */
287
+ delta_days: number;
288
+ content_preview: string | null;
289
+ source: string | null;
290
+ metadata: Record<string, unknown>;
291
+ }
292
+ export interface ContaminationReport {
293
+ agent_id: string;
294
+ namespace: string;
295
+ simulation_as_of: string;
296
+ memories_checked: number;
297
+ flags: ContaminationFlag[];
298
+ contamination_rate: number;
299
+ /** true = no lookahead bias detected; the backtest is clean */
300
+ is_clean: boolean;
301
+ }
302
+ export interface ErasureCertificate {
303
+ certificate_id: string;
304
+ subject_id: string;
305
+ namespace: string;
306
+ request_ref: string | null;
307
+ erased_at: string;
308
+ memories_erased: number;
309
+ content_hashes: string[];
310
+ chain_status: "ok" | "tampered" | "unchecked";
311
+ generated_at: string;
312
+ }
313
+ export interface LiansClientOptions {
314
+ /** Base URL of the AgentMem server, e.g. https://agentmem.example.com */
315
+ baseUrl: string;
316
+ /** API key (X-API-Key header) */
317
+ apiKey: string;
318
+ /** Admin secret for privileged endpoints (X-Admin-Secret header) */
319
+ adminSecret?: string;
320
+ /** Request timeout in milliseconds (default: 30000) */
321
+ timeoutMs?: number;
322
+ }
323
+ //# 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,5 @@
1
+ "use strict";
2
+ // AgentMem TypeScript SDK — type definitions
3
+ // Mirrors the Pydantic schemas in src/lians/schemas.py
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,uDAAuD"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Webhook receiver utilities for AgentMem.
3
+ *
4
+ * Every AgentMem webhook POST includes an `X-Lians-Signature` header of the
5
+ * form `sha256=<hex>`. Use `verifyWebhookSignature` to authenticate the
6
+ * request before processing the payload.
7
+ *
8
+ * @example
9
+ * // Express handler
10
+ * import { verifyWebhookSignature, WebhookPayload } from "lians/webhooks";
11
+ *
12
+ * app.post("/webhooks/agentmem", express.raw({ type: "application/json" }), (req, res) => {
13
+ * const sig = req.headers["x-agentmem-signature"] as string;
14
+ * if (!verifyWebhookSignature(req.body, sig, process.env.AGENTMEM_WEBHOOK_SECRET!)) {
15
+ * return res.status(401).json({ error: "Invalid signature" });
16
+ * }
17
+ * const event: WebhookPayload = JSON.parse(req.body.toString());
18
+ * // handle event.event, event.data ...
19
+ * res.sendStatus(200);
20
+ * });
21
+ */
22
+ import type { WebhookPayload, WebhookEventType } from "./types.js";
23
+ export type { WebhookPayload, WebhookEventType };
24
+ /**
25
+ * Verify the HMAC-SHA256 signature on an incoming webhook.
26
+ *
27
+ * @param body - Raw request body as a Buffer or UTF-8 string
28
+ * @param header - Value of the `X-Lians-Signature` header (e.g. `sha256=abc123…`)
29
+ * @param secret - The webhook secret returned when the endpoint was registered
30
+ * @returns true if the signature is valid, false otherwise
31
+ */
32
+ export declare function verifyWebhookSignature(body: Buffer | string, header: string, secret: string): boolean;
33
+ /**
34
+ * Parse and validate a raw webhook body into a typed payload.
35
+ * Throws if the signature is invalid or the body is not valid JSON.
36
+ *
37
+ * @param body - Raw request body as a Buffer or UTF-8 string
38
+ * @param header - Value of the `X-Lians-Signature` header
39
+ * @param secret - Webhook secret
40
+ */
41
+ export declare function parseWebhookPayload<T = Record<string, unknown>>(body: Buffer | string, header: string, secret: string): WebhookPayload<T>;
42
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,cAAc,CAAC,CAAC,CAAC,CAMnB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * Webhook receiver utilities for AgentMem.
4
+ *
5
+ * Every AgentMem webhook POST includes an `X-Lians-Signature` header of the
6
+ * form `sha256=<hex>`. Use `verifyWebhookSignature` to authenticate the
7
+ * request before processing the payload.
8
+ *
9
+ * @example
10
+ * // Express handler
11
+ * import { verifyWebhookSignature, WebhookPayload } from "lians/webhooks";
12
+ *
13
+ * app.post("/webhooks/agentmem", express.raw({ type: "application/json" }), (req, res) => {
14
+ * const sig = req.headers["x-agentmem-signature"] as string;
15
+ * if (!verifyWebhookSignature(req.body, sig, process.env.AGENTMEM_WEBHOOK_SECRET!)) {
16
+ * return res.status(401).json({ error: "Invalid signature" });
17
+ * }
18
+ * const event: WebhookPayload = JSON.parse(req.body.toString());
19
+ * // handle event.event, event.data ...
20
+ * res.sendStatus(200);
21
+ * });
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.verifyWebhookSignature = verifyWebhookSignature;
25
+ exports.parseWebhookPayload = parseWebhookPayload;
26
+ const crypto_1 = require("crypto");
27
+ /**
28
+ * Verify the HMAC-SHA256 signature on an incoming webhook.
29
+ *
30
+ * @param body - Raw request body as a Buffer or UTF-8 string
31
+ * @param header - Value of the `X-Lians-Signature` header (e.g. `sha256=abc123…`)
32
+ * @param secret - The webhook secret returned when the endpoint was registered
33
+ * @returns true if the signature is valid, false otherwise
34
+ */
35
+ function verifyWebhookSignature(body, header, secret) {
36
+ if (!header.startsWith("sha256="))
37
+ return false;
38
+ const expected = "sha256=" + (0, crypto_1.createHmac)("sha256", secret)
39
+ .update(typeof body === "string" ? body : body)
40
+ .digest("hex");
41
+ try {
42
+ return (0, crypto_1.timingSafeEqual)(Buffer.from(header), Buffer.from(expected));
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
48
+ /**
49
+ * Parse and validate a raw webhook body into a typed payload.
50
+ * Throws if the signature is invalid or the body is not valid JSON.
51
+ *
52
+ * @param body - Raw request body as a Buffer or UTF-8 string
53
+ * @param header - Value of the `X-Lians-Signature` header
54
+ * @param secret - Webhook secret
55
+ */
56
+ function parseWebhookPayload(body, header, secret) {
57
+ if (!verifyWebhookSignature(body, header, secret)) {
58
+ throw new Error("AgentMem webhook signature verification failed");
59
+ }
60
+ const text = typeof body === "string" ? body : body.toString("utf8");
61
+ return JSON.parse(text);
62
+ }
63
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAeH,wDAcC;AAUD,kDAUC;AA/CD,mCAAqD;AAKrD;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,IAAqB,EACrB,MAAc,EACd,MAAc;IAEd,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC;SACtD,MAAM,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SAC9C,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,IAAqB,EACrB,MAAc,EACd,MAAc;IAEd,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC;AAC/C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@lians-ai/lians",
3
+ "version": "0.3.0",
4
+ "description": "TypeScript/JavaScript SDK for Lians — financial-grade AI memory with bitemporal model, SEC 17a-4 audit chain, and GDPR crypto-shred",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "license": "Apache-2.0",
8
+ "author": "Ethan Beirne",
9
+ "homepage": "https://github.com/Lians-ai/Lians#readme",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/Lians-ai/Lians.git"
13
+ },
14
+ "keywords": [
15
+ "ai",
16
+ "memory",
17
+ "agents",
18
+ "finance",
19
+ "compliance",
20
+ "bitemporal",
21
+ "audit",
22
+ "mcp",
23
+ "langchain"
24
+ ],
25
+ "exports": {
26
+ ".": {
27
+ "import": "./dist/index.js",
28
+ "require": "./dist/index.js",
29
+ "types": "./dist/index.d.ts"
30
+ },
31
+ "./webhooks": {
32
+ "import": "./dist/webhooks.js",
33
+ "require": "./dist/webhooks.js",
34
+ "types": "./dist/webhooks.d.ts"
35
+ },
36
+ "./langchain": {
37
+ "import": "./dist/langchain.js",
38
+ "require": "./dist/langchain.js",
39
+ "types": "./dist/langchain.d.ts"
40
+ }
41
+ },
42
+ "files": ["dist"],
43
+ "scripts": {
44
+ "build": "tsc",
45
+ "test": "node --experimental-vm-modules node_modules/.bin/jest"
46
+ },
47
+ "dependencies": {},
48
+ "devDependencies": {
49
+ "typescript": "^5.4",
50
+ "@types/node": "^20",
51
+ "jest": "^29",
52
+ "@jest/globals": "^29",
53
+ "ts-jest": "^29"
54
+ },
55
+ "engines": { "node": ">=18" }
56
+ }