@intrect/openswarm 0.3.0 → 0.4.3

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 (116) hide show
  1. package/LICENSE +674 -21
  2. package/README.md +15 -1
  3. package/config.example.yaml +6 -1
  4. package/dist/adapters/agenticLoop.d.ts +90 -0
  5. package/dist/adapters/agenticLoop.d.ts.map +1 -0
  6. package/dist/adapters/agenticLoop.js +219 -0
  7. package/dist/adapters/agenticLoop.js.map +1 -0
  8. package/dist/adapters/base.d.ts.map +1 -1
  9. package/dist/adapters/base.js +5 -1
  10. package/dist/adapters/base.js.map +1 -1
  11. package/dist/adapters/envPath.d.ts +20 -0
  12. package/dist/adapters/envPath.d.ts.map +1 -0
  13. package/dist/adapters/envPath.js +49 -0
  14. package/dist/adapters/envPath.js.map +1 -0
  15. package/dist/adapters/gpt.d.ts +5 -1
  16. package/dist/adapters/gpt.d.ts.map +1 -1
  17. package/dist/adapters/gpt.js +59 -81
  18. package/dist/adapters/gpt.js.map +1 -1
  19. package/dist/adapters/local.d.ts +9 -0
  20. package/dist/adapters/local.d.ts.map +1 -1
  21. package/dist/adapters/local.js +91 -47
  22. package/dist/adapters/local.js.map +1 -1
  23. package/dist/adapters/tools.d.ts +30 -0
  24. package/dist/adapters/tools.d.ts.map +1 -0
  25. package/dist/adapters/tools.js +219 -0
  26. package/dist/adapters/tools.js.map +1 -0
  27. package/dist/adapters/types.d.ts +2 -0
  28. package/dist/adapters/types.d.ts.map +1 -1
  29. package/dist/agents/draftAnalyzer.d.ts +54 -0
  30. package/dist/agents/draftAnalyzer.d.ts.map +1 -0
  31. package/dist/agents/draftAnalyzer.js +251 -0
  32. package/dist/agents/draftAnalyzer.js.map +1 -0
  33. package/dist/agents/pairPipeline.d.ts +20 -1
  34. package/dist/agents/pairPipeline.d.ts.map +1 -1
  35. package/dist/agents/pairPipeline.js +100 -3
  36. package/dist/agents/pairPipeline.js.map +1 -1
  37. package/dist/agents/reviewer.d.ts.map +1 -1
  38. package/dist/agents/reviewer.js +1 -0
  39. package/dist/agents/reviewer.js.map +1 -1
  40. package/dist/agents/worker.d.ts +3 -0
  41. package/dist/agents/worker.d.ts.map +1 -1
  42. package/dist/agents/worker.js +2 -0
  43. package/dist/agents/worker.js.map +1 -1
  44. package/dist/automation/autonomousRunner.d.ts +9 -0
  45. package/dist/automation/autonomousRunner.d.ts.map +1 -1
  46. package/dist/automation/autonomousRunner.js +18 -4
  47. package/dist/automation/autonomousRunner.js.map +1 -1
  48. package/dist/automation/longRunningMonitor.d.ts.map +1 -1
  49. package/dist/automation/longRunningMonitor.js +128 -8
  50. package/dist/automation/longRunningMonitor.js.map +1 -1
  51. package/dist/automation/runnerExecution.d.ts +6 -1
  52. package/dist/automation/runnerExecution.d.ts.map +1 -1
  53. package/dist/automation/runnerExecution.js +46 -5
  54. package/dist/automation/runnerExecution.js.map +1 -1
  55. package/dist/automation/runnerState.d.ts.map +1 -1
  56. package/dist/automation/runnerState.js +1 -2
  57. package/dist/automation/runnerState.js.map +1 -1
  58. package/dist/automation/scheduler.d.ts.map +1 -1
  59. package/dist/automation/scheduler.js +13 -6
  60. package/dist/automation/scheduler.js.map +1 -1
  61. package/dist/cli/checkHandler.d.ts +2 -0
  62. package/dist/cli/checkHandler.d.ts.map +1 -1
  63. package/dist/cli/checkHandler.js +96 -1
  64. package/dist/cli/checkHandler.js.map +1 -1
  65. package/dist/cli/daemon.d.ts +30 -0
  66. package/dist/cli/daemon.d.ts.map +1 -0
  67. package/dist/cli/daemon.js +141 -0
  68. package/dist/cli/daemon.js.map +1 -0
  69. package/dist/cli.js +100 -6
  70. package/dist/cli.js.map +1 -1
  71. package/dist/core/config.d.ts +1 -1
  72. package/dist/core/config.d.ts.map +1 -1
  73. package/dist/core/config.js +44 -11
  74. package/dist/core/config.js.map +1 -1
  75. package/dist/core/envFile.d.ts +11 -0
  76. package/dist/core/envFile.d.ts.map +1 -0
  77. package/dist/core/envFile.js +99 -0
  78. package/dist/core/envFile.js.map +1 -0
  79. package/dist/core/service.d.ts.map +1 -1
  80. package/dist/core/service.js +8 -2
  81. package/dist/core/service.js.map +1 -1
  82. package/dist/core/types.d.ts +6 -2
  83. package/dist/core/types.d.ts.map +1 -1
  84. package/dist/index.js +32 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/issues/graphql/resolvers.d.ts +2 -2
  87. package/dist/issues/schema.d.ts +1 -1
  88. package/dist/knowledge/index.js +5 -5
  89. package/dist/knowledge/index.js.map +1 -1
  90. package/dist/knowledge/store.d.ts.map +1 -1
  91. package/dist/knowledge/store.js +34 -6
  92. package/dist/knowledge/store.js.map +1 -1
  93. package/dist/linear/linear.d.ts.map +1 -1
  94. package/dist/linear/linear.js +58 -19
  95. package/dist/linear/linear.js.map +1 -1
  96. package/dist/locale/prompts/en.d.ts.map +1 -1
  97. package/dist/locale/prompts/en.js +95 -93
  98. package/dist/locale/prompts/en.js.map +1 -1
  99. package/dist/locale/prompts/ko.d.ts.map +1 -1
  100. package/dist/locale/prompts/ko.js +95 -93
  101. package/dist/locale/prompts/ko.js.map +1 -1
  102. package/dist/locale/types.d.ts +40 -0
  103. package/dist/locale/types.d.ts.map +1 -1
  104. package/dist/registry/graphql/resolvers.d.ts +15 -15
  105. package/dist/registry/schema.d.ts +4 -4
  106. package/dist/support/planner.d.ts +8 -0
  107. package/dist/support/planner.d.ts.map +1 -1
  108. package/dist/support/planner.js +3 -1
  109. package/dist/support/planner.js.map +1 -1
  110. package/dist/support/web.d.ts.map +1 -1
  111. package/dist/support/web.js +56 -19
  112. package/dist/support/web.js.map +1 -1
  113. package/dist/taskState/store.d.ts.map +1 -1
  114. package/dist/taskState/store.js +6 -2
  115. package/dist/taskState/store.js.map +1 -1
  116. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"autonomousRunner.js","sourceRoot":"","sources":["../../src/automation/autonomousRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomousRunner.js","sourceRoot":"","sources":["../../src/automation/autonomousRunner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"longRunningMonitor.d.ts","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAqI1B;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAcvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAsBpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoExD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAErE"}
1
+ {"version":3,"file":"longRunningMonitor.d.ts","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAuP1B;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAcvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CA0BpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoExD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAErE"}
@@ -10,6 +10,93 @@ import { broadcastEvent } from '../core/eventHub.js';
10
10
  // Constants
11
11
  const PERSIST_FILE = join(homedir(), '.claude', 'openswarm-monitors.json');
12
12
  const CHECK_TIMEOUT_MS = 30_000; // Individual check command timeout: 30 seconds
13
+ const MAX_REGEX_LENGTH = 512;
14
+ // Permitted characters for user-supplied regex patterns. Control characters
15
+ // are rejected outright; everything else is standard printable ASCII plus
16
+ // non-ASCII letters/digits that are common in log output. The allowlist
17
+ // doubles as a CodeQL sanitizer for `js/regex-injection`.
18
+ const ALLOWED_REGEX_CHARS = /^[\x20-\x7E\t\u00A0-\uFFFF]*$/;
19
+ /**
20
+ * Safely compile a user-supplied pattern. Returns null on invalid characters,
21
+ * oversize input, or compilation failure so callers can skip matching
22
+ * instead of crashing.
23
+ */
24
+ function safeCompileRegex(pattern) {
25
+ if (!pattern)
26
+ return null;
27
+ if (pattern.length > MAX_REGEX_LENGTH)
28
+ return null;
29
+ if (!ALLOWED_REGEX_CHARS.test(pattern))
30
+ return null;
31
+ try {
32
+ return new RegExp(pattern);
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ // Argv validation: reject null bytes, newlines, and other control chars.
39
+ // Because we never spawn a shell, shell metacharacters are inert — only
40
+ // control characters meaningfully change behavior (e.g. null byte truncation).
41
+ const ARGV_SAFE = /^[^\x00-\x1F\x7F]+$/;
42
+ // Program allowlist for monitor checks. Anything outside this list — or any
43
+ // absolute path outside of the user's own directories — is rejected before
44
+ // it reaches `execFile`, so a misconfigured monitor cannot spawn arbitrary
45
+ // binaries. Extend `ALLOWED_PROGRAMS` deliberately when a new probe is
46
+ // genuinely needed.
47
+ const ALLOWED_PROGRAMS = new Set([
48
+ 'curl',
49
+ 'wget',
50
+ 'ssh',
51
+ 'jq',
52
+ 'grep',
53
+ 'awk',
54
+ 'sed',
55
+ 'cat',
56
+ 'tail',
57
+ 'head',
58
+ 'nvidia-smi',
59
+ 'kubectl',
60
+ 'docker',
61
+ 'podman',
62
+ ]);
63
+ function isAllowedAbsolutePath(program) {
64
+ if (!program.startsWith('/') && !program.startsWith('~/'))
65
+ return false;
66
+ // Resolve `~` via HOME so absolute-path comparisons are meaningful.
67
+ const home = homedir();
68
+ const resolved = program.startsWith('~/') ? home + program.slice(1) : program;
69
+ const allowedPrefixes = [
70
+ '/usr/local/bin/',
71
+ '/usr/local/sbin/',
72
+ '/opt/',
73
+ `${home}/bin/`,
74
+ `${home}/.local/bin/`,
75
+ `${home}/scripts/`,
76
+ `${home}/.openswarm/monitors/`,
77
+ ];
78
+ return allowedPrefixes.some(p => resolved.startsWith(p));
79
+ }
80
+ function isAllowedProgram(program) {
81
+ // Reject anything that could be interpreted as a path-shell construct or
82
+ // contain separators we haven't validated.
83
+ if (program.includes('..'))
84
+ return false;
85
+ // Bare program name (no slash) → must appear in the allowlist. We look it
86
+ // up via PATH at exec time, which is the standard behaviour.
87
+ if (!program.includes('/'))
88
+ return ALLOWED_PROGRAMS.has(program);
89
+ // Otherwise it must be an absolute path (or `~/...`) into a known location.
90
+ return isAllowedAbsolutePath(program);
91
+ }
92
+ function isValidArgv(argv) {
93
+ if (!Array.isArray(argv) || argv.length === 0)
94
+ return false;
95
+ if (!argv.every(a => typeof a === 'string' && a.length > 0 && a.length <= 4096 && ARGV_SAFE.test(a))) {
96
+ return false;
97
+ }
98
+ return isAllowedProgram(argv[0]);
99
+ }
13
100
  // State
14
101
  const monitors = new Map();
15
102
  function loadFromDisk() {
@@ -17,15 +104,24 @@ function loadFromDisk() {
17
104
  if (!existsSync(PERSIST_FILE))
18
105
  return;
19
106
  const data = JSON.parse(readFileSync(PERSIST_FILE, 'utf-8'));
107
+ let skippedLegacy = 0;
20
108
  for (const m of data.monitors) {
21
- // Only restore pending/running (completed/failed/timeout are already finished)
22
- if (m.state === 'pending' || m.state === 'running') {
23
- monitors.set(m.id, m);
109
+ if (m.state !== 'pending' && m.state !== 'running')
110
+ continue;
111
+ // Legacy persisted monitors may have a string checkCommand. Skip them
112
+ // rather than crash; the user can re-register with the new argv form.
113
+ if (!isValidArgv(m.checkCommand)) {
114
+ skippedLegacy++;
115
+ continue;
24
116
  }
117
+ monitors.set(m.id, m);
25
118
  }
26
119
  if (monitors.size > 0) {
27
120
  console.log(`[Monitor] Restored ${monitors.size} monitors from disk`);
28
121
  }
122
+ if (skippedLegacy > 0) {
123
+ console.warn(`[Monitor] Skipped ${skippedLegacy} legacy monitor(s) with string checkCommand — please re-register with argv arrays`);
124
+ }
29
125
  }
30
126
  catch (err) {
31
127
  console.warn('[Monitor] Failed to load persisted monitors:', err);
@@ -45,11 +141,30 @@ function saveToDisk() {
45
141
  }
46
142
  }
47
143
  // Check Execution
48
- function executeCheck(command) {
144
+ function executeCheck(argv) {
49
145
  return new Promise((resolve) => {
50
- const proc = execFile('bash', ['-c', command], {
146
+ if (!isValidArgv(argv)) {
147
+ resolve({ exitCode: 1, stdout: '', stderr: 'invalid checkCommand argv' });
148
+ return;
149
+ }
150
+ const [rawProgram, ...args] = argv;
151
+ // Double-check the program against the allowlist at the call site so the
152
+ // flow into `execFile` cannot receive anything unvetted even if
153
+ // `isValidArgv` were bypassed. The resolved program is always either a
154
+ // bare name from ALLOWED_PROGRAMS or an absolute path under a trusted
155
+ // prefix.
156
+ if (!isAllowedProgram(rawProgram)) {
157
+ resolve({ exitCode: 1, stdout: '', stderr: 'program not in allowlist' });
158
+ return;
159
+ }
160
+ const program = rawProgram;
161
+ // No shell: execFile with shell:false treats program/args as literal
162
+ // tokens. Pipes, redirects, substitutions, and other shell operators
163
+ // in argv are inert because nothing interprets them.
164
+ const proc = execFile(program, args, {
51
165
  timeout: CHECK_TIMEOUT_MS,
52
166
  maxBuffer: 1024 * 1024,
167
+ shell: false,
53
168
  }, (error, stdout, stderr) => {
54
169
  resolve({
55
170
  exitCode: error?.code !== undefined
@@ -70,10 +185,12 @@ function evaluateResult(check, exitCode, stdout) {
70
185
  return exitCode === successCode ? 'running' : 'completed';
71
186
  }
72
187
  case 'output-regex': {
73
- if (check.failurePattern && new RegExp(check.failurePattern).test(stdout)) {
188
+ const failureRe = safeCompileRegex(check.failurePattern);
189
+ if (failureRe && failureRe.test(stdout)) {
74
190
  return 'failed';
75
191
  }
76
- if (new RegExp(check.successPattern).test(stdout)) {
192
+ const successRe = safeCompileRegex(check.successPattern);
193
+ if (successRe && successRe.test(stdout)) {
77
194
  return 'completed';
78
195
  }
79
196
  return 'running';
@@ -127,6 +244,9 @@ export function initMonitors(configs) {
127
244
  * Register a monitor
128
245
  */
129
246
  export function registerMonitor(config) {
247
+ if (!isValidArgv(config.checkCommand)) {
248
+ throw new Error('registerMonitor: checkCommand must be a non-empty string[] of safe tokens');
249
+ }
130
250
  const monitor = {
131
251
  ...config,
132
252
  checkInterval: config.checkInterval ?? 1,
@@ -208,7 +328,7 @@ export async function checkAllMonitors() {
208
328
  checkedCount++;
209
329
  }
210
330
  catch (err) {
211
- console.error(`[Monitor] Check failed for ${monitor.name}:`, err);
331
+ console.error('[Monitor] Check failed for %s:', monitor.name, err);
212
332
  }
213
333
  }
214
334
  if (checkedCount > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"longRunningMonitor.js","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"longRunningMonitor.js","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { TaskItem, DecisionResult } from '../orchestration/decisionEngine.j
3
3
  import type { ExecutorResult } from '../orchestration/workflow.js';
4
4
  import type { PipelineResult } from '../agents/pairPipeline.js';
5
5
  import type { DefaultRolesConfig, JobProfile } from '../core/types.js';
6
+ import { type DraftAnalysis } from '../agents/draftAnalyzer.js';
6
7
  type DiscordSendFn = (content: string | {
7
8
  embeds: EmbedBuilder[];
8
9
  }) => Promise<void>;
@@ -16,6 +17,10 @@ export declare function fetchLinearTasks(): Promise<{
16
17
  }>;
17
18
  export interface ExecutionContext {
18
19
  allowedProjects: string[];
20
+ /** Draft analyzer 모델 (기본: claude-haiku-4-5-20251001) */
21
+ draftModel?: string;
22
+ /** Draft analyzer 활성화 (기본: true) */
23
+ enableDraftAnalysis?: boolean;
19
24
  plannerModel?: string;
20
25
  plannerTimeoutMs?: number;
21
26
  pairMaxAttempts?: number;
@@ -38,7 +43,7 @@ export interface ExecutionContext {
38
43
  }
39
44
  export declare function resolveProjectPath(ctx: ExecutionContext, task: TaskItem): Promise<string | null>;
40
45
  export declare function isValidProjectPath(path: string): Promise<boolean>;
41
- export declare function decomposeTask(ctx: ExecutionContext, task: TaskItem, projectPath: string, targetMinutes: number): Promise<boolean | 'no-decomp'>;
46
+ export declare function decomposeTask(ctx: ExecutionContext, task: TaskItem, projectPath: string, targetMinutes: number, draftAnalysis?: DraftAnalysis): Promise<boolean | 'no-decomp'>;
42
47
  export declare function executePipeline(ctx: ExecutionContext, task: TaskItem, projectPath: string): Promise<PipelineResult>;
43
48
  export declare function requestApproval(decision: DecisionResult, reportFn: (message: string | EmbedBuilder) => Promise<void>): Promise<void>;
44
49
  export declare function reportExecutionResult(task: TaskItem, result: ExecutorResult, reportFn: (message: string | EmbedBuilder) => Promise<void>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"runnerExecution.d.ts","sourceRoot":"","sources":["../../src/automation/runnerExecution.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAiB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAuCtF,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAIrF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAG9D;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnF;AAID,KAAK,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAI/C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAG7D;AAKD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBvF;AAID,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IAC5E,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kDAAkD;IAClD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,yFAAyF;IACzF,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;CACnE;AAID,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwDxB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBvE;AAID,wBAAsB,aAAa,CACjC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC,CA4QhC;AAID,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CA0MzB;AAuCD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B5E;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzF"}
1
+ {"version":3,"file":"runnerExecution.d.ts","sourceRoot":"","sources":["../../src/automation/runnerExecution.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import * as projectMapper from '../support/projectMapper.js';
12
12
  import * as linear from '../linear/index.js';
13
13
  import * as planner from '../support/planner.js';
14
14
  import { analyzeIssue } from '../knowledge/index.js';
15
+ import { runDraftAnalysis } from '../agents/draftAnalyzer.js';
15
16
  import { t } from '../locale/index.js';
16
17
  import { broadcastEvent } from '../core/eventHub.js';
17
18
  import { buildBranchName, createWorktree, commitAndCreatePR, removeWorktree, } from '../support/worktreeManager.js';
@@ -140,7 +141,7 @@ export async function isValidProjectPath(path) {
140
141
  }
141
142
  }
142
143
  // Task Decomposition
143
- export async function decomposeTask(ctx, task, projectPath, targetMinutes) {
144
+ export async function decomposeTask(ctx, task, projectPath, targetMinutes, draftAnalysis) {
144
145
  console.log(`[AutonomousRunner] Decomposing task: ${task.title}`);
145
146
  const taskId = task.issueId || task.id;
146
147
  const maxDepth = ctx.decompositionMaxDepth ?? 2;
@@ -211,8 +212,9 @@ export async function decomposeTask(ctx, task, projectPath, targetMinutes) {
211
212
  elapsed += 30;
212
213
  broadcastEvent({ type: 'log', data: { taskId, stage: 'decompose', line: `⏱ Planner running... ${elapsed}s` } });
213
214
  }, 30000);
214
- // KG 영향 분석 — 플래너에 파일 분리 힌트 제공
215
- const impactAnalysis = await analyzeIssue(projectPath, task.title, task.description).catch(() => null);
215
+ // KG 영향 분석 — Draft가 이미 가지고 있으면 재사용
216
+ const impactAnalysis = draftAnalysis?.impactAnalysis
217
+ ?? await analyzeIssue(projectPath, task.title, task.description).catch(() => null);
216
218
  let result;
217
219
  try {
218
220
  result = await planner.runPlanner({
@@ -225,6 +227,13 @@ export async function decomposeTask(ctx, task, projectPath, targetMinutes) {
225
227
  timeoutMs: ctx.plannerTimeoutMs ?? 600000,
226
228
  onLog: (line) => broadcastEvent({ type: 'log', data: { taskId, stage: 'decompose', line } }),
227
229
  impactAnalysis: impactAnalysis ?? undefined,
230
+ draftAnalysis: draftAnalysis ? {
231
+ taskType: draftAnalysis.taskType,
232
+ intentSummary: draftAnalysis.intentSummary,
233
+ relevantFiles: draftAnalysis.relevantFiles,
234
+ suggestedApproach: draftAnalysis.suggestedApproach,
235
+ projectStats: draftAnalysis.projectStats,
236
+ } : undefined,
228
237
  });
229
238
  }
230
239
  finally {
@@ -351,13 +360,37 @@ export async function decomposeTask(ctx, task, projectPath, targetMinutes) {
351
360
  // Pipeline Execution
352
361
  export async function executePipeline(ctx, task, projectPath) {
353
362
  console.log(`[AutonomousRunner] executePipeline: ${task.title}`);
363
+ // ============================================
364
+ // Draft Analysis (Haiku 사전 분석 — ~3초)
365
+ // Planner + Worker에 enriched context 제공
366
+ // ============================================
367
+ let draftResult;
368
+ if (ctx.enableDraftAnalysis !== false) {
369
+ try {
370
+ const taskId = task.issueIdentifier || task.issueId || task.id;
371
+ broadcastEvent({ type: 'pipeline:stage', data: { taskId, stage: 'draft', status: 'start' } });
372
+ draftResult = await runDraftAnalysis({
373
+ taskTitle: task.title,
374
+ taskDescription: task.description || '',
375
+ projectPath,
376
+ model: ctx.draftModel,
377
+ timeoutMs: 30000,
378
+ onLog: (line) => broadcastEvent({ type: 'log', data: { taskId, stage: 'draft', line } }),
379
+ });
380
+ broadcastEvent({ type: 'pipeline:stage', data: { taskId, stage: 'draft', status: 'complete' } });
381
+ console.log(`[AutonomousRunner] Draft: type=${draftResult.taskType}, files=${draftResult.relevantFiles.length}, ${draftResult.durationMs}ms`);
382
+ }
383
+ catch (err) {
384
+ console.warn('[AutonomousRunner] Draft analysis failed (non-blocking):', err);
385
+ }
386
+ }
354
387
  if (ctx.enableDecomposition) {
355
388
  const threshold = ctx.decompositionThresholdMinutes ?? 30;
356
389
  const needsDecomp = planner.needsDecomposition(task, threshold, true); // heuristic pre-filter
357
390
  if (needsDecomp) {
358
391
  const estimated = planner.estimateTaskDuration(task);
359
392
  console.log(`[AutonomousRunner] Task "${task.title}" may need decomposition (estimated ${estimated}min > ${threshold}min)`);
360
- const decomposed = await decomposeTask(ctx, task, projectPath, threshold);
393
+ const decomposed = await decomposeTask(ctx, task, projectPath, threshold, draftResult);
361
394
  if (decomposed === true) {
362
395
  // Successfully decomposed into sub-issues
363
396
  return {
@@ -405,7 +438,15 @@ export async function executePipeline(ctx, task, projectPath) {
405
438
  }
406
439
  try {
407
440
  const roles = ctx.getRolesForProject(projectPath); // look up config using original path
408
- const pipeline = createPipelineFromConfig(roles, ctx.pairMaxAttempts ?? 3, ctx.guards, ctx.jobProfiles);
441
+ const pipeline = createPipelineFromConfig(roles, ctx.pairMaxAttempts ?? 3, ctx.guards, ctx.jobProfiles, draftResult ? {
442
+ taskType: draftResult.taskType,
443
+ intentSummary: draftResult.intentSummary,
444
+ relevantFiles: draftResult.relevantFiles,
445
+ suggestedApproach: draftResult.suggestedApproach,
446
+ projectStats: draftResult.projectStats,
447
+ impactAnalysis: draftResult.impactAnalysis,
448
+ registrySnapshot: draftResult.registrySnapshot,
449
+ } : undefined);
409
450
  const taskPrefix = buildTaskPrefix(task, actualPath);
410
451
  pipeline.on('stage:start', ({ stage }) => {
411
452
  console.log(`[${taskPrefix}] Stage started: ${stage}`);