@troykelly/openclaw-projects 0.0.16 → 0.0.20

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 (129) hide show
  1. package/dist/api-client.d.ts +1 -1
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +3 -3
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/cli.d.ts +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +10 -10
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config.d.ts +82 -7
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +56 -5
  12. package/dist/config.js.map +1 -1
  13. package/dist/context.d.ts +3 -3
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +3 -3
  16. package/dist/context.js.map +1 -1
  17. package/dist/gateway/oauth-rpc-methods.d.ts +44 -44
  18. package/dist/gateway/oauth-rpc-methods.d.ts.map +1 -1
  19. package/dist/gateway/oauth-rpc-methods.js +106 -106
  20. package/dist/gateway/oauth-rpc-methods.js.map +1 -1
  21. package/dist/gateway/rpc-methods.d.ts +3 -3
  22. package/dist/gateway/rpc-methods.d.ts.map +1 -1
  23. package/dist/gateway/rpc-methods.js +11 -11
  24. package/dist/gateway/rpc-methods.js.map +1 -1
  25. package/dist/hooks.d.ts +3 -3
  26. package/dist/hooks.d.ts.map +1 -1
  27. package/dist/hooks.js +42 -42
  28. package/dist/hooks.js.map +1 -1
  29. package/dist/index.d.ts +2 -2
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +19 -19
  32. package/dist/index.js.map +1 -1
  33. package/dist/register-openclaw.d.ts.map +1 -1
  34. package/dist/register-openclaw.js +741 -262
  35. package/dist/register-openclaw.js.map +1 -1
  36. package/dist/services/notification-service.d.ts +1 -1
  37. package/dist/services/notification-service.d.ts.map +1 -1
  38. package/dist/services/notification-service.js +11 -11
  39. package/dist/services/notification-service.js.map +1 -1
  40. package/dist/tools/contacts.d.ts +7 -7
  41. package/dist/tools/contacts.d.ts.map +1 -1
  42. package/dist/tools/contacts.js +30 -30
  43. package/dist/tools/contacts.js.map +1 -1
  44. package/dist/tools/context-search.d.ts +2 -2
  45. package/dist/tools/context-search.d.ts.map +1 -1
  46. package/dist/tools/context-search.js +14 -14
  47. package/dist/tools/context-search.js.map +1 -1
  48. package/dist/tools/email-send.d.ts +13 -13
  49. package/dist/tools/email-send.d.ts.map +1 -1
  50. package/dist/tools/email-send.js +22 -22
  51. package/dist/tools/email-send.js.map +1 -1
  52. package/dist/tools/entity-links.d.ts +1 -1
  53. package/dist/tools/entity-links.d.ts.map +1 -1
  54. package/dist/tools/entity-links.js +33 -33
  55. package/dist/tools/entity-links.js.map +1 -1
  56. package/dist/tools/file-share.d.ts +15 -15
  57. package/dist/tools/file-share.d.ts.map +1 -1
  58. package/dist/tools/file-share.js +30 -30
  59. package/dist/tools/file-share.js.map +1 -1
  60. package/dist/tools/memory-forget.d.ts +7 -7
  61. package/dist/tools/memory-forget.d.ts.map +1 -1
  62. package/dist/tools/memory-forget.js +34 -34
  63. package/dist/tools/memory-forget.js.map +1 -1
  64. package/dist/tools/memory-recall.d.ts +4 -4
  65. package/dist/tools/memory-recall.d.ts.map +1 -1
  66. package/dist/tools/memory-recall.js +9 -9
  67. package/dist/tools/memory-recall.js.map +1 -1
  68. package/dist/tools/memory-store.d.ts +3 -3
  69. package/dist/tools/memory-store.d.ts.map +1 -1
  70. package/dist/tools/memory-store.js +13 -13
  71. package/dist/tools/memory-store.js.map +1 -1
  72. package/dist/tools/message-search.d.ts +8 -8
  73. package/dist/tools/message-search.d.ts.map +1 -1
  74. package/dist/tools/message-search.js +19 -19
  75. package/dist/tools/message-search.js.map +1 -1
  76. package/dist/tools/notebooks.d.ts +20 -20
  77. package/dist/tools/notebooks.d.ts.map +1 -1
  78. package/dist/tools/notebooks.js +40 -40
  79. package/dist/tools/notebooks.js.map +1 -1
  80. package/dist/tools/notes.d.ts +35 -35
  81. package/dist/tools/notes.d.ts.map +1 -1
  82. package/dist/tools/notes.js +67 -67
  83. package/dist/tools/notes.js.map +1 -1
  84. package/dist/tools/project-search.d.ts +3 -3
  85. package/dist/tools/project-search.d.ts.map +1 -1
  86. package/dist/tools/project-search.js +15 -15
  87. package/dist/tools/project-search.js.map +1 -1
  88. package/dist/tools/projects.d.ts +6 -6
  89. package/dist/tools/projects.d.ts.map +1 -1
  90. package/dist/tools/projects.js +25 -25
  91. package/dist/tools/projects.js.map +1 -1
  92. package/dist/tools/relationships.d.ts +19 -19
  93. package/dist/tools/relationships.d.ts.map +1 -1
  94. package/dist/tools/relationships.js +38 -38
  95. package/dist/tools/relationships.js.map +1 -1
  96. package/dist/tools/skill-store.d.ts +11 -11
  97. package/dist/tools/skill-store.d.ts.map +1 -1
  98. package/dist/tools/skill-store.js +51 -51
  99. package/dist/tools/skill-store.js.map +1 -1
  100. package/dist/tools/sms-send.d.ts +7 -7
  101. package/dist/tools/sms-send.d.ts.map +1 -1
  102. package/dist/tools/sms-send.js +16 -16
  103. package/dist/tools/sms-send.js.map +1 -1
  104. package/dist/tools/threads.d.ts +18 -18
  105. package/dist/tools/threads.d.ts.map +1 -1
  106. package/dist/tools/threads.js +33 -33
  107. package/dist/tools/threads.js.map +1 -1
  108. package/dist/tools/todo-search.d.ts +3 -3
  109. package/dist/tools/todo-search.d.ts.map +1 -1
  110. package/dist/tools/todo-search.js +15 -15
  111. package/dist/tools/todo-search.js.map +1 -1
  112. package/dist/tools/todos.d.ts +13 -13
  113. package/dist/tools/todos.d.ts.map +1 -1
  114. package/dist/tools/todos.js +37 -37
  115. package/dist/tools/todos.js.map +1 -1
  116. package/dist/types/openclaw-api.d.ts +2 -2
  117. package/dist/types/openclaw-api.d.ts.map +1 -1
  118. package/dist/utils/auto-linker.d.ts +2 -2
  119. package/dist/utils/auto-linker.d.ts.map +1 -1
  120. package/dist/utils/auto-linker.js +40 -40
  121. package/dist/utils/auto-linker.js.map +1 -1
  122. package/dist/utils/injection-log-rate-limiter.d.ts +1 -1
  123. package/dist/utils/injection-log-rate-limiter.js +1 -1
  124. package/dist/utils/nominatim.d.ts +1 -1
  125. package/dist/utils/nominatim.d.ts.map +1 -1
  126. package/dist/utils/nominatim.js +1 -1
  127. package/dist/utils/nominatim.js.map +1 -1
  128. package/openclaw.plugin.json +40 -4
  129. package/package.json +2 -2
@@ -33,8 +33,8 @@ const TODO_KINDS = new Set(['task', 'issue', 'epic', 'initiative']);
33
33
  * and does not yet include a 'message_thread' type.
34
34
  * TODO(#1223): Add a proper 'message_thread' entity type to entity-links schema.
35
35
  */
36
- function buildThreadRef(threadId) {
37
- return `thread:${threadId}`;
36
+ function buildThreadRef(thread_id) {
37
+ return `thread:${thread_id}`;
38
38
  }
39
39
  /**
40
40
  * Build a composite key for a link (matches entity-links.ts pattern).
@@ -45,14 +45,14 @@ function buildLinkKey(sourceType, sourceRef, targetType, targetRef) {
45
45
  /**
46
46
  * Build a tag for source-entity lookup (matches entity-links.ts pattern).
47
47
  */
48
- function buildSourceTag(entityType, entityRef) {
49
- return `src:${entityType}:${entityRef}`;
48
+ function buildSourceTag(entity_type, entityRef) {
49
+ return `src:${entity_type}:${entityRef}`;
50
50
  }
51
51
  /**
52
52
  * Create a bidirectional entity link via skill_store.
53
53
  * Returns true if both directions were created successfully.
54
54
  */
55
- async function createEntityLink(client, userId, logger, sourceType, sourceId, targetType, targetRef, label) {
55
+ async function createEntityLink(client, user_id, logger, sourceType, sourceId, targetType, targetRef, label) {
56
56
  const now = new Date().toISOString();
57
57
  const forwardKey = buildLinkKey(sourceType, sourceId, targetType, targetRef);
58
58
  const reverseKey = buildLinkKey(targetType, targetRef, sourceType, sourceId);
@@ -81,10 +81,10 @@ async function createEntityLink(client, userId, logger, sourceType, sourceId, ta
81
81
  key: forwardKey,
82
82
  data: forwardData,
83
83
  tags: [buildSourceTag(sourceType, sourceId)],
84
- }, { userId });
84
+ }, { user_id });
85
85
  if (!forwardResponse.success) {
86
86
  logger.error('auto-linker: forward link creation failed', {
87
- userId,
87
+ user_id,
88
88
  sourceType,
89
89
  targetType,
90
90
  status: forwardResponse.error.status,
@@ -98,19 +98,19 @@ async function createEntityLink(client, userId, logger, sourceType, sourceId, ta
98
98
  key: reverseKey,
99
99
  data: reverseData,
100
100
  tags: [buildSourceTag(targetType, targetRef)],
101
- }, { userId });
101
+ }, { user_id });
102
102
  if (!reverseResponse.success) {
103
103
  logger.error('auto-linker: reverse link creation failed', {
104
- userId,
104
+ user_id,
105
105
  sourceType,
106
106
  targetType,
107
107
  status: reverseResponse.error.status,
108
108
  });
109
109
  // Best-effort rollback of orphaned forward link
110
- const rollbackResponse = await client.delete(`/api/skill-store/items/${forwardResponse.data.id}`, { userId });
110
+ const rollbackResponse = await client.delete(`/api/skill-store/items/${forwardResponse.data.id}`, { user_id });
111
111
  if (!rollbackResponse.success) {
112
112
  logger.error('auto-linker: rollback of orphaned forward link failed — partial state', {
113
- userId,
113
+ user_id,
114
114
  forwardId: forwardResponse.data.id,
115
115
  rollbackStatus: rollbackResponse.error.status,
116
116
  });
@@ -126,7 +126,7 @@ async function createEntityLink(client, userId, logger, sourceType, sourceId, ta
126
126
  * then deduplicates matched contact IDs.
127
127
  * Returns matched contact IDs and creates links for each match.
128
128
  */
129
- async function matchSenderToContacts(client, logger, userId, threadId, senderEmail, senderPhone) {
129
+ async function matchSenderToContacts(client, logger, user_id, thread_id, senderEmail, senderPhone) {
130
130
  if (!senderEmail && !senderPhone) {
131
131
  return [];
132
132
  }
@@ -142,12 +142,12 @@ async function matchSenderToContacts(client, logger, userId, threadId, senderEma
142
142
  const queryParams = new URLSearchParams({
143
143
  search: searchQuery,
144
144
  limit: '5',
145
- user_email: userId,
145
+ user_email: user_id,
146
146
  });
147
- const response = await client.get(`/api/contacts?${queryParams.toString()}`, { userId });
147
+ const response = await client.get(`/api/contacts?${queryParams.toString()}`, { user_id });
148
148
  if (!response.success) {
149
149
  logger.error('auto-linker: contact search failed', {
150
- userId,
150
+ user_id,
151
151
  status: response.error.status,
152
152
  code: response.error.code,
153
153
  });
@@ -172,21 +172,21 @@ async function matchSenderToContacts(client, logger, userId, threadId, senderEma
172
172
  matchedContacts.push(c);
173
173
  }
174
174
  }
175
- const threadRef = buildThreadRef(threadId);
175
+ const threadRef = buildThreadRef(thread_id);
176
176
  const linkedContactIds = [];
177
177
  for (const contact of matchedContacts) {
178
178
  try {
179
179
  // Use 'url' type with thread: URI since entity-links schema does not have
180
180
  // a 'message_thread' type yet. See buildThreadRef() for details.
181
- const linked = await createEntityLink(client, userId, logger, 'contact', contact.id, 'url', threadRef, 'inbound-message-sender');
181
+ const linked = await createEntityLink(client, user_id, logger, 'contact', contact.id, 'url', threadRef, 'inbound-message-sender');
182
182
  if (linked) {
183
183
  linkedContactIds.push(contact.id);
184
184
  }
185
185
  }
186
186
  catch (error) {
187
187
  logger.error('auto-linker: failed to create contact link', {
188
- userId,
189
- contactId: contact.id,
188
+ user_id,
189
+ contact_id: contact.id,
190
190
  error: sanitizeErrorMessage(error),
191
191
  });
192
192
  }
@@ -198,7 +198,7 @@ async function matchSenderToContacts(client, logger, userId, threadId, senderEma
198
198
  * Search for projects and todos matching the message content.
199
199
  * Returns matched entity IDs by type and creates links for each match.
200
200
  */
201
- async function matchContentToWorkItems(client, logger, userId, threadId, content, similarityThreshold) {
201
+ async function matchContentToWorkItems(client, logger, user_id, thread_id, content, similarityThreshold) {
202
202
  // Sanitize external content before using it in search queries.
203
203
  // Removes control characters, unicode invisibles, and potential injection payloads.
204
204
  const sanitizedContent = sanitizeExternalMessage(content);
@@ -212,12 +212,12 @@ async function matchContentToWorkItems(client, logger, userId, threadId, content
212
212
  types: 'work_item',
213
213
  limit: '10',
214
214
  semantic: 'true',
215
- user_email: userId,
215
+ user_email: user_id,
216
216
  });
217
- const response = await client.get(`/api/search?${queryParams.toString()}`, { userId });
217
+ const response = await client.get(`/api/search?${queryParams.toString()}`, { user_id });
218
218
  if (!response.success) {
219
219
  logger.error('auto-linker: content search failed', {
220
- userId,
220
+ user_id,
221
221
  status: response.error.status,
222
222
  code: response.error.code,
223
223
  });
@@ -228,14 +228,14 @@ async function matchContentToWorkItems(client, logger, userId, threadId, content
228
228
  const highConfidenceResults = results.filter((r) => r.score >= similarityThreshold);
229
229
  if (highConfidenceResults.length === 0) {
230
230
  logger.debug('auto-linker: no content matches above threshold', {
231
- userId,
231
+ user_id,
232
232
  threshold: similarityThreshold,
233
233
  totalResults: results.length,
234
234
  topScore: results[0]?.score ?? 0,
235
235
  });
236
236
  return { projects: [], todos: [] };
237
237
  }
238
- const threadRef = buildThreadRef(threadId);
238
+ const threadRef = buildThreadRef(thread_id);
239
239
  const linkedProjects = [];
240
240
  const linkedTodos = [];
241
241
  for (const item of highConfidenceResults) {
@@ -249,7 +249,7 @@ async function matchContentToWorkItems(client, logger, userId, threadId, content
249
249
  try {
250
250
  // Use 'url' type with thread: URI since entity-links schema does not have
251
251
  // a 'message_thread' type yet. See buildThreadRef() for details.
252
- const linked = await createEntityLink(client, userId, logger, sourceType, item.id, 'url', threadRef, `auto-linked:${item.title.substring(0, 50)}`);
252
+ const linked = await createEntityLink(client, user_id, logger, sourceType, item.id, 'url', threadRef, `auto-linked:${item.title.substring(0, 50)}`);
253
253
  if (linked) {
254
254
  if (isProject) {
255
255
  linkedProjects.push(item.id);
@@ -261,8 +261,8 @@ async function matchContentToWorkItems(client, logger, userId, threadId, content
261
261
  }
262
262
  catch (error) {
263
263
  logger.error('auto-linker: failed to create work item link', {
264
- userId,
265
- itemId: item.id,
264
+ user_id,
265
+ item_id: item.id,
266
266
  itemKind: kind,
267
267
  error: sanitizeErrorMessage(error),
268
268
  });
@@ -284,23 +284,23 @@ async function matchContentToWorkItems(client, logger, userId, threadId, content
284
284
  * @returns Summary of links created and entities matched
285
285
  */
286
286
  export async function autoLinkInboundMessage(options) {
287
- const { client, logger, userId, message, similarityThreshold = DEFAULT_SIMILARITY_THRESHOLD, } = options;
287
+ const { client, logger, user_id, message, similarityThreshold = DEFAULT_SIMILARITY_THRESHOLD, } = options;
288
288
  const emptyResult = {
289
289
  linksCreated: 0,
290
290
  matches: { contacts: [], projects: [], todos: [] },
291
291
  };
292
292
  try {
293
293
  logger.info('auto-linker: processing inbound message', {
294
- userId,
295
- threadId: message.threadId,
294
+ user_id,
295
+ thread_id: message.thread_id,
296
296
  hasSenderEmail: !!message.senderEmail,
297
297
  hasSenderPhone: !!message.senderPhone,
298
298
  contentLength: message.content.length,
299
299
  });
300
300
  // Step 1: Sender matching — always runs when sender info is available
301
- const contactMatches = await matchSenderToContacts(client, logger, userId, message.threadId, message.senderEmail, message.senderPhone).catch((error) => {
301
+ const contactMatches = await matchSenderToContacts(client, logger, user_id, message.thread_id, message.senderEmail, message.senderPhone).catch((error) => {
302
302
  logger.error('auto-linker: sender matching failed', {
303
- userId,
303
+ user_id,
304
304
  error: sanitizeErrorMessage(error),
305
305
  });
306
306
  return [];
@@ -311,9 +311,9 @@ export async function autoLinkInboundMessage(options) {
311
311
  // to the user's projects and todos.
312
312
  let contentMatches = { projects: [], todos: [] };
313
313
  if (contactMatches.length > 0) {
314
- contentMatches = await matchContentToWorkItems(client, logger, userId, message.threadId, message.content, similarityThreshold).catch((error) => {
314
+ contentMatches = await matchContentToWorkItems(client, logger, user_id, message.thread_id, message.content, similarityThreshold).catch((error) => {
315
315
  logger.error('auto-linker: content matching failed', {
316
- userId,
316
+ user_id,
317
317
  error: sanitizeErrorMessage(error),
318
318
  });
319
319
  return { projects: [], todos: [] };
@@ -321,8 +321,8 @@ export async function autoLinkInboundMessage(options) {
321
321
  }
322
322
  else {
323
323
  logger.debug('auto-linker: skipping content matching — no known sender contact', {
324
- userId,
325
- threadId: message.threadId,
324
+ user_id,
325
+ thread_id: message.thread_id,
326
326
  });
327
327
  }
328
328
  const result = {
@@ -334,8 +334,8 @@ export async function autoLinkInboundMessage(options) {
334
334
  },
335
335
  };
336
336
  logger.info('auto-linker: completed', {
337
- userId,
338
- threadId: message.threadId,
337
+ user_id,
338
+ thread_id: message.thread_id,
339
339
  linksCreated: result.linksCreated,
340
340
  contactMatches: result.matches.contacts.length,
341
341
  projectMatches: result.matches.projects.length,
@@ -345,7 +345,7 @@ export async function autoLinkInboundMessage(options) {
345
345
  }
346
346
  catch (error) {
347
347
  logger.error('auto-linker: unexpected failure', {
348
- userId,
348
+ user_id,
349
349
  error: sanitizeErrorMessage(error),
350
350
  });
351
351
  return emptyResult;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-linker.js","sourceRoot":"","sources":["../../src/utils/auto-linker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-linker.js","sourceRoot":"","sources":["../../src/utils/auto-linker.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Rate limiter for injection detection logging.
3
3
  *
4
4
  * Prevents log flooding when an attacker sends many injection-containing
5
- * messages. Logs the first N detections per key (sender/userId) per window,
5
+ * messages. Logs the first N detections per key (sender/user_id) per window,
6
6
  * then samples at a configurable rate. Emits summary entries for suppressed
7
7
  * counts when a new window begins.
8
8
  *
@@ -2,7 +2,7 @@
2
2
  * Rate limiter for injection detection logging.
3
3
  *
4
4
  * Prevents log flooding when an attacker sends many injection-containing
5
- * messages. Logs the first N detections per key (sender/userId) per window,
5
+ * messages. Logs the first N detections per key (sender/user_id) per window,
6
6
  * then samples at a configurable rate. Emits summary entries for suppressed
7
7
  * counts when a new window begins.
8
8
  *
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export interface GeocodedLocation {
6
6
  address: string;
7
- placeLabel: string;
7
+ place_label: string;
8
8
  }
9
9
  /**
10
10
  * Reverse geocode a lat/lng pair via Nominatim.
@@ -1 +1 @@
1
- {"version":3,"file":"nominatim.d.ts","sourceRoot":"","sources":["../../src/utils/nominatim.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAYD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA2ClC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
1
+ {"version":3,"file":"nominatim.d.ts","sourceRoot":"","sources":["../../src/utils/nominatim.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA2ClC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -31,7 +31,7 @@ export async function reverseGeocode(lat, lng, nominatimUrl) {
31
31
  const data = (await response.json());
32
32
  const result = {
33
33
  address: data.display_name ?? '',
34
- placeLabel: data.name || data.address?.suburb || data.address?.city || '',
34
+ place_label: data.name || data.address?.suburb || data.address?.city || '',
35
35
  };
36
36
  if (geocodeCache.size >= MAX_CACHE_SIZE) {
37
37
  const oldest = geocodeCache.keys().next().value;
@@ -1 +1 @@
1
- {"version":3,"file":"nominatim.js","sourceRoot":"","sources":["../../src/utils/nominatim.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;AACzD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,GAAW,EACX,YAAoB;IAEpB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,YAAY,8BAA8B,GAAG,QAAQ,GAAG,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE;YAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,MAAM,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;YACjG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAUlC,CAAC;QAEF,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;SAC1E,CAAC;QAEF,IAAI,YAAY,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAChD,IAAI,MAAM,KAAK,SAAS;gBAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,0CAA0C,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"nominatim.js","sourceRoot":"","sources":["../../src/utils/nominatim.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;AACzD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,GAAW,EACX,YAAoB;IAEpB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,YAAY,8BAA8B,GAAG,QAAQ,GAAG,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE;YAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,MAAM,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;YACjG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAUlC,CAAC;QAEF,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;YAChC,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;SAC3E,CAAC;QAEF,IAAI,YAAY,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAChD,IAAI,MAAM,KAAK,SAAS;gBAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,0CAA0C,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "openclaw-projects",
3
- "version": "0.0.16",
3
+ "version": "0.0.20",
4
4
  "name": "OpenClaw Projects Plugin",
5
5
  "description": "Memory provider with projects, todos, and contacts integration",
6
6
  "kind": "memory",
@@ -106,7 +106,7 @@
106
106
  "type": "string",
107
107
  "enum": ["agent", "identity", "session"],
108
108
  "default": "agent",
109
- "description": "How to scope user memories"
109
+ "description": "@deprecated replaced by namespace config. Kept for backward compatibility."
110
110
  },
111
111
  "maxRecallMemories": {
112
112
  "type": "integer",
@@ -155,6 +155,37 @@
155
155
  "type": "string",
156
156
  "pattern": "^https?://",
157
157
  "description": "PromptGuard-2 classifier URL for multilingual injection detection (e.g., http://prompt-guard:8190)"
158
+ },
159
+ "namespace": {
160
+ "oneOf": [
161
+ {
162
+ "type": "object",
163
+ "properties": {
164
+ "default": {
165
+ "type": "string",
166
+ "pattern": "^[a-z0-9][a-z0-9._-]*$",
167
+ "maxLength": 63,
168
+ "description": "Namespace for store/create when none specified"
169
+ },
170
+ "recall": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string",
174
+ "pattern": "^[a-z0-9][a-z0-9._-]*$",
175
+ "maxLength": 63
176
+ },
177
+ "description": "Namespaces to search when none specified"
178
+ }
179
+ }
180
+ },
181
+ {
182
+ "type": "string",
183
+ "pattern": "^[a-z0-9][a-z0-9._-]*$",
184
+ "maxLength": 63,
185
+ "description": "Shorthand: string treated as { default: value }"
186
+ }
187
+ ],
188
+ "description": "Namespace configuration for data scoping"
158
189
  }
159
190
  },
160
191
  "additionalProperties": false,
@@ -264,8 +295,8 @@
264
295
  "group": "Memory"
265
296
  },
266
297
  "userScoping": {
267
- "label": "User Scoping",
268
- "help": "How to isolate memories between users",
298
+ "label": "User Scoping (deprecated)",
299
+ "help": "Deprecated replaced by namespace config",
269
300
  "group": "Memory"
270
301
  },
271
302
  "maxRecallMemories": {
@@ -310,6 +341,11 @@
310
341
  "placeholder": "http://prompt-guard:8190",
311
342
  "help": "URL for PromptGuard-2 classifier service (enables multilingual prompt injection detection)",
312
343
  "group": "Advanced"
344
+ },
345
+ "namespace": {
346
+ "label": "Namespace",
347
+ "help": "Namespace config for data scoping. Can be a string (shorthand for default) or { default, recall[] }.",
348
+ "group": "Advanced"
313
349
  }
314
350
  }
315
351
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@troykelly/openclaw-projects",
3
- "version": "0.0.16",
3
+ "version": "0.0.20",
4
4
  "description": "OpenClaw memory plugin with projects, todos, and contacts integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -53,7 +53,7 @@
53
53
  "devDependencies": {
54
54
  "@types/node": "^22.0.0",
55
55
  "@vitest/coverage-v8": "^4.0.18",
56
- "openclaw": "2026.2.6",
56
+ "openclaw": "2026.2.19",
57
57
  "typescript": "^5.0.0",
58
58
  "vitest": "^4.0.0"
59
59
  },