@lanonasis/memory-client 1.0.0 → 1.0.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/index.d.ts +90 -93
- package/dist/index.esm.js +15 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +15 -7
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +21 -18
package/dist/index.d.ts
CHANGED
|
@@ -70,108 +70,71 @@ declare const createMemorySchema: z.ZodObject<{
|
|
|
70
70
|
title: z.ZodString;
|
|
71
71
|
content: z.ZodString;
|
|
72
72
|
summary: z.ZodOptional<z.ZodString>;
|
|
73
|
-
memory_type: z.ZodDefault<z.ZodEnum<
|
|
73
|
+
memory_type: z.ZodDefault<z.ZodEnum<{
|
|
74
|
+
context: "context";
|
|
75
|
+
project: "project";
|
|
76
|
+
knowledge: "knowledge";
|
|
77
|
+
reference: "reference";
|
|
78
|
+
personal: "personal";
|
|
79
|
+
workflow: "workflow";
|
|
80
|
+
}>>;
|
|
74
81
|
topic_id: z.ZodOptional<z.ZodString>;
|
|
75
82
|
project_ref: z.ZodOptional<z.ZodString>;
|
|
76
|
-
tags: z.ZodDefault<z.ZodArray<z.ZodString
|
|
83
|
+
tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
77
84
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
78
|
-
},
|
|
79
|
-
title: string;
|
|
80
|
-
content: string;
|
|
81
|
-
memory_type: "context" | "project" | "knowledge" | "reference" | "personal" | "workflow";
|
|
82
|
-
tags: string[];
|
|
83
|
-
summary?: string | undefined;
|
|
84
|
-
topic_id?: string | undefined;
|
|
85
|
-
project_ref?: string | undefined;
|
|
86
|
-
metadata?: Record<string, unknown> | undefined;
|
|
87
|
-
}, {
|
|
88
|
-
title: string;
|
|
89
|
-
content: string;
|
|
90
|
-
summary?: string | undefined;
|
|
91
|
-
memory_type?: "context" | "project" | "knowledge" | "reference" | "personal" | "workflow" | undefined;
|
|
92
|
-
topic_id?: string | undefined;
|
|
93
|
-
project_ref?: string | undefined;
|
|
94
|
-
tags?: string[] | undefined;
|
|
95
|
-
metadata?: Record<string, unknown> | undefined;
|
|
96
|
-
}>;
|
|
85
|
+
}, z.core.$strip>;
|
|
97
86
|
declare const updateMemorySchema: z.ZodObject<{
|
|
98
87
|
title: z.ZodOptional<z.ZodString>;
|
|
99
88
|
content: z.ZodOptional<z.ZodString>;
|
|
100
89
|
summary: z.ZodOptional<z.ZodString>;
|
|
101
|
-
memory_type: z.ZodOptional<z.ZodEnum<
|
|
102
|
-
|
|
90
|
+
memory_type: z.ZodOptional<z.ZodEnum<{
|
|
91
|
+
context: "context";
|
|
92
|
+
project: "project";
|
|
93
|
+
knowledge: "knowledge";
|
|
94
|
+
reference: "reference";
|
|
95
|
+
personal: "personal";
|
|
96
|
+
workflow: "workflow";
|
|
97
|
+
}>>;
|
|
98
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
99
|
+
active: "active";
|
|
100
|
+
archived: "archived";
|
|
101
|
+
draft: "draft";
|
|
102
|
+
deleted: "deleted";
|
|
103
|
+
}>>;
|
|
103
104
|
topic_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
104
105
|
project_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
105
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString
|
|
106
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
106
107
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
107
|
-
},
|
|
108
|
-
title?: string | undefined;
|
|
109
|
-
content?: string | undefined;
|
|
110
|
-
summary?: string | undefined;
|
|
111
|
-
memory_type?: "context" | "project" | "knowledge" | "reference" | "personal" | "workflow" | undefined;
|
|
112
|
-
topic_id?: string | null | undefined;
|
|
113
|
-
project_ref?: string | null | undefined;
|
|
114
|
-
status?: "active" | "archived" | "draft" | "deleted" | undefined;
|
|
115
|
-
tags?: string[] | undefined;
|
|
116
|
-
metadata?: Record<string, unknown> | undefined;
|
|
117
|
-
}, {
|
|
118
|
-
title?: string | undefined;
|
|
119
|
-
content?: string | undefined;
|
|
120
|
-
summary?: string | undefined;
|
|
121
|
-
memory_type?: "context" | "project" | "knowledge" | "reference" | "personal" | "workflow" | undefined;
|
|
122
|
-
topic_id?: string | null | undefined;
|
|
123
|
-
project_ref?: string | null | undefined;
|
|
124
|
-
status?: "active" | "archived" | "draft" | "deleted" | undefined;
|
|
125
|
-
tags?: string[] | undefined;
|
|
126
|
-
metadata?: Record<string, unknown> | undefined;
|
|
127
|
-
}>;
|
|
108
|
+
}, z.core.$strip>;
|
|
128
109
|
declare const searchMemorySchema: z.ZodObject<{
|
|
129
110
|
query: z.ZodString;
|
|
130
|
-
memory_types: z.ZodOptional<z.ZodArray<z.ZodEnum<
|
|
131
|
-
|
|
111
|
+
memory_types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
112
|
+
context: "context";
|
|
113
|
+
project: "project";
|
|
114
|
+
knowledge: "knowledge";
|
|
115
|
+
reference: "reference";
|
|
116
|
+
personal: "personal";
|
|
117
|
+
workflow: "workflow";
|
|
118
|
+
}>>>;
|
|
119
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
132
120
|
topic_id: z.ZodOptional<z.ZodString>;
|
|
133
121
|
project_ref: z.ZodOptional<z.ZodString>;
|
|
134
|
-
status: z.ZodDefault<z.ZodEnum<
|
|
122
|
+
status: z.ZodDefault<z.ZodEnum<{
|
|
123
|
+
active: "active";
|
|
124
|
+
archived: "archived";
|
|
125
|
+
draft: "draft";
|
|
126
|
+
deleted: "deleted";
|
|
127
|
+
}>>;
|
|
135
128
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
136
129
|
threshold: z.ZodDefault<z.ZodNumber>;
|
|
137
|
-
},
|
|
138
|
-
status: "active" | "archived" | "draft" | "deleted";
|
|
139
|
-
query: string;
|
|
140
|
-
limit: number;
|
|
141
|
-
threshold: number;
|
|
142
|
-
topic_id?: string | undefined;
|
|
143
|
-
project_ref?: string | undefined;
|
|
144
|
-
tags?: string[] | undefined;
|
|
145
|
-
memory_types?: ("context" | "project" | "knowledge" | "reference" | "personal" | "workflow")[] | undefined;
|
|
146
|
-
}, {
|
|
147
|
-
query: string;
|
|
148
|
-
topic_id?: string | undefined;
|
|
149
|
-
project_ref?: string | undefined;
|
|
150
|
-
status?: "active" | "archived" | "draft" | "deleted" | undefined;
|
|
151
|
-
tags?: string[] | undefined;
|
|
152
|
-
memory_types?: ("context" | "project" | "knowledge" | "reference" | "personal" | "workflow")[] | undefined;
|
|
153
|
-
limit?: number | undefined;
|
|
154
|
-
threshold?: number | undefined;
|
|
155
|
-
}>;
|
|
130
|
+
}, z.core.$strip>;
|
|
156
131
|
declare const createTopicSchema: z.ZodObject<{
|
|
157
132
|
name: z.ZodString;
|
|
158
133
|
description: z.ZodOptional<z.ZodString>;
|
|
159
134
|
color: z.ZodOptional<z.ZodString>;
|
|
160
135
|
icon: z.ZodOptional<z.ZodString>;
|
|
161
136
|
parent_topic_id: z.ZodOptional<z.ZodString>;
|
|
162
|
-
},
|
|
163
|
-
name: string;
|
|
164
|
-
description?: string | undefined;
|
|
165
|
-
color?: string | undefined;
|
|
166
|
-
icon?: string | undefined;
|
|
167
|
-
parent_topic_id?: string | undefined;
|
|
168
|
-
}, {
|
|
169
|
-
name: string;
|
|
170
|
-
description?: string | undefined;
|
|
171
|
-
color?: string | undefined;
|
|
172
|
-
icon?: string | undefined;
|
|
173
|
-
parent_topic_id?: string | undefined;
|
|
174
|
-
}>;
|
|
137
|
+
}, z.core.$strip>;
|
|
175
138
|
/**
|
|
176
139
|
* Inferred types from schemas
|
|
177
140
|
*/
|
|
@@ -366,6 +329,31 @@ interface CLICapabilities {
|
|
|
366
329
|
version?: string;
|
|
367
330
|
}
|
|
368
331
|
type RoutingStrategy = 'cli-first' | 'api-first' | 'cli-only' | 'api-only' | 'auto';
|
|
332
|
+
interface CLIAuthStatus {
|
|
333
|
+
authenticated: boolean;
|
|
334
|
+
user?: {
|
|
335
|
+
id?: string;
|
|
336
|
+
email?: string;
|
|
337
|
+
name?: string;
|
|
338
|
+
[key: string]: unknown;
|
|
339
|
+
};
|
|
340
|
+
scopes?: string[];
|
|
341
|
+
expiresAt?: string;
|
|
342
|
+
[key: string]: unknown;
|
|
343
|
+
}
|
|
344
|
+
interface CLIMCPStatus {
|
|
345
|
+
connected: boolean;
|
|
346
|
+
channel?: string;
|
|
347
|
+
endpoint?: string;
|
|
348
|
+
details?: Record<string, unknown>;
|
|
349
|
+
[key: string]: unknown;
|
|
350
|
+
}
|
|
351
|
+
interface CLIMCPTool {
|
|
352
|
+
name: string;
|
|
353
|
+
title?: string;
|
|
354
|
+
description?: string;
|
|
355
|
+
[key: string]: unknown;
|
|
356
|
+
}
|
|
369
357
|
/**
|
|
370
358
|
* CLI Detection and Integration Service
|
|
371
359
|
*/
|
|
@@ -380,7 +368,7 @@ declare class CLIIntegration {
|
|
|
380
368
|
/**
|
|
381
369
|
* Execute CLI command and return parsed JSON result
|
|
382
370
|
*/
|
|
383
|
-
executeCLICommand<T =
|
|
371
|
+
executeCLICommand<T = unknown>(command: string, options?: CLIExecutionOptions): Promise<ApiResponse<T>>;
|
|
384
372
|
/**
|
|
385
373
|
* Get preferred CLI command (onasis for Golden Contract, fallback to lanonasis)
|
|
386
374
|
*/
|
|
@@ -392,30 +380,39 @@ declare class CLIIntegration {
|
|
|
392
380
|
memoryType?: string;
|
|
393
381
|
tags?: string[];
|
|
394
382
|
topicId?: string;
|
|
395
|
-
}): Promise<ApiResponse<
|
|
383
|
+
}): Promise<ApiResponse<MemoryEntry>>;
|
|
396
384
|
listMemoriesViaCLI(options?: {
|
|
397
385
|
limit?: number;
|
|
398
386
|
memoryType?: string;
|
|
399
387
|
tags?: string[];
|
|
400
388
|
sortBy?: string;
|
|
401
|
-
}): Promise<ApiResponse<
|
|
389
|
+
}): Promise<ApiResponse<PaginatedResponse<MemoryEntry>>>;
|
|
402
390
|
searchMemoriesViaCLI(query: string, options?: {
|
|
403
391
|
limit?: number;
|
|
404
392
|
memoryTypes?: string[];
|
|
405
|
-
}): Promise<ApiResponse<
|
|
393
|
+
}): Promise<ApiResponse<{
|
|
394
|
+
results: MemorySearchResult[];
|
|
395
|
+
total_results: number;
|
|
396
|
+
search_time_ms: number;
|
|
397
|
+
}>>;
|
|
406
398
|
/**
|
|
407
399
|
* Health check via CLI
|
|
408
400
|
*/
|
|
409
|
-
healthCheckViaCLI(): Promise<ApiResponse<
|
|
401
|
+
healthCheckViaCLI(): Promise<ApiResponse<{
|
|
402
|
+
status: string;
|
|
403
|
+
timestamp: string;
|
|
404
|
+
}>>;
|
|
410
405
|
/**
|
|
411
406
|
* MCP-specific operations
|
|
412
407
|
*/
|
|
413
|
-
getMCPStatus(): Promise<ApiResponse<
|
|
414
|
-
listMCPTools(): Promise<ApiResponse<
|
|
408
|
+
getMCPStatus(): Promise<ApiResponse<CLIMCPStatus>>;
|
|
409
|
+
listMCPTools(): Promise<ApiResponse<{
|
|
410
|
+
tools: CLIMCPTool[];
|
|
411
|
+
}>>;
|
|
415
412
|
/**
|
|
416
413
|
* Authentication operations
|
|
417
414
|
*/
|
|
418
|
-
getAuthStatus(): Promise<ApiResponse<
|
|
415
|
+
getAuthStatus(): Promise<ApiResponse<CLIAuthStatus>>;
|
|
419
416
|
/**
|
|
420
417
|
* Check if specific CLI features are available
|
|
421
418
|
*/
|
|
@@ -514,7 +511,7 @@ declare class EnhancedMemoryClient {
|
|
|
514
511
|
tags?: string[];
|
|
515
512
|
sort?: string;
|
|
516
513
|
order?: 'asc' | 'desc';
|
|
517
|
-
}): Promise<OperationResult<
|
|
514
|
+
}): Promise<OperationResult<PaginatedResponse<MemoryEntry>>>;
|
|
518
515
|
/**
|
|
519
516
|
* Search memories with MCP enhancement when available
|
|
520
517
|
*/
|
|
@@ -535,10 +532,10 @@ declare class EnhancedMemoryClient {
|
|
|
535
532
|
* Delete memory (API only for now)
|
|
536
533
|
*/
|
|
537
534
|
deleteMemory(id: string): Promise<OperationResult<void>>;
|
|
538
|
-
createTopic(topic:
|
|
535
|
+
createTopic(topic: CreateTopicRequest): Promise<OperationResult<MemoryTopic>>;
|
|
539
536
|
getTopics(): Promise<OperationResult<MemoryTopic[]>>;
|
|
540
537
|
getTopic(id: string): Promise<OperationResult<MemoryTopic>>;
|
|
541
|
-
updateTopic(id: string, updates:
|
|
538
|
+
updateTopic(id: string, updates: Partial<CreateTopicRequest>): Promise<OperationResult<MemoryTopic>>;
|
|
542
539
|
deleteTopic(id: string): Promise<OperationResult<void>>;
|
|
543
540
|
/**
|
|
544
541
|
* Get memory statistics
|
|
@@ -551,11 +548,11 @@ declare class EnhancedMemoryClient {
|
|
|
551
548
|
/**
|
|
552
549
|
* Get authentication status from CLI
|
|
553
550
|
*/
|
|
554
|
-
getAuthStatus(): Promise<OperationResult<
|
|
551
|
+
getAuthStatus(): Promise<OperationResult<CLIAuthStatus>>;
|
|
555
552
|
/**
|
|
556
553
|
* Get MCP status when available
|
|
557
554
|
*/
|
|
558
|
-
getMCPStatus(): Promise<OperationResult<
|
|
555
|
+
getMCPStatus(): Promise<OperationResult<CLIMCPStatus>>;
|
|
559
556
|
/**
|
|
560
557
|
* Update authentication for both CLI and API client
|
|
561
558
|
*/
|
package/dist/index.esm.js
CHANGED
|
@@ -573,6 +573,9 @@ class EnhancedMemoryClient {
|
|
|
573
573
|
if (!this.capabilities) {
|
|
574
574
|
await this.initialize();
|
|
575
575
|
}
|
|
576
|
+
if (!this.capabilities) {
|
|
577
|
+
this.capabilities = this.createDefaultCapabilities();
|
|
578
|
+
}
|
|
576
579
|
return this.capabilities;
|
|
577
580
|
}
|
|
578
581
|
/**
|
|
@@ -857,13 +860,18 @@ function createSmartConfig(baseConfig, options = {}) {
|
|
|
857
860
|
verbose: false
|
|
858
861
|
};
|
|
859
862
|
const config = { ...defaults, ...options };
|
|
863
|
+
const preferCLI = config.preferCLI ?? defaults.preferCLI ?? false;
|
|
864
|
+
const minCLIVersion = config.minCLIVersion ?? defaults.minCLIVersion ?? '1.5.2';
|
|
865
|
+
const enableMCP = config.enableMCP ?? defaults.enableMCP ?? true;
|
|
866
|
+
const cliDetectionTimeout = config.cliDetectionTimeout ?? defaults.cliDetectionTimeout ?? 3000;
|
|
867
|
+
const verbose = config.verbose ?? defaults.verbose ?? false;
|
|
860
868
|
return {
|
|
861
869
|
...baseConfig,
|
|
862
|
-
preferCLI
|
|
863
|
-
minCLIVersion
|
|
864
|
-
enableMCP
|
|
865
|
-
cliDetectionTimeout
|
|
866
|
-
verbose
|
|
870
|
+
preferCLI,
|
|
871
|
+
minCLIVersion,
|
|
872
|
+
enableMCP,
|
|
873
|
+
cliDetectionTimeout,
|
|
874
|
+
verbose,
|
|
867
875
|
// Smart API configuration with environment detection
|
|
868
876
|
apiUrl: baseConfig.apiUrl || (process?.env?.NODE_ENV === 'development'
|
|
869
877
|
? 'http://localhost:3001'
|
|
@@ -963,7 +971,7 @@ const createMemorySchema = z.object({
|
|
|
963
971
|
topic_id: z.string().uuid().optional(),
|
|
964
972
|
project_ref: z.string().max(100).optional(),
|
|
965
973
|
tags: z.array(z.string().min(1).max(50)).max(20).default([]),
|
|
966
|
-
metadata: z.record(z.unknown()).optional()
|
|
974
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
967
975
|
});
|
|
968
976
|
const updateMemorySchema = z.object({
|
|
969
977
|
title: z.string().min(1).max(500).optional(),
|
|
@@ -974,7 +982,7 @@ const updateMemorySchema = z.object({
|
|
|
974
982
|
topic_id: z.string().uuid().nullable().optional(),
|
|
975
983
|
project_ref: z.string().max(100).nullable().optional(),
|
|
976
984
|
tags: z.array(z.string().min(1).max(50)).max(20).optional(),
|
|
977
|
-
metadata: z.record(z.unknown()).optional()
|
|
985
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
978
986
|
});
|
|
979
987
|
const searchMemorySchema = z.object({
|
|
980
988
|
query: z.string().min(1).max(1000),
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/client.ts","../src/cli-integration.ts","../src/enhanced-client.ts","../src/config.ts","../src/types.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/client.ts","../../src/cli-integration.ts","../../src/enhanced-client.ts","../../src/config.ts","../../src/types.ts","../../src/index.ts"],"sourcesContent":["import type {\n MemoryEntry,\n MemoryTopic,\n CreateMemoryRequest,\n UpdateMemoryRequest,\n SearchMemoryRequest,\n CreateTopicRequest,\n MemorySearchResult,\n UserMemoryStats\n} from './types';\n\n/**\n * Configuration options for the Memory Client\n */\nexport interface MemoryClientConfig {\n /** API endpoint URL */\n apiUrl: string;\n /** API key for authentication */\n apiKey?: string;\n /** Bearer token for authentication (alternative to API key) */\n authToken?: string;\n /** Request timeout in milliseconds */\n timeout?: number;\n /** Enable gateway mode for enhanced performance */\n useGateway?: boolean;\n /** Custom headers to include with requests */\n headers?: Record<string, string>;\n}\n\n/**\n * Standard API response wrapper\n */\nexport interface ApiResponse<T> {\n data?: T;\n error?: string;\n message?: string;\n}\n\n/**\n * Paginated response for list operations\n */\nexport interface PaginatedResponse<T> {\n data: T[];\n pagination: {\n page: number;\n limit: number;\n total: number;\n pages: number;\n };\n}\n\n/**\n * Memory Client class for interacting with the Memory as a Service API\n */\nexport class MemoryClient {\n private config: Required<Omit<MemoryClientConfig, 'apiKey' | 'authToken' | 'headers'>> & \n Pick<MemoryClientConfig, 'apiKey' | 'authToken' | 'headers'>;\n private baseHeaders: Record<string, string>;\n\n constructor(config: MemoryClientConfig) {\n this.config = {\n timeout: 30000,\n useGateway: true,\n ...config\n };\n\n this.baseHeaders = {\n 'Content-Type': 'application/json',\n 'User-Agent': '@lanonasis/memory-client/1.0.0',\n ...config.headers\n };\n\n // Set authentication headers\n if (config.authToken) {\n this.baseHeaders['Authorization'] = `Bearer ${config.authToken}`;\n } else if (config.apiKey) {\n this.baseHeaders['X-API-Key'] = config.apiKey;\n }\n }\n\n /**\n * Make an HTTP request to the API\n */\n private async request<T>(\n endpoint: string,\n options: RequestInit = {}\n ): Promise<ApiResponse<T>> {\n // Handle gateway vs direct API URL formatting\n const baseUrl = this.config.apiUrl.includes('/api') \n ? this.config.apiUrl.replace('/api', '') \n : this.config.apiUrl;\n \n const url = `${baseUrl}/api/v1${endpoint}`;\n \n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n const response = await fetch(url, {\n headers: { ...this.baseHeaders, ...options.headers },\n signal: controller.signal,\n ...options,\n });\n\n clearTimeout(timeoutId);\n\n let data: T;\n const contentType = response.headers.get('content-type');\n \n if (contentType && contentType.includes('application/json')) {\n data = await response.json() as T;\n } else {\n data = await response.text() as unknown as T;\n }\n\n if (!response.ok) {\n return { \n error: (data as Record<string, unknown>)?.error as string || `HTTP ${response.status}: ${response.statusText}` \n };\n }\n\n return { data };\n } catch (error) {\n if (error instanceof Error && error.name === 'AbortError') {\n return { error: 'Request timeout' };\n }\n return { \n error: error instanceof Error ? error.message : 'Network error' \n };\n }\n }\n\n /**\n * Test the API connection and authentication\n */\n async healthCheck(): Promise<ApiResponse<{ status: string; timestamp: string }>> {\n return this.request('/health');\n }\n\n // Memory Operations\n\n /**\n * Create a new memory\n */\n async createMemory(memory: CreateMemoryRequest): Promise<ApiResponse<MemoryEntry>> {\n return this.request<MemoryEntry>('/memory', {\n method: 'POST',\n body: JSON.stringify(memory)\n });\n }\n\n /**\n * Get a memory by ID\n */\n async getMemory(id: string): Promise<ApiResponse<MemoryEntry>> {\n return this.request<MemoryEntry>(`/memory/${encodeURIComponent(id)}`);\n }\n\n /**\n * Update an existing memory\n */\n async updateMemory(id: string, updates: UpdateMemoryRequest): Promise<ApiResponse<MemoryEntry>> {\n return this.request<MemoryEntry>(`/memory/${encodeURIComponent(id)}`, {\n method: 'PUT',\n body: JSON.stringify(updates)\n });\n }\n\n /**\n * Delete a memory\n */\n async deleteMemory(id: string): Promise<ApiResponse<void>> {\n return this.request<void>(`/memory/${encodeURIComponent(id)}`, {\n method: 'DELETE'\n });\n }\n\n /**\n * List memories with optional filtering and pagination\n */\n async listMemories(options: {\n page?: number;\n limit?: number;\n memory_type?: string;\n topic_id?: string;\n project_ref?: string;\n status?: string;\n tags?: string[];\n sort?: string;\n order?: 'asc' | 'desc';\n } = {}): Promise<ApiResponse<PaginatedResponse<MemoryEntry>>> {\n const params = new URLSearchParams();\n \n Object.entries(options).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n params.append(key, value.join(','));\n } else {\n params.append(key, String(value));\n }\n }\n });\n\n const queryString = params.toString();\n const endpoint = queryString ? `/memory?${queryString}` : '/memory';\n \n return this.request<PaginatedResponse<MemoryEntry>>(endpoint);\n }\n\n /**\n * Search memories using semantic search\n */\n async searchMemories(request: SearchMemoryRequest): Promise<ApiResponse<{\n results: MemorySearchResult[];\n total_results: number;\n search_time_ms: number;\n }>> {\n return this.request('/memory/search', {\n method: 'POST',\n body: JSON.stringify(request)\n });\n }\n\n /**\n * Bulk delete multiple memories\n */\n async bulkDeleteMemories(memoryIds: string[]): Promise<ApiResponse<{\n deleted_count: number;\n failed_ids: string[];\n }>> {\n return this.request('/memory/bulk/delete', {\n method: 'POST',\n body: JSON.stringify({ memory_ids: memoryIds })\n });\n }\n\n // Topic Operations\n\n /**\n * Create a new topic\n */\n async createTopic(topic: CreateTopicRequest): Promise<ApiResponse<MemoryTopic>> {\n return this.request<MemoryTopic>('/topics', {\n method: 'POST',\n body: JSON.stringify(topic)\n });\n }\n\n /**\n * Get all topics\n */\n async getTopics(): Promise<ApiResponse<MemoryTopic[]>> {\n return this.request<MemoryTopic[]>('/topics');\n }\n\n /**\n * Get a topic by ID\n */\n async getTopic(id: string): Promise<ApiResponse<MemoryTopic>> {\n return this.request<MemoryTopic>(`/topics/${encodeURIComponent(id)}`);\n }\n\n /**\n * Update a topic\n */\n async updateTopic(id: string, updates: Partial<CreateTopicRequest>): Promise<ApiResponse<MemoryTopic>> {\n return this.request<MemoryTopic>(`/topics/${encodeURIComponent(id)}`, {\n method: 'PUT',\n body: JSON.stringify(updates)\n });\n }\n\n /**\n * Delete a topic\n */\n async deleteTopic(id: string): Promise<ApiResponse<void>> {\n return this.request<void>(`/topics/${encodeURIComponent(id)}`, {\n method: 'DELETE'\n });\n }\n\n /**\n * Get user memory statistics\n */\n async getMemoryStats(): Promise<ApiResponse<UserMemoryStats>> {\n return this.request<UserMemoryStats>('/memory/stats');\n }\n\n // Utility Methods\n\n /**\n * Update authentication token\n */\n setAuthToken(token: string): void {\n this.baseHeaders['Authorization'] = `Bearer ${token}`;\n delete this.baseHeaders['X-API-Key'];\n }\n\n /**\n * Update API key\n */\n setApiKey(apiKey: string): void {\n this.baseHeaders['X-API-Key'] = apiKey;\n delete this.baseHeaders['Authorization'];\n }\n\n /**\n * Clear authentication\n */\n clearAuth(): void {\n delete this.baseHeaders['Authorization'];\n delete this.baseHeaders['X-API-Key'];\n }\n\n /**\n * Update configuration\n */\n updateConfig(updates: Partial<MemoryClientConfig>): void {\n this.config = { ...this.config, ...updates };\n \n if (updates.headers) {\n this.baseHeaders = { ...this.baseHeaders, ...updates.headers };\n }\n }\n\n /**\n * Get current configuration (excluding sensitive data)\n */\n getConfig(): Omit<MemoryClientConfig, 'apiKey' | 'authToken'> {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { apiKey, authToken, ...safeConfig } = this.config;\n return safeConfig;\n }\n}\n\n/**\n * Factory function to create a new Memory Client instance\n */\nexport function createMemoryClient(config: MemoryClientConfig): MemoryClient {\n return new MemoryClient(config);\n}","/**\n * CLI Integration Module for Memory Client SDK\n * \n * Provides intelligent CLI detection and MCP channel utilization\n * when @lanonasis/cli v1.5.2+ is available in the environment\n */\n\nimport { exec, execSync } from 'child_process';\nimport { promisify } from 'util';\nimport type { ApiResponse, PaginatedResponse } from './client';\nimport type {\n MemoryEntry,\n MemorySearchResult\n} from './types';\n\nconst execAsync = promisify(exec);\n\nexport interface CLIInfo {\n available: boolean;\n version?: string;\n mcpAvailable?: boolean;\n authenticated?: boolean;\n}\n\nexport interface CLIExecutionOptions {\n timeout?: number;\n verbose?: boolean;\n outputFormat?: 'json' | 'table' | 'yaml';\n}\n\nexport interface CLICommand {\n command: string;\n args: string[];\n options?: CLIExecutionOptions;\n}\n\nexport interface MCPChannel {\n available: boolean;\n version?: string;\n capabilities?: string[];\n}\n\nexport interface CLICapabilities {\n cliAvailable: boolean;\n mcpSupport: boolean;\n authenticated: boolean;\n goldenContract: boolean;\n version?: string;\n}\n\nexport type RoutingStrategy = 'cli-first' | 'api-first' | 'cli-only' | 'api-only' | 'auto';\n\nexport interface CLIAuthStatus {\n authenticated: boolean;\n user?: {\n id?: string;\n email?: string;\n name?: string;\n [key: string]: unknown;\n };\n scopes?: string[];\n expiresAt?: string;\n [key: string]: unknown;\n}\n\nexport interface CLIMCPStatus {\n connected: boolean;\n channel?: string;\n endpoint?: string;\n details?: Record<string, unknown>;\n [key: string]: unknown;\n}\n\nexport interface CLIMCPTool {\n name: string;\n title?: string;\n description?: string;\n [key: string]: unknown;\n}\n\n/**\n * CLI Detection and Integration Service\n */\nexport class CLIIntegration {\n private cliInfo: CLIInfo | null = null;\n private detectionPromise: Promise<CLIInfo> | null = null;\n\n /**\n * Detect if CLI is available and get its capabilities\n */\n async detectCLI(): Promise<CLIInfo> {\n // Return cached result if already detected\n if (this.cliInfo) {\n return this.cliInfo;\n }\n\n // Return existing promise if detection is in progress\n if (this.detectionPromise) {\n return this.detectionPromise;\n }\n\n // Start new detection\n this.detectionPromise = this.performDetection();\n this.cliInfo = await this.detectionPromise;\n return this.cliInfo;\n }\n\n private async performDetection(): Promise<CLIInfo> {\n try {\n // Check if onasis/lanonasis CLI is available\n let versionOutput = '';\n try {\n const { stdout } = await execAsync('onasis --version 2>/dev/null', { timeout: 5000 });\n versionOutput = stdout;\n } catch {\n // Try lanonasis if onasis fails\n const { stdout } = await execAsync('lanonasis --version 2>/dev/null', { timeout: 5000 });\n versionOutput = stdout;\n }\n\n const version = versionOutput.trim();\n \n // Verify it's v1.5.2 or higher for Golden Contract support\n const versionMatch = version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n if (!versionMatch) {\n return { available: false };\n }\n\n const [, major, minor, patch] = versionMatch.map(Number);\n const isCompatible = major > 1 || (major === 1 && minor > 5) || (major === 1 && minor === 5 && patch >= 2);\n\n if (!isCompatible) {\n return { \n available: true, \n version,\n mcpAvailable: false,\n authenticated: false\n };\n }\n\n // Check MCP availability\n let mcpAvailable = false;\n try {\n await execAsync('onasis mcp status --output json 2>/dev/null || lanonasis mcp status --output json 2>/dev/null', {\n timeout: 3000\n });\n mcpAvailable = true;\n } catch {\n // MCP not available or not configured\n }\n\n // Check authentication status\n let authenticated = false;\n try {\n const { stdout: authOutput } = await execAsync('onasis auth status --output json 2>/dev/null || lanonasis auth status --output json 2>/dev/null', {\n timeout: 3000\n });\n \n const authStatus = JSON.parse(authOutput);\n authenticated = authStatus.authenticated === true;\n } catch {\n // Authentication check failed\n }\n\n return {\n available: true,\n version,\n mcpAvailable,\n authenticated\n };\n\n } catch {\n return { available: false };\n }\n }\n\n /**\n * Execute CLI command and return parsed JSON result\n */\n async executeCLICommand<T = unknown>(command: string, options: CLIExecutionOptions = {}): Promise<ApiResponse<T>> {\n const cliInfo = await this.detectCLI();\n \n if (!cliInfo.available) {\n return { error: 'CLI not available' };\n }\n\n if (!cliInfo.authenticated) {\n return { error: 'CLI not authenticated. Run: onasis login' };\n }\n\n try {\n const timeout = options.timeout || 30000;\n const outputFormat = options.outputFormat || 'json';\n const verbose = options.verbose ? '--verbose' : '';\n \n // Determine which CLI command to use (prefer onasis for Golden Contract)\n const cliCmd = await this.getPreferredCLICommand();\n \n const fullCommand = `${cliCmd} ${command} --output ${outputFormat} ${verbose}`.trim();\n \n const { stdout, stderr } = await execAsync(fullCommand, {\n timeout,\n maxBuffer: 1024 * 1024 // 1MB buffer\n });\n\n if (stderr && stderr.trim()) {\n console.warn('CLI warning:', stderr);\n }\n\n if (outputFormat === 'json') {\n try {\n const result = JSON.parse(stdout) as T;\n return { data: result };\n } catch (parseError) {\n return { error: `Failed to parse CLI JSON output: ${parseError instanceof Error ? parseError.message : 'Unknown error'}` };\n }\n }\n\n return { data: stdout as unknown as T };\n\n } catch (error) {\n if (error instanceof Error && error.message.includes('timeout')) {\n return { error: 'CLI command timeout' };\n }\n \n return { \n error: error instanceof Error ? error.message : 'CLI command failed' \n };\n }\n }\n\n /**\n * Get preferred CLI command (onasis for Golden Contract, fallback to lanonasis)\n */\n private async getPreferredCLICommand(): Promise<string> {\n try {\n execSync('which onasis', { stdio: 'ignore', timeout: 1000 });\n return 'onasis';\n } catch {\n return 'lanonasis';\n }\n }\n\n /**\n * Memory operations via CLI\n */\n async createMemoryViaCLI(title: string, content: string, options: {\n memoryType?: string;\n tags?: string[];\n topicId?: string;\n } = {}): Promise<ApiResponse<MemoryEntry>> {\n const { memoryType = 'context', tags = [], topicId } = options;\n \n let command = `memory create --title \"${title}\" --content \"${content}\" --memory-type ${memoryType}`;\n \n if (tags.length > 0) {\n command += ` --tags \"${tags.join(',')}\"`;\n }\n \n if (topicId) {\n command += ` --topic-id \"${topicId}\"`;\n }\n\n return this.executeCLICommand<MemoryEntry>(command);\n }\n\n async listMemoriesViaCLI(options: {\n limit?: number;\n memoryType?: string;\n tags?: string[];\n sortBy?: string;\n } = {}): Promise<ApiResponse<PaginatedResponse<MemoryEntry>>> {\n let command = 'memory list';\n \n if (options.limit) {\n command += ` --limit ${options.limit}`;\n }\n \n if (options.memoryType) {\n command += ` --memory-type ${options.memoryType}`;\n }\n \n if (options.tags && options.tags.length > 0) {\n command += ` --tags \"${options.tags.join(',')}\"`;\n }\n \n if (options.sortBy) {\n command += ` --sort-by ${options.sortBy}`;\n }\n\n return this.executeCLICommand<PaginatedResponse<MemoryEntry>>(command);\n }\n\n async searchMemoriesViaCLI(query: string, options: {\n limit?: number;\n memoryTypes?: string[];\n } = {}): Promise<ApiResponse<{\n results: MemorySearchResult[];\n total_results: number;\n search_time_ms: number;\n }>> {\n let command = `memory search \"${query}\"`;\n \n if (options.limit) {\n command += ` --limit ${options.limit}`;\n }\n \n if (options.memoryTypes && options.memoryTypes.length > 0) {\n command += ` --memory-types \"${options.memoryTypes.join(',')}\"`;\n }\n\n return this.executeCLICommand<{\n results: MemorySearchResult[];\n total_results: number;\n search_time_ms: number;\n }>(command);\n }\n\n /**\n * Health check via CLI\n */\n async healthCheckViaCLI(): Promise<ApiResponse<{ status: string; timestamp: string }>> {\n return this.executeCLICommand<{ status: string; timestamp: string }>('health');\n }\n\n /**\n * MCP-specific operations\n */\n async getMCPStatus(): Promise<ApiResponse<CLIMCPStatus>> {\n const cliInfo = await this.detectCLI();\n \n if (!cliInfo.mcpAvailable) {\n return { error: 'MCP not available via CLI' };\n }\n\n return this.executeCLICommand<CLIMCPStatus>('mcp status');\n }\n\n async listMCPTools(): Promise<ApiResponse<{ tools: CLIMCPTool[] }>> {\n const cliInfo = await this.detectCLI();\n \n if (!cliInfo.mcpAvailable) {\n return { error: 'MCP not available via CLI' };\n }\n\n return this.executeCLICommand<{ tools: CLIMCPTool[] }>('mcp tools');\n }\n\n /**\n * Authentication operations\n */\n async getAuthStatus(): Promise<ApiResponse<CLIAuthStatus>> {\n return this.executeCLICommand<CLIAuthStatus>('auth status');\n }\n\n /**\n * Check if specific CLI features are available\n */\n async getCapabilities(): Promise<{\n cliAvailable: boolean;\n version?: string;\n mcpSupport: boolean;\n authenticated: boolean;\n goldenContract: boolean;\n }> {\n const cliInfo = await this.detectCLI();\n \n return {\n cliAvailable: cliInfo.available,\n version: cliInfo.version,\n mcpSupport: cliInfo.mcpAvailable || false,\n authenticated: cliInfo.authenticated || false,\n goldenContract: cliInfo.available && this.isGoldenContractCompliant(cliInfo.version)\n };\n }\n\n private isGoldenContractCompliant(version?: string): boolean {\n if (!version) return false;\n \n const versionMatch = version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n if (!versionMatch) return false;\n\n const [, major, minor, patch] = versionMatch.map(Number);\n return major > 1 || (major === 1 && minor > 5) || (major === 1 && minor === 5 && patch >= 2);\n }\n\n /**\n * Force refresh CLI detection\n */\n async refresh(): Promise<CLIInfo> {\n this.cliInfo = null;\n this.detectionPromise = null;\n return this.detectCLI();\n }\n\n /**\n * Get cached CLI info without re-detection\n */\n getCachedInfo(): CLIInfo | null {\n return this.cliInfo;\n }\n}\n\n// Singleton instance for convenient access\nexport const cliIntegration = new CLIIntegration();\n","/**\n * Enhanced Memory Client with CLI Integration\n * \n * Intelligently routes requests through CLI v1.5.2+ when available,\n * with fallback to direct API for maximum compatibility and performance\n */\n\nimport { MemoryClient, type MemoryClientConfig, type ApiResponse, type PaginatedResponse } from './client';\nimport { CLIIntegration, type CLIAuthStatus, type CLIMCPStatus } from './cli-integration';\nimport type {\n MemoryEntry,\n MemoryTopic,\n CreateMemoryRequest,\n UpdateMemoryRequest,\n SearchMemoryRequest,\n MemorySearchResult,\n UserMemoryStats,\n CreateTopicRequest\n} from './types';\n\nexport interface EnhancedMemoryClientConfig extends MemoryClientConfig {\n /** Prefer CLI when available (default: true) */\n preferCLI?: boolean;\n /** Enable MCP channels when available (default: true) */\n enableMCP?: boolean;\n /** CLI detection timeout in ms (default: 5000) */\n cliDetectionTimeout?: number;\n /** Fallback to direct API on CLI failure (default: true) */\n fallbackToAPI?: boolean;\n /** Minimum CLI version required for Golden Contract compliance (default: 1.5.2) */\n minCLIVersion?: string;\n /** Enable verbose logging for troubleshooting (default: false) */\n verbose?: boolean;\n}\n\nexport interface OperationResult<T> {\n data?: T;\n error?: string;\n source: 'cli' | 'api';\n mcpUsed?: boolean;\n}\n\n/**\n * Enhanced Memory Client with intelligent CLI/API routing\n */\nexport class EnhancedMemoryClient {\n private directClient: MemoryClient;\n private cliIntegration: CLIIntegration;\n private config: Required<EnhancedMemoryClientConfig>;\n private capabilities: Awaited<ReturnType<CLIIntegration['getCapabilities']>> | null = null;\n\n private createDefaultCapabilities(): Awaited<ReturnType<CLIIntegration['getCapabilities']>> {\n return {\n cliAvailable: false,\n mcpSupport: false,\n authenticated: false,\n goldenContract: false\n };\n }\n\n constructor(config: EnhancedMemoryClientConfig) {\n this.config = {\n preferCLI: true,\n enableMCP: true,\n cliDetectionTimeout: 5000,\n fallbackToAPI: true,\n minCLIVersion: '1.5.2',\n verbose: false,\n timeout: 30000,\n useGateway: true,\n apiKey: config.apiKey || process.env.LANONASIS_API_KEY || '',\n authToken: config.authToken || '',\n headers: config.headers || {},\n ...config\n };\n\n this.directClient = new MemoryClient(config);\n this.cliIntegration = new CLIIntegration();\n }\n\n /**\n * Initialize the client and detect capabilities\n */\n async initialize(): Promise<void> {\n try {\n const detectionPromise = this.cliIntegration.getCapabilities();\n const capabilities = this.config.cliDetectionTimeout > 0\n ? await Promise.race([\n detectionPromise,\n new Promise<null>((resolve) => {\n setTimeout(() => resolve(null), this.config.cliDetectionTimeout);\n })\n ])\n : await detectionPromise;\n\n if (capabilities) {\n this.capabilities = capabilities;\n\n if (this.config.verbose && capabilities.cliAvailable && !capabilities.authenticated) {\n const suggestedCommand = capabilities.goldenContract ? 'onasis login' : 'lanonasis login';\n console.warn(\n `CLI detected but not authenticated. Run '${suggestedCommand}' to enable enhanced SDK features.`\n );\n }\n } else {\n this.capabilities = this.createDefaultCapabilities();\n if (this.config.verbose) {\n console.warn(\n `CLI detection timed out after ${this.config.cliDetectionTimeout}ms. Falling back to API mode.`\n );\n }\n }\n } catch (error) {\n if (this.config.verbose) {\n console.warn('CLI detection failed:', error);\n }\n this.capabilities = this.createDefaultCapabilities();\n }\n }\n\n /**\n * Get current capabilities\n */\n async getCapabilities(): Promise<Awaited<ReturnType<CLIIntegration['getCapabilities']>>> {\n if (!this.capabilities) {\n await this.initialize();\n }\n if (!this.capabilities) {\n this.capabilities = this.createDefaultCapabilities();\n }\n return this.capabilities;\n }\n\n /**\n * Determine if operation should use CLI\n */\n private async shouldUseCLI(): Promise<boolean> {\n const capabilities = await this.getCapabilities();\n \n return (\n this.config.preferCLI &&\n capabilities.cliAvailable &&\n capabilities.authenticated &&\n capabilities.goldenContract\n );\n }\n\n /**\n * Execute operation with intelligent routing\n */\n private async executeOperation<T>(\n operation: string,\n cliOperation: () => Promise<ApiResponse<T>>,\n apiOperation: () => Promise<ApiResponse<T>>\n ): Promise<OperationResult<T>> {\n const useCLI = await this.shouldUseCLI();\n const capabilities = await this.getCapabilities();\n\n if (useCLI) {\n try {\n const result = await cliOperation();\n \n if (result.error && this.config.fallbackToAPI) {\n console.warn(`CLI ${operation} failed, falling back to API:`, result.error);\n const apiResult = await apiOperation();\n return {\n ...apiResult,\n source: 'api',\n mcpUsed: false\n };\n }\n\n return {\n ...result,\n source: 'cli',\n mcpUsed: capabilities.mcpSupport\n };\n } catch (error) {\n if (this.config.fallbackToAPI) {\n console.warn(`CLI ${operation} error, falling back to API:`, error);\n const apiResult = await apiOperation();\n return {\n ...apiResult,\n source: 'api',\n mcpUsed: false\n };\n }\n \n return {\n error: error instanceof Error ? error.message : `CLI ${operation} failed`,\n source: 'cli',\n mcpUsed: false\n };\n }\n } else {\n const result = await apiOperation();\n return {\n ...result,\n source: 'api',\n mcpUsed: false\n };\n }\n }\n\n // Enhanced API Methods\n\n /**\n * Health check with intelligent routing\n */\n async healthCheck(): Promise<OperationResult<{ status: string; timestamp: string }>> {\n return this.executeOperation(\n 'health check',\n () => this.cliIntegration.healthCheckViaCLI(),\n () => this.directClient.healthCheck()\n );\n }\n\n /**\n * Create memory with CLI/API routing\n */\n async createMemory(memory: CreateMemoryRequest): Promise<OperationResult<MemoryEntry>> {\n return this.executeOperation(\n 'create memory',\n () => this.cliIntegration.createMemoryViaCLI(\n memory.title,\n memory.content,\n {\n memoryType: memory.memory_type,\n tags: memory.tags,\n topicId: memory.topic_id\n }\n ),\n () => this.directClient.createMemory(memory)\n );\n }\n\n /**\n * List memories with intelligent routing\n */\n async listMemories(options: {\n page?: number;\n limit?: number;\n memory_type?: string;\n topic_id?: string;\n project_ref?: string;\n status?: string;\n tags?: string[];\n sort?: string;\n order?: 'asc' | 'desc';\n } = {}): Promise<OperationResult<PaginatedResponse<MemoryEntry>>> {\n return this.executeOperation(\n 'list memories',\n () => this.cliIntegration.listMemoriesViaCLI({\n limit: options.limit,\n memoryType: options.memory_type,\n tags: options.tags,\n sortBy: options.sort\n }),\n () => this.directClient.listMemories(options)\n );\n }\n\n /**\n * Search memories with MCP enhancement when available\n */\n async searchMemories(request: SearchMemoryRequest): Promise<OperationResult<{\n results: MemorySearchResult[];\n total_results: number;\n search_time_ms: number;\n }>> {\n return this.executeOperation(\n 'search memories',\n () => this.cliIntegration.searchMemoriesViaCLI(\n request.query,\n {\n limit: request.limit,\n memoryTypes: request.memory_types\n }\n ),\n () => this.directClient.searchMemories(request)\n );\n }\n\n /**\n * Get memory by ID (API only for now)\n */\n async getMemory(id: string): Promise<OperationResult<MemoryEntry>> {\n // CLI doesn't have get by ID yet, use API\n const result = await this.directClient.getMemory(id);\n return {\n ...result,\n source: 'api',\n mcpUsed: false\n };\n }\n\n /**\n * Update memory (API only for now)\n */\n async updateMemory(id: string, updates: UpdateMemoryRequest): Promise<OperationResult<MemoryEntry>> {\n // CLI doesn't have update yet, use API\n const result = await this.directClient.updateMemory(id, updates);\n return {\n ...result,\n source: 'api',\n mcpUsed: false\n };\n }\n\n /**\n * Delete memory (API only for now)\n */\n async deleteMemory(id: string): Promise<OperationResult<void>> {\n // CLI doesn't have delete yet, use API\n const result = await this.directClient.deleteMemory(id);\n return {\n ...result,\n source: 'api',\n mcpUsed: false\n };\n }\n\n // Topic Operations (API only for now)\n\n async createTopic(topic: CreateTopicRequest): Promise<OperationResult<MemoryTopic>> {\n const result = await this.directClient.createTopic(topic);\n return { ...result, source: 'api', mcpUsed: false };\n }\n\n async getTopics(): Promise<OperationResult<MemoryTopic[]>> {\n const result = await this.directClient.getTopics();\n return { ...result, source: 'api', mcpUsed: false };\n }\n\n async getTopic(id: string): Promise<OperationResult<MemoryTopic>> {\n const result = await this.directClient.getTopic(id);\n return { ...result, source: 'api', mcpUsed: false };\n }\n\n async updateTopic(id: string, updates: Partial<CreateTopicRequest>): Promise<OperationResult<MemoryTopic>> {\n const result = await this.directClient.updateTopic(id, updates);\n return { ...result, source: 'api', mcpUsed: false };\n }\n\n async deleteTopic(id: string): Promise<OperationResult<void>> {\n const result = await this.directClient.deleteTopic(id);\n return { ...result, source: 'api', mcpUsed: false };\n }\n\n /**\n * Get memory statistics\n */\n async getMemoryStats(): Promise<OperationResult<UserMemoryStats>> {\n const result = await this.directClient.getMemoryStats();\n return { ...result, source: 'api', mcpUsed: false };\n }\n\n // Utility Methods\n\n /**\n * Force CLI re-detection\n */\n async refreshCLIDetection(): Promise<void> {\n this.capabilities = null;\n await this.cliIntegration.refresh();\n await this.initialize();\n }\n\n /**\n * Get authentication status from CLI\n */\n async getAuthStatus(): Promise<OperationResult<CLIAuthStatus>> {\n try {\n const result = await this.cliIntegration.getAuthStatus();\n return { ...result, source: 'cli', mcpUsed: false };\n } catch (error) {\n return {\n error: error instanceof Error ? error.message : 'Auth status check failed',\n source: 'cli',\n mcpUsed: false\n };\n }\n }\n\n /**\n * Get MCP status when available\n */\n async getMCPStatus(): Promise<OperationResult<CLIMCPStatus>> {\n const capabilities = await this.getCapabilities();\n \n if (!capabilities.mcpSupport) {\n return {\n error: 'MCP not available',\n source: 'cli',\n mcpUsed: false\n };\n }\n\n try {\n const result = await this.cliIntegration.getMCPStatus();\n return { ...result, source: 'cli', mcpUsed: true };\n } catch (error) {\n return {\n error: error instanceof Error ? error.message : 'MCP status check failed',\n source: 'cli',\n mcpUsed: false\n };\n }\n }\n\n /**\n * Update authentication for both CLI and API client\n */\n setAuthToken(token: string): void {\n this.directClient.setAuthToken(token);\n }\n\n setApiKey(apiKey: string): void {\n this.directClient.setApiKey(apiKey);\n }\n\n clearAuth(): void {\n this.directClient.clearAuth();\n }\n\n /**\n * Update configuration\n */\n updateConfig(updates: Partial<EnhancedMemoryClientConfig>): void {\n this.config = { ...this.config, ...updates };\n this.directClient.updateConfig(updates);\n }\n\n /**\n * Get configuration summary\n */\n getConfigSummary(): {\n apiUrl: string;\n preferCLI: boolean;\n enableMCP: boolean;\n capabilities?: Awaited<ReturnType<CLIIntegration['getCapabilities']>>;\n } {\n return {\n apiUrl: this.config.apiUrl,\n preferCLI: this.config.preferCLI,\n enableMCP: this.config.enableMCP,\n capabilities: this.capabilities || undefined\n };\n }\n}\n\n/**\n * Factory function to create an enhanced memory client\n */\nexport async function createEnhancedMemoryClient(config: EnhancedMemoryClientConfig): Promise<EnhancedMemoryClient> {\n const client = new EnhancedMemoryClient(config);\n await client.initialize();\n return client;\n}\n","/**\n * Configuration utilities for Memory Client SDK\n * Provides smart defaults and environment detection for CLI/MCP integration\n */\n\nimport type { EnhancedMemoryClientConfig } from './enhanced-client';\nimport { MemoryClientConfig } from './client';\n\nexport interface SmartConfigOptions {\n /** Prefer CLI integration when available (default: true in Node.js environments) */\n preferCLI?: boolean;\n \n /** Minimum CLI version required for Golden Contract compliance (default: 1.5.2) */\n minCLIVersion?: string;\n \n /** Enable MCP channel detection (default: true) */\n enableMCP?: boolean;\n \n /** API fallback configuration */\n apiConfig?: Partial<MemoryClientConfig>;\n \n /** Timeout for CLI detection in milliseconds (default: 3000) */\n cliDetectionTimeout?: number;\n \n /** Enable verbose logging for troubleshooting (default: false) */\n verbose?: boolean;\n}\n\n/**\n * Environment detection utilities\n */\nexport const Environment = {\n isNode: typeof globalThis !== 'undefined' && 'process' in globalThis && globalThis.process?.versions?.node,\n isBrowser: typeof window !== 'undefined',\n isVSCode: typeof globalThis !== 'undefined' && 'vscode' in globalThis,\n isCursor: typeof globalThis !== 'undefined' && 'cursor' in globalThis,\n isWindsurf: typeof globalThis !== 'undefined' && 'windsurf' in globalThis,\n \n get isIDE() {\n return this.isVSCode || this.isCursor || this.isWindsurf;\n },\n \n get supportsCLI(): boolean {\n return Boolean(this.isNode && !this.isBrowser);\n }\n};\n\n/**\n * Create smart configuration with environment-aware defaults\n */\nexport function createSmartConfig(\n baseConfig: Partial<MemoryClientConfig>,\n options: SmartConfigOptions = {}\n): EnhancedMemoryClientConfig {\n const defaults: SmartConfigOptions = {\n preferCLI: Environment.supportsCLI,\n minCLIVersion: '1.5.2',\n enableMCP: true,\n cliDetectionTimeout: 3000,\n verbose: false\n };\n \n const config = { ...defaults, ...options };\n const preferCLI = config.preferCLI ?? defaults.preferCLI ?? false;\n const minCLIVersion = config.minCLIVersion ?? defaults.minCLIVersion ?? '1.5.2';\n const enableMCP = config.enableMCP ?? defaults.enableMCP ?? true;\n const cliDetectionTimeout = config.cliDetectionTimeout ?? defaults.cliDetectionTimeout ?? 3000;\n const verbose = config.verbose ?? defaults.verbose ?? false;\n \n return {\n ...baseConfig,\n preferCLI,\n minCLIVersion,\n enableMCP,\n cliDetectionTimeout,\n verbose,\n \n // Smart API configuration with environment detection\n apiUrl: baseConfig.apiUrl || (\n process?.env?.NODE_ENV === 'development' \n ? 'http://localhost:3001'\n : 'https://api.lanonasis.com'\n ),\n \n // Default timeout based on environment\n timeout: baseConfig.timeout || (Environment.isIDE ? 10000 : 15000)\n };\n}\n\n/**\n * Preset configurations for common scenarios\n */\nexport const ConfigPresets = {\n /**\n * Development configuration with local API and CLI preference\n */\n development: (apiKey?: string): EnhancedMemoryClientConfig => createSmartConfig({\n apiUrl: 'http://localhost:3001',\n apiKey,\n timeout: 30000\n }, {\n preferCLI: true,\n verbose: true\n }),\n \n /**\n * Production configuration optimized for performance\n */\n production: (apiKey?: string): EnhancedMemoryClientConfig => createSmartConfig({\n apiUrl: 'https://api.lanonasis.com',\n apiKey,\n timeout: 15000\n }, {\n preferCLI: Environment.supportsCLI,\n verbose: false\n }),\n \n /**\n * IDE extension configuration with MCP prioritization\n */\n ideExtension: (apiKey?: string): EnhancedMemoryClientConfig => createSmartConfig({\n apiUrl: 'https://api.lanonasis.com',\n apiKey,\n timeout: 10000\n }, {\n preferCLI: true,\n enableMCP: true,\n cliDetectionTimeout: 2000\n }),\n \n /**\n * Browser-only configuration (no CLI support)\n */\n browserOnly: (apiKey?: string): EnhancedMemoryClientConfig => createSmartConfig({\n apiUrl: 'https://api.lanonasis.com',\n apiKey,\n timeout: 15000\n }, {\n preferCLI: false,\n enableMCP: false\n }),\n \n /**\n * CLI-first configuration for server environments\n */\n serverCLI: (apiKey?: string): EnhancedMemoryClientConfig => createSmartConfig({\n apiUrl: 'https://api.lanonasis.com',\n apiKey,\n timeout: 20000\n }, {\n preferCLI: true,\n enableMCP: true,\n verbose: false\n })\n};\n\n/**\n * Migration helper for existing MemoryClient users\n */\nexport function migrateToEnhanced(\n existingConfig: MemoryClientConfig,\n enhancementOptions: SmartConfigOptions = {}\n): EnhancedMemoryClientConfig {\n return createSmartConfig(existingConfig, {\n preferCLI: Environment.supportsCLI,\n ...enhancementOptions\n });\n}\n","import { z } from 'zod';\n\n/**\n * Memory types supported by the service\n */\nexport const MEMORY_TYPES = ['context', 'project', 'knowledge', 'reference', 'personal', 'workflow'] as const;\nexport type MemoryType = typeof MEMORY_TYPES[number];\n\n/**\n * Memory status values\n */\nexport const MEMORY_STATUSES = ['active', 'archived', 'draft', 'deleted'] as const;\nexport type MemoryStatus = typeof MEMORY_STATUSES[number];\n\n/**\n * Core memory entry interface\n */\nexport interface MemoryEntry {\n id: string;\n title: string;\n content: string;\n summary?: string;\n memory_type: MemoryType;\n status: MemoryStatus;\n relevance_score?: number;\n access_count: number;\n last_accessed?: string;\n user_id: string;\n topic_id?: string;\n project_ref?: string;\n tags: string[];\n metadata?: Record<string, unknown>;\n created_at: string;\n updated_at: string;\n}\n\n/**\n * Memory topic for organization\n */\nexport interface MemoryTopic {\n id: string;\n name: string;\n description?: string;\n color?: string;\n icon?: string;\n user_id: string;\n parent_topic_id?: string;\n is_system: boolean;\n metadata?: Record<string, unknown>;\n created_at: string;\n updated_at: string;\n}\n\n/**\n * Memory search result with similarity score\n */\nexport interface MemorySearchResult extends MemoryEntry {\n similarity_score: number;\n}\n\n/**\n * User memory statistics\n */\nexport interface UserMemoryStats {\n total_memories: number;\n memories_by_type: Record<MemoryType, number>;\n total_topics: number;\n most_accessed_memory?: string;\n recent_memories: string[];\n}\n\n/**\n * Validation schemas using Zod\n */\n\nexport const createMemorySchema = z.object({\n title: z.string().min(1).max(500),\n content: z.string().min(1).max(50000),\n summary: z.string().max(1000).optional(),\n memory_type: z.enum(MEMORY_TYPES).default('context'),\n topic_id: z.string().uuid().optional(),\n project_ref: z.string().max(100).optional(),\n tags: z.array(z.string().min(1).max(50)).max(20).default([]),\n metadata: z.record(z.string(), z.unknown()).optional()\n});\n\nexport const updateMemorySchema = z.object({\n title: z.string().min(1).max(500).optional(),\n content: z.string().min(1).max(50000).optional(),\n summary: z.string().max(1000).optional(),\n memory_type: z.enum(MEMORY_TYPES).optional(),\n status: z.enum(MEMORY_STATUSES).optional(),\n topic_id: z.string().uuid().nullable().optional(),\n project_ref: z.string().max(100).nullable().optional(),\n tags: z.array(z.string().min(1).max(50)).max(20).optional(),\n metadata: z.record(z.string(), z.unknown()).optional()\n});\n\nexport const searchMemorySchema = z.object({\n query: z.string().min(1).max(1000),\n memory_types: z.array(z.enum(MEMORY_TYPES)).optional(),\n tags: z.array(z.string()).optional(),\n topic_id: z.string().uuid().optional(),\n project_ref: z.string().optional(),\n status: z.enum(MEMORY_STATUSES).default('active'),\n limit: z.number().int().min(1).max(100).default(20),\n threshold: z.number().min(0).max(1).default(0.7)\n});\n\nexport const createTopicSchema = z.object({\n name: z.string().min(1).max(100),\n description: z.string().max(500).optional(),\n color: z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional(),\n icon: z.string().max(50).optional(),\n parent_topic_id: z.string().uuid().optional()\n});\n\n/**\n * Inferred types from schemas\n */\nexport type CreateMemoryRequest = z.infer<typeof createMemorySchema>;\nexport type UpdateMemoryRequest = z.infer<typeof updateMemorySchema>;\nexport type SearchMemoryRequest = z.infer<typeof searchMemorySchema>;\nexport type CreateTopicRequest = z.infer<typeof createTopicSchema>;","/**\n * @lanonasis/memory-client\n * \n * Memory as a Service (MaaS) Client SDK for Lanonasis\n * Intelligent memory management with semantic search capabilities\n */\n\n// Main client\nexport { MemoryClient, createMemoryClient } from './client';\nexport type { MemoryClientConfig, ApiResponse, PaginatedResponse } from './client';\n\n// Enhanced client with CLI integration\nexport { EnhancedMemoryClient, createEnhancedMemoryClient } from './enhanced-client';\nexport type { EnhancedMemoryClientConfig, OperationResult } from './enhanced-client';\n\n// CLI integration utilities\nexport { CLIIntegration } from './cli-integration';\nexport type { CLIInfo, CLICommand, MCPChannel, CLICapabilities, RoutingStrategy } from './cli-integration';\n\n// Configuration utilities\nexport { createSmartConfig, ConfigPresets, migrateToEnhanced, Environment } from './config';\nexport type { SmartConfigOptions } from './config';\n\n// Types and schemas\nexport * from './types';\n\n// Constants\nexport const VERSION = '1.0.0';\nexport const CLIENT_NAME = '@lanonasis/memory-client';\n\n// Environment detection\nexport const isBrowser = typeof window !== 'undefined';\nexport const isNode = typeof globalThis !== 'undefined' && 'process' in globalThis && globalThis.process?.versions?.node;\n\n// Default configurations for different environments\nexport const defaultConfigs = {\n development: {\n apiUrl: 'http://localhost:3001',\n timeout: 30000,\n useGateway: false\n },\n production: {\n apiUrl: 'https://api.lanonasis.com',\n timeout: 15000,\n useGateway: true\n },\n gateway: {\n apiUrl: 'https://api.lanonasis.com',\n timeout: 10000,\n useGateway: true\n }\n} as const;\n\n// Utility functions will be added in a future version to avoid circular imports\n"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -575,6 +575,9 @@ class EnhancedMemoryClient {
|
|
|
575
575
|
if (!this.capabilities) {
|
|
576
576
|
await this.initialize();
|
|
577
577
|
}
|
|
578
|
+
if (!this.capabilities) {
|
|
579
|
+
this.capabilities = this.createDefaultCapabilities();
|
|
580
|
+
}
|
|
578
581
|
return this.capabilities;
|
|
579
582
|
}
|
|
580
583
|
/**
|
|
@@ -859,13 +862,18 @@ function createSmartConfig(baseConfig, options = {}) {
|
|
|
859
862
|
verbose: false
|
|
860
863
|
};
|
|
861
864
|
const config = { ...defaults, ...options };
|
|
865
|
+
const preferCLI = config.preferCLI ?? defaults.preferCLI ?? false;
|
|
866
|
+
const minCLIVersion = config.minCLIVersion ?? defaults.minCLIVersion ?? '1.5.2';
|
|
867
|
+
const enableMCP = config.enableMCP ?? defaults.enableMCP ?? true;
|
|
868
|
+
const cliDetectionTimeout = config.cliDetectionTimeout ?? defaults.cliDetectionTimeout ?? 3000;
|
|
869
|
+
const verbose = config.verbose ?? defaults.verbose ?? false;
|
|
862
870
|
return {
|
|
863
871
|
...baseConfig,
|
|
864
|
-
preferCLI
|
|
865
|
-
minCLIVersion
|
|
866
|
-
enableMCP
|
|
867
|
-
cliDetectionTimeout
|
|
868
|
-
verbose
|
|
872
|
+
preferCLI,
|
|
873
|
+
minCLIVersion,
|
|
874
|
+
enableMCP,
|
|
875
|
+
cliDetectionTimeout,
|
|
876
|
+
verbose,
|
|
869
877
|
// Smart API configuration with environment detection
|
|
870
878
|
apiUrl: baseConfig.apiUrl || (process?.env?.NODE_ENV === 'development'
|
|
871
879
|
? 'http://localhost:3001'
|
|
@@ -965,7 +973,7 @@ const createMemorySchema = zod.z.object({
|
|
|
965
973
|
topic_id: zod.z.string().uuid().optional(),
|
|
966
974
|
project_ref: zod.z.string().max(100).optional(),
|
|
967
975
|
tags: zod.z.array(zod.z.string().min(1).max(50)).max(20).default([]),
|
|
968
|
-
metadata: zod.z.record(zod.z.unknown()).optional()
|
|
976
|
+
metadata: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
969
977
|
});
|
|
970
978
|
const updateMemorySchema = zod.z.object({
|
|
971
979
|
title: zod.z.string().min(1).max(500).optional(),
|
|
@@ -976,7 +984,7 @@ const updateMemorySchema = zod.z.object({
|
|
|
976
984
|
topic_id: zod.z.string().uuid().nullable().optional(),
|
|
977
985
|
project_ref: zod.z.string().max(100).nullable().optional(),
|
|
978
986
|
tags: zod.z.array(zod.z.string().min(1).max(50)).max(20).optional(),
|
|
979
|
-
metadata: zod.z.record(zod.z.unknown()).optional()
|
|
987
|
+
metadata: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
980
988
|
});
|
|
981
989
|
const searchMemorySchema = zod.z.object({
|
|
982
990
|
query: zod.z.string().min(1).max(1000),
|