sparkecoder 0.1.62 → 0.1.64
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/agent/index.js +3 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/cli.js +54 -23
- package/dist/cli.js.map +1 -1
- package/dist/index.js +54 -23
- package/dist/index.js.map +1 -1
- package/dist/server/index.js +54 -23
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.html +1 -1
- package/web/.next/standalone/web/.next/server/app/index.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
- /package/web/.next/standalone/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
- /package/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
- /package/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
package/dist/cli.js
CHANGED
|
@@ -2423,6 +2423,34 @@ var init_semantic_search = __esm({
|
|
|
2423
2423
|
}
|
|
2424
2424
|
});
|
|
2425
2425
|
|
|
2426
|
+
// src/utils/webhook.ts
|
|
2427
|
+
var webhook_exports = {};
|
|
2428
|
+
__export(webhook_exports, {
|
|
2429
|
+
sendWebhook: () => sendWebhook
|
|
2430
|
+
});
|
|
2431
|
+
async function sendWebhook(url, event) {
|
|
2432
|
+
try {
|
|
2433
|
+
const controller = new AbortController();
|
|
2434
|
+
const timeout = setTimeout(() => controller.abort(), 5e3);
|
|
2435
|
+
await fetch(url, {
|
|
2436
|
+
method: "POST",
|
|
2437
|
+
headers: {
|
|
2438
|
+
"Content-Type": "application/json",
|
|
2439
|
+
"X-SparkECoder-Event": event.type
|
|
2440
|
+
},
|
|
2441
|
+
body: JSON.stringify(event),
|
|
2442
|
+
signal: controller.signal
|
|
2443
|
+
});
|
|
2444
|
+
clearTimeout(timeout);
|
|
2445
|
+
} catch {
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2448
|
+
var init_webhook = __esm({
|
|
2449
|
+
"src/utils/webhook.ts"() {
|
|
2450
|
+
"use strict";
|
|
2451
|
+
}
|
|
2452
|
+
});
|
|
2453
|
+
|
|
2426
2454
|
// src/cli.ts
|
|
2427
2455
|
import { Command } from "commander";
|
|
2428
2456
|
import chalk from "chalk";
|
|
@@ -6670,26 +6698,8 @@ ${this.summary}`
|
|
|
6670
6698
|
}
|
|
6671
6699
|
};
|
|
6672
6700
|
|
|
6673
|
-
// src/utils/webhook.ts
|
|
6674
|
-
async function sendWebhook(url, event) {
|
|
6675
|
-
try {
|
|
6676
|
-
const controller = new AbortController();
|
|
6677
|
-
const timeout = setTimeout(() => controller.abort(), 5e3);
|
|
6678
|
-
await fetch(url, {
|
|
6679
|
-
method: "POST",
|
|
6680
|
-
headers: {
|
|
6681
|
-
"Content-Type": "application/json",
|
|
6682
|
-
"X-SparkECoder-Event": event.type
|
|
6683
|
-
},
|
|
6684
|
-
body: JSON.stringify(event),
|
|
6685
|
-
signal: controller.signal
|
|
6686
|
-
});
|
|
6687
|
-
clearTimeout(timeout);
|
|
6688
|
-
} catch {
|
|
6689
|
-
}
|
|
6690
|
-
}
|
|
6691
|
-
|
|
6692
6701
|
// src/agent/index.ts
|
|
6702
|
+
init_webhook();
|
|
6693
6703
|
var approvalResolvers = /* @__PURE__ */ new Map();
|
|
6694
6704
|
var Agent = class _Agent {
|
|
6695
6705
|
session;
|
|
@@ -6955,7 +6965,7 @@ ${prompt}` });
|
|
|
6955
6965
|
|
|
6956
6966
|
${taskAddendum}`;
|
|
6957
6967
|
fireWebhook("task.started", { prompt: options.prompt });
|
|
6958
|
-
this.context.addUserMessage(options.prompt);
|
|
6968
|
+
await this.context.addUserMessage(options.prompt);
|
|
6959
6969
|
let iteration = 0;
|
|
6960
6970
|
while (iteration < maxIterations) {
|
|
6961
6971
|
iteration++;
|
|
@@ -6984,7 +6994,7 @@ ${taskAddendum}`;
|
|
|
6984
6994
|
}
|
|
6985
6995
|
});
|
|
6986
6996
|
const responseMessages = result.response.messages;
|
|
6987
|
-
this.context.addResponseMessages(responseMessages);
|
|
6997
|
+
await this.context.addResponseMessages(responseMessages);
|
|
6988
6998
|
if (result.text) {
|
|
6989
6999
|
options.onText?.(result.text);
|
|
6990
7000
|
fireWebhook("task.message", { iteration, text: result.text });
|
|
@@ -7030,7 +7040,7 @@ ${taskAddendum}`;
|
|
|
7030
7040
|
iterations: iteration
|
|
7031
7041
|
};
|
|
7032
7042
|
}
|
|
7033
|
-
this.context.addUserMessage(
|
|
7043
|
+
await this.context.addUserMessage(
|
|
7034
7044
|
"Continue working on the task. When done, call `complete_task` with the result. If you cannot complete it, call `task_failed` with a reason."
|
|
7035
7045
|
);
|
|
7036
7046
|
}
|
|
@@ -9426,10 +9436,11 @@ tasks.post(
|
|
|
9426
9436
|
console.log(`[TASK] Task ${taskId} was cancelled`);
|
|
9427
9437
|
} else {
|
|
9428
9438
|
console.error(`[TASK] Error in task ${taskId}:`, err.message);
|
|
9439
|
+
const errorMsg = err.message || "Unknown error";
|
|
9429
9440
|
const failedTask = {
|
|
9430
9441
|
...taskConfig,
|
|
9431
9442
|
status: "failed",
|
|
9432
|
-
error:
|
|
9443
|
+
error: errorMsg
|
|
9433
9444
|
};
|
|
9434
9445
|
await sessionQueries.update(taskId, {
|
|
9435
9446
|
config: {
|
|
@@ -9437,6 +9448,16 @@ tasks.post(
|
|
|
9437
9448
|
task: failedTask
|
|
9438
9449
|
}
|
|
9439
9450
|
});
|
|
9451
|
+
if (taskConfig.webhookUrl) {
|
|
9452
|
+
const { sendWebhook: sendWebhook2 } = await Promise.resolve().then(() => (init_webhook(), webhook_exports));
|
|
9453
|
+
sendWebhook2(taskConfig.webhookUrl, {
|
|
9454
|
+
type: "task.failed",
|
|
9455
|
+
taskId,
|
|
9456
|
+
sessionId: taskId,
|
|
9457
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
9458
|
+
data: { status: "failed", error: errorMsg }
|
|
9459
|
+
});
|
|
9460
|
+
}
|
|
9440
9461
|
}
|
|
9441
9462
|
} finally {
|
|
9442
9463
|
taskAbortControllers.delete(taskId);
|
|
@@ -9493,6 +9514,16 @@ tasks.post("/:id/cancel", async (c) => {
|
|
|
9493
9514
|
await sessionQueries.update(id, {
|
|
9494
9515
|
config: { ...session.config, task: cancelledTask }
|
|
9495
9516
|
});
|
|
9517
|
+
if (task.webhookUrl) {
|
|
9518
|
+
const { sendWebhook: sendWebhook2 } = await Promise.resolve().then(() => (init_webhook(), webhook_exports));
|
|
9519
|
+
sendWebhook2(task.webhookUrl, {
|
|
9520
|
+
type: "task.failed",
|
|
9521
|
+
taskId: id,
|
|
9522
|
+
sessionId: id,
|
|
9523
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
9524
|
+
data: { status: "failed", error: "Task cancelled by user" }
|
|
9525
|
+
});
|
|
9526
|
+
}
|
|
9496
9527
|
return c.json({ taskId: id, status: "failed", error: "Task cancelled by user" });
|
|
9497
9528
|
});
|
|
9498
9529
|
var tasks_default = tasks;
|