@troykelly/openclaw-projects 0.0.29 → 0.0.31

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 (71) hide show
  1. package/dist/api-client.d.ts +2 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +4 -0
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/register-openclaw.d.ts.map +1 -1
  6. package/dist/register-openclaw.js +243 -12
  7. package/dist/register-openclaw.js.map +1 -1
  8. package/dist/services/api-source-service.d.ts +181 -0
  9. package/dist/services/api-source-service.d.ts.map +1 -0
  10. package/dist/services/api-source-service.js +120 -0
  11. package/dist/services/api-source-service.js.map +1 -0
  12. package/dist/tools/api-credential-manage.d.ts +83 -0
  13. package/dist/tools/api-credential-manage.d.ts.map +1 -0
  14. package/dist/tools/api-credential-manage.js +71 -0
  15. package/dist/tools/api-credential-manage.js.map +1 -0
  16. package/dist/tools/api-get.d.ts +47 -0
  17. package/dist/tools/api-get.d.ts.map +1 -0
  18. package/dist/tools/api-get.js +41 -0
  19. package/dist/tools/api-get.js.map +1 -0
  20. package/dist/tools/api-list.d.ts +54 -0
  21. package/dist/tools/api-list.d.ts.map +1 -0
  22. package/dist/tools/api-list.js +46 -0
  23. package/dist/tools/api-list.js.map +1 -0
  24. package/dist/tools/api-onboard.d.ts +134 -0
  25. package/dist/tools/api-onboard.d.ts.map +1 -0
  26. package/dist/tools/api-onboard.js +109 -0
  27. package/dist/tools/api-onboard.js.map +1 -0
  28. package/dist/tools/api-recall.d.ts +69 -0
  29. package/dist/tools/api-recall.d.ts.map +1 -0
  30. package/dist/tools/api-recall.js +101 -0
  31. package/dist/tools/api-recall.js.map +1 -0
  32. package/dist/tools/api-refresh.d.ts +50 -0
  33. package/dist/tools/api-refresh.d.ts.map +1 -0
  34. package/dist/tools/api-refresh.js +55 -0
  35. package/dist/tools/api-refresh.js.map +1 -0
  36. package/dist/tools/api-remove.d.ts +46 -0
  37. package/dist/tools/api-remove.d.ts.map +1 -0
  38. package/dist/tools/api-remove.js +45 -0
  39. package/dist/tools/api-remove.js.map +1 -0
  40. package/dist/tools/api-restore.d.ts +45 -0
  41. package/dist/tools/api-restore.d.ts.map +1 -0
  42. package/dist/tools/api-restore.js +41 -0
  43. package/dist/tools/api-restore.js.map +1 -0
  44. package/dist/tools/api-update.d.ts +57 -0
  45. package/dist/tools/api-update.d.ts.map +1 -0
  46. package/dist/tools/api-update.js +46 -0
  47. package/dist/tools/api-update.js.map +1 -0
  48. package/dist/tools/index.d.ts +13 -0
  49. package/dist/tools/index.d.ts.map +1 -1
  50. package/dist/tools/index.js +18 -0
  51. package/dist/tools/index.js.map +1 -1
  52. package/dist/tools/terminal-connections.d.ts +387 -0
  53. package/dist/tools/terminal-connections.d.ts.map +1 -0
  54. package/dist/tools/terminal-connections.js +631 -0
  55. package/dist/tools/terminal-connections.js.map +1 -0
  56. package/dist/tools/terminal-search.d.ts +139 -0
  57. package/dist/tools/terminal-search.d.ts.map +1 -0
  58. package/dist/tools/terminal-search.js +248 -0
  59. package/dist/tools/terminal-search.js.map +1 -0
  60. package/dist/tools/terminal-sessions.d.ts +344 -0
  61. package/dist/tools/terminal-sessions.d.ts.map +1 -0
  62. package/dist/tools/terminal-sessions.js +586 -0
  63. package/dist/tools/terminal-sessions.js.map +1 -0
  64. package/dist/tools/terminal-tunnels.d.ts +156 -0
  65. package/dist/tools/terminal-tunnels.d.ts.map +1 -0
  66. package/dist/tools/terminal-tunnels.js +266 -0
  67. package/dist/tools/terminal-tunnels.js.map +1 -0
  68. package/dist/types/openclaw-api.d.ts +1 -0
  69. package/dist/types/openclaw-api.d.ts.map +1 -1
  70. package/openclaw.plugin.json +1 -1
  71. package/package.json +1 -1
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Terminal SSH tunnel management tools.
3
+ * Provides tools for creating, listing, and closing SSH tunnels.
4
+ */
5
+ import { z } from 'zod';
6
+ import type { ApiClient } from '../api-client.js';
7
+ import type { Logger } from '../logger.js';
8
+ import type { PluginConfig } from '../config.js';
9
+ /** Tool configuration */
10
+ export interface TerminalTunnelToolOptions {
11
+ client: ApiClient;
12
+ logger: Logger;
13
+ config: PluginConfig;
14
+ user_id: string;
15
+ }
16
+ /** Tunnel from API */
17
+ export interface TerminalTunnel {
18
+ id: string;
19
+ connection_id: string;
20
+ session_id?: string;
21
+ direction: string;
22
+ bind_host: string;
23
+ bind_port: number;
24
+ target_host?: string;
25
+ target_port?: number;
26
+ status: string;
27
+ error_message?: string;
28
+ created_at?: string;
29
+ updated_at?: string;
30
+ }
31
+ /** Failure result */
32
+ export interface TerminalTunnelFailure {
33
+ success: false;
34
+ error: string;
35
+ }
36
+ /** Tunnel direction enum */
37
+ export declare const TunnelDirection: z.ZodEnum<["local", "remote", "dynamic"]>;
38
+ /** Parameters for terminal_tunnel_create */
39
+ export declare const TerminalTunnelCreateParamsSchema: z.ZodObject<{
40
+ connection_id: z.ZodString;
41
+ direction: z.ZodEnum<["local", "remote", "dynamic"]>;
42
+ bind_port: z.ZodNumber;
43
+ target_host: z.ZodOptional<z.ZodString>;
44
+ target_port: z.ZodOptional<z.ZodNumber>;
45
+ bind_host: z.ZodOptional<z.ZodString>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ direction: "local" | "remote" | "dynamic";
48
+ connection_id: string;
49
+ bind_port: number;
50
+ target_host?: string | undefined;
51
+ target_port?: number | undefined;
52
+ bind_host?: string | undefined;
53
+ }, {
54
+ direction: "local" | "remote" | "dynamic";
55
+ connection_id: string;
56
+ bind_port: number;
57
+ target_host?: string | undefined;
58
+ target_port?: number | undefined;
59
+ bind_host?: string | undefined;
60
+ }>;
61
+ export type TerminalTunnelCreateParams = z.infer<typeof TerminalTunnelCreateParamsSchema>;
62
+ /** Successful create result */
63
+ export interface TerminalTunnelCreateSuccess {
64
+ success: true;
65
+ data: {
66
+ content: string;
67
+ details: {
68
+ tunnel_id: string;
69
+ direction: string;
70
+ bind_host: string;
71
+ bind_port: number;
72
+ target_host?: string;
73
+ target_port?: number;
74
+ status: string;
75
+ user_id: string;
76
+ };
77
+ };
78
+ }
79
+ export type TerminalTunnelCreateResult = TerminalTunnelCreateSuccess | TerminalTunnelFailure;
80
+ export interface TerminalTunnelCreateTool {
81
+ name: string;
82
+ description: string;
83
+ parameters: typeof TerminalTunnelCreateParamsSchema;
84
+ execute: (params: TerminalTunnelCreateParams) => Promise<TerminalTunnelCreateResult>;
85
+ }
86
+ /**
87
+ * Creates the terminal_tunnel_create tool.
88
+ */
89
+ export declare function createTerminalTunnelCreateTool(options: TerminalTunnelToolOptions): TerminalTunnelCreateTool;
90
+ /** Parameters for terminal_tunnel_list */
91
+ export declare const TerminalTunnelListParamsSchema: z.ZodObject<{
92
+ connection_id: z.ZodOptional<z.ZodString>;
93
+ status: z.ZodOptional<z.ZodString>;
94
+ }, "strip", z.ZodTypeAny, {
95
+ status?: string | undefined;
96
+ connection_id?: string | undefined;
97
+ }, {
98
+ status?: string | undefined;
99
+ connection_id?: string | undefined;
100
+ }>;
101
+ export type TerminalTunnelListParams = z.infer<typeof TerminalTunnelListParamsSchema>;
102
+ /** Successful list result */
103
+ export interface TerminalTunnelListSuccess {
104
+ success: true;
105
+ data: {
106
+ content: string;
107
+ details: {
108
+ tunnels: TerminalTunnel[];
109
+ total: number;
110
+ user_id: string;
111
+ };
112
+ };
113
+ }
114
+ export type TerminalTunnelListResult = TerminalTunnelListSuccess | TerminalTunnelFailure;
115
+ export interface TerminalTunnelListTool {
116
+ name: string;
117
+ description: string;
118
+ parameters: typeof TerminalTunnelListParamsSchema;
119
+ execute: (params: TerminalTunnelListParams) => Promise<TerminalTunnelListResult>;
120
+ }
121
+ /**
122
+ * Creates the terminal_tunnel_list tool.
123
+ */
124
+ export declare function createTerminalTunnelListTool(options: TerminalTunnelToolOptions): TerminalTunnelListTool;
125
+ /** Parameters for terminal_tunnel_close */
126
+ export declare const TerminalTunnelCloseParamsSchema: z.ZodObject<{
127
+ id: z.ZodString;
128
+ }, "strip", z.ZodTypeAny, {
129
+ id: string;
130
+ }, {
131
+ id: string;
132
+ }>;
133
+ export type TerminalTunnelCloseParams = z.infer<typeof TerminalTunnelCloseParamsSchema>;
134
+ /** Successful close result */
135
+ export interface TerminalTunnelCloseSuccess {
136
+ success: true;
137
+ data: {
138
+ content: string;
139
+ details: {
140
+ id: string;
141
+ user_id: string;
142
+ };
143
+ };
144
+ }
145
+ export type TerminalTunnelCloseResult = TerminalTunnelCloseSuccess | TerminalTunnelFailure;
146
+ export interface TerminalTunnelCloseTool {
147
+ name: string;
148
+ description: string;
149
+ parameters: typeof TerminalTunnelCloseParamsSchema;
150
+ execute: (params: TerminalTunnelCloseParams) => Promise<TerminalTunnelCloseResult>;
151
+ }
152
+ /**
153
+ * Creates the terminal_tunnel_close tool.
154
+ */
155
+ export declare function createTerminalTunnelCloseTool(options: TerminalTunnelToolOptions): TerminalTunnelCloseTool;
156
+ //# sourceMappingURL=terminal-tunnels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-tunnels.d.ts","sourceRoot":"","sources":["../../src/tools/terminal-tunnels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Terminal SSH tunnel management tools.
3
+ * Provides tools for creating, listing, and closing SSH tunnels.
4
+ */
5
+ import { z } from 'zod';
6
+ import { sanitizeErrorMessage } from '../utils/sanitize.js';
7
+ /** UUID validation regex */
8
+ const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
9
+ /**
10
+ * Validate UUID format.
11
+ */
12
+ function isValidUuid(id) {
13
+ return UUID_REGEX.test(id);
14
+ }
15
+ // ==================== terminal_tunnel_create ====================
16
+ /** Tunnel direction enum */
17
+ export const TunnelDirection = z.enum(['local', 'remote', 'dynamic']);
18
+ /** Parameters for terminal_tunnel_create */
19
+ export const TerminalTunnelCreateParamsSchema = z.object({
20
+ connection_id: z.string().min(1, 'Connection ID is required'),
21
+ direction: TunnelDirection,
22
+ bind_port: z.number().int().min(1).max(65535),
23
+ target_host: z.string().max(253, 'Target host must be 253 characters or less').optional(),
24
+ target_port: z.number().int().min(1).max(65535).optional(),
25
+ bind_host: z.string().max(253, 'Bind host must be 253 characters or less').optional(),
26
+ });
27
+ /**
28
+ * Creates the terminal_tunnel_create tool.
29
+ */
30
+ export function createTerminalTunnelCreateTool(options) {
31
+ const { client, logger, user_id } = options;
32
+ return {
33
+ name: 'terminal_tunnel_create',
34
+ description: 'Create an SSH tunnel. Supports local (forward), remote (reverse), and dynamic (SOCKS) tunnels. For local/remote tunnels, target_host and target_port are required.',
35
+ parameters: TerminalTunnelCreateParamsSchema,
36
+ async execute(params) {
37
+ const parseResult = TerminalTunnelCreateParamsSchema.safeParse(params);
38
+ if (!parseResult.success) {
39
+ const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
40
+ return { success: false, error: errorMessage };
41
+ }
42
+ const { connection_id, direction, bind_port, target_host, target_port, bind_host } = parseResult.data;
43
+ if (!isValidUuid(connection_id)) {
44
+ return { success: false, error: 'Invalid connection_id format. Expected UUID.' };
45
+ }
46
+ // Validate target_host/target_port required for local/remote tunnels
47
+ if ((direction === 'local' || direction === 'remote') && (!target_host || !target_port)) {
48
+ return { success: false, error: `target_host and target_port are required for ${direction} tunnels.` };
49
+ }
50
+ logger.info('terminal_tunnel_create invoked', {
51
+ user_id,
52
+ connectionId: connection_id,
53
+ direction,
54
+ bindPort: bind_port,
55
+ });
56
+ try {
57
+ const body = {
58
+ connection_id,
59
+ direction,
60
+ bind_port,
61
+ };
62
+ if (target_host)
63
+ body.target_host = target_host;
64
+ if (target_port !== undefined)
65
+ body.target_port = target_port;
66
+ if (bind_host)
67
+ body.bind_host = bind_host;
68
+ const response = await client.post('/api/terminal/tunnels', body, { user_id });
69
+ if (!response.success) {
70
+ logger.error('terminal_tunnel_create API error', {
71
+ user_id,
72
+ connectionId: connection_id,
73
+ status: response.error.status,
74
+ code: response.error.code,
75
+ });
76
+ return { success: false, error: response.error.message || 'Failed to create tunnel' };
77
+ }
78
+ const tunnel = response.data;
79
+ const bindAddr = `${tunnel.bind_host || bind_host || '127.0.0.1'}:${tunnel.bind_port}`;
80
+ const targetAddr = tunnel.target_host && tunnel.target_port ? `${tunnel.target_host}:${tunnel.target_port}` : '';
81
+ let content;
82
+ if (direction === 'dynamic') {
83
+ content = `Created dynamic SOCKS tunnel on ${bindAddr} (ID: ${tunnel.id}) — status: ${tunnel.status}`;
84
+ }
85
+ else if (direction === 'local') {
86
+ content = `Created local tunnel ${bindAddr} → ${targetAddr} (ID: ${tunnel.id}) — status: ${tunnel.status}`;
87
+ }
88
+ else {
89
+ content = `Created remote tunnel ${targetAddr} → ${bindAddr} (ID: ${tunnel.id}) — status: ${tunnel.status}`;
90
+ }
91
+ logger.debug('terminal_tunnel_create completed', {
92
+ user_id,
93
+ tunnelId: tunnel.id,
94
+ direction,
95
+ });
96
+ return {
97
+ success: true,
98
+ data: {
99
+ content,
100
+ details: {
101
+ tunnel_id: tunnel.id,
102
+ direction: tunnel.direction,
103
+ bind_host: tunnel.bind_host || bind_host || '127.0.0.1',
104
+ bind_port: tunnel.bind_port,
105
+ target_host: tunnel.target_host,
106
+ target_port: tunnel.target_port,
107
+ status: tunnel.status,
108
+ user_id,
109
+ },
110
+ },
111
+ };
112
+ }
113
+ catch (error) {
114
+ logger.error('terminal_tunnel_create failed', {
115
+ user_id,
116
+ connectionId: connection_id,
117
+ error: error instanceof Error ? error.message : String(error),
118
+ });
119
+ return { success: false, error: sanitizeErrorMessage(error) };
120
+ }
121
+ },
122
+ };
123
+ }
124
+ // ==================== terminal_tunnel_list ====================
125
+ /** Parameters for terminal_tunnel_list */
126
+ export const TerminalTunnelListParamsSchema = z.object({
127
+ connection_id: z.string().optional(),
128
+ status: z.string().max(50).optional(),
129
+ });
130
+ /**
131
+ * Creates the terminal_tunnel_list tool.
132
+ */
133
+ export function createTerminalTunnelListTool(options) {
134
+ const { client, logger, user_id } = options;
135
+ return {
136
+ name: 'terminal_tunnel_list',
137
+ description: 'List active SSH tunnels. Optionally filter by connection or status.',
138
+ parameters: TerminalTunnelListParamsSchema,
139
+ async execute(params) {
140
+ const parseResult = TerminalTunnelListParamsSchema.safeParse(params);
141
+ if (!parseResult.success) {
142
+ const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
143
+ return { success: false, error: errorMessage };
144
+ }
145
+ const { connection_id, status } = parseResult.data;
146
+ if (connection_id && !isValidUuid(connection_id)) {
147
+ return { success: false, error: 'Invalid connection_id format. Expected UUID.' };
148
+ }
149
+ logger.info('terminal_tunnel_list invoked', { user_id, connection_id, status });
150
+ try {
151
+ const queryParams = new URLSearchParams();
152
+ if (connection_id)
153
+ queryParams.set('connection_id', connection_id);
154
+ if (status)
155
+ queryParams.set('status', status);
156
+ const queryString = queryParams.toString();
157
+ const path = `/api/terminal/tunnels${queryString ? `?${queryString}` : ''}`;
158
+ const response = await client.get(path, { user_id });
159
+ if (!response.success) {
160
+ logger.error('terminal_tunnel_list API error', {
161
+ user_id,
162
+ status: response.error.status,
163
+ code: response.error.code,
164
+ });
165
+ return { success: false, error: response.error.message || 'Failed to list tunnels' };
166
+ }
167
+ const tunnels = response.data.tunnels ?? response.data.items ?? [];
168
+ const total = response.data.total ?? tunnels.length;
169
+ if (tunnels.length === 0) {
170
+ return {
171
+ success: true,
172
+ data: {
173
+ content: 'No active tunnels found.',
174
+ details: { tunnels: [], total: 0, user_id },
175
+ },
176
+ };
177
+ }
178
+ const content = tunnels
179
+ .map((t) => {
180
+ const bindAddr = `${t.bind_host}:${t.bind_port}`;
181
+ const targetAddr = t.target_host && t.target_port ? `${t.target_host}:${t.target_port}` : '';
182
+ if (t.direction === 'dynamic') {
183
+ return `- SOCKS ${bindAddr} [${t.status}] (ID: ${t.id})`;
184
+ }
185
+ const arrow = t.direction === 'local' ? '→' : '←';
186
+ return `- ${t.direction} ${bindAddr} ${arrow} ${targetAddr} [${t.status}] (ID: ${t.id})`;
187
+ })
188
+ .join('\n');
189
+ logger.debug('terminal_tunnel_list completed', { user_id, count: tunnels.length });
190
+ return {
191
+ success: true,
192
+ data: {
193
+ content,
194
+ details: { tunnels, total, user_id },
195
+ },
196
+ };
197
+ }
198
+ catch (error) {
199
+ logger.error('terminal_tunnel_list failed', {
200
+ user_id,
201
+ error: error instanceof Error ? error.message : String(error),
202
+ });
203
+ return { success: false, error: sanitizeErrorMessage(error) };
204
+ }
205
+ },
206
+ };
207
+ }
208
+ // ==================== terminal_tunnel_close ====================
209
+ /** Parameters for terminal_tunnel_close */
210
+ export const TerminalTunnelCloseParamsSchema = z.object({
211
+ id: z.string().min(1, 'Tunnel ID is required'),
212
+ });
213
+ /**
214
+ * Creates the terminal_tunnel_close tool.
215
+ */
216
+ export function createTerminalTunnelCloseTool(options) {
217
+ const { client, logger, user_id } = options;
218
+ return {
219
+ name: 'terminal_tunnel_close',
220
+ description: 'Close an active SSH tunnel.',
221
+ parameters: TerminalTunnelCloseParamsSchema,
222
+ async execute(params) {
223
+ const parseResult = TerminalTunnelCloseParamsSchema.safeParse(params);
224
+ if (!parseResult.success) {
225
+ const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
226
+ return { success: false, error: errorMessage };
227
+ }
228
+ const { id } = parseResult.data;
229
+ if (!isValidUuid(id)) {
230
+ return { success: false, error: 'Invalid tunnel ID format. Expected UUID.' };
231
+ }
232
+ logger.info('terminal_tunnel_close invoked', { user_id, tunnelId: id });
233
+ try {
234
+ const response = await client.delete(`/api/terminal/tunnels/${id}`, { user_id });
235
+ if (!response.success) {
236
+ if (response.error.code === 'NOT_FOUND') {
237
+ return { success: false, error: 'Tunnel not found.' };
238
+ }
239
+ logger.error('terminal_tunnel_close API error', {
240
+ user_id,
241
+ tunnelId: id,
242
+ status: response.error.status,
243
+ });
244
+ return { success: false, error: response.error.message || 'Failed to close tunnel' };
245
+ }
246
+ logger.debug('terminal_tunnel_close completed', { user_id, tunnelId: id });
247
+ return {
248
+ success: true,
249
+ data: {
250
+ content: `Tunnel ${id} closed.`,
251
+ details: { id, user_id },
252
+ },
253
+ };
254
+ }
255
+ catch (error) {
256
+ logger.error('terminal_tunnel_close failed', {
257
+ user_id,
258
+ tunnelId: id,
259
+ error: error instanceof Error ? error.message : String(error),
260
+ });
261
+ return { success: false, error: sanitizeErrorMessage(error) };
262
+ }
263
+ },
264
+ };
265
+ }
266
+ //# sourceMappingURL=terminal-tunnels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-tunnels.js","sourceRoot":"","sources":["../../src/tools/terminal-tunnels.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export interface JSONSchemaProperty {
41
41
  properties?: Record<string, JSONSchemaProperty>;
42
42
  required?: string[];
43
43
  format?: string;
44
+ additionalProperties?: JSONSchemaProperty | boolean;
44
45
  }
45
46
  /** Tool execution context */
46
47
  export interface ToolContext {
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-api.d.ts","sourceRoot":"","sources":["../../src/types/openclaw-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-api.d.ts","sourceRoot":"","sources":["../../src/types/openclaw-api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "openclaw-projects",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "name": "OpenClaw Projects Plugin",
5
5
  "description": "Memory provider with projects, todos, and contacts integration",
6
6
  "kind": "memory",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@troykelly/openclaw-projects",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "description": "OpenClaw memory plugin with projects, todos, and contacts integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",