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.
Files changed (84) hide show
  1. package/dist/agent/index.js +3 -3
  2. package/dist/agent/index.js.map +1 -1
  3. package/dist/cli.js +54 -23
  4. package/dist/cli.js.map +1 -1
  5. package/dist/index.js +54 -23
  6. package/dist/index.js.map +1 -1
  7. package/dist/server/index.js +54 -23
  8. package/dist/server/index.js.map +1 -1
  9. package/package.json +1 -1
  10. package/web/.next/BUILD_ID +1 -1
  11. package/web/.next/standalone/web/.next/BUILD_ID +1 -1
  12. package/web/.next/standalone/web/.next/build-manifest.json +2 -2
  13. package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
  14. package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
  15. package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
  16. package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  17. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  18. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  19. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  20. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
  22. package/web/.next/standalone/web/.next/server/app/_not-found.rsc +1 -1
  23. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  24. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  26. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  29. package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
  30. package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +1 -1
  31. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +1 -1
  32. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
  33. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +1 -1
  34. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +1 -1
  35. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
  36. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
  37. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
  38. package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
  39. package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +1 -1
  40. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +1 -1
  41. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
  42. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +1 -1
  43. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +1 -1
  44. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
  45. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
  46. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
  47. package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
  48. package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +1 -1
  49. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +1 -1
  50. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
  51. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +1 -1
  52. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +1 -1
  53. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
  54. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
  55. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
  56. package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
  57. package/web/.next/standalone/web/.next/server/app/docs.rsc +1 -1
  58. package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +1 -1
  59. package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  60. package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +1 -1
  61. package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  62. package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  63. package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  64. package/web/.next/standalone/web/.next/server/app/index.html +1 -1
  65. package/web/.next/standalone/web/.next/server/app/index.rsc +1 -1
  66. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +1 -1
  68. package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
  69. package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  70. package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
  71. package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  72. package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
  73. package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
  74. package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
  75. package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
  76. /package/web/.next/standalone/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
  77. /package/web/.next/standalone/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
  78. /package/web/.next/standalone/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
  79. /package/web/.next/standalone/web/.next/static/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
  80. /package/web/.next/standalone/web/.next/static/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
  81. /package/web/.next/standalone/web/.next/static/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_ssgManifest.js +0 -0
  82. /package/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_buildManifest.js +0 -0
  83. /package/web/.next/static/{KA-00ZtZ2B_lw4SuU4cWj → 9M2ys377uFtNH8BEy1_vL}/_clientMiddlewareManifest.json +0 -0
  84. /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: err.message || "Unknown 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;