openhorse 0.2.22 → 0.2.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/harness/capsule.d.ts +1 -0
  2. package/dist/harness/capsule.d.ts.map +1 -1
  3. package/dist/harness/capsule.js +38 -9
  4. package/dist/harness/capsule.js.map +1 -1
  5. package/dist/harness/contract.d.ts +2 -0
  6. package/dist/harness/contract.d.ts.map +1 -1
  7. package/dist/harness/contract.js +78 -14
  8. package/dist/harness/contract.js.map +1 -1
  9. package/dist/harness/index.d.ts +2 -2
  10. package/dist/harness/index.d.ts.map +1 -1
  11. package/dist/harness/index.js +4 -1
  12. package/dist/harness/index.js.map +1 -1
  13. package/dist/harness/state.d.ts.map +1 -1
  14. package/dist/harness/state.js +37 -7
  15. package/dist/harness/state.js.map +1 -1
  16. package/dist/runtime/aggregate-tool-presenter.d.ts +13 -0
  17. package/dist/runtime/aggregate-tool-presenter.d.ts.map +1 -0
  18. package/dist/runtime/aggregate-tool-presenter.js +44 -0
  19. package/dist/runtime/aggregate-tool-presenter.js.map +1 -0
  20. package/dist/runtime/chat-controller.d.ts +9 -2
  21. package/dist/runtime/chat-controller.d.ts.map +1 -1
  22. package/dist/runtime/chat-controller.js +129 -17
  23. package/dist/runtime/chat-controller.js.map +1 -1
  24. package/dist/runtime/tool-detail-repository.d.ts +45 -0
  25. package/dist/runtime/tool-detail-repository.d.ts.map +1 -0
  26. package/dist/runtime/tool-detail-repository.js +131 -0
  27. package/dist/runtime/tool-detail-repository.js.map +1 -0
  28. package/dist/runtime/tool-output-presentation.d.ts +89 -0
  29. package/dist/runtime/tool-output-presentation.d.ts.map +1 -0
  30. package/dist/runtime/tool-output-presentation.js +329 -0
  31. package/dist/runtime/tool-output-presentation.js.map +1 -0
  32. package/dist/runtime/ui-events.d.ts +4 -0
  33. package/dist/runtime/ui-events.d.ts.map +1 -1
  34. package/dist/runtime/ui-events.js.map +1 -1
  35. package/dist/services/model-context.d.ts.map +1 -1
  36. package/dist/services/model-context.js +7 -0
  37. package/dist/services/model-context.js.map +1 -1
  38. package/dist/services/session-storage.d.ts +3 -0
  39. package/dist/services/session-storage.d.ts.map +1 -1
  40. package/dist/services/session-storage.js +55 -28
  41. package/dist/services/session-storage.js.map +1 -1
  42. package/dist/services/storage-maintenance.d.ts.map +1 -1
  43. package/dist/services/storage-maintenance.js +3 -2
  44. package/dist/services/storage-maintenance.js.map +1 -1
  45. package/dist/terminal-ui/editor.d.ts.map +1 -1
  46. package/dist/terminal-ui/editor.js +14 -3
  47. package/dist/terminal-ui/editor.js.map +1 -1
  48. package/dist/terminal-ui/launch.d.ts +19 -0
  49. package/dist/terminal-ui/launch.d.ts.map +1 -1
  50. package/dist/terminal-ui/launch.js +138 -24
  51. package/dist/terminal-ui/launch.js.map +1 -1
  52. package/dist/terminal-ui/output-queue.d.ts +43 -0
  53. package/dist/terminal-ui/output-queue.d.ts.map +1 -0
  54. package/dist/terminal-ui/output-queue.js +139 -0
  55. package/dist/terminal-ui/output-queue.js.map +1 -0
  56. package/dist/terminal-ui/raw-editor.d.ts +33 -0
  57. package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
  58. package/dist/terminal-ui/raw-editor.js +142 -23
  59. package/dist/terminal-ui/raw-editor.js.map +1 -1
  60. package/dist/tools/index.d.ts.map +1 -1
  61. package/dist/tools/index.js +133 -58
  62. package/dist/tools/index.js.map +1 -1
  63. package/dist/tui-core/input-parser.d.ts +9 -2
  64. package/dist/tui-core/input-parser.d.ts.map +1 -1
  65. package/dist/tui-core/input-parser.js +37 -2
  66. package/dist/tui-core/input-parser.js.map +1 -1
  67. package/dist/tui-ui/inline-surface.d.ts +7 -1
  68. package/dist/tui-ui/inline-surface.d.ts.map +1 -1
  69. package/dist/tui-ui/inline-surface.js +23 -2
  70. package/dist/tui-ui/inline-surface.js.map +1 -1
  71. package/dist/tui-ui/input-ownership.d.ts +46 -0
  72. package/dist/tui-ui/input-ownership.d.ts.map +1 -0
  73. package/dist/tui-ui/input-ownership.js +74 -0
  74. package/dist/tui-ui/input-ownership.js.map +1 -0
  75. package/dist/tui-ui/launch.d.ts +1 -0
  76. package/dist/tui-ui/launch.d.ts.map +1 -1
  77. package/dist/tui-ui/launch.js +104 -2
  78. package/dist/tui-ui/launch.js.map +1 -1
  79. package/dist/tui-ui/layout.d.ts +1 -0
  80. package/dist/tui-ui/layout.d.ts.map +1 -1
  81. package/dist/tui-ui/layout.js +5 -1
  82. package/dist/tui-ui/layout.js.map +1 -1
  83. package/dist/tui-ui/runner.d.ts +32 -0
  84. package/dist/tui-ui/runner.d.ts.map +1 -1
  85. package/dist/tui-ui/runner.js +553 -24
  86. package/dist/tui-ui/runner.js.map +1 -1
  87. package/dist/tui-ui/state.d.ts +65 -0
  88. package/dist/tui-ui/state.d.ts.map +1 -1
  89. package/dist/tui-ui/state.js +187 -2
  90. package/dist/tui-ui/state.js.map +1 -1
  91. package/dist/tui-ui/theme-profile.d.ts +25 -0
  92. package/dist/tui-ui/theme-profile.d.ts.map +1 -0
  93. package/dist/tui-ui/theme-profile.js +130 -0
  94. package/dist/tui-ui/theme-profile.js.map +1 -0
  95. package/dist/tui-ui/transcript-inspector-layout.d.ts +9 -0
  96. package/dist/tui-ui/transcript-inspector-layout.d.ts.map +1 -0
  97. package/dist/tui-ui/transcript-inspector-layout.js +97 -0
  98. package/dist/tui-ui/transcript-inspector-layout.js.map +1 -0
  99. package/dist/tui-ui/transcript-inspector-surface.d.ts +18 -0
  100. package/dist/tui-ui/transcript-inspector-surface.d.ts.map +1 -0
  101. package/dist/tui-ui/transcript-inspector-surface.js +88 -0
  102. package/dist/tui-ui/transcript-inspector-surface.js.map +1 -0
  103. package/dist/tui-ui/transcript-inspector.d.ts +35 -0
  104. package/dist/tui-ui/transcript-inspector.d.ts.map +1 -0
  105. package/dist/tui-ui/transcript-inspector.js +128 -0
  106. package/dist/tui-ui/transcript-inspector.js.map +1 -0
  107. package/dist/tui-ui/transcript-layout.d.ts +1 -0
  108. package/dist/tui-ui/transcript-layout.d.ts.map +1 -1
  109. package/dist/tui-ui/transcript-layout.js +44 -3
  110. package/dist/tui-ui/transcript-layout.js.map +1 -1
  111. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import type { ContextCapsule, ContextLedgerEntry, HarnessState, TaskContract } from './types';
2
2
  export declare function createContextCapsule(contract: TaskContract | undefined, entries: ContextLedgerEntry[]): ContextCapsule;
3
+ export declare function normalizeContextCapsule(capsule: ContextCapsule, contract?: TaskContract | undefined): ContextCapsule;
3
4
  export declare function renderContextCapsule(capsule: ContextCapsule): string;
4
5
  export declare function renderHarnessStateForCompact(state: HarnessState, mode?: 'manual' | 'auto_pre_turn' | 'mid_turn'): string;
5
6
  //# sourceMappingURL=capsule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/harness/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAY,YAAY,EAAE,MAAM,SAAS,CAAC;AAqBxG,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,OAAO,EAAE,kBAAkB,EAAE,GAC5B,cAAc,CAgDhB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAsCpE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,QAAQ,GAAG,eAAe,GAAG,UAAqB,GACvD,MAAM,CAuER"}
1
+ {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/harness/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,YAAY,EAEZ,YAAY,EACb,MAAM,SAAS,CAAC;AA2BjB,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,OAAO,EAAE,kBAAkB,EAAE,GAC5B,cAAc,CA6DhB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,YAAY,GAAG,SAA4B,GACpD,cAAc,CAahB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAsCpE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,QAAQ,GAAG,eAAe,GAAG,UAAqB,GACvD,MAAM,CAwFR"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createContextCapsule = createContextCapsule;
4
+ exports.normalizeContextCapsule = normalizeContextCapsule;
4
5
  exports.renderContextCapsule = renderContextCapsule;
5
6
  exports.renderHarnessStateForCompact = renderHarnessStateForCompact;
6
7
  function metadataString(entry, key) {
@@ -18,6 +19,12 @@ function compactLine(text, max = 160) {
18
19
  const normalized = text.replace(/\s+/g, ' ').trim();
19
20
  return normalized.length > max ? normalized.slice(0, max - 3) + '...' : normalized;
20
21
  }
22
+ function fallbackNextAction(contract) {
23
+ if (!contract)
24
+ return 'Continue the current task.';
25
+ const currentInstruction = compactLine(contract.userIntent || contract.objective, 220);
26
+ return `Address current instruction: ${currentInstruction}`;
27
+ }
21
28
  function createContextCapsule(contract, entries) {
22
29
  const now = Date.now();
23
30
  const keyFacts = [...entries]
@@ -38,14 +45,15 @@ function createContextCapsule(contract, entries) {
38
45
  .filter(entry => metadataBool(entry, 'success') === false)
39
46
  .map(entry => compactLine(entry.content));
40
47
  const commandsRun = unique(verificationEntries.map(entry => metadataString(entry, 'command') || '').filter(Boolean));
41
- const changedFiles = unique(entries.map(entry => metadataString(entry, 'changedFile') || metadataString(entry, 'path') || '').filter(Boolean));
48
+ const changedFiles = unique(entries
49
+ .map(entry => metadataString(entry, 'changedFile') || metadataString(entry, 'path') || '')
50
+ .filter(Boolean));
42
51
  const completed = entries
43
- .filter(entry => entry.type === 'decision' || (entry.type === 'tool_result' && metadataBool(entry, 'success') === true))
52
+ .filter(entry => entry.type === 'decision' ||
53
+ (entry.type === 'tool_result' && metadataBool(entry, 'success') === true))
44
54
  .slice(-8)
45
55
  .map(entry => compactLine(entry.content));
46
- const openTodos = currentPlan.length > 0
47
- ? currentPlan.filter(step => step.status !== 'completed').map(step => step.title)
48
- : (contract?.successCriteria ?? []).map(item => compactLine(item));
56
+ const openTodos = currentPlan.filter(step => step.status !== 'completed').map(step => step.title);
49
57
  return {
50
58
  contract,
51
59
  currentPlan,
@@ -57,13 +65,30 @@ function createContextCapsule(contract, entries) {
57
65
  commandsRun,
58
66
  passed,
59
67
  failed,
60
- warnings: entries.filter(entry => entry.type === 'risk' || entry.type === 'blocker').slice(-5).map(entry => compactLine(entry.content)),
68
+ warnings: entries
69
+ .filter(entry => entry.type === 'risk' || entry.type === 'blocker')
70
+ .slice(-5)
71
+ .map(entry => compactLine(entry.content)),
61
72
  },
62
- nextAction: openTodos[0] || (contract ? `Continue: ${contract.objective}` : 'Continue the current task.'),
73
+ nextAction: openTodos[0] || fallbackNextAction(contract),
63
74
  createdAt: now,
64
75
  updatedAt: now,
65
76
  };
66
77
  }
78
+ function normalizeContextCapsule(capsule, contract = capsule.contract) {
79
+ const currentPlan = capsule.currentPlan ?? [];
80
+ const openTodos = currentPlan
81
+ .filter(step => step.status !== 'completed')
82
+ .map(step => compactLine(step.title));
83
+ return {
84
+ ...capsule,
85
+ contract,
86
+ currentPlan,
87
+ openTodos,
88
+ nextAction: openTodos[0] || fallbackNextAction(contract),
89
+ updatedAt: Date.now(),
90
+ };
91
+ }
67
92
  function renderContextCapsule(capsule) {
68
93
  const contract = capsule.contract;
69
94
  const lines = ['## Context Capsule'];
@@ -131,7 +156,9 @@ function renderHarnessStateForCompact(state, mode = 'manual') {
131
156
  lines.push(...state.capsule.openTodos.slice(0, 8).map(item => `- ${compactLine(item)}`));
132
157
  }
133
158
  const verification = state.capsule.verification;
134
- if (verification.passed.length > 0 || verification.failed.length > 0 || verification.warnings.length > 0) {
159
+ if (verification.passed.length > 0 ||
160
+ verification.failed.length > 0 ||
161
+ verification.warnings.length > 0) {
135
162
  lines.push('verification:');
136
163
  lines.push(...verification.passed.slice(0, 5).map(item => `- passed: ${compactLine(item)}`));
137
164
  lines.push(...verification.failed.slice(0, 5).map(item => `- failed: ${compactLine(item)}`));
@@ -149,7 +176,9 @@ function renderHarnessStateForCompact(state, mode = 'manual') {
149
176
  lines.push(`- turn ${turn.turn} [${turn.intentKind}]: ${compactLine(turn.userIntent, 100)} -> ${compactLine(turn.assistantOutcome, 140)}`);
150
177
  }
151
178
  }
152
- const evidenceIds = state.promptAssemblyStats?.includedEvidence.map(item => item.id) ?? state.evidenceIndex?.slice(0, 8).map(item => item.id) ?? [];
179
+ const evidenceIds = state.promptAssemblyStats?.includedEvidence.map(item => item.id) ??
180
+ state.evidenceIndex?.slice(0, 8).map(item => item.id) ??
181
+ [];
153
182
  if (evidenceIds.length > 0) {
154
183
  lines.push(`evidenceIds: ${evidenceIds.slice(0, 12).join(', ')}`);
155
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capsule.js","sourceRoot":"","sources":["../../src/harness/capsule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capsule.js","sourceRoot":"","sources":["../../src/harness/capsule.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { IntentUpdate, TaskContract } from './types';
2
+ export declare function extractExplicitObjective(input: string): string | undefined;
3
+ export declare function normalizeTaskContract(contract: TaskContract): TaskContract;
2
4
  export declare function createTaskContract(input: string, cwd: string): TaskContract;
3
5
  export declare function updateTaskContract(previous: TaskContract | undefined, input: string, cwd: string, intent?: IntentUpdate): TaskContract;
4
6
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/harness/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAoB1D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CA4B3E;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,CAqBd"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/harness/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAiC1D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAwB1E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAgB1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CA8B3E;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,CAgCd"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractExplicitObjective = extractExplicitObjective;
4
+ exports.normalizeTaskContract = normalizeTaskContract;
3
5
  exports.createTaskContract = createTaskContract;
4
6
  exports.updateTaskContract = updateTaskContract;
5
7
  const crypto_1 = require("crypto");
@@ -8,19 +10,71 @@ function truncate(text, max = MAX_LINE) {
8
10
  const trimmed = text.trim().replace(/\s+/g, ' ');
9
11
  return trimmed.length > max ? trimmed.slice(0, max - 3) + '...' : trimmed;
10
12
  }
13
+ function cleanLine(line) {
14
+ return line.replace(/^[-*+\d.)\s]+/, '').trim();
15
+ }
11
16
  function splitMeaningfulLines(input) {
12
17
  return input
13
18
  .split(/\r?\n/)
14
- .map(line => line.replace(/^[-*+\d.)\s]+/, '').trim())
15
- .filter(Boolean);
19
+ .map(cleanLine)
20
+ .filter(line => line && !isSectionHeading(line));
21
+ }
22
+ function isSectionHeading(line) {
23
+ const normalized = line.replace(/^#{1,6}\s*/, '').trim();
24
+ return normalized.length <= 32 && /^[^。.!??;;,,、/::]+[::]$/.test(normalized);
16
25
  }
17
26
  function unique(items) {
18
27
  return [...new Set(items.map(item => truncate(item)).filter(Boolean))];
19
28
  }
29
+ function isObjectiveFallback(item) {
30
+ return item.startsWith('Address the objective: ');
31
+ }
32
+ function extractExplicitObjective(input) {
33
+ const lines = input.split(/\r?\n/);
34
+ for (let index = 0; index < lines.length; index++) {
35
+ const line = cleanLine(lines[index]).replace(/^#{1,6}\s*/, '');
36
+ const match = line.match(/^(?:目标|objective)\s*[::]\s*(.*)$/i);
37
+ if (!match)
38
+ continue;
39
+ if (match[1].trim())
40
+ return truncate(match[1]);
41
+ const objectiveLines = [];
42
+ for (let next = index + 1; next < lines.length; next++) {
43
+ const candidate = cleanLine(lines[next]);
44
+ if (!candidate)
45
+ continue;
46
+ if (isSectionHeading(candidate))
47
+ break;
48
+ if (objectiveLines.length > 0 &&
49
+ /(必须|禁止|不得|要求|must|should|required|do not|never)/i.test(candidate)) {
50
+ break;
51
+ }
52
+ objectiveLines.push(candidate);
53
+ if (objectiveLines.length >= 4)
54
+ break;
55
+ }
56
+ if (objectiveLines.length > 0)
57
+ return truncate(objectiveLines.join(' '));
58
+ }
59
+ return undefined;
60
+ }
61
+ function normalizeTaskContract(contract) {
62
+ const requirements = unique(contract.requirements.filter(item => !isSectionHeading(item)));
63
+ const explicitSuccessCriteria = unique(contract.successCriteria.filter(item => !isSectionHeading(item) && !isObjectiveFallback(item)));
64
+ const fallbackCriteria = unique(contract.successCriteria.filter(isObjectiveFallback));
65
+ const successCriteria = explicitSuccessCriteria.length > 0 || requirements.length > 0
66
+ ? explicitSuccessCriteria
67
+ : fallbackCriteria.slice(0, 1);
68
+ return {
69
+ ...contract,
70
+ requirements,
71
+ successCriteria,
72
+ };
73
+ }
20
74
  function createTaskContract(input, cwd) {
21
75
  const now = Date.now();
22
76
  const lines = splitMeaningfulLines(input);
23
- const objective = truncate(lines[0] || input || 'Continue the current task');
77
+ const objective = extractExplicitObjective(input) ?? truncate(lines[0] || input || 'Continue the current task');
24
78
  const requirementHints = /(must|should|required|require|need|ensure|verify|test|build|run|希望|需要|必须|要求|确保|验证|测试|完成)/i;
25
79
  const prohibitionHints = /(do not|don't|never|avoid|without|禁止|不要|不能|不准|避免)/i;
26
80
  const verificationHints = /(test|build|tsc|lint|verify|验证|测试|通过|运行|检查)/i;
@@ -30,7 +84,7 @@ function createTaskContract(input, cwd) {
30
84
  ...lines.filter(line => verificationHints.test(line)),
31
85
  requirements.length === 0 ? `Address the objective: ${objective}` : '',
32
86
  ]);
33
- return {
87
+ return normalizeTaskContract({
34
88
  id: (0, crypto_1.randomUUID)(),
35
89
  objective,
36
90
  userIntent: input.trim(),
@@ -41,26 +95,36 @@ function createTaskContract(input, cwd) {
41
95
  allowedScope: { cwd },
42
96
  createdAt: now,
43
97
  updatedAt: now,
44
- };
98
+ });
45
99
  }
46
100
  function updateTaskContract(previous, input, cwd, intent) {
47
101
  if (!previous) {
48
102
  return createTaskContract(input, cwd);
49
103
  }
104
+ const normalizedPrevious = normalizeTaskContract(previous);
50
105
  const next = createTaskContract(input, cwd);
51
106
  if (intent?.kind === 'new_task') {
52
107
  return next;
53
108
  }
54
- return {
55
- ...previous,
56
- objective: previous.objective,
109
+ const nextSuccessCriteria = next.successCriteria.filter(item => !isObjectiveFallback(item));
110
+ return normalizeTaskContract({
111
+ ...normalizedPrevious,
112
+ objective: normalizedPrevious.objective,
57
113
  userIntent: input.trim(),
58
- requirements: unique([...previous.requirements, ...next.requirements]),
59
- successCriteria: unique([...previous.successCriteria, ...next.successCriteria]),
60
- constraints: unique([...previous.constraints, ...next.constraints, ...(intent?.constraints ?? [])]),
61
- prohibitions: unique([...previous.prohibitions, ...next.prohibitions, ...(intent?.nonGoals ?? [])]),
62
- allowedScope: { ...previous.allowedScope, cwd },
114
+ requirements: unique([...normalizedPrevious.requirements, ...next.requirements]),
115
+ successCriteria: unique([...normalizedPrevious.successCriteria, ...nextSuccessCriteria]),
116
+ constraints: unique([
117
+ ...normalizedPrevious.constraints,
118
+ ...next.constraints,
119
+ ...(intent?.constraints ?? []),
120
+ ]),
121
+ prohibitions: unique([
122
+ ...normalizedPrevious.prohibitions,
123
+ ...next.prohibitions,
124
+ ...(intent?.nonGoals ?? []),
125
+ ]),
126
+ allowedScope: { ...normalizedPrevious.allowedScope, cwd },
63
127
  updatedAt: Date.now(),
64
- };
128
+ });
65
129
  }
66
130
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/harness/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/harness/contract.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  export { ContextHarness, createContextHarness } from './context-harness';
2
2
  export type { ContextHarnessOptions } from './context-harness';
3
- export { createTaskContract, updateTaskContract } from './contract';
3
+ export { createTaskContract, extractExplicitObjective, normalizeTaskContract, updateTaskContract, } from './contract';
4
4
  export { ContextLedger } from './ledger';
5
5
  export type { AddLedgerEntryInput } from './ledger';
6
- export { createContextCapsule, renderContextCapsule, renderHarnessStateForCompact } from './capsule';
6
+ export { createContextCapsule, normalizeContextCapsule, renderContextCapsule, renderHarnessStateForCompact, } from './capsule';
7
7
  export { assembleHarnessMessages, buildHarnessContext, renderHarnessContext } from './assembler';
8
8
  export type { HarnessContextBuildResult, PromptAssemblyOptions } from './assembler';
9
9
  export { buildEvidenceIndex, bumpIncludedEvidence, estimateTokens, rankEvidence } from './evidence';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.evaluateCompletionGate = exports.checkToolDrift = exports.createTurnSummary = exports.upgradeHarnessState = exports.summarizeHarnessStateForMeta = exports.shouldReplaceActiveInstruction = exports.classifyIntent = exports.rankEvidence = exports.estimateTokens = exports.bumpIncludedEvidence = exports.buildEvidenceIndex = exports.renderHarnessContext = exports.buildHarnessContext = exports.assembleHarnessMessages = exports.renderHarnessStateForCompact = exports.renderContextCapsule = exports.createContextCapsule = exports.ContextLedger = exports.updateTaskContract = exports.createTaskContract = exports.createContextHarness = exports.ContextHarness = void 0;
3
+ exports.evaluateCompletionGate = exports.checkToolDrift = exports.createTurnSummary = exports.upgradeHarnessState = exports.summarizeHarnessStateForMeta = exports.shouldReplaceActiveInstruction = exports.classifyIntent = exports.rankEvidence = exports.estimateTokens = exports.bumpIncludedEvidence = exports.buildEvidenceIndex = exports.renderHarnessContext = exports.buildHarnessContext = exports.assembleHarnessMessages = exports.renderHarnessStateForCompact = exports.renderContextCapsule = exports.normalizeContextCapsule = exports.createContextCapsule = exports.ContextLedger = exports.updateTaskContract = exports.normalizeTaskContract = exports.extractExplicitObjective = exports.createTaskContract = exports.createContextHarness = exports.ContextHarness = void 0;
4
4
  var context_harness_1 = require("./context-harness");
5
5
  Object.defineProperty(exports, "ContextHarness", { enumerable: true, get: function () { return context_harness_1.ContextHarness; } });
6
6
  Object.defineProperty(exports, "createContextHarness", { enumerable: true, get: function () { return context_harness_1.createContextHarness; } });
7
7
  var contract_1 = require("./contract");
8
8
  Object.defineProperty(exports, "createTaskContract", { enumerable: true, get: function () { return contract_1.createTaskContract; } });
9
+ Object.defineProperty(exports, "extractExplicitObjective", { enumerable: true, get: function () { return contract_1.extractExplicitObjective; } });
10
+ Object.defineProperty(exports, "normalizeTaskContract", { enumerable: true, get: function () { return contract_1.normalizeTaskContract; } });
9
11
  Object.defineProperty(exports, "updateTaskContract", { enumerable: true, get: function () { return contract_1.updateTaskContract; } });
10
12
  var ledger_1 = require("./ledger");
11
13
  Object.defineProperty(exports, "ContextLedger", { enumerable: true, get: function () { return ledger_1.ContextLedger; } });
12
14
  var capsule_1 = require("./capsule");
13
15
  Object.defineProperty(exports, "createContextCapsule", { enumerable: true, get: function () { return capsule_1.createContextCapsule; } });
16
+ Object.defineProperty(exports, "normalizeContextCapsule", { enumerable: true, get: function () { return capsule_1.normalizeContextCapsule; } });
14
17
  Object.defineProperty(exports, "renderContextCapsule", { enumerable: true, get: function () { return capsule_1.renderContextCapsule; } });
15
18
  Object.defineProperty(exports, "renderHarnessStateForCompact", { enumerable: true, get: function () { return capsule_1.renderHarnessStateForCompact; } });
16
19
  var assembler_1 = require("./assembler");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":";;;AAAA,qDAAyE;AAAhE,iHAAA,cAAc,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAE7C,uCAAoE;AAA3D,8GAAA,kBAAkB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAC/C,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AAEtB,qCAAqG;AAA5F,+GAAA,oBAAoB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,uHAAA,4BAA4B,OAAA;AACjF,yCAAiG;AAAxF,oHAAA,uBAAuB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAE3E,uCAAoG;AAA3F,8GAAA,kBAAkB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC/E,mCAA0E;AAAjE,wGAAA,cAAc,OAAA;AAAE,wHAAA,8BAA8B,OAAA;AACvD,iCAA4E;AAAnE,qHAAA,4BAA4B,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAC1D,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAE1B,6CAAuE;AAA9D,6GAAA,cAAc,OAAA;AAAE,qHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":";;;AAAA,qDAAyE;AAAhE,iHAAA,cAAc,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAE7C,uCAKoB;AAJlB,8GAAA,kBAAkB,OAAA;AAClB,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAEpB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AAEtB,qCAKmB;AAJjB,+GAAA,oBAAoB,OAAA;AACpB,kHAAA,uBAAuB,OAAA;AACvB,+GAAA,oBAAoB,OAAA;AACpB,uHAAA,4BAA4B,OAAA;AAE9B,yCAAiG;AAAxF,oHAAA,uBAAuB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAE3E,uCAAoG;AAA3F,8GAAA,kBAAkB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC/E,mCAA0E;AAAjE,wGAAA,cAAc,OAAA;AAAE,wHAAA,8BAA8B,OAAA;AACvD,iCAA4E;AAAnE,qHAAA,4BAA4B,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAC1D,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAE1B,6CAAuE;AAA9D,6GAAA,cAAc,OAAA;AAAE,qHAAA,sBAAsB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/harness/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAuBD,wBAAgB,mBAAmB,CACjC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,EACpC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAAO,GAC7D,YAAY,CAgDd;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAU9E"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/harness/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAuBD,wBAAgB,mBAAmB,CACjC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,EACpC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAAO,GAC7D,YAAY,CA2Fd;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAU9E"}
@@ -26,12 +26,27 @@ function firstRealUserMessage(messages) {
26
26
  function upgradeHarnessState(state, options = {}) {
27
27
  const now = Date.now();
28
28
  const ledger = state?.ledger ?? [];
29
- const diagnostics = [...(state?.diagnostics ?? [])];
29
+ const diagnostics = [...(state?.diagnostics ?? [])].filter(message => message !==
30
+ 'latest transcript user message differs from active instruction; using stored active instruction' &&
31
+ message !==
32
+ 'root objective does not exactly match the first transcript user message; preserving harness root objective');
30
33
  const firstUser = firstRealUserMessage(options.messages);
31
34
  const lastUser = latestRealUserMessage(options.messages);
32
- const contract = state?.contract ?? (firstUser ? (0, contract_1.createTaskContract)(firstUser, options.cwd ?? process.cwd()) : undefined);
35
+ const explicitObjective = firstUser ? (0, contract_1.extractExplicitObjective)(firstUser) : undefined;
36
+ const storedContract = state?.contract
37
+ ? {
38
+ ...state.contract,
39
+ objective: explicitObjective ?? state.contract.objective,
40
+ }
41
+ : firstUser
42
+ ? (0, contract_1.createTaskContract)(firstUser, options.cwd ?? process.cwd())
43
+ : undefined;
44
+ const contract = storedContract ? (0, contract_1.normalizeTaskContract)(storedContract) : undefined;
33
45
  const taskEpoch = Math.max(1, state?.taskEpoch ?? (contract ? 1 : 1));
34
- const rootObjective = state?.rootObjective ?? contract?.objective ?? (firstUser ? firstUser.trim().slice(0, 180) : undefined);
46
+ const rootObjective = explicitObjective ??
47
+ state?.rootObjective ??
48
+ contract?.objective ??
49
+ (firstUser ? firstUser.trim().slice(0, 180) : undefined);
35
50
  const activeInstruction = state?.activeInstruction ?? contract?.userIntent ?? lastUser ?? rootObjective;
36
51
  const turnSummaries = state?.turnSummaries ?? [];
37
52
  const evidenceIndex = (0, evidence_1.buildEvidenceIndex)({
@@ -39,14 +54,26 @@ function upgradeHarnessState(state, options = {}) {
39
54
  turnSummaries,
40
55
  existing: state?.evidenceIndex,
41
56
  });
42
- const capsule = state?.capsule ?? (contract || ledger.length > 0 ? (0, capsule_1.createContextCapsule)(contract, ledger) : undefined);
57
+ const capsule = state?.capsule
58
+ ? (0, capsule_1.normalizeContextCapsule)(state.capsule, contract)
59
+ : contract || ledger.length > 0
60
+ ? (0, capsule_1.createContextCapsule)(contract, ledger)
61
+ : undefined;
43
62
  if (state && state.version !== 2) {
44
63
  diagnostics.push('upgraded legacy harness state to v2');
45
64
  }
46
- if (lastUser && activeInstruction && lastUser !== activeInstruction && !lastUser.includes(activeInstruction) && !activeInstruction.includes(lastUser)) {
65
+ if (lastUser &&
66
+ activeInstruction &&
67
+ lastUser !== activeInstruction &&
68
+ !lastUser.includes(activeInstruction) &&
69
+ !activeInstruction.includes(lastUser)) {
47
70
  diagnostics.push('latest transcript user message differs from active instruction; using stored active instruction');
48
71
  }
49
- if (rootObjective && firstUser && !firstUser.includes(rootObjective) && !rootObjective.includes(firstUser.slice(0, 40))) {
72
+ if (!explicitObjective &&
73
+ rootObjective &&
74
+ firstUser &&
75
+ !firstUser.includes(rootObjective) &&
76
+ !rootObjective.includes(firstUser.slice(0, 40))) {
50
77
  diagnostics.push('root objective does not exactly match the first transcript user message; preserving harness root objective');
51
78
  }
52
79
  return {
@@ -59,7 +86,10 @@ function upgradeHarnessState(state, options = {}) {
59
86
  rootObjective,
60
87
  activeInstruction,
61
88
  intentHistory: state?.intentHistory ?? [],
62
- activeConstraints: unique([...(state?.activeConstraints ?? []), ...(contract?.constraints ?? [])]),
89
+ activeConstraints: unique([
90
+ ...(state?.activeConstraints ?? []),
91
+ ...(contract?.constraints ?? []),
92
+ ]),
63
93
  nonGoals: unique([...(state?.nonGoals ?? []), ...(contract?.prohibitions ?? [])]),
64
94
  openQuestions: state?.openQuestions ?? [],
65
95
  evidenceIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/harness/state.ts"],"names":[],"mappings":";;AA+BA,kDAmDC;AAED,oEAUC;AA9FD,uCAAiD;AACjD,yCAAgD;AAChD,yCAAgD;AAQhD,SAAS,MAAM,CAAC,KAAe;IAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA8B;IAC3D,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACpE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;SACnE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;SAC9E,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA8B;IAC1D,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACpE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;SACnE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;SAC9E,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AACtF,CAAC;AAED,SAAgB,mBAAmB,CACjC,KAAoC,EACpC,UAA4D,EAAE;IAE9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,6BAAkB,EAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1H,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9H,MAAM,iBAAiB,GAAG,KAAK,EAAE,iBAAiB,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,IAAI,aAAa,CAAC;IACxG,MAAM,aAAa,GAAG,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,6BAAkB,EAAC;QACvC,MAAM;QACN,aAAa;QACb,QAAQ,EAAE,KAAK,EAAE,aAAa;KAC/B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,8BAAoB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEvH,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,QAAQ,IAAI,iBAAiB,IAAI,QAAQ,KAAK,iBAAiB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtJ,WAAW,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;IACtH,CAAC;IACD,IAAI,aAAa,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACxH,WAAW,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;IACjI,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;QACV,QAAQ;QACR,MAAM;QACN,OAAO;QACP,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,IAAI,CAAC;QACtD,SAAS;QACT,aAAa;QACb,iBAAiB;QACjB,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE;QACzC,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QAClG,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE;QACzC,aAAa;QACb,aAAa;QACb,mBAAmB,EAAE,KAAK,EAAE,mBAAmB;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY;QAC1D,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG;KACnC,CAAC;AACJ,CAAC;AAED,SAAgB,4BAA4B,CAAC,KAAmB;IAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAClC,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACjD,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACjD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/harness/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** Schema-guarded presentation for known aggregate tool results. */
2
+ import { type ToolAggregateView } from './tool-output-presentation';
3
+ export interface PresentAggregateResult {
4
+ view: ToolAggregateView;
5
+ /** Human-readable summary line, for example `4/4 steps · 3.9 KB`. */
6
+ headline: string;
7
+ }
8
+ /**
9
+ * Normalize a known aggregate result. The shared parser remains the single
10
+ * schema authority used by both the presenter and createToolOutputView().
11
+ */
12
+ export declare function presentAggregateToolResult(toolName: string, rawOutput: string, outputBytes: number): PresentAggregateResult | null;
13
+ //# sourceMappingURL=aggregate-tool-presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-tool-presenter.d.ts","sourceRoot":"","sources":["../../src/runtime/aggregate-tool-presenter.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,iBAAiB,CAAC;IACxB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,sBAAsB,GAAG,IAAI,CAS/B"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /** Schema-guarded presentation for known aggregate tool results. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.presentAggregateToolResult = presentAggregateToolResult;
5
+ const tool_output_presentation_1 = require("./tool-output-presentation");
6
+ const redaction_1 = require("../services/redaction");
7
+ /**
8
+ * Normalize a known aggregate result. The shared parser remains the single
9
+ * schema authority used by both the presenter and createToolOutputView().
10
+ */
11
+ function presentAggregateToolResult(toolName, rawOutput, outputBytes) {
12
+ const view = (0, tool_output_presentation_1.tryParseAggregateOutput)(toolName, rawOutput);
13
+ if (!view)
14
+ return null;
15
+ const unit = view.kind === 'subtask_batch' ? 'subtasks' : 'steps';
16
+ const summary = aggregateSummary(rawOutput);
17
+ return {
18
+ view,
19
+ headline: `${summary ?? `${view.succeeded}/${view.total} ${unit}`} · ${formatSize(outputBytes)}`,
20
+ };
21
+ }
22
+ function aggregateSummary(rawOutput) {
23
+ try {
24
+ const parsed = JSON.parse(rawOutput);
25
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
26
+ return undefined;
27
+ const summary = parsed.summary;
28
+ return typeof summary === 'string' && summary.trim()
29
+ ? (0, redaction_1.redactTraceText)(summary.trim())
30
+ : undefined;
31
+ }
32
+ catch {
33
+ return undefined;
34
+ }
35
+ }
36
+ function formatSize(bytes) {
37
+ const safeBytes = Math.max(0, bytes);
38
+ if (safeBytes < 1024)
39
+ return `${safeBytes} B`;
40
+ if (safeBytes < 1024 * 1024)
41
+ return `${(safeBytes / 1024).toFixed(1)} KB`;
42
+ return `${(safeBytes / (1024 * 1024)).toFixed(1)} MB`;
43
+ }
44
+ //# sourceMappingURL=aggregate-tool-presenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-tool-presenter.js","sourceRoot":"","sources":["../../src/runtime/aggregate-tool-presenter.ts"],"names":[],"mappings":";AAAA,oEAAoE;;AAkBpE,gEAaC;AA7BD,yEAGoC;AACpC,qDAAwD;AAQxD;;;GAGG;AACH,SAAgB,0BAA0B,CACxC,QAAgB,EAChB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,IAAI,GAAG,IAAA,kDAAuB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,GAAG,OAAO,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE;KACjG,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC;QAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7F,MAAM,OAAO,GAAI,MAAkC,CAAC,OAAO,CAAC;QAC5D,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;YAClD,CAAC,CAAC,IAAA,2BAAe,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,GAAG,IAAI;QAAE,OAAO,GAAG,SAAS,IAAI,CAAC;IAC9C,IAAI,SAAS,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1E,OAAO,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC"}
@@ -1,7 +1,14 @@
1
1
  import type { CommandUiRenderer } from '../commands/types';
2
2
  import { query, type QueryEvent } from '../framework';
3
3
  import type { OpenHorseUiRuntime, TranscriptEntry, UiEventSink, UiRendererCapabilities } from './ui-events';
4
- export declare function sessionMessagesToTranscriptEntries(sessionId: string): TranscriptEntry[];
4
+ interface ToolEventPresenterOptions {
5
+ projectPath?: string;
6
+ turnId?: string;
7
+ }
8
+ export interface SessionTranscriptEntryOptions {
9
+ includeToolOutputViews?: boolean;
10
+ }
11
+ export declare function sessionMessagesToTranscriptEntries(sessionId: string, options?: SessionTranscriptEntryOptions): TranscriptEntry[];
5
12
  export interface AssistantStreamPresenter {
6
13
  appendChunk(chunk: string): void;
7
14
  closeSegment(): void;
@@ -21,7 +28,7 @@ export interface ToolEventPresenter {
21
28
  finish(event: ToolResultEvent): void;
22
29
  finalizePendingAsSkipped(reason?: string): void;
23
30
  }
24
- export declare function createToolEventPresenter(events: UiEventSink): ToolEventPresenter;
31
+ export declare function createToolEventPresenter(events: UiEventSink, options?: ToolEventPresenterOptions): ToolEventPresenter;
25
32
  export interface RunInputOptions {
26
33
  abortSignal?: AbortSignal;
27
34
  turnId?: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-controller.d.ts","sourceRoot":"","sources":["../../src/runtime/chat-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-controller.d.ts","sourceRoot":"","sources":["../../src/runtime/chat-controller.ts"],"names":[],"mappings":"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"}