harness-engineering-agent 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -60
- package/dist/agent/harness-agent-capabilities.d.ts +4 -0
- package/dist/agent/harness-agent-capabilities.d.ts.map +1 -0
- package/dist/agent/harness-agent-capabilities.js +4 -0
- package/dist/agent/harness-agent-capabilities.js.map +1 -0
- package/dist/agent/harness-agent-capability-builders.d.ts +11 -0
- package/dist/agent/harness-agent-capability-builders.d.ts.map +1 -0
- package/dist/agent/harness-agent-capability-builders.js +57 -0
- package/dist/agent/harness-agent-capability-builders.js.map +1 -0
- package/dist/agent/harness-agent-capability-data.d.ts +3 -0
- package/dist/agent/harness-agent-capability-data.d.ts.map +1 -0
- package/dist/agent/harness-agent-capability-data.js +23 -0
- package/dist/agent/harness-agent-capability-data.js.map +1 -0
- package/dist/agent/harness-agent-capability-types.d.ts +50 -0
- package/dist/agent/harness-agent-capability-types.d.ts.map +1 -0
- package/dist/agent/harness-agent-capability-types.js +3 -0
- package/dist/agent/harness-agent-capability-types.js.map +1 -0
- package/dist/agent/harness-role-capability-directory-data.d.ts +3 -0
- package/dist/agent/harness-role-capability-directory-data.d.ts.map +1 -0
- package/dist/agent/harness-role-capability-directory-data.js +208 -0
- package/dist/agent/harness-role-capability-directory-data.js.map +1 -0
- package/dist/agent/harness-role-capability-directory.d.ts +43 -0
- package/dist/agent/harness-role-capability-directory.d.ts.map +1 -0
- package/dist/agent/harness-role-capability-directory.js +57 -0
- package/dist/agent/harness-role-capability-directory.js.map +1 -0
- package/dist/agent/index.d.ts +7 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +6 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/config/config-defaults.d.ts +22 -0
- package/dist/config/config-defaults.d.ts.map +1 -1
- package/dist/config/config-defaults.js +22 -0
- package/dist/config/config-defaults.js.map +1 -1
- package/dist/config/config-merge.d.ts.map +1 -1
- package/dist/config/config-merge.js +30 -0
- package/dist/config/config-merge.js.map +1 -1
- package/dist/config/config-schema.d.ts +59 -0
- package/dist/config/config-schema.d.ts.map +1 -1
- package/dist/config/config-schema.js +18 -1
- package/dist/config/config-schema.js.map +1 -1
- package/dist/config/config-types.d.ts +5 -1
- package/dist/config/config-types.d.ts.map +1 -1
- package/dist/config/harness-config.d.ts +2 -1
- package/dist/config/harness-config.d.ts.map +1 -1
- package/dist/config/harness-config.js +1 -0
- package/dist/config/harness-config.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/opencode-compatibility.d.ts +37 -0
- package/dist/config/opencode-compatibility.d.ts.map +1 -0
- package/dist/config/opencode-compatibility.js +99 -0
- package/dist/config/opencode-compatibility.js.map +1 -0
- package/dist/controller/agent-output.d.ts +1 -1
- package/dist/controller/agent-output.d.ts.map +1 -1
- package/dist/controller/agent-output.js +18 -1
- package/dist/controller/agent-output.js.map +1 -1
- package/dist/controller/agent-session-types.d.ts +56 -0
- package/dist/controller/agent-session-types.d.ts.map +1 -0
- package/dist/controller/agent-session-types.js +2 -0
- package/dist/controller/agent-session-types.js.map +1 -0
- package/dist/controller/agent-session-utils.d.ts +52 -0
- package/dist/controller/agent-session-utils.d.ts.map +1 -0
- package/dist/controller/agent-session-utils.js +118 -0
- package/dist/controller/agent-session-utils.js.map +1 -0
- package/dist/controller/agent-session.d.ts +2 -55
- package/dist/controller/agent-session.d.ts.map +1 -1
- package/dist/controller/agent-session.js +82 -129
- package/dist/controller/agent-session.js.map +1 -1
- package/dist/controller/contracts.d.ts +3 -2
- package/dist/controller/contracts.d.ts.map +1 -1
- package/dist/controller/contracts.js.map +1 -1
- package/dist/controller/evidence-factory.js +7 -1
- package/dist/controller/evidence-factory.js.map +1 -1
- package/dist/controller/failure-analysis.d.ts +12 -0
- package/dist/controller/failure-analysis.d.ts.map +1 -1
- package/dist/controller/failure-analysis.js +41 -0
- package/dist/controller/failure-analysis.js.map +1 -1
- package/dist/controller/failure-analyzer-schemas.d.ts +87 -0
- package/dist/controller/failure-analyzer-schemas.d.ts.map +1 -0
- package/dist/controller/failure-analyzer-schemas.js +117 -0
- package/dist/controller/failure-analyzer-schemas.js.map +1 -0
- package/dist/controller/graph-validator.js +18 -4
- package/dist/controller/graph-validator.js.map +1 -1
- package/dist/controller/index.d.ts +7 -2
- package/dist/controller/index.d.ts.map +1 -1
- package/dist/controller/index.js +4 -1
- package/dist/controller/index.js.map +1 -1
- package/dist/controller/repair-loop.d.ts +1 -1
- package/dist/controller/repair-loop.d.ts.map +1 -1
- package/dist/controller/repair-loop.js +28 -0
- package/dist/controller/repair-loop.js.map +1 -1
- package/dist/controller/report-factory.d.ts.map +1 -1
- package/dist/controller/report-factory.js +49 -21
- package/dist/controller/report-factory.js.map +1 -1
- package/dist/controller/role-prompts.d.ts +2 -1
- package/dist/controller/role-prompts.d.ts.map +1 -1
- package/dist/controller/role-prompts.js +3 -9
- package/dist/controller/role-prompts.js.map +1 -1
- package/dist/controller/run-acceptance.d.ts +17 -0
- package/dist/controller/run-acceptance.d.ts.map +1 -0
- package/dist/controller/run-acceptance.js +179 -0
- package/dist/controller/run-acceptance.js.map +1 -0
- package/dist/controller/run-controller.d.ts.map +1 -1
- package/dist/controller/run-controller.js +244 -22
- package/dist/controller/run-controller.js.map +1 -1
- package/dist/controller/session-tool-authorization.d.ts +14 -0
- package/dist/controller/session-tool-authorization.d.ts.map +1 -0
- package/dist/controller/session-tool-authorization.js +88 -0
- package/dist/controller/session-tool-authorization.js.map +1 -0
- package/dist/controller/task-agent-output.d.ts +13 -2
- package/dist/controller/task-agent-output.d.ts.map +1 -1
- package/dist/controller/task-agent-output.js +58 -1
- package/dist/controller/task-agent-output.js.map +1 -1
- package/dist/controller/task-agent-schemas.d.ts +745 -26
- package/dist/controller/task-agent-schemas.d.ts.map +1 -1
- package/dist/controller/task-agent-schemas.js +70 -21
- package/dist/controller/task-agent-schemas.js.map +1 -1
- package/dist/controller/task-executor.d.ts +1 -1
- package/dist/controller/task-executor.d.ts.map +1 -1
- package/dist/controller/task-executor.js +269 -105
- package/dist/controller/task-executor.js.map +1 -1
- package/dist/doctor/cli.d.ts +3 -0
- package/dist/doctor/cli.d.ts.map +1 -0
- package/dist/doctor/cli.js +10 -0
- package/dist/doctor/cli.js.map +1 -0
- package/dist/doctor/index.d.ts +7 -0
- package/dist/doctor/index.d.ts.map +1 -0
- package/dist/doctor/index.js +16 -0
- package/dist/doctor/index.js.map +1 -0
- package/dist/doctor/local-mcp-probe.d.ts +3 -0
- package/dist/doctor/local-mcp-probe.d.ts.map +1 -0
- package/dist/doctor/local-mcp-probe.js +151 -0
- package/dist/doctor/local-mcp-probe.js.map +1 -0
- package/dist/doctor/opencode-config.d.ts +43 -0
- package/dist/doctor/opencode-config.d.ts.map +1 -0
- package/dist/doctor/opencode-config.js +103 -0
- package/dist/doctor/opencode-config.js.map +1 -0
- package/dist/doctor/run-harness-doctor.d.ts +23 -0
- package/dist/doctor/run-harness-doctor.d.ts.map +1 -0
- package/dist/doctor/run-harness-doctor.js +176 -0
- package/dist/doctor/run-harness-doctor.js.map +1 -0
- package/dist/doctor/types.d.ts +69 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +8 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/domain/acceptance-criteria.d.ts +9 -0
- package/dist/domain/acceptance-criteria.d.ts.map +1 -0
- package/dist/domain/acceptance-criteria.js +38 -0
- package/dist/domain/acceptance-criteria.js.map +1 -0
- package/dist/domain/context-package.d.ts +43 -0
- package/dist/domain/context-package.d.ts.map +1 -0
- package/dist/domain/context-package.js +54 -0
- package/dist/domain/context-package.js.map +1 -0
- package/dist/domain/evidence.d.ts +1 -0
- package/dist/domain/evidence.d.ts.map +1 -1
- package/dist/domain/evidence.js +1 -2
- package/dist/domain/evidence.js.map +1 -1
- package/dist/domain/index.d.ts +14 -4
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +7 -2
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/plan-artifacts.d.ts +170 -0
- package/dist/domain/plan-artifacts.d.ts.map +1 -0
- package/dist/domain/plan-artifacts.js +187 -0
- package/dist/domain/plan-artifacts.js.map +1 -0
- package/dist/domain/project-context.d.ts +10 -0
- package/dist/domain/project-context.d.ts.map +1 -0
- package/dist/domain/project-context.js +11 -0
- package/dist/domain/project-context.js.map +1 -0
- package/dist/domain/report.d.ts +608 -11
- package/dist/domain/report.d.ts.map +1 -1
- package/dist/domain/report.js +6 -4
- package/dist/domain/report.js.map +1 -1
- package/dist/domain/requirement.d.ts +22 -2
- package/dist/domain/requirement.d.ts.map +1 -1
- package/dist/domain/requirement.js +26 -3
- package/dist/domain/requirement.js.map +1 -1
- package/dist/domain/run-acceptance.d.ts +33 -0
- package/dist/domain/run-acceptance.d.ts.map +1 -0
- package/dist/domain/run-acceptance.js +29 -0
- package/dist/domain/run-acceptance.js.map +1 -0
- package/dist/domain/run.d.ts +596 -7
- package/dist/domain/run.d.ts.map +1 -1
- package/dist/domain/run.js +58 -0
- package/dist/domain/run.js.map +1 -1
- package/dist/domain/shared.d.ts +40 -2
- package/dist/domain/shared.d.ts.map +1 -1
- package/dist/domain/shared.js +26 -0
- package/dist/domain/shared.js.map +1 -1
- package/dist/domain/task-review.d.ts +57 -0
- package/dist/domain/task-review.d.ts.map +1 -0
- package/dist/domain/task-review.js +63 -0
- package/dist/domain/task-review.js.map +1 -0
- package/dist/domain/task.d.ts +24 -2
- package/dist/domain/task.d.ts.map +1 -1
- package/dist/domain/task.js +20 -12
- package/dist/domain/task.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/create-harness-plugin.d.ts +4 -28
- package/dist/plugin/create-harness-plugin.d.ts.map +1 -1
- package/dist/plugin/create-harness-plugin.js +33 -166
- package/dist/plugin/create-harness-plugin.js.map +1 -1
- package/dist/plugin/harness-agent-config.d.ts +7 -0
- package/dist/plugin/harness-agent-config.d.ts.map +1 -1
- package/dist/plugin/harness-agent-config.js +72 -118
- package/dist/plugin/harness-agent-config.js.map +1 -1
- package/dist/plugin/harness-chat-protocol.d.ts.map +1 -1
- package/dist/plugin/harness-chat-protocol.js +29 -6
- package/dist/plugin/harness-chat-protocol.js.map +1 -1
- package/dist/plugin/harness-plugin-identifiers.d.ts +5 -0
- package/dist/plugin/harness-plugin-identifiers.d.ts.map +1 -0
- package/dist/plugin/harness-plugin-identifiers.js +24 -0
- package/dist/plugin/harness-plugin-identifiers.js.map +1 -0
- package/dist/plugin/harness-plugin-runtime.d.ts +64 -0
- package/dist/plugin/harness-plugin-runtime.d.ts.map +1 -0
- package/dist/plugin/harness-plugin-runtime.js +125 -0
- package/dist/plugin/harness-plugin-runtime.js.map +1 -0
- package/dist/plugin/harness-plugin-scheduler.d.ts +16 -0
- package/dist/plugin/harness-plugin-scheduler.d.ts.map +1 -0
- package/dist/plugin/harness-plugin-scheduler.js +51 -0
- package/dist/plugin/harness-plugin-scheduler.js.map +1 -0
- package/dist/plugin/harness-requirement.d.ts +1 -1
- package/dist/plugin/harness-requirement.d.ts.map +1 -1
- package/dist/plugin/harness-requirement.js +2 -3
- package/dist/plugin/harness-requirement.js.map +1 -1
- package/dist/session/contracts.d.ts +9 -0
- package/dist/session/contracts.d.ts.map +1 -1
- package/dist/session/contracts.js.map +1 -1
- package/dist/session/fake-session-adapter.d.ts.map +1 -1
- package/dist/session/fake-session-adapter.js +1 -0
- package/dist/session/fake-session-adapter.js.map +1 -1
- package/dist/session/index.d.ts +1 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js.map +1 -1
- package/dist/session/opencode-session-adapter.d.ts +2 -1
- package/dist/session/opencode-session-adapter.d.ts.map +1 -1
- package/dist/session/opencode-session-adapter.js +7 -2
- package/dist/session/opencode-session-adapter.js.map +1 -1
- package/dist/session/opencode-session-prompts.d.ts +2 -10
- package/dist/session/opencode-session-prompts.d.ts.map +1 -1
- package/dist/session/opencode-session-prompts.js +7 -9
- package/dist/session/opencode-session-prompts.js.map +1 -1
- package/dist/store/run-event.d.ts +596 -7
- package/dist/store/run-event.d.ts.map +1 -1
- package/dist/tools/harness-research-tools.d.ts +22 -0
- package/dist/tools/harness-research-tools.d.ts.map +1 -1
- package/dist/tools/harness-research-tools.js +173 -64
- package/dist/tools/harness-research-tools.js.map +1 -1
- package/dist/tools/harness-tool-capabilities.d.ts +342 -0
- package/dist/tools/harness-tool-capabilities.d.ts.map +1 -0
- package/dist/tools/harness-tool-capabilities.js +170 -0
- package/dist/tools/harness-tool-capabilities.js.map +1 -0
- package/dist/verification/command-policy.d.ts.map +1 -1
- package/dist/verification/command-policy.js +2 -2
- package/dist/verification/command-policy.js.map +1 -1
- package/dist/workspace/collect-project-context.d.ts +3 -0
- package/dist/workspace/collect-project-context.d.ts.map +1 -0
- package/dist/workspace/collect-project-context.js +92 -0
- package/dist/workspace/collect-project-context.js.map +1 -0
- package/dist/workspace/index.d.ts +1 -0
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -0
- package/dist/workspace/index.js.map +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { RunId } from "../domain/index.js";
|
|
2
|
+
import type { HarnessSessionRole, SessionAdapter, SessionEvidenceReference, SessionOutputContract, SessionPromptInput } from "../session/index.js";
|
|
3
|
+
import type { RunEvent, RunStore } from "../store/index.js";
|
|
4
|
+
import type { ControllerIdSource } from "./contracts.js";
|
|
5
|
+
export type ActiveSession = {
|
|
6
|
+
readonly sessionId: string;
|
|
7
|
+
readonly timeoutId?: ReturnType<typeof setTimeout>;
|
|
8
|
+
};
|
|
9
|
+
export declare const createPromptInput: (request: {
|
|
10
|
+
readonly brief: string;
|
|
11
|
+
readonly constraints: readonly string[];
|
|
12
|
+
readonly evidence: readonly SessionEvidenceReference[];
|
|
13
|
+
readonly outputContract: SessionOutputContract;
|
|
14
|
+
}) => SessionPromptInput;
|
|
15
|
+
export declare const appendSessionEvent: (input: {
|
|
16
|
+
readonly runId: RunId;
|
|
17
|
+
readonly type: string;
|
|
18
|
+
readonly sessionId: string;
|
|
19
|
+
readonly payload: RunEvent["payload"];
|
|
20
|
+
readonly store: RunStore;
|
|
21
|
+
readonly ids: ControllerIdSource;
|
|
22
|
+
}) => Promise<void>;
|
|
23
|
+
export declare const releaseActiveSession: (input: {
|
|
24
|
+
readonly activeSessions: Map<RunId, Map<string, ActiveSession>>;
|
|
25
|
+
readonly runId: RunId;
|
|
26
|
+
readonly sessionId: string;
|
|
27
|
+
readonly reason: string;
|
|
28
|
+
readonly sessionAdapter: SessionAdapter;
|
|
29
|
+
}) => Promise<void>;
|
|
30
|
+
export declare const requireOrphanSession: (input: {
|
|
31
|
+
readonly runId: RunId;
|
|
32
|
+
readonly sessionId: string;
|
|
33
|
+
readonly listOrphanSessions: () => Promise<readonly OrphanSession[]>;
|
|
34
|
+
}) => Promise<OrphanSession>;
|
|
35
|
+
export type OrphanSession = {
|
|
36
|
+
readonly runId: RunId;
|
|
37
|
+
readonly sessionId: string;
|
|
38
|
+
readonly role: HarnessSessionRole;
|
|
39
|
+
readonly state: "created" | "rebound";
|
|
40
|
+
};
|
|
41
|
+
export declare const listOrphanSessions: (input: {
|
|
42
|
+
readonly store: RunStore;
|
|
43
|
+
}) => Promise<readonly OrphanSession[]>;
|
|
44
|
+
export declare const createTimeout: (input: {
|
|
45
|
+
readonly runId: RunId;
|
|
46
|
+
readonly sessionId: string;
|
|
47
|
+
readonly timeoutMs: number | undefined;
|
|
48
|
+
readonly sessionAdapter: SessionAdapter;
|
|
49
|
+
readonly activeSessions: Map<RunId, Map<string, ActiveSession>>;
|
|
50
|
+
readonly releaseReason: string;
|
|
51
|
+
}) => ReturnType<typeof setTimeout> | undefined;
|
|
52
|
+
//# sourceMappingURL=agent-session-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-utils.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
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
|
+
});
|
|
20
|
+
export const appendSessionEvent = async (input) => {
|
|
21
|
+
await input.store.appendEvents(input.runId, [
|
|
22
|
+
{
|
|
23
|
+
schemaVersion: "1.0.0",
|
|
24
|
+
eventId: input.ids.createEventId(`${input.type}-${input.runId}-${input.sessionId}`),
|
|
25
|
+
idempotencyKey: input.ids.createEventId(`session-${input.type}-${input.runId}-${input.sessionId}`),
|
|
26
|
+
runId: input.runId,
|
|
27
|
+
type: input.type,
|
|
28
|
+
timestamp: new Date().toISOString(),
|
|
29
|
+
payload: input.payload,
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
};
|
|
33
|
+
export const releaseActiveSession = async (input) => {
|
|
34
|
+
const sessions = input.activeSessions.get(input.runId);
|
|
35
|
+
const activeSession = sessions?.get(input.sessionId);
|
|
36
|
+
if (activeSession === undefined)
|
|
37
|
+
return;
|
|
38
|
+
if (activeSession.timeoutId !== undefined)
|
|
39
|
+
clearTimeout(activeSession.timeoutId);
|
|
40
|
+
sessions?.delete(input.sessionId);
|
|
41
|
+
if (sessions?.size === 0)
|
|
42
|
+
input.activeSessions.delete(input.runId);
|
|
43
|
+
await input.sessionAdapter.release({ sessionId: activeSession.sessionId, reason: input.reason });
|
|
44
|
+
};
|
|
45
|
+
export const requireOrphanSession = async (input) => {
|
|
46
|
+
const orphanSession = (await input.listOrphanSessions()).find((candidate) => candidate.runId === input.runId && candidate.sessionId === input.sessionId);
|
|
47
|
+
if (orphanSession === undefined) {
|
|
48
|
+
throw new TypeError(`orphan session ${input.sessionId} for run ${input.runId} does not exist`);
|
|
49
|
+
}
|
|
50
|
+
return orphanSession;
|
|
51
|
+
};
|
|
52
|
+
export const listOrphanSessions = async (input) => {
|
|
53
|
+
if (input.store.listRunIds === undefined)
|
|
54
|
+
return [];
|
|
55
|
+
const orphanSessions = [];
|
|
56
|
+
for (const runId of await input.store.listRunIds()) {
|
|
57
|
+
const events = await input.store.listEvents(runId);
|
|
58
|
+
const sessions = new Map();
|
|
59
|
+
for (const event of events) {
|
|
60
|
+
const sessionId = readStringPayload(event.payload, "sessionId");
|
|
61
|
+
if (sessionId === undefined)
|
|
62
|
+
continue;
|
|
63
|
+
if (event.type === "session.created") {
|
|
64
|
+
const role = readRolePayload(event.payload);
|
|
65
|
+
if (role !== undefined)
|
|
66
|
+
sessions.set(sessionId, { runId, sessionId, role, state: "created" });
|
|
67
|
+
}
|
|
68
|
+
else if (event.type === "session.released" || event.type === "session.safe-abandoned") {
|
|
69
|
+
sessions.delete(sessionId);
|
|
70
|
+
}
|
|
71
|
+
else if (event.type === "session.rebound") {
|
|
72
|
+
const current = sessions.get(sessionId);
|
|
73
|
+
if (current !== undefined)
|
|
74
|
+
sessions.set(sessionId, { ...current, state: "rebound" });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
orphanSessions.push(...sessions.values());
|
|
78
|
+
}
|
|
79
|
+
return orphanSessions;
|
|
80
|
+
};
|
|
81
|
+
export const createTimeout = (input) => {
|
|
82
|
+
if (input.timeoutMs === undefined)
|
|
83
|
+
return undefined;
|
|
84
|
+
return setTimeout(() => {
|
|
85
|
+
void input.sessionAdapter
|
|
86
|
+
.abort({ sessionId: input.sessionId, reason: "timeout" })
|
|
87
|
+
.catch(() => undefined);
|
|
88
|
+
void releaseActiveSession({
|
|
89
|
+
activeSessions: input.activeSessions,
|
|
90
|
+
runId: input.runId,
|
|
91
|
+
sessionId: input.sessionId,
|
|
92
|
+
reason: input.releaseReason,
|
|
93
|
+
sessionAdapter: input.sessionAdapter,
|
|
94
|
+
});
|
|
95
|
+
}, input.timeoutMs);
|
|
96
|
+
};
|
|
97
|
+
const readStringPayload = (payload, key) => {
|
|
98
|
+
if (typeof payload !== "object" || payload === null || Array.isArray(payload))
|
|
99
|
+
return undefined;
|
|
100
|
+
const value = Reflect.get(payload, key);
|
|
101
|
+
return typeof value === "string" ? value : undefined;
|
|
102
|
+
};
|
|
103
|
+
const readRolePayload = (payload) => {
|
|
104
|
+
const role = readStringPayload(payload, "role");
|
|
105
|
+
switch (role) {
|
|
106
|
+
case "intake":
|
|
107
|
+
case "planner":
|
|
108
|
+
case "worker":
|
|
109
|
+
case "verifier":
|
|
110
|
+
case "acceptance":
|
|
111
|
+
case "failure-analyzer":
|
|
112
|
+
case "repair-worker":
|
|
113
|
+
return role;
|
|
114
|
+
default:
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=agent-session-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-utils.js","sourceRoot":"","sources":["../../src/controller/agent-session-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { HarnessSessionRole, SessionAdapter, SessionEvidenceReference, SessionOutputContract } from "../session/index.js";
|
|
1
|
+
import type { SessionAdapter } from "../session/index.js";
|
|
3
2
|
import type { RunStore } from "../store/index.js";
|
|
3
|
+
import type { AgentSessionRuntime } from "./agent-session-types.js";
|
|
4
4
|
import type { ControllerIdSource } from "./contracts.js";
|
|
5
|
-
export type SendAgentInput = {
|
|
6
|
-
readonly runId: RunId;
|
|
7
|
-
readonly role: HarnessSessionRole;
|
|
8
|
-
readonly title: string;
|
|
9
|
-
readonly brief: string;
|
|
10
|
-
readonly constraints: readonly string[];
|
|
11
|
-
readonly evidence: readonly SessionEvidenceReference[];
|
|
12
|
-
readonly outputContract: SessionOutputContract;
|
|
13
|
-
readonly messageLabel: string;
|
|
14
|
-
readonly systemPrompt?: string;
|
|
15
|
-
readonly timeoutMs?: number;
|
|
16
|
-
readonly parentSessionId?: string;
|
|
17
|
-
readonly workingDirectory?: string;
|
|
18
|
-
};
|
|
19
|
-
export type AgentSessionRuntime = {
|
|
20
|
-
readonly sendAgent: (input: SendAgentInput) => Promise<string>;
|
|
21
|
-
readonly abortActiveSession: (runId: RunId) => Promise<void>;
|
|
22
|
-
readonly hasActiveSession: (runId: RunId) => boolean;
|
|
23
|
-
readonly isCancelled: (runId: RunId) => boolean;
|
|
24
|
-
readonly markCancelled: (runId: RunId) => void;
|
|
25
|
-
readonly markPaused: (runId: RunId) => void;
|
|
26
|
-
readonly clearInterruption: (runId: RunId) => void;
|
|
27
|
-
readonly listOrphanSessions: () => Promise<readonly OrphanSession[]>;
|
|
28
|
-
readonly rebindSession: (input: RebindSessionInput) => Promise<void>;
|
|
29
|
-
readonly safeAbandonSession: (input: AbandonSessionInput) => Promise<void>;
|
|
30
|
-
readonly reconcileOrphanSessions: (input: {
|
|
31
|
-
readonly runId: RunId;
|
|
32
|
-
readonly actorId: string;
|
|
33
|
-
}) => Promise<OrphanReconciliation>;
|
|
34
|
-
};
|
|
35
|
-
export type OrphanReconciliation = {
|
|
36
|
-
readonly kind: "none";
|
|
37
|
-
} | {
|
|
38
|
-
readonly kind: "rebound";
|
|
39
|
-
readonly sessionIds: readonly string[];
|
|
40
|
-
} | {
|
|
41
|
-
readonly kind: "abandoned";
|
|
42
|
-
readonly sessionIds: readonly string[];
|
|
43
|
-
};
|
|
44
|
-
export type OrphanSession = {
|
|
45
|
-
readonly runId: RunId;
|
|
46
|
-
readonly sessionId: string;
|
|
47
|
-
readonly role: HarnessSessionRole;
|
|
48
|
-
readonly state: "created" | "rebound";
|
|
49
|
-
};
|
|
50
|
-
export type RebindSessionInput = {
|
|
51
|
-
readonly runId: RunId;
|
|
52
|
-
readonly sessionId: string;
|
|
53
|
-
readonly actorId: string;
|
|
54
|
-
};
|
|
55
|
-
export type AbandonSessionInput = RebindSessionInput & {
|
|
56
|
-
readonly reason: string;
|
|
57
|
-
};
|
|
58
5
|
export declare const createAgentSessionRuntime: (input: {
|
|
59
6
|
readonly sessionAdapter: SessionAdapter;
|
|
60
7
|
readonly ids: ControllerIdSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/controller/agent-session.ts"],"names":[],"mappings":"AAEA,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;CAClC,KAAG,mBAoOH,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { buildSessionToolAllowlist } from "../agent/index.js";
|
|
1
2
|
import { readAgentOutput } from "./agent-output.js";
|
|
3
|
+
import { appendSessionEvent, createPromptInput, createTimeout, listOrphanSessions, releaseActiveSession, requireOrphanSession, } from "./agent-session-utils.js";
|
|
2
4
|
import { RunCancellationError, RunPausedError } from "./errors.js";
|
|
3
5
|
import { roleSystemPrompt } from "./role-prompts.js";
|
|
4
6
|
export const createAgentSessionRuntime = (input) => {
|
|
@@ -15,94 +17,11 @@ export const createAgentSessionRuntime = (input) => {
|
|
|
15
17
|
return;
|
|
16
18
|
}
|
|
17
19
|
};
|
|
18
|
-
const createPromptInput = (request) => ({
|
|
19
|
-
brief: request.brief,
|
|
20
|
-
constraints: request.constraints,
|
|
21
|
-
evidence: request.evidence,
|
|
22
|
-
outputContract: request.outputContract,
|
|
23
|
-
});
|
|
24
|
-
const appendSessionEvent = async (runId, type, sessionId, payload) => {
|
|
25
|
-
await input.store.appendEvents(runId, [
|
|
26
|
-
{
|
|
27
|
-
schemaVersion: "1.0.0",
|
|
28
|
-
eventId: input.ids.createEventId(`${type}-${runId}-${sessionId}`),
|
|
29
|
-
idempotencyKey: input.ids.createEventId(`session-${type}-${runId}-${sessionId}`),
|
|
30
|
-
runId,
|
|
31
|
-
type,
|
|
32
|
-
timestamp: new Date().toISOString(),
|
|
33
|
-
payload,
|
|
34
|
-
},
|
|
35
|
-
]);
|
|
36
|
-
};
|
|
37
20
|
const setActiveSession = (runId, session) => {
|
|
38
21
|
const sessions = activeSessions.get(runId) ?? new Map();
|
|
39
22
|
sessions.set(session.sessionId, session);
|
|
40
23
|
activeSessions.set(runId, sessions);
|
|
41
24
|
};
|
|
42
|
-
const releaseActiveSession = async (runId, sessionId, reason) => {
|
|
43
|
-
const sessions = activeSessions.get(runId);
|
|
44
|
-
const activeSession = sessions?.get(sessionId);
|
|
45
|
-
if (activeSession === undefined) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (activeSession.timeoutId !== undefined) {
|
|
49
|
-
clearTimeout(activeSession.timeoutId);
|
|
50
|
-
}
|
|
51
|
-
sessions?.delete(sessionId);
|
|
52
|
-
if (sessions?.size === 0) {
|
|
53
|
-
activeSessions.delete(runId);
|
|
54
|
-
}
|
|
55
|
-
await input.sessionAdapter.release({ sessionId: activeSession.sessionId, reason });
|
|
56
|
-
};
|
|
57
|
-
const requireOrphanSession = async (runId, sessionId) => {
|
|
58
|
-
const orphanSession = (await listOrphanSessions()).find((candidate) => candidate.runId === runId && candidate.sessionId === sessionId);
|
|
59
|
-
if (orphanSession === undefined) {
|
|
60
|
-
throw new TypeError(`orphan session ${sessionId} for run ${runId} does not exist`);
|
|
61
|
-
}
|
|
62
|
-
return orphanSession;
|
|
63
|
-
};
|
|
64
|
-
const listOrphanSessions = async () => {
|
|
65
|
-
if (input.store.listRunIds === undefined) {
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
const orphanSessions = [];
|
|
69
|
-
for (const runId of await input.store.listRunIds()) {
|
|
70
|
-
const events = await input.store.listEvents(runId);
|
|
71
|
-
const sessions = new Map();
|
|
72
|
-
for (const event of events) {
|
|
73
|
-
const sessionId = readStringPayload(event.payload, "sessionId");
|
|
74
|
-
if (sessionId === undefined) {
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
if (event.type === "session.created") {
|
|
78
|
-
const role = readRolePayload(event.payload);
|
|
79
|
-
if (role !== undefined) {
|
|
80
|
-
sessions.set(sessionId, { runId, sessionId, role, state: "created" });
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
else if (event.type === "session.released" || event.type === "session.safe-abandoned") {
|
|
84
|
-
sessions.delete(sessionId);
|
|
85
|
-
}
|
|
86
|
-
else if (event.type === "session.rebound") {
|
|
87
|
-
const current = sessions.get(sessionId);
|
|
88
|
-
if (current !== undefined) {
|
|
89
|
-
sessions.set(sessionId, { ...current, state: "rebound" });
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
orphanSessions.push(...sessions.values());
|
|
94
|
-
}
|
|
95
|
-
return orphanSessions;
|
|
96
|
-
};
|
|
97
|
-
const createTimeout = (runId, sessionId, timeoutMs) => {
|
|
98
|
-
if (timeoutMs === undefined) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
return setTimeout(() => {
|
|
102
|
-
void input.sessionAdapter.abort({ sessionId, reason: "timeout" }).catch(() => undefined);
|
|
103
|
-
void releaseActiveSession(runId, sessionId, "timeout");
|
|
104
|
-
}, timeoutMs);
|
|
105
|
-
};
|
|
106
25
|
return {
|
|
107
26
|
async sendAgent(request) {
|
|
108
27
|
throwIfCancelled(request.runId);
|
|
@@ -116,31 +35,57 @@ export const createAgentSessionRuntime = (input) => {
|
|
|
116
35
|
promptInput: createPromptInput(request),
|
|
117
36
|
...(request.timeoutMs === undefined ? {} : { timeoutMs: request.timeoutMs }),
|
|
118
37
|
});
|
|
119
|
-
const timeoutId = createTimeout(
|
|
38
|
+
const timeoutId = createTimeout({
|
|
39
|
+
runId: request.runId,
|
|
40
|
+
sessionId: session.session.sessionId,
|
|
41
|
+
timeoutMs: request.timeoutMs,
|
|
42
|
+
sessionAdapter: input.sessionAdapter,
|
|
43
|
+
activeSessions,
|
|
44
|
+
releaseReason: "timeout",
|
|
45
|
+
});
|
|
120
46
|
setActiveSession(request.runId, timeoutId === undefined
|
|
121
47
|
? { sessionId: session.session.sessionId }
|
|
122
48
|
: { sessionId: session.session.sessionId, timeoutId });
|
|
123
|
-
await appendSessionEvent(
|
|
49
|
+
await appendSessionEvent({
|
|
50
|
+
runId: request.runId,
|
|
51
|
+
type: "session.created",
|
|
124
52
|
sessionId: session.session.sessionId,
|
|
125
|
-
role: request.role,
|
|
53
|
+
payload: { sessionId: session.session.sessionId, role: request.role },
|
|
54
|
+
store: input.store,
|
|
55
|
+
ids: input.ids,
|
|
126
56
|
});
|
|
127
57
|
try {
|
|
58
|
+
const tools = buildSessionToolAllowlist(request.role);
|
|
128
59
|
const result = await input.sessionAdapter.send({
|
|
129
60
|
sessionId: session.session.sessionId,
|
|
130
61
|
messageId: input.ids.createMessageId(request.messageLabel),
|
|
131
62
|
prompt: request.brief,
|
|
132
63
|
promptInput: createPromptInput(request),
|
|
64
|
+
...(request.profileOverride === undefined
|
|
65
|
+
? {}
|
|
66
|
+
: { profileOverride: request.profileOverride }),
|
|
133
67
|
systemPrompt: request.systemPrompt ?? roleSystemPrompt(request.role),
|
|
68
|
+
...(tools === undefined ? {} : { tools }),
|
|
134
69
|
});
|
|
135
70
|
throwIfCancelled(request.runId);
|
|
136
71
|
return readAgentOutput(result);
|
|
137
72
|
}
|
|
138
73
|
finally {
|
|
139
|
-
await appendSessionEvent(
|
|
74
|
+
await appendSessionEvent({
|
|
75
|
+
runId: request.runId,
|
|
76
|
+
type: "session.released",
|
|
77
|
+
sessionId: session.session.sessionId,
|
|
78
|
+
payload: { sessionId: session.session.sessionId, reason: "completed" },
|
|
79
|
+
store: input.store,
|
|
80
|
+
ids: input.ids,
|
|
81
|
+
});
|
|
82
|
+
await releaseActiveSession({
|
|
83
|
+
activeSessions,
|
|
84
|
+
runId: request.runId,
|
|
140
85
|
sessionId: session.session.sessionId,
|
|
141
86
|
reason: "completed",
|
|
87
|
+
sessionAdapter: input.sessionAdapter,
|
|
142
88
|
});
|
|
143
|
-
await releaseActiveSession(request.runId, session.session.sessionId, "completed");
|
|
144
89
|
}
|
|
145
90
|
},
|
|
146
91
|
async abortActiveSession(runId) {
|
|
@@ -151,7 +96,13 @@ export const createAgentSessionRuntime = (input) => {
|
|
|
151
96
|
sessionId: activeSession.sessionId,
|
|
152
97
|
reason: "controller",
|
|
153
98
|
});
|
|
154
|
-
await releaseActiveSession(
|
|
99
|
+
await releaseActiveSession({
|
|
100
|
+
activeSessions,
|
|
101
|
+
runId,
|
|
102
|
+
sessionId: activeSession.sessionId,
|
|
103
|
+
reason: "controller",
|
|
104
|
+
sessionAdapter: input.sessionAdapter,
|
|
105
|
+
});
|
|
155
106
|
}
|
|
156
107
|
}
|
|
157
108
|
},
|
|
@@ -171,53 +122,74 @@ export const createAgentSessionRuntime = (input) => {
|
|
|
171
122
|
interruptedRuns.delete(runId);
|
|
172
123
|
},
|
|
173
124
|
async listOrphanSessions() {
|
|
174
|
-
return listOrphanSessions();
|
|
125
|
+
return listOrphanSessions({ store: input.store });
|
|
175
126
|
},
|
|
176
127
|
async rebindSession(session) {
|
|
177
|
-
const orphanSession = await requireOrphanSession(
|
|
128
|
+
const orphanSession = await requireOrphanSession({
|
|
129
|
+
runId: session.runId,
|
|
130
|
+
sessionId: session.sessionId,
|
|
131
|
+
listOrphanSessions: () => listOrphanSessions({ store: input.store }),
|
|
132
|
+
});
|
|
178
133
|
const snapshot = input.sessionAdapter.getSession(session.sessionId);
|
|
179
134
|
if (snapshot === undefined || snapshot.role !== orphanSession.role) {
|
|
180
135
|
throw new TypeError(`session ${session.sessionId} is not available for rebind`);
|
|
181
136
|
}
|
|
182
137
|
setActiveSession(session.runId, { sessionId: session.sessionId });
|
|
183
|
-
await appendSessionEvent(
|
|
138
|
+
await appendSessionEvent({
|
|
139
|
+
runId: session.runId,
|
|
140
|
+
type: "session.rebound",
|
|
184
141
|
sessionId: session.sessionId,
|
|
185
|
-
actorId: session.actorId,
|
|
142
|
+
payload: { sessionId: session.sessionId, actorId: session.actorId },
|
|
143
|
+
store: input.store,
|
|
144
|
+
ids: input.ids,
|
|
186
145
|
});
|
|
187
146
|
},
|
|
188
147
|
async safeAbandonSession(session) {
|
|
189
|
-
await requireOrphanSession(
|
|
148
|
+
await requireOrphanSession({
|
|
149
|
+
runId: session.runId,
|
|
150
|
+
sessionId: session.sessionId,
|
|
151
|
+
listOrphanSessions: () => listOrphanSessions({ store: input.store }),
|
|
152
|
+
});
|
|
190
153
|
const sessions = activeSessions.get(session.runId);
|
|
191
154
|
if (sessions?.has(session.sessionId) === true) {
|
|
192
155
|
sessions.delete(session.sessionId);
|
|
193
|
-
if (sessions.size === 0)
|
|
156
|
+
if (sessions.size === 0)
|
|
194
157
|
activeSessions.delete(session.runId);
|
|
195
|
-
}
|
|
196
158
|
}
|
|
197
159
|
await input.sessionAdapter.release({
|
|
198
160
|
sessionId: session.sessionId,
|
|
199
161
|
reason: `safe-abandon:${session.reason}`,
|
|
200
162
|
});
|
|
201
|
-
await appendSessionEvent(
|
|
163
|
+
await appendSessionEvent({
|
|
164
|
+
runId: session.runId,
|
|
165
|
+
type: "session.safe-abandoned",
|
|
202
166
|
sessionId: session.sessionId,
|
|
203
|
-
|
|
204
|
-
|
|
167
|
+
payload: {
|
|
168
|
+
sessionId: session.sessionId,
|
|
169
|
+
actorId: session.actorId,
|
|
170
|
+
reason: session.reason,
|
|
171
|
+
},
|
|
172
|
+
store: input.store,
|
|
173
|
+
ids: input.ids,
|
|
205
174
|
});
|
|
206
175
|
},
|
|
207
176
|
async reconcileOrphanSessions(request) {
|
|
208
|
-
const orphanSessions = (await listOrphanSessions()).filter((session) => session.runId === request.runId);
|
|
209
|
-
if (orphanSessions.length === 0)
|
|
177
|
+
const orphanSessions = (await listOrphanSessions({ store: input.store })).filter((session) => session.runId === request.runId);
|
|
178
|
+
if (orphanSessions.length === 0)
|
|
210
179
|
return { kind: "none" };
|
|
211
|
-
}
|
|
212
180
|
const reboundSessionIds = [];
|
|
213
181
|
const abandonedSessionIds = [];
|
|
214
182
|
for (const orphanSession of orphanSessions) {
|
|
215
183
|
const snapshot = input.sessionAdapter.getSession(orphanSession.sessionId);
|
|
216
184
|
if (snapshot !== undefined && snapshot.role === orphanSession.role) {
|
|
217
185
|
setActiveSession(request.runId, { sessionId: orphanSession.sessionId });
|
|
218
|
-
await appendSessionEvent(
|
|
186
|
+
await appendSessionEvent({
|
|
187
|
+
runId: request.runId,
|
|
188
|
+
type: "session.rebound",
|
|
219
189
|
sessionId: orphanSession.sessionId,
|
|
220
|
-
actorId: request.actorId,
|
|
190
|
+
payload: { sessionId: orphanSession.sessionId, actorId: request.actorId },
|
|
191
|
+
store: input.store,
|
|
192
|
+
ids: input.ids,
|
|
221
193
|
});
|
|
222
194
|
reboundSessionIds.push(orphanSession.sessionId);
|
|
223
195
|
continue;
|
|
@@ -227,10 +199,13 @@ export const createAgentSessionRuntime = (input) => {
|
|
|
227
199
|
sessionId: orphanSession.sessionId,
|
|
228
200
|
reason: `safe-abandon:${reason}`,
|
|
229
201
|
});
|
|
230
|
-
await appendSessionEvent(
|
|
202
|
+
await appendSessionEvent({
|
|
203
|
+
runId: request.runId,
|
|
204
|
+
type: "session.safe-abandoned",
|
|
231
205
|
sessionId: orphanSession.sessionId,
|
|
232
|
-
actorId: request.actorId,
|
|
233
|
-
|
|
206
|
+
payload: { sessionId: orphanSession.sessionId, actorId: request.actorId, reason },
|
|
207
|
+
store: input.store,
|
|
208
|
+
ids: input.ids,
|
|
234
209
|
});
|
|
235
210
|
abandonedSessionIds.push(orphanSession.sessionId);
|
|
236
211
|
}
|
|
@@ -240,26 +215,4 @@ export const createAgentSessionRuntime = (input) => {
|
|
|
240
215
|
},
|
|
241
216
|
};
|
|
242
217
|
};
|
|
243
|
-
const readStringPayload = (payload, key) => {
|
|
244
|
-
if (typeof payload !== "object" || payload === null || Array.isArray(payload)) {
|
|
245
|
-
return undefined;
|
|
246
|
-
}
|
|
247
|
-
const value = Reflect.get(payload, key);
|
|
248
|
-
return typeof value === "string" ? value : undefined;
|
|
249
|
-
};
|
|
250
|
-
const readRolePayload = (payload) => {
|
|
251
|
-
const role = readStringPayload(payload, "role");
|
|
252
|
-
switch (role) {
|
|
253
|
-
case "intake":
|
|
254
|
-
case "planner":
|
|
255
|
-
case "worker":
|
|
256
|
-
case "verifier":
|
|
257
|
-
case "acceptance":
|
|
258
|
-
case "failure-analyzer":
|
|
259
|
-
case "repair-worker":
|
|
260
|
-
return role;
|
|
261
|
-
default:
|
|
262
|
-
return undefined;
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
218
|
//# sourceMappingURL=agent-session.js.map
|
|
@@ -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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExecutionCategoryProfiles } from "../config/index.js";
|
|
2
|
+
import type { Report, RequirementInput, Run, RunId } from "../domain/index.js";
|
|
2
3
|
import type { SessionAdapter } from "../session/index.js";
|
|
3
4
|
import type { RunStore } from "../store/index.js";
|
|
4
5
|
import type { VerificationRunner } from "../verification/index.js";
|
|
@@ -14,7 +15,6 @@ export type ControllerIdSource = {
|
|
|
14
15
|
readonly createFailureId: (label: string) => string;
|
|
15
16
|
readonly createAgentResultId: (label: string) => string;
|
|
16
17
|
};
|
|
17
|
-
export type RequirementInput = Omit<Requirement, "schemaVersion">;
|
|
18
18
|
export declare const RUN_BUDGET_KINDS: readonly ["intake", "planner", "task", "repair", "overall"];
|
|
19
19
|
export type RunBudgetKind = (typeof RUN_BUDGET_KINDS)[number];
|
|
20
20
|
export type RunActor = {
|
|
@@ -47,6 +47,7 @@ export type CreateRunControllerOptions = {
|
|
|
47
47
|
readonly ids: ControllerIdSource;
|
|
48
48
|
readonly workingDirectory: string;
|
|
49
49
|
readonly maxRunAttempts: number;
|
|
50
|
+
readonly executionCategories?: ExecutionCategoryProfiles;
|
|
50
51
|
readonly workspacePolicy?: WorkspacePolicy;
|
|
51
52
|
readonly workspaceAdapter?: WorkspaceAdapter;
|
|
52
53
|
readonly workspaceAdapterFactory?: (workingDirectory: string) => WorkspaceAdapter;
|