openhorse 0.2.12 → 0.2.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.
Files changed (79) hide show
  1. package/dist/commands/index.d.ts.map +1 -1
  2. package/dist/commands/index.js +597 -12
  3. package/dist/commands/index.js.map +1 -1
  4. package/dist/commands/types.d.ts +3 -1
  5. package/dist/commands/types.d.ts.map +1 -1
  6. package/dist/commands/types.js.map +1 -1
  7. package/dist/core/checkpoint.d.ts +1 -0
  8. package/dist/core/checkpoint.d.ts.map +1 -1
  9. package/dist/core/checkpoint.js +59 -10
  10. package/dist/core/checkpoint.js.map +1 -1
  11. package/dist/core/tool-artifacts.d.ts +10 -0
  12. package/dist/core/tool-artifacts.d.ts.map +1 -1
  13. package/dist/core/tool-artifacts.js +81 -3
  14. package/dist/core/tool-artifacts.js.map +1 -1
  15. package/dist/framework/index.d.ts +2 -2
  16. package/dist/framework/index.d.ts.map +1 -1
  17. package/dist/framework/index.js +5 -1
  18. package/dist/framework/index.js.map +1 -1
  19. package/dist/framework/query.d.ts +87 -2
  20. package/dist/framework/query.d.ts.map +1 -1
  21. package/dist/framework/query.js +281 -14
  22. package/dist/framework/query.js.map +1 -1
  23. package/dist/framework/tool-scheduler.d.ts +9 -0
  24. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  25. package/dist/framework/tool-scheduler.js +34 -0
  26. package/dist/framework/tool-scheduler.js.map +1 -1
  27. package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
  28. package/dist/ink-ui/components/StatusLine.js +7 -1
  29. package/dist/ink-ui/components/StatusLine.js.map +1 -1
  30. package/dist/runtime/agent-runtime-protocol.d.ts +13 -1
  31. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  32. package/dist/runtime/agent-runtime-protocol.js +24 -0
  33. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  34. package/dist/runtime/chat-controller.d.ts +3 -0
  35. package/dist/runtime/chat-controller.d.ts.map +1 -1
  36. package/dist/runtime/chat-controller.js +907 -2
  37. package/dist/runtime/chat-controller.js.map +1 -1
  38. package/dist/runtime/loop-budget.d.ts +5 -0
  39. package/dist/runtime/loop-budget.d.ts.map +1 -0
  40. package/dist/runtime/loop-budget.js +77 -0
  41. package/dist/runtime/loop-budget.js.map +1 -0
  42. package/dist/runtime/ui-events.d.ts +34 -1
  43. package/dist/runtime/ui-events.d.ts.map +1 -1
  44. package/dist/runtime/ui-events.js.map +1 -1
  45. package/dist/services/config-dir.d.ts +2 -0
  46. package/dist/services/config-dir.d.ts.map +1 -1
  47. package/dist/services/config-dir.js +5 -0
  48. package/dist/services/config-dir.js.map +1 -1
  49. package/dist/services/config.d.ts +4 -2
  50. package/dist/services/config.d.ts.map +1 -1
  51. package/dist/services/config.js +19 -0
  52. package/dist/services/config.js.map +1 -1
  53. package/dist/services/global-config.d.ts +17 -0
  54. package/dist/services/global-config.d.ts.map +1 -1
  55. package/dist/services/global-config.js.map +1 -1
  56. package/dist/services/llm.d.ts +16 -0
  57. package/dist/services/llm.d.ts.map +1 -1
  58. package/dist/services/llm.js +56 -11
  59. package/dist/services/llm.js.map +1 -1
  60. package/dist/services/redaction.d.ts +2 -0
  61. package/dist/services/redaction.d.ts.map +1 -0
  62. package/dist/services/redaction.js +27 -0
  63. package/dist/services/redaction.js.map +1 -0
  64. package/dist/services/session-index.d.ts.map +1 -1
  65. package/dist/services/session-index.js +7 -3
  66. package/dist/services/session-index.js.map +1 -1
  67. package/dist/services/session-storage.d.ts +98 -0
  68. package/dist/services/session-storage.d.ts.map +1 -1
  69. package/dist/services/session-storage.js +153 -2
  70. package/dist/services/session-storage.js.map +1 -1
  71. package/dist/services/verification-profile.d.ts +36 -0
  72. package/dist/services/verification-profile.d.ts.map +1 -0
  73. package/dist/services/verification-profile.js +239 -0
  74. package/dist/services/verification-profile.js.map +1 -0
  75. package/dist/services/workspace-state.d.ts +25 -0
  76. package/dist/services/workspace-state.d.ts.map +1 -0
  77. package/dist/services/workspace-state.js +115 -0
  78. package/dist/services/workspace-state.js.map +1 -0
  79. package/package.json +1 -1
@@ -6,6 +6,7 @@
6
6
  * 参考 OpenClaude 的 history.jsonl 和 sessions/ 目录。
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.redactTraceText = void 0;
9
10
  exports.resolveProjectPath = resolveProjectPath;
10
11
  exports.getProjectKey = getProjectKey;
11
12
  exports.createSession = createSession;
@@ -17,6 +18,7 @@ exports.updateSessionHarnessState = updateSessionHarnessState;
17
18
  exports.loadSessionHarnessState = loadSessionHarnessState;
18
19
  exports.updateSessionSkills = updateSessionSkills;
19
20
  exports.markSessionTranscriptDisplayStart = markSessionTranscriptDisplayStart;
21
+ exports.persistSessionCompactHistory = persistSessionCompactHistory;
20
22
  exports.endSession = endSession;
21
23
  exports.updateSessionSummary = updateSessionSummary;
22
24
  exports.getLastSession = getLastSession;
@@ -28,6 +30,8 @@ exports.appendSessionMessages = appendSessionMessages;
28
30
  exports.truncateSessionToLastComplete = truncateSessionToLastComplete;
29
31
  exports.removeLastIncompleteAssistantMessage = removeLastIncompleteAssistantMessage;
30
32
  exports.readSessionMessages = readSessionMessages;
33
+ exports.appendSessionTraceEvent = appendSessionTraceEvent;
34
+ exports.readSessionTraceEvents = readSessionTraceEvents;
31
35
  exports.loadSessionHistory = loadSessionHistory;
32
36
  exports.listSessions = listSessions;
33
37
  exports.listProjectSessions = listProjectSessions;
@@ -42,7 +46,77 @@ const path_1 = require("path");
42
46
  const config_dir_1 = require("./config-dir");
43
47
  const atomic_write_1 = require("./atomic-write");
44
48
  const session_index_1 = require("./session-index");
49
+ const redaction_1 = require("./redaction");
45
50
  const harness_1 = require("../harness");
51
+ var redaction_2 = require("./redaction");
52
+ Object.defineProperty(exports, "redactTraceText", { enumerable: true, get: function () { return redaction_2.redactTraceText; } });
53
+ function sanitizeTraceEvent(event) {
54
+ const sanitized = { ...event };
55
+ for (const key of ['argsSummary', 'error', 'note', 'permissionReason', 'continuationHint']) {
56
+ if (typeof sanitized[key] === 'string') {
57
+ sanitized[key] = (0, redaction_1.redactTraceText)(sanitized[key]);
58
+ }
59
+ }
60
+ if (sanitized.workspaceFiles) {
61
+ sanitized.workspaceFiles = sanitized.workspaceFiles.map(redaction_1.redactTraceText);
62
+ }
63
+ if (sanitized.checkpointFiles) {
64
+ sanitized.checkpointFiles = sanitized.checkpointFiles.map(redaction_1.redactTraceText);
65
+ }
66
+ if (sanitized.promptSections) {
67
+ sanitized.promptSections = sanitized.promptSections.map(redaction_1.redactTraceText);
68
+ }
69
+ if (sanitized.promptIncludedEvidence) {
70
+ sanitized.promptIncludedEvidence = sanitized.promptIncludedEvidence.map(redaction_1.redactTraceText);
71
+ }
72
+ if (sanitized.promptOmittedEvidence) {
73
+ sanitized.promptOmittedEvidence = sanitized.promptOmittedEvidence.map(redaction_1.redactTraceText);
74
+ }
75
+ if (sanitized.workspaceChangedByTurn) {
76
+ sanitized.workspaceChangedByTurn = sanitized.workspaceChangedByTurn.map(redaction_1.redactTraceText);
77
+ }
78
+ if (sanitized.workspaceNewByTurn) {
79
+ sanitized.workspaceNewByTurn = sanitized.workspaceNewByTurn.map(redaction_1.redactTraceText);
80
+ }
81
+ if (sanitized.workspaceModifiedPreExistingByTurn) {
82
+ sanitized.workspaceModifiedPreExistingByTurn = sanitized.workspaceModifiedPreExistingByTurn.map(redaction_1.redactTraceText);
83
+ }
84
+ if (sanitized.workspaceResolvedByTurn) {
85
+ sanitized.workspaceResolvedByTurn = sanitized.workspaceResolvedByTurn.map(redaction_1.redactTraceText);
86
+ }
87
+ if (sanitized.verificationCommands) {
88
+ sanitized.verificationCommands = sanitized.verificationCommands.map(redaction_1.redactTraceText);
89
+ }
90
+ if (typeof sanitized.verificationCommand === 'string') {
91
+ sanitized.verificationCommand = (0, redaction_1.redactTraceText)(sanitized.verificationCommand);
92
+ }
93
+ if (sanitized.providerRetryErrorTypes) {
94
+ sanitized.providerRetryErrorTypes = sanitized.providerRetryErrorTypes.map(redaction_1.redactTraceText);
95
+ }
96
+ for (const key of [
97
+ 'providerLastRetryErrorType',
98
+ 'providerFallbackFromModel',
99
+ 'providerFallbackToModel',
100
+ 'providerFinalModel',
101
+ ]) {
102
+ if (typeof sanitized[key] === 'string') {
103
+ sanitized[key] = (0, redaction_1.redactTraceText)(sanitized[key]);
104
+ }
105
+ }
106
+ if (sanitized.verificationChangedFiles) {
107
+ sanitized.verificationChangedFiles = sanitized.verificationChangedFiles.map(redaction_1.redactTraceText);
108
+ }
109
+ if (sanitized.verificationPassedCommands) {
110
+ sanitized.verificationPassedCommands = sanitized.verificationPassedCommands.map(redaction_1.redactTraceText);
111
+ }
112
+ if (sanitized.verificationFailedCommands) {
113
+ sanitized.verificationFailedCommands = sanitized.verificationFailedCommands.map(redaction_1.redactTraceText);
114
+ }
115
+ if (sanitized.verificationMissingCommands) {
116
+ sanitized.verificationMissingCommands = sanitized.verificationMissingCommands.map(redaction_1.redactTraceText);
117
+ }
118
+ return sanitized;
119
+ }
46
120
  // ============================================================================
47
121
  // Project helpers
48
122
  // ============================================================================
@@ -353,6 +427,25 @@ function markSessionTranscriptDisplayStart(sessionId, timestamp = Date.now()) {
353
427
  saveSessionMeta(session);
354
428
  return session;
355
429
  }
430
+ function persistSessionCompactHistory(sessionId, messages, timestamp = Date.now()) {
431
+ const session = loadSessionMeta(sessionId);
432
+ if (!session)
433
+ return null;
434
+ const compactMessages = messages.map(message => ({
435
+ role: message.role,
436
+ content: message.content,
437
+ timestamp,
438
+ toolCallId: message.tool_call_id,
439
+ tool_calls: message.tool_calls,
440
+ }));
441
+ appendSessionMessages(sessionId, compactMessages);
442
+ return markSessionTranscriptDisplayStart(sessionId, timestamp);
443
+ }
444
+ function hasPersistedCompactContext(messages) {
445
+ return messages.some(message => message.content.includes('[OpenHorse Context State v2]')
446
+ || message.content.includes('[Context Summary]')
447
+ || message.content.includes('## Context Capsule'));
448
+ }
356
449
  /**
357
450
  * 结束会话
358
451
  */
@@ -397,7 +490,7 @@ function updateSessionSummary(sessionId, messages) {
397
490
  }
398
491
  // 提取任务摘要(从第一个用户消息)
399
492
  const firstUserMsg = messages.find(m => m.role === 'user' && m.content);
400
- const taskSummary = firstUserMsg?.content?.slice(0, 100) || '';
493
+ const taskSummary = (0, redaction_1.redactTraceText)(firstUserMsg?.content ?? '').slice(0, 100);
401
494
  // 更新 session
402
495
  session.toolsUsed = [...new Set(toolsUsed)]; // unique
403
496
  session.filesModified = [...new Set(filesModified)]; // unique
@@ -558,13 +651,70 @@ function readSessionMessages(sessionId) {
558
651
  return [];
559
652
  }
560
653
  }
654
+ function appendSessionTraceEvent(sessionId, event) {
655
+ const session = loadSessionMeta(sessionId);
656
+ if (!session)
657
+ return null;
658
+ (0, config_dir_1.ensureConfigDir)();
659
+ const safeEvent = sanitizeTraceEvent(event);
660
+ const traceEvent = {
661
+ ...safeEvent,
662
+ sessionId,
663
+ turnId: String(safeEvent.turnId),
664
+ timestamp: safeEvent.timestamp ?? Date.now(),
665
+ };
666
+ (0, fs_1.appendFileSync)((0, config_dir_1.getProjectSessionTracePath)(session.projectPath, sessionId), `${JSON.stringify(traceEvent)}\n`, { mode: 0o600 });
667
+ return traceEvent;
668
+ }
669
+ function readSessionTraceEvents(sessionId) {
670
+ const session = loadSessionMeta(sessionId);
671
+ if (!session)
672
+ return [];
673
+ const path = (0, config_dir_1.getProjectSessionTracePath)(session.projectPath, sessionId);
674
+ if (!(0, fs_1.existsSync)(path))
675
+ return [];
676
+ try {
677
+ const content = (0, fs_1.readFileSync)(path, 'utf-8');
678
+ return content.trim().split('\n').filter(Boolean).flatMap(line => {
679
+ try {
680
+ const parsed = JSON.parse(line);
681
+ if (!parsed.type || !parsed.turnId || !parsed.timestamp)
682
+ return [];
683
+ const sanitized = sanitizeTraceEvent({
684
+ ...parsed,
685
+ turnId: String(parsed.turnId),
686
+ });
687
+ return [{
688
+ ...sanitized,
689
+ sessionId,
690
+ turnId: String(sanitized.turnId),
691
+ }];
692
+ }
693
+ catch {
694
+ return [];
695
+ }
696
+ });
697
+ }
698
+ catch {
699
+ return [];
700
+ }
701
+ }
561
702
  /**
562
703
  * 读取会话消息并转换为 Message 格式(用于恢复对话历史)
563
704
  * 包含完整的 tool_calls 信息,确保 LLM 能理解之前的工具调用
564
705
  */
565
706
  function loadSessionHistory(sessionId) {
566
707
  const messages = readSessionMessages(sessionId);
567
- return messages.map(m => {
708
+ const session = loadSessionMeta(sessionId);
709
+ const displayStartTime = session?.transcriptDisplayStartTime;
710
+ let modelVisibleMessages = messages;
711
+ if (typeof displayStartTime === 'number') {
712
+ const afterDisplayStart = messages.filter(message => (message.timestamp ?? 0) >= displayStartTime);
713
+ modelVisibleMessages = hasPersistedCompactContext(afterDisplayStart)
714
+ ? afterDisplayStart
715
+ : messages;
716
+ }
717
+ return modelVisibleMessages.map(m => {
568
718
  const result = {
569
719
  role: m.role,
570
720
  content: m.modelVisibleContent ?? m.content,
@@ -687,6 +837,7 @@ function deleteSession(sessionId) {
687
837
  (0, config_dir_1.getProjectSessionMetaPath)(session.projectPath, sessionId),
688
838
  (0, config_dir_1.getProjectSessionMessagesPath)(session.projectPath, sessionId),
689
839
  (0, config_dir_1.getProjectSessionHarnessPath)(session.projectPath, sessionId),
840
+ (0, config_dir_1.getProjectSessionTracePath)(session.projectPath, sessionId),
690
841
  ];
691
842
  (0, session_index_1.deleteSessionIndex)(sessionId, session.projectPath);
692
843
  for (const path of uniquePaths(paths)) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export interface VerificationProfile {
2
+ profile: 'node' | 'python' | 'rust' | 'go' | 'docs' | 'generic';
3
+ required: boolean;
4
+ commands: string[];
5
+ changedFiles: string[];
6
+ reason: string;
7
+ }
8
+ export interface VerificationCommandResult {
9
+ command: string;
10
+ success: boolean;
11
+ outputBytes?: number;
12
+ error?: string;
13
+ }
14
+ export interface VerificationSummary {
15
+ profile: VerificationProfile['profile'];
16
+ required: boolean;
17
+ commandsRun: string[];
18
+ passedCommands: string[];
19
+ failedCommands: string[];
20
+ missingCommands: string[];
21
+ claimAllowed: boolean;
22
+ skippedReason?: string;
23
+ }
24
+ export declare function shouldGateCompletion(summary: VerificationSummary): boolean;
25
+ export declare function formatVerificationGateNotice(summary: VerificationSummary): string;
26
+ export declare function isVerificationCommand(command: string): boolean;
27
+ export declare function collectVerificationCommandResult(params: {
28
+ toolName: string;
29
+ args: Record<string, unknown>;
30
+ success: boolean;
31
+ outputBytes?: number;
32
+ error?: string;
33
+ }): VerificationCommandResult | null;
34
+ export declare function summarizeVerificationState(profile: VerificationProfile, results: VerificationCommandResult[]): VerificationSummary;
35
+ export declare function selectVerificationProfile(cwd: string, changedFiles: string[]): VerificationProfile;
36
+ //# sourceMappingURL=verification-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-profile.d.ts","sourceRoot":"","sources":["../../src/services/verification-profile.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAE1E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAuBjF;AAkCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAS9D;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,yBAAyB,GAAG,IAAI,CAUnC;AA4BD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,yBAAyB,EAAE,GACnC,mBAAmB,CA+BrB;AAwBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAiFlG"}
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldGateCompletion = shouldGateCompletion;
4
+ exports.formatVerificationGateNotice = formatVerificationGateNotice;
5
+ exports.isVerificationCommand = isVerificationCommand;
6
+ exports.collectVerificationCommandResult = collectVerificationCommandResult;
7
+ exports.summarizeVerificationState = summarizeVerificationState;
8
+ exports.selectVerificationProfile = selectVerificationProfile;
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
11
+ function shouldGateCompletion(summary) {
12
+ return summary.required && !summary.claimAllowed;
13
+ }
14
+ function formatVerificationGateNotice(summary) {
15
+ const lines = [
16
+ '[OpenHorse Verification Gate]',
17
+ 'This turn changed files, but required verification is incomplete. Do not claim verified completion yet.',
18
+ ];
19
+ if (summary.passedCommands.length > 0) {
20
+ lines.push('Passed checks:');
21
+ lines.push(...summary.passedCommands.map(command => `- ${command}`));
22
+ }
23
+ if (summary.failedCommands.length > 0) {
24
+ lines.push('Failed checks:');
25
+ lines.push(...summary.failedCommands.map(command => `- ${command}`));
26
+ }
27
+ if (summary.missingCommands.length > 0) {
28
+ lines.push('Missing checks:');
29
+ lines.push(...summary.missingCommands.map(command => `- ${command}`));
30
+ }
31
+ if (summary.skippedReason) {
32
+ lines.push(`Reason: ${summary.skippedReason}`);
33
+ }
34
+ lines.push('Next action: run the missing checks, fix failures, or explicitly explain why verification is skipped.');
35
+ return lines.join('\n');
36
+ }
37
+ function hasAnyExtension(files, extensions) {
38
+ return files.some(file => extensions.some(extension => file.endsWith(extension)));
39
+ }
40
+ function hasAnyPath(files, paths) {
41
+ return files.some(file => paths.some(target => file === target || file.startsWith(`${target}/`)));
42
+ }
43
+ function readPackageScripts(cwd) {
44
+ const packagePath = (0, path_1.join)(cwd, 'package.json');
45
+ if (!(0, fs_1.existsSync)(packagePath))
46
+ return {};
47
+ try {
48
+ const parsed = JSON.parse((0, fs_1.readFileSync)(packagePath, 'utf8'));
49
+ if (!parsed.scripts || typeof parsed.scripts !== 'object')
50
+ return {};
51
+ return parsed.scripts;
52
+ }
53
+ catch {
54
+ return {};
55
+ }
56
+ }
57
+ function hasUsefulScript(scripts, name) {
58
+ const script = scripts[name];
59
+ return typeof script === 'string'
60
+ && script.trim().length > 0
61
+ && !/no test specified/i.test(script);
62
+ }
63
+ function normalizeCommand(command) {
64
+ return command.trim().replace(/\s+/g, ' ');
65
+ }
66
+ function isVerificationCommand(command) {
67
+ const normalized = normalizeCommand(command);
68
+ return /(^|\s)(npm|pnpm|yarn|bun)\s+(run\s+)?(build|test|lint|check)\b/i.test(normalized)
69
+ || /(^|\s)(npm|pnpm|yarn|bun)\s+run\s+prepublishOnly\b/i.test(normalized)
70
+ || /(^|\s)(jest|vitest|mocha|ava|tsc|eslint)\b/i.test(normalized)
71
+ || /(^|\s)(pytest|ruff|mypy|pyright|ty)\b/i.test(normalized)
72
+ || /^uv\s+run\s+(pytest|ruff|mypy|pyright|ty)\b/i.test(normalized)
73
+ || /^cargo\s+(test|clippy|check)\b/i.test(normalized)
74
+ || /^go\s+test\b/i.test(normalized);
75
+ }
76
+ function collectVerificationCommandResult(params) {
77
+ if (params.toolName !== 'exec_command')
78
+ return null;
79
+ const command = typeof params.args.command === 'string' ? normalizeCommand(params.args.command) : '';
80
+ if (!command || !isVerificationCommand(command))
81
+ return null;
82
+ return {
83
+ command,
84
+ success: params.success,
85
+ outputBytes: params.outputBytes,
86
+ error: params.error,
87
+ };
88
+ }
89
+ function isNpmBuildCommand(command) {
90
+ return /^(npm|pnpm|yarn|bun)\s+run\s+build\b/i.test(command);
91
+ }
92
+ function isNpmTestCommand(command) {
93
+ return /^(npm|pnpm|yarn|bun)\s+(run\s+)?test(\s+--\s+--runInBand)?$/i.test(command);
94
+ }
95
+ function isPrepublishCommand(command) {
96
+ return /^(npm|pnpm|yarn|bun)\s+run\s+prepublishOnly\b/i.test(command);
97
+ }
98
+ function passedCommandCoversExpected(passed, expected) {
99
+ if (passed === expected)
100
+ return true;
101
+ if (isPrepublishCommand(passed) && (isNpmBuildCommand(expected) || isNpmTestCommand(expected))) {
102
+ return true;
103
+ }
104
+ if (isNpmTestCommand(expected) && isNpmTestCommand(passed)) {
105
+ return true;
106
+ }
107
+ return false;
108
+ }
109
+ function summarizeVerificationState(profile, results) {
110
+ const commandsRun = [...new Set(results.map(result => normalizeCommand(result.command)))];
111
+ const passedCommands = [...new Set(results.filter(result => result.success).map(result => normalizeCommand(result.command)))];
112
+ const failedCommands = [...new Set(results.filter(result => !result.success).map(result => normalizeCommand(result.command)))];
113
+ const expectedCommands = profile.commands.map(normalizeCommand);
114
+ const missingCommands = expectedCommands.filter(command => !passedCommands.some(passed => passedCommandCoversExpected(passed, command)));
115
+ let skippedReason;
116
+ if (!profile.required) {
117
+ skippedReason = 'Verification is not required for this profile.';
118
+ }
119
+ else if (expectedCommands.length === 0) {
120
+ skippedReason = 'No verification commands were inferred for this profile.';
121
+ }
122
+ else if (missingCommands.length > 0 && commandsRun.length === 0) {
123
+ skippedReason = 'No expected verification command has been run yet.';
124
+ }
125
+ else if (missingCommands.length > 0) {
126
+ skippedReason = 'Some expected verification commands have not passed yet.';
127
+ }
128
+ return {
129
+ profile: profile.profile,
130
+ required: profile.required,
131
+ commandsRun,
132
+ passedCommands,
133
+ failedCommands,
134
+ missingCommands,
135
+ claimAllowed: !profile.required
136
+ || (expectedCommands.length > 0 && missingCommands.length === 0 && failedCommands.length === 0),
137
+ skippedReason,
138
+ };
139
+ }
140
+ function nodeCommands(cwd) {
141
+ const scripts = readPackageScripts(cwd);
142
+ const commands = [];
143
+ if (hasUsefulScript(scripts, 'build'))
144
+ commands.push('npm run build');
145
+ if (hasUsefulScript(scripts, 'test'))
146
+ commands.push('npm test -- --runInBand');
147
+ if (hasUsefulScript(scripts, 'lint'))
148
+ commands.push('npm run lint');
149
+ return commands;
150
+ }
151
+ function pythonCommands(cwd) {
152
+ if ((0, fs_1.existsSync)((0, path_1.join)(cwd, 'pyproject.toml'))) {
153
+ return [
154
+ 'uv run pytest',
155
+ 'uv run ruff check .',
156
+ ];
157
+ }
158
+ if ((0, fs_1.existsSync)((0, path_1.join)(cwd, 'pytest.ini')) || (0, fs_1.existsSync)((0, path_1.join)(cwd, 'tests'))) {
159
+ return ['pytest'];
160
+ }
161
+ return [];
162
+ }
163
+ function selectVerificationProfile(cwd, changedFiles) {
164
+ const files = [...new Set(changedFiles)].sort();
165
+ if (files.length === 0) {
166
+ return {
167
+ profile: 'generic',
168
+ required: false,
169
+ commands: [],
170
+ changedFiles: files,
171
+ reason: 'No workspace files changed during this turn.',
172
+ };
173
+ }
174
+ const docsOnly = files.every(file => /\.(md|mdx|txt|rst)$/i.test(file) || file.startsWith('docs/'));
175
+ if (docsOnly) {
176
+ return {
177
+ profile: 'docs',
178
+ required: false,
179
+ commands: [],
180
+ changedFiles: files,
181
+ reason: 'Documentation-only changes usually require review, not automated test commands.',
182
+ };
183
+ }
184
+ const nodeLike = (0, fs_1.existsSync)((0, path_1.join)(cwd, 'package.json'))
185
+ && (hasAnyExtension(files, ['.ts', '.tsx', '.js', '.jsx', '.json'])
186
+ || hasAnyPath(files, ['src', 'tests', 'bin']));
187
+ if (nodeLike) {
188
+ const commands = nodeCommands(cwd);
189
+ return {
190
+ profile: 'node',
191
+ required: true,
192
+ commands,
193
+ changedFiles: files,
194
+ reason: commands.length > 0
195
+ ? 'Node/TypeScript project changes detected from package.json and changed file paths.'
196
+ : 'Node/TypeScript project changes detected, but no build/test/lint scripts are configured.',
197
+ };
198
+ }
199
+ const pythonLike = ((0, fs_1.existsSync)((0, path_1.join)(cwd, 'pyproject.toml')) || (0, fs_1.existsSync)((0, path_1.join)(cwd, 'pytest.ini')))
200
+ && hasAnyExtension(files, ['.py', '.toml']);
201
+ if (pythonLike) {
202
+ const commands = pythonCommands(cwd);
203
+ return {
204
+ profile: 'python',
205
+ required: true,
206
+ commands,
207
+ changedFiles: files,
208
+ reason: commands.length > 0
209
+ ? 'Python project changes detected from project files and changed file paths.'
210
+ : 'Python project changes detected, but no known test command was inferred.',
211
+ };
212
+ }
213
+ if ((0, fs_1.existsSync)((0, path_1.join)(cwd, 'Cargo.toml')) && hasAnyExtension(files, ['.rs', '.toml'])) {
214
+ return {
215
+ profile: 'rust',
216
+ required: true,
217
+ commands: ['cargo test'],
218
+ changedFiles: files,
219
+ reason: 'Rust project changes detected from Cargo.toml and changed file paths.',
220
+ };
221
+ }
222
+ if ((0, fs_1.existsSync)((0, path_1.join)(cwd, 'go.mod')) && hasAnyExtension(files, ['.go', '.mod', '.sum'])) {
223
+ return {
224
+ profile: 'go',
225
+ required: true,
226
+ commands: ['go test ./...'],
227
+ changedFiles: files,
228
+ reason: 'Go project changes detected from go.mod and changed file paths.',
229
+ };
230
+ }
231
+ return {
232
+ profile: 'generic',
233
+ required: true,
234
+ commands: [],
235
+ changedFiles: files,
236
+ reason: 'Files changed, but no repo-specific verification profile was inferred.',
237
+ };
238
+ }
239
+ //# sourceMappingURL=verification-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-profile.js","sourceRoot":"","sources":["../../src/services/verification-profile.ts"],"names":[],"mappings":"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"}