night-orch 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -108
  3. package/dist/cli/commands/doctor.d.ts +1 -0
  4. package/dist/cli/commands/doctor.d.ts.map +1 -1
  5. package/dist/cli/commands/doctor.js +18 -0
  6. package/dist/cli/commands/doctor.js.map +1 -1
  7. package/dist/cli/commands/monitoring.d.ts.map +1 -1
  8. package/dist/cli/commands/monitoring.js +7 -3
  9. package/dist/cli/commands/monitoring.js.map +1 -1
  10. package/dist/cli/commands/settings.d.ts.map +1 -1
  11. package/dist/cli/commands/settings.js +40 -4
  12. package/dist/cli/commands/settings.js.map +1 -1
  13. package/dist/cli/commands/status.d.ts.map +1 -1
  14. package/dist/cli/commands/status.js +26 -3
  15. package/dist/cli/commands/status.js.map +1 -1
  16. package/dist/cli/index.js +3 -2
  17. package/dist/cli/index.js.map +1 -1
  18. package/dist/cli/tui/app.d.ts.map +1 -1
  19. package/dist/cli/tui/app.js +52 -3
  20. package/dist/cli/tui/app.js.map +1 -1
  21. package/dist/cli/tui/header.d.ts.map +1 -1
  22. package/dist/cli/tui/header.js +2 -1
  23. package/dist/cli/tui/header.js.map +1 -1
  24. package/dist/cli/tui/settings-view.d.ts.map +1 -1
  25. package/dist/cli/tui/settings-view.js +22 -5
  26. package/dist/cli/tui/settings-view.js.map +1 -1
  27. package/dist/cli/tui/stats-view.js +2 -2
  28. package/dist/cli/tui/stats-view.js.map +1 -1
  29. package/dist/config/loader.d.ts.map +1 -1
  30. package/dist/config/loader.js +141 -13
  31. package/dist/config/loader.js.map +1 -1
  32. package/dist/config/schema.d.ts +903 -21
  33. package/dist/config/schema.d.ts.map +1 -1
  34. package/dist/config/schema.js +77 -6
  35. package/dist/config/schema.js.map +1 -1
  36. package/dist/forge/types.d.ts +7 -0
  37. package/dist/forge/types.d.ts.map +1 -1
  38. package/dist/git/repo.d.ts +8 -0
  39. package/dist/git/repo.d.ts.map +1 -1
  40. package/dist/git/repo.js +19 -0
  41. package/dist/git/repo.js.map +1 -1
  42. package/dist/git/worktree.d.ts +3 -0
  43. package/dist/git/worktree.d.ts.map +1 -1
  44. package/dist/git/worktree.js +43 -21
  45. package/dist/git/worktree.js.map +1 -1
  46. package/dist/loop/cost.d.ts +33 -8
  47. package/dist/loop/cost.d.ts.map +1 -1
  48. package/dist/loop/cost.js +250 -46
  49. package/dist/loop/cost.js.map +1 -1
  50. package/dist/loop/decision.js +3 -3
  51. package/dist/loop/decision.js.map +1 -1
  52. package/dist/loop/engine.d.ts +1 -0
  53. package/dist/loop/engine.d.ts.map +1 -1
  54. package/dist/loop/engine.js +76 -13
  55. package/dist/loop/engine.js.map +1 -1
  56. package/dist/loop/parallel.d.ts.map +1 -1
  57. package/dist/loop/parallel.js +2 -0
  58. package/dist/loop/parallel.js.map +1 -1
  59. package/dist/loop/pricing.d.ts +11 -4
  60. package/dist/loop/pricing.d.ts.map +1 -1
  61. package/dist/loop/pricing.js +62 -20
  62. package/dist/loop/pricing.js.map +1 -1
  63. package/dist/loop/progress.d.ts +24 -0
  64. package/dist/loop/progress.d.ts.map +1 -0
  65. package/dist/loop/progress.js +52 -0
  66. package/dist/loop/progress.js.map +1 -0
  67. package/dist/loop/step-executor.d.ts +4 -5
  68. package/dist/loop/step-executor.d.ts.map +1 -1
  69. package/dist/loop/step-executor.js +1 -0
  70. package/dist/loop/step-executor.js.map +1 -1
  71. package/dist/loop/types.d.ts +17 -0
  72. package/dist/loop/types.d.ts.map +1 -1
  73. package/dist/mcp/tools/admin.d.ts +29 -0
  74. package/dist/mcp/tools/admin.d.ts.map +1 -0
  75. package/dist/mcp/tools/admin.js +89 -0
  76. package/dist/mcp/tools/admin.js.map +1 -0
  77. package/dist/mcp/tools/auth.d.ts +3 -0
  78. package/dist/mcp/tools/auth.d.ts.map +1 -0
  79. package/dist/mcp/tools/auth.js +19 -0
  80. package/dist/mcp/tools/auth.js.map +1 -0
  81. package/dist/mcp/tools/index.d.ts.map +1 -1
  82. package/dist/mcp/tools/index.js +5 -533
  83. package/dist/mcp/tools/index.js.map +1 -1
  84. package/dist/mcp/tools/operations.d.ts +32 -0
  85. package/dist/mcp/tools/operations.d.ts.map +1 -0
  86. package/dist/mcp/tools/operations.js +95 -0
  87. package/dist/mcp/tools/operations.js.map +1 -0
  88. package/dist/mcp/tools/settings.d.ts +12 -0
  89. package/dist/mcp/tools/settings.d.ts.map +1 -0
  90. package/dist/mcp/tools/settings.js +58 -0
  91. package/dist/mcp/tools/settings.js.map +1 -0
  92. package/dist/mcp/tools/status.d.ts +25 -0
  93. package/dist/mcp/tools/status.d.ts.map +1 -0
  94. package/dist/mcp/tools/status.js +307 -0
  95. package/dist/mcp/tools/status.js.map +1 -0
  96. package/dist/ops/continue.js +6 -1
  97. package/dist/ops/continue.js.map +1 -1
  98. package/dist/ops/project-check.d.ts +15 -0
  99. package/dist/ops/project-check.d.ts.map +1 -0
  100. package/dist/ops/project-check.js +136 -0
  101. package/dist/ops/project-check.js.map +1 -0
  102. package/dist/ops/rebase-and-check.d.ts +2 -1
  103. package/dist/ops/rebase-and-check.d.ts.map +1 -1
  104. package/dist/ops/rebase-and-check.js +2 -2
  105. package/dist/ops/rebase-and-check.js.map +1 -1
  106. package/dist/ops/rebase.d.ts +8 -5
  107. package/dist/ops/rebase.d.ts.map +1 -1
  108. package/dist/ops/rebase.js +43 -29
  109. package/dist/ops/rebase.js.map +1 -1
  110. package/dist/runner/comment-commands.d.ts +20 -0
  111. package/dist/runner/comment-commands.d.ts.map +1 -0
  112. package/dist/runner/comment-commands.js +221 -0
  113. package/dist/runner/comment-commands.js.map +1 -0
  114. package/dist/runner/helpers.d.ts +57 -0
  115. package/dist/runner/helpers.d.ts.map +1 -0
  116. package/dist/runner/helpers.js +259 -0
  117. package/dist/runner/helpers.js.map +1 -0
  118. package/dist/runner/poller.d.ts.map +1 -1
  119. package/dist/runner/poller.js +19 -781
  120. package/dist/runner/poller.js.map +1 -1
  121. package/dist/runner/reaction-scan.d.ts +17 -0
  122. package/dist/runner/reaction-scan.d.ts.map +1 -0
  123. package/dist/runner/reaction-scan.js +33 -0
  124. package/dist/runner/reaction-scan.js.map +1 -0
  125. package/dist/runner/run-finalizer.d.ts +30 -0
  126. package/dist/runner/run-finalizer.d.ts.map +1 -0
  127. package/dist/runner/run-finalizer.js +217 -0
  128. package/dist/runner/run-finalizer.js.map +1 -0
  129. package/dist/settings/definitions/github.d.ts +3 -0
  130. package/dist/settings/definitions/github.d.ts.map +1 -0
  131. package/dist/settings/definitions/github.js +267 -0
  132. package/dist/settings/definitions/github.js.map +1 -0
  133. package/dist/settings/definitions/loop.d.ts +3 -0
  134. package/dist/settings/definitions/loop.d.ts.map +1 -0
  135. package/dist/settings/definitions/loop.js +113 -0
  136. package/dist/settings/definitions/loop.js.map +1 -0
  137. package/dist/settings/definitions/observability.d.ts +3 -0
  138. package/dist/settings/definitions/observability.d.ts.map +1 -0
  139. package/dist/settings/definitions/observability.js +74 -0
  140. package/dist/settings/definitions/observability.js.map +1 -0
  141. package/dist/settings/definitions/security.d.ts +3 -0
  142. package/dist/settings/definitions/security.d.ts.map +1 -0
  143. package/dist/settings/definitions/security.js +121 -0
  144. package/dist/settings/definitions/security.js.map +1 -0
  145. package/dist/settings/registry.d.ts +82 -6
  146. package/dist/settings/registry.d.ts.map +1 -1
  147. package/dist/settings/registry.js +301 -194
  148. package/dist/settings/registry.js.map +1 -1
  149. package/dist/settings/runtime.d.ts +5 -1
  150. package/dist/settings/runtime.d.ts.map +1 -1
  151. package/dist/settings/runtime.js +46 -9
  152. package/dist/settings/runtime.js.map +1 -1
  153. package/dist/state/db.d.ts.map +1 -1
  154. package/dist/state/db.js +2 -0
  155. package/dist/state/db.js.map +1 -1
  156. package/dist/state/migrations/020-cost-ledger.d.ts +3 -0
  157. package/dist/state/migrations/020-cost-ledger.d.ts.map +1 -0
  158. package/dist/state/migrations/020-cost-ledger.js +37 -0
  159. package/dist/state/migrations/020-cost-ledger.js.map +1 -0
  160. package/dist/state/runs.d.ts +1 -0
  161. package/dist/state/runs.d.ts.map +1 -1
  162. package/dist/state/runs.js +3 -0
  163. package/dist/state/runs.js.map +1 -1
  164. package/dist/state/stats.d.ts +20 -0
  165. package/dist/state/stats.d.ts.map +1 -1
  166. package/dist/state/stats.js +68 -8
  167. package/dist/state/stats.js.map +1 -1
  168. package/dist/utils/logger.d.ts +9 -0
  169. package/dist/utils/logger.d.ts.map +1 -1
  170. package/dist/utils/logger.js +13 -0
  171. package/dist/utils/logger.js.map +1 -1
  172. package/dist/web/routes/api-events.d.ts +10 -0
  173. package/dist/web/routes/api-events.d.ts.map +1 -0
  174. package/dist/web/routes/api-events.js +251 -0
  175. package/dist/web/routes/api-events.js.map +1 -0
  176. package/dist/web/routes/api-operations.d.ts +3 -0
  177. package/dist/web/routes/api-operations.d.ts.map +1 -0
  178. package/dist/web/routes/api-operations.js +371 -0
  179. package/dist/web/routes/api-operations.js.map +1 -0
  180. package/dist/web/routes/api-runs.d.ts +3 -0
  181. package/dist/web/routes/api-runs.d.ts.map +1 -0
  182. package/dist/web/routes/api-runs.js +96 -0
  183. package/dist/web/routes/api-runs.js.map +1 -0
  184. package/dist/web/routes/api-settings.d.ts +3 -0
  185. package/dist/web/routes/api-settings.d.ts.map +1 -0
  186. package/dist/web/routes/api-settings.js +61 -0
  187. package/dist/web/routes/api-settings.js.map +1 -0
  188. package/dist/web/routes/context.d.ts +15 -0
  189. package/dist/web/routes/context.d.ts.map +1 -0
  190. package/dist/web/routes/context.js +2 -0
  191. package/dist/web/routes/context.js.map +1 -0
  192. package/dist/web/server.d.ts +58 -1
  193. package/dist/web/server.d.ts.map +1 -1
  194. package/dist/web/server.js +116 -847
  195. package/dist/web/server.js.map +1 -1
  196. package/dist/web/shell-session.d.ts +74 -0
  197. package/dist/web/shell-session.d.ts.map +1 -0
  198. package/dist/web/shell-session.js +279 -0
  199. package/dist/web/shell-session.js.map +1 -0
  200. package/dist/web/snapshots.d.ts +159 -0
  201. package/dist/web/snapshots.d.ts.map +1 -0
  202. package/dist/web/snapshots.js +231 -0
  203. package/dist/web/snapshots.js.map +1 -0
  204. package/dist/workers/acp.d.ts.map +1 -1
  205. package/dist/workers/acp.js +116 -0
  206. package/dist/workers/acp.js.map +1 -1
  207. package/dist/workers/claude.d.ts.map +1 -1
  208. package/dist/workers/claude.js +13 -3
  209. package/dist/workers/claude.js.map +1 -1
  210. package/dist/workers/codex.d.ts.map +1 -1
  211. package/dist/workers/codex.js +16 -4
  212. package/dist/workers/codex.js.map +1 -1
  213. package/dist/workers/types.d.ts +14 -4
  214. package/dist/workers/types.d.ts.map +1 -1
  215. package/examples/config.example.yaml +12 -3
  216. package/package.json +8 -2
  217. package/web/dist/assets/index-BIrXUwFe.css +1 -0
  218. package/web/dist/assets/index-COMzHPcP.js +26 -0
  219. package/web/dist/index.html +2 -2
  220. package/web/dist/assets/index-k6kgdnzy.js +0 -9
  221. package/web/dist/assets/index-xm9qPlYB.css +0 -1
@@ -0,0 +1,57 @@
1
+ import type { Config } from '../config/schema.js';
2
+ import type { RunRecord } from '../state/runs.js';
3
+ import type { RunManager } from '../state/runs.js';
4
+ import type { ResolvedRoles } from '../discovery/roles.js';
5
+ import type { DiscoveredIssue } from '../discovery/discover.js';
6
+ import type { ResolvedWorkflow } from '../loop/workflow.js';
7
+ import type { RunContext, BlockReason } from '../loop/types.js';
8
+ import type { NotificationPayload } from '../notify/types.js';
9
+ import type { ForgeAdapter } from '../forge/types.js';
10
+ export declare const STATUS_MARKER: string;
11
+ export declare const TAINTED_BLOCK_REASONS: Set<string>;
12
+ export declare function coerceAgentName(value: string, fallback: ResolvedRoles['planner']): ResolvedRoles['planner'];
13
+ export declare function isImmediateFollowupStatus(status: RunRecord['status']): boolean;
14
+ export declare function applyWorkflowAgentOverrides(repoConfig: Config['repos'][number], workflow: ResolvedWorkflow): Config['repos'][number];
15
+ export declare function applyWorkflowRoleDefaults(repoDefaults: Config['repos'][number]['defaults'], workflow: ResolvedWorkflow, repoConfig: Config['repos'][number], config: Config): Config['repos'][number]['defaults'];
16
+ export declare function resolveWorkerProfileForAgent(agent: Config['repos'][number]['defaults']['planner'], repoConfig: Config['repos'][number], config: Config): Config['workerProfiles'][string] | null;
17
+ export declare function buildBlockReason(ctx: RunContext): string;
18
+ export declare function blockReasonSummary(reason: BlockReason, ctx: RunContext): string;
19
+ export declare function formatBlockComment(reason: string, ctx: RunContext): string;
20
+ export declare function makePayload(event: NotificationPayload['event'], repo: string, issue: {
21
+ number: number;
22
+ title: string;
23
+ url?: string;
24
+ }, extra?: Partial<NotificationPayload>): NotificationPayload;
25
+ export interface PostStatusCommentParams {
26
+ forge: ForgeAdapter;
27
+ issueRepo: string;
28
+ issueNumber: number;
29
+ botUser: string;
30
+ body: string;
31
+ warnMessage: string;
32
+ }
33
+ export declare function postStatusComment(params: PostStatusCommentParams): Promise<void>;
34
+ export interface PostErrorStatusCommentParams {
35
+ forge: ForgeAdapter;
36
+ issueRepo: string;
37
+ issueNumber: number;
38
+ botUser: string;
39
+ error: string;
40
+ retryCount: number;
41
+ maxRetries: number;
42
+ nextStep: string;
43
+ warnMessage: string;
44
+ }
45
+ export declare function postErrorStatusComment(params: PostErrorStatusCommentParams): Promise<void>;
46
+ export declare function toErrorMessage(err: unknown): string;
47
+ export declare function sanitizeErrorForComment(errorMessage: string): string;
48
+ export interface FollowupPromptFeedback {
49
+ type: string;
50
+ summary: string;
51
+ context: string;
52
+ }
53
+ export declare function extractFollowupPromptFeedback(phaseData: Record<string, unknown> | null | undefined): FollowupPromptFeedback | null;
54
+ export declare function prioritizeDiscoveredIssues(runManager: RunManager, repo: string, discovered: DiscoveredIssue[]): DiscoveredIssue[];
55
+ export declare function selectReplayableRun(run: RunRecord | null): RunRecord | null;
56
+ export declare function shouldResetBranch(runManager: RunManager, repo: string, issueNumber: number, currentRunId: string): boolean;
57
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/runner/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ import { markerTag, upsertBotComment } from '../forge/bot-comment.js';
2
+ import { formatStatusComment } from '../forge/status-comment.js';
3
+ import { nowUtcIso } from '../utils/time.js';
4
+ import { logger } from '../utils/logger.js';
5
+ export const STATUS_MARKER = markerTag('status');
6
+ export const TAINTED_BLOCK_REASONS = new Set(['agent_pass_limit', 'cost_limit', 'merge_conflict', 'auth_failure']);
7
+ const ERROR_COMMENT_MAX_LENGTH = 400;
8
+ const TOKEN_REDACTION_PATTERNS = [
9
+ /\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,
10
+ /\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,
11
+ /\bsk-[A-Za-z0-9]{20,}\b/g,
12
+ /\bAKIA[0-9A-Z]{16}\b/g,
13
+ /\bASIA[0-9A-Z]{16}\b/g,
14
+ /\bAIza[0-9A-Za-z\-_]{20,}\b/g,
15
+ /\bxox[baprs]-[A-Za-z0-9-]{20,}\b/g,
16
+ ];
17
+ export function coerceAgentName(value, fallback) {
18
+ if (value === 'claude' || value === 'codex' || value === 'opencode') {
19
+ return value;
20
+ }
21
+ return fallback;
22
+ }
23
+ export function isImmediateFollowupStatus(status) {
24
+ return status === 'review_ready'
25
+ || status === 'blocked'
26
+ || status === 'error'
27
+ || status === 'completed';
28
+ }
29
+ export function applyWorkflowAgentOverrides(repoConfig, workflow) {
30
+ if (!workflow.agents || Object.keys(workflow.agents).length === 0) {
31
+ return repoConfig;
32
+ }
33
+ return {
34
+ ...repoConfig,
35
+ agents: {
36
+ ...repoConfig.agents,
37
+ ...workflow.agents,
38
+ },
39
+ };
40
+ }
41
+ export function applyWorkflowRoleDefaults(repoDefaults, workflow, repoConfig, config) {
42
+ if (!workflow.roles) {
43
+ return repoDefaults;
44
+ }
45
+ const merged = {
46
+ ...repoDefaults,
47
+ ...workflow.roles,
48
+ };
49
+ for (const role of ['planner', 'coder', 'reviewer']) {
50
+ const preferredAgent = merged[role];
51
+ if (canResolveAgent(preferredAgent, repoConfig, config))
52
+ continue;
53
+ merged[role] = repoDefaults[role];
54
+ }
55
+ return merged;
56
+ }
57
+ function canResolveAgent(agent, repoConfig, config) {
58
+ return resolveWorkerProfileForAgent(agent, repoConfig, config) !== null;
59
+ }
60
+ export function resolveWorkerProfileForAgent(agent, repoConfig, config) {
61
+ const mappedProfileName = repoConfig.agents[agent];
62
+ if (mappedProfileName) {
63
+ const mappedProfile = config.workerProfiles[mappedProfileName];
64
+ if (mappedProfile)
65
+ return mappedProfile;
66
+ }
67
+ return Object.values(config.workerProfiles).find((profile) => profile.type === agent) ?? null;
68
+ }
69
+ export function buildBlockReason(ctx) {
70
+ const blockMessage = ctx.stepOutputs?.['blockMessage'];
71
+ if (typeof blockMessage === 'string' && blockMessage.trim().length > 0) {
72
+ return blockMessage;
73
+ }
74
+ if (ctx.reviewResult) {
75
+ const findings = ctx.reviewResult.findings
76
+ .filter((f) => f.severity === 'critical' || f.severity === 'major')
77
+ .map((f) => `[${f.severity}] ${f.message}`)
78
+ .join('; ');
79
+ return findings
80
+ ? `${ctx.reviewResult.summary} — ${findings}`
81
+ : ctx.reviewResult.summary;
82
+ }
83
+ if (ctx.blockReason) {
84
+ return blockReasonSummary(ctx.blockReason, ctx);
85
+ }
86
+ return `Blocked in phase ${ctx.currentPhase} (no review result available)`;
87
+ }
88
+ export function blockReasonSummary(reason, ctx) {
89
+ switch (reason) {
90
+ case 'cost_limit':
91
+ return `Cost limit exceeded for this run (estimated run cost: $${ctx.estimatedCostUsd.toFixed(4)})`;
92
+ case 'iteration_limit':
93
+ return `Maximum review iterations reached (${ctx.iteration}/${ctx.adjustedLimits.maxReviewIterations})`;
94
+ case 'agent_pass_limit':
95
+ return `Maximum total agent passes reached (${ctx.totalAgentPasses}/${ctx.adjustedLimits.maxTotalAgentPasses})`;
96
+ case 'reviewer_blocked':
97
+ return 'Reviewer marked this run as blocked';
98
+ case 'ambiguous_review':
99
+ return 'Review output was not parseable and blockOnAmbiguousReview is enabled';
100
+ case 'verify_config':
101
+ return 'Verification is required but verify commands or results are unavailable';
102
+ case 'merge_conflict':
103
+ return 'Merge conflict encountered while applying updates';
104
+ case 'auth_failure':
105
+ return 'Worker CLI authentication expired — re-authenticate and retry';
106
+ default:
107
+ return `Blocked in phase ${ctx.currentPhase}`;
108
+ }
109
+ }
110
+ export function formatBlockComment(reason, ctx) {
111
+ const parts = [`⛔ **night-orch**: Run blocked.\n\n**Reason:** ${reason}`];
112
+ if (ctx.reviewResult?.findings && ctx.reviewResult.findings.length > 0) {
113
+ parts.push('\n**Findings:**');
114
+ for (const f of ctx.reviewResult.findings) {
115
+ const fix = f.suggestedFix ? ` → ${f.suggestedFix}` : '';
116
+ parts.push(`- **${f.severity}**: ${f.message}${fix}`);
117
+ }
118
+ }
119
+ parts.push(`\n*Iteration ${ctx.iteration}, cost: $${ctx.estimatedCostUsd.toFixed(4)}*`);
120
+ return parts.join('\n');
121
+ }
122
+ export function makePayload(event, repo, issue, extra = {}) {
123
+ return {
124
+ event,
125
+ repo,
126
+ issueNumber: issue.number,
127
+ issueTitle: issue.title,
128
+ issueUrl: issue.url ?? null,
129
+ state: event,
130
+ prUrl: null,
131
+ prNumber: null,
132
+ summary: `${event}: #${issue.number} ${issue.title}`,
133
+ blockingReason: null,
134
+ reviewSummary: null,
135
+ iterationCount: 0,
136
+ timestamp: nowUtcIso(),
137
+ ...extra,
138
+ };
139
+ }
140
+ export async function postStatusComment(params) {
141
+ const { forge, issueRepo, issueNumber, botUser, body, warnMessage } = params;
142
+ try {
143
+ if (botUser) {
144
+ await upsertBotComment(forge, issueRepo, issueNumber, STATUS_MARKER, body, botUser);
145
+ }
146
+ else {
147
+ await forge.commentOnIssue(issueRepo, issueNumber, body);
148
+ }
149
+ }
150
+ catch (commentErr) {
151
+ logger.warn({ repo: issueRepo, issueNumber, err: commentErr }, warnMessage);
152
+ }
153
+ }
154
+ export async function postErrorStatusComment(params) {
155
+ const { forge, issueRepo, issueNumber, botUser, error, retryCount, maxRetries, nextStep, warnMessage } = params;
156
+ const sanitizedError = sanitizeErrorForComment(error);
157
+ const body = formatStatusComment({
158
+ error: sanitizedError,
159
+ retryCount,
160
+ maxRetries,
161
+ nextStep,
162
+ });
163
+ await postStatusComment({ forge, issueRepo, issueNumber, botUser, body, warnMessage });
164
+ }
165
+ export function toErrorMessage(err) {
166
+ if (err instanceof Error && typeof err.message === 'string' && err.message.trim().length > 0) {
167
+ return err.message;
168
+ }
169
+ return String(err);
170
+ }
171
+ export function sanitizeErrorForComment(errorMessage) {
172
+ let sanitized = errorMessage.replace(/[\r\n]+/g, ' ');
173
+ sanitized = stripControlChars(sanitized);
174
+ sanitized = sanitized
175
+ .replace(/\b(token|secret|password|passwd|api[_-]?key)\s*[:=]\s*([^\s,;]+)/gi, '$1=[REDACTED]')
176
+ .trim();
177
+ for (const pattern of TOKEN_REDACTION_PATTERNS) {
178
+ sanitized = sanitized.replace(pattern, '[REDACTED]');
179
+ }
180
+ sanitized = sanitized.replace(/\s+/g, ' ').trim();
181
+ if (!sanitized)
182
+ return 'unknown error';
183
+ const clipped = sanitized.length > ERROR_COMMENT_MAX_LENGTH
184
+ ? `${sanitized.slice(0, ERROR_COMMENT_MAX_LENGTH - 1)}…`
185
+ : sanitized;
186
+ return escapeMarkdownForComment(clipped);
187
+ }
188
+ function escapeMarkdownForComment(value) {
189
+ return value
190
+ .replace(/\\/g, '\\\\')
191
+ .replace(/([`*_#[\]])/g, '\\$1')
192
+ .replace(/</g, '&lt;')
193
+ .replace(/>/g, '&gt;')
194
+ .replace(/@/g, '@\u200B');
195
+ }
196
+ function stripControlChars(value) {
197
+ let out = '';
198
+ for (const ch of value) {
199
+ const code = ch.charCodeAt(0);
200
+ if ((code >= 0 && code <= 31) || code === 127) {
201
+ out += ' ';
202
+ continue;
203
+ }
204
+ out += ch;
205
+ }
206
+ return out;
207
+ }
208
+ export function extractFollowupPromptFeedback(phaseData) {
209
+ if (!phaseData)
210
+ return null;
211
+ const context = phaseData['reactionContext'];
212
+ if (typeof context !== 'string' || context.trim().length === 0)
213
+ return null;
214
+ const type = typeof phaseData['reactionType'] === 'string' && phaseData['reactionType'].trim().length > 0
215
+ ? phaseData['reactionType']
216
+ : 'continue';
217
+ const summary = typeof phaseData['reactionSummary'] === 'string' && phaseData['reactionSummary'].trim().length > 0
218
+ ? phaseData['reactionSummary']
219
+ : 'Follow-up context available';
220
+ return { type, summary, context };
221
+ }
222
+ export function prioritizeDiscoveredIssues(runManager, repo, discovered) {
223
+ const ranked = discovered.map((item) => ({
224
+ item,
225
+ rank: getIssueQueuePriority(runManager, repo, item.issue.number),
226
+ }));
227
+ ranked.sort((a, b) => a.rank - b.rank);
228
+ return ranked.map((entry) => entry.item);
229
+ }
230
+ function getIssueQueuePriority(runManager, repo, issueNumber) {
231
+ const queuedRun = runManager.getLatestQueuedByIssue(repo, issueNumber);
232
+ if (!queuedRun)
233
+ return 3;
234
+ const reactionType = queuedRun.phaseData?.reactionType;
235
+ if (reactionType === 'merge_conflict' || reactionType === 'rebase')
236
+ return 0;
237
+ if (typeof reactionType === 'string' && reactionType.length > 0)
238
+ return 1;
239
+ return 2;
240
+ }
241
+ export function selectReplayableRun(run) {
242
+ if (!run)
243
+ return null;
244
+ if (run.status === 'blocked' || run.status === 'review_ready' || run.status === 'error') {
245
+ return run;
246
+ }
247
+ return null;
248
+ }
249
+ export function shouldResetBranch(runManager, repo, issueNumber, currentRunId) {
250
+ const prior = runManager.getLatestFinishedByIssue(repo, issueNumber, currentRunId);
251
+ if (!prior)
252
+ return false;
253
+ if (prior.status === 'error')
254
+ return true;
255
+ if (prior.status === 'blocked' && prior.blockReason && TAINTED_BLOCK_REASONS.has(prior.blockReason))
256
+ return true;
257
+ return false;
258
+ }
259
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/runner/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/runner/poller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AA4D3D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,cAAc,EACxB,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,UAAU,CAAC,CA0tBrB"}
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/runner/poller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAmE3D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAaD;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,cAAc,EACxB,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,UAAU,CAAC,CAssBrB"}