@jee1/memento-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.
Files changed (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -0
  3. package/dist/client/agent-client.d.ts +15 -0
  4. package/dist/client/agent-client.d.ts.map +1 -0
  5. package/dist/client/agent-client.js +64 -0
  6. package/dist/client/agent-client.js.map +1 -0
  7. package/dist/client/client-context.d.ts +14 -0
  8. package/dist/client/client-context.d.ts.map +1 -0
  9. package/dist/client/client-context.js +2 -0
  10. package/dist/client/client-context.js.map +1 -0
  11. package/dist/client/factory.d.ts +7 -0
  12. package/dist/client/factory.d.ts.map +1 -0
  13. package/dist/client/factory.js +8 -0
  14. package/dist/client/factory.js.map +1 -0
  15. package/dist/client/format-utils.d.ts +10 -0
  16. package/dist/client/format-utils.d.ts.map +1 -0
  17. package/dist/client/format-utils.js +79 -0
  18. package/dist/client/format-utils.js.map +1 -0
  19. package/dist/client/http-transport.d.ts +29 -0
  20. package/dist/client/http-transport.d.ts.map +1 -0
  21. package/dist/client/http-transport.js +123 -0
  22. package/dist/client/http-transport.js.map +1 -0
  23. package/dist/client/memory-client.d.ts +27 -0
  24. package/dist/client/memory-client.d.ts.map +1 -0
  25. package/dist/client/memory-client.js +128 -0
  26. package/dist/client/memory-client.js.map +1 -0
  27. package/dist/client/memory-utils.d.ts +30 -0
  28. package/dist/client/memory-utils.d.ts.map +1 -0
  29. package/dist/client/memory-utils.js +121 -0
  30. package/dist/client/memory-utils.js.map +1 -0
  31. package/dist/client/search-client.d.ts +14 -0
  32. package/dist/client/search-client.d.ts.map +1 -0
  33. package/dist/client/search-client.js +54 -0
  34. package/dist/client/search-client.js.map +1 -0
  35. package/dist/client/search-utils.d.ts +14 -0
  36. package/dist/client/search-utils.d.ts.map +1 -0
  37. package/dist/client/search-utils.js +46 -0
  38. package/dist/client/search-utils.js.map +1 -0
  39. package/dist/client/time-utils.d.ts +9 -0
  40. package/dist/client/time-utils.d.ts.map +1 -0
  41. package/dist/client/time-utils.js +36 -0
  42. package/dist/client/time-utils.js.map +1 -0
  43. package/dist/client/tools-client.d.ts +23 -0
  44. package/dist/client/tools-client.d.ts.map +1 -0
  45. package/dist/client/tools-client.js +57 -0
  46. package/dist/client/tools-client.js.map +1 -0
  47. package/dist/client/validation-utils.d.ts +28 -0
  48. package/dist/client/validation-utils.d.ts.map +1 -0
  49. package/dist/client/validation-utils.js +93 -0
  50. package/dist/client/validation-utils.js.map +1 -0
  51. package/dist/context-injector.d.ts +106 -0
  52. package/dist/context-injector.d.ts.map +1 -0
  53. package/dist/context-injector.js +299 -0
  54. package/dist/context-injector.js.map +1 -0
  55. package/dist/index.d.ts +43 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +44 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/logger.d.ts +11 -0
  60. package/dist/logger.d.ts.map +1 -0
  61. package/dist/logger.js +27 -0
  62. package/dist/logger.js.map +1 -0
  63. package/dist/memento-client.d.ts +64 -0
  64. package/dist/memento-client.d.ts.map +1 -0
  65. package/dist/memento-client.js +146 -0
  66. package/dist/memento-client.js.map +1 -0
  67. package/dist/memory-manager.d.ts +137 -0
  68. package/dist/memory-manager.d.ts.map +1 -0
  69. package/dist/memory-manager.js +342 -0
  70. package/dist/memory-manager.js.map +1 -0
  71. package/dist/types.d.ts +288 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +44 -0
  74. package/dist/types.js.map +1 -0
  75. package/dist/utils.d.ts +11 -0
  76. package/dist/utils.d.ts.map +1 -0
  77. package/dist/utils.js +11 -0
  78. package/dist/utils.js.map +1 -0
  79. package/package.json +53 -0
@@ -0,0 +1,288 @@
1
+ /**
2
+ * @jee1/memento-client 타입 정의
3
+ * Memento MCP Server와 통신하기 위한 클라이언트 라이브러리 타입들
4
+ */
5
+ export type MemoryType = 'working' | 'episodic' | 'semantic' | 'procedural' | 'core' | 'vault';
6
+ export type PrivacyScope = 'private' | 'team' | 'public';
7
+ export interface MementoClientOptions {
8
+ /** MCP 서버 URL (기본값: http://localhost:8080) */
9
+ serverUrl?: string;
10
+ /** API 키 (M2+에서 사용) */
11
+ apiKey?: string;
12
+ /** 연결 타임아웃 (밀리초, 기본값: 10000) */
13
+ timeout?: number;
14
+ /** 재시도 횟수 (기본값: 3) */
15
+ retryCount?: number;
16
+ /** 로그 레벨 */
17
+ logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';
18
+ }
19
+ export interface MemoryItem {
20
+ id: string;
21
+ content: string;
22
+ type: MemoryType;
23
+ importance: number;
24
+ created_at: string;
25
+ last_accessed?: string;
26
+ pinned: boolean;
27
+ source?: string;
28
+ tags?: string[];
29
+ privacy_scope: PrivacyScope;
30
+ project_id?: string;
31
+ user_id?: string;
32
+ metadata?: Record<string, unknown>;
33
+ }
34
+ export interface CreateMemoryParams {
35
+ content?: string;
36
+ type?: MemoryType;
37
+ key?: string;
38
+ value?: string;
39
+ always_load?: boolean;
40
+ immutable?: boolean;
41
+ task_goal?: string;
42
+ steps?: string;
43
+ reflection_notes?: string;
44
+ tags?: string[];
45
+ importance?: number;
46
+ source?: string;
47
+ privacy_scope?: PrivacyScope;
48
+ project_id?: string;
49
+ metadata?: Record<string, unknown>;
50
+ }
51
+ export interface UpdateMemoryParams {
52
+ content?: string;
53
+ type?: MemoryType;
54
+ key?: string;
55
+ value?: string;
56
+ always_load?: boolean;
57
+ immutable?: boolean;
58
+ task_goal?: string;
59
+ steps?: string;
60
+ reflection_notes?: string;
61
+ tags?: string[];
62
+ importance?: number;
63
+ source?: string;
64
+ privacy_scope?: PrivacyScope;
65
+ project_id?: string;
66
+ metadata?: Record<string, unknown>;
67
+ }
68
+ export interface SearchFilters {
69
+ id?: string[];
70
+ type?: MemoryType[];
71
+ tags?: string[];
72
+ project_id?: string;
73
+ time_from?: string;
74
+ time_to?: string;
75
+ pinned?: boolean;
76
+ }
77
+ /**
78
+ * `/tools/recall`에 전달하는 추가 옵션.
79
+ * `score_breakdown`을 받으려면 서버 계약상 `include_metadata`와 `include_score_breakdown`을 모두 켜야 한다.
80
+ */
81
+ export interface RecallCallOptions {
82
+ include_metadata?: boolean;
83
+ include_score_breakdown?: boolean;
84
+ /** 하이브리드 검색 가중치 (0–1). 서버 `recall` 도구 `vector_weight`와 동일 */
85
+ vector_weight?: number;
86
+ /** 하이브리드 검색 가중치 (0–1). 서버 `recall` 도구 `text_weight`와 동일 */
87
+ text_weight?: number;
88
+ }
89
+ export interface SearchResult {
90
+ items: MemorySearchResult[];
91
+ total_count: number;
92
+ query_time: number;
93
+ search_type?: string;
94
+ vector_search_available?: boolean;
95
+ }
96
+ export interface MemorySearchResult {
97
+ id: string;
98
+ content: string;
99
+ type: MemoryType;
100
+ importance: number;
101
+ created_at: string;
102
+ last_accessed?: string;
103
+ pinned: boolean;
104
+ tags?: string[];
105
+ privacy_scope: PrivacyScope;
106
+ score: number;
107
+ recall_reason: string;
108
+ /** `recall` 시 include_metadata·include_score_breakdown이 모두 true일 때만(서버 계약) */
109
+ score_breakdown?: unknown;
110
+ }
111
+ export interface HybridSearchParams {
112
+ query: string;
113
+ filters?: SearchFilters;
114
+ limit?: number;
115
+ vectorWeight?: number;
116
+ textWeight?: number;
117
+ /** recall과 동일 — score_breakdown을 쓰려면 include_metadata·include_score_breakdown 필요 */
118
+ include_metadata?: boolean;
119
+ include_score_breakdown?: boolean;
120
+ }
121
+ export interface HybridSearchResult {
122
+ items: HybridSearchItem[];
123
+ total_count: number;
124
+ query_time: number;
125
+ search_type: 'hybrid';
126
+ }
127
+ export interface HybridSearchItem {
128
+ id: string;
129
+ content: string;
130
+ type: MemoryType;
131
+ importance: number;
132
+ created_at: string;
133
+ last_accessed?: string;
134
+ pinned: boolean;
135
+ tags?: string[];
136
+ privacy_scope: PrivacyScope;
137
+ textScore: number;
138
+ vectorScore: number;
139
+ finalScore: number;
140
+ score: number;
141
+ recall_reason: string;
142
+ score_breakdown?: unknown;
143
+ }
144
+ export interface RememberResult {
145
+ memory_id: string;
146
+ created_at: string;
147
+ type: string;
148
+ importance: number;
149
+ }
150
+ export interface PinResult {
151
+ success: boolean;
152
+ memory_id: string;
153
+ pinned: boolean;
154
+ }
155
+ export interface ForgetResult {
156
+ success: boolean;
157
+ memory_id: string;
158
+ deleted_at: string;
159
+ }
160
+ export interface LinkResult {
161
+ success: boolean;
162
+ link_id: string;
163
+ source_id: string;
164
+ target_id: string;
165
+ relation_type: string;
166
+ created_at: string;
167
+ }
168
+ export interface ExportResult {
169
+ success: boolean;
170
+ format: string;
171
+ data: string;
172
+ count: number;
173
+ exported_at: string;
174
+ }
175
+ export interface FeedbackResult {
176
+ success: boolean;
177
+ memory_id?: string;
178
+ feedback_id?: string;
179
+ helpful?: boolean;
180
+ created_at?: string;
181
+ /** 실패 시 (contracts/mcp-tools.md) */
182
+ error?: string;
183
+ }
184
+ /**
185
+ * `MementoClient.feedback()` 6번째 인자(FR-002) — `session_id`·`agent_id` 출처 추적.
186
+ * `score_breakdown`만 없고 attribution만 줄 때: `feedback(id, h, comment, score, undefined, options)`.
187
+ */
188
+ export interface FeedbackCallOptions {
189
+ session_id?: string;
190
+ agent_id?: string;
191
+ }
192
+ /** `recordRecallFeedback()` — comment·score·attribution을 한 번에 전달 */
193
+ export interface RecordRecallFeedbackOptions extends FeedbackCallOptions {
194
+ comment?: string;
195
+ score?: number;
196
+ }
197
+ export interface ContextInjectionParams {
198
+ query: string;
199
+ token_budget?: number;
200
+ context_type?: 'conversation' | 'task' | 'general';
201
+ }
202
+ export interface ContextInjectionResult {
203
+ role: 'system';
204
+ content: string;
205
+ metadata: {
206
+ memories_used: number;
207
+ token_count: number;
208
+ search_time: number;
209
+ };
210
+ }
211
+ export type AgentEventEnvelopeLike = Record<string, unknown>;
212
+ export interface AgentObservationQuery {
213
+ cursor?: string;
214
+ limit?: number;
215
+ event_type?: string;
216
+ status?: string;
217
+ from?: string;
218
+ to?: string;
219
+ }
220
+ export interface AgentOperationsStatusQuery {
221
+ since?: string;
222
+ limit?: number;
223
+ }
224
+ export interface AgentProvenanceQuery {
225
+ memory_id?: string;
226
+ observation_id?: string;
227
+ direction?: 'sources' | 'derived' | 'both';
228
+ max_depth?: number;
229
+ }
230
+ export interface AgentProvenanceLinkInput {
231
+ memory_id: string;
232
+ session_id?: string;
233
+ observation_id?: string;
234
+ derivation_type: string;
235
+ }
236
+ export declare class MementoError extends Error {
237
+ code: string;
238
+ statusCode?: number | undefined;
239
+ details?: Record<string, unknown> | undefined;
240
+ constructor(message: string, code: string, statusCode?: number | undefined, details?: Record<string, unknown> | undefined);
241
+ }
242
+ export declare class ConnectionError extends MementoError {
243
+ constructor(message: string, details?: Record<string, unknown>);
244
+ }
245
+ export declare class AuthenticationError extends MementoError {
246
+ constructor(message: string, details?: Record<string, unknown>);
247
+ }
248
+ export declare class ValidationError extends MementoError {
249
+ constructor(message: string, details?: Record<string, unknown>);
250
+ }
251
+ export declare class NotFoundError extends MementoError {
252
+ constructor(message: string, details?: Record<string, unknown>);
253
+ }
254
+ export interface MementoClientEvents {
255
+ 'connected': () => void;
256
+ 'disconnected': () => void;
257
+ 'error': (error: MementoError) => void;
258
+ 'memory:created': (memory: MemoryItem) => void;
259
+ 'memory:updated': (memory: MemoryItem) => void;
260
+ 'memory:deleted': (memoryId: string) => void;
261
+ 'memory:pinned': (memoryId: string) => void;
262
+ 'memory:unpinned': (memoryId: string) => void;
263
+ }
264
+ export interface PaginationParams {
265
+ limit?: number;
266
+ offset?: number;
267
+ cursor?: string;
268
+ }
269
+ export interface PaginatedResult<T> {
270
+ items: T[];
271
+ total_count: number;
272
+ has_more: boolean;
273
+ next_cursor?: string;
274
+ }
275
+ export interface HealthCheck {
276
+ status: 'healthy' | 'unhealthy';
277
+ version: string;
278
+ uptime: number;
279
+ database: {
280
+ status: 'connected' | 'disconnected';
281
+ latency?: number;
282
+ };
283
+ search: {
284
+ status: 'available' | 'unavailable';
285
+ embedding_available: boolean;
286
+ };
287
+ }
288
+ //# 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,44 @@
1
+ /**
2
+ * @jee1/memento-client 타입 정의
3
+ * Memento MCP Server와 통신하기 위한 클라이언트 라이브러리 타입들
4
+ */
5
+ // ============================================================================
6
+ // 에러 타입들
7
+ // ============================================================================
8
+ export class MementoError extends Error {
9
+ code;
10
+ statusCode;
11
+ details;
12
+ constructor(message, code, statusCode, details) {
13
+ super(message);
14
+ this.code = code;
15
+ this.statusCode = statusCode;
16
+ this.details = details;
17
+ this.name = 'MementoError';
18
+ }
19
+ }
20
+ export class ConnectionError extends MementoError {
21
+ constructor(message, details) {
22
+ super(message, 'CONNECTION_ERROR', undefined, details);
23
+ this.name = 'ConnectionError';
24
+ }
25
+ }
26
+ export class AuthenticationError extends MementoError {
27
+ constructor(message, details) {
28
+ super(message, 'AUTHENTICATION_ERROR', 401, details);
29
+ this.name = 'AuthenticationError';
30
+ }
31
+ }
32
+ export class ValidationError extends MementoError {
33
+ constructor(message, details) {
34
+ super(message, 'VALIDATION_ERROR', 400, details);
35
+ this.name = 'ValidationError';
36
+ }
37
+ }
38
+ export class NotFoundError extends MementoError {
39
+ constructor(message, details) {
40
+ super(message, 'NOT_FOUND', 404, details);
41
+ this.name = 'NotFoundError';
42
+ }
43
+ }
44
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAySH,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,OAAO,YAAa,SAAQ,KAAK;IAG5B;IACA;IACA;IAJT,YACE,OAAe,EACR,IAAY,EACZ,UAAmB,EACnB,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @jee1/memento-client 유틸리티 함수들
3
+ * 클라이언트 라이브러리 사용을 편리하게 하는 헬퍼 함수들
4
+ */
5
+ export { isValidMemoryType, isValidPrivacyScope, isValidImportance, validateCreateMemoryParams, validateSearchParams, } from './client/validation-utils.js';
6
+ export { extractTagsFromContent, summarizeContent, calculateImportance, getDefaultSettingsForType, serializeMemory, deserializeMemory, } from './client/memory-utils.js';
7
+ export { normalizeQuery, normalizeScore, groupSearchResults, } from './client/search-utils.js';
8
+ export { getRelativeTime, createDateRangeFilter, } from './client/time-utils.js';
9
+ export { memoriesToCSV, memoriesToMarkdown, } from './client/format-utils.js';
10
+ export { createMementoClient } from './client/factory.js';
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/utils.js ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @jee1/memento-client 유틸리티 함수들
3
+ * 클라이언트 라이브러리 사용을 편리하게 하는 헬퍼 함수들
4
+ */
5
+ export { isValidMemoryType, isValidPrivacyScope, isValidImportance, validateCreateMemoryParams, validateSearchParams, } from './client/validation-utils.js';
6
+ export { extractTagsFromContent, summarizeContent, calculateImportance, getDefaultSettingsForType, serializeMemory, deserializeMemory, } from './client/memory-utils.js';
7
+ export { normalizeQuery, normalizeScore, groupSearchResults, } from './client/search-utils.js';
8
+ export { getRelativeTime, createDateRangeFilter, } from './client/time-utils.js';
9
+ export { memoriesToCSV, memoriesToMarkdown, } from './client/format-utils.js';
10
+ export { createMementoClient } from './client/factory.js';
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@jee1/memento-client",
3
+ "version": "0.1.0",
4
+ "description": "Memento MCP Server client library for AI Agents",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "files": [
9
+ "dist",
10
+ "README.md",
11
+ "LICENSE"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc -p tsconfig.build.json",
15
+ "dev": "tsc -p tsconfig.build.json --watch",
16
+ "clean": "rimraf dist",
17
+ "type-check": "tsc --declaration --emitDeclarationOnly",
18
+ "test": "vitest run",
19
+ "test:ci": "vitest run --reporter=basic"
20
+ },
21
+ "keywords": [
22
+ "memento",
23
+ "mcp",
24
+ "memory",
25
+ "ai",
26
+ "agent",
27
+ "context",
28
+ "typescript"
29
+ ],
30
+ "author": "Memento Team",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/jee1/memento.git",
35
+ "directory": "packages/memento-client"
36
+ },
37
+ "engines": {
38
+ "node": ">=24.0.0"
39
+ },
40
+ "dependencies": {
41
+ "axios": "^1.18.1",
42
+ "ws": "^8.21.0"
43
+ },
44
+ "devDependencies": {
45
+ "@types/node": "^24.0.0",
46
+ "rimraf": "^5.0.0",
47
+ "typescript": "^5.3.0",
48
+ "vitest": "^3.2.6"
49
+ },
50
+ "publishConfig": {
51
+ "access": "public"
52
+ }
53
+ }