@intrect/openswarm 0.4.4 → 0.8.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.
- package/README.md +46 -26
- package/config.example.yaml +22 -10
- package/dist/adapters/agenticLoop.d.ts +45 -2
- package/dist/adapters/agenticLoop.d.ts.map +1 -1
- package/dist/adapters/agenticLoop.js +209 -61
- package/dist/adapters/agenticLoop.js.map +1 -1
- package/dist/adapters/chatStream.d.ts +55 -0
- package/dist/adapters/chatStream.d.ts.map +1 -0
- package/dist/adapters/chatStream.js +116 -0
- package/dist/adapters/chatStream.js.map +1 -0
- package/dist/adapters/codex.d.ts +7 -0
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +67 -6
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/codexModels.d.ts +20 -0
- package/dist/adapters/codexModels.d.ts.map +1 -0
- package/dist/adapters/codexModels.js +195 -0
- package/dist/adapters/codexModels.js.map +1 -0
- package/dist/adapters/codexResponses.d.ts +97 -0
- package/dist/adapters/codexResponses.d.ts.map +1 -0
- package/dist/adapters/codexResponses.js +302 -0
- package/dist/adapters/codexResponses.js.map +1 -0
- package/dist/adapters/gpt.d.ts.map +1 -1
- package/dist/adapters/gpt.js +20 -120
- package/dist/adapters/gpt.js.map +1 -1
- package/dist/adapters/index.d.ts +10 -2
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +19 -5
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/lmstudio.d.ts +8 -0
- package/dist/adapters/lmstudio.d.ts.map +1 -0
- package/dist/adapters/lmstudio.js +41 -0
- package/dist/adapters/lmstudio.js.map +1 -0
- package/dist/adapters/local.d.ts +16 -1
- package/dist/adapters/local.d.ts.map +1 -1
- package/dist/adapters/local.js +51 -127
- package/dist/adapters/local.js.map +1 -1
- package/dist/adapters/openrouter.d.ts +37 -0
- package/dist/adapters/openrouter.d.ts.map +1 -0
- package/dist/adapters/openrouter.js +193 -0
- package/dist/adapters/openrouter.js.map +1 -0
- package/dist/adapters/resultParsing.d.ts +6 -0
- package/dist/adapters/resultParsing.d.ts.map +1 -0
- package/dist/adapters/resultParsing.js +139 -0
- package/dist/adapters/resultParsing.js.map +1 -0
- package/dist/adapters/tools.d.ts +21 -2
- package/dist/adapters/tools.d.ts.map +1 -1
- package/dist/adapters/tools.js +153 -12
- package/dist/adapters/tools.js.map +1 -1
- package/dist/adapters/types.d.ts +40 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/webTools.d.ts +9 -0
- package/dist/adapters/webTools.d.ts.map +1 -0
- package/dist/adapters/webTools.js +195 -0
- package/dist/adapters/webTools.js.map +1 -0
- package/dist/agents/draftAnalyzer.d.ts +1 -1
- package/dist/agents/draftAnalyzer.d.ts.map +1 -1
- package/dist/agents/draftAnalyzer.js +3 -3
- package/dist/agents/draftAnalyzer.js.map +1 -1
- package/dist/agents/pairPipeline.d.ts +26 -1
- package/dist/agents/pairPipeline.d.ts.map +1 -1
- package/dist/agents/pairPipeline.js +184 -17
- package/dist/agents/pairPipeline.js.map +1 -1
- package/dist/agents/reflection.d.ts +56 -0
- package/dist/agents/reflection.d.ts.map +1 -0
- package/dist/agents/reflection.js +120 -0
- package/dist/agents/reflection.js.map +1 -0
- package/dist/agents/worker.d.ts +8 -0
- package/dist/agents/worker.d.ts.map +1 -1
- package/dist/agents/worker.js +23 -2
- package/dist/agents/worker.js.map +1 -1
- package/dist/auth/index.d.ts +3 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/linearPkce.d.ts +22 -0
- package/dist/auth/linearPkce.d.ts.map +1 -0
- package/dist/auth/linearPkce.js +208 -0
- package/dist/auth/linearPkce.js.map +1 -0
- package/dist/auth/oauthPkce.d.ts +4 -3
- package/dist/auth/oauthPkce.d.ts.map +1 -1
- package/dist/auth/oauthPkce.js +39 -12
- package/dist/auth/oauthPkce.js.map +1 -1
- package/dist/auth/oauthStore.d.ts +11 -1
- package/dist/auth/oauthStore.d.ts.map +1 -1
- package/dist/auth/oauthStore.js +14 -2
- package/dist/auth/oauthStore.js.map +1 -1
- package/dist/auth/openrouterPkce.d.ts +29 -0
- package/dist/auth/openrouterPkce.d.ts.map +1 -0
- package/dist/auth/openrouterPkce.js +222 -0
- package/dist/auth/openrouterPkce.js.map +1 -0
- package/dist/automation/autonomousRunner.d.ts +17 -7
- package/dist/automation/autonomousRunner.d.ts.map +1 -1
- package/dist/automation/autonomousRunner.js +69 -70
- package/dist/automation/autonomousRunner.js.map +1 -1
- package/dist/automation/backlogGrooming.d.ts +21 -0
- package/dist/automation/backlogGrooming.d.ts.map +1 -0
- package/dist/automation/backlogGrooming.js +80 -0
- package/dist/automation/backlogGrooming.js.map +1 -0
- package/dist/automation/localCI.d.ts +24 -0
- package/dist/automation/localCI.d.ts.map +1 -0
- package/dist/automation/localCI.js +84 -0
- package/dist/automation/localCI.js.map +1 -0
- package/dist/automation/runnerExecution.d.ts +33 -7
- package/dist/automation/runnerExecution.d.ts.map +1 -1
- package/dist/automation/runnerExecution.js +202 -154
- package/dist/automation/runnerExecution.js.map +1 -1
- package/dist/automation/runnerTypes.d.ts +5 -1
- package/dist/automation/runnerTypes.d.ts.map +1 -1
- package/dist/automation/taskSource.d.ts +101 -0
- package/dist/automation/taskSource.d.ts.map +1 -0
- package/dist/automation/taskSource.js +136 -0
- package/dist/automation/taskSource.js.map +1 -0
- package/dist/automation/workerAuditLog.d.ts +29 -0
- package/dist/automation/workerAuditLog.d.ts.map +1 -0
- package/dist/automation/workerAuditLog.js +82 -0
- package/dist/automation/workerAuditLog.js.map +1 -0
- package/dist/cli/authHandler.d.ts +14 -5
- package/dist/cli/authHandler.d.ts.map +1 -1
- package/dist/cli/authHandler.js +131 -36
- package/dist/cli/authHandler.js.map +1 -1
- package/dist/cli/daemon.d.ts +5 -0
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +13 -0
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/doctorHandler.d.ts +2 -0
- package/dist/cli/doctorHandler.d.ts.map +1 -0
- package/dist/cli/doctorHandler.js +114 -0
- package/dist/cli/doctorHandler.js.map +1 -0
- package/dist/cli/initWizard.d.ts +13 -0
- package/dist/cli/initWizard.d.ts.map +1 -0
- package/dist/cli/initWizard.js +314 -0
- package/dist/cli/initWizard.js.map +1 -0
- package/dist/cli.js +112 -38
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +89 -15
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +100 -23
- package/dist/core/config.js.map +1 -1
- package/dist/core/envFile.d.ts +6 -0
- package/dist/core/envFile.d.ts.map +1 -1
- package/dist/core/envFile.js +39 -1
- package/dist/core/envFile.js.map +1 -1
- package/dist/core/eventHub.d.ts +22 -0
- package/dist/core/eventHub.d.ts.map +1 -1
- package/dist/core/eventHub.js.map +1 -1
- package/dist/core/providerOverride.d.ts +6 -0
- package/dist/core/providerOverride.d.ts.map +1 -0
- package/dist/core/providerOverride.js +37 -0
- package/dist/core/providerOverride.js.map +1 -0
- package/dist/core/service.d.ts.map +1 -1
- package/dist/core/service.js +43 -20
- package/dist/core/service.js.map +1 -1
- package/dist/core/types.d.ts +16 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/discord/discordCore.d.ts.map +1 -1
- package/dist/discord/discordCore.js +16 -103
- package/dist/discord/discordCore.js.map +1 -1
- package/dist/discord/discordHandlers.d.ts.map +1 -1
- package/dist/discord/discordHandlers.js +15 -12
- package/dist/discord/discordHandlers.js.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/issues/sqliteStore.d.ts.map +1 -1
- package/dist/issues/sqliteStore.js +7 -2
- package/dist/issues/sqliteStore.js.map +1 -1
- package/dist/knowledge/scanner.d.ts.map +1 -1
- package/dist/knowledge/scanner.js +5 -0
- package/dist/knowledge/scanner.js.map +1 -1
- package/dist/linear/linear.d.ts +45 -2
- package/dist/linear/linear.d.ts.map +1 -1
- package/dist/linear/linear.js +154 -3
- package/dist/linear/linear.js.map +1 -1
- package/dist/locale/prompts/en.d.ts.map +1 -1
- package/dist/locale/prompts/en.js +40 -20
- package/dist/locale/prompts/en.js.map +1 -1
- package/dist/locale/prompts/ko.d.ts.map +1 -1
- package/dist/locale/prompts/ko.js +39 -20
- package/dist/locale/prompts/ko.js.map +1 -1
- package/dist/locale/types.d.ts +6 -0
- package/dist/locale/types.d.ts.map +1 -1
- package/dist/mcp/mcpClient.d.ts +27 -0
- package/dist/mcp/mcpClient.d.ts.map +1 -0
- package/dist/mcp/mcpClient.js +145 -0
- package/dist/mcp/mcpClient.js.map +1 -0
- package/dist/memory/memoryCore.d.ts.map +1 -1
- package/dist/memory/memoryCore.js +8 -2
- package/dist/memory/memoryCore.js.map +1 -1
- package/dist/memory/repoKnowledge.d.ts +33 -0
- package/dist/memory/repoKnowledge.d.ts.map +1 -0
- package/dist/memory/repoKnowledge.js +97 -0
- package/dist/memory/repoKnowledge.js.map +1 -0
- package/dist/notify/notifier.d.ts +26 -0
- package/dist/notify/notifier.d.ts.map +1 -0
- package/dist/notify/notifier.js +131 -0
- package/dist/notify/notifier.js.map +1 -0
- package/dist/orchestration/conflictDetector.d.ts +5 -2
- package/dist/orchestration/conflictDetector.d.ts.map +1 -1
- package/dist/orchestration/conflictDetector.js +35 -6
- package/dist/orchestration/conflictDetector.js.map +1 -1
- package/dist/orchestration/decisionEngine.d.ts +20 -0
- package/dist/orchestration/decisionEngine.d.ts.map +1 -1
- package/dist/orchestration/decisionEngine.js +45 -0
- package/dist/orchestration/decisionEngine.js.map +1 -1
- package/dist/support/banner.d.ts +7 -0
- package/dist/support/banner.d.ts.map +1 -0
- package/dist/support/banner.js +32 -0
- package/dist/support/banner.js.map +1 -0
- package/dist/support/chat.js +36 -27
- package/dist/support/chat.js.map +1 -1
- package/dist/support/chatBackend.d.ts +6 -0
- package/dist/support/chatBackend.d.ts.map +1 -1
- package/dist/support/chatBackend.js +105 -83
- package/dist/support/chatBackend.js.map +1 -1
- package/dist/support/chatTui.d.ts.map +1 -1
- package/dist/support/chatTui.js +217 -27
- package/dist/support/chatTui.js.map +1 -1
- package/dist/support/colors.d.ts +15 -0
- package/dist/support/colors.d.ts.map +1 -0
- package/dist/support/colors.js +23 -0
- package/dist/support/colors.js.map +1 -0
- package/dist/support/dashboardHtml.d.ts +1 -1
- package/dist/support/dashboardHtml.d.ts.map +1 -1
- package/dist/support/dashboardHtml.js +318 -65
- package/dist/support/dashboardHtml.js.map +1 -1
- package/dist/support/planCommand.d.ts +17 -0
- package/dist/support/planCommand.d.ts.map +1 -0
- package/dist/support/planCommand.js +114 -0
- package/dist/support/planCommand.js.map +1 -0
- package/dist/support/planner.d.ts +9 -2
- package/dist/support/planner.d.ts.map +1 -1
- package/dist/support/planner.js +43 -111
- package/dist/support/planner.js.map +1 -1
- package/dist/support/projectMapper.d.ts.map +1 -1
- package/dist/support/projectMapper.js +29 -1
- package/dist/support/projectMapper.js.map +1 -1
- package/dist/support/promptHelper.d.ts +24 -0
- package/dist/support/promptHelper.d.ts.map +1 -0
- package/dist/support/promptHelper.js +94 -0
- package/dist/support/promptHelper.js.map +1 -0
- package/dist/support/rateLimiter.d.ts.map +1 -1
- package/dist/support/rateLimiter.js +6 -0
- package/dist/support/rateLimiter.js.map +1 -1
- package/dist/support/repoMetadata.d.ts +51 -0
- package/dist/support/repoMetadata.d.ts.map +1 -0
- package/dist/support/repoMetadata.js +91 -0
- package/dist/support/repoMetadata.js.map +1 -0
- package/dist/support/web.d.ts.map +1 -1
- package/dist/support/web.js +196 -71
- package/dist/support/web.js.map +1 -1
- package/dist/support/worktreeManager.d.ts +6 -1
- package/dist/support/worktreeManager.d.ts.map +1 -1
- package/dist/support/worktreeManager.js +23 -1
- package/dist/support/worktreeManager.js.map +1 -1
- package/dist/taskState/store.d.ts +1 -0
- package/dist/taskState/store.d.ts.map +1 -1
- package/dist/taskState/store.js +22 -1
- package/dist/taskState/store.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backlogGrooming.js","sourceRoot":"","sources":["../../src/automation/backlogGrooming.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface LocalCIResult {
|
|
2
|
+
/** true = all gate steps passed (or only missing-tool steps were skipped) */
|
|
3
|
+
success: boolean;
|
|
4
|
+
/** true = at least one real test/lint step actually ran */
|
|
5
|
+
ran: boolean;
|
|
6
|
+
/** human-readable log for the PR comment */
|
|
7
|
+
output: string;
|
|
8
|
+
}
|
|
9
|
+
/** A gate step: its exit code decides pass/fail (lint/typecheck/test all exit non-zero on issues). */
|
|
10
|
+
interface Step {
|
|
11
|
+
cmd: string;
|
|
12
|
+
args: string[];
|
|
13
|
+
label: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function detectSteps(projectPath: string): Step[];
|
|
16
|
+
export declare const isMissingTool: (s: string) => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Check out `branch` in `projectPath` and run the detected CI steps. Missing tools (e.g. ruff not
|
|
19
|
+
* installed) are skipped, not failed — only a tool that runs and exits non-zero counts as a CI
|
|
20
|
+
* failure. Returns `ran: false` when the project language isn't recognized or checkout fails.
|
|
21
|
+
*/
|
|
22
|
+
export declare function runLocalCI(projectPath: string, branch: string): Promise<LocalCIResult>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=localCI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localCI.d.ts","sourceRoot":"","sources":["../../src/automation/localCI.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,GAAG,EAAE,OAAO,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sGAAsG;AACtG,UAAU,IAAI;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAE7D,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,CAiBvD;AAED,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,YAA+D,CAAC;AAEvG;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqC5F"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// Local CI runner — replaces the GitHub Actions gate when Actions can't run (no cloud credits).
|
|
2
|
+
// Checks out the PR branch, detects the language, and runs the test/lint commands directly via
|
|
3
|
+
// the shell (no LLM, deterministic). prProcessor uses the result as the merge gate.
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { execFile } from 'node:child_process';
|
|
7
|
+
import { promisify } from 'node:util';
|
|
8
|
+
import { findProjectVenv } from '../adapters/tools.js';
|
|
9
|
+
const execFileAsync = promisify(execFile);
|
|
10
|
+
/**
|
|
11
|
+
* Build the env for CI steps with the project's Python venv on PATH. Without this, `pytest`/`ruff`
|
|
12
|
+
* resolve to system Python — which lacks the project's test deps (e.g. pytest-xdist), so a repo
|
|
13
|
+
* pytest.ini with `addopts = -n auto` fails with "unrecognized arguments: -n" and the gate wrongly
|
|
14
|
+
* blocks the PR. Mirrors the bash tool's venv resolution: repo-local .venv → OPENSWARM_PYTHON_VENV.
|
|
15
|
+
*/
|
|
16
|
+
function venvEnv(projectPath) {
|
|
17
|
+
const venv = findProjectVenv(projectPath) || process.env.OPENSWARM_PYTHON_VENV || '';
|
|
18
|
+
if (!venv)
|
|
19
|
+
return process.env;
|
|
20
|
+
return { ...process.env, VIRTUAL_ENV: venv, PATH: `${join(venv, 'bin')}:${process.env.PATH ?? ''}` };
|
|
21
|
+
}
|
|
22
|
+
export function detectSteps(projectPath) {
|
|
23
|
+
const has = (f) => existsSync(join(projectPath, f));
|
|
24
|
+
const isPython = has('pyproject.toml') || has('setup.py') || has('requirements.txt');
|
|
25
|
+
const isNode = has('package.json');
|
|
26
|
+
if (isPython) {
|
|
27
|
+
return [
|
|
28
|
+
{ cmd: 'ruff', args: ['check', '.'], label: 'ruff' },
|
|
29
|
+
{ cmd: 'pytest', args: ['-q'], label: 'pytest' },
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
if (isNode) {
|
|
33
|
+
return [
|
|
34
|
+
{ cmd: 'npx', args: ['tsc', '--noEmit'], label: 'tsc' },
|
|
35
|
+
{ cmd: 'npm', args: ['test'], label: 'npm test' },
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
export const isMissingTool = (s) => /command not found|ENOENT|not found|No such file/i.test(s);
|
|
41
|
+
/**
|
|
42
|
+
* Check out `branch` in `projectPath` and run the detected CI steps. Missing tools (e.g. ruff not
|
|
43
|
+
* installed) are skipped, not failed — only a tool that runs and exits non-zero counts as a CI
|
|
44
|
+
* failure. Returns `ran: false` when the project language isn't recognized or checkout fails.
|
|
45
|
+
*/
|
|
46
|
+
export async function runLocalCI(projectPath, branch) {
|
|
47
|
+
try {
|
|
48
|
+
await execFileAsync('git', ['-C', projectPath, 'fetch', 'origin'], { timeout: 60_000 });
|
|
49
|
+
await execFileAsync('git', ['-C', projectPath, 'reset', '--hard', 'HEAD'], { timeout: 30_000 }).catch(() => { });
|
|
50
|
+
await execFileAsync('git', ['-C', projectPath, 'checkout', branch], { timeout: 60_000 });
|
|
51
|
+
await execFileAsync('git', ['-C', projectPath, 'pull', 'origin', branch], { timeout: 60_000 }).catch(() => { });
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
return { success: false, ran: false, output: `checkout failed: ${e.message}` };
|
|
55
|
+
}
|
|
56
|
+
const steps = detectSteps(projectPath);
|
|
57
|
+
if (steps.length === 0) {
|
|
58
|
+
return { success: true, ran: false, output: 'no recognized project (python/node) — local CI skipped' };
|
|
59
|
+
}
|
|
60
|
+
let success = true;
|
|
61
|
+
let ran = false;
|
|
62
|
+
let output = '';
|
|
63
|
+
const env = venvEnv(projectPath);
|
|
64
|
+
for (const s of steps) {
|
|
65
|
+
try {
|
|
66
|
+
const r = await execFileAsync(s.cmd, s.args, { cwd: projectPath, timeout: 300_000, maxBuffer: 10 * 1024 * 1024, env });
|
|
67
|
+
ran = true;
|
|
68
|
+
output += `✓ ${s.label}\n${(r.stdout || '').slice(-600)}\n`;
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
const err = e;
|
|
72
|
+
const blob = `${err.stdout ?? ''}${err.stderr ?? ''}${err.message ?? ''}`;
|
|
73
|
+
if (isMissingTool(blob)) {
|
|
74
|
+
output += `⊘ ${s.label}: tool not installed — skipped\n`;
|
|
75
|
+
continue; // a missing tool is not a test failure
|
|
76
|
+
}
|
|
77
|
+
ran = true;
|
|
78
|
+
success = false;
|
|
79
|
+
output += `✗ ${s.label}\n${blob.slice(-1000)}\n`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { success, ran, output };
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=localCI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localCI.js","sourceRoot":"","sources":["../../src/automation/localCI.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,19 @@ 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 { SubTask } from '../support/planner.js';
|
|
6
7
|
import { type DraftAnalysis } from '../agents/draftAnalyzer.js';
|
|
7
|
-
type
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
import type { Notifier } from '../notify/notifier.js';
|
|
9
|
+
import type { ITaskSource } from './taskSource.js';
|
|
10
|
+
export declare function setNotifier(n: Notifier): void;
|
|
11
|
+
/**
|
|
12
|
+
* Send an outbound notification. Name kept for call-site stability — it is now
|
|
13
|
+
* backend-agnostic (routes to the configured Notifier, not necessarily Discord).
|
|
14
|
+
*/
|
|
11
15
|
export declare function reportToDiscord(message: string | EmbedBuilder): Promise<void>;
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
export declare function setTaskSource(source: ITaskSource): void;
|
|
17
|
+
/** Accessor for callers outside this module (autonomousRunner). */
|
|
18
|
+
export declare function getTaskSource(): ITaskSource | null;
|
|
14
19
|
export declare function fetchLinearTasks(): Promise<{
|
|
15
20
|
tasks: TaskItem[];
|
|
16
21
|
error?: string;
|
|
@@ -40,9 +45,31 @@ export interface ExecutionContext {
|
|
|
40
45
|
scheduleNextHeartbeat?: () => void;
|
|
41
46
|
/** Pipeline guards configuration */
|
|
42
47
|
guards?: Partial<import('../core/types.js').PipelineGuardsConfig>;
|
|
48
|
+
/** Max objective self-repair attempts (lint/bs/test) before giving up (default: 3) */
|
|
49
|
+
maxReflections?: number;
|
|
43
50
|
}
|
|
44
51
|
export declare function resolveProjectPath(ctx: ExecutionContext, task: TaskItem): Promise<string | null>;
|
|
45
52
|
export declare function isValidProjectPath(path: string): Promise<boolean>;
|
|
53
|
+
/**
|
|
54
|
+
* Create Linear sub-issues from an (approved) decomposition: create each
|
|
55
|
+
* sub-issue, register tracking for limits, wire dependencies
|
|
56
|
+
* (ready→Todo / blocked→Backlog), sync state comments, and trigger an immediate
|
|
57
|
+
* heartbeat. Shared by the autonomous `decomposeTask` path and the TUI `/plan`
|
|
58
|
+
* dispatch endpoint so both behave identically (no logic fork). The caller must
|
|
59
|
+
* have already created the parent issue (`parentIssueId`).
|
|
60
|
+
*/
|
|
61
|
+
export declare function createSubIssuesWithDependencies(parentIssueId: string, task: {
|
|
62
|
+
title: string;
|
|
63
|
+
issueIdentifier?: string;
|
|
64
|
+
parentId?: string;
|
|
65
|
+
linearProject?: {
|
|
66
|
+
id?: string;
|
|
67
|
+
name?: string;
|
|
68
|
+
};
|
|
69
|
+
}, subTasks: SubTask[], totalEstimatedMinutes: number, ctx: {
|
|
70
|
+
reportToDiscord: (msg: string) => Promise<void> | void;
|
|
71
|
+
scheduleNextHeartbeat?: () => void;
|
|
72
|
+
}, taskId: string, dailyLimit: number): Promise<boolean>;
|
|
46
73
|
export declare function decomposeTask(ctx: ExecutionContext, task: TaskItem, projectPath: string, targetMinutes: number, draftAnalysis?: DraftAnalysis): Promise<boolean | 'no-decomp'>;
|
|
47
74
|
export declare function executePipeline(ctx: ExecutionContext, task: TaskItem, projectPath: string): Promise<PipelineResult>;
|
|
48
75
|
export declare function requestApproval(decision: DecisionResult, reportFn: (message: string | EmbedBuilder) => Promise<void>): Promise<void>;
|
|
@@ -50,5 +77,4 @@ export declare function reportExecutionResult(task: TaskItem, result: ExecutorRe
|
|
|
50
77
|
export declare function reconcileCompletionState(task: TaskItem): Promise<void>;
|
|
51
78
|
export declare function syncFailureState(task: TaskItem, reason: string): Promise<void>;
|
|
52
79
|
export declare function syncSuccessState(task: TaskItem, confidence?: number): Promise<void>;
|
|
53
|
-
export {};
|
|
54
80
|
//# sourceMappingURL=runnerExecution.d.ts.map
|
|
@@ -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;AAUtF,OAAO,
|
|
1
|
+
{"version":3,"file":"runnerExecution.d.ts","sourceRoot":"","sources":["../../src/automation/runnerExecution.ts"],"names":[],"mappings":"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"}
|