harness-engineering-agent 0.3.11 → 0.3.12

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 (99) hide show
  1. package/README.md +4 -0
  2. package/dist/controller/agent-session-types.d.ts +17 -1
  3. package/dist/controller/agent-session-types.d.ts.map +1 -1
  4. package/dist/controller/agent-session-utils.d.ts +40 -3
  5. package/dist/controller/agent-session-utils.d.ts.map +1 -1
  6. package/dist/controller/agent-session-utils.js +67 -21
  7. package/dist/controller/agent-session-utils.js.map +1 -1
  8. package/dist/controller/agent-session.d.ts.map +1 -1
  9. package/dist/controller/agent-session.js +129 -10
  10. package/dist/controller/agent-session.js.map +1 -1
  11. package/dist/controller/context-budget.d.ts +71 -0
  12. package/dist/controller/context-budget.d.ts.map +1 -0
  13. package/dist/controller/context-budget.js +219 -0
  14. package/dist/controller/context-budget.js.map +1 -0
  15. package/dist/controller/context-builder.d.ts +27 -0
  16. package/dist/controller/context-builder.d.ts.map +1 -0
  17. package/dist/controller/context-builder.js +184 -0
  18. package/dist/controller/context-builder.js.map +1 -0
  19. package/dist/controller/context-validation.d.ts +46 -0
  20. package/dist/controller/context-validation.d.ts.map +1 -0
  21. package/dist/controller/context-validation.js +126 -0
  22. package/dist/controller/context-validation.js.map +1 -0
  23. package/dist/controller/direct-runner.d.ts +2 -0
  24. package/dist/controller/direct-runner.d.ts.map +1 -1
  25. package/dist/controller/direct-runner.js +20 -2
  26. package/dist/controller/direct-runner.js.map +1 -1
  27. package/dist/controller/index.d.ts +1 -0
  28. package/dist/controller/index.d.ts.map +1 -1
  29. package/dist/controller/index.js +1 -0
  30. package/dist/controller/index.js.map +1 -1
  31. package/dist/controller/run-acceptance.d.ts.map +1 -1
  32. package/dist/controller/run-acceptance.js +12 -0
  33. package/dist/controller/run-acceptance.js.map +1 -1
  34. package/dist/controller/run-controller.d.ts.map +1 -1
  35. package/dist/controller/run-controller.js +2 -0
  36. package/dist/controller/run-controller.js.map +1 -1
  37. package/dist/controller/streamlined-runner.d.ts +2 -0
  38. package/dist/controller/streamlined-runner.d.ts.map +1 -1
  39. package/dist/controller/streamlined-runner.js +31 -1
  40. package/dist/controller/streamlined-runner.js.map +1 -1
  41. package/dist/controller/task-agent-output.d.ts.map +1 -1
  42. package/dist/controller/task-agent-output.js +85 -0
  43. package/dist/controller/task-agent-output.js.map +1 -1
  44. package/dist/domain/clarification.d.ts +92 -0
  45. package/dist/domain/clarification.d.ts.map +1 -0
  46. package/dist/domain/clarification.js +80 -0
  47. package/dist/domain/clarification.js.map +1 -0
  48. package/dist/domain/context-snapshot.d.ts +140 -0
  49. package/dist/domain/context-snapshot.d.ts.map +1 -0
  50. package/dist/domain/context-snapshot.js +140 -0
  51. package/dist/domain/context-snapshot.js.map +1 -0
  52. package/dist/domain/index.d.ts +4 -0
  53. package/dist/domain/index.d.ts.map +1 -1
  54. package/dist/domain/index.js +2 -0
  55. package/dist/domain/index.js.map +1 -1
  56. package/dist/domain/report.d.ts +118 -0
  57. package/dist/domain/report.d.ts.map +1 -1
  58. package/dist/domain/run.d.ts +118 -0
  59. package/dist/domain/run.d.ts.map +1 -1
  60. package/dist/domain/run.js +2 -0
  61. package/dist/domain/run.js.map +1 -1
  62. package/dist/plugin/harness-coordinator.d.ts +5 -0
  63. package/dist/plugin/harness-coordinator.d.ts.map +1 -1
  64. package/dist/plugin/harness-coordinator.js +95 -4
  65. package/dist/plugin/harness-coordinator.js.map +1 -1
  66. package/dist/plugin/harness-plugin-runtime.d.ts +2 -14
  67. package/dist/plugin/harness-plugin-runtime.d.ts.map +1 -1
  68. package/dist/plugin/harness-plugin-runtime.js +7 -1
  69. package/dist/plugin/harness-plugin-runtime.js.map +1 -1
  70. package/dist/session/contracts.d.ts +80 -8
  71. package/dist/session/contracts.d.ts.map +1 -1
  72. package/dist/session/fake-session-adapter.d.ts.map +1 -1
  73. package/dist/session/fake-session-adapter.js +14 -0
  74. package/dist/session/fake-session-adapter.js.map +1 -1
  75. package/dist/session/opencode-session-adapter.d.ts.map +1 -1
  76. package/dist/session/opencode-session-adapter.js +16 -0
  77. package/dist/session/opencode-session-adapter.js.map +1 -1
  78. package/dist/session/opencode-session-prompts.d.ts.map +1 -1
  79. package/dist/session/opencode-session-prompts.js +3 -0
  80. package/dist/session/opencode-session-prompts.js.map +1 -1
  81. package/dist/store/context-snapshot-store.d.ts +17 -0
  82. package/dist/store/context-snapshot-store.d.ts.map +1 -0
  83. package/dist/store/context-snapshot-store.js +96 -0
  84. package/dist/store/context-snapshot-store.js.map +1 -0
  85. package/dist/store/filesystem-run-store.d.ts +3 -0
  86. package/dist/store/filesystem-run-store.d.ts.map +1 -1
  87. package/dist/store/filesystem-run-store.js +13 -1
  88. package/dist/store/filesystem-run-store.js.map +1 -1
  89. package/dist/store/index.d.ts +2 -0
  90. package/dist/store/index.d.ts.map +1 -1
  91. package/dist/store/index.js +2 -0
  92. package/dist/store/index.js.map +1 -1
  93. package/dist/store/run-event.d.ts +118 -0
  94. package/dist/store/run-event.d.ts.map +1 -1
  95. package/dist/store/session-index.d.ts +51 -0
  96. package/dist/store/session-index.d.ts.map +1 -0
  97. package/dist/store/session-index.js +163 -0
  98. package/dist/store/session-index.js.map +1 -0
  99. package/package.json +1 -1
package/README.md CHANGED
@@ -359,6 +359,10 @@ OpenCode 插件集成:
359
359
  会话管理适配器:
360
360
  - `opencode-session-adapter.ts`: OpenCode 会话适配器
361
361
  - `fake-session-adapter.ts`: 模拟会话适配器(测试用)
362
+
363
+ 会话上下文采用版本化快照边界:Run/Task 的目标、约束、允许路径、验收标准、证据摘要和未解决问题由 Controller 生成 `ContextSnapshot`,每个内部 Session 通过 `contextId`、版本和摘要哈希关联到该快照。不同角色按上下文层级和预算接收最小必要信息,不继承父会话完整历史;Evidence 默认以带来源、新鲜度和摘要哈希的引用传递。
364
+
365
+ Session 生命周期同时绑定 `runId`、`taskId`、`attempt` 和不可复用 `leaseId`。超时、取消、释放和迟到结果由 Controller 幂等处理,旧 Attempt 的结果不得推进当前 Run。上下文快照、澄清状态和 Session 事件只持久化结构化摘要、指纹和引用,不保存完整 Prompt、源码或敏感工具输出;Session 索引缺失时以事件日志重建。
362
366
  - `harness-agent-names.ts`: Agent 名称映射
363
367
 
364
368
  ### 存储层 (`src/store/`)
@@ -1,5 +1,5 @@
1
1
  import type { HarnessAgentProfile } from "../config/index.js";
2
- import type { ExecutionCategory, RunId } from "../domain/index.js";
2
+ import type { ExecutionCategory, RunId, TaskId } from "../domain/index.js";
3
3
  import type { HarnessSessionRole } from "../session/contracts.js";
4
4
  import type { SessionEvidenceReference, SessionOutputContract } from "../session/index.js";
5
5
  import type { OrphanSession } from "./agent-session-utils.js";
@@ -19,6 +19,22 @@ export type SendAgentInput = {
19
19
  readonly allowedPaths?: readonly string[];
20
20
  readonly executionCategory?: ExecutionCategory;
21
21
  readonly profileOverride?: HarnessAgentProfile;
22
+ /** Task this session is executing, if applicable */
23
+ readonly taskId?: TaskId;
24
+ /** Attempt number within the task (0-based) */
25
+ readonly attempt?: number;
26
+ /** Context snapshot ID this session is working from */
27
+ readonly contextId?: string;
28
+ /** Context snapshot version */
29
+ readonly contextVersion?: number;
30
+ /** Context content digest for verification */
31
+ readonly contextDigest?: string;
32
+ /** Non-reusable lease ID for this session's lifecycle */
33
+ readonly leaseId?: string;
34
+ /** Worktree or branch identifier */
35
+ readonly worktree?: string;
36
+ /** Execution phase (e.g. "planning", "executing", "verifying") */
37
+ readonly phase?: string;
22
38
  };
23
39
  export type AgentSessionRuntime = {
24
40
  readonly sendAgent: (input: SendAgentInput) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-types.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-types.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session-types.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,38 @@
1
- import type { RunId } from "../domain/index.js";
1
+ import type { ExecutionCategory, RunId, TaskId } from "../domain/index.js";
2
2
  import type { HarnessSessionRole, SessionAdapter, SessionEvidenceReference, SessionOutputContract, SessionPromptInput } from "../session/index.js";
3
3
  import type { RunEvent, RunStore } from "../store/index.js";
4
4
  import type { ControllerIdSource } from "./contracts.js";
5
5
  export type ActiveSession = {
6
- readonly sessionId: string;
7
- readonly timeoutId?: ReturnType<typeof setTimeout>;
6
+ sessionId: string;
7
+ timeoutId?: ReturnType<typeof setTimeout> | undefined;
8
+ /** Non-reusable lease ID for this session's lifecycle */
9
+ readonly leaseId: string;
10
+ /** Attempt number within the task */
11
+ readonly attempt: number;
12
+ /** Run this session belongs to */
13
+ readonly runId: RunId;
14
+ /** Task this session is executing, if applicable */
15
+ readonly taskId?: TaskId | undefined;
8
16
  };
9
17
  export declare const createPromptInput: (request: {
10
18
  readonly brief: string;
11
19
  readonly constraints: readonly string[];
12
20
  readonly evidence: readonly SessionEvidenceReference[];
13
21
  readonly outputContract: SessionOutputContract;
22
+ readonly executionCategory?: ExecutionCategory | undefined;
23
+ readonly profileOverride?: {
24
+ readonly skill?: string | undefined;
25
+ } | undefined;
26
+ readonly allowedPaths?: readonly string[] | undefined;
27
+ readonly contextId?: string | undefined;
28
+ readonly contextVersion?: number | undefined;
29
+ readonly contextDigest?: string | undefined;
14
30
  }) => SessionPromptInput;
31
+ /**
32
+ * Compute a SHA-256 digest of a prompt string for audit purposes.
33
+ * Format: sha256:${hex}
34
+ */
35
+ export declare const computePromptDigest: (prompt: string) => string;
15
36
  export declare const appendSessionEvent: (input: {
16
37
  readonly runId: RunId;
17
38
  readonly type: string;
@@ -19,6 +40,20 @@ export declare const appendSessionEvent: (input: {
19
40
  readonly payload: RunEvent["payload"];
20
41
  readonly store: RunStore;
21
42
  readonly ids: ControllerIdSource;
43
+ /** Context fingerprint */
44
+ readonly contextId?: string | undefined;
45
+ readonly contextVersion?: number | undefined;
46
+ readonly contextDigest?: string | undefined;
47
+ /** Prompt digest for audit */
48
+ readonly promptDigest?: string | undefined;
49
+ /** Task metadata */
50
+ readonly taskId?: TaskId | undefined;
51
+ readonly attempt?: number | undefined;
52
+ /** Worktree / phase */
53
+ readonly worktree?: string | undefined;
54
+ readonly phase?: string | undefined;
55
+ /** Output protocol version */
56
+ readonly outputProtocolVersion?: string | undefined;
22
57
  }) => Promise<void>;
23
58
  export declare const releaseActiveSession: (input: {
24
59
  readonly activeSessions: Map<RunId, Map<string, ActiveSession>>;
@@ -48,5 +83,7 @@ export declare const createTimeout: (input: {
48
83
  readonly sessionAdapter: SessionAdapter;
49
84
  readonly activeSessions: Map<RunId, Map<string, ActiveSession>>;
50
85
  readonly releaseReason: string;
86
+ readonly leaseId: string;
87
+ readonly attempt: number;
51
88
  }) => ReturnType<typeof setTimeout> | undefined;
52
89
  //# sourceMappingURL=agent-session-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-utils.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-utils.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,67 @@
1
- export const createPromptInput = (request) => ({
2
- brief: request.brief,
3
- constraints: request.constraints,
4
- evidence: request.evidence,
5
- outputContract: request.outputContract,
6
- ...(Reflect.get(request, "executionCategory") === undefined
7
- ? {}
8
- : { executionCategory: Reflect.get(request, "executionCategory") }),
9
- ...(Reflect.get(request, "profileOverride") === undefined ||
10
- typeof Reflect.get(request, "profileOverride") !== "object" ||
11
- Reflect.get(Reflect.get(request, "profileOverride"), "skill") === undefined
12
- ? {}
13
- : {
14
- skill: Reflect.get(Reflect.get(request, "profileOverride"), "skill"),
15
- }),
16
- ...(Reflect.get(request, "allowedPaths") === undefined
17
- ? {}
18
- : { allowedPaths: Reflect.get(request, "allowedPaths") }),
19
- });
1
+ import { createHash } from "node:crypto";
2
+ export const createPromptInput = (request) => {
3
+ const result = {
4
+ brief: request.brief,
5
+ constraints: request.constraints,
6
+ evidence: request.evidence,
7
+ outputContract: request.outputContract,
8
+ };
9
+ if (request.executionCategory !== undefined) {
10
+ result.executionCategory = request.executionCategory;
11
+ }
12
+ if (request.profileOverride?.skill !== undefined) {
13
+ result.skill = request.profileOverride.skill;
14
+ }
15
+ if (request.allowedPaths !== undefined) {
16
+ result.allowedPaths = request.allowedPaths;
17
+ }
18
+ if (request.contextId !== undefined) {
19
+ result.contextId = request.contextId;
20
+ }
21
+ if (request.contextVersion !== undefined) {
22
+ result.contextVersion = request.contextVersion;
23
+ }
24
+ if (request.contextDigest !== undefined) {
25
+ result.contextDigest = request.contextDigest;
26
+ }
27
+ return result;
28
+ };
29
+ /**
30
+ * Compute a SHA-256 digest of a prompt string for audit purposes.
31
+ * Format: sha256:${hex}
32
+ */
33
+ export const computePromptDigest = (prompt) => `sha256:${createHash("sha256").update(prompt, "utf8").digest("hex")}`;
20
34
  export const appendSessionEvent = async (input) => {
35
+ const enrichedPayload = typeof input.payload === "object" && input.payload !== null && !Array.isArray(input.payload)
36
+ ? { ...input.payload }
37
+ : {};
38
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
39
+ if (input.contextId !== undefined)
40
+ enrichedPayload["contextId"] = input.contextId;
41
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
42
+ if (input.contextVersion !== undefined)
43
+ enrichedPayload["contextVersion"] = input.contextVersion;
44
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
45
+ if (input.contextDigest !== undefined)
46
+ enrichedPayload["contextDigest"] = input.contextDigest;
47
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
48
+ if (input.promptDigest !== undefined)
49
+ enrichedPayload["promptDigest"] = input.promptDigest;
50
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
51
+ if (input.taskId !== undefined)
52
+ enrichedPayload["taskId"] = input.taskId;
53
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
54
+ if (input.attempt !== undefined)
55
+ enrichedPayload["attempt"] = input.attempt;
56
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
57
+ if (input.worktree !== undefined)
58
+ enrichedPayload["worktree"] = input.worktree;
59
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
60
+ if (input.phase !== undefined)
61
+ enrichedPayload["phase"] = input.phase;
62
+ if (input.outputProtocolVersion !== undefined)
63
+ // biome-ignore lint/complexity/useLiteralKeys: bracket notation required for index signature
64
+ enrichedPayload["outputProtocolVersion"] = input.outputProtocolVersion;
21
65
  await input.store.appendEvents(input.runId, [
22
66
  {
23
67
  schemaVersion: "1.0.0",
@@ -26,7 +70,7 @@ export const appendSessionEvent = async (input) => {
26
70
  runId: input.runId,
27
71
  type: input.type,
28
72
  timestamp: new Date().toISOString(),
29
- payload: input.payload,
73
+ payload: enrichedPayload,
30
74
  },
31
75
  ]);
32
76
  };
@@ -40,6 +84,7 @@ export const releaseActiveSession = async (input) => {
40
84
  sessions?.delete(input.sessionId);
41
85
  if (sessions?.size === 0)
42
86
  input.activeSessions.delete(input.runId);
87
+ // Idempotent release: the adapter's release is idempotent by contract
43
88
  await input.sessionAdapter.release({ sessionId: activeSession.sessionId, reason: input.reason });
44
89
  };
45
90
  export const requireOrphanSession = async (input) => {
@@ -97,7 +142,8 @@ export const createTimeout = (input) => {
97
142
  const readStringPayload = (payload, key) => {
98
143
  if (typeof payload !== "object" || payload === null || Array.isArray(payload))
99
144
  return undefined;
100
- const value = Reflect.get(payload, key);
145
+ const record = payload;
146
+ const value = record[key];
101
147
  return typeof value === "string" ? value : undefined;
102
148
  };
103
149
  const readRolePayload = (payload) => {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-utils.js","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-utils.js","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAyBxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAWjC,EAAsB,EAAE;IACvB,MAAM,MAAM,GAAuB;QACjC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAA;IACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAA;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC9C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAU,EAAE,CAC5D,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAqBxC,EAAiB,EAAE;IAClB,MAAM,eAAe,GACnB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC1F,CAAC,CAAC,EAAE,GAAI,KAAK,CAAC,OAA+C,EAAE;QAC/D,CAAC,CAAC,EAAE,CAAA;IACR,6FAA6F;IAC7F,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,eAAe,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IACjF,6FAA6F;IAC7F,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,cAAc,CAAA;IAChG,6FAA6F;IAC7F,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,eAAe,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,aAAa,CAAA;IAC7F,6FAA6F;IAC7F,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,eAAe,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAAA;IAC1F,6FAA6F;IAC7F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;IACxE,6FAA6F;IAC7F,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,eAAe,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;IAC3E,6FAA6F;IAC7F,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,eAAe,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAA;IAC9E,6FAA6F;IAC7F,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,eAAe,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;IACrE,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS;QAC3C,6FAA6F;QAC7F,eAAe,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAA;IAExE,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE;QAC1C;YACE,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACnF,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CACrC,WAAW,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAC1D;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,eAAe;SACzB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAM1C,EAAiB,EAAE;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACtD,MAAM,aAAa,GAAG,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACpD,IAAI,aAAa,KAAK,SAAS;QAAE,OAAM;IACvC,IAAI,aAAa,CAAC,SAAS,KAAK,SAAS;QAAE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAChF,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACjC,IAAI,QAAQ,EAAE,IAAI,KAAK,CAAC;QAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClE,sEAAsE;IACtE,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;AAClG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAI1C,EAA0B,EAAE;IAC3B,MAAM,aAAa,GAAG,CAAC,MAAM,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAC3D,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAC1F,CAAA;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,kBAAkB,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,KAAK,iBAAiB,CAAC,CAAA;IAChG,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AASD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAExC,EAAqC,EAAE;IACtC,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACnD,MAAM,cAAc,GAAoB,EAAE,CAAA;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAC/D,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAQ;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC3C,IAAI,IAAI,KAAK,SAAS;oBACpB,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACzE,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBACxF,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACvC,IAAI,OAAO,KAAK,SAAS;oBAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACtF,CAAC;QACH,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAS7B,EAA6C,EAAE;IAC9C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACnD,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,KAAK,KAAK,CAAC,cAAc;aACtB,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aACxD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACzB,KAAK,oBAAoB,CAAC;YACxB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC,CAAA;IACJ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,OAA4B,EAAE,GAAW,EAAsB,EAAE;IAC1F,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/F,MAAM,MAAM,GAAG,OAA8C,CAAA;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,OAA4B,EAAkC,EAAE;IACvF,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC/C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,kBAAkB,CAAC;QACxB,KAAK,eAAe;YAClB,OAAO,IAAI,CAAA;QACb;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAEV,mBAAmB,EAIpB,MAAM,0BAA0B,CAAA;AAUjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAIxD,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAC/C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACjF,KAAG,mBAyOH,CAAA"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAU,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAEV,mBAAmB,EAIpB,MAAM,0BAA0B,CAAA;AAWjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAexD,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAC/C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACjF,KAAG,mBAsWH,CAAA"}
@@ -1,11 +1,16 @@
1
1
  import { buildSessionToolAllowlist, mergeSystemPrompts } from "../agent/index.js";
2
2
  import { readAgentOutput } from "./agent-output.js";
3
- import { appendSessionEvent, createPromptInput, createTimeout, listOrphanSessions, releaseActiveSession, requireOrphanSession, } from "./agent-session-utils.js";
3
+ import { appendSessionEvent, computePromptDigest, createPromptInput, createTimeout, listOrphanSessions, releaseActiveSession, requireOrphanSession, } from "./agent-session-utils.js";
4
4
  import { RunCancellationError, RunPausedError } from "./errors.js";
5
5
  import { roleSystemPrompt } from "./role-prompts.js";
6
+ /** Generate a unique, non-reusable lease ID for session lifecycle protection */
7
+ const createLeaseId = (ids, runId, sessionId) => ids.createEventId(`lease-${runId}-${sessionId}`);
6
8
  export const createAgentSessionRuntime = (input) => {
7
9
  const activeSessions = new Map();
8
10
  const interruptedRuns = new Map();
11
+ /** Track latest attempt per (runId, taskId) to reject late results */
12
+ const latestAttempts = new Map();
13
+ const attemptKey = (runId, taskId) => taskId !== undefined ? `${runId}:${taskId}` : runId;
9
14
  const throwIfCancelled = (runId) => {
10
15
  const interruption = interruptedRuns.get(runId);
11
16
  switch (interruption) {
@@ -21,13 +26,42 @@ export const createAgentSessionRuntime = (input) => {
21
26
  const sessions = activeSessions.get(runId) ?? new Map();
22
27
  sessions.set(session.sessionId, session);
23
28
  activeSessions.set(runId, sessions);
29
+ // Track latest attempt for late result rejection
30
+ const key = attemptKey(runId, session.taskId);
31
+ latestAttempts.set(key, {
32
+ leaseId: session.leaseId,
33
+ attempt: session.attempt,
34
+ sessionId: session.sessionId,
35
+ });
24
36
  };
37
+ /** Validate that the current lease and attempt match the expected values */
38
+ const validateLeaseAndAttempt = (runId, taskId, leaseId, attempt) => {
39
+ if (leaseId === undefined || attempt === undefined)
40
+ return true;
41
+ const key = attemptKey(runId, taskId);
42
+ const latest = latestAttempts.get(key);
43
+ if (latest === undefined)
44
+ return true;
45
+ return latest.leaseId === leaseId && latest.attempt === attempt;
46
+ };
47
+ const buildSessionEventMetadata = (request) => ({
48
+ contextId: request.contextId,
49
+ contextVersion: undefined,
50
+ contextDigest: undefined,
51
+ promptDigest: computePromptDigest(request.brief),
52
+ taskId: request.taskId,
53
+ attempt: request.attempt,
54
+ worktree: request.worktree,
55
+ phase: request.phase,
56
+ outputProtocolVersion: request.outputContract.schemaVersion,
57
+ });
25
58
  return {
26
59
  async sendAgent(request) {
27
60
  throwIfCancelled(request.runId);
28
61
  const workingDirectory = request.workingDirectory ??
29
62
  (await input.resolveWorkingDirectory?.(request.runId)) ??
30
63
  input.workingDirectory;
64
+ const leaseId = request.leaseId ?? createLeaseId(input.ids, request.runId, `session-${Date.now()}`);
31
65
  const session = await input.sessionAdapter.create({
32
66
  role: request.role,
33
67
  title: request.title,
@@ -37,7 +71,22 @@ export const createAgentSessionRuntime = (input) => {
37
71
  : { parentSessionId: request.parentSessionId }),
38
72
  promptInput: createPromptInput(request),
39
73
  ...(request.timeoutMs === undefined ? {} : { timeoutMs: request.timeoutMs }),
74
+ runId: request.runId,
75
+ ...(request.taskId === undefined ? {} : { taskId: request.taskId }),
76
+ ...(request.attempt === undefined ? {} : { attempt: request.attempt }),
77
+ ...(request.contextId === undefined ? {} : { contextId: request.contextId }),
78
+ leaseId,
79
+ ...(request.worktree === undefined ? {} : { worktree: request.worktree }),
80
+ ...(request.phase === undefined ? {} : { phase: request.phase }),
40
81
  });
82
+ const eventMeta = buildSessionEventMetadata(request);
83
+ const activeSession = {
84
+ sessionId: session.session.sessionId,
85
+ leaseId,
86
+ attempt: request.attempt ?? 0,
87
+ runId: request.runId,
88
+ taskId: request.taskId,
89
+ };
41
90
  const timeoutId = createTimeout({
42
91
  runId: request.runId,
43
92
  sessionId: session.session.sessionId,
@@ -45,17 +94,28 @@ export const createAgentSessionRuntime = (input) => {
45
94
  sessionAdapter: input.sessionAdapter,
46
95
  activeSessions,
47
96
  releaseReason: "timeout",
97
+ leaseId,
98
+ attempt: request.attempt ?? 0,
48
99
  });
49
- setActiveSession(request.runId, timeoutId === undefined
50
- ? { sessionId: session.session.sessionId }
51
- : { sessionId: session.session.sessionId, timeoutId });
100
+ if (timeoutId !== undefined) {
101
+ activeSession.timeoutId = timeoutId;
102
+ }
103
+ setActiveSession(request.runId, activeSession);
52
104
  await appendSessionEvent({
53
105
  runId: request.runId,
54
106
  type: "session.created",
55
107
  sessionId: session.session.sessionId,
56
- payload: { sessionId: session.session.sessionId, role: request.role },
108
+ payload: { sessionId: session.session.sessionId, role: request.role, leaseId },
57
109
  store: input.store,
58
110
  ids: input.ids,
111
+ contextId: eventMeta.contextId,
112
+ contextDigest: eventMeta.contextDigest,
113
+ promptDigest: eventMeta.promptDigest,
114
+ taskId: eventMeta.taskId,
115
+ attempt: eventMeta.attempt,
116
+ worktree: eventMeta.worktree,
117
+ phase: eventMeta.phase,
118
+ outputProtocolVersion: eventMeta.outputProtocolVersion,
59
119
  });
60
120
  try {
61
121
  const tools = buildSessionToolAllowlist(request.role);
@@ -70,8 +130,35 @@ export const createAgentSessionRuntime = (input) => {
70
130
  : { profileOverride: request.profileOverride }),
71
131
  systemPrompt: mergeSystemPrompts(roleSystemPrompt(request.role), request.systemPrompt),
72
132
  ...(tools === undefined ? {} : { tools }),
133
+ runId: request.runId,
134
+ ...(request.taskId === undefined ? {} : { taskId: request.taskId }),
135
+ ...(request.attempt === undefined ? {} : { attempt: request.attempt }),
136
+ ...(request.contextId === undefined ? {} : { contextId: request.contextId }),
137
+ leaseId,
138
+ ...(request.worktree === undefined ? {} : { worktree: request.worktree }),
139
+ ...(request.phase === undefined ? {} : { phase: request.phase }),
73
140
  });
74
141
  throwIfCancelled(request.runId);
142
+ // Validate lease/attempt to reject late results
143
+ if (!validateLeaseAndAttempt(request.runId, request.taskId, leaseId, request.attempt)) {
144
+ // Log late result as diagnostic event
145
+ await appendSessionEvent({
146
+ runId: request.runId,
147
+ type: "session.late_result",
148
+ sessionId: session.session.sessionId,
149
+ payload: {
150
+ sessionId: session.session.sessionId,
151
+ reason: "late_result_rejected",
152
+ leaseId,
153
+ currentAttempt: request.attempt ?? 0,
154
+ },
155
+ store: input.store,
156
+ ids: input.ids,
157
+ taskId: eventMeta.taskId,
158
+ attempt: eventMeta.attempt,
159
+ });
160
+ throw new RunCancellationError(request.runId);
161
+ }
75
162
  return readAgentOutput(result);
76
163
  }
77
164
  finally {
@@ -79,9 +166,17 @@ export const createAgentSessionRuntime = (input) => {
79
166
  runId: request.runId,
80
167
  type: "session.released",
81
168
  sessionId: session.session.sessionId,
82
- payload: { sessionId: session.session.sessionId, reason: "completed" },
169
+ payload: { sessionId: session.session.sessionId, reason: "completed", leaseId },
83
170
  store: input.store,
84
171
  ids: input.ids,
172
+ contextId: eventMeta.contextId,
173
+ contextDigest: eventMeta.contextDigest,
174
+ promptDigest: eventMeta.promptDigest,
175
+ taskId: eventMeta.taskId,
176
+ attempt: eventMeta.attempt,
177
+ worktree: eventMeta.worktree,
178
+ phase: eventMeta.phase,
179
+ outputProtocolVersion: eventMeta.outputProtocolVersion,
85
180
  });
86
181
  await releaseActiveSession({
87
182
  activeSessions,
@@ -138,14 +233,26 @@ export const createAgentSessionRuntime = (input) => {
138
233
  if (snapshot === undefined || snapshot.role !== orphanSession.role) {
139
234
  throw new TypeError(`session ${session.sessionId} is not available for rebind`);
140
235
  }
141
- setActiveSession(session.runId, { sessionId: session.sessionId });
236
+ const leaseId = snapshot.leaseId ?? createLeaseId(input.ids, session.runId, session.sessionId);
237
+ setActiveSession(session.runId, {
238
+ sessionId: session.sessionId,
239
+ leaseId,
240
+ attempt: snapshot.attempt ?? 0,
241
+ runId: session.runId,
242
+ taskId: snapshot.taskId,
243
+ });
142
244
  await appendSessionEvent({
143
245
  runId: session.runId,
144
246
  type: "session.rebound",
145
247
  sessionId: session.sessionId,
146
- payload: { sessionId: session.sessionId, actorId: session.actorId },
248
+ payload: { sessionId: session.sessionId, actorId: session.actorId, leaseId },
147
249
  store: input.store,
148
250
  ids: input.ids,
251
+ contextId: snapshot.contextId,
252
+ taskId: snapshot.taskId,
253
+ attempt: snapshot.attempt,
254
+ worktree: snapshot.worktree,
255
+ phase: snapshot.phase,
149
256
  });
150
257
  },
151
258
  async safeAbandonSession(session) {
@@ -186,14 +293,26 @@ export const createAgentSessionRuntime = (input) => {
186
293
  for (const orphanSession of orphanSessions) {
187
294
  const snapshot = input.sessionAdapter.getSession(orphanSession.sessionId);
188
295
  if (snapshot !== undefined && snapshot.role === orphanSession.role) {
189
- setActiveSession(request.runId, { sessionId: orphanSession.sessionId });
296
+ const leaseId = snapshot.leaseId ?? createLeaseId(input.ids, request.runId, orphanSession.sessionId);
297
+ setActiveSession(request.runId, {
298
+ sessionId: orphanSession.sessionId,
299
+ leaseId,
300
+ attempt: snapshot.attempt ?? 0,
301
+ runId: request.runId,
302
+ taskId: snapshot.taskId,
303
+ });
190
304
  await appendSessionEvent({
191
305
  runId: request.runId,
192
306
  type: "session.rebound",
193
307
  sessionId: orphanSession.sessionId,
194
- payload: { sessionId: orphanSession.sessionId, actorId: request.actorId },
308
+ payload: { sessionId: orphanSession.sessionId, actorId: request.actorId, leaseId },
195
309
  store: input.store,
196
310
  ids: input.ids,
311
+ contextId: snapshot.contextId,
312
+ taskId: snapshot.taskId,
313
+ attempt: snapshot.attempt,
314
+ worktree: snapshot.worktree,
315
+ phase: snapshot.phase,
197
316
  });
198
317
  reboundSessionIds.push(orphanSession.sessionId);
199
318
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"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"}