harness-engineering-agent 0.3.27 → 0.3.29

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 (121) hide show
  1. package/README.md +3 -0
  2. package/dist/controller/agent-output-contracts.d.ts +16 -0
  3. package/dist/controller/agent-output-contracts.d.ts.map +1 -1
  4. package/dist/controller/agent-output.d.ts.map +1 -1
  5. package/dist/controller/agent-output.js +48 -1
  6. package/dist/controller/agent-output.js.map +1 -1
  7. package/dist/controller/agent-session.d.ts +2 -0
  8. package/dist/controller/agent-session.d.ts.map +1 -1
  9. package/dist/controller/agent-session.js +1 -0
  10. package/dist/controller/agent-session.js.map +1 -1
  11. package/dist/controller/contracts.d.ts +7 -0
  12. package/dist/controller/contracts.d.ts.map +1 -1
  13. package/dist/controller/contracts.js.map +1 -1
  14. package/dist/controller/failure-classification.d.ts +5 -0
  15. package/dist/controller/failure-classification.d.ts.map +1 -0
  16. package/dist/controller/failure-classification.js +6 -0
  17. package/dist/controller/failure-classification.js.map +1 -0
  18. package/dist/controller/index.d.ts +5 -0
  19. package/dist/controller/index.d.ts.map +1 -1
  20. package/dist/controller/index.js +5 -0
  21. package/dist/controller/index.js.map +1 -1
  22. package/dist/controller/planner-context-contract.d.ts +12 -0
  23. package/dist/controller/planner-context-contract.d.ts.map +1 -1
  24. package/dist/controller/route-resolver.d.ts.map +1 -1
  25. package/dist/controller/route-resolver.js +19 -8
  26. package/dist/controller/route-resolver.js.map +1 -1
  27. package/dist/controller/run-controller.d.ts.map +1 -1
  28. package/dist/controller/run-controller.js +110 -9
  29. package/dist/controller/run-controller.js.map +1 -1
  30. package/dist/controller/run-error-finalizer.d.ts +15 -0
  31. package/dist/controller/run-error-finalizer.d.ts.map +1 -1
  32. package/dist/controller/run-error-finalizer.js +103 -4
  33. package/dist/controller/run-error-finalizer.js.map +1 -1
  34. package/dist/controller/run-lease.d.ts +26 -0
  35. package/dist/controller/run-lease.d.ts.map +1 -0
  36. package/dist/controller/run-lease.js +63 -0
  37. package/dist/controller/run-lease.js.map +1 -0
  38. package/dist/controller/run-persistence.d.ts +1 -1
  39. package/dist/controller/run-persistence.d.ts.map +1 -1
  40. package/dist/controller/run-persistence.js +14 -12
  41. package/dist/controller/run-persistence.js.map +1 -1
  42. package/dist/controller/run-stage-projection.d.ts +64 -0
  43. package/dist/controller/run-stage-projection.d.ts.map +1 -0
  44. package/dist/controller/run-stage-projection.js +184 -0
  45. package/dist/controller/run-stage-projection.js.map +1 -0
  46. package/dist/controller/run-watchdog.d.ts +36 -0
  47. package/dist/controller/run-watchdog.d.ts.map +1 -0
  48. package/dist/controller/run-watchdog.js +124 -0
  49. package/dist/controller/run-watchdog.js.map +1 -0
  50. package/dist/controller/task-agent-schemas.d.ts +20 -0
  51. package/dist/controller/task-agent-schemas.d.ts.map +1 -1
  52. package/dist/controller/task-executor.d.ts.map +1 -1
  53. package/dist/controller/task-executor.js +22 -0
  54. package/dist/controller/task-executor.js.map +1 -1
  55. package/dist/controller/task-graph-contract.d.ts +1 -0
  56. package/dist/controller/task-graph-contract.d.ts.map +1 -1
  57. package/dist/controller/task-graph-contract.js +1 -0
  58. package/dist/controller/task-graph-contract.js.map +1 -1
  59. package/dist/domain/context-package.d.ts +4 -0
  60. package/dist/domain/context-package.d.ts.map +1 -1
  61. package/dist/domain/context-package.js +8 -0
  62. package/dist/domain/context-package.js.map +1 -1
  63. package/dist/domain/failure.d.ts +100 -0
  64. package/dist/domain/failure.d.ts.map +1 -1
  65. package/dist/domain/failure.js +9 -0
  66. package/dist/domain/failure.js.map +1 -1
  67. package/dist/domain/index.d.ts +1 -1
  68. package/dist/domain/index.d.ts.map +1 -1
  69. package/dist/domain/index.js +1 -1
  70. package/dist/domain/index.js.map +1 -1
  71. package/dist/domain/plan-artifacts.d.ts +8 -0
  72. package/dist/domain/plan-artifacts.d.ts.map +1 -1
  73. package/dist/domain/report.d.ts +232 -0
  74. package/dist/domain/report.d.ts.map +1 -1
  75. package/dist/domain/requirement.d.ts +17 -0
  76. package/dist/domain/requirement.d.ts.map +1 -1
  77. package/dist/domain/requirement.js +10 -0
  78. package/dist/domain/requirement.js.map +1 -1
  79. package/dist/domain/run.d.ts +232 -0
  80. package/dist/domain/run.d.ts.map +1 -1
  81. package/dist/plugin/create-harness-plugin.d.ts.map +1 -1
  82. package/dist/plugin/create-harness-plugin.js +35 -6
  83. package/dist/plugin/create-harness-plugin.js.map +1 -1
  84. package/dist/plugin/harness-chat-hook.d.ts +2 -1
  85. package/dist/plugin/harness-chat-hook.d.ts.map +1 -1
  86. package/dist/plugin/harness-chat-hook.js +15 -16
  87. package/dist/plugin/harness-chat-hook.js.map +1 -1
  88. package/dist/plugin/harness-delivery-envelope.d.ts +19 -0
  89. package/dist/plugin/harness-delivery-envelope.d.ts.map +1 -0
  90. package/dist/plugin/harness-delivery-envelope.js +105 -0
  91. package/dist/plugin/harness-delivery-envelope.js.map +1 -0
  92. package/dist/plugin/harness-escalate-tool.d.ts +2 -1
  93. package/dist/plugin/harness-escalate-tool.d.ts.map +1 -1
  94. package/dist/plugin/harness-escalate-tool.js +11 -2
  95. package/dist/plugin/harness-escalate-tool.js.map +1 -1
  96. package/dist/plugin/harness-intent.d.ts +12 -0
  97. package/dist/plugin/harness-intent.d.ts.map +1 -1
  98. package/dist/plugin/harness-intent.js +2 -1
  99. package/dist/plugin/harness-intent.js.map +1 -1
  100. package/dist/plugin/harness-plugin-runtime.d.ts +2 -0
  101. package/dist/plugin/harness-plugin-runtime.d.ts.map +1 -1
  102. package/dist/plugin/harness-plugin-runtime.js +40 -7
  103. package/dist/plugin/harness-plugin-runtime.js.map +1 -1
  104. package/dist/plugin/harness-plugin-scheduler.d.ts +7 -2
  105. package/dist/plugin/harness-plugin-scheduler.d.ts.map +1 -1
  106. package/dist/plugin/harness-plugin-scheduler.js +16 -14
  107. package/dist/plugin/harness-plugin-scheduler.js.map +1 -1
  108. package/dist/plugin/harness-requirement.d.ts.map +1 -1
  109. package/dist/plugin/harness-requirement.js +4 -0
  110. package/dist/plugin/harness-requirement.js.map +1 -1
  111. package/dist/plugin/harness-run-status-tool.d.ts +7 -0
  112. package/dist/plugin/harness-run-status-tool.d.ts.map +1 -0
  113. package/dist/plugin/harness-run-status-tool.js +33 -0
  114. package/dist/plugin/harness-run-status-tool.js.map +1 -0
  115. package/dist/store/filesystem-run-store.js +5 -0
  116. package/dist/store/filesystem-run-store.js.map +1 -1
  117. package/dist/store/pending-start.d.ts +4 -0
  118. package/dist/store/pending-start.d.ts.map +1 -1
  119. package/dist/store/run-event.d.ts +232 -0
  120. package/dist/store/run-event.d.ts.map +1 -1
  121. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { z } from "zod";
2
3
  import { PlanReviewSchema, RequirementSchema, RunSchema, SchemaVersionSchema, TaskGraphSchema, } from "../domain/index.js";
3
4
  import { HARNESS_SESSION_ROLE } from "../session/index.js";
@@ -13,9 +14,11 @@ import { createReport } from "./report-factory.js";
13
14
  import { plannerContextPrompt, plannerTaskPrompt } from "./role-prompts.js";
14
15
  import { resolveRoute } from "./route-resolver.js";
15
16
  import { finalizeAdvanceError, PlanningBlockedError } from "./run-error-finalizer.js";
17
+ import { createRunLeaseManager } from "./run-lease.js";
16
18
  import { createRunPersistence } from "./run-persistence.js";
17
19
  import { createReflectionSummary } from "./run-reflection.js";
18
20
  import { appendAnswer, appendWaiver, canAdvanceRun, canAnswer, canCancel, canPause, canWaive, consumeBudget, createBlockedQuestionId, createInitialRunBudgets, createInitialRunGovernance, hasAnswer, hasWaiver, isTerminalRunStatus, parsePlannedRun, RunBudgetExceededError, RunStateTransitionError, requireTransition, requireWaivableRequirement, setPaused, withGovernance, withStatus, } from "./run-state.js";
21
+ import { createRunWatchdog, resolveRunWatchdogConfig } from "./run-watchdog.js";
19
22
  import { createRunWorkspaceContext } from "./run-workspace.js";
20
23
  import { createStreamlinedRunner } from "./streamlined-runner.js";
21
24
  import { PlannerContextOutputSchema } from "./task-agent-schemas.js";
@@ -47,7 +50,10 @@ export const createRunController = (options) => {
47
50
  workingDirectory: options.workingDirectory,
48
51
  resolveWorkingDirectory: async (runId) => resolveRememberedWorkingDirectory(runId),
49
52
  defaultSessionTimeoutMs: options.sessionTimeoutMs,
53
+ ...(options.onAgentSettled === undefined ? {} : { onAgentSettled: options.onAgentSettled }),
50
54
  });
55
+ // advance/resume 内部路径保留有界重试:会话中断处理器可能仍在异步持久化状态。
56
+ // 对外 status 查询使用严格单次加载(见 controller.status),不进行盲重试。
51
57
  const loadRunWithRetry = async (runId) => {
52
58
  for (let attempt = 0; attempt < 3; attempt += 1) {
53
59
  try {
@@ -64,13 +70,49 @@ export const createRunController = (options) => {
64
70
  }
65
71
  throw new TypeError(`missing run ${runId}`);
66
72
  };
73
+ const loadRunStrict = async (runId) => {
74
+ const run = await options.store.loadState(runId);
75
+ rememberExecutionRoot(run);
76
+ return run;
77
+ };
67
78
  const { runTasks } = createTaskExecutor({
68
79
  options,
69
80
  runtime,
70
81
  writer,
71
82
  loadRun: loadRunWithRetry,
72
83
  });
73
- const advancingRuns = new Map();
84
+ const controllerInstanceId = `controller-${randomUUID()}`;
85
+ const watchdogConfig = resolveRunWatchdogConfig(options.watchdog, options.sessionTimeoutMs);
86
+ const watchdog = createRunWatchdog({
87
+ store: options.store,
88
+ clock: () => options.clock.now(),
89
+ createEventId: options.ids.createEventId,
90
+ config: watchdogConfig,
91
+ });
92
+ const leaseManager = createRunLeaseManager({
93
+ store: options.store,
94
+ clock: () => options.clock.now(),
95
+ createEventId: options.ids.createEventId,
96
+ config: { ttlMs: watchdogConfig.heartbeatIntervalMs * 3 },
97
+ });
98
+ const heartbeatTimers = new Map();
99
+ const inFlightAdvances = new Map();
100
+ const startHeartbeat = (runId) => {
101
+ if (heartbeatTimers.has(runId))
102
+ return;
103
+ const timer = setInterval(() => {
104
+ void watchdog.heartbeat(runId).catch(() => undefined);
105
+ }, watchdogConfig.heartbeatIntervalMs);
106
+ timer.unref?.();
107
+ heartbeatTimers.set(runId, timer);
108
+ };
109
+ const stopHeartbeat = (runId) => {
110
+ const timer = heartbeatTimers.get(runId);
111
+ if (timer === undefined)
112
+ return;
113
+ clearInterval(timer);
114
+ heartbeatTimers.delete(runId);
115
+ };
74
116
  const persistPlanBlockedState = async (input) => {
75
117
  const nextRun = withStatus(withGovernance(input.run, {
76
118
  ...input.run.governance,
@@ -124,6 +166,11 @@ export const createRunController = (options) => {
124
166
  "只有需要用户确认的业务事实,或当前环境无法访问的外部系统事实,才允许返回 evidence_gap;返回时必须说明获取该事实的具体方式。",
125
167
  "只读分析任务应生成不修改工作区的调查 Task,覆盖需求中可验证的接口、路由、配置、调用链和日志入口。",
126
168
  "不要生成 TaskGraph,不要推进状态。",
169
+ ...(requirement.hypotheses === undefined || requirement.hypotheses.length === 0
170
+ ? []
171
+ : [
172
+ "requirement.hypotheses 是入口 agent 未经验证的判断假设:必须逐条用只读工具核实;证实的假设按事实纳入计划,证伪的假设写入 ContextPackage.refutations(claim 保留原文,evidenceSummary 记录证据),不得丢弃。",
173
+ ]),
127
174
  ],
128
175
  evidence: [],
129
176
  outputContract: getPlannerContextContract(),
@@ -200,6 +247,13 @@ export const createRunController = (options) => {
200
247
  });
201
248
  return parsePlannerGraph(output);
202
249
  };
250
+ const PROGRESS_SUMMARY_MAX_LENGTH = 500;
251
+ const buildStageProgressPayload = (input) => ({
252
+ role: input.role,
253
+ phase: input.phase,
254
+ summaryText: input.summaryText.slice(0, PROGRESS_SUMMARY_MAX_LENGTH),
255
+ refutations: input.refutations ?? [],
256
+ });
203
257
  const persistPlanningArtifacts = async (input) => {
204
258
  const nextRun = RunSchema.parse({
205
259
  ...input.run,
@@ -209,7 +263,23 @@ export const createRunController = (options) => {
209
263
  ? {}
210
264
  : { taskGraph: input.taskGraph, status: "plan_ready" }),
211
265
  });
212
- await writer.persist(nextRun, writer.createEvent(input.run.runId, input.eventType, input.payload));
266
+ const progressEvent = input.eventType === "run.planning.context_captured" && input.contextPackage !== undefined
267
+ ? writer.createEvent(input.run.runId, "run.stage.progress", buildStageProgressPayload({
268
+ role: "planner",
269
+ phase: "context_captured",
270
+ summaryText: input.contextPackage.summary,
271
+ ...(input.contextPackage.refutations === undefined
272
+ ? {}
273
+ : { refutations: input.contextPackage.refutations }),
274
+ }))
275
+ : input.eventType === "run.planning.plan_review_approved"
276
+ ? writer.createEvent(input.run.runId, "run.stage.progress", buildStageProgressPayload({
277
+ role: "planner",
278
+ phase: "plan_review_approved",
279
+ summaryText: `Plan review approved: graph ${input.planReview?.reviewId ?? "unknown"};任务数以 taskGraph 为准。`,
280
+ }))
281
+ : undefined;
282
+ await writer.persist(nextRun, writer.createEvent(input.run.runId, input.eventType, input.payload), ...(progressEvent === undefined ? [] : [progressEvent]));
213
283
  return nextRun;
214
284
  };
215
285
  const requestPlanReview = async (input) => {
@@ -652,17 +722,47 @@ export const createRunController = (options) => {
652
722
  }
653
723
  return await runTasksWithReflection(planned);
654
724
  };
655
- const advanceRun = async (runId) => {
656
- const active = advancingRuns.get(runId);
657
- if (active !== undefined) {
658
- return active;
725
+ // 同进程内对同一 run 的推进串行化,避免异步租约获取窗口内的双重执行;
726
+ // 跨进程防护由持久化租约(run.lease.*)保证。
727
+ const advanceQueues = new Map();
728
+ const advanceRun = (runId) => {
729
+ const previous = advanceQueues.get(runId);
730
+ const task = (previous ?? Promise.resolve())
731
+ .catch(() => undefined)
732
+ .then(() => advanceRunExclusive(runId));
733
+ advanceQueues.set(runId, task);
734
+ void task
735
+ .catch(() => undefined)
736
+ .finally(() => {
737
+ if (advanceQueues.get(runId) === task)
738
+ advanceQueues.delete(runId);
739
+ });
740
+ return task;
741
+ };
742
+ const advanceRunExclusive = async (runId) => {
743
+ const inFlight = inFlightAdvances.get(runId);
744
+ if (inFlight !== undefined)
745
+ return inFlight;
746
+ const lease = await leaseManager.acquire(runId, controllerInstanceId);
747
+ if (!lease.acquired) {
748
+ if (lease.holderId === controllerInstanceId) {
749
+ const pending = inFlightAdvances.get(runId);
750
+ if (pending !== undefined)
751
+ return pending;
752
+ }
753
+ // 租约被其他持有者占用:返回当前已持久化状态,不产生双重推进
754
+ return options.store.loadState(runId);
659
755
  }
756
+ startHeartbeat(runId);
757
+ watchdog.start();
660
758
  const pending = continueRun(runId)
661
759
  .catch(async (error) => finalizeAdvanceError({ runId, error, loadRun: loadRunWithRetry, writer }))
662
760
  .finally(() => {
663
- advancingRuns.delete(runId);
761
+ stopHeartbeat(runId);
762
+ inFlightAdvances.delete(runId);
763
+ void leaseManager.release(runId, controllerInstanceId).catch(() => undefined);
664
764
  });
665
- advancingRuns.set(runId, pending);
765
+ inFlightAdvances.set(runId, pending);
666
766
  return pending;
667
767
  };
668
768
  const controller = {
@@ -756,7 +856,8 @@ export const createRunController = (options) => {
756
856
  return advanceRun(runId);
757
857
  },
758
858
  async status(runId) {
759
- return loadRunWithRetry(runId);
859
+ // 严格单次加载:run 不存在时立即返回结构化错误,不做盲重试
860
+ return loadRunStrict(runId);
760
861
  },
761
862
  async pause(input) {
762
863
  const current = await loadRunWithRetry(input.runId);
@@ -1 +1 @@
1
- {"version":3,"file":"run-controller.js","sourceRoot":"","sources":["../../src/controller/run-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-controller.js","sourceRoot":"","sources":["../../src/controller/run-controller.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,21 @@ export declare class PlanningBlockedError extends Error {
5
5
  readonly name = "PlanningBlockedError";
6
6
  constructor(run: Run);
7
7
  }
8
+ export type RunErrorCode = "PLANNER_CONTRACT_GRAPH_REJECTED" | "PLANNER_CONTRACT_OUTPUT_INVALID" | "PLANNER_CONTRACT_READ_ONLY" | "AGENT_RUN_FAILED" | "BUDGET_EXHAUSTED" | "UNKNOWN";
9
+ /** 错误码推导链:显式 errorCode → 信号 → 退出码 → 兜底 UNKNOWN。结果保证非空。 */
10
+ export declare const deriveRunErrorCode: (error: unknown) => string;
11
+ /** 失败发生前的最后持久化阶段标签(尽力推导,永不抛错)。 */
12
+ export declare const lastPersistedStageOf: (run: Run | undefined) => string;
13
+ export type FailureRecoveryGuidance = {
14
+ readonly resumable: boolean;
15
+ readonly action: "resume" | "manual";
16
+ readonly preconditions: readonly string[];
17
+ };
18
+ /** 结构化恢复指引:resume 前置条件;自由文本(recoveryPlan/reason)仅作为补充字段。 */
19
+ export declare const structuredRecoveryGuidance: (input: {
20
+ readonly run?: Run;
21
+ readonly errorCode: string;
22
+ }) => FailureRecoveryGuidance;
8
23
  export declare const finalizeAdvanceError: (input: {
9
24
  readonly runId: Run["runId"];
10
25
  readonly error: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"run-error-finalizer.d.ts","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,oBAAoB,CAAA;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAS1D,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,GAAG,EAAE,GAAG;IAF7B,QAAQ,CAAC,IAAI,0BAAyB;gBAEjB,GAAG,EAAE,GAAG;CAG9B;AAED,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC,KAAG,OAAO,CAAC,GAAG,CA4Fd,CAAA"}
1
+ {"version":3,"file":"run-error-finalizer.d.ts","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,oBAAoB,CAAA;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAS1D,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,GAAG,EAAE,GAAG;IAF7B,QAAQ,CAAC,IAAI,0BAAyB;gBAEjB,GAAG,EAAE,GAAG;CAG9B;AAED,MAAM,MAAM,YAAY,GACpB,iCAAiC,GACjC,iCAAiC,GACjC,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,SAAS,CAAA;AAEb,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,MAgCnD,CAAA;AAaD,kCAAkC;AAClC,eAAO,MAAM,oBAAoB,GAAI,KAAK,GAAG,GAAG,SAAS,KAAG,MAI3D,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,GAAI,OAAO;IAChD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,KAAG,uBA8BH,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC,KAAG,OAAO,CAAC,GAAG,CAwGd,CAAA"}
@@ -9,6 +9,88 @@ export class PlanningBlockedError extends Error {
9
9
  this.run = run;
10
10
  }
11
11
  }
12
+ /** 错误码推导链:显式 errorCode → 信号 → 退出码 → 兜底 UNKNOWN。结果保证非空。 */
13
+ export const deriveRunErrorCode = (error) => {
14
+ if (typeof error === "object" && error !== null) {
15
+ const explicit = Reflect.get(error, "errorCode");
16
+ if (typeof explicit === "string" && explicit.trim().length > 0) {
17
+ return explicit;
18
+ }
19
+ const signal = Reflect.get(error, "signal") ?? Reflect.get(Reflect.get(error, "cause") ?? {}, "signal");
20
+ if (typeof signal === "string" && signal.trim().length > 0) {
21
+ return `SIGNAL_${signal.toUpperCase()}`;
22
+ }
23
+ const exitCode = Reflect.get(error, "exitCode") ?? Reflect.get(Reflect.get(error, "cause") ?? {}, "exitCode");
24
+ if (typeof exitCode === "number" && Number.isFinite(exitCode)) {
25
+ return `EXIT_${exitCode}`;
26
+ }
27
+ }
28
+ if (error instanceof GraphValidationError) {
29
+ return isReadOnlyContractError(error)
30
+ ? "PLANNER_CONTRACT_READ_ONLY"
31
+ : "PLANNER_CONTRACT_GRAPH_REJECTED";
32
+ }
33
+ if (error instanceof AgentOutputParseError) {
34
+ return `PLANNER_CONTRACT_OUTPUT_${error.reasonCode.toUpperCase()}`;
35
+ }
36
+ if (error instanceof AgentRunFailedError) {
37
+ return "AGENT_RUN_FAILED";
38
+ }
39
+ if (error instanceof RunBudgetExceededError) {
40
+ return `BUDGET_${error.budget.toUpperCase()}`;
41
+ }
42
+ return "UNKNOWN";
43
+ };
44
+ const STAGE_BY_RUN_STATUS = {
45
+ created: "intake",
46
+ analyzing: "intake",
47
+ planning: "planner",
48
+ plan_ready: "planner",
49
+ executing: "worker",
50
+ verifying: "verifier",
51
+ paused: "worker",
52
+ completed: "acceptance",
53
+ };
54
+ /** 失败发生前的最后持久化阶段标签(尽力推导,永不抛错)。 */
55
+ export const lastPersistedStageOf = (run) => {
56
+ if (run === undefined)
57
+ return "unknown";
58
+ if (!("taskGraph" in run))
59
+ return "planner";
60
+ return STAGE_BY_RUN_STATUS[run.status] ?? "unknown";
61
+ };
62
+ /** 结构化恢复指引:resume 前置条件;自由文本(recoveryPlan/reason)仅作为补充字段。 */
63
+ export const structuredRecoveryGuidance = (input) => {
64
+ if (input.errorCode.startsWith("BUDGET_")) {
65
+ return {
66
+ resumable: true,
67
+ action: "manual",
68
+ preconditions: ["扩大对应预算或确认预算耗尽可接受后,再执行 resume"],
69
+ };
70
+ }
71
+ if (input.errorCode.startsWith("PLANNER_CONTRACT")) {
72
+ return {
73
+ resumable: true,
74
+ action: "resume",
75
+ preconditions: [
76
+ "确认 Planner 输出契约与阶段契约对齐",
77
+ "确认输入证据完整后执行 resume <runId>",
78
+ ],
79
+ };
80
+ }
81
+ if (input.errorCode.startsWith("SIGNAL_") || input.errorCode === "UNKNOWN") {
82
+ return {
83
+ resumable: true,
84
+ action: "resume",
85
+ preconditions: ["确认运行环境可用后执行 resume <runId>,将从最后持久化阶段恢复"],
86
+ };
87
+ }
88
+ return {
89
+ resumable: true,
90
+ action: "resume",
91
+ preconditions: ["执行 resume <runId> 前确认失败原因已修复"],
92
+ };
93
+ };
12
94
  export const finalizeAdvanceError = async (input) => {
13
95
  const { runId, error, loadRun, writer } = input;
14
96
  if (error instanceof GraphValidationError ||
@@ -21,8 +103,12 @@ export const finalizeAdvanceError = async (input) => {
21
103
  return error.run;
22
104
  }
23
105
  const planning = withStatus(latest, "planning");
24
- const planningWithFailure = error instanceof AgentOutputParseError ||
25
- (error instanceof GraphValidationError && isReadOnlyContractError(error))
106
+ const isContractFailure = error instanceof AgentOutputParseError ||
107
+ (error instanceof GraphValidationError && isReadOnlyContractError(error));
108
+ const errorCode = deriveRunErrorCode(error);
109
+ const lastPersistedStage = lastPersistedStageOf(planning);
110
+ const recovery = structuredRecoveryGuidance({ run: planning, errorCode });
111
+ const planningWithFailure = isContractFailure
26
112
  ? RunSchema.parse({
27
113
  ...planning,
28
114
  failures: [
@@ -40,18 +126,31 @@ export const finalizeAdvanceError = async (input) => {
40
126
  recoveryPlan: "执行 resume <runId> 重试;若仍失败,检查 Planner 输出契约和输入证据。",
41
127
  confidence: 1,
42
128
  relatedEvidenceIds: [],
129
+ errorCode,
130
+ lastPersistedStage,
131
+ recoveryGuidance: recovery,
43
132
  },
44
133
  ],
45
134
  })
46
135
  : planning;
136
+ const isBudgetExhausted = error instanceof RunBudgetExceededError;
137
+ // paused 是计划后状态:规划阶段(无 taskGraph)预算耗尽退化为 blocked,避免非法状态迁移
138
+ const terminalStatus = isBudgetExhausted
139
+ ? "taskGraph" in planningWithFailure
140
+ ? "paused"
141
+ : "blocked"
142
+ : "failed";
47
143
  const blocked = withStatus(withGovernance(planningWithFailure, {
48
144
  ...planningWithFailure.governance,
49
145
  blockingQuestionId: error instanceof RunBudgetExceededError
50
146
  ? createBlockedQuestionId(planningWithFailure)
51
147
  : null,
52
- }), error instanceof RunBudgetExceededError ? "paused" : "failed");
53
- await writer.persist(blocked, writer.createEvent(runId, error instanceof RunBudgetExceededError ? "run.paused" : "run.failed", {
148
+ }), terminalStatus);
149
+ await writer.persist(blocked, writer.createEvent(runId, isBudgetExhausted ? "run.paused" : "run.failed", {
54
150
  reason: error.message,
151
+ errorCode,
152
+ lastPersistedStage,
153
+ recovery,
55
154
  ...(error instanceof RunBudgetExceededError
56
155
  ? {
57
156
  budget: error.budget,
@@ -1 +1 @@
1
- {"version":3,"file":"run-error-finalizer.js","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-error-finalizer.js","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { RunId } from "../domain/index.js";
2
+ import type { RunStore } from "../store/index.js";
3
+ export type RunLeaseConfig = {
4
+ /** 租约 TTL(毫秒);默认与心跳周期绑定(心跳周期 × 3) */
5
+ readonly ttlMs: number;
6
+ };
7
+ export type RunLeaseAcquireResult = {
8
+ readonly acquired: true;
9
+ readonly holderId: string;
10
+ readonly expiresAt?: string | undefined;
11
+ } | {
12
+ readonly acquired: false;
13
+ readonly holderId?: string | undefined;
14
+ readonly expiresAt?: string | undefined;
15
+ };
16
+ export type RunLeaseManager = {
17
+ readonly acquire: (runId: RunId, holderId: string) => Promise<RunLeaseAcquireResult>;
18
+ readonly release: (runId: RunId, holderId: string) => Promise<void>;
19
+ };
20
+ export declare const createRunLeaseManager: (input: {
21
+ readonly store: RunStore;
22
+ readonly clock: () => Date;
23
+ readonly createEventId: (label: string) => string;
24
+ readonly config: RunLeaseConfig;
25
+ }) => RunLeaseManager;
26
+ //# sourceMappingURL=run-lease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-lease.d.ts","sourceRoot":"","sources":["../../src/controller/run-lease.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,GACD;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,CAAA;AAEL,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACpF,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC,KAAG,eAmEH,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { randomUUID } from "node:crypto";
2
+ export const createRunLeaseManager = (input) => {
3
+ const leaseEvent = (runId, type, payload) => ({
4
+ schemaVersion: "1.0.0",
5
+ eventId: input.createEventId(`${type}-${runId}`),
6
+ idempotencyKey: `${type}-${runId}-${input.clock().toISOString()}-${randomUUID().slice(0, 8)}`,
7
+ runId,
8
+ type,
9
+ timestamp: input.clock().toISOString(),
10
+ payload,
11
+ });
12
+ const readPayloadString = (event, key) => {
13
+ const payload = event.payload;
14
+ if (typeof payload !== "object" || payload === null || Array.isArray(payload))
15
+ return undefined;
16
+ const value = Reflect.get(payload, key);
17
+ return typeof value === "string" ? value : undefined;
18
+ };
19
+ const acquire = async (runId, holderId) => {
20
+ const events = await input.store.listEvents(runId);
21
+ const lastLeaseEvent = events
22
+ .filter((event) => event.type === "run.lease.acquired" || event.type === "run.lease.released")
23
+ .at(-1);
24
+ if (lastLeaseEvent?.type === "run.lease.acquired") {
25
+ const holder = readPayloadString(lastLeaseEvent, "holderId");
26
+ const expiresAt = readPayloadString(lastLeaseEvent, "expiresAt");
27
+ const expiresAtMs = expiresAt === undefined ? Number.NaN : new Date(expiresAt).getTime();
28
+ const expired = !Number.isFinite(expiresAtMs) || expiresAtMs <= input.clock().getTime();
29
+ if (!expired) {
30
+ if (holder === holderId) {
31
+ return { acquired: true, holderId, ...(expiresAt === undefined ? {} : { expiresAt }) };
32
+ }
33
+ return {
34
+ acquired: false,
35
+ ...(holder === undefined ? {} : { holderId: holder }),
36
+ ...(expiresAt === undefined ? {} : { expiresAt }),
37
+ };
38
+ }
39
+ // 租约超时可重获:重获前二次确认自上一次租约获取后没有任何新事件(含心跳),
40
+ // 避免夺取一个仍在推进的持有者的租约。
41
+ const acquiredIndex = events.findIndex((event) => event.eventId === lastLeaseEvent.eventId);
42
+ if (acquiredIndex >= 0 && acquiredIndex < events.length - 1) {
43
+ return { acquired: false, ...(holder === undefined ? {} : { holderId: holder }) };
44
+ }
45
+ }
46
+ const acquiredAt = input.clock().toISOString();
47
+ const expiresAt = new Date(input.clock().getTime() + input.config.ttlMs).toISOString();
48
+ await input.store.appendEvents(runId, [
49
+ leaseEvent(runId, "run.lease.acquired", { holderId, acquiredAt, expiresAt }),
50
+ ]);
51
+ return { acquired: true, holderId, expiresAt };
52
+ };
53
+ const release = async (runId, holderId) => {
54
+ await input.store.appendEvents(runId, [
55
+ leaseEvent(runId, "run.lease.released", {
56
+ holderId,
57
+ releasedAt: input.clock().toISOString(),
58
+ }),
59
+ ]);
60
+ };
61
+ return { acquire, release };
62
+ };
63
+ //# sourceMappingURL=run-lease.js.map