@synergenius/flowweaver-pack-weaver 0.4.0 → 0.5.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/dist/bot/dashboard.d.ts +3 -0
- package/dist/bot/dashboard.d.ts.map +1 -1
- package/dist/bot/dashboard.js +141 -0
- package/dist/bot/dashboard.js.map +1 -1
- package/dist/bot/index.d.ts +8 -1
- package/dist/bot/index.d.ts.map +1 -1
- package/dist/bot/index.js +5 -0
- package/dist/bot/index.js.map +1 -1
- package/dist/bot/notifications.d.ts.map +1 -1
- package/dist/bot/notifications.js +18 -0
- package/dist/bot/notifications.js.map +1 -1
- package/dist/bot/session-state.d.ts +19 -0
- package/dist/bot/session-state.d.ts.map +1 -0
- package/dist/bot/session-state.js +56 -0
- package/dist/bot/session-state.js.map +1 -0
- package/dist/bot/steering.d.ts +13 -0
- package/dist/bot/steering.d.ts.map +1 -0
- package/dist/bot/steering.js +35 -0
- package/dist/bot/steering.js.map +1 -0
- package/dist/bot/system-prompt.d.ts +1 -0
- package/dist/bot/system-prompt.d.ts.map +1 -1
- package/dist/bot/system-prompt.js +55 -0
- package/dist/bot/system-prompt.js.map +1 -1
- package/dist/bot/task-queue.d.ts +26 -0
- package/dist/bot/task-queue.d.ts.map +1 -0
- package/dist/bot/task-queue.js +87 -0
- package/dist/bot/task-queue.js.map +1 -0
- package/dist/bot/types.d.ts +37 -1
- package/dist/bot/types.d.ts.map +1 -1
- package/dist/cli-bridge.d.ts.map +1 -1
- package/dist/cli-bridge.js +5 -1
- package/dist/cli-bridge.js.map +1 -1
- package/dist/cli-handlers.d.ts +10 -1
- package/dist/cli-handlers.d.ts.map +1 -1
- package/dist/cli-handlers.js +261 -0
- package/dist/cli-handlers.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +91 -0
- package/dist/mcp-tools.js.map +1 -1
- package/dist/node-types/abort-task.d.ts +22 -0
- package/dist/node-types/abort-task.d.ts.map +1 -0
- package/dist/node-types/abort-task.js +33 -0
- package/dist/node-types/abort-task.js.map +1 -0
- package/dist/node-types/approval-gate.d.ts +35 -0
- package/dist/node-types/approval-gate.d.ts.map +1 -0
- package/dist/node-types/approval-gate.js +62 -0
- package/dist/node-types/approval-gate.js.map +1 -0
- package/dist/node-types/bot-report.d.ts +22 -0
- package/dist/node-types/bot-report.d.ts.map +1 -0
- package/dist/node-types/bot-report.js +63 -0
- package/dist/node-types/bot-report.js.map +1 -0
- package/dist/node-types/build-context.d.ts +29 -0
- package/dist/node-types/build-context.d.ts.map +1 -0
- package/dist/node-types/build-context.js +73 -0
- package/dist/node-types/build-context.js.map +1 -0
- package/dist/node-types/exec-validate-retry.d.ts +38 -0
- package/dist/node-types/exec-validate-retry.d.ts.map +1 -0
- package/dist/node-types/exec-validate-retry.js +250 -0
- package/dist/node-types/exec-validate-retry.js.map +1 -0
- package/dist/node-types/execute-plan.d.ts +34 -0
- package/dist/node-types/execute-plan.d.ts.map +1 -0
- package/dist/node-types/execute-plan.js +175 -0
- package/dist/node-types/execute-plan.js.map +1 -0
- package/dist/node-types/fix-errors.d.ts +32 -0
- package/dist/node-types/fix-errors.d.ts.map +1 -0
- package/dist/node-types/fix-errors.js +106 -0
- package/dist/node-types/fix-errors.js.map +1 -0
- package/dist/node-types/git-ops.d.ts +18 -0
- package/dist/node-types/git-ops.d.ts.map +1 -0
- package/dist/node-types/git-ops.js +65 -0
- package/dist/node-types/git-ops.js.map +1 -0
- package/dist/node-types/index.d.ts +13 -0
- package/dist/node-types/index.d.ts.map +1 -1
- package/dist/node-types/index.js +13 -0
- package/dist/node-types/index.js.map +1 -1
- package/dist/node-types/plan-task.d.ts +32 -0
- package/dist/node-types/plan-task.d.ts.map +1 -0
- package/dist/node-types/plan-task.js +122 -0
- package/dist/node-types/plan-task.js.map +1 -0
- package/dist/node-types/read-workflow.d.ts +30 -0
- package/dist/node-types/read-workflow.d.ts.map +1 -0
- package/dist/node-types/read-workflow.js +72 -0
- package/dist/node-types/read-workflow.js.map +1 -0
- package/dist/node-types/receive-task.d.ts +31 -0
- package/dist/node-types/receive-task.d.ts.map +1 -0
- package/dist/node-types/receive-task.js +72 -0
- package/dist/node-types/receive-task.js.map +1 -0
- package/dist/node-types/route-task.d.ts +26 -0
- package/dist/node-types/route-task.d.ts.map +1 -0
- package/dist/node-types/route-task.js +29 -0
- package/dist/node-types/route-task.js.map +1 -0
- package/dist/node-types/validate-result.d.ts +32 -0
- package/dist/node-types/validate-result.d.ts.map +1 -0
- package/dist/node-types/validate-result.js +53 -0
- package/dist/node-types/validate-result.js.map +1 -0
- package/dist/templates/index.d.ts +2 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +3 -1
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/weaver-bot-template.d.ts +3 -0
- package/dist/templates/weaver-bot-template.d.ts.map +1 -0
- package/dist/templates/weaver-bot-template.js +99 -0
- package/dist/templates/weaver-bot-template.js.map +1 -0
- package/dist/workflows/index.d.ts +3 -0
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +3 -0
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/weaver-bot-batch.d.ts +57 -0
- package/dist/workflows/weaver-bot-batch.d.ts.map +1 -0
- package/dist/workflows/weaver-bot-batch.js +60 -0
- package/dist/workflows/weaver-bot-batch.js.map +1 -0
- package/dist/workflows/weaver-bot-session.d.ts +65 -0
- package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
- package/dist/workflows/weaver-bot-session.js +68 -0
- package/dist/workflows/weaver-bot-session.js.map +1 -0
- package/dist/workflows/weaver-bot.d.ts +72 -0
- package/dist/workflows/weaver-bot.d.ts.map +1 -0
- package/dist/workflows/weaver-bot.js +75 -0
- package/dist/workflows/weaver-bot.js.map +1 -0
- package/flowweaver.manifest.json +719 -2
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../src/node-types/execute-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When validation fails, sends errors + context to the AI and
|
|
3
|
+
* asks it to produce a repair plan.
|
|
4
|
+
*
|
|
5
|
+
* @flowWeaver nodeType
|
|
6
|
+
* @label Fix Errors
|
|
7
|
+
* @input projectDir [order:0] - Project root directory (pass-through)
|
|
8
|
+
* @input config [order:1] - Config (JSON, pass-through)
|
|
9
|
+
* @input providerType [order:2] - Provider type
|
|
10
|
+
* @input providerInfo [order:3] - Provider info (JSON)
|
|
11
|
+
* @input validationResultJson [order:4] - Validation results (JSON)
|
|
12
|
+
* @input taskJson [order:5] - Task (JSON, pass-through)
|
|
13
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
14
|
+
* @output config [order:1] - Config (pass-through)
|
|
15
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
16
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
17
|
+
* @output fixPlanJson [order:4] - Fix plan (JSON, same schema as planJson)
|
|
18
|
+
* @output taskJson [order:5] - Task (pass-through)
|
|
19
|
+
* @output onSuccess [order:-2] - On Success
|
|
20
|
+
* @output onFailure [order:-1] - On Failure
|
|
21
|
+
*/
|
|
22
|
+
export declare function weaverFixErrors(execute: boolean, projectDir: string, config: string, providerType: string, providerInfo: string, validationResultJson: string, taskJson: string): Promise<{
|
|
23
|
+
onSuccess: boolean;
|
|
24
|
+
onFailure: boolean;
|
|
25
|
+
projectDir: string;
|
|
26
|
+
config: string;
|
|
27
|
+
providerType: string;
|
|
28
|
+
providerInfo: string;
|
|
29
|
+
fixPlanJson: string;
|
|
30
|
+
taskJson: string;
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=fix-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-errors.d.ts","sourceRoot":"","sources":["../../src/node-types/fix-errors.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC/E,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACvC,CAAC,CA0CD"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
function callCli(provider, prompt) {
|
|
3
|
+
if (provider === 'claude-cli') {
|
|
4
|
+
return execSync('claude -p --output-format text', {
|
|
5
|
+
input: prompt, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 120_000,
|
|
6
|
+
}).trim();
|
|
7
|
+
}
|
|
8
|
+
if (provider === 'copilot-cli') {
|
|
9
|
+
return execSync('copilot -p --silent --allow-all-tools', {
|
|
10
|
+
input: prompt, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 120_000,
|
|
11
|
+
}).trim();
|
|
12
|
+
}
|
|
13
|
+
throw new Error(`Unknown CLI provider: ${provider}`);
|
|
14
|
+
}
|
|
15
|
+
async function callApi(apiKey, model, maxTokens, systemPrompt, userPrompt) {
|
|
16
|
+
const body = JSON.stringify({
|
|
17
|
+
model, max_tokens: maxTokens, system: systemPrompt,
|
|
18
|
+
messages: [{ role: 'user', content: userPrompt }],
|
|
19
|
+
});
|
|
20
|
+
const response = await fetch('https://api.anthropic.com/v1/messages', {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
headers: { 'x-api-key': apiKey, 'anthropic-version': '2023-06-01', 'content-type': 'application/json' },
|
|
23
|
+
body,
|
|
24
|
+
});
|
|
25
|
+
if (!response.ok) {
|
|
26
|
+
const text = await response.text();
|
|
27
|
+
throw new Error(`Anthropic API error ${response.status}: ${text.slice(0, 200)}`);
|
|
28
|
+
}
|
|
29
|
+
const json = await response.json();
|
|
30
|
+
return json.content[0]?.text ?? '';
|
|
31
|
+
}
|
|
32
|
+
function parseJsonResponse(text) {
|
|
33
|
+
let cleaned = text.trim();
|
|
34
|
+
if (cleaned.startsWith('```')) {
|
|
35
|
+
cleaned = cleaned.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
return JSON.parse(cleaned);
|
|
39
|
+
}
|
|
40
|
+
catch { /* fallthrough */ }
|
|
41
|
+
const match = cleaned.match(/\{[\s\S]*\}/);
|
|
42
|
+
if (match)
|
|
43
|
+
return JSON.parse(match[0]);
|
|
44
|
+
throw new Error(`Failed to parse AI response as JSON: ${text.slice(0, 200)}`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* When validation fails, sends errors + context to the AI and
|
|
48
|
+
* asks it to produce a repair plan.
|
|
49
|
+
*
|
|
50
|
+
* @flowWeaver nodeType
|
|
51
|
+
* @label Fix Errors
|
|
52
|
+
* @input projectDir [order:0] - Project root directory (pass-through)
|
|
53
|
+
* @input config [order:1] - Config (JSON, pass-through)
|
|
54
|
+
* @input providerType [order:2] - Provider type
|
|
55
|
+
* @input providerInfo [order:3] - Provider info (JSON)
|
|
56
|
+
* @input validationResultJson [order:4] - Validation results (JSON)
|
|
57
|
+
* @input taskJson [order:5] - Task (JSON, pass-through)
|
|
58
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
59
|
+
* @output config [order:1] - Config (pass-through)
|
|
60
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
61
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
62
|
+
* @output fixPlanJson [order:4] - Fix plan (JSON, same schema as planJson)
|
|
63
|
+
* @output taskJson [order:5] - Task (pass-through)
|
|
64
|
+
* @output onSuccess [order:-2] - On Success
|
|
65
|
+
* @output onFailure [order:-1] - On Failure
|
|
66
|
+
*/
|
|
67
|
+
export async function weaverFixErrors(execute, projectDir, config, providerType, providerInfo, validationResultJson, taskJson) {
|
|
68
|
+
const passthrough = { projectDir, config, providerType, providerInfo, taskJson };
|
|
69
|
+
if (!execute) {
|
|
70
|
+
return { onSuccess: true, onFailure: false, ...passthrough, fixPlanJson: '{"steps":[],"summary":"dry run"}' };
|
|
71
|
+
}
|
|
72
|
+
const pInfo = JSON.parse(providerInfo);
|
|
73
|
+
const validation = JSON.parse(validationResultJson);
|
|
74
|
+
const errors = validation.filter(v => !v.valid);
|
|
75
|
+
if (errors.length === 0) {
|
|
76
|
+
return { onSuccess: true, onFailure: false, ...passthrough, fixPlanJson: '{"steps":[],"summary":"no errors to fix"}' };
|
|
77
|
+
}
|
|
78
|
+
let systemPrompt;
|
|
79
|
+
try {
|
|
80
|
+
const mod = await import('../bot/system-prompt.js');
|
|
81
|
+
systemPrompt = await mod.buildSystemPrompt();
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
systemPrompt = 'You are Weaver. Return ONLY valid JSON.';
|
|
85
|
+
}
|
|
86
|
+
const errorSummary = errors.map(e => `${e.file}: ${e.errors.join(', ')}`).join('\n');
|
|
87
|
+
const userPrompt = `The following validation errors occurred:\n${errorSummary}\n\nProvide a fix plan as JSON with "steps" and "summary". Each step needs "id", "operation", "description", and "args".`;
|
|
88
|
+
try {
|
|
89
|
+
let text;
|
|
90
|
+
if (pInfo.type === 'anthropic') {
|
|
91
|
+
text = await callApi(pInfo.apiKey, pInfo.model ?? 'claude-sonnet-4-6', pInfo.maxTokens ?? 8192, systemPrompt, userPrompt);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
text = callCli(pInfo.type, systemPrompt + '\n\n' + userPrompt);
|
|
95
|
+
}
|
|
96
|
+
const plan = parseJsonResponse(text);
|
|
97
|
+
console.log(`\x1b[36m→ Fix plan: ${plan.summary ?? 'generated'}\x1b[0m`);
|
|
98
|
+
return { onSuccess: true, onFailure: false, ...passthrough, fixPlanJson: JSON.stringify(plan) };
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
102
|
+
console.error(`\x1b[31m→ Fix planning failed: ${msg}\x1b[0m`);
|
|
103
|
+
return { onSuccess: false, onFailure: true, ...passthrough, fixPlanJson: JSON.stringify({ steps: [], summary: `Fix failed: ${msg}` }) };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=fix-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-errors.js","sourceRoot":"","sources":["../../src/node-types/fix-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git operations on created/modified files: stage, commit, branch.
|
|
3
|
+
* Runs in parallel with notifications after execution.
|
|
4
|
+
*
|
|
5
|
+
* @flowWeaver nodeType
|
|
6
|
+
* @expression
|
|
7
|
+
* @label Git Operations
|
|
8
|
+
* @input projectDir [order:0] - Project root directory
|
|
9
|
+
* @input filesModified [order:1] - Files modified (JSON array)
|
|
10
|
+
* @input config [order:2] - Config (JSON)
|
|
11
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
12
|
+
* @output gitResultJson [order:1] - Git operation result (JSON)
|
|
13
|
+
*/
|
|
14
|
+
export declare function weaverGitOps(projectDir: string, filesModified: string, config: string): {
|
|
15
|
+
projectDir: string;
|
|
16
|
+
gitResultJson: string;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=git-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-ops.d.ts","sourceRoot":"","sources":["../../src/node-types/git-ops.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAmD/C"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { execFileSync, execSync } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* Git operations on created/modified files: stage, commit, branch.
|
|
4
|
+
* Runs in parallel with notifications after execution.
|
|
5
|
+
*
|
|
6
|
+
* @flowWeaver nodeType
|
|
7
|
+
* @expression
|
|
8
|
+
* @label Git Operations
|
|
9
|
+
* @input projectDir [order:0] - Project root directory
|
|
10
|
+
* @input filesModified [order:1] - Files modified (JSON array)
|
|
11
|
+
* @input config [order:2] - Config (JSON)
|
|
12
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
13
|
+
* @output gitResultJson [order:1] - Git operation result (JSON)
|
|
14
|
+
*/
|
|
15
|
+
export function weaverGitOps(projectDir, filesModified, config) {
|
|
16
|
+
const files = JSON.parse(filesModified);
|
|
17
|
+
const cfg = JSON.parse(config);
|
|
18
|
+
const gitConfig = cfg.git ?? {};
|
|
19
|
+
if (gitConfig.enabled === false || files.length === 0) {
|
|
20
|
+
return { projectDir, gitResultJson: JSON.stringify({ skipped: true, reason: files.length === 0 ? 'no files' : 'git disabled' }) };
|
|
21
|
+
}
|
|
22
|
+
// Check if we're in a git repo
|
|
23
|
+
try {
|
|
24
|
+
execSync('git rev-parse --is-inside-work-tree', { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return { projectDir, gitResultJson: JSON.stringify({ skipped: true, reason: 'not a git repo' }) };
|
|
28
|
+
}
|
|
29
|
+
const results = [];
|
|
30
|
+
// Create branch if specified
|
|
31
|
+
if (gitConfig.branch) {
|
|
32
|
+
try {
|
|
33
|
+
execFileSync('git', ['checkout', '-b', gitConfig.branch], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
34
|
+
results.push(`Created branch: ${gitConfig.branch}`);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Branch may already exist
|
|
38
|
+
try {
|
|
39
|
+
execFileSync('git', ['checkout', gitConfig.branch], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
40
|
+
results.push(`Switched to branch: ${gitConfig.branch}`);
|
|
41
|
+
}
|
|
42
|
+
catch { /* ignore */ }
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Stage files
|
|
46
|
+
for (const file of files) {
|
|
47
|
+
try {
|
|
48
|
+
execFileSync('git', ['add', file], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
49
|
+
}
|
|
50
|
+
catch { /* ignore unstaged files */ }
|
|
51
|
+
}
|
|
52
|
+
// Commit
|
|
53
|
+
const prefix = gitConfig.commitPrefix ?? 'weaver:';
|
|
54
|
+
const commitMsg = `${prefix} bot task (${files.length} file${files.length === 1 ? '' : 's'})`;
|
|
55
|
+
try {
|
|
56
|
+
execFileSync('git', ['commit', '-m', commitMsg], { cwd: projectDir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
57
|
+
results.push(`Committed: ${commitMsg}`);
|
|
58
|
+
console.log(`\x1b[36m→ Git: ${commitMsg}\x1b[0m`);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
results.push('Nothing to commit');
|
|
62
|
+
}
|
|
63
|
+
return { projectDir, gitResultJson: JSON.stringify({ skipped: false, results }) };
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=git-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-ops.js","sourceRoot":"","sources":["../../src/node-types/git-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,17 @@ export { weaverResolveTarget } from './resolve-target.js';
|
|
|
4
4
|
export { weaverExecuteTarget } from './execute-target.js';
|
|
5
5
|
export { weaverSendNotify } from './send-notify.js';
|
|
6
6
|
export { weaverReport } from './report.js';
|
|
7
|
+
export { weaverReceiveTask } from './receive-task.js';
|
|
8
|
+
export { weaverRouteTask } from './route-task.js';
|
|
9
|
+
export { weaverReadWorkflow } from './read-workflow.js';
|
|
10
|
+
export { weaverBuildContext } from './build-context.js';
|
|
11
|
+
export { weaverPlanTask } from './plan-task.js';
|
|
12
|
+
export { weaverApprovalGate } from './approval-gate.js';
|
|
13
|
+
export { weaverAbortTask } from './abort-task.js';
|
|
14
|
+
export { weaverExecValidateRetry } from './exec-validate-retry.js';
|
|
15
|
+
export { weaverExecutePlan } from './execute-plan.js';
|
|
16
|
+
export { weaverValidateResult } from './validate-result.js';
|
|
17
|
+
export { weaverFixErrors } from './fix-errors.js';
|
|
18
|
+
export { weaverGitOps } from './git-ops.js';
|
|
19
|
+
export { weaverBotReport } from './bot-report.js';
|
|
7
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/node-types/index.js
CHANGED
|
@@ -4,4 +4,17 @@ export { weaverResolveTarget } from './resolve-target.js';
|
|
|
4
4
|
export { weaverExecuteTarget } from './execute-target.js';
|
|
5
5
|
export { weaverSendNotify } from './send-notify.js';
|
|
6
6
|
export { weaverReport } from './report.js';
|
|
7
|
+
export { weaverReceiveTask } from './receive-task.js';
|
|
8
|
+
export { weaverRouteTask } from './route-task.js';
|
|
9
|
+
export { weaverReadWorkflow } from './read-workflow.js';
|
|
10
|
+
export { weaverBuildContext } from './build-context.js';
|
|
11
|
+
export { weaverPlanTask } from './plan-task.js';
|
|
12
|
+
export { weaverApprovalGate } from './approval-gate.js';
|
|
13
|
+
export { weaverAbortTask } from './abort-task.js';
|
|
14
|
+
export { weaverExecValidateRetry } from './exec-validate-retry.js';
|
|
15
|
+
export { weaverExecutePlan } from './execute-plan.js';
|
|
16
|
+
export { weaverValidateResult } from './validate-result.js';
|
|
17
|
+
export { weaverFixErrors } from './fix-errors.js';
|
|
18
|
+
export { weaverGitOps } from './git-ops.js';
|
|
19
|
+
export { weaverBotReport } from './bot-report.js';
|
|
7
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sends task + context to the AI provider and gets back a structured
|
|
3
|
+
* execution plan. The core AI planning node.
|
|
4
|
+
*
|
|
5
|
+
* @flowWeaver nodeType
|
|
6
|
+
* @label Plan Task
|
|
7
|
+
* @input projectDir [order:0] - Project root directory (pass-through)
|
|
8
|
+
* @input config [order:1] - Config (JSON, pass-through)
|
|
9
|
+
* @input providerType [order:2] - Provider type
|
|
10
|
+
* @input providerInfo [order:3] - Provider info (JSON)
|
|
11
|
+
* @input taskJson [order:4] - Task (JSON)
|
|
12
|
+
* @input contextBundle [order:5] - Knowledge bundle
|
|
13
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
14
|
+
* @output config [order:1] - Config (pass-through)
|
|
15
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
16
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
17
|
+
* @output taskJson [order:4] - Task (pass-through)
|
|
18
|
+
* @output planJson [order:5] - Execution plan (JSON)
|
|
19
|
+
* @output onSuccess [order:-2] - On Success
|
|
20
|
+
* @output onFailure [order:-1] - On Failure
|
|
21
|
+
*/
|
|
22
|
+
export declare function weaverPlanTask(execute: boolean, projectDir: string, config: string, providerType: string, providerInfo: string, taskJson: string, contextBundle: string): Promise<{
|
|
23
|
+
onSuccess: boolean;
|
|
24
|
+
onFailure: boolean;
|
|
25
|
+
projectDir: string;
|
|
26
|
+
config: string;
|
|
27
|
+
providerType: string;
|
|
28
|
+
providerInfo: string;
|
|
29
|
+
taskJson: string;
|
|
30
|
+
planJson: string;
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=plan-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-task.d.ts","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AAiEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACpC,CAAC,CAsDD"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
function callCli(provider, prompt) {
|
|
3
|
+
if (provider === 'claude-cli') {
|
|
4
|
+
return execSync('claude -p --output-format text', {
|
|
5
|
+
input: prompt,
|
|
6
|
+
encoding: 'utf-8',
|
|
7
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
8
|
+
timeout: 120_000,
|
|
9
|
+
}).trim();
|
|
10
|
+
}
|
|
11
|
+
if (provider === 'copilot-cli') {
|
|
12
|
+
return execSync('copilot -p --silent --allow-all-tools', {
|
|
13
|
+
input: prompt,
|
|
14
|
+
encoding: 'utf-8',
|
|
15
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
16
|
+
timeout: 120_000,
|
|
17
|
+
}).trim();
|
|
18
|
+
}
|
|
19
|
+
throw new Error(`Unknown CLI provider: ${provider}`);
|
|
20
|
+
}
|
|
21
|
+
async function callApi(apiKey, model, maxTokens, systemPrompt, userPrompt) {
|
|
22
|
+
const body = JSON.stringify({
|
|
23
|
+
model, max_tokens: maxTokens, system: systemPrompt,
|
|
24
|
+
messages: [{ role: 'user', content: userPrompt }],
|
|
25
|
+
});
|
|
26
|
+
const response = await fetch('https://api.anthropic.com/v1/messages', {
|
|
27
|
+
method: 'POST',
|
|
28
|
+
headers: {
|
|
29
|
+
'x-api-key': apiKey,
|
|
30
|
+
'anthropic-version': '2023-06-01',
|
|
31
|
+
'content-type': 'application/json',
|
|
32
|
+
},
|
|
33
|
+
body,
|
|
34
|
+
});
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
const text = await response.text();
|
|
37
|
+
throw new Error(`Anthropic API error ${response.status}: ${text.slice(0, 200)}`);
|
|
38
|
+
}
|
|
39
|
+
const json = await response.json();
|
|
40
|
+
return json.content[0]?.text ?? '';
|
|
41
|
+
}
|
|
42
|
+
function parseJsonResponse(text) {
|
|
43
|
+
let cleaned = text.trim();
|
|
44
|
+
if (cleaned.startsWith('```')) {
|
|
45
|
+
cleaned = cleaned.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
return JSON.parse(cleaned);
|
|
49
|
+
}
|
|
50
|
+
catch { /* fallthrough */ }
|
|
51
|
+
const match = cleaned.match(/\{[\s\S]*\}/);
|
|
52
|
+
if (match)
|
|
53
|
+
return JSON.parse(match[0]);
|
|
54
|
+
throw new Error(`Failed to parse AI response as JSON: ${text.slice(0, 200)}`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Sends task + context to the AI provider and gets back a structured
|
|
58
|
+
* execution plan. The core AI planning node.
|
|
59
|
+
*
|
|
60
|
+
* @flowWeaver nodeType
|
|
61
|
+
* @label Plan Task
|
|
62
|
+
* @input projectDir [order:0] - Project root directory (pass-through)
|
|
63
|
+
* @input config [order:1] - Config (JSON, pass-through)
|
|
64
|
+
* @input providerType [order:2] - Provider type
|
|
65
|
+
* @input providerInfo [order:3] - Provider info (JSON)
|
|
66
|
+
* @input taskJson [order:4] - Task (JSON)
|
|
67
|
+
* @input contextBundle [order:5] - Knowledge bundle
|
|
68
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
69
|
+
* @output config [order:1] - Config (pass-through)
|
|
70
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
71
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
72
|
+
* @output taskJson [order:4] - Task (pass-through)
|
|
73
|
+
* @output planJson [order:5] - Execution plan (JSON)
|
|
74
|
+
* @output onSuccess [order:-2] - On Success
|
|
75
|
+
* @output onFailure [order:-1] - On Failure
|
|
76
|
+
*/
|
|
77
|
+
export async function weaverPlanTask(execute, projectDir, config, providerType, providerInfo, taskJson, contextBundle) {
|
|
78
|
+
const passthrough = { projectDir, config, providerType, providerInfo, taskJson };
|
|
79
|
+
if (!execute) {
|
|
80
|
+
return { onSuccess: true, onFailure: false, ...passthrough, planJson: '{"steps":[],"summary":"dry run"}' };
|
|
81
|
+
}
|
|
82
|
+
const pInfo = JSON.parse(providerInfo);
|
|
83
|
+
const task = JSON.parse(taskJson);
|
|
84
|
+
// Build the system prompt with bot instructions
|
|
85
|
+
let systemPrompt;
|
|
86
|
+
try {
|
|
87
|
+
const mod = await import('../bot/system-prompt.js');
|
|
88
|
+
const basePrompt = await mod.buildSystemPrompt();
|
|
89
|
+
const botPrompt = mod.buildBotSystemPrompt(contextBundle);
|
|
90
|
+
systemPrompt = basePrompt + '\n\n' + botPrompt;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
systemPrompt = 'You are Weaver, an AI workflow bot. Return ONLY valid JSON with a plan.';
|
|
94
|
+
}
|
|
95
|
+
const userPrompt = `Task: ${task.instruction}\nMode: ${task.mode ?? 'create'}\n${task.targets ? 'Targets: ' + task.targets.join(', ') : ''}\n\nPlan this task. Return a JSON plan with steps and summary.`;
|
|
96
|
+
try {
|
|
97
|
+
let text;
|
|
98
|
+
if (pInfo.type === 'anthropic') {
|
|
99
|
+
text = await callApi(pInfo.apiKey, pInfo.model ?? 'claude-sonnet-4-6', pInfo.maxTokens ?? 8192, systemPrompt, userPrompt);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
text = callCli(pInfo.type, systemPrompt + '\n\n' + userPrompt);
|
|
103
|
+
}
|
|
104
|
+
const plan = parseJsonResponse(text);
|
|
105
|
+
console.log(`\x1b[36m→ Plan: ${plan.summary ?? 'generated'}\x1b[0m`);
|
|
106
|
+
return {
|
|
107
|
+
onSuccess: true, onFailure: false,
|
|
108
|
+
...passthrough,
|
|
109
|
+
planJson: JSON.stringify(plan),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
114
|
+
console.error(`\x1b[31m→ Planning failed: ${msg}\x1b[0m`);
|
|
115
|
+
return {
|
|
116
|
+
onSuccess: false, onFailure: true,
|
|
117
|
+
...passthrough,
|
|
118
|
+
planJson: JSON.stringify({ steps: [], summary: `Planning failed: ${msg}` }),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=plan-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-task.js","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads and analyzes a workflow file. Produces structured description
|
|
3
|
+
* with diagram using flow-weaver CLI commands.
|
|
4
|
+
*
|
|
5
|
+
* @flowWeaver nodeType
|
|
6
|
+
* @expression
|
|
7
|
+
* @label Read Workflow
|
|
8
|
+
* @input projectDir [order:0] - Project root directory
|
|
9
|
+
* @input config [order:1] - Config (JSON, pass-through)
|
|
10
|
+
* @input providerType [order:2] - Provider type (pass-through)
|
|
11
|
+
* @input providerInfo [order:3] - Provider info (JSON, pass-through)
|
|
12
|
+
* @input taskJson [order:4] - Task (JSON)
|
|
13
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
14
|
+
* @output config [order:1] - Config (pass-through)
|
|
15
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
16
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
17
|
+
* @output taskJson [order:4] - Task (pass-through)
|
|
18
|
+
* @output resultJson [order:5] - Workflow description and diagram (JSON)
|
|
19
|
+
* @output filesModified [order:6] - Files modified (empty array, JSON)
|
|
20
|
+
*/
|
|
21
|
+
export declare function weaverReadWorkflow(projectDir: string, config: string, providerType: string, providerInfo: string, taskJson: string): {
|
|
22
|
+
projectDir: string;
|
|
23
|
+
config: string;
|
|
24
|
+
providerType: string;
|
|
25
|
+
providerInfo: string;
|
|
26
|
+
taskJson: string;
|
|
27
|
+
resultJson: string;
|
|
28
|
+
filesModified: string;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=read-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-workflow.d.ts","sourceRoot":"","sources":["../../src/node-types/read-workflow.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAuDjJ"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Reads and analyzes a workflow file. Produces structured description
|
|
6
|
+
* with diagram using flow-weaver CLI commands.
|
|
7
|
+
*
|
|
8
|
+
* @flowWeaver nodeType
|
|
9
|
+
* @expression
|
|
10
|
+
* @label Read Workflow
|
|
11
|
+
* @input projectDir [order:0] - Project root directory
|
|
12
|
+
* @input config [order:1] - Config (JSON, pass-through)
|
|
13
|
+
* @input providerType [order:2] - Provider type (pass-through)
|
|
14
|
+
* @input providerInfo [order:3] - Provider info (JSON, pass-through)
|
|
15
|
+
* @input taskJson [order:4] - Task (JSON)
|
|
16
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
17
|
+
* @output config [order:1] - Config (pass-through)
|
|
18
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
19
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
20
|
+
* @output taskJson [order:4] - Task (pass-through)
|
|
21
|
+
* @output resultJson [order:5] - Workflow description and diagram (JSON)
|
|
22
|
+
* @output filesModified [order:6] - Files modified (empty array, JSON)
|
|
23
|
+
*/
|
|
24
|
+
export function weaverReadWorkflow(projectDir, config, providerType, providerInfo, taskJson) {
|
|
25
|
+
const task = JSON.parse(taskJson);
|
|
26
|
+
const targets = task.targets ?? [];
|
|
27
|
+
const passthrough = { projectDir, config, providerType, providerInfo, taskJson };
|
|
28
|
+
if (targets.length === 0) {
|
|
29
|
+
return {
|
|
30
|
+
...passthrough,
|
|
31
|
+
resultJson: JSON.stringify({ success: false, error: 'No target files specified for read' }),
|
|
32
|
+
filesModified: '[]',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const results = [];
|
|
36
|
+
for (const target of targets) {
|
|
37
|
+
const filePath = path.isAbsolute(target) ? target : path.resolve(projectDir, target);
|
|
38
|
+
if (!fs.existsSync(filePath)) {
|
|
39
|
+
results.push({ file: target, error: `File not found: ${filePath}` });
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const source = fs.readFileSync(filePath, 'utf-8');
|
|
43
|
+
let diagram = '';
|
|
44
|
+
let description = '';
|
|
45
|
+
try {
|
|
46
|
+
diagram = execSync(`flow-weaver diagram "${filePath}" -f ascii-compact`, {
|
|
47
|
+
encoding: 'utf-8',
|
|
48
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
49
|
+
timeout: 30_000,
|
|
50
|
+
cwd: projectDir,
|
|
51
|
+
}).trim();
|
|
52
|
+
}
|
|
53
|
+
catch { /* diagram generation failed, continue without it */ }
|
|
54
|
+
try {
|
|
55
|
+
description = execSync(`flow-weaver describe "${filePath}"`, {
|
|
56
|
+
encoding: 'utf-8',
|
|
57
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
58
|
+
timeout: 30_000,
|
|
59
|
+
cwd: projectDir,
|
|
60
|
+
}).trim();
|
|
61
|
+
}
|
|
62
|
+
catch { /* description failed, continue without it */ }
|
|
63
|
+
results.push({ file: target, source, diagram, description });
|
|
64
|
+
console.log(`\x1b[36m→ Read: ${target}\x1b[0m`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
...passthrough,
|
|
68
|
+
resultJson: JSON.stringify({ success: true, results }),
|
|
69
|
+
filesModified: '[]',
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=read-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-workflow.js","sourceRoot":"","sources":["../../src/node-types/read-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,MAAc,EACd,YAAoB,EACpB,YAAoB,EACpB,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAiD,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAEjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,WAAW;YACd,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;YAC3F,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAqG,EAAE,CAAC;IAErH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC;YACH,OAAO,GAAG,QAAQ,CAAC,wBAAwB,QAAQ,oBAAoB,EAAE;gBACvE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC,CAAC,oDAAoD,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,WAAW,GAAG,QAAQ,CAAC,yBAAyB,QAAQ,GAAG,EAAE;gBAC3D,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;QAEzD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtD,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Receives a task from CLI args, MCP tool call, or the task queue.
|
|
3
|
+
* Parses the instruction into a structured BotTask.
|
|
4
|
+
*
|
|
5
|
+
* @flowWeaver nodeType
|
|
6
|
+
* @label Receive Task
|
|
7
|
+
* @input projectDir [order:0] - Project root directory
|
|
8
|
+
* @input config [order:1] - Weaver configuration (JSON)
|
|
9
|
+
* @input providerType [order:2] - Provider type (pass-through)
|
|
10
|
+
* @input providerInfo [order:3] - Provider info (JSON, pass-through)
|
|
11
|
+
* @input [taskJson] [order:4] - Pre-supplied task (JSON, optional)
|
|
12
|
+
* @output projectDir [order:0] - Project root directory (pass-through)
|
|
13
|
+
* @output config [order:1] - Config (pass-through)
|
|
14
|
+
* @output providerType [order:2] - Provider type (pass-through)
|
|
15
|
+
* @output providerInfo [order:3] - Provider info (pass-through)
|
|
16
|
+
* @output taskJson [order:4] - Parsed task (JSON)
|
|
17
|
+
* @output hasTask [order:5] - Whether a task was found
|
|
18
|
+
* @output onSuccess [order:-2] - On Success
|
|
19
|
+
* @output onFailure [order:-1] - On Failure
|
|
20
|
+
*/
|
|
21
|
+
export declare function weaverReceiveTask(execute: boolean, projectDir: string, config: string, providerType: string, providerInfo: string, taskJson?: string): Promise<{
|
|
22
|
+
onSuccess: boolean;
|
|
23
|
+
onFailure: boolean;
|
|
24
|
+
projectDir: string;
|
|
25
|
+
config: string;
|
|
26
|
+
providerType: string;
|
|
27
|
+
providerInfo: string;
|
|
28
|
+
taskJson: string;
|
|
29
|
+
hasTask: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
//# sourceMappingURL=receive-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receive-task.d.ts","sourceRoot":"","sources":["../../src/node-types/receive-task.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CACpC,CAAC,CAmDD"}
|