assistme 0.8.3 → 0.8.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/dist/{chunk-UHGTMSLZ.js → chunk-4E5QAYTQ.js} +6 -3
- package/dist/{chunk-3UNXN3BX.js → chunk-QGH5MFJA.js} +0 -2
- package/dist/index.js +5 -5
- package/dist/{job-runner-P4DIXXCV.js → job-runner-IBVUDW6A.js} +1 -1
- package/dist/workers/entry.js +14 -11
- package/package.json +1 -1
- package/src/agent/processor.ts +6 -7
- package/src/agent/skills.ts +5 -2
- package/src/mcp/agent-tools-server.ts +6 -1
- package/src/utils/constants.ts +2 -2
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
readAuthStore,
|
|
18
18
|
safeParse,
|
|
19
19
|
writeAuthStore
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QGH5MFJA.js";
|
|
21
21
|
import {
|
|
22
22
|
AppError,
|
|
23
23
|
errorMessage,
|
|
@@ -3015,7 +3015,10 @@ var SkillManager = class {
|
|
|
3015
3015
|
}
|
|
3016
3016
|
// ── Create / Update / Remove ──────────────────────────────────
|
|
3017
3017
|
async create(name, description, content, options) {
|
|
3018
|
-
if (!this.userId)
|
|
3018
|
+
if (!this.userId) {
|
|
3019
|
+
log.warn(`Skill create skipped for "${name}": no userId set`);
|
|
3020
|
+
return null;
|
|
3021
|
+
}
|
|
3019
3022
|
try {
|
|
3020
3023
|
const metadata = options?.emoji ? { openclaw: { emoji: options.emoji } } : {};
|
|
3021
3024
|
const data = await callMcpHandler(
|
|
@@ -3060,7 +3063,7 @@ var SkillManager = class {
|
|
|
3060
3063
|
log.info(`Skill "${skillName}" created in skills table (pending approval)`);
|
|
3061
3064
|
return { id, name: skillName };
|
|
3062
3065
|
} catch (err) {
|
|
3063
|
-
log.
|
|
3066
|
+
log.warn(`Skill create error for "${name}": ${err instanceof Error ? err.message : err}`);
|
|
3064
3067
|
return null;
|
|
3065
3068
|
}
|
|
3066
3069
|
}
|
|
@@ -340,7 +340,6 @@ var MAX_CONTENT_SEARCH_RESULTS = 30;
|
|
|
340
340
|
var MEMORY_DEDUP_SIMILARITY_THRESHOLD = 0.75;
|
|
341
341
|
var MEMORY_COMPRESSION_THRESHOLD = 50;
|
|
342
342
|
var MEMORY_COMPRESSION_TARGET = 30;
|
|
343
|
-
var MAX_BUDGET_USD = 2;
|
|
344
343
|
var SELF_ANALYSIS_MAX_SESSION_LOGS = 200;
|
|
345
344
|
var SELF_ANALYSIS_MAX_MESSAGE_EVENTS = 300;
|
|
346
345
|
var SELF_ANALYSIS_MAX_CONVERSATION_MESSAGES = 10;
|
|
@@ -589,7 +588,6 @@ export {
|
|
|
589
588
|
MEMORY_DEDUP_SIMILARITY_THRESHOLD,
|
|
590
589
|
MEMORY_COMPRESSION_THRESHOLD,
|
|
591
590
|
MEMORY_COMPRESSION_TARGET,
|
|
592
|
-
MAX_BUDGET_USD,
|
|
593
591
|
SELF_ANALYSIS_MAX_SESSION_LOGS,
|
|
594
592
|
SELF_ANALYSIS_MAX_MESSAGE_EVENTS,
|
|
595
593
|
SELF_ANALYSIS_MAX_CONVERSATION_MESSAGES,
|
package/dist/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
setSessionBusy,
|
|
28
28
|
toggleScheduledTask,
|
|
29
29
|
updateHeartbeat
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-4E5QAYTQ.js";
|
|
31
31
|
import {
|
|
32
32
|
HEARTBEAT_INTERVAL_MS,
|
|
33
33
|
HEARTBEAT_LOG_MAX_ENTRIES,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
setLogConversationId,
|
|
40
40
|
setLogHook,
|
|
41
41
|
setLogLevel
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-QGH5MFJA.js";
|
|
43
43
|
import {
|
|
44
44
|
clearConfig,
|
|
45
45
|
errorMessage,
|
|
@@ -2159,7 +2159,7 @@ function registerJobCommands(program2) {
|
|
|
2159
2159
|
jobCmd.command("list").description("List your defined jobs").action(async () => {
|
|
2160
2160
|
try {
|
|
2161
2161
|
await getCurrentUserId();
|
|
2162
|
-
const { JobRunner: JobRunner2 } = await import("./job-runner-
|
|
2162
|
+
const { JobRunner: JobRunner2 } = await import("./job-runner-IBVUDW6A.js");
|
|
2163
2163
|
const runner = new JobRunner2();
|
|
2164
2164
|
const jobs = await runner.listJobs();
|
|
2165
2165
|
if (jobs.length === 0) {
|
|
@@ -2183,7 +2183,7 @@ function registerJobCommands(program2) {
|
|
|
2183
2183
|
jobCmd.command("status [name]").description("Show run history for a job (or all jobs)").option("-l, --limit <number>", "Max runs to show (default: 5)").action(async (name, opts) => {
|
|
2184
2184
|
try {
|
|
2185
2185
|
await getCurrentUserId();
|
|
2186
|
-
const { JobRunner: JobRunner2 } = await import("./job-runner-
|
|
2186
|
+
const { JobRunner: JobRunner2 } = await import("./job-runner-IBVUDW6A.js");
|
|
2187
2187
|
const runner = new JobRunner2();
|
|
2188
2188
|
const runs = await runner.getRunHistory(name, parseInt(opts.limit || "5"));
|
|
2189
2189
|
if (runs.length === 0) {
|
|
@@ -2222,7 +2222,7 @@ Job Run History${name ? ` \u2014 ${name}` : ""}:`));
|
|
|
2222
2222
|
process.exit(1);
|
|
2223
2223
|
}
|
|
2224
2224
|
await getCurrentUserId();
|
|
2225
|
-
const { JobRunner: JobRunner2 } = await import("./job-runner-
|
|
2225
|
+
const { JobRunner: JobRunner2 } = await import("./job-runner-IBVUDW6A.js");
|
|
2226
2226
|
const runner = new JobRunner2();
|
|
2227
2227
|
const job = await runner.loadJob(name);
|
|
2228
2228
|
if (!job) {
|
package/dist/workers/entry.js
CHANGED
|
@@ -19,11 +19,10 @@ import {
|
|
|
19
19
|
pollActionResponse,
|
|
20
20
|
resetEventSequence,
|
|
21
21
|
setActionRequest
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-4E5QAYTQ.js";
|
|
23
23
|
import {
|
|
24
24
|
EDSGER_PRODUCT_SLUG,
|
|
25
25
|
JobRunner,
|
|
26
|
-
MAX_BUDGET_USD,
|
|
27
26
|
MAX_COMPLETE_TASK_RETRIES,
|
|
28
27
|
MAX_CONTENT_SEARCH_FILES,
|
|
29
28
|
MAX_CONTENT_SEARCH_RESULTS,
|
|
@@ -47,7 +46,7 @@ import {
|
|
|
47
46
|
safeParse,
|
|
48
47
|
setCorrelationId,
|
|
49
48
|
setLogTransport
|
|
50
|
-
} from "../chunk-
|
|
49
|
+
} from "../chunk-QGH5MFJA.js";
|
|
51
50
|
import {
|
|
52
51
|
AppError,
|
|
53
52
|
assertWithinAssistMeRoot,
|
|
@@ -1740,7 +1739,12 @@ function createAgentToolsServer(deps) {
|
|
|
1740
1739
|
});
|
|
1741
1740
|
if (!result) {
|
|
1742
1741
|
return {
|
|
1743
|
-
content: [
|
|
1742
|
+
content: [
|
|
1743
|
+
{
|
|
1744
|
+
type: "text",
|
|
1745
|
+
text: `Failed to create skill "${args.name}". Check logs for details (userId may not be set, or database error).`
|
|
1746
|
+
}
|
|
1747
|
+
]
|
|
1744
1748
|
};
|
|
1745
1749
|
}
|
|
1746
1750
|
await skillManager.syncToAgentSkills(
|
|
@@ -3323,7 +3327,7 @@ var TaskProcessor = class {
|
|
|
3323
3327
|
historyCache: this.historyCache
|
|
3324
3328
|
});
|
|
3325
3329
|
const abortController = new AbortController();
|
|
3326
|
-
const taskTimeout = new TaskTimeout(abortController, taskTimeoutMs);
|
|
3330
|
+
const taskTimeout = taskTimeoutMs > 0 ? new TaskTimeout(abortController, taskTimeoutMs) : null;
|
|
3327
3331
|
const browserServer = createBrowserMcpServer();
|
|
3328
3332
|
const agentToolsServer = createAgentToolsServer({
|
|
3329
3333
|
memoryManager: this.memoryManager,
|
|
@@ -3331,8 +3335,8 @@ var TaskProcessor = class {
|
|
|
3331
3335
|
taskId: task.id,
|
|
3332
3336
|
sessionId: this.sessionId || void 0,
|
|
3333
3337
|
heartbeatEngine: this.heartbeatEngine || void 0,
|
|
3334
|
-
onUserWaitStart: () => taskTimeout
|
|
3335
|
-
onUserWaitEnd: () => taskTimeout
|
|
3338
|
+
onUserWaitStart: () => taskTimeout?.pause(),
|
|
3339
|
+
onUserWaitEnd: () => taskTimeout?.resume()
|
|
3336
3340
|
});
|
|
3337
3341
|
const eventHooks = createEventHooks(task.id, toolCallRecords, toolFailures);
|
|
3338
3342
|
const options = {
|
|
@@ -3352,10 +3356,9 @@ var TaskProcessor = class {
|
|
|
3352
3356
|
},
|
|
3353
3357
|
hooks: eventHooks,
|
|
3354
3358
|
persistSession: true,
|
|
3355
|
-
abortController,
|
|
3359
|
+
...taskTimeout ? { abortController } : {},
|
|
3356
3360
|
thinking: { type: "adaptive" },
|
|
3357
|
-
effort: "high"
|
|
3358
|
-
maxBudgetUsd: MAX_BUDGET_USD
|
|
3361
|
+
effort: "high"
|
|
3359
3362
|
};
|
|
3360
3363
|
let result;
|
|
3361
3364
|
try {
|
|
@@ -3373,7 +3376,7 @@ var TaskProcessor = class {
|
|
|
3373
3376
|
}
|
|
3374
3377
|
});
|
|
3375
3378
|
} finally {
|
|
3376
|
-
taskTimeout
|
|
3379
|
+
taskTimeout?.clear();
|
|
3377
3380
|
}
|
|
3378
3381
|
const { response: finalResponse, sessionId: agentSessionId, costUsd, numTurns } = result;
|
|
3379
3382
|
tokenUsage = result.tokenUsage;
|
package/package.json
CHANGED
package/src/agent/processor.ts
CHANGED
|
@@ -39,7 +39,6 @@ import {
|
|
|
39
39
|
MAX_RESPONSE_CONTENT_LENGTH,
|
|
40
40
|
MAX_HISTORY_ENTRIES,
|
|
41
41
|
MAX_COMPLETE_TASK_RETRIES,
|
|
42
|
-
MAX_BUDGET_USD,
|
|
43
42
|
} from "../utils/constants.js";
|
|
44
43
|
import { errorMessage } from "../utils/errors.js";
|
|
45
44
|
import type { HeartbeatEngine } from "./proactive-monitor.js";
|
|
@@ -190,7 +189,8 @@ export class TaskProcessor {
|
|
|
190
189
|
});
|
|
191
190
|
|
|
192
191
|
const abortController = new AbortController();
|
|
193
|
-
const taskTimeout =
|
|
192
|
+
const taskTimeout =
|
|
193
|
+
taskTimeoutMs > 0 ? new TaskTimeout(abortController, taskTimeoutMs) : null;
|
|
194
194
|
|
|
195
195
|
// Create MCP servers for custom tools
|
|
196
196
|
const browserServer = createBrowserMcpServer();
|
|
@@ -200,8 +200,8 @@ export class TaskProcessor {
|
|
|
200
200
|
taskId: task.id,
|
|
201
201
|
sessionId: this.sessionId || undefined,
|
|
202
202
|
heartbeatEngine: this.heartbeatEngine || undefined,
|
|
203
|
-
onUserWaitStart: () => taskTimeout
|
|
204
|
-
onUserWaitEnd: () => taskTimeout
|
|
203
|
+
onUserWaitStart: () => taskTimeout?.pause(),
|
|
204
|
+
onUserWaitEnd: () => taskTimeout?.resume(),
|
|
205
205
|
});
|
|
206
206
|
|
|
207
207
|
const eventHooks = createEventHooks(task.id, toolCallRecords, toolFailures);
|
|
@@ -223,10 +223,9 @@ export class TaskProcessor {
|
|
|
223
223
|
},
|
|
224
224
|
hooks: eventHooks,
|
|
225
225
|
persistSession: true,
|
|
226
|
-
abortController,
|
|
226
|
+
...(taskTimeout ? { abortController } : {}),
|
|
227
227
|
thinking: { type: "adaptive" },
|
|
228
228
|
effort: "high",
|
|
229
|
-
maxBudgetUsd: MAX_BUDGET_USD,
|
|
230
229
|
};
|
|
231
230
|
|
|
232
231
|
// Execute via SDK with real-time event streaming
|
|
@@ -246,7 +245,7 @@ export class TaskProcessor {
|
|
|
246
245
|
},
|
|
247
246
|
});
|
|
248
247
|
} finally {
|
|
249
|
-
taskTimeout
|
|
248
|
+
taskTimeout?.clear();
|
|
250
249
|
}
|
|
251
250
|
|
|
252
251
|
const { response: finalResponse, sessionId: agentSessionId, costUsd, numTurns } = result;
|
package/src/agent/skills.ts
CHANGED
|
@@ -258,7 +258,10 @@ export class SkillManager {
|
|
|
258
258
|
content: string,
|
|
259
259
|
options?: { source?: string; emoji?: string; keywords?: string[] }
|
|
260
260
|
): Promise<{ id: string; name: string } | null> {
|
|
261
|
-
if (!this.userId)
|
|
261
|
+
if (!this.userId) {
|
|
262
|
+
log.warn(`Skill create skipped for "${name}": no userId set`);
|
|
263
|
+
return null;
|
|
264
|
+
}
|
|
262
265
|
|
|
263
266
|
try {
|
|
264
267
|
const metadata = options?.emoji ? { openclaw: { emoji: options.emoji } } : {};
|
|
@@ -309,7 +312,7 @@ export class SkillManager {
|
|
|
309
312
|
log.info(`Skill "${skillName}" created in skills table (pending approval)`);
|
|
310
313
|
return { id, name: skillName };
|
|
311
314
|
} catch (err) {
|
|
312
|
-
log.
|
|
315
|
+
log.warn(`Skill create error for "${name}": ${err instanceof Error ? err.message : err}`);
|
|
313
316
|
return null;
|
|
314
317
|
}
|
|
315
318
|
}
|
|
@@ -129,7 +129,12 @@ export function createAgentToolsServer(deps: AgentToolsDeps): McpSdkServerConfig
|
|
|
129
129
|
|
|
130
130
|
if (!result) {
|
|
131
131
|
return {
|
|
132
|
-
content: [
|
|
132
|
+
content: [
|
|
133
|
+
{
|
|
134
|
+
type: "text",
|
|
135
|
+
text: `Failed to create skill "${args.name}". Check logs for details (userId may not be set, or database error).`,
|
|
136
|
+
},
|
|
137
|
+
],
|
|
133
138
|
};
|
|
134
139
|
}
|
|
135
140
|
|
package/src/utils/constants.ts
CHANGED
|
@@ -31,8 +31,8 @@ export const SKILL_DESCRIPTION_BUDGET_CHARS = 16_000;
|
|
|
31
31
|
|
|
32
32
|
// ── Timeouts ───────────────────────────────────────────────────────
|
|
33
33
|
|
|
34
|
-
/** Default task timeout in minutes */
|
|
35
|
-
export const DEFAULT_TASK_TIMEOUT_MINUTES =
|
|
34
|
+
/** Default task timeout in minutes (0 = no timeout) */
|
|
35
|
+
export const DEFAULT_TASK_TIMEOUT_MINUTES = 0;
|
|
36
36
|
|
|
37
37
|
/** Shell command execution timeout in ms */
|
|
38
38
|
export const SHELL_TIMEOUT_MS = 30_000;
|