@troykelly/openclaw-projects 0.0.3 → 0.0.5
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/README.md +197 -9
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +9 -8
- package/dist/api-client.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +6 -66
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -31
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -5
- package/dist/context.js.map +1 -1
- package/dist/gateway/oauth-rpc-methods.d.ts +119 -0
- package/dist/gateway/oauth-rpc-methods.d.ts.map +1 -0
- package/dist/gateway/oauth-rpc-methods.js +266 -0
- package/dist/gateway/oauth-rpc-methods.js.map +1 -0
- package/dist/gateway/rpc-methods.d.ts +2 -3
- package/dist/gateway/rpc-methods.d.ts.map +1 -1
- package/dist/gateway/rpc-methods.js +1 -7
- package/dist/gateway/rpc-methods.js.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +11 -14
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +7 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -29
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/register-openclaw.d.ts.map +1 -1
- package/dist/register-openclaw.js +87 -43
- package/dist/register-openclaw.js.map +1 -1
- package/dist/secrets.d.ts.map +1 -1
- package/dist/secrets.js +24 -14
- package/dist/secrets.js.map +1 -1
- package/dist/services/notification-service.d.ts.map +1 -1
- package/dist/services/notification-service.js +4 -1
- package/dist/services/notification-service.js.map +1 -1
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +9 -34
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/email-send.d.ts.map +1 -1
- package/dist/tools/email-send.js +5 -15
- package/dist/tools/email-send.js.map +1 -1
- package/dist/tools/file-share.d.ts.map +1 -1
- package/dist/tools/file-share.js +3 -10
- package/dist/tools/file-share.js.map +1 -1
- package/dist/tools/index.d.ts +1 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory-forget.d.ts.map +1 -1
- package/dist/tools/memory-forget.js +14 -24
- package/dist/tools/memory-forget.js.map +1 -1
- package/dist/tools/memory-recall.d.ts.map +1 -1
- package/dist/tools/memory-recall.js +5 -33
- package/dist/tools/memory-recall.js.map +1 -1
- package/dist/tools/memory-store.d.ts +3 -3
- package/dist/tools/memory-store.d.ts.map +1 -1
- package/dist/tools/memory-store.js +12 -56
- package/dist/tools/memory-store.js.map +1 -1
- package/dist/tools/message-search.d.ts.map +1 -1
- package/dist/tools/message-search.js +7 -14
- package/dist/tools/message-search.js.map +1 -1
- package/dist/tools/notebooks.d.ts +4 -4
- package/dist/tools/notebooks.d.ts.map +1 -1
- package/dist/tools/notebooks.js +10 -42
- package/dist/tools/notebooks.js.map +1 -1
- package/dist/tools/notes.d.ts +4 -4
- package/dist/tools/notes.d.ts.map +1 -1
- package/dist/tools/notes.js +15 -65
- package/dist/tools/notes.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +7 -34
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/relationships.d.ts.map +1 -1
- package/dist/tools/relationships.js +9 -53
- package/dist/tools/relationships.js.map +1 -1
- package/dist/tools/skill-store.d.ts.map +1 -1
- package/dist/tools/skill-store.js +26 -73
- package/dist/tools/skill-store.js.map +1 -1
- package/dist/tools/sms-send.d.ts.map +1 -1
- package/dist/tools/sms-send.js +3 -10
- package/dist/tools/sms-send.js.map +1 -1
- package/dist/tools/threads.d.ts.map +1 -1
- package/dist/tools/threads.js +12 -18
- package/dist/tools/threads.js.map +1 -1
- package/dist/tools/todos.d.ts.map +1 -1
- package/dist/tools/todos.js +6 -30
- package/dist/tools/todos.js.map +1 -1
- package/dist/types/openclaw-api.d.ts +29 -5
- package/dist/types/openclaw-api.d.ts.map +1 -1
- package/dist/types/openclaw-api.js +11 -0
- package/dist/types/openclaw-api.js.map +1 -1
- package/dist/utils/sanitize.d.ts +17 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +36 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/utils/zod-to-json-schema.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema.js.map +1 -1
- package/openclaw.plugin.json +80 -14
- package/package.json +6 -3
package/dist/tools/threads.js
CHANGED
|
@@ -17,12 +17,7 @@ const MAX_MESSAGE_LIMIT = 200;
|
|
|
17
17
|
export const ThreadListParamsSchema = z.object({
|
|
18
18
|
channel: ChannelType.optional(),
|
|
19
19
|
contactId: z.string().uuid().optional(),
|
|
20
|
-
limit: z
|
|
21
|
-
.number()
|
|
22
|
-
.int()
|
|
23
|
-
.min(1, 'Limit must be at least 1')
|
|
24
|
-
.max(MAX_LIST_LIMIT, `Limit must be ${MAX_LIST_LIMIT} or less`)
|
|
25
|
-
.default(DEFAULT_LIST_LIMIT),
|
|
20
|
+
limit: z.number().int().min(1, 'Limit must be at least 1').max(MAX_LIST_LIMIT, `Limit must be ${MAX_LIST_LIMIT} or less`).default(DEFAULT_LIST_LIMIT),
|
|
26
21
|
});
|
|
27
22
|
/**
|
|
28
23
|
* Creates the thread_list tool.
|
|
@@ -31,16 +26,13 @@ export function createThreadListTool(options) {
|
|
|
31
26
|
const { client, logger, userId } = options;
|
|
32
27
|
return {
|
|
33
28
|
name: 'thread_list',
|
|
34
|
-
description: 'List message threads (conversations). Use to see recent conversations with contacts. ' +
|
|
35
|
-
'Can filter by channel (SMS/email) or contact.',
|
|
29
|
+
description: 'List message threads (conversations). Use to see recent conversations with contacts. ' + 'Can filter by channel (SMS/email) or contact.',
|
|
36
30
|
parameters: ThreadListParamsSchema,
|
|
37
31
|
async execute(params) {
|
|
38
32
|
// Validate parameters
|
|
39
33
|
const parseResult = ThreadListParamsSchema.safeParse(params);
|
|
40
34
|
if (!parseResult.success) {
|
|
41
|
-
const errorMessage = parseResult.error.errors
|
|
42
|
-
.map((e) => `${e.path.join('.')}: ${e.message}`)
|
|
43
|
-
.join(', ');
|
|
35
|
+
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
44
36
|
return { success: false, error: errorMessage };
|
|
45
37
|
}
|
|
46
38
|
const { channel, contactId, limit } = parseResult.data;
|
|
@@ -80,11 +72,13 @@ export function createThreadListTool(options) {
|
|
|
80
72
|
});
|
|
81
73
|
// Format content for display
|
|
82
74
|
const content = threads.length > 0
|
|
83
|
-
? threads
|
|
75
|
+
? threads
|
|
76
|
+
.map((t) => {
|
|
84
77
|
const contact = t.contactName || t.endpointValue;
|
|
85
78
|
const msgCount = `${t.messageCount} message${t.messageCount !== 1 ? 's' : ''}`;
|
|
86
79
|
return `[${t.channel}] ${contact} - ${msgCount}`;
|
|
87
|
-
})
|
|
80
|
+
})
|
|
81
|
+
.join('\n')
|
|
88
82
|
: 'No threads found.';
|
|
89
83
|
return {
|
|
90
84
|
success: true,
|
|
@@ -133,9 +127,7 @@ export function createThreadGetTool(options) {
|
|
|
133
127
|
// Validate parameters
|
|
134
128
|
const parseResult = ThreadGetParamsSchema.safeParse(params);
|
|
135
129
|
if (!parseResult.success) {
|
|
136
|
-
const errorMessage = parseResult.error.errors
|
|
137
|
-
.map((e) => `${e.path.join('.')}: ${e.message}`)
|
|
138
|
-
.join(', ');
|
|
130
|
+
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
139
131
|
return { success: false, error: errorMessage };
|
|
140
132
|
}
|
|
141
133
|
const { threadId, messageLimit } = parseResult.data;
|
|
@@ -170,11 +162,13 @@ export function createThreadGetTool(options) {
|
|
|
170
162
|
const contact = thread.contactName || thread.endpointValue || 'Unknown';
|
|
171
163
|
const header = `Thread with ${contact} [${thread.channel}]`;
|
|
172
164
|
const messageContent = messages.length > 0
|
|
173
|
-
? messages
|
|
165
|
+
? messages
|
|
166
|
+
.map((m) => {
|
|
174
167
|
const prefix = m.direction === 'inbound' ? '←' : '→';
|
|
175
168
|
const timestamp = new Date(m.createdAt).toLocaleString();
|
|
176
169
|
return `${prefix} [${timestamp}] ${m.body}`;
|
|
177
|
-
})
|
|
170
|
+
})
|
|
171
|
+
.join('\n')
|
|
178
172
|
: 'No messages in this thread.';
|
|
179
173
|
const content = `${header}\n\n${messageContent}`;
|
|
180
174
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/tools/threads.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/tools/threads.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todos.d.ts","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"todos.d.ts","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAWjD,oCAAoC;AACpC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,yBAAyB;AACzB,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,KAAK,EAAE,IAAI,EAAE,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED,oBAAoB;AACpB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC;AAE3D,yBAAyB;AACzB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sBAAsB;AACtB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,oBAAoB,CAAC;IACxC,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC9D;AAiCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAyFzE;AAID,sCAAsC;AACtC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,sBAAsB,CAAC;IAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CA6F7E;AAID,wCAAwC;AACxC,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,iCAAiC;AACjC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,WAAW,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,wBAAwB,CAAC;IAC5C,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,gBAAgB,CAgEjF"}
|
package/dist/tools/todos.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Provides todo_list, todo_create, and todo_complete tools.
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
+
import { sanitizeErrorMessage } from '../utils/sanitize.js';
|
|
6
7
|
/** UUID validation regex */
|
|
7
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;
|
|
8
9
|
/** ISO 8601 date format (YYYY-MM-DD) */
|
|
@@ -15,22 +16,6 @@ export const TodoListParamsSchema = z.object({
|
|
|
15
16
|
limit: z.number().int().min(1).max(200).optional(),
|
|
16
17
|
offset: z.number().int().min(0).optional(),
|
|
17
18
|
});
|
|
18
|
-
/**
|
|
19
|
-
* Create a sanitized error message.
|
|
20
|
-
*/
|
|
21
|
-
function sanitizeErrorMessage(error) {
|
|
22
|
-
if (error instanceof Error) {
|
|
23
|
-
const message = error.message
|
|
24
|
-
.replace(/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g, '[host]')
|
|
25
|
-
.replace(/:\d{2,5}\b/g, '')
|
|
26
|
-
.replace(/\b(?:localhost|internal[-\w]*)\b/gi, '[internal]');
|
|
27
|
-
if (message.includes('[internal]') || message.includes('[host]')) {
|
|
28
|
-
return 'Operation failed. Please try again.';
|
|
29
|
-
}
|
|
30
|
-
return message;
|
|
31
|
-
}
|
|
32
|
-
return 'An unexpected error occurred.';
|
|
33
|
-
}
|
|
34
19
|
/**
|
|
35
20
|
* Strip HTML tags from a string.
|
|
36
21
|
* Also removes content inside script and style tags for security.
|
|
@@ -57,7 +42,7 @@ function isValidIsoDate(date) {
|
|
|
57
42
|
}
|
|
58
43
|
// Also validate it's a real date
|
|
59
44
|
const parsed = new Date(date);
|
|
60
|
-
return !isNaN(parsed.getTime());
|
|
45
|
+
return !Number.isNaN(parsed.getTime());
|
|
61
46
|
}
|
|
62
47
|
/**
|
|
63
48
|
* Creates the todo_list tool.
|
|
@@ -71,9 +56,7 @@ export function createTodoListTool(options) {
|
|
|
71
56
|
async execute(params) {
|
|
72
57
|
const parseResult = TodoListParamsSchema.safeParse(params);
|
|
73
58
|
if (!parseResult.success) {
|
|
74
|
-
const errorMessage = parseResult.error.errors
|
|
75
|
-
.map((e) => `${e.path.join('.')}: ${e.message}`)
|
|
76
|
-
.join(', ');
|
|
59
|
+
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
77
60
|
return { success: false, error: errorMessage };
|
|
78
61
|
}
|
|
79
62
|
const { projectId, completed, limit = 50, offset = 0 } = parseResult.data;
|
|
@@ -145,10 +128,7 @@ export function createTodoListTool(options) {
|
|
|
145
128
|
// ==================== todo_create ====================
|
|
146
129
|
/** Parameters for todo_create tool */
|
|
147
130
|
export const TodoCreateParamsSchema = z.object({
|
|
148
|
-
title: z
|
|
149
|
-
.string()
|
|
150
|
-
.min(1, 'Todo title is required')
|
|
151
|
-
.max(500, 'Todo title must be 500 characters or less'),
|
|
131
|
+
title: z.string().min(1, 'Todo title is required').max(500, 'Todo title must be 500 characters or less'),
|
|
152
132
|
projectId: z.string().optional(),
|
|
153
133
|
dueDate: z.string().optional(),
|
|
154
134
|
});
|
|
@@ -164,9 +144,7 @@ export function createTodoCreateTool(options) {
|
|
|
164
144
|
async execute(params) {
|
|
165
145
|
const parseResult = TodoCreateParamsSchema.safeParse(params);
|
|
166
146
|
if (!parseResult.success) {
|
|
167
|
-
const errorMessage = parseResult.error.errors
|
|
168
|
-
.map((e) => `${e.path.join('.')}: ${e.message}`)
|
|
169
|
-
.join(', ');
|
|
147
|
+
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
170
148
|
return { success: false, error: errorMessage };
|
|
171
149
|
}
|
|
172
150
|
const { title, projectId, dueDate } = parseResult.data;
|
|
@@ -255,9 +233,7 @@ export function createTodoCompleteTool(options) {
|
|
|
255
233
|
async execute(params) {
|
|
256
234
|
const parseResult = TodoCompleteParamsSchema.safeParse(params);
|
|
257
235
|
if (!parseResult.success) {
|
|
258
|
-
const errorMessage = parseResult.error.errors
|
|
259
|
-
.map((e) => `${e.path.join('.')}: ${e.message}`)
|
|
260
|
-
.join(', ');
|
|
236
|
+
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
261
237
|
return { success: false, error: errorMessage };
|
|
262
238
|
}
|
|
263
239
|
const { id } = parseResult.data;
|
package/dist/tools/todos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todos.js","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"todos.js","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
* These types define the contract between plugins and the OpenClaw Gateway runtime.
|
|
5
5
|
* Based on OpenClaw 2026 plugin architecture.
|
|
6
6
|
*
|
|
7
|
+
* All types are defined locally because the `openclaw/plugin-sdk` public API
|
|
8
|
+
* does not export the individual hook types (PluginHookName, etc.) — they exist
|
|
9
|
+
* only as internal types within the SDK's plugins/types.d.ts. Importing from
|
|
10
|
+
* deep internal paths would be fragile and could break on any SDK update.
|
|
11
|
+
*
|
|
12
|
+
* The SDK's OpenClawPluginApi type is exported but uses different shapes
|
|
13
|
+
* (e.g., AnyAgentTool vs our ToolDefinition, OpenClawConfig vs Record<string, unknown>).
|
|
14
|
+
*
|
|
15
|
+
* See tests/sdk-type-compatibility.test.ts for compile-time checks that verify
|
|
16
|
+
* our local types remain compatible with the SDK's definitions.
|
|
17
|
+
*
|
|
7
18
|
* Reference: docs/knowledge/openclaw-hook-contract.md
|
|
8
19
|
*/
|
|
9
20
|
import type { Logger } from '../logger.js';
|
|
@@ -50,6 +61,11 @@ export interface ToolResult {
|
|
|
50
61
|
/**
|
|
51
62
|
* AgentToolResult - The format OpenClaw Gateway expects from tool execute functions.
|
|
52
63
|
* This is the standard return type for all tool executions.
|
|
64
|
+
*
|
|
65
|
+
* Note: The SDK's AgentToolResult (from @mariozechner/pi-agent-core) uses
|
|
66
|
+
* `(TextContent | ImageContent)[]` which is a different shape. Our simplified
|
|
67
|
+
* version uses `{ type: 'text'; text: string }[]` to avoid pulling in the
|
|
68
|
+
* pi-agent-core dependency.
|
|
53
69
|
*/
|
|
54
70
|
export interface AgentToolResult {
|
|
55
71
|
content: Array<{
|
|
@@ -66,7 +82,13 @@ export interface AgentToolResult {
|
|
|
66
82
|
* @param onUpdate - Optional callback for streaming partial results
|
|
67
83
|
*/
|
|
68
84
|
export type AgentToolExecute<T = Record<string, unknown>> = (toolCallId: string, params: T, signal?: AbortSignal, onUpdate?: (partial: unknown) => void) => Promise<AgentToolResult>;
|
|
69
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Tool definition for api.registerTool().
|
|
87
|
+
*
|
|
88
|
+
* Note: The SDK uses AnyAgentTool (from @mariozechner/pi-agent-core) which
|
|
89
|
+
* extends Tool<TSchema> with TypeBox schemas. Our simplified version uses
|
|
90
|
+
* plain JSON Schema objects to avoid the TypeBox/pi-agent-core dependency.
|
|
91
|
+
*/
|
|
70
92
|
export interface ToolDefinition {
|
|
71
93
|
/** Tool name (snake_case) */
|
|
72
94
|
name: string;
|
|
@@ -117,7 +139,7 @@ export interface PluginHookAgentEndEvent {
|
|
|
117
139
|
/** Legacy hook event types (camelCase) */
|
|
118
140
|
export type HookEvent = 'beforeAgentStart' | 'afterAgentStart' | 'beforeAgentEnd' | 'agentEnd' | 'beforeToolCall' | 'afterToolCall' | 'messageReceived' | 'messageSent';
|
|
119
141
|
/** Legacy hook handler function */
|
|
120
|
-
export type HookHandler<T = unknown> = (event: T) => Promise<T | null |
|
|
142
|
+
export type HookHandler<T = unknown> = (event: T) => Promise<T | null | undefined>;
|
|
121
143
|
/** CLI registration callback */
|
|
122
144
|
export interface CliRegistrationContext {
|
|
123
145
|
/** Commander program instance */
|
|
@@ -136,14 +158,16 @@ export interface ServiceDefinition {
|
|
|
136
158
|
/** Unique service ID */
|
|
137
159
|
id: string;
|
|
138
160
|
/** Called when plugin starts */
|
|
139
|
-
start: () => Promise<void>;
|
|
161
|
+
start: (ctx?: Record<string, unknown>) => Promise<void>;
|
|
140
162
|
/** Called when plugin stops */
|
|
141
|
-
stop: () => Promise<void>;
|
|
163
|
+
stop: (ctx?: Record<string, unknown>) => Promise<void>;
|
|
142
164
|
}
|
|
143
165
|
/** OpenClaw Plugin API provided to plugins */
|
|
144
166
|
export interface OpenClawPluginApi {
|
|
145
|
-
/**
|
|
167
|
+
/** Full OpenClaw gateway configuration */
|
|
146
168
|
config: Record<string, unknown>;
|
|
169
|
+
/** Plugin-specific configuration from plugins.entries.<id>.config */
|
|
170
|
+
pluginConfig?: Record<string, unknown>;
|
|
147
171
|
/** Logger instance */
|
|
148
172
|
logger: Logger;
|
|
149
173
|
/** Plugin ID */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-api.d.ts","sourceRoot":"","sources":["../../src/types/openclaw-api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openclaw-api.d.ts","sourceRoot":"","sources":["../../src/types/openclaw-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
* These types define the contract between plugins and the OpenClaw Gateway runtime.
|
|
5
5
|
* Based on OpenClaw 2026 plugin architecture.
|
|
6
6
|
*
|
|
7
|
+
* All types are defined locally because the `openclaw/plugin-sdk` public API
|
|
8
|
+
* does not export the individual hook types (PluginHookName, etc.) — they exist
|
|
9
|
+
* only as internal types within the SDK's plugins/types.d.ts. Importing from
|
|
10
|
+
* deep internal paths would be fragile and could break on any SDK update.
|
|
11
|
+
*
|
|
12
|
+
* The SDK's OpenClawPluginApi type is exported but uses different shapes
|
|
13
|
+
* (e.g., AnyAgentTool vs our ToolDefinition, OpenClawConfig vs Record<string, unknown>).
|
|
14
|
+
*
|
|
15
|
+
* See tests/sdk-type-compatibility.test.ts for compile-time checks that verify
|
|
16
|
+
* our local types remain compatible with the SDK's definitions.
|
|
17
|
+
*
|
|
7
18
|
* Reference: docs/knowledge/openclaw-hook-contract.md
|
|
8
19
|
*/
|
|
9
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-api.js","sourceRoot":"","sources":["../../src/types/openclaw-api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openclaw-api.js","sourceRoot":"","sources":["../../src/types/openclaw-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared sanitization utilities for tool implementations.
|
|
3
|
+
* Extracted from duplicated copies across tool modules.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Sanitize text input to remove control characters.
|
|
7
|
+
*/
|
|
8
|
+
export declare function sanitizeText(text: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Create a sanitized error message that doesn't expose internal details.
|
|
11
|
+
*/
|
|
12
|
+
export declare function sanitizeErrorMessage(error: unknown): string;
|
|
13
|
+
/**
|
|
14
|
+
* Truncate text for display preview.
|
|
15
|
+
*/
|
|
16
|
+
export declare function truncateForPreview(text: string, maxLength?: number): string;
|
|
17
|
+
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAc3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAKxE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared sanitization utilities for tool implementations.
|
|
3
|
+
* Extracted from duplicated copies across tool modules.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Sanitize text input to remove control characters.
|
|
7
|
+
*/
|
|
8
|
+
export function sanitizeText(text) {
|
|
9
|
+
return text.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '').trim();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create a sanitized error message that doesn't expose internal details.
|
|
13
|
+
*/
|
|
14
|
+
export function sanitizeErrorMessage(error) {
|
|
15
|
+
if (error instanceof Error) {
|
|
16
|
+
const message = error.message
|
|
17
|
+
.replace(/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g, '[host]')
|
|
18
|
+
.replace(/:\d{2,5}\b/g, '')
|
|
19
|
+
.replace(/\b(?:localhost|internal[-\w]*)\b/gi, '[internal]');
|
|
20
|
+
if (message.includes('[internal]') || message.includes('[host]')) {
|
|
21
|
+
return 'Failed to complete operation. Please try again.';
|
|
22
|
+
}
|
|
23
|
+
return message;
|
|
24
|
+
}
|
|
25
|
+
return 'An unexpected error occurred.';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Truncate text for display preview.
|
|
29
|
+
*/
|
|
30
|
+
export function truncateForPreview(text, maxLength = 100) {
|
|
31
|
+
if (text.length <= maxLength) {
|
|
32
|
+
return text;
|
|
33
|
+
}
|
|
34
|
+
return `${text.substring(0, maxLength)}...`;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=sanitize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;aAC1B,OAAO,CAAC,yCAAyC,EAAE,QAAQ,CAAC;aAC5D,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,OAAO,CAAC,oCAAoC,EAAE,YAAY,CAAC,CAAC;QAE/D,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,OAAO,iDAAiD,CAAC;QAC3D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,SAAS,GAAG,GAAG;IAC9D,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-to-json-schema.d.ts","sourceRoot":"","sources":["../../src/utils/zod-to-json-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAK,KAAK,UAAU,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"zod-to-json-schema.d.ts","sourceRoot":"","sources":["../../src/utils/zod-to-json-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAK,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,0BAA0B,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE9D;AAwGD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,CAWpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-to-json-schema.js","sourceRoot":"","sources":["../../src/utils/zod-to-json-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAmB,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"zod-to-json-schema.js","sourceRoot":"","sources":["../../src/utils/zod-to-json-schema.ts"],"names":[],"mappings":"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"}
|