sparkecoder 0.1.63 → 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/cli.js +51 -20
- package/dist/cli.js.map +1 -1
- package/dist/index.js +51 -20
- package/dist/index.js.map +1 -1
- package/dist/server/index.js +51 -20
- 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/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
- /package/web/.next/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
- /package/web/.next/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{Xc8ztiG5d6CHUNHm_1G8b → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
package/dist/server/index.js
CHANGED
|
@@ -1617,6 +1617,34 @@ var init_semantic_search = __esm({
|
|
|
1617
1617
|
}
|
|
1618
1618
|
});
|
|
1619
1619
|
|
|
1620
|
+
// src/utils/webhook.ts
|
|
1621
|
+
var webhook_exports = {};
|
|
1622
|
+
__export(webhook_exports, {
|
|
1623
|
+
sendWebhook: () => sendWebhook
|
|
1624
|
+
});
|
|
1625
|
+
async function sendWebhook(url, event) {
|
|
1626
|
+
try {
|
|
1627
|
+
const controller = new AbortController();
|
|
1628
|
+
const timeout = setTimeout(() => controller.abort(), 5e3);
|
|
1629
|
+
await fetch(url, {
|
|
1630
|
+
method: "POST",
|
|
1631
|
+
headers: {
|
|
1632
|
+
"Content-Type": "application/json",
|
|
1633
|
+
"X-SparkECoder-Event": event.type
|
|
1634
|
+
},
|
|
1635
|
+
body: JSON.stringify(event),
|
|
1636
|
+
signal: controller.signal
|
|
1637
|
+
});
|
|
1638
|
+
clearTimeout(timeout);
|
|
1639
|
+
} catch {
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
var init_webhook = __esm({
|
|
1643
|
+
"src/utils/webhook.ts"() {
|
|
1644
|
+
"use strict";
|
|
1645
|
+
}
|
|
1646
|
+
});
|
|
1647
|
+
|
|
1620
1648
|
// src/server/index.ts
|
|
1621
1649
|
import "dotenv/config";
|
|
1622
1650
|
import { Hono as Hono6 } from "hono";
|
|
@@ -5857,26 +5885,8 @@ ${this.summary}`
|
|
|
5857
5885
|
}
|
|
5858
5886
|
};
|
|
5859
5887
|
|
|
5860
|
-
// src/utils/webhook.ts
|
|
5861
|
-
async function sendWebhook(url, event) {
|
|
5862
|
-
try {
|
|
5863
|
-
const controller = new AbortController();
|
|
5864
|
-
const timeout = setTimeout(() => controller.abort(), 5e3);
|
|
5865
|
-
await fetch(url, {
|
|
5866
|
-
method: "POST",
|
|
5867
|
-
headers: {
|
|
5868
|
-
"Content-Type": "application/json",
|
|
5869
|
-
"X-SparkECoder-Event": event.type
|
|
5870
|
-
},
|
|
5871
|
-
body: JSON.stringify(event),
|
|
5872
|
-
signal: controller.signal
|
|
5873
|
-
});
|
|
5874
|
-
clearTimeout(timeout);
|
|
5875
|
-
} catch {
|
|
5876
|
-
}
|
|
5877
|
-
}
|
|
5878
|
-
|
|
5879
5888
|
// src/agent/index.ts
|
|
5889
|
+
init_webhook();
|
|
5880
5890
|
var approvalResolvers = /* @__PURE__ */ new Map();
|
|
5881
5891
|
var Agent = class _Agent {
|
|
5882
5892
|
session;
|
|
@@ -8613,10 +8623,11 @@ tasks.post(
|
|
|
8613
8623
|
console.log(`[TASK] Task ${taskId} was cancelled`);
|
|
8614
8624
|
} else {
|
|
8615
8625
|
console.error(`[TASK] Error in task ${taskId}:`, err.message);
|
|
8626
|
+
const errorMsg = err.message || "Unknown error";
|
|
8616
8627
|
const failedTask = {
|
|
8617
8628
|
...taskConfig,
|
|
8618
8629
|
status: "failed",
|
|
8619
|
-
error:
|
|
8630
|
+
error: errorMsg
|
|
8620
8631
|
};
|
|
8621
8632
|
await sessionQueries.update(taskId, {
|
|
8622
8633
|
config: {
|
|
@@ -8624,6 +8635,16 @@ tasks.post(
|
|
|
8624
8635
|
task: failedTask
|
|
8625
8636
|
}
|
|
8626
8637
|
});
|
|
8638
|
+
if (taskConfig.webhookUrl) {
|
|
8639
|
+
const { sendWebhook: sendWebhook2 } = await Promise.resolve().then(() => (init_webhook(), webhook_exports));
|
|
8640
|
+
sendWebhook2(taskConfig.webhookUrl, {
|
|
8641
|
+
type: "task.failed",
|
|
8642
|
+
taskId,
|
|
8643
|
+
sessionId: taskId,
|
|
8644
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
8645
|
+
data: { status: "failed", error: errorMsg }
|
|
8646
|
+
});
|
|
8647
|
+
}
|
|
8627
8648
|
}
|
|
8628
8649
|
} finally {
|
|
8629
8650
|
taskAbortControllers.delete(taskId);
|
|
@@ -8680,6 +8701,16 @@ tasks.post("/:id/cancel", async (c) => {
|
|
|
8680
8701
|
await sessionQueries.update(id, {
|
|
8681
8702
|
config: { ...session.config, task: cancelledTask }
|
|
8682
8703
|
});
|
|
8704
|
+
if (task.webhookUrl) {
|
|
8705
|
+
const { sendWebhook: sendWebhook2 } = await Promise.resolve().then(() => (init_webhook(), webhook_exports));
|
|
8706
|
+
sendWebhook2(task.webhookUrl, {
|
|
8707
|
+
type: "task.failed",
|
|
8708
|
+
taskId: id,
|
|
8709
|
+
sessionId: id,
|
|
8710
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
8711
|
+
data: { status: "failed", error: "Task cancelled by user" }
|
|
8712
|
+
});
|
|
8713
|
+
}
|
|
8683
8714
|
return c.json({ taskId: id, status: "failed", error: "Task cancelled by user" });
|
|
8684
8715
|
});
|
|
8685
8716
|
var tasks_default = tasks;
|