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.
- package/README.md +4 -0
- package/dist/controller/agent-session-types.d.ts +17 -1
- package/dist/controller/agent-session-types.d.ts.map +1 -1
- package/dist/controller/agent-session-utils.d.ts +40 -3
- package/dist/controller/agent-session-utils.d.ts.map +1 -1
- package/dist/controller/agent-session-utils.js +67 -21
- package/dist/controller/agent-session-utils.js.map +1 -1
- package/dist/controller/agent-session.d.ts.map +1 -1
- package/dist/controller/agent-session.js +129 -10
- package/dist/controller/agent-session.js.map +1 -1
- package/dist/controller/context-budget.d.ts +71 -0
- package/dist/controller/context-budget.d.ts.map +1 -0
- package/dist/controller/context-budget.js +219 -0
- package/dist/controller/context-budget.js.map +1 -0
- package/dist/controller/context-builder.d.ts +27 -0
- package/dist/controller/context-builder.d.ts.map +1 -0
- package/dist/controller/context-builder.js +184 -0
- package/dist/controller/context-builder.js.map +1 -0
- package/dist/controller/context-validation.d.ts +46 -0
- package/dist/controller/context-validation.d.ts.map +1 -0
- package/dist/controller/context-validation.js +126 -0
- package/dist/controller/context-validation.js.map +1 -0
- package/dist/controller/direct-runner.d.ts +2 -0
- package/dist/controller/direct-runner.d.ts.map +1 -1
- package/dist/controller/direct-runner.js +20 -2
- package/dist/controller/direct-runner.js.map +1 -1
- package/dist/controller/index.d.ts +1 -0
- package/dist/controller/index.d.ts.map +1 -1
- package/dist/controller/index.js +1 -0
- package/dist/controller/index.js.map +1 -1
- package/dist/controller/run-acceptance.d.ts.map +1 -1
- package/dist/controller/run-acceptance.js +12 -0
- package/dist/controller/run-acceptance.js.map +1 -1
- package/dist/controller/run-controller.d.ts.map +1 -1
- package/dist/controller/run-controller.js +2 -0
- package/dist/controller/run-controller.js.map +1 -1
- package/dist/controller/streamlined-runner.d.ts +2 -0
- package/dist/controller/streamlined-runner.d.ts.map +1 -1
- package/dist/controller/streamlined-runner.js +31 -1
- package/dist/controller/streamlined-runner.js.map +1 -1
- package/dist/controller/task-agent-output.d.ts.map +1 -1
- package/dist/controller/task-agent-output.js +85 -0
- package/dist/controller/task-agent-output.js.map +1 -1
- package/dist/domain/clarification.d.ts +92 -0
- package/dist/domain/clarification.d.ts.map +1 -0
- package/dist/domain/clarification.js +80 -0
- package/dist/domain/clarification.js.map +1 -0
- package/dist/domain/context-snapshot.d.ts +140 -0
- package/dist/domain/context-snapshot.d.ts.map +1 -0
- package/dist/domain/context-snapshot.js +140 -0
- package/dist/domain/context-snapshot.js.map +1 -0
- package/dist/domain/index.d.ts +4 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +2 -0
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/report.d.ts +118 -0
- package/dist/domain/report.d.ts.map +1 -1
- package/dist/domain/run.d.ts +118 -0
- package/dist/domain/run.d.ts.map +1 -1
- package/dist/domain/run.js +2 -0
- package/dist/domain/run.js.map +1 -1
- package/dist/plugin/harness-coordinator.d.ts +5 -0
- package/dist/plugin/harness-coordinator.d.ts.map +1 -1
- package/dist/plugin/harness-coordinator.js +95 -4
- package/dist/plugin/harness-coordinator.js.map +1 -1
- package/dist/plugin/harness-plugin-runtime.d.ts +2 -14
- package/dist/plugin/harness-plugin-runtime.d.ts.map +1 -1
- package/dist/plugin/harness-plugin-runtime.js +7 -1
- package/dist/plugin/harness-plugin-runtime.js.map +1 -1
- package/dist/session/contracts.d.ts +80 -8
- package/dist/session/contracts.d.ts.map +1 -1
- package/dist/session/fake-session-adapter.d.ts.map +1 -1
- package/dist/session/fake-session-adapter.js +14 -0
- package/dist/session/fake-session-adapter.js.map +1 -1
- package/dist/session/opencode-session-adapter.d.ts.map +1 -1
- package/dist/session/opencode-session-adapter.js +16 -0
- package/dist/session/opencode-session-adapter.js.map +1 -1
- package/dist/session/opencode-session-prompts.d.ts.map +1 -1
- package/dist/session/opencode-session-prompts.js +3 -0
- package/dist/session/opencode-session-prompts.js.map +1 -1
- package/dist/store/context-snapshot-store.d.ts +17 -0
- package/dist/store/context-snapshot-store.d.ts.map +1 -0
- package/dist/store/context-snapshot-store.js +96 -0
- package/dist/store/context-snapshot-store.js.map +1 -0
- package/dist/store/filesystem-run-store.d.ts +3 -0
- package/dist/store/filesystem-run-store.d.ts.map +1 -1
- package/dist/store/filesystem-run-store.js +13 -1
- package/dist/store/filesystem-run-store.js.map +1 -1
- package/dist/store/index.d.ts +2 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +2 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/run-event.d.ts +118 -0
- package/dist/store/run-event.d.ts.map +1 -1
- package/dist/store/session-index.d.ts +51 -0
- package/dist/store/session-index.d.ts.map +1 -0
- package/dist/store/session-index.js +163 -0
- package/dist/store/session-index.js.map +1 -0
- 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":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
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
|
-
|
|
7
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"agent-session-utils.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS,CAAA;IACrD,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAA;IACtD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC1D,QAAQ,CAAC,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAA;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5C,KAAG,kBA0BH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,MACkB,CAAA;AAEvE,eAAO,MAAM,kBAAkB,GAAU,OAAO;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,8BAA8B;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,oBAAoB;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,8BAA8B;IAC9B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACpD,KAAG,OAAO,CAAC,IAAI,CAsCf,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;CACxC,KAAG,OAAO,CAAC,IAAI,CASf,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAA;CACrE,KAAG,OAAO,CAAC,aAAa,CAQxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,OAAO;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,KAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAuBnC,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,KAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAcnC,CAAA"}
|
|
@@ -1,23 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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:
|
|
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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"agent-session-utils.js","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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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"}
|