harness-engineering-agent 0.3.11 → 0.3.13
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 +8 -3
- package/dist/agent/harness-role-capability-directory-data.d.ts.map +1 -1
- package/dist/agent/harness-role-capability-directory-data.js +3 -3
- package/dist/agent/harness-role-capability-directory-data.js.map +1 -1
- package/dist/agent/harness-role-capability-directory.d.ts +1 -0
- package/dist/agent/harness-role-capability-directory.d.ts.map +1 -1
- package/dist/agent/harness-role-capability-directory.js +1 -0
- package/dist/agent/harness-role-capability-directory.js.map +1 -1
- 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/create-harness-plugin.d.ts.map +1 -1
- package/dist/plugin/create-harness-plugin.js +25 -13
- package/dist/plugin/create-harness-plugin.js.map +1 -1
- package/dist/plugin/harness-chat-hook.d.ts +9 -0
- package/dist/plugin/harness-chat-hook.d.ts.map +1 -1
- package/dist/plugin/harness-chat-hook.js +40 -35
- package/dist/plugin/harness-chat-hook.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-escalate-tool.d.ts +13 -0
- package/dist/plugin/harness-escalate-tool.d.ts.map +1 -0
- package/dist/plugin/harness-escalate-tool.js +37 -0
- package/dist/plugin/harness-escalate-tool.js.map +1 -0
- 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/dist/domain/run.d.ts
CHANGED
|
@@ -644,6 +644,65 @@ export declare const RunSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.Zo
|
|
|
644
644
|
}, z.core.$strip>>>>;
|
|
645
645
|
constraints: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
646
646
|
}, z.core.$strip>>>;
|
|
647
|
+
contextSnapshot: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
648
|
+
schemaVersion: z.ZodLiteral<"1.0.0">;
|
|
649
|
+
contextId: z.ZodString;
|
|
650
|
+
version: z.ZodNumber;
|
|
651
|
+
runId: z.core.$ZodBranded<z.ZodString, "RunId">;
|
|
652
|
+
taskId: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "TaskId">>;
|
|
653
|
+
attempt: z.ZodDefault<z.ZodNumber>;
|
|
654
|
+
phase: z.ZodDefault<z.ZodString>;
|
|
655
|
+
goal: z.ZodString;
|
|
656
|
+
scope: z.ZodDefault<z.ZodString>;
|
|
657
|
+
facts: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
658
|
+
factId: z.ZodString;
|
|
659
|
+
kind: z.ZodEnum<{
|
|
660
|
+
requirement: "requirement";
|
|
661
|
+
constraint: "constraint";
|
|
662
|
+
scope: "scope";
|
|
663
|
+
evidence: "evidence";
|
|
664
|
+
unresolved_issue: "unresolved_issue";
|
|
665
|
+
governance: "governance";
|
|
666
|
+
workspace: "workspace";
|
|
667
|
+
}>;
|
|
668
|
+
label: z.ZodString;
|
|
669
|
+
summary: z.ZodString;
|
|
670
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
671
|
+
sourceRef: z.ZodOptional<z.ZodString>;
|
|
672
|
+
sourceEventId: z.ZodOptional<z.ZodString>;
|
|
673
|
+
metadata: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
674
|
+
}, z.core.$strip>>>>>;
|
|
675
|
+
evidenceDigests: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
676
|
+
refId: z.core.$ZodBranded<z.ZodString, "EvidenceId">;
|
|
677
|
+
summaryDigest: z.ZodString;
|
|
678
|
+
sourceRole: z.ZodString;
|
|
679
|
+
sourceTaskId: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "TaskId">>;
|
|
680
|
+
createdAt: z.ZodString;
|
|
681
|
+
freshness: z.ZodEnum<{
|
|
682
|
+
fresh: "fresh";
|
|
683
|
+
stale: "stale";
|
|
684
|
+
expired: "expired";
|
|
685
|
+
}>;
|
|
686
|
+
}, z.core.$strip>>>>>;
|
|
687
|
+
worktree: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
688
|
+
executionRoot: z.ZodString;
|
|
689
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
690
|
+
commit: z.ZodOptional<z.ZodString>;
|
|
691
|
+
dirty: z.ZodDefault<z.ZodBoolean>;
|
|
692
|
+
}, z.core.$strip>>>;
|
|
693
|
+
allowedPaths: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
694
|
+
acceptanceCriterionIds: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
695
|
+
unresolvedIssues: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
696
|
+
sourceEvents: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
697
|
+
eventId: z.ZodString;
|
|
698
|
+
eventType: z.ZodString;
|
|
699
|
+
timestamp: z.ZodString;
|
|
700
|
+
}, z.core.$strip>>>>>;
|
|
701
|
+
parentContextId: z.ZodOptional<z.ZodString>;
|
|
702
|
+
parentVersion: z.ZodOptional<z.ZodNumber>;
|
|
703
|
+
createdAt: z.ZodString;
|
|
704
|
+
contentDigest: z.ZodString;
|
|
705
|
+
}, z.core.$strip>>>;
|
|
647
706
|
planReview: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
648
707
|
schemaVersion: z.ZodLiteral<"1.0.0">;
|
|
649
708
|
reviewId: z.ZodString;
|
|
@@ -1458,6 +1517,65 @@ export declare const RunSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.Zo
|
|
|
1458
1517
|
}, z.core.$strip>>>>;
|
|
1459
1518
|
constraints: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
1460
1519
|
}, z.core.$strip>>>;
|
|
1520
|
+
contextSnapshot: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
1521
|
+
schemaVersion: z.ZodLiteral<"1.0.0">;
|
|
1522
|
+
contextId: z.ZodString;
|
|
1523
|
+
version: z.ZodNumber;
|
|
1524
|
+
runId: z.core.$ZodBranded<z.ZodString, "RunId">;
|
|
1525
|
+
taskId: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "TaskId">>;
|
|
1526
|
+
attempt: z.ZodDefault<z.ZodNumber>;
|
|
1527
|
+
phase: z.ZodDefault<z.ZodString>;
|
|
1528
|
+
goal: z.ZodString;
|
|
1529
|
+
scope: z.ZodDefault<z.ZodString>;
|
|
1530
|
+
facts: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
1531
|
+
factId: z.ZodString;
|
|
1532
|
+
kind: z.ZodEnum<{
|
|
1533
|
+
requirement: "requirement";
|
|
1534
|
+
constraint: "constraint";
|
|
1535
|
+
scope: "scope";
|
|
1536
|
+
evidence: "evidence";
|
|
1537
|
+
unresolved_issue: "unresolved_issue";
|
|
1538
|
+
governance: "governance";
|
|
1539
|
+
workspace: "workspace";
|
|
1540
|
+
}>;
|
|
1541
|
+
label: z.ZodString;
|
|
1542
|
+
summary: z.ZodString;
|
|
1543
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
1544
|
+
sourceRef: z.ZodOptional<z.ZodString>;
|
|
1545
|
+
sourceEventId: z.ZodOptional<z.ZodString>;
|
|
1546
|
+
metadata: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1547
|
+
}, z.core.$strip>>>>>;
|
|
1548
|
+
evidenceDigests: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
1549
|
+
refId: z.core.$ZodBranded<z.ZodString, "EvidenceId">;
|
|
1550
|
+
summaryDigest: z.ZodString;
|
|
1551
|
+
sourceRole: z.ZodString;
|
|
1552
|
+
sourceTaskId: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "TaskId">>;
|
|
1553
|
+
createdAt: z.ZodString;
|
|
1554
|
+
freshness: z.ZodEnum<{
|
|
1555
|
+
fresh: "fresh";
|
|
1556
|
+
stale: "stale";
|
|
1557
|
+
expired: "expired";
|
|
1558
|
+
}>;
|
|
1559
|
+
}, z.core.$strip>>>>>;
|
|
1560
|
+
worktree: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
1561
|
+
executionRoot: z.ZodString;
|
|
1562
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
1563
|
+
commit: z.ZodOptional<z.ZodString>;
|
|
1564
|
+
dirty: z.ZodDefault<z.ZodBoolean>;
|
|
1565
|
+
}, z.core.$strip>>>;
|
|
1566
|
+
allowedPaths: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
1567
|
+
acceptanceCriterionIds: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
1568
|
+
unresolvedIssues: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
1569
|
+
sourceEvents: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
|
|
1570
|
+
eventId: z.ZodString;
|
|
1571
|
+
eventType: z.ZodString;
|
|
1572
|
+
timestamp: z.ZodString;
|
|
1573
|
+
}, z.core.$strip>>>>>;
|
|
1574
|
+
parentContextId: z.ZodOptional<z.ZodString>;
|
|
1575
|
+
parentVersion: z.ZodOptional<z.ZodNumber>;
|
|
1576
|
+
createdAt: z.ZodString;
|
|
1577
|
+
contentDigest: z.ZodString;
|
|
1578
|
+
}, z.core.$strip>>>;
|
|
1461
1579
|
planReview: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
1462
1580
|
schemaVersion: z.ZodLiteral<"1.0.0">;
|
|
1463
1581
|
reviewId: z.ZodString;
|
package/dist/domain/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/domain/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/domain/run.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/run.js
CHANGED
|
@@ -4,6 +4,7 @@ import { normalizeAcceptanceCriteria } from "./acceptance-criteria.js";
|
|
|
4
4
|
import { AgentResultSchema } from "./agent-result.js";
|
|
5
5
|
import { ComplexityAssessmentSchema, ComplexityTierSchema, ExecutionRouteSchema, ReassessmentEventSchema, } from "./complexity.js";
|
|
6
6
|
import { ContextPackageSchema } from "./context-package.js";
|
|
7
|
+
import { ContextSnapshotSchema } from "./context-snapshot.js";
|
|
7
8
|
import { EvidenceSchema } from "./evidence.js";
|
|
8
9
|
import { FailureSchema } from "./failure.js";
|
|
9
10
|
import { PlanReviewSchema } from "./plan-artifacts.js";
|
|
@@ -210,6 +211,7 @@ const RunBaseSchema = {
|
|
|
210
211
|
governance: RunGovernanceSchema,
|
|
211
212
|
workspace: RunWorkspaceSchema.default(createDefaultRunWorkspace()),
|
|
212
213
|
contextPackage: ContextPackageSchema.optional(),
|
|
214
|
+
contextSnapshot: ContextSnapshotSchema.optional(),
|
|
213
215
|
planReview: PlanReviewSchema.optional(),
|
|
214
216
|
runAcceptance: RunAcceptanceSchema.optional(),
|
|
215
217
|
reflectionSummary: ReflectionSummarySchema.optional(),
|
package/dist/domain/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/domain/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/domain/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-harness-plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/create-harness-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"create-harness-plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/create-harness-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAOjD,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E,eAAO,MAAM,mBAAmB,GAAI,eAAc,yBAA8B,KAAG,MA8FlF,CAAA;AAED,eAAO,MAAM,aAAa,QAAwB,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { authorizeSessionToolExecution } from "../controller/index.js";
|
|
|
2
2
|
import { createPluginResearchTools } from "../tools/harness-research-tools.js";
|
|
3
3
|
import { applyHarnessAgentConfig } from "./harness-agent-config.js";
|
|
4
4
|
import { handleHarnessChatMessage } from "./harness-chat-hook.js";
|
|
5
|
+
import { createHarnessEscalateTool, HARNESS_ESCALATE_TOOL_NAME } from "./harness-escalate-tool.js";
|
|
5
6
|
import { createRuntime, resolveHarnessResearchRole, } from "./harness-plugin-runtime.js";
|
|
6
7
|
export { resolveHarnessProjectRoot } from "./harness-plugin-identifiers.js";
|
|
7
8
|
export const createHarnessPlugin = (dependencies = {}) => {
|
|
@@ -17,6 +18,17 @@ export const createHarnessPlugin = (dependencies = {}) => {
|
|
|
17
18
|
return {};
|
|
18
19
|
}
|
|
19
20
|
const { config, coordinator, projectRoot, researchClients, sessionGuards, sessionAdapter } = runtime;
|
|
21
|
+
const deliverInternalResult = async ({ sessionID, text, }) => {
|
|
22
|
+
await input.client.session.promptAsync({
|
|
23
|
+
path: { id: sessionID },
|
|
24
|
+
query: { directory: projectRoot },
|
|
25
|
+
body: {
|
|
26
|
+
agent: "harness",
|
|
27
|
+
parts: [{ type: "text", text, synthetic: true, metadata: { source: "harness" } }],
|
|
28
|
+
},
|
|
29
|
+
throwOnError: true,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
20
32
|
return {
|
|
21
33
|
dispose: async () => {
|
|
22
34
|
await researchClients.lsp.close();
|
|
@@ -24,11 +36,18 @@ export const createHarnessPlugin = (dependencies = {}) => {
|
|
|
24
36
|
config: async (mutableConfig) => {
|
|
25
37
|
applyHarnessAgentConfig(mutableConfig, config);
|
|
26
38
|
},
|
|
27
|
-
tool:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
tool: {
|
|
40
|
+
...createPluginResearchTools({
|
|
41
|
+
clients: researchClients,
|
|
42
|
+
resolveRole: resolveHarnessResearchRole,
|
|
43
|
+
workspaceRoot: projectRoot,
|
|
44
|
+
}),
|
|
45
|
+
[HARNESS_ESCALATE_TOOL_NAME]: createHarnessEscalateTool({
|
|
46
|
+
coordinator,
|
|
47
|
+
guards: sessionGuards,
|
|
48
|
+
deliverInternalResult,
|
|
49
|
+
}),
|
|
50
|
+
},
|
|
32
51
|
"tool.execute.before": async (toolInput, output) => {
|
|
33
52
|
const snapshot = sessionAdapterSnapshot(sessionAdapter, toolInput.sessionID);
|
|
34
53
|
if (snapshot === undefined) {
|
|
@@ -59,14 +78,7 @@ export const createHarnessPlugin = (dependencies = {}) => {
|
|
|
59
78
|
body: {
|
|
60
79
|
agent: "harness",
|
|
61
80
|
...(replyModel === undefined ? {} : { model: replyModel }),
|
|
62
|
-
parts: [
|
|
63
|
-
{
|
|
64
|
-
type: "text",
|
|
65
|
-
text,
|
|
66
|
-
synthetic: true,
|
|
67
|
-
metadata: { source: "harness" },
|
|
68
|
-
},
|
|
69
|
-
],
|
|
81
|
+
parts: [{ type: "text", text, synthetic: true, metadata: { source: "harness" } }],
|
|
70
82
|
},
|
|
71
83
|
throwOnError: true,
|
|
72
84
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-harness-plugin.js","sourceRoot":"","sources":["../../src/plugin/create-harness-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EACL,aAAa,EAEb,0BAA0B,GAC3B,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAG3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,eAA0C,EAAE,EAAU,EAAE;IAC1F,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QAClF,IACE,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,OAAO,CAAC,UAAU,KAAK,SAAS;YAChC,OAAO,CAAC,WAAW,KAAK,SAAS;YACjC,OAAO,CAAC,WAAW,KAAK,SAAS;YACjC,OAAO,CAAC,aAAa,KAAK,SAAS;YACnC,OAAO,CAAC,eAAe,KAAK,SAAS;YACrC,OAAO,CAAC,cAAc,KAAK,SAAS,EACpC,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,GACxF,OAAO,CAAA;QAET,OAAO;YACL,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;YACnC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC9B,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,EAAE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-harness-plugin.js","sourceRoot":"","sources":["../../src/plugin/create-harness-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,15 @@ type InternalResultDelivery = (input: {
|
|
|
11
11
|
readonly sessionID: string;
|
|
12
12
|
readonly text: string;
|
|
13
13
|
}) => Promise<void>;
|
|
14
|
+
export type HarnessAdmissionResult = "accepted" | "duplicate" | "busy";
|
|
15
|
+
export declare const admitHarnessRequest: (input: {
|
|
16
|
+
readonly coordinator: HarnessCoordinator;
|
|
17
|
+
readonly guards: SessionGuards;
|
|
18
|
+
readonly deliverInternalResult: InternalResultDelivery;
|
|
19
|
+
readonly sessionID: string;
|
|
20
|
+
readonly messageID: string;
|
|
21
|
+
readonly inputText: string;
|
|
22
|
+
}) => HarnessAdmissionResult;
|
|
14
23
|
export declare const handleHarnessChatMessage: (input: {
|
|
15
24
|
readonly config: HarnessConfig;
|
|
16
25
|
readonly coordinator: HarnessCoordinator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-chat-hook.d.ts","sourceRoot":"","sources":["../../src/plugin/harness-chat-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAavD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAIlE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACzC,CAAA;AAED,KAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnB,eAAO,MAAM,wBAAwB,GAAU,OAAO;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,sBAAsB,CAAA;IACtD,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;YACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;YAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SACxB,CAAA;QACD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;KACvB,CAAA;CACF,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"harness-chat-hook.d.ts","sourceRoot":"","sources":["../../src/plugin/harness-chat-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAavD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAIlE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACzC,CAAA;AAED,KAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnB,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAA;AAEtE,eAAO,MAAM,mBAAmB,GAAI,OAAO;IACzC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,sBAAsB,CAAA;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,KAAG,sBAwCH,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,OAAO;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,sBAAsB,CAAA;IACtD,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;YACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;YAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SACxB,CAAA;QACD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;KACvB,CAAA;CACF,KAAG,OAAO,CAAC,IAAI,CA8Bf,CAAA"}
|
|
@@ -3,6 +3,38 @@ import { appendSyntheticTextPart, extractChatText, hasHarnessInternalResultPart,
|
|
|
3
3
|
import { createBackgroundAcknowledgement, createInternalCompletionMessage, createInternalFailureMessage, createPassthroughInstruction, } from "./harness-chat-protocol.js";
|
|
4
4
|
import { classifyHarnessRequest } from "./harness-request-router.js";
|
|
5
5
|
import { sanitizeHarnessUserFacingError } from "./harness-user-facing-errors.js";
|
|
6
|
+
export const admitHarnessRequest = (input) => {
|
|
7
|
+
const admissionKey = createAdmissionKey(input.sessionID, input.messageID);
|
|
8
|
+
if (input.guards.completedAdmissionKeys.has(admissionKey))
|
|
9
|
+
return "duplicate";
|
|
10
|
+
if (input.guards.inFlightAdmissions.has(admissionKey))
|
|
11
|
+
return "duplicate";
|
|
12
|
+
if (input.guards.inFlightRuns.has(input.sessionID))
|
|
13
|
+
return "busy";
|
|
14
|
+
const coordinationTask = input.coordinator.handle({
|
|
15
|
+
sessionID: input.sessionID,
|
|
16
|
+
inputText: input.inputText,
|
|
17
|
+
});
|
|
18
|
+
const backgroundTask = coordinationTask.then(async (response) => {
|
|
19
|
+
await input.deliverInternalResult({
|
|
20
|
+
sessionID: input.sessionID,
|
|
21
|
+
text: createInternalCompletionMessage(response),
|
|
22
|
+
});
|
|
23
|
+
input.guards.completedAdmissionKeys.add(admissionKey);
|
|
24
|
+
}, async (error) => {
|
|
25
|
+
await input.deliverInternalResult({
|
|
26
|
+
sessionID: input.sessionID,
|
|
27
|
+
text: createInternalFailureMessage(sanitizeHarnessUserFacingError(error)),
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
void backgroundTask.catch(() => undefined);
|
|
31
|
+
const admissionTask = coordinationTask.then(() => undefined, () => undefined);
|
|
32
|
+
input.guards.inFlightRuns.set(input.sessionID, admissionTask);
|
|
33
|
+
void admissionTask.finally(() => input.guards.inFlightRuns.delete(input.sessionID));
|
|
34
|
+
input.guards.inFlightAdmissions.set(admissionKey, admissionTask.then(() => undefined));
|
|
35
|
+
void admissionTask.finally(() => input.guards.inFlightAdmissions.delete(admissionKey));
|
|
36
|
+
return "accepted";
|
|
37
|
+
};
|
|
6
38
|
export const handleHarnessChatMessage = async (input) => {
|
|
7
39
|
const agent = input.messageInput.agent ?? input.output.message.agent;
|
|
8
40
|
if (!input.config.enabled || agent !== HARNESS_PRIMARY_AGENT_NAME) {
|
|
@@ -22,41 +54,14 @@ export const handleHarnessChatMessage = async (input) => {
|
|
|
22
54
|
}
|
|
23
55
|
appendProtocolPart(input.output, createBackgroundAcknowledgement());
|
|
24
56
|
const sessionID = input.messageInput.sessionID;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
const admissionTask = (async () => {
|
|
34
|
-
const existingRun = input.guards.inFlightRuns.get(sessionID);
|
|
35
|
-
if (existingRun !== undefined) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const backgroundTask = input.coordinator
|
|
39
|
-
.handle({
|
|
40
|
-
sessionID,
|
|
41
|
-
inputText,
|
|
42
|
-
})
|
|
43
|
-
.then(async (response) => {
|
|
44
|
-
await input.deliverInternalResult({
|
|
45
|
-
sessionID,
|
|
46
|
-
text: createInternalCompletionMessage(response),
|
|
47
|
-
});
|
|
48
|
-
input.guards.completedAdmissionKeys.add(admissionKey);
|
|
49
|
-
}, async (error) => {
|
|
50
|
-
await input.deliverInternalResult({
|
|
51
|
-
sessionID,
|
|
52
|
-
text: createInternalFailureMessage(sanitizeHarnessUserFacingError(error)),
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
input.guards.inFlightRuns.set(sessionID, backgroundTask.then(() => undefined));
|
|
56
|
-
void backgroundTask.finally(() => input.guards.inFlightRuns.delete(sessionID));
|
|
57
|
-
})();
|
|
58
|
-
input.guards.inFlightAdmissions.set(admissionKey, admissionTask.then(() => undefined));
|
|
59
|
-
void admissionTask.finally(() => input.guards.inFlightAdmissions.delete(admissionKey));
|
|
57
|
+
admitHarnessRequest({
|
|
58
|
+
coordinator: input.coordinator,
|
|
59
|
+
guards: input.guards,
|
|
60
|
+
deliverInternalResult: input.deliverInternalResult,
|
|
61
|
+
sessionID,
|
|
62
|
+
messageID: input.output.message.id,
|
|
63
|
+
inputText,
|
|
64
|
+
});
|
|
60
65
|
};
|
|
61
66
|
const appendProtocolPart = (output, text) => {
|
|
62
67
|
appendSyntheticTextPart({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-chat-hook.js","sourceRoot":"","sources":["../../src/plugin/harness-chat-hook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"harness-chat-hook.js","sourceRoot":"","sources":["../../src/plugin/harness-chat-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HarnessConfig } from "../config/index.js";
|
|
2
2
|
import type { ControllerIdSource, RunController } from "../controller/index.js";
|
|
3
|
+
import { type ClarificationState } from "../domain/clarification.js";
|
|
3
4
|
import type { Report, Run } from "../domain/index.js";
|
|
4
5
|
import { type SessionAdapter } from "../session/index.js";
|
|
5
6
|
type HarnessCoordinatorRequest = {
|
|
@@ -28,6 +29,10 @@ export type CreateHarnessCoordinatorOptions = {
|
|
|
28
29
|
readonly sessionID: string;
|
|
29
30
|
readonly runId: Run["runId"];
|
|
30
31
|
}) => void;
|
|
32
|
+
/** Read the current clarification state for a run */
|
|
33
|
+
readonly loadClarificationState?: (runId: Run["runId"]) => Promise<ClarificationState | undefined>;
|
|
34
|
+
/** Persist a clarification state for a run */
|
|
35
|
+
readonly saveClarificationState?: (state: ClarificationState) => Promise<void>;
|
|
31
36
|
};
|
|
32
37
|
export type HarnessCoordinator = {
|
|
33
38
|
readonly handle: (request: HarnessCoordinatorRequest) => Promise<HarnessCoordinatorResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-coordinator.d.ts","sourceRoot":"","sources":["../../src/plugin/harness-coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAU/E,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC3F,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAClB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAEL,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;IAClC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KAC7B,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"harness-coordinator.d.ts","sourceRoot":"","sources":["../../src/plugin/harness-coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE/E,OAAO,EAEL,KAAK,kBAAkB,EAKxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAU/E,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC3F,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAClB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAEL,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;IAClC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KAC7B,KAAK,IAAI,CAAA;IACV,qDAAqD;IACrD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAA;IAClG,8CAA8C;IAC9C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;CAC7F,CAAA;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,+BAA+B,KACvC,kBA8DF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ZodError } from "zod";
|
|
2
2
|
import { parseAgentJson, readAgentOutput } from "../controller/agent-output.js";
|
|
3
3
|
import { AgentOutputParseError, AgentRunFailedError } from "../controller/index.js";
|
|
4
|
+
import { ClarificationStateSchema, canAnswerQuestion, createClarificationQuestion, isQuestionTerminal, } from "../domain/clarification.js";
|
|
4
5
|
import { HARNESS_SESSION_ROLE } from "../session/index.js";
|
|
5
6
|
import { runWorkspacePreflight } from "../workspace/env-preflight.js";
|
|
6
7
|
import { resolveTargetRepository, TargetRepositoryError, } from "../workspace/resolve-target-repository.js";
|
|
@@ -8,6 +9,35 @@ import { createHarnessIntakePrompt } from "./harness-intake-prompt.js";
|
|
|
8
9
|
import { HarnessIntentSchema } from "./harness-intent.js";
|
|
9
10
|
import { toRequirementInput } from "./harness-requirement.js";
|
|
10
11
|
export const createHarnessCoordinator = (options) => {
|
|
12
|
+
/** In-memory clarification state cache */
|
|
13
|
+
const clarificationStates = new Map();
|
|
14
|
+
const getClarificationState = async (runId) => {
|
|
15
|
+
const cached = clarificationStates.get(runId);
|
|
16
|
+
if (cached !== undefined)
|
|
17
|
+
return cached;
|
|
18
|
+
const persisted = await options.loadClarificationState?.(runId);
|
|
19
|
+
if (persisted !== undefined) {
|
|
20
|
+
clarificationStates.set(runId, persisted);
|
|
21
|
+
return persisted;
|
|
22
|
+
}
|
|
23
|
+
const now = new Date().toISOString();
|
|
24
|
+
const fresh = ClarificationStateSchema.parse({
|
|
25
|
+
schemaVersion: "1.0.0",
|
|
26
|
+
stateId: options.ids.createEventId(`clarification-state-${runId}`),
|
|
27
|
+
runId,
|
|
28
|
+
questions: {},
|
|
29
|
+
roundCount: 0,
|
|
30
|
+
concurrencyGuard: false,
|
|
31
|
+
createdAt: now,
|
|
32
|
+
updatedAt: now,
|
|
33
|
+
});
|
|
34
|
+
clarificationStates.set(runId, fresh);
|
|
35
|
+
return fresh;
|
|
36
|
+
};
|
|
37
|
+
const persistClarificationState = async (state) => {
|
|
38
|
+
clarificationStates.set(state.runId, state);
|
|
39
|
+
await options.saveClarificationState?.(state);
|
|
40
|
+
};
|
|
11
41
|
return {
|
|
12
42
|
async handle(request) {
|
|
13
43
|
if (request.inputText.length === 0) {
|
|
@@ -17,7 +47,8 @@ export const createHarnessCoordinator = (options) => {
|
|
|
17
47
|
const response = await executeIntent(intent, options.controller, {
|
|
18
48
|
projectRoot: options.projectRoot,
|
|
19
49
|
config: options.config,
|
|
20
|
-
|
|
50
|
+
ids: options.ids,
|
|
51
|
+
}, { getClarificationState, persistClarificationState });
|
|
21
52
|
if (response.kind === "run" &&
|
|
22
53
|
response.operation === "start" &&
|
|
23
54
|
options.scheduleAdvance !== undefined) {
|
|
@@ -60,7 +91,7 @@ const parseIntentWithRetries = async (options, request) => {
|
|
|
60
91
|
}
|
|
61
92
|
return createClarificationIntent("我暂时无法稳定理解这条请求。请用自然语言补充要处理的业务目标、目标仓库或需要确认的业务参数。");
|
|
62
93
|
};
|
|
63
|
-
const executeIntent = async (intent, controller, options) => {
|
|
94
|
+
const executeIntent = async (intent, controller, options, clarificationStore) => {
|
|
64
95
|
switch (intent.kind) {
|
|
65
96
|
case "start": {
|
|
66
97
|
const targetRepository = intent.requirement.targetRepository;
|
|
@@ -106,8 +137,48 @@ const executeIntent = async (intent, controller, options) => {
|
|
|
106
137
|
return { kind: "run", operation: "status", run: await controller.status(intent.runId) };
|
|
107
138
|
case "pause":
|
|
108
139
|
return { kind: "run", operation: "pause", run: await controller.pause(intent) };
|
|
109
|
-
case "answer":
|
|
140
|
+
case "answer": {
|
|
141
|
+
// Validate and process answer through clarification state
|
|
142
|
+
const state = await clarificationStore.getClarificationState(intent.runId);
|
|
143
|
+
const question = state.questions[intent.questionId];
|
|
144
|
+
if (question === undefined) {
|
|
145
|
+
return createClarificationResponse(`问题 ${intent.questionId} 不存在。请确认 questionId 是否正确。`);
|
|
146
|
+
}
|
|
147
|
+
if (isQuestionTerminal(question)) {
|
|
148
|
+
return createClarificationResponse(`问题 ${intent.questionId} 已处于 ${question.status} 状态,无法再次回答。`);
|
|
149
|
+
}
|
|
150
|
+
if (!canAnswerQuestion(question)) {
|
|
151
|
+
return createClarificationResponse(`问题 ${intent.questionId} 当前状态为 ${question.status},不接受新回答。`);
|
|
152
|
+
}
|
|
153
|
+
// Record the answer in the clarification state
|
|
154
|
+
const now = new Date().toISOString();
|
|
155
|
+
const answerId = options.ids.createEventId(`answer-${intent.questionId}-${now}`);
|
|
156
|
+
const updatedQuestion = {
|
|
157
|
+
...question,
|
|
158
|
+
status: "answered",
|
|
159
|
+
answers: [
|
|
160
|
+
...question.answers,
|
|
161
|
+
{
|
|
162
|
+
answerId,
|
|
163
|
+
questionId: intent.questionId,
|
|
164
|
+
answer: intent.answer,
|
|
165
|
+
actorId: intent.actor.id,
|
|
166
|
+
timestamp: now,
|
|
167
|
+
accepted: true,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
updatedAt: now,
|
|
171
|
+
};
|
|
172
|
+
const updatedState = {
|
|
173
|
+
...state,
|
|
174
|
+
questions: { ...state.questions, [intent.questionId]: updatedQuestion },
|
|
175
|
+
roundCount: state.roundCount + 1,
|
|
176
|
+
updatedAt: now,
|
|
177
|
+
};
|
|
178
|
+
await clarificationStore.persistClarificationState(updatedState);
|
|
179
|
+
// Forward the answer to the controller
|
|
110
180
|
return { kind: "run", operation: "answer", run: await controller.answer(intent) };
|
|
181
|
+
}
|
|
111
182
|
case "resume":
|
|
112
183
|
return { kind: "run", operation: "resume", run: await controller.resume(intent.runId) };
|
|
113
184
|
case "cancel":
|
|
@@ -116,8 +187,28 @@ const executeIntent = async (intent, controller, options) => {
|
|
|
116
187
|
return { kind: "run", operation: "waive", run: await controller.waive(intent) };
|
|
117
188
|
case "report":
|
|
118
189
|
return { kind: "report", report: await controller.report(intent.runId) };
|
|
119
|
-
case "clarification":
|
|
190
|
+
case "clarification": {
|
|
191
|
+
// Record clarification question in state if it has a runId
|
|
192
|
+
const runId = intent.runId;
|
|
193
|
+
if (runId !== undefined) {
|
|
194
|
+
const state = await clarificationStore.getClarificationState(runId);
|
|
195
|
+
const questionId = intent.questionId ??
|
|
196
|
+
options.ids.createEventId(`question-${runId}-${Date.now()}`);
|
|
197
|
+
const question = createClarificationQuestion({
|
|
198
|
+
runId,
|
|
199
|
+
questionId,
|
|
200
|
+
question: intent.message,
|
|
201
|
+
});
|
|
202
|
+
const updatedState = {
|
|
203
|
+
...state,
|
|
204
|
+
questions: { ...state.questions, [questionId]: question },
|
|
205
|
+
roundCount: state.roundCount + 1,
|
|
206
|
+
updatedAt: new Date().toISOString(),
|
|
207
|
+
};
|
|
208
|
+
await clarificationStore.persistClarificationState(updatedState);
|
|
209
|
+
}
|
|
120
210
|
return createClarificationResponse(intent.message);
|
|
211
|
+
}
|
|
121
212
|
default:
|
|
122
213
|
return assertNever(intent);
|
|
123
214
|
}
|