nexus-agents 2.143.0 → 2.145.0

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.
@@ -8,7 +8,7 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-QTQBGLTG.js";
11
+ } from "./chunk-4IELVEVP.js";
12
12
  import {
13
13
  BUILT_IN_EXPERTS
14
14
  } from "./chunk-ZM4O442V.js";
@@ -2000,4 +2000,4 @@ export {
2000
2000
  setupCommand,
2001
2001
  setupCommandAsync
2002
2002
  };
2003
- //# sourceMappingURL=chunk-TZTAAZGD.js.map
2003
+ //# sourceMappingURL=chunk-I6JU4HEN.js.map
@@ -5207,6 +5207,24 @@ function listJobs() {
5207
5207
  return summaries.sort((a, b) => b.createdAt.localeCompare(a.createdAt));
5208
5208
  }
5209
5209
 
5210
+ // src/mcp/jobs/job-abort-registry.ts
5211
+ var controllers = /* @__PURE__ */ new Map();
5212
+ function registerJobAbort(jobId) {
5213
+ const controller = new AbortController();
5214
+ controllers.set(jobId, controller);
5215
+ return controller;
5216
+ }
5217
+ function abortJob(jobId, reason) {
5218
+ const controller = controllers.get(jobId);
5219
+ if (controller === void 0) return false;
5220
+ controllers.delete(jobId);
5221
+ controller.abort(reason ?? "cancelled via cancel_job");
5222
+ return true;
5223
+ }
5224
+ function unregisterJobAbort(jobId) {
5225
+ controllers.delete(jobId);
5226
+ }
5227
+
5210
5228
  // src/mcp/jobs/job-idempotency.ts
5211
5229
  import { createHash as createHash2, randomUUID } from "crypto";
5212
5230
  import { existsSync as existsSync5, readFileSync as readFileSync5, writeFileSync as writeFileSync4 } from "fs";
@@ -5519,8 +5537,12 @@ function runAsJob(params) {
5519
5537
  async function runJobInBackground(jobId, params) {
5520
5538
  const guardMs = resolveClassGuardMs(ASYNC_JOB_BODY_GUARD_CLASS);
5521
5539
  const guard = makeAsyncBodyGuard(jobId, params.toolName, guardMs, params.logger);
5540
+ const controller = registerJobAbort(jobId);
5522
5541
  try {
5523
- const result = await Promise.race([params.run(jobId, params.input), guard.expired]);
5542
+ const result = await Promise.race([
5543
+ params.run(jobId, params.input, controller.signal),
5544
+ guard.expired
5545
+ ]);
5524
5546
  writeJobComplete(jobId, params.toolName, result);
5525
5547
  } catch (err2) {
5526
5548
  const errObj = err2 instanceof Error ? err2 : new Error(String(err2));
@@ -5528,6 +5550,7 @@ async function runJobInBackground(jobId, params) {
5528
5550
  writeJobFailed(jobId, params.toolName, errObj.message);
5529
5551
  } finally {
5530
5552
  guard.clear();
5553
+ unregisterJobAbort(jobId);
5531
5554
  release(params.toolName);
5532
5555
  }
5533
5556
  }
@@ -6125,6 +6148,7 @@ export {
6125
6148
  readJobResult,
6126
6149
  toJobSummary,
6127
6150
  listJobs,
6151
+ abortJob,
6128
6152
  resolveIdempotency,
6129
6153
  registerIdempotentJob,
6130
6154
  defaultPendingEnvelope,
@@ -6193,4 +6217,4 @@ export {
6193
6217
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6194
6218
  registerConsensusVoteTool
6195
6219
  };
6196
- //# sourceMappingURL=chunk-P75OHXX5.js.map
6220
+ //# sourceMappingURL=chunk-QKWS3REM.js.map